Program, method and apparatus for processing image
Abstract
This record has no abstract on file.
Term
Term ended
Expired 27 January 2023, 3.7 years ago.
- Priority and filed
- Granted
- Expired
- Today
8 claims: 6 independent, 2 dependent
- 1描画コマンドを解析し、図形の端点情報を算出するコマンド解析手段と、 前記コマンド解析手段から受け取った図形の端点情報に含まれる端点の色情報(階調も含む)に対し、 図形の平面方程式に基づき水平方向の微差分値と垂直方向の微差分値を求める描画前処理手段と、 前記描画前処理手段により求められた各端点の色を補間する水平方向及び垂直方向の微差分値により基準となる左辺、もしくは右辺の垂直方向に補間されたX値と色情報を求める描画始点演算手段と、 前記描画前処理手段により求められた各端点の色を補間する水平方向及び垂直方向の微差分値と前記描画始点演算手段により求められた垂直方向に補間されたX値と色情報により水平方向に色情報を補間する水平色情報補間手段と、 前記コマンド解析手段から受け取った図形の端点情報から、図形を囲む四角形を指定された垂直方向の最小色長と水平の最小色長から変化する解像度(メッシュ)を算出し、該算出されたメッシュに基づいて水平及び垂直方向の色補間において色情報の更新をするか否かを判定し、該判定に基づいて更新を制御する色情報補正手段と、 前記描画始点演算手段と前記水平色情報補間手段と前記色情報補正手段によって求められた色情報に基づいて画像処理を行う画像処理手段と、 を有することを特徴とする画像処理装置。
- 2前記描画前処理手段は、 図形の端点の色情報(階調も含む)に対し、各色ベクトルを並列に演算することを特徴とする請求項 1 に記載の画像処理装置。
- 3前記描画始点演算手段は、 図形の端点情報から 水平 方向にX値を補間する 水平 X値補間手段と、 図形の端点情報から垂直方向に色情報を補間する垂直色情報補間手段とを更に有することを特徴とする請求項 1 に記載の画像処理装置。
- 4前記水平色情報補間手段は、 前記描画始点演算手段により求めた色情報(階調も含む)に対し、各色ベクトルごと並列に補間することを特徴とする請求項 1 に記載の画像処理装置。
- 5前記画像処理手段は、 前記描画始点演算手段と前記水平色情報補間手段と前記色情報補正手段によって 求められた色情報を色変換する色変換手段を更に有することを特徴とする請求項1に記載の画像処理装置。
- 6前記画像処理手段は、 前記色変換手段によって求めた色データに階調処理を行う階調処理手段を更に有することを特徴とする請求項1に記載の画像処理装置。
- 7描画コマンドを解析し、図形の端点情報を算出するコマンド解析工程と、 前記コマンド解析工程において算出された図形の端点情報に含まれる端点の色情報(階調も含む)に対し、 図形の平面方程式に基づき水平方向の微差分値と垂直方向の微差分値を求める描画前処理工程と、 前記描画前処理工程により求められた各端点の色を補間する水平方向及び垂直方向の微差分値により基準となる左辺、もしくは右辺の垂直方向に補間されたX値と色情報を求める描画始点演算工程と、 前記描画前処理工程により求められた各端点の色を補間する水平方向及び垂直方向の微差分値と前記描画始点演算工程により求められた垂直方向に補間されたX値と色情報により水平方向に色情報を補間する水平色情報補間工程と、 前記コマンド解析工程において算出された図形の端点情報から、図形を囲む四角形を指 定された垂直方向の最小色長と水平の最小色長から変化する解像度(メッシュ)を算出し、該算出されたメッシュに基づいて水平及び垂直方向の色補間において色情報の更新をするか否かを判定し、該判定に基づいて更新を制御する色情報補正工程と、 前記描画始点演算工程と前記水平色情報補間工程と前記色情報補正工程によって求められた色情報に基づいて画像処理を行う画像処理工程と、 を含む ことを特徴とする画像処理方法。
- 8コンピュータに、 描画コマンドを解析し、図形の端点情報を算出するコマンド解析処理と、 前記コマンド解析処理において算出された図形の端点情報に含まれる端点の色情報(階調も含む)に対し、 図形の平面方程式に基づき水平方向の微差分値と垂直方向の微差分値を求める描画前処理と、 前記描画前処理により求められた各端点の色を補間する水平方向及び垂直方向の微差分値により基準となる左辺、もしくは右辺の垂直方向に補間されたX値と色情報を求める描画始点演算処理と、 前記描画前処理により求められた各端点の色を補間する水平方向及び垂直方向の微差分値と前記描画始点演算処理により求められた垂直方向に補間されたX値と色情報により水平方向に色情報を補間する水平色情報補間処理と、 前記コマンド解析処理において算出された図形の端点情報から、図形を囲む四角形を指定された垂直方向の最小色長と水平の最小色長から変化する解像度(メッシュ)を算出し、該算出されたメッシュに基づいて水平及び垂直方向の色補間において色情報の更新をするか否かを判定し、該判定に基づいて更新を制御する色情報補正処理と、 前記描画始点演算処理と前記水平色情報補間処理と前記色情報補正処理によって求められた色情報に基づいて行う画像処理と、 を実行させることを特徴とする 画像処理プログラム。
Independent claims8
132 paragraphs, as filed
The present invention relates to an image processing apparatus, method, and program such as a copier and a printer having a gradient fill drawing function.
[0002] In recent years, functions such as color DTP and word processors have been enhanced, and it has become possible to easily create not only text but also complicated figures. Among them, the gradation function is one of the functions that are often used to improve the appearance of documents. Then, conventionally, a method of creating a gradation pattern in advance and masking a figure according to the pattern to create drawing data is known.
[0003] In particular, the gradient fill of FIG. 30 defines different colors at the three end points of the triangle, and interpolates and draws the inside thereof. In this case, it is also difficult to create the gradation pattern in advance as described above.
[0004] In addition to the above method, if it is in the horizontal direction, it may be decomposed into different shades of figures as shown in FIG. 31 and overwritten. Similarly, it can be considered in the vertical direction.
[0005] However, when interpolating three points as shown in FIG. 30, if it is performed by software, a large amount of processing is required.
[0006] As a method of solving the above-mentioned drawbacks, in Patent Document 1, instead of receiving a PDL command of a gradation figure and creating a gradation pattern, the gradation figure is directly drawn and obtained by calculation. It presents a method of adjusting the difference between the density and the gradation when printed with the gradation adjustment table.
[0007] In Patent Document 2, a CRT display having a high gradation can generally express a color gradation without a problem, but a printer having a low gradation generally outputs a neutral color (a slightly changed color). Since it was difficult to do so, it was realized by dividing the graded part into multiple figures with a width of 2 pixels or more and drawing them.
[0008] In Patent Document 3, in the drawing of a quadrangular gradient fill, when the shades are different in the vertical direction, the horizontal lines of the same shades are dealt with by copying the previously drawn lines, and the processing is speeded up. ..
[0009] Conventionally, in the world of 3D graphics, a method of allocating RGB colors to the end points of triangular polygons and interpolating based on the equation of a plane is known. In Patent Document 4, there is known an example in which an address of a mapping pattern is assigned to each end point of a polygon, the inside of the polygon is interpolated, and a mapping process is performed.
[Patent Document 1] Patent No. 2897765 [Patent Document 2] Japanese Patent Application Laid-Open No. 09-190538 [Patent Document 3] Japanese Patent Application Laid-Open No. 2001-101431 [Patent Document 4] Japanese Patent Application Laid-Open No. 11-15997 [0011] [Problems to be Solved by the Invention] Conventionally, a method of creating a gradation pattern in advance and masking a figure according to the pattern to create drawing data has been known, but this method develops a large gradation pattern. It requires a large memory area such as an area to be patented and a work area to mask drawing data.
[0012] Further, as in the gradient fill of FIG. 30, it is also difficult to define different colors at the three end points of the triangle, interpolate the inside thereof, and create a gradation pattern in advance as described above. It becomes.
[0013] Further, when performing gradation in one horizontal direction or vertical direction, it may be decomposed into different shades of figures as shown in FIG. 31 and overwritten, but in this case, drawing again. The part to do is large and requires a large memory access.
[0014] In Patent Document 1, it is considered that the shading is linearly converted from the start point to the end point of the left side and the right side and interpolated in the horizontal direction, but how to interpolate the shading is not specified. In addition, when interpolating with the left side and the right side like this, as shown in Fig. 32, when one of the sides changes, the value to be interpolated changes abruptly, so that the boundary is likely to appear at the line of change and the image quality is improved. May deteriorate.
[0015] Further, when the printer paper is aggregated or the direction of the paper is changed, the drawn figure is also rotated. However, in this method, the change in the shading of the figure after rotation and the figure before rotation is different, and the image quality is high. (This is because the fine difference in shading is not obtained from the information of all the end points of the figure by the plane equation, and basically the correct shading is not performed. Also, for reference. In the example trapezoid, it is basically impossible to construct a plane, and it is difficult to shade correctly unless it is divided into triangles). Further, in consideration of high speed, the concentration adjustment table must be composed of the RAM inside the LSI hardware, which increases the LSI hardware and increases the cost.
[0016] In Patent Document 2, when a graded portion is divided into a plurality of figures having a width of 2 pixels or more and drawn, the horizontal direction or the horizontal direction is horizontal in the gradation of only one direction. When dividing only in the direction or only in the vertical direction, the calculation is still simple (still, preprocessing for drawing such as finding the inclination of each side is required for each divided figure. , Although many operations are required), but in the example shown in FIG. 30, it requires so many operations that it is almost impossible to realize.
[0017] Patent Document 3 is effective in a gradation in only one direction of the vertical direction or the horizontal direction, but cannot be applied to a gradation fill in which different colors are defined at three end points of a triangle as shown in FIG. 30. ..
[0018] In view of the above-mentioned conventional problems, the present invention relates to a drawing device that draws a gradient fill of a triangle, divides the drawing data in the horizontal direction and sequentially transmits the drawing data, performs image processing, and after gradation processing. By having an image processing device that expands to the band data of the above, the purpose is as follows: 1. A large memory area such as an area for developing a large gradient pattern and a work area for masking drawing data is required. do not do.
2. From the information on the end points of the figure, the resolution (mesh) that changes from the specified vertical minimum color length and horizontal minimum color length of the quadrangle surrounding the figure is obtained, and in horizontal and vertical color interpolation. The color information correction means that controls the change in color makes it possible to output neutral colors (slightly changed colors) beautifully even in a printer with low gradation in general (this makes it possible to output normal resolution on the side of a figure). However, the resolution can be changed for the filled image inside the figure).
3. Pre-drawing processing means for obtaining a fine difference value in the horizontal direction and a fine difference value in the vertical direction based on the plane equation of the figure with respect to the color information (including gradation) of the end point of the figure, and pre-drawing processing. A drawing start point calculation means for obtaining the X value and color information interpolated in the vertical direction of the left side or the right side as a reference by the minute difference values in the horizontal direction and the vertical direction for interpolating the color of each end point obtained by the means. In the drawing processing means, the horizontal color information interpolation means that interpolates the color information in the horizontal direction, the color conversion means that color-converts the color information of the image data obtained by the drawing processing means, and the color data obtained by the color conversion means. The gradient fill drawing process is speeded up by enabling parallel processing with the gradation processing means that performs the gradation processing.
[Means for Solving the Problem] Solving the above Problem<u style="single">Therefore, the present invention has the features described below.</u>。
【0022】<u style="single"> The image processing apparatus according to the present invention has a command analysis means that analyzes drawing commands and calculates end point information of a figure, and end point color information (including gradation) included in the end point information of the figure received from the command analysis means. ), The drawing preprocessing means for obtaining the horizontal fine difference value and the vertical fine difference value based on the plane equation of the figure, and the horizontal direction for interpolating the color of each end point obtained by the drawing preprocessing means. The drawing start point calculation means for obtaining the X value and the color information interpolated in the vertical direction of the left side or the right side as a reference by the fine difference value in the vertical direction, and the color of each end point obtained by the pre-drawing processing means are interpolated. A horizontal color information interpolation means that interpolates color information in the horizontal direction based on a fine difference value in the horizontal direction and a vertical direction, an X value that is interpolated in the vertical direction obtained by the drawing start point calculation means, and color information, and a command analysis means. From the end point information of the figure received from, the resolution (mesh) that changes from the specified vertical minimum color length and horizontal minimum color length of the quadrangle surrounding the figure is calculated, and the horizontal and horizontal and horizontal and horizontal are calculated based on the calculated mesh. A color information correction means that determines whether or not to update color information in vertical color interpolation and controls the update based on the determination, the drawing start point calculation means, the horizontal color information interpolation means, and the color information. It is characterized by having an image processing means that performs image processing based on the color information obtained by the correction means.</u>。
【0023】<u style="single"> The image processing method according to the present invention includes a command analysis step of analyzing a drawing command and calculating the end point information of the figure, and color information (gradation) of the end points included in the end point information of the figure calculated in the command analysis step. Including), a drawing preprocessing step for obtaining a horizontal fine difference value and a vertical fine difference value based on the plane equation of a figure, and a horizontal direction for interpolating the color of each end point obtained by the drawing preprocessing step. The drawing start point calculation step for obtaining the X value and the color information vertically interpolated on the left side or the right side as a reference by the fine difference value in the vertical direction, and the color of each end point obtained by the drawing preprocessing step are interpolated. The horizontal color information interpolation step of interpolating the color information in the horizontal direction based on the minute difference values in the horizontal and vertical directions, the X value interpolated in the vertical direction obtained by the drawing start point calculation step, and the color information, and the command analysis. From the end point information of the figure calculated in the process, the resolution (mesh) that changes from the specified vertical minimum color length and horizontal minimum color length of the quadrangle surrounding the figure is calculated, and based on the calculated mesh. A color information correction step that determines whether or not to update color information in horizontal and vertical color interpolation and controls the update based on the determination, a drawing start point calculation step, the horizontal color information interpolation step, and the above. It is characterized by including an image processing step of performing image processing based on the color information obtained by the color information correction step.</u>。
【0024】<u style="single"> The image processing program according to the present invention has command analysis processing in which a computer analyzes drawing commands and calculates end point information of a figure, and color information of end points included in the end point information of the figure calculated in the command analysis process ( For (including gradation), pre-drawing processing that obtains the fine difference value in the horizontal direction and the fine difference value in the vertical direction based on the plane equation of the figure, and horizontal that interpolates the color of each endpoint obtained by the pre-drawing process The drawing start point calculation process for obtaining the X value and color information interpolated in the vertical direction of the left side or the right side as a reference based on the minute difference values in the direction and the vertical direction, and the color of each end point obtained by the pre-drawing process are interpolated. Horizontal color information interpolation processing for interpolating color information in the horizontal direction based on the minute difference values in the horizontal and vertical directions, the X value interpolated in the vertical direction obtained by the drawing start point calculation process, and color information, and the command analysis. From the end point information of the figure calculated in the process, the resolution (mesh) that changes from the specified vertical minimum color length and the horizontal minimum color length of the quadrangle surrounding the figure is calculated, and based on the calculated mesh. The color information correction process that determines whether or not to update the color information in the horizontal and vertical color interpolation and controls the update based on the determination, the drawing start point calculation process, the horizontal color information interpolation process, and the above. It is characterized in that image processing performed based on the color information obtained by the color information correction processing and execution are performed.</u>。
[Embodiment of the Invention] <Structure of an image forming apparatus> FIG. 1 is a diagram showing a configuration example of a mechanical portion of an image forming apparatus according to the present invention. This color printer is a 4-drum tandem engine type that forms images of 4 colors (Y, M, C, K) with independent image formation systems 1Y, 1M, 1C, 1K, and synthesizes these 4 color images. It is an image forming apparatus.
Each image processing system 1Y, 1M, 1C, 1K has a photoconductor as an image carrier, for example, a small-diameter OPC (organic photoconductor) drum 2Y, 2M, 2C, 2K, and the OPC drum 2Y, From the upstream side of the image so as to surround 2M, 2C, 2K, the charging rollers 3Y, 3M, 3C, 3K as charging means and the electrostatic latent image on the OPC drum 2Y, 2M, 2C, 2K are processed with a developing agent, respectively. Develop devices 4Y, 4M, 4C, 4K, cleaning devices 5Y, 5M, 5C, 5K, and static eliminators 6Y, 6M, 6C, 6K, etc. are arranged to develop toner images of Y, M, C, K colors. Has been done.
[0050] Toner bottle units 7Y, 7M, which supply Y toner, M toner, C toner, and K toner to the developing devices 4Y, 4M, 4C, and 4K, respectively, beside each developing device 4Y, 4M, 4C, and 4K. 7C and 7K are arranged. In addition, each image-forming system 1Y, 1M, 1C, 1K is equipped with independent optical writing devices 8Y, 8M, 8C, 8K, and these optical writing devices 8Y, 8M, 8C, 8K are laser diodes as laser light sources ( LD) Light sources 9Y, 9M, 9C, 9K, collimated lenses 10Y, 10M, 10C, 10K, fθ lenses 11Y, 11M, 11C, 11K, optical components, polygon mirrors 12Y, 12M, 12C, 12K as deflection scanning means , Has folded mirrors 13Y, 13M, 13C, 13K, 14Y, 14M, 14C, 14K and so on.
[0051] Each image formation system 1Y, 1M, 1C, 1K is arranged vertically, and a transfer belt unit 15 is arranged on the right side thereof so as to be in contact with the OPC drums 2Y, 2M, 2C, 2K. In the transfer belt unit 15, the transfer belt 16 is stretched on rollers 17 to 20 and rotationally driven by a drive source (not shown). A paper feed tray 21 containing transfer paper as a transfer material is arranged on the lower side of the device, and a fixing device 22, a paper discharge roller 23, and a paper discharge tray 24 are arranged on the upper part of the device.
At the time of image formation, the OPC drums 2Y, 2M, 2C, and 2K are rotationally driven by a drive source (not shown) in each image formation system 1Y, 1M, 1C, and 1K, respectively, and the charging rollers 3Y, 3M, 3C, and 3K are driven. By uniformly charging the OPC drums 2Y, 2M, 2C, and 2K, the optical writing devices 8Y, 8M, 8C, and 8K perform optical writing on the OPC drums 2Y, 2M, 2C, and 2K based on the image data of each color. , OPC drums 2Y, 2M, 2C, 2K electrostatic latent images are formed.
[0053] The electrostatic latent images on the OPC drums 2Y, 2M, 2C, and 2K are developed by the developing devices 4Y, 4M, 4C, and 4K, respectively, and become toner images of each color of Y, M, C, and K. The transfer paper is fed horizontally from the paper tray 21 by the paper feed roller 25, and is vertically transported in the image processing systems 1Y, 1M, 1C, and 1K by the transport system. This transfer paper is electrostatically attracted and held by the transfer belt 16 and conveyed by the transfer belt 16, and the transfer bias is applied by a transfer bias applying means (not shown) to Y, on the OPC drums 2Y, 2M, 2C, and 2K. A full-color image is formed by sequentially superimposing and transferring toner images of each color of M, C, and K. The transfer paper on which the full-color image is formed is fixed by the fixing device 22 and discharged to the paper ejection tray 24 by the paper ejection roller 23. Then, the above control is controlled by the electrical control device 26.
<Structure of Electrical Control Device> FIG. 2 is a block diagram of the electrical control device 26 of FIG. 201 is a CPU, which controls the entire printer device. 202 is the CPU I / F, which is connected to the memory ARB (memory controller) of 203 and handles the I / F between the CPU and the memory controller. 203 is a memory ARB, which controls 224 main memory, with 201 CPU, 204 local bus, 209-212 decoding device, 205 drawing device, 206 image processing device, 207 coding device, etc. Control the transfer to and from memory.
[0055] 204 is the I / F of the local bus, and processes the I / F of the ROM of 218, the panel controller of 217, etc., the CPU of 201, the main memory of 224, and the like. Reference numeral 205 denotes a drawing device, which receives drawing commands from the CPU of 201 and sequentially transfers the memory address and color information (RGB) value to the image processing device of 206 in the horizontal direction. Reference numeral 206 denotes an image processing device, which receives an address and a color information (RGB) value from the drawing device of 205, performs image processing, and draws the image in the band memory area of the main memory of 224.
[0056] Reference numeral 207 is an encoding device, which encodes the band data of the main memory of 224 and transfers the band data to the main memory. The 208 is a communication controller, which is connected to a network, receives various data and commands from the network, and is connected to various controllers via the memory ARB of 203. Reference numerals 209 to 212 are decoding devices, and each version of C, M, Y, and K receives a code encoded by a 207 coding device from the main memory of 224, decodes it, and displays each of 213 to 216. Transfer to the version of the engine controller.
[0057] 218 is a ROM, which stores font information such as characters and 201 CPU programs. The 217 is a panel controller, which controls the panels of the 219. 219 is a panel that informs the copy device of user operations. 213 to 216 are C, M, Y, and K version engine controllers, which receive images from the decoding devices of 209 to 212 and transfer them to the printer engine of each version. 220 to 223 are C, M, Y, and K version printer engines. The 224 is the main memory, and stores the code of the encoding device of 209, the program of the CPU of 201, the font data, various data, and the like.
<Operation> Fig. 3 shows the overall flow. Step 301: The CPU 201 in FIG. 2 generates a drawing command and transfers it to the drawing device 205 in FIG. Step 302: The drawing device of 205 in FIG. 2 sequentially obtains the address and color information (RGB) value of the band memory in the horizontal direction from the vertical direction of the figure, and transfers the address and the color information (RGB) value to the image processing device of 206 in FIG. Step 303: The image processing apparatus of 206 in FIG. 2 performs image processing and draws in the main memory of 224 in FIG. 2 into the binary band memory of each version shown in FIG.
FIG. 4 shows a conceptual diagram of the process. The 401 is a CPU, which transfers drawing commands to the drawing device of 402 and performs drawing processing in the band memory after gradation processing of each version of 404. 402 is a drawing device, which receives drawing commands from the CPU, analyzes the commands, sequentially scans graphic figures in the horizontal direction, and sequentially sends the address on the band memory and color information (RGB) to the image processing device of 403. Forward.
[0060] Reference numeral 403 is an image processing device, which receives the origin address and threshold size of each version of the band from the CPU, receives the memory address and color information (RGB) from the drawing device of 402, performs color conversion processing, and performs CMYK. After converting to a value, band data after gradation processing is created in the band memory of each version of 404. The 404 is a main memory, and stores code data of pages of each version, band data after gradation processing, and the like. Reference numeral 405 is an coding processing apparatus, which encodes band data after gradation processing of each version of 404 and transfers the band data to the page code memory area of each version of 404.
[0061] Reference numerals 406 to 409 are decoding devices, which synchronize with the printer engine of each version, sequentially read the code required by each version from the main memory of 404, decode it, and send it to the engine controller of each version of 410 to 413. Forward. 410 to 413 are engine controllers of each version, receive codes from the decoding devices of each version of 406 to 409, and control the printer engine of each version. 414 ~ 417 Each version of C, M, Y, K version printer engine.
[0062] Fig. 5 shows a conceptual diagram of processing. The CPU 201 in FIG. 2 receives the drawing command and transfers it to the drawing device 205 in FIG. 2, and the drawing device performs drawing processing and transfers it to the image processing device 206 in FIG. The image processing apparatus draws a figure in the C, M, Y, and K version of the band memory after the gradation processing in the main memory of 224 in FIG.
<Main memory format> Fig. 6 shows the format of the main memory. The C, M, Y, and K version binary band memory storage area is an area for storing a plurality of image-processed binary, quadrature, and 16-valued band information of each version. The C-plate code page memory area is an area for storing a plurality of pages of code data after gradation processing for each band of the coded C-plate. The M-plate code page memory area is an area for storing a plurality of pages of code data after gradation processing for each band of the coded M-plate. The Y-plate code page memory area is an area for storing a plurality of pages of code data after gradation processing for each band of the coded Y-plate. The K-plate code page memory area is an area for storing a plurality of pages of code data after gradation processing for each band of the coded K-plate. The program area is an area for storing various CPU programs.
<Drawing process> Fig. 7 shows the drawing process flow. The 201 CPU transfers the drawing command to the 205 drawing device ( 1 ). The 205 drawing device analyzes the drawing command and sequentially transfers the color information and the memory address of the figure to the image processing device ( 2 ). The image processing device of 206 performs image processing on the color information from the drawing device and expands the data after the image processing into the binary band memory area of the C, M, Y, and K versions of the main memory ( 3 ).
<Drawing Device> FIG. 8 shows a block diagram of the drawing device 205 of FIG. 2. 801 is a memory ARB I / F, performs I / F with the memory ARB of 203 in FIG. 2, receives a drawing command from the CPU of 201 in FIG. 2, and transfers it to the drawing processing device of 802. In this figure, the memory ARB203 is requested to access the memory by a request signal, and the memory ARB203 returns a memory ack (acknowledge) signal to notify that the memory access is ready.
[0066] The 802 is a drawing processing device, receives a drawing command from the CPU 201 in FIG. 2, analyzes the drawing command, and obtains a fine difference value dRX in the horizontal direction by a plane equation from the color information of each end point of the triangular figure. Obtain the minute difference values dRY, dGY, and dBY in the vertical direction with dGX and dBX, obtain the memory address and color information (RGB) in the horizontal direction in order from the vertical direction, and obtain the bandwidth (BANDWIDTH) of the band data and each of the graphic images. The memory address for each PIXEL is transferred to the image processing device of 206 in FIG. 2 by the logical address of the end point (X0, Y0, X1, Y1, X2, Y2). Figure 10 shows a detailed block diagram.
[0067] Reference numeral 803 is a parameter storage device, which temporarily stores the parameters of the drawing processing device of 802. The 804 is a controller that controls the entire drawing device.
FIG. 9 shows a processing flow of the drawing apparatus. Step 901: Set the bandwidth (BANDWIDTH) of the band memory area of each version in the main memory to the parameter storage device. Step 902: Set up the color conversion table of the color conversion device. Step 903: Set the dither threshold size of the gradation processor. Step 904: Set the DDX and DDY values of the RGB correction device. Step 905: Load the drawing command. Step 906: Perform the drawing process. Step 907: Perform color conversion. Step 908: Perform gradation processing. Step 909: Exit the loop after executing all drawing commands.
<Drawing Processing Device> FIG. 10 shows a block diagram of the drawing processing device of 802 of FIG. 1001 is a command analysis device that analyzes drawing commands from the CPU 201 in Fig. 2, coordinates X0, Y0, X1, Y1, X2, Y2 and color information R0, G0, B0, R1, of each end point of the triangle. Find G1, B1, R2, G2, and B2 and transfer them to the triangle setup device of 1002, the left side XYRGB start point generator of 1003, and the RGB correction device of 1004. The 1002 is a triangle setup device, and the horizontal fine difference values dRX, dGX, dBX and the vertical fine difference values dRY, based on the plane equation of the triangle from the coordinates and color information of each end point from the command analyzer of 1001. Obtain dGY and dBY, and transfer to the left side XYRGB start point generator of 1003 and the horizontal RGBDDA device of 1006. Fig. 27 and Equation 1 show the equations for obtaining the horizontal and vertical fine difference values based on the equation of a plane of a triangle. Detailed block diagrams are shown in FIGS. 12, 13 and 14.
[0070] [Number 1]<img file="JP4133369B2_D0001.tif" />[0071] 1003 is a left-side XYRGB start point generator, and if the coordinates X0, Y0, X1, Y1, X2, Y2 of each end point of the triangle from the command analyzer of 1001 are counterclockwise as shown in FIG. , The side of the vector is recognized as the left side in the downward direction, and the left side is sequentially recognized from the vertical direction, and the horizontal start point X value and R, by dRX, dGX, dBX and dRY, dGY, dBY from the triangle setup device of 1002. Obtain the G and B values and transfer them to the 1005 horizontal XDDA device and 1006 horizontal RGBDDA device. Figure 16 shows a detailed block diagram.
[0072] 1004 is an RGB correction device, and from the coordinates X0, Y0, X1, Y1, X2, Y2 of each end point of the triangle from the command analysis device of 1001, the quadrangle surrounding the triangle is vertically oriented as shown in FIG. Divide by the minimum color length DDY, divide horizontally by the minimum color length DDX, and based on the mesh, the horizontal start point X and Y values output by the left side XYRGB start point generator of 3 are in the vertical direction. Sends a Y-direction update signal when straddling the mesh, and updates the horizontal R, G, and B values that the left-side XYRGB start point generator transfers to the 1005 horizontal XDDA device and the 1006 horizontal RGBDDA device.
[0073] Further, the X value for each horizontal PIXEL of the 1005 horizontal XDDA device is monitored, and when the horizontal mesh is straddled, the RGB value output by the 1006 horizontal RGBDDA device is updated by the X direction update signal of 1007. Have the RGB value switching device update the value. As a result, the calculation is performed at the normal resolution on the sides of the figure, but the resolution can be changed on the filled image inside the figure. Figure 19 shows a detailed block diagram.
[0074] 1005 is a horizontal XDDA device, receives a horizontal X start point from the left side XYRGB start point generator of 1003, scans a triangle in the horizontal direction, and sequentially obtains an X value for each PIXEL by DDA (digital differential analysis). Find it and transfer it to the 1004 RGB correction device and 1008 memory address generator. FIG. 17 shows a detailed block diagram.
[0075] 1006 is a horizontal RGB DDA device, which receives horizontal RGB start points from the horizontal fine difference values dRX, dGX, dBX received from the triangle setup device of 1002 and the left side XYRGB start point generator of 1003, and for each horizontal PIXEL. RGB is interpolated by DDA and transferred to the 1007 RGB switching device. Figure 15 shows a detailed block diagram.
[0076] 1007 is an RGB switching device, and updates the RGB value received from the horizontal RGBDDA device of 1006 based on the X-direction update signal from the RGB correction device of 1004.
[0077] 1008 is a memory address generator, which converts the logical coordinates X and Y values of the band memory from the horizontal XDDA device of 1005 from the bandwidth of the band memory to the physical coordinates of the band memory, and is an image processing device of 1009. Transfer to I / F. FIG. 18 shows a detailed block diagram.
[0078] Reference numeral 1009 is an image processing device I / F, which transfers the address from the memory address generator of 1008 and the RGB information from the RGB switching device of 1007 to the image processing device of 206 in FIG. Reference numeral 1010 is a controller, which controls the entire drawing device of 205 in FIG.
<Drawing Processing Flow> Fig. 11 shows the processing flow of the drawing apparatus. Step 1101: The command analyzer analyzes the drawing command and extracts the endpoints X0, Y0, X1, Y1, X2, Y2 of the triangle and their color information R0, G0, B0, R1, G1, B1, R2, G2, B2. Ask. Step 1102: Use the triangle setup device to find the horizontal fine differences dRX, dGX, dBX and the vertical fine differences dRY, dGY, dBY. Step 1103: Set the initial value. Step 1104: The left side XYRGB start point generator is used to obtain the left side from the vector of the side of the triangle, and the horizontal start point XYRGB value of the vertical direction IY of the side is obtained. Step 1105: The RGB compensator determines if the rectangle surrounding the triangle crosses the boundary as defined by the specified vertical minimum color length DDY. Step 1106: Update the horizontal start RGB value of IY. Step 1107: Obtain the horizontal X value with a horizontal XDDA device. Step 1108: Find the RGB values in the horizontal direction with a horizontal RGBDDA device. Step 1109: The RGB compensator determines if the rectangle surrounding the triangle straddles the specified horizontal minimum color length DDX-separated boundary. Step 1110: Update the horizontal RGB value of IY. Step 1111: Determine if all pixels have been processed horizontally. Step 1112: Add 1 to the value of IY. Step 1113: Determine if all pixels have been processed vertically.
<Triangle Setup Processing Device> FIG. 12 shows a block diagram of the triangle setup device of 1002 of FIG. 1201 is a device for generating a finite difference R in the horizontal direction, and obtains a finite difference value dRX of the R value in the horizontal direction based on the equation of a plane of a triangle. Figure 13 shows a detailed block diagram.
[0081] 1202 is a device for generating a finite difference R in the vertical direction, and obtains a finite difference value dRY of the R value in the vertical direction based on the equation of a plane of a triangle. Figure 14 shows a detailed block diagram.
[0082] 1203 is a device for generating a finite difference G in the horizontal direction, and obtains a finite difference value dGX of the G value in the horizontal direction based on the equation of a plane of a triangle. 1204 is a device for generating a finite difference G in the vertical direction, and obtains a finite difference value dGY of the G value in the vertical direction based on the equation of a plane of a triangle. 1205 is a device for generating a finite difference B in the horizontal direction, and obtains a finite difference value dBX of the B value in the horizontal direction based on the equation of a plane of a triangle. 1206 is a device for generating a finite difference B in the vertical direction, and obtains a finite difference value dBY of the B value in the vertical direction based on the equation of a plane of a triangle.
<Horizontal Fine Difference Value Generator> FIG. 13 shows a detailed block diagram of the horizontal fine difference R generator of 1201 in FIG. This block diagram is a hardware version of the dR / dX equation of Equation 1.
<Vertical Fine Difference Value Generator> FIG. 14 shows a detailed block diagram of the vertical fine difference R generator of 1202 in FIG. This block diagram is a hardware version of the dR / dY equation of Equation 1.
<Horizontal RGB DDA Device> FIG. 15 shows a detailed block diagram of the horizontal RGB DDA device of 1006 of FIG. 1501 to 1503 are registers, and store the start point values of R, G, and B values in the horizontal direction from the left side XYRGB start point generator of 1003 in FIG. 1504 to 1506 are registers, and store the fine difference values of R, G, and B in the horizontal direction from the triangle setup device of 1002 in FIG. 1507 to 1509 are adders, and perform addition operations for performing R, G, and B DDA processing.
[0086] 1510 to 1512 are MUXs (frame memory address multiplexers), and as initial values in each DDA process of R, G, and B, the start point values of R, G, and B of 1501 to 1503 are set in the registers of 1513 to 1515. It transfers, and during the subsequent DDA processing, the output of the adder of 1507 to 1509 is transferred to the registers of 1513 to 1515. 1513 to 1515 are registers and store the processing results of each DDA processing of R, G, and B.
<Left Side XYRGB Start Point Generator> FIG. 16 shows a detailed block diagram of the left side XYRGB start point generator of 1003 in FIG. 1601 is a left side search device, which searches the left side from the direction of each end point of the triangle as shown in Fig. 29, and transfers the start point X, Y and the end point X, Y to the fine difference X arithmetic unit of 1602. Transfer the start point X and Y values to the 1603 and 1604 registers. Continue processing until the left side is exhausted.
[0088] 1602 is a fine difference X arithmetic unit, receives X and Y of the start point and X and Y of the end point from the left side search device of 1601, and outputs the fine difference in the vertical direction (end point X-start point X) / ( Find the end point Y-start point Y) and transfer it to the 1605 register.
[0089] 1603 is a register and stores the start point X value from the left side search device. 1604 is a register and stores the start point Y value from the left side search device. 1605 is a register and stores the fine difference X value from the fine difference X arithmetic unit.
[0090] 1606 is an adder, and performs an addition process of DDA of X in the vertical direction. The 1607 is an adder that adds the vertical Y DDA.
[0091] 1608 is a MUX, which transfers the start value of 1603 to the register of 1610 as an initial value in the DDA processing of X in the vertical direction, and outputs the output of the adder of 1606 to 1610 during the subsequent DDA processing. Transfer to a register. 1609 is a MUX, which transfers the Y start value of 1604 to the register of 1611 as the initial value in the DDA processing of Y in the vertical direction, and transfers the output of the adder of 1607 to the register of 1611 during the subsequent DDA processing. To do.
[0092] 1610 is a register and stores the processing result of the DDA processing of X in the vertical direction. 1611 is a register and stores the processing result of DDA processing of Y in the vertical direction.
[0093] 1612 is a subtractor, subtracts the start point X value from the X value of the processing result of the DDA processing of X in the vertical direction of 1610, obtains the X difference from the start point X on the left side during processing, and interpolates RGB. Transfer to the device's 1614, 1616, 1618 multiplier. 1613 is a subtractor, which subtracts the starting point Y value from the Y value of the processing result of the DDA processing of Y in the vertical direction of 1611, obtains the Y difference from the starting point Y on the left side during processing, and 1615 of the RGB interpolator. , 1617, 1619 to the multiplier.
[0094] 1614 to 1622 are RGB value interpolators, and two-dimensional interpolation is performed from the difference in the X and Y directions obtained by 1612 and 1613 and the fine difference value obtained by the triangle setup device of 1002 in FIG. To find the horizontal RGB start point on the left side. 1614 is a multiplier, which is obtained by the horizontal fine difference value dRX from the triangle setup device of 1002 in FIG. 10 and the subtractor of 1612, multiplied by the vertical X difference value, and transferred to the adder of 1620. 1615 is a multiplier, which is obtained by multiplying the horizontal fine difference value dRY from the triangle setup device of 1002 in FIG. 10 by the subtractor of 1613 and the vertical Y difference value, and transfers it to the adder of 1620. 1616 is a multiplier, which is obtained by the horizontal fine difference value dGX from the triangle setup device of 1002 in FIG. 10 and the subtractor of 1612, multiplied by the vertical X difference value, and transferred to the adder of 1621. 1617 is a multiplier, which is obtained by multiplying the horizontal fine difference value dGY from the triangle setup device of 1002 in FIG. 10 by the subtractor of 1613 and the vertical Y difference value, and transfers it to the adder of 1621. 1618 is a multiplier, which is obtained by the horizontal fine difference value dBX from the triangle setup device of 1002 in FIG. 10 and the subtractor of 1612, multiplied by the vertical X difference value, and transferred to the adder of 1622. 1619 is a multiplier, which is obtained by multiplying the horizontal fine difference value dBY from the triangle setup device of 1002 in FIG. 10 by the subtractor of 1613 and the vertical Y difference value, and transfers it to the adder of 1622.
[0095] Reference numeral 1620 is an adder, which adds the multiplication results of 1614 and 1615. 1621 is an adder that adds the multiplication results of 1616 and 1617. 1622 is an adder that adds the multiplication results of 1618 and 1619.
[0096] 1623 is a register, and stores the X value of the processing result of XDDA in the vertical direction on the left side. 1624 is a register and stores the Y value of the processing result of YDDA in the vertical direction on the left side. 1625 is a register, and updates the R value of the interpolation result of the RGB interpolation in the vertical direction on the left side when the Y direction update signal is turned ON from the RGB correction device of 1004 in FIG. 1626 is a register, and updates the G value of the interpolation result of the RGB interpolation in the vertical direction on the left side when the Y direction update signal is turned ON from the RGB correction device of 1004 in FIG. 1627 is a register, and updates the B value of the interpolation result of the RGB interpolation in the vertical direction on the left side when the Y direction update signal is turned ON from the RGB correction device of 1004 in FIG.
<Horizontal XDDA Device> FIG. 17 shows a detailed block diagram of the horizontal XDDA device of 1005 in FIG. 1701 is a register, and stores the start point value of the X value in the horizontal direction from the left side XYRGB start point generator of 1003 in FIG. 1702 is a register, which stores the Y value in the horizontal direction from the left side XYRGB start point generator of 1003 in FIG. 1703 is an adder that performs an addition operation to perform DDA processing of X. 1704 is an MUX, which transfers the start value of X of 1701 to the register of 1705 as an initial value in the DDA processing of X, and transfers the output of the adder of 1703 to the register of 1705 during the subsequent DDA processing. 1705 is a register and stores the processing result of DDA processing of X.
<Memory Address Generator> FIG. 18 shows a block diagram of the memory address generator of 1008 of FIG. 1801 is a register that stores the Y value of the output of the horizontal XDDA device of 1005 in Figure 10. 1802 is a register that stores the X value of the output of the horizontal XDDA device of 1005 in Figure 10. 1803 is a multiplier that multiplies the Y value of 1801 by the bandwidth BANDWIDTH. 1804 is an adder, which adds the multiplier of 1803 and the X value of 1802 to find the physical address. 1805 is a register.
<RGB Correction Device> FIG. 19 shows a detailed block diagram of the RGB correction device of 1004 of FIG. 1901 is a MINX generator, which receives the X coordinates X0, X1, and X2 of each end point of the triangle from the command analyzer of 1001 in Fig. 10, finds the smallest X value, and transfers it to the subtractor of 1903. 1902 is a MINY generator, which receives the Y coordinates Y0, Y1, and Y2 of each end point of the triangle from the command analyzer of 1001 in FIG. 10, finds the smallest Y value, and transfers it to the subtractor of 1904.
[0100] 1903 is a subtractor, which receives a horizontally interpolated X value from the horizontal XDDA device of 1005 in FIG. 10, a MINX value from the MINX generator of 1901, and a quadrangle surrounding a triangle as shown in FIG. 28. Find the difference from the MINX value in the horizontal direction. The 1904 is a subtractor that receives the Y value from the horizontal XDDA device of 1005 in Figure 10, the MINY value from the MINY generator of 1902, and from the MINY value in the vertical direction of the rectangle surrounding the triangle as shown in Figure 28. Find the difference value.
[0101] 1905 is a divider, which receives the horizontal length DDX of the minimum color of FIG. 28 from the parameter storage device of 803 in FIG. 8, divides the difference value from the subtractor of 1903 by DDX, and divides the difference value of 1907 by DDX. Transfer the result to the decimal point 0 judgment device. 1906 is a divider, which receives the vertical length DDY of the minimum color of FIG. 28 from the parameter storage device of 803 in FIG. 8, divides the difference value from the subtractor of 1904 by DDY, and determines the decimal point 0 of 1908. Transfer the result to the device.
[0102] 1907 is a decimal point 0 determination device, receives the result of the divider of 1905, confirms that there is no decimal point (divided), and determines whether or not the mesh as shown in FIG. 28 is straddled in the horizontal direction. The 1908 is a decimal point 0 determination device, which receives the result of the 1906 divider, confirms that there is no decimal point (divided), and determines whether the mesh as shown in FIG. 28 is vertically straddled.
[0103] Reference numeral 1909 is an OR circuit, which receives a horizontal drawing start signal from the controller of 1010 in FIG. 10, and unconditionally generates an update signal in the X direction when horizontal drawing starts. 1910 is a register that stores the X-direction update signal from the 1909 OR circuit. 1911 is a register that stores the Y-direction update signal from the 1908 decimal point 0 determination device.
<Image Processing Device> FIG. 20 shows a block diagram of the image processing device of FIG. 2 and 206. 2001 is a color conversion device, which receives color information (RGB) for each PIXEL and the address on the band from the drawing device of 205 in Fig. 2, performs color conversion, creates CMYK data, and goes to the gradation processing device of 2002. Forward. FIG. 22 shows a detailed block diagram.
[0105] 2002 is a gradation processing device, which receives a CMYK value and an address on the band from the color conversion device of 2001, performs gradation processing, and transfers the CMYK value to the memory ARBI / F of 2005. FIG. 24 shows a detailed block diagram.
[0106] 2003 is a parameter storage device, which temporarily stores the parameters of the color conversion device and the gradation processing device. 2004 is a write address generator, which generates addresses in the binary band memory areas of the C, M, Y, and K versions of FIG. 5 in the main memory of 224 in FIG. 2005 is a memory ARB I / F, and I / F with the memory ARB of 203 in Fig. 2 is performed, and based on the address from the write address generator in 2004, gradation processing is performed on the main memory of 224 in Fig. 2. Write data. 2006 is a controller that controls the entire image processing device.
<Processing Flow of Image Processing Device> FIG. 21 shows the processing flow of the image processing device. Step 2101: Set up the color conversion table for the color conversion device. Step 2102: Set the origin address of each version in the band memory area of each version of main memory in the parameter storage device. Step 2103: Set the threshold size of the gradation processor. Step 2104: Set the threshold for the gradation processor. Step 2105: Receive color information and memory address from the drawing device. Step 2106: Perform color conversion. Step 2107: Perform gradation processing. Step 2108: Exit the loop after processing all pixels.
<Color conversion processing apparatus> FIG. 22 shows a block diagram of the color conversion processing apparatus of 2001 in FIG. 20. The 2201 is a grid point selection device that receives image (RGB) data from the drawing device 205 in Fig. 2, divides each R, G, and B component into upper NBIT and lower 8-NBIT, and divides them into HR, G, and B, respectively. And DR, G, B, determine which tetrahedron of the 6 tetrahedrons of the cube consisting of 8 grid points corresponds to, and set it as TYPE, 2204 grid point address generator and 2202 grid point interpolation. Transfer to the processing device.
[0109] 2202 is a grid point interpolation processing device, and DR, G of the grid point selection device of 2201 from the C, M, Y, K values of the four grid points of the tetrahedron interpolated from the data extraction device of 2205. Interpolate with, B to obtain C, M, Y, K data.
[0110] 2203 is a color conversion table memory, which stores grid point information in the format shown in FIG. 24, receives an address from the grid point address generator of 2204, and transfers the grid point information to the data extraction device of 2205.
[0111] Reference numeral 2204 is a grid point address generator, and the grid point address of the color conversion table area of 2203 is obtained from HR, G, B and HRU, GU, BU and TYPE from the grid point selection device of 2201.
[0112] Reference numeral 2205 is a data cutting device, and cuts out four parameters for interpolating the grid point data received from the color conversion table memory of 2203 by the grid point interpolation processing device of 2202.
<Processing Flow of Color Conversion Processing Device> FIG. 23 shows the processing flow of the color conversion processing device of FIG. 22. Step 2301: Convert the upper NBIT of the image (RGB) data input by the grid point selection device of 2201 in Fig. 22 to HR, G, B and the lower (8-N) BIT to DR, G, B. Step 2302: Obtain the TYPE from the obtained HR, G, and B by the grid point selection device of 2201 in Fig. 22. Step 2303: Obtain the grid point address by the grid point address generator of 2204 in FIG. Step 2304: Read grid point data from the color conversion table memory of 2203 in Figure 22. Step 2305: The grid point interpolation processing device of 2202 in FIG. 22 performs interpolation processing between the grid point data to obtain C, M, Y, and K data.
<Gradation Processing Device> FIG. 24 is a block diagram of the gradation processing device 2002 of FIG. 2401 is a threshold matrix storage device address generator that receives the size of the threshold and generates the address of the 2402 threshold matrix storage device. The 2402 is a threshold matrix storage device that stores various threshold matrices. The 2403 is a data distribution device, which receives the thresholds of C, M, Y, and K versions from the threshold matrix storage device of 2402, and distributes the values to the judgment devices of each version of 2404 to 2407.
[0115] 2404 is a comparison device, which receives and compares the C plate threshold value from 2403 and the C plate pixel data from the color conversion device of 2001 in FIG. 20, and compares the data after gradation processing of the C plate. create. The 2405 is a comparison device, which receives and compares the threshold value of the M version from 2403 and the pixel data of the M version from the color conversion device of 2001 in FIG. 20, and creates the data after the gradation processing of the M version. The 2406 is a comparison device, which receives and compares the Y-plate threshold value from 2403 and the Y-plate pixel data from the 2001 color conversion device in FIG. 20, and creates the Y-plate gradation-processed data. The 2407 is a comparison device, which receives and compares the threshold value of the K plate from 2403 and the pixel data of the K plate from the color conversion device of 2001 in FIG. 20, and creates the data after the gradation processing of the K plate.
[0116] The 2408 is a fixed-length data generator, which sequentially receives the C-plate gradation-processed data from the 2404 comparison device and converts it into fixed-length data. The 2409 is a fixed-length data generator, which sequentially receives the M-plate gradation-processed data from the 2405 comparison device and converts it into fixed-length data. The 2410 is a fixed-length data generator, which sequentially receives the Y-plate gradation-processed data from the 2406 comparison device and converts it into fixed-length data. The 2411 is a fixed-length data generator, which sequentially receives the K-plate gradation-processed data from the 2407 comparison device and converts it into fixed-length data. A detailed block diagram is shown in FIG. 26 for the configuration of the fixed-length data generator shown in 2408 to 2411.
[0117] 2412 is a FIFO, which receives and temporarily stores data from the 2408 C-version fixed-length data generator. The 2413 is a FIFO that receives and temporarily stores data from the 2409 M-version fixed-length data generator. The 2414 is a FIFO that receives and temporarily stores data from the Y version of the 2410 fixed-length data generator. The 2415 is a FIFO that receives and temporarily stores data from the 2411 K-version fixed-length data generator.
[0118] The 2416 is an MUX, which receives data from each version of the FIFO, sequentially selects it, and transfers it to the memory ARB I / F of 2005 in FIG. The 2417 is a CMYK address generator, which adds the origin address of each version to the start address which is the physical address from the color conversion device of 2001 in FIG. 20, finds the start address of each version, and transfers it to the MUX of 2418. The 2418 is a MUX, which selects the start address of the image data after gradation processing to be written to the main memory from the start address of each version, and transfers the start address to the write address generator of 2004 in FIG.
<Processing Flow of Gradation Processing Device> FIG. 25 shows the processing flow. Step 2501: Compare the threshold (CMYK) data with the CMYK data and binarize them. Step 2502: Add binarization (CMYK) data to fixed-length data. Step 2503: Determine if the data has grown to a fixed length. Step 2504: Write CMYK fixed length data to the FIFO. Step 2505: Count up the dither address horizontally. Step 2506: Determine if the horizontal address of the dither exceeds the horizontal size. Step 2507: Clear the horizontal address of the dither. Step 2508: Determine if all horizontal line pixels have been gradation processed. Step 2509: Count up the dither address vertically. Step 2510: Determine if the pixels of all lines have been gradation processed.
[0120] Fig. 26 shows a block diagram of the fixed-length data generator of 2408 in FIG. 24. The 2601 is a shifter, which receives binary data from the comparison device of 2404 in FIG. 24, shifts by the value of the shift value register of 2406 in FIG. 24, and transfers it to the OR device of 2602. The 2602 is an OR device that OR-processes the shifted binary data of 2601 and sends it to the register of 2604. 2603 is a register, which is ORed by the 2602 OR device and stores the added binary data. 2604 is a register, which stores data that has reached a fixed length. The 2605 is an adder, and "1" is added each time binary data is received from the comparison device of 2404 in FIG. 2606 is a register and stores the shift value.
[0121] The example of giving RGB color to each end point of the gradient fill and interpolating it has been described above. Similarly, CMY, CMYK, Lab, etc. can be easily considered. Also, in the case of monochrome, it is easy to think by considering the shade of one vector instead of three vectors like RGB.
[Effect of the Invention] As described above, according to the inventions of claims 1, 10 and 19, a large memory area such as an area for developing a large gradation pattern or a work area for masking drawing data is provided. You don't need it anymore.
[0123] According to the inventions of claims 6, 15 and 24, from the information of the end points of the figure, the quadrangle surrounding the figure has a resolution (mesh) that changes from the specified minimum color length in the vertical direction and the minimum color length in the horizontal direction. ) Is obtained, and in horizontal and vertical color interpolation, the color information correction means that controls the color change makes it possible to output neutral colors (slightly changed colors) beautifully even in a printer with low gradation in general. is there.
[0124] According to the inventions of claims 2 to 5, 7 to 9, 11 to 14, 16 to 18, 20 to 23 and 25 to 27, the figure is relative to the color information (including gradation) of the end points of the figure. Pre-drawing processing means for obtaining the fine difference value in the horizontal direction and the fine difference value in the vertical direction based on the plane equation of, and the fine difference value in the horizontal and vertical directions for interpolating the color of each end point obtained by the pre-drawing processing means. In the drawing start point calculation means and the drawing processing means for obtaining the X value and the color information interpolated in the vertical direction of the left side or the right side as a reference, the horizontal color information interpolation means for interpolating the color information in the horizontal direction and the drawing processing. Gradient fill drawing by enabling parallel processing of the color conversion means for color-converting the color information of the image data obtained by the means and the gradation processing means for performing gradation processing on the color data obtained by the color conversion means. It is possible to speed up the processing.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram showing a mechanical portion of the image forming apparatus of the present invention.
FIG. 2 is a block diagram showing an electrical control device of an image forming device.
FIG. 3 is a flow chart showing a processing procedure.
FIG. 4 is a block diagram showing a concept of data processing in the present invention.
FIG. 5 is a diagram showing a concept of a processing procedure for drawing a figure in a band memory area.
FIG. 6 is a diagram showing a format of a main memory.
FIG. 7 is a diagram showing a flow of drawing processing.
8 is a block diagram showing a configuration of a drawing apparatus 5 in FIG. 2. FIG.
FIG. 9 is a flowchart showing a process performed by the drawing apparatus.
10 is a block diagram showing a configuration of the drawing processing device 2 in FIG. 8. FIG.
FIG. 11 is a flowchart showing processing performed by the drawing processing apparatus.
12 is a block diagram showing a configuration of the triangle setup device 2 in FIG. 10. FIG.
13 is a block diagram showing a configuration of a device 1 for generating a fine difference R in the horizontal direction in FIG. 12. FIG.
FIG. 14 is a block diagram showing a configuration of a device 2 for generating a fine difference R in the vertical direction in FIG.
FIG. 15 is a block diagram showing a configuration of a horizontal RGB DDA device 6 in FIG.
16 is a block diagram showing a configuration of a left-side XYRGB start point generator 3 in FIG. 10. FIG.
FIG. 17 is a block diagram showing a configuration of a horizontal XDDA device 5 in FIG.
FIG. 18 is a block diagram showing a configuration of a memory address generator 8 in FIG.
19 is a block diagram showing a configuration of the RGB correction device 4 in FIG. 10. FIG.
20 is a block diagram showing a configuration of the image processing device 6 of FIG. 2. FIG.
FIG. 21 is a flowchart showing processing performed by the image processing apparatus.
FIG. 22 is a block diagram showing a configuration of the color conversion processing device 1 in FIG. 20.
FIG. 23 is a flowchart showing processing performed by the color conversion processing apparatus.
FIG. 24 is a block diagram showing a configuration of the gradation processing device 2 in FIG. 20.
FIG. 25 is a flowchart showing processing performed by the gradation processing apparatus.
FIG. 26 is a block diagram showing a configuration of a fixed-length data generator 8 in FIG. 24.
FIG. 27 is a diagram showing the relationship between the coordinates, color information, and fine differences of triangles on a plane.
FIG. 28 is a diagram showing the relationship between a triangle, a minimum color length (DDX, DDY), and a maximum value and a minimum value of an X value.
FIG. 29 is a diagram showing a state of drawing a triangle by interpolating sides from a start point (X0, Y0).
FIG. 30 is a diagram showing an example of a triangular gradient fill.
FIG. 31 is a diagram showing an example of creating a gradation from a plurality of gradation patterns.
FIG. 32 is a diagram showing the result of gradient fill when interpolation is performed by the left side and the right side.
[Code description] 26 Electrical control device 201 CPU205 Drawing device 206 Image processing device 224 Main memory 802 Drawing processing device 1002 Triangle setup device 1003 Left side XYRGB start point generator 1004 RGB correction device 1005 Horizontal XDDA device 1006 Horizontal RGBDDA device 1008 Memory address generation Device 1201 Horizontal fine difference R generator 1202 Vertical fine difference R generator 2001 Color converter 2002 Gradation processing device 2408 Fixed length data generator
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JPH0722483U | Cited by | Japan | Search report |
| JP2002245469A | Cites | Japan | – |
| JP2000013601A | Cites | Japan | – |
| JP08072317A | Cites | Japan | – |
| JP07141511A | Cites | Japan | – |
| JP05046783A | Cites | Japan | – |
| JP04160867A | Cites | Japan | – |
4 members in 2 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 2003017901 | Japan | A | |
| JP20030017901 | – | – | – |
Members4
| Document | Office | Kind | |
|---|---|---|---|
| US2004150656A1 | United States of America | A1 | |
| JP2004227518A | Japan | A | |
| US7009622B2 | United States of America | B2 | |
| JP4133369B2This record | Japan | B2 |
14 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 |
Numbers
- Publication
- 4133369
- Publication, DOCDB
- 4133369
- Publication, EPODOC
- JP4133369B
- Application
- 17901
- Application, DOCDB
- 2003017901
- Application, EPODOC
- JP20030017901
Titles2
- Japanese
- 画像処理装置、方法及びプログラム
- English
- Image processing equipment, methods and programs
Classification
- CPC, 2
- G06T15/80
- G06T11/40
- IPC, 8
- G06T11 40
- H04N1 60
- G06F3 12
- G06T1 00
- G06T5 00
- H04N1 46
- B41J2 525
- G09G5 00