JP2008187669A - Image processing device, and image processing program - Google Patents

Image processing device, and image processing program Download PDF

Info

Publication number
JP2008187669A
JP2008187669A JP2007021807A JP2007021807A JP2008187669A JP 2008187669 A JP2008187669 A JP 2008187669A JP 2007021807 A JP2007021807 A JP 2007021807A JP 2007021807 A JP2007021807 A JP 2007021807A JP 2008187669 A JP2008187669 A JP 2008187669A
Authority
JP
Japan
Prior art keywords
data
row
rotation
comparison
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007021807A
Other languages
Japanese (ja)
Other versions
JP4702297B2 (en
Inventor
Ryuji Yamada
竜司 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2007021807A priority Critical patent/JP4702297B2/en
Publication of JP2008187669A publication Critical patent/JP2008187669A/en
Application granted granted Critical
Publication of JP4702297B2 publication Critical patent/JP4702297B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing device and image processing program that compresses a two-tone image at high speed and high compression rate. <P>SOLUTION: By means of the image processing device, the image processing is carried out simply and speedily since a number of expansion times 1388 to indicate coincidence with the line data prior to one line is stored if it is decided that a comparison line is coincided with the processing line rotating data according to the compression processing (S6). Further, the data size of the number of expansion times 1388 is small and thus, a high compression rate is obtained since the number of expansion times 1388 corresponds to the line number of the processing line rotating data that is judged to be in accordance with the comparison line. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は画像処理装置および画像処理プログラムに関し、特に、二階調の画像を高速かつ高い圧縮率でデータを圧縮することができる画像処理装置および画像処理プログラムに関するものである。   The present invention relates to an image processing apparatus and an image processing program, and more particularly to an image processing apparatus and an image processing program capable of compressing data of a two-tone image at a high speed and with a high compression rate.

画像の圧縮方式として、同一色の連続数を利用するランレングス符号を用いた圧縮方法が知られている。この圧縮方法では、同一色の画素が複数連続している場合、その連続する色の値を、「色の値×回数」という値に置き換えることにより、データを圧縮している。したがって、同一色の連続数が多いほど、より効果的な圧縮が可能である。   As an image compression method, a compression method using a run-length code using a continuous number of the same color is known. In this compression method, when a plurality of pixels of the same color are continuous, the data is compressed by replacing the continuous color value with a value of “color value × number of times”. Therefore, more effective compression is possible as the number of consecutive identical colors increases.

一方、多階調画像の階調を擬似的に再現するために、ディザ法による階調変換処理がなされる場合がある。この場合、階調変換後の画像データは、同一色の連続が少なくなるために、ランレングス符号化では圧縮効率が低くなってしまう。そこで、ランレングス符号化に先立ち、ディザパターンに応じたビット列の並べ替え処理をすることで、連続する同一色を増やし、圧縮率を高める方法が提案されている(例えば、特許文献1参照)。
特開2002−335404号公報
On the other hand, in order to simulate the gradation of a multi-gradation image, a gradation conversion process by a dither method may be performed. In this case, since the image data after gradation conversion has a reduced number of consecutive identical colors, the compression efficiency is low in the run-length encoding. In view of this, a method has been proposed in which a bit string is rearranged according to a dither pattern prior to run-length encoding to increase the same number of continuous colors and increase the compression rate (see, for example, Patent Document 1).
JP 2002-335404 A

しかしながら、特許文献1に記載の技術では、ビット列の並べ替えを複数パターンで行い、さらに、その並べ替え結果を比較して、最も圧縮率が高い並び替えを選択しなければならず、処理が複雑であって、処理に時間がかかるという問題点があった。   However, in the technique described in Patent Document 1, it is necessary to perform rearrangement of bit strings in a plurality of patterns, and also to compare the rearrangement results to select the rearrangement having the highest compression rate, which is complicated. However, there is a problem that processing takes time.

そこで本発明は、高速かつ高い圧縮率で二階調の画像を圧縮することができる画像処理装置を提供することを目的としている。   Accordingly, an object of the present invention is to provide an image processing apparatus capable of compressing a two-tone image at a high speed and a high compression rate.

この目的を達成するために、請求項1記載の画像処理装置は、多階調画像を構成する各画素の階調値を、ディザマトリクスを用いて、二階調の階調値に変換する階調変換手段と、その階調変換手段により変換された一行分の画素の階調値から構成される行データが複数行集まって構成される画像データを圧縮する圧縮手段とを備えたものであって、前記画像データの各行の行データを、それぞれの行の一行前の行データと比較する比較手段を備え、前記比較手段は、比較処理を行う行の一行前の行データを比較対象データとして記憶する比較対象データ記憶手段と、比較処理を行う行の行データを構成する階調値の各々を、行方向に平行な所定の方向に、所定画素分ローテートさせたローテートデータを作成する、比較用ローテートデータ作成手段とを備え、前記圧縮手段は、前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す情報を、一行前一致データとして記憶する一行前一致データ記憶手段を備えたことを特徴とする。   To achieve this object, the image processing apparatus according to claim 1 is a gradation that converts a gradation value of each pixel constituting a multi-gradation image into a gradation value of two gradations using a dither matrix. Conversion means, and compression means for compressing image data composed of a plurality of rows of line data composed of pixel gradation values converted by the gradation conversion means. And comparing means for comparing the row data of each row of the image data with the row data of the previous row of each row, and the comparing means stores the row data of the previous row of the row to be compared as comparison target data. Comparison target data storage means, and rotation data in which each gradation value constituting the row data of the row to be compared is rotated by a predetermined number of pixels in a predetermined direction parallel to the row direction. Rotate data creation And the compression means, when it is determined that the comparison target data and the rotate data match as a result of the comparison by the comparison means, information indicating that the data matches the previous row data, It is characterized in that it is provided with a previous line coincidence data storage means for memorizing as the previous line coincidence data.

請求項2記載の画像処理装置は、請求項1記載の画像処理装置において、前記圧縮手段は、前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断された場合、そのローテートデータを作成する際に用いた行データを所定のアルゴリズムで圧縮して一行分圧縮データとして記憶する圧縮データ記憶手段を備えたものであることを特徴とする。   The image processing apparatus according to claim 2 is the image processing apparatus according to claim 1, wherein the compression unit determines that the comparison target data and the rotation data do not match as a result of the comparison by the comparison unit. In this case, it is characterized by comprising compressed data storage means for compressing the row data used when creating the rotation data by a predetermined algorithm and storing it as compressed data for one row.

請求項3記載の画像処理装置は、請求項1または2に記載の画像処理装置において、前記一行前一致データ記憶手段は、前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断されるまでの間に、前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断されたローテートデータの行数に相当する値を、一行前一致データとして記憶することを特徴とする。   The image processing apparatus according to claim 3 is the image processing apparatus according to claim 1 or 2, wherein the one-line previous coincidence data storage unit is configured to compare the comparison target data, the rotation data, and the rotation data as a result of comparison by the comparison unit. Between the comparison data by the comparison means and the value corresponding to the number of rows of the rotation data determined to match the rotation data before the comparison means It is memorized as data.

請求項4記載の画像処理装置は、請求項1から3のいずれかに記載の画像処理装置において、前記階調変換手段は、万線パターンを形成するディザマトリクスを用いて、階調値を変換するものであることを特徴とする。   5. The image processing apparatus according to claim 4, wherein the gradation converting unit converts a gradation value using a dither matrix that forms a line pattern. It is a thing to do.

請求項5記載の画像処理装置は、請求項1から4のいずれかに記載の画像処理装置において、前記階調変換手段により用いられたディザマトリクスに対応したローテート方向情報とローテート量情報とを取得するローテート条件取得手段を備え、前記比較用ローテートデータ作成手段は、比較処理を行う行の行データを構成する階調値の各々を、前記ローテート方向情報に基づく方向に、前記ローテート量情報に基づく画素数分ローテートさせたローテートデータを作成するものであり、前記圧縮手段は、前記ローテート条件取得手段により取得されたローテート方向情報とローテート量情報とを記憶するローテート条件記憶手段を備えることを特徴とする。   The image processing device according to claim 5 is the image processing device according to any one of claims 1 to 4, wherein the rotation direction information and the rotation amount information corresponding to the dither matrix used by the gradation conversion unit are acquired. Rotation condition acquisition means for performing comparison, and the comparison rotation data creation means based on the rotation amount information in a direction based on the rotation direction information, each of the gradation values constituting the row data of the row to be compared. Rotation data rotated by the number of pixels is created, and the compression means includes rotation condition storage means for storing rotation direction information and rotation amount information acquired by the rotation condition acquisition means, To do.

請求項6記載の画像処理装置は、請求項1から4のいずれかに記載の画像処理装置において、前記比較用ローテートデータ作成手段は、比較処理を行う行の行データを構成する階調値の各々を、1画素ずつローテートさせたローテートデータを作成するものであることを特徴とする。   The image processing apparatus according to claim 6 is the image processing apparatus according to any one of claims 1 to 4, wherein the comparison rotation data creation unit includes a gradation value that forms row data of a row to be compared. Rotation data is created by rotating each pixel one by one.

請求項7記載の画像処理プログラムは、多階調画像を構成する各画素の階調値が、ディザマトリクスを用いて、二階調の階調値に変換されることにより得られた画像データであって、一行分の画素の階調値から構成される行データが複数行集まって構成される画像データを圧縮する圧縮ステップを画像処理装置に実行させるためのプログラムであって、前記画像データの各行の行データを、それぞれの行の一行前の行データと比較する比較ステップを備え、前記比較ステップは、比較処理を行う行の一行前の行データを比較対象データとして記憶する比較対象データ記憶ステップと、比較処理を行う行の行データを構成する階調値の各々を、行方向に平行な所定の方向に、所定画素分ローテートさせたローテートデータを作成する、比較用ローテートデータ作成ステップとを備え、前記圧縮ステップは、前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す情報を、一行前一致データとして記憶する一行前一致データ記憶ステップを備えたことを特徴とする。   The image processing program according to claim 7 is image data obtained by converting a gradation value of each pixel constituting a multi-gradation image into a gradation value of two gradations using a dither matrix. A program for causing an image processing apparatus to execute a compression step of compressing image data composed of a plurality of rows of row data composed of pixel gradation values for one row, wherein each row of the image data A comparison step of comparing the row data of the previous row with the row data of the previous row of each row, wherein the comparison step stores the row data of the previous row of the row to be compared as comparison target data. And a rotation data for comparison in which each of the gradation values constituting the row data of the row to be compared is rotated by a predetermined number of pixels in a predetermined direction parallel to the row direction. And a compressing step indicating that the comparison target data matches the previous row data when it is determined that the comparison target data and the rotate data match. It is characterized by comprising a preceding line matching data storing step for storing information as preceding line matching data.

請求項8記載の画像処理プログラムは、請求項7記載の画像処理プログラムにおいて、前記圧縮ステップは、前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断された場合、そのローテートデータを作成する際に用いた行データを所定のアルゴリズムで圧縮して一行分圧縮データとして記憶する圧縮データ記憶ステップを備えたものであることを特徴とする。   The image processing program according to claim 8 is the image processing program according to claim 7, wherein, as a result of comparison in the comparison step, the comparison step data is determined not to match the rotation target data. In this case, it is characterized in that a compressed data storing step for compressing the row data used when creating the rotated data by a predetermined algorithm and storing it as compressed data for one row is provided.

請求項9記載の画像処理プログラムは、請求項7または8に記載の画像処理プログラムにおいて、前記一行前一致データ記憶ステップは、前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断されるまでの間に、前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断されたローテートデータの行数に相当する値を、一行前一致データとして記憶することを特徴とする。   The image processing program according to claim 9 is the image processing program according to claim 7 or 8, wherein the one-line previous coincidence data storage step includes the comparison target data, the rotation data, and the result of comparison in the comparison step. Before the line is determined to be inconsistent, a value corresponding to the number of lines of the rotation data determined to match between the comparison target data and the rotation data as a result of the comparison in the comparison step, It is memorized as data.

請求項10記載の画像処理プログラムは、請求項7から9のいずれかに記載の画像処理プログラムにおいて、多階調画像を構成する各画素の階調値を、ディザマトリクスを用いて、二階調の階調値に変換する階調変換ステップを、前記画像処理装置に実行させるものであり、その階調変換ステップは、万線パターンを形成するディザマトリクスを用いて、階調値を変換するものであることを特徴とする。   An image processing program according to a tenth aspect is the image processing program according to any one of the seventh to ninth aspects, wherein a gradation value of each pixel constituting the multi-tone image is converted into a two-tone using a dither matrix. A gradation conversion step for converting to a gradation value is executed by the image processing apparatus, and the gradation conversion step is for converting a gradation value by using a dither matrix for forming a line pattern. It is characterized by being.

請求項11記載の画像処理プログラムは、請求項7から10のいずれかに記載の画像処理プログラムにおいて、前記ディザマトリクスに対応したローテート方向情報とローテート量情報とを取得するローテート条件取得ステップを備え、前記比較用ローテートデータ作成ステップは、比較処理を行う行の行データを構成する階調値の各々を、前記ローテート方向情報に基づく方向に、前記ローテート量情報に基づく画素数分ローテートさせたローテートデータを作成するものであり、前記圧縮ステップは、前記ローテート条件取得ステップにより取得されたローテート方向情報とローテート量情報とを記憶するローテート条件記憶ステップを備えることを特徴とする。   An image processing program according to claim 11, further comprising a rotation condition acquisition step of acquiring rotation direction information and rotation amount information corresponding to the dither matrix in the image processing program according to any one of claims 7 to 10, The comparison rotation data creation step is a rotation data obtained by rotating each gradation value constituting the row data of the row to be compared in the direction based on the rotation direction information by the number of pixels based on the rotation amount information. The compression step includes a rotation condition storage step for storing the rotation direction information and rotation amount information acquired by the rotation condition acquisition step.

請求項12記載の画像処理プログラムは、請求項7から10のいずれかに記載の画像処理プログラムにおいて、前記比較用ローテートデータ作成ステップは、比較処理を行う行の行データを構成する階調値の各々を、1画素ずつローテートさせたローテートデータを作成するものであることを特徴とする。   An image processing program according to a twelfth aspect is the image processing program according to any one of the seventh to tenth aspects, wherein the comparison rotation data creation step includes a gradation value constituting the row data of the row to be compared. Rotation data is created by rotating each pixel one by one.

請求項1記載の画像処理装置によれば、比較手段により、画像データの各行の行データが、それぞれの行の一行前の行データと比較される。ここで、比較対象データ記憶手段により、比較処理を行う行の一行前の行データが比較対象データとして記憶され、比較用ローテートデータ作成手段により、比較処理を行う行の行データを構成する階調値の各々が、行方向に平行な所定の方向に、所定画素分ローテートされたローテートデータが作成される。そして、比較手段による比較の結果、比較対象データと、ローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す情報が、一行前一致データとして記憶されるので、処理が簡単であって、高速で処理できると共に、高い圧縮率でデータを圧縮することができるという効果がある。   According to the image processing apparatus of the first aspect, the comparison unit compares the row data of each row of the image data with the row data of the previous row of each row. Here, the comparison target data storage unit stores the row data immediately before the row to be compared as comparison target data, and the comparison rotation data creation unit sets the row data of the row to be compared. Rotation data is created in which each value is rotated by a predetermined number of pixels in a predetermined direction parallel to the row direction. Then, as a result of the comparison by the comparison means, if it is determined that the comparison target data and the rotation data match, information indicating that it matches the previous row data is stored as the previous row matching data. Is simple, can be processed at high speed, and can compress data at a high compression rate.

請求項2記載の画像処理装置によれば、請求項1記載の画像処理装置の奏する効果に加え、比較手段による比較の結果、比較対象データと、ローテートデータとが一致しないと判断された場合、そのローテートデータを作成する際に用いた行データが所定のアルゴリズムで圧縮され、一行分圧縮データとして記憶されるので、高い圧縮率でデータを圧縮することができるという効果がある。   According to the image processing device of claim 2, in addition to the effect produced by the image processing device of claim 1, when it is determined that the comparison target data and the rotation data do not match as a result of comparison by the comparison unit, Since the row data used when creating the rotation data is compressed by a predetermined algorithm and stored as one row of compressed data, the data can be compressed at a high compression rate.

請求項3記載の画像処理装置によれば、請求項1または2に記載の画像処理装置の奏する効果に加え、比較手段による比較の結果、比較対象データと、ローテートデータとが一致しないと判断されるまでの間に、比較手段による比較の結果、比較対象データと、ローテートデータとが一致すると判断されたローテートデータの行数に相当する値が、一行前一致データとして記憶されるので、処理が簡単であって、高速で処理できるという効果がある。また、比較対象データと、ローテートデータとが一致すると判断されたローテートデータが多数存在する場合であっても、その行数に相当する値が記憶されるので、高い圧縮率で圧縮することができるという効果がある。   According to the image processing apparatus of the third aspect, in addition to the effect produced by the image processing apparatus of the first or second aspect, as a result of comparison by the comparison means, it is determined that the comparison target data and the rotation data do not match. In the meantime, as a result of the comparison by the comparison means, the value corresponding to the number of rows of the rotation data determined to match the comparison target data and the rotation data is stored as the previous row matching data. It is simple and has the effect of being able to process at high speed. Further, even when there are a lot of rotation data determined to match the comparison target data and the rotation data, a value corresponding to the number of rows is stored, so that compression can be performed at a high compression rate. There is an effect.

請求項4記載の画像処理装置によれば、請求項1から3のいずれかに記載の画像処理装置の奏する効果に加え、階調変換手段は、万線パターンを形成するディザマトリクスを用いて、階調値を変換するものであるので、比較対象データと、ローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られるという効果がある。   According to the image processing device of claim 4, in addition to the effect produced by the image processing device according to any one of claims 1 to 3, the gradation conversion means uses a dither matrix that forms a line pattern, Since the gradation value is converted, there is a high possibility that it is determined that the comparison target data and the rotation data match, and there is an effect that a high compression rate can be obtained.

ここで万線パターンとは、規則的に密に並んだ平行線のように見えるパターンであって、画素の濃度に応じて平行線の太さを変更することで、階調を擬似的に表現することができるパターンである。このような万線パターンで形成された画像の一行を拡大して見てみると、その一行は、色材が定着されない画素と、色材が定着された画素とが規則的に配列されて構成されている。そして、一定の階調を示す領域を構成する複数行を拡大してみてみると、各行における色材定着領域の並びは、一行前における色材定着領域の並びと対応関係にある。よって、階調変換手段が、万線パターンを形成するディザマトリクスを用いて階調値を変換するものである場合、一行前の階調変換データとローテートデータとが一致すると判断される可能性が高く、高い圧縮効率が得られるのである。   Here, the line pattern is a pattern that looks like parallel lines that are regularly arranged in a dense manner, and the gradation is expressed in a pseudo manner by changing the thickness of the parallel lines according to the pixel density. It is a pattern that can be done. Looking at an enlarged line of an image formed with such a line pattern, the line is composed of regularly arranged pixels to which color material is not fixed and pixels to which color material is fixed. Has been. When a plurality of lines constituting an area showing a certain gradation are enlarged, the arrangement of the color material fixing areas in each line corresponds to the arrangement of the color material fixing areas in the previous line. Therefore, when the gradation conversion means converts the gradation value using a dither matrix that forms a line pattern, there is a possibility that it is determined that the gradation conversion data of the previous line and the rotation data match. High compression efficiency can be obtained.

請求項5記載の画像処理装置によれば、請求項1から4のいずれかに記載の画像処理装置の奏する効果に加え、ローテート条件取得手段により、階調変換手段により用いられたディザマトリクスに対応したローテート方向情報とローテート量情報とが取得され、比較処理を行う行の行データを構成する階調値の各々が、ローテート方向情報に基づく方向に、ローテート量情報に基づく画素数分ローテートされたローテートデータが作成されるので、比較対象データと、ローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られるという効果がある。   According to the image processing apparatus of the fifth aspect, in addition to the effect produced by the image processing apparatus according to any one of the first to fourth aspects, the rotation condition acquisition unit can cope with the dither matrix used by the gradation conversion unit. Rotation direction information and rotation amount information are acquired, and each of the gradation values constituting the row data of the row to be compared is rotated in the direction based on the rotation direction information by the number of pixels based on the rotation amount information. Since the rotation data is created, there is a high possibility that the comparison target data and the rotation data are determined to match, and there is an effect that a high compression ratio can be obtained.

請求項6記載の画像処理装置によれば、請求項1から4のいずれかに記載の画像処理装置の奏する効果に加え、比較用ローテートデータ作成手段により、比較処理を行う行の行データを構成する階調値の各々が、1画素ずつローテートされたローテートデータが作成される。よって、階調変換手段により用いられたディザマトリクスが、一行ずれる毎に1画素分ずれたパターンを形成するものである場合、比較対象データとローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られるという効果がある。   According to the image processing device of the sixth aspect, in addition to the effect produced by the image processing device according to any one of the first to fourth aspects, the row data for the row on which the comparison processing is performed is configured by the comparison rotate data creating means. Rotation data in which each gradation value to be rotated is rotated by one pixel is created. Therefore, when the dither matrix used by the gradation converting unit forms a pattern shifted by one pixel every time one line is shifted, it is highly likely that the comparison target data and the rotated data match. There is an effect that a high compression ratio can be obtained.

請求項7記載の画像処理プログラムによれば、比較ステップにより、画像データの各行の行データが、それぞれの行の一行前の行データと比較される。ここで、比較対象データ記憶ステップにより、比較処理を行う行の一行前の行データが比較対象データとして記憶され、比較用ローテートデータ作成ステップにより、比較処理を行う行の行データを構成する階調値の各々が、行方向に平行な所定の方向に、所定画素分ローテートされたローテートデータが作成される。そして、比較ステップによる比較の結果、比較対象データと、ローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す情報が、一行前一致データとして記憶されるので、処理が簡単であって、高速で処理できると共に、高い圧縮率でデータを圧縮することができるという効果がある。   According to the image processing program of the seventh aspect, in the comparison step, the line data of each line of the image data is compared with the line data before one line of each line. Here, the comparison target data storage step stores the previous row data as the comparison target data as the comparison target data, and the comparison rotation data creation step generates the row data of the comparison target row. Rotation data is created in which each value is rotated by a predetermined number of pixels in a predetermined direction parallel to the row direction. Then, as a result of the comparison in the comparison step, when it is determined that the comparison target data and the rotation data match, information indicating that the comparison is the previous row data is stored as the previous row matching data. Is simple, can be processed at high speed, and can compress data at a high compression rate.

請求項8記載の画像処理プログラムによれば、請求項7記載の画像処理プログラムの奏する効果に加え、比較ステップによる比較の結果、比較対象データと、ローテートデータとが一致しないと判断された場合、そのローテートデータを作成する際に用いた行データが所定のアルゴリズムで圧縮され、一行分圧縮データとして記憶されるので、高い圧縮率でデータを圧縮することができるという効果がある。   According to the image processing program of claim 8, in addition to the effect produced by the image processing program of claim 7, as a result of comparison by the comparison step, when it is determined that the comparison target data and the rotate data do not match, Since the row data used when creating the rotation data is compressed by a predetermined algorithm and stored as one row of compressed data, the data can be compressed at a high compression rate.

請求項9記載の画像処理プログラムによれば、請求項7または8に記載の画像処理プログラムの奏する効果に加え、比較ステップによる比較の結果、比較対象データと、ローテートデータとが一致しないと判断されるまでの間に、比較ステップによる比較の結果、比較対象データと、ローテートデータとが一致すると判断されたローテートデータの行数に相当する値が、一行前一致データとして記憶されるので、処理が簡単であって、高速で処理できるという効果がある。また、比較対象データと、ローテートデータとが一致すると判断されたローテートデータが多数存在する場合であっても、その行数に相当する値が記憶されるので、高い圧縮率で圧縮することができるという効果がある。   According to the image processing program of the ninth aspect, in addition to the effect produced by the image processing program according to the seventh or eighth aspect, as a result of comparison in the comparison step, it is determined that the comparison target data and the rotation data do not match. In the meantime, as a result of the comparison in the comparison step, a value corresponding to the number of rows of the rotation data determined to match the comparison target data and the rotation data is stored as the previous row matching data. It is simple and has the effect of being able to process at high speed. Further, even when there are a lot of rotation data determined to match the comparison target data and the rotation data, a value corresponding to the number of rows is stored, so that compression can be performed at a high compression rate. There is an effect.

請求項10記載の画像処理プログラムによれば、請求項7から9のいずれかに記載の画像処理プログラムの奏する効果に加え、階調変換ステップは、万線パターンを形成するディザマトリクスを用いて、階調値を変換するものであるので、比較対象データと、ローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られるという効果がある。   According to the image processing program of claim 10, in addition to the effect produced by the image processing program according to any one of claims 7 to 9, the gradation conversion step uses a dither matrix that forms a line pattern, Since the gradation value is converted, there is a high possibility that it is determined that the comparison target data and the rotation data match, and there is an effect that a high compression rate can be obtained.

請求項11記載の画像処理プログラムによれば、請求項7から10のいずれかに記載の画像処理プログラムの奏する効果に加え、ローテート条件取得ステップにより、ディザマトリクスに対応したローテート方向情報とローテート量情報とが取得され、比較処理を行う行の行データを構成する階調値の各々が、ローテート方向情報に基づく方向に、ローテート量情報に基づく画素数分ローテートされたローテートデータが作成されるので、比較対象データと、ローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られるという効果がある。   According to the image processing program of claim 11, in addition to the effect produced by the image processing program according to any one of claims 7 to 10, the rotation condition information and the rotation amount information corresponding to the dither matrix are obtained by the rotation condition acquisition step. Rotation data is generated in which each of the gradation values constituting the row data of the row to be compared is rotated in the direction based on the rotation direction information by the number of pixels based on the rotation amount information. There is a high possibility that it is determined that the comparison target data and the rotate data match, and there is an effect that a high compression ratio can be obtained.

請求項12記載の画像処理プログラムによれば、請求項7から10のいずれかに記載の画像処理プログラムの奏する効果に加え、比較用ローテートデータ作成ステップにより、比較処理を行う行の行データを構成する階調値の各々が、1画素ずつローテートされたローテートデータが作成される。よって、ディザマトリクスが、一行ずれる毎に1画素分ずれたパターンを形成するものである場合、比較対象データとローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られるという効果がある。   According to the image processing program of the twelfth aspect, in addition to the effect produced by the image processing program according to any one of the seventh to tenth aspects, the row data of the row to be subjected to the comparison processing is configured by the comparison rotation data creation step. Rotation data in which each gradation value to be rotated is rotated by one pixel is created. Therefore, when the dither matrix forms a pattern shifted by one pixel every time it is shifted, there is a high possibility that the comparison target data and the rotated data are judged to match, and a high compression ratio can be obtained. There is.

以下、本発明の好ましい実施例について、添付図面を参照して説明する。図1は、本発明における画像処理装置として機能するパーソナルコンピュータ10(以下、PC10と称する)を含む印刷システムの全体構成を示すブロック図である。図1に示されるような印刷システムは、PC10と、PC10に接続されるプリンタ50とを備えている。   Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. FIG. 1 is a block diagram showing the overall configuration of a printing system including a personal computer 10 (hereinafter referred to as a PC 10) that functions as an image processing apparatus according to the present invention. A printing system as shown in FIG. 1 includes a PC 10 and a printer 50 connected to the PC 10.

PC10は、後述する画像データ送信処理(図6参照)によって、PC10に入力された画像データに基づき、プリンタ50において記録用紙に印刷を施すためのデータを生成し、圧縮してプリンタ50に送信する装置である。   The PC 10 generates data for printing on the recording paper in the printer 50 based on the image data input to the PC 10 by image data transmission processing (see FIG. 6), which will be described later, compresses the data, and transmits the data to the printer 50. Device.

PC10は、図1に示すように、CPU11と、ROM12と、RAM13と、HDD14とを備えており、これらはバスライン200を介して互いに接続されている。また、バスライン200は、入出力ポート19にも接続されている。この入出力ポート19には、入力装置15と、表示装置16と、プリンタ50と接続するためのインターフェイス18(I/F18)が接続されている。   As shown in FIG. 1, the PC 10 includes a CPU 11, a ROM 12, a RAM 13, and an HDD 14, which are connected to each other via a bus line 200. The bus line 200 is also connected to the input / output port 19. An interface 18 (I / F 18) for connecting to the input device 15, the display device 16, and the printer 50 is connected to the input / output port 19.

CPU11は、このPC10を総括的に制御する中央演算処理であり、図7および図8のフローチャートで示す処理を実行するプログラムなどの各種プログラムを実行する。ROM12は、CPU11により実行される各種制御プログラムや、それらの制御プログラムをCPU11により実行する上で必要なデータなどを格納した書き換え不能なメモリである。   The CPU 11 is a central processing process that comprehensively controls the PC 10, and executes various programs such as a program that executes the processes shown in the flowcharts of FIGS. The ROM 12 is a non-rewritable memory that stores various control programs executed by the CPU 11 and data necessary for executing the control programs by the CPU 11.

RAM13は、CPU11により実行される各種処理に必要なデータやプログラムを一時的に記憶するためのメモリである。このRAM13は、入力データ記憶エリア131と、色変換データ記憶エリア132と、二値化データ記憶エリア133と、処理ライン記憶エリア134と、処理ラインローテートデータ記憶エリア135と、比較ライン記憶エリア136と、一行分圧縮データ記憶エリア137と、展開回数カウンタ138と、圧縮データ記憶エリア139とが設けられている。   The RAM 13 is a memory for temporarily storing data and programs necessary for various processes executed by the CPU 11. The RAM 13 includes an input data storage area 131, a color conversion data storage area 132, a binarized data storage area 133, a processing line storage area 134, a processing line rotate data storage area 135, and a comparison line storage area 136. A compressed data storage area 137 for one line, a decompression number counter 138, and a compressed data storage area 139 are provided.

入力データ記憶エリア131は、一般的な文書データ作成ソフト、表計算ソフト、グラフィックデザインソフトなどのアプリケーションで作成された画像(特許請求の範囲に記載の多階調画像の一例)について印刷指示が出された場合に、その印刷対象画像のデータが入力されるメモリである。なお入力データ記憶エリア131に記憶されるデータ(以下、入力データと称する)は、ビットマップ形式のデータであって、各画素の階調値が、R(レッド)、G(グリーン)、B(ブルー)の各色について、例えば0から255までの256階調で表現されたデータである。この入力データ記憶エリア131に記憶された入力データは、後述する色変換処理によって色変換データに変換される。   In the input data storage area 131, a print instruction is issued for an image (an example of a multi-tone image described in claims) created by an application such as general document data creation software, spreadsheet software, or graphic design software. In this case, it is a memory into which data of the image to be printed is input. Data stored in the input data storage area 131 (hereinafter referred to as input data) is bitmap format data, and the gradation value of each pixel is R (red), G (green), B ( For each color of blue, for example, the data is expressed in 256 gradations from 0 to 255. The input data stored in the input data storage area 131 is converted into color conversion data by color conversion processing described later.

色変換データ記憶エリア132は、色変換処理により得られた色変換データが記憶されるエリアである。この色変換データは、各画素の階調値が、C(シアン),M(マゼンダ),Y(イエロー),K(ブラック)の各色について、例えば0から255までの256階調で表現されたデータである。この色変換データ記憶エリア132に記憶されたデータは、二値化処理によって、二値化データに変換される。   The color conversion data storage area 132 is an area in which color conversion data obtained by color conversion processing is stored. In this color conversion data, the gradation value of each pixel is expressed in 256 gradations from 0 to 255 for each color of C (cyan), M (magenta), Y (yellow), and K (black), for example. It is data. Data stored in the color conversion data storage area 132 is converted into binarized data by binarization processing.

二値化データ記憶エリア133は、二値化処理により得られた二値化データが記憶されるエリアである。この二値化データは、各画素の階調値が、例えば、「1」または「0」とされた2値のデータである。   The binarized data storage area 133 is an area for storing binarized data obtained by binarization processing. This binarized data is binary data in which the gradation value of each pixel is set to, for example, “1” or “0”.

図2(a)を参照して、入力データ記憶エリア131、色変換データ記憶エリア132、および二値化データ133の各々に記憶されるデータについてさらに説明する。図2(a)は、入力データ、色変換データ、および二値化データを模式的に示す図である。理解を容易にするために、ここでは、各データを、8画素分のみ図示している。   With reference to FIG. 2A, data stored in each of the input data storage area 131, the color conversion data storage area 132, and the binarized data 133 will be further described. FIG. 2A is a diagram schematically showing input data, color conversion data, and binarized data. In order to facilitate understanding, only 8 pixels of each data are illustrated here.

図2(a)に示すように、入力データは、PC10で色を表現するための表色系であるR,G,Bの各々の階調値で構成されている。ここでは、この8画素はレッド(赤)色の画素であって、各画素の階調値が(R,G,B)=(255,0,0)であるものとして説明する。そしてR,G,Bの各階調値を、図7に示す色変換処理(S2)により、プリンタ50にて画像を形成するための表色系であるC,M,Y,Kの階調値に変換することにより、色変換データが得られる。   As shown in FIG. 2A, the input data is composed of respective gradation values of R, G, and B which are color systems for expressing colors on the PC 10. Here, description will be made assuming that the eight pixels are red (red) pixels and the gradation value of each pixel is (R, G, B) = (255, 0, 0). Then, the R, G, B gradation values are converted into C, M, Y, K gradation values, which are the color systems for forming an image by the printer 50, by the color conversion process (S2) shown in FIG. The color conversion data is obtained by converting to.

図2(a)に示すように、色変換データは、C,M,Y,Kの各々の階調値で構成されている。ここでは、色変換により、各画素の階調値が(C、M,Y,K)=(0,220,133,0)とされている。すなわち、元の画像の赤色を、マゼンダの階調220と、イエローの階調133との組み合わせが表現しているのである。   As shown in FIG. 2A, the color conversion data is composed of C, M, Y, and K gradation values. Here, the gradation value of each pixel is (C, M, Y, K) = (0, 220, 133, 0) by color conversion. That is, the combination of the magenta tone 220 and the yellow tone 133 represents the red color of the original image.

このように、入力データおよび色変換データは、各色の階調値が、0から255までの256階調で表現されるデータであるが、プリンタ50では、各画素について、色材を定着するか、または色材を定着しないかのいずれかにより画像を表現する。よって、図2に示すように、256階調の色変換データは、図7に示す二値化処理(S4)により、C,M,Y,Kの各色に分離され、各画素の階調値が「1」または「0」のいずれかとされた4色の二値化データに変換される。   As described above, the input data and the color conversion data are data in which the gradation value of each color is expressed by 256 gradations from 0 to 255. In the printer 50, is the color material fixed for each pixel? The image is expressed by either fixing the coloring material or not fixing the coloring material. Therefore, as shown in FIG. 2, the 256-gradation color conversion data is separated into C, M, Y, and K colors by the binarization process (S4) shown in FIG. Are converted into binarized data of four colors in which “1” or “0” is set.

ここでは、二値化処理として、ディザマトリクスを用いた処理が行われたものとして説明する。ディザマトリクスは、例えば、40×40のマトリクスの各々に、各画素の階調値を「1」または「0」に変換するための閾値が設定されたデータである。このディザマトリクスを色変換データに重ねあわせ、各マトリクスの閾値と対応する各画素における階調値とを比較して、「1」または「0」決定する。このようにして、色変換データの各画素の値をディザマトリクスの閾値と比較することにより、元の画素の階調に応じて、一定の規則の基に処理対照色の「1」または「0」が出現し、「1」の出現頻度によって中間調を擬似的に表現することができる。なお、後述するように、各色には、それぞれ別の種類のディザマトリクスが適用されるので、図2(a)にも示すように、「1」とされた画素が形成するパターンは各色毎に異なっている。   Here, a description will be given assuming that a process using a dither matrix is performed as the binarization process. The dither matrix is, for example, data in which a threshold value for converting the gradation value of each pixel into “1” or “0” is set in each 40 × 40 matrix. This dither matrix is superimposed on the color conversion data, and the threshold value of each matrix is compared with the gradation value of each corresponding pixel to determine “1” or “0”. In this way, by comparing the value of each pixel of the color conversion data with the threshold value of the dither matrix, the processing contrast color “1” or “0” is set based on a certain rule according to the gradation of the original pixel. "Appears, and the halftone can be expressed in a pseudo manner by the appearance frequency of" 1 ". As will be described later, since different types of dither matrices are applied to each color, as shown in FIG. 2A, the pattern formed by the pixels set to “1” is different for each color. Is different.

図2(b)は、ディザマトリクスを用いた二値化処理により得られた、マゼンダの二値化データを模式的に示す図であり、図2(b)における横方向の一列が、それぞれ一行分の画素を構成する。なお、図2(b)において、階調値が「1」である画素については色を付し、階調値が「0」である画素については色を付していない。以下、階調値が「1」である画素をドットオンの画素と称し、階調値が「0」である画素をドットオフの画素と称する。   FIG. 2B is a diagram schematically showing the magenta binarization data obtained by the binarization process using the dither matrix. Each horizontal column in FIG. 2B represents one row. Construct a minute pixel. In FIG. 2B, a pixel having a gradation value “1” is colored, and a pixel having a gradation value “0” is not colored. Hereinafter, a pixel having a gradation value of “1” is referred to as a dot-on pixel, and a pixel having a gradation value of “0” is referred to as a dot-off pixel.

図2(b)に示すように、ディザマトリクスを用いて各画素の階調値を二値化すると、ドットオンの画素が一定の規則の基に出現するので、ドットオンの画素により所定のパターンが形成されることとなる。図2(b)には、一行について7個のドットオンの画素が連続すると、次に、ドットオフの画素が3個連続するパターンを図示している。このように、10個中7個の画素をドットオンとすることにより、全体として70%の階調を表現することができる。   As shown in FIG. 2B, when the gradation value of each pixel is binarized using a dither matrix, dot-on pixels appear based on a certain rule. Will be formed. FIG. 2B illustrates a pattern in which seven dot-on pixels are consecutive in one row and then three dot-off pixels are consecutive. In this way, 70% of gradations can be expressed as a whole by turning on 7 out of 10 pixels.

ここで、図2(b)に示すパターンでは、一行においてドットオンの画素が形成するパターンは、その行の一行前の行のパターンを、3画素分移動させたパターンである。よって、このようなパターンの行が複数行集まって形成するパターンは、全体として、密に並んだ平行線のように見えるので、万線パターンと称される。   Here, in the pattern shown in FIG. 2B, the pattern formed by the dot-on pixels in one row is a pattern obtained by moving the pattern in the previous row by three pixels. Therefore, a pattern formed by combining a plurality of rows of such patterns looks like parallel lines that are densely arranged as a whole, and is called a line pattern.

ここで、一行内におけるドットオンが連続する領域を、色材定着領域と称する。そして、図2(b)に示すように、各色材定着領域の重心Pが並ぶ線と、行方向とがなす角を、以下、ディザパターンの角度θと称する。このディザパターンの角度θは、二値化処理の際に用いられるディザマトリクスの種類によって変化する。このディザパターンの角度θが0°である場合、万線パターンは、行方向に平行な平行線のパターンを形成することとなる。また、ディザパターンの角度が90°である場合、万線パターンは、行方向に垂直な平行線のパターンを形成することとなる。これに対し、ディザパターンの角度θが、0°、90°、180°以外の万線パターン、すなわち、行方向に対し斜めに交わる万線パターンを、斜め万線パターンと称することとする。   Here, an area where dots on in one line are continuous is referred to as a color material fixing area. As shown in FIG. 2B, the angle formed by the line in which the centroids P of the color material fixing regions are arranged and the row direction is hereinafter referred to as a dither pattern angle θ. The dither pattern angle θ varies depending on the type of dither matrix used in the binarization process. When the dither pattern angle θ is 0 °, the parallel line pattern forms a parallel line pattern parallel to the row direction. When the dither pattern angle is 90 °, the parallel line pattern forms a pattern of parallel lines perpendicular to the row direction. On the other hand, a line pattern whose dither pattern angle θ is other than 0 °, 90 °, and 180 °, that is, a line pattern that obliquely intersects the row direction is referred to as an oblique line pattern.

本実施形態では、C,M,Y,Kの各階調値は、それぞれ別のディザマトリクスを用いて二値化処理されるものである。よって、C,M,Y,Kの各色は、それぞれ異なるパターンを形成することとなる。   In this embodiment, the C, M, Y, and K gradation values are binarized using different dither matrices. Therefore, each color of C, M, Y, and K forms a different pattern.

図1に戻り説明する。処理ライン記憶エリア134は、二値化データから読み出された、処理対象の一行分の行データ(以下、処理ラインと称する)が記憶されるエリアである。処理ラインローテートデータ135は、処理ラインを構成する階調値の各々を、行方向に平行な所定の方向に、所定画素分ローテートさせることにより作成された処理ラインローテートデータ(特許請求の範囲に記載のローテートデータの一例)が記憶されるエリアである。比較ライン記憶エリア136は、処理ラインの一行前の行データ(以下、比較ラインと称する)が記憶されるエリアである。一行分圧縮データ記憶エリア137は、処理ラインをランレングス圧縮することにより得られた一行分圧縮データを記憶するエリアである。展開回数カウンタ138は、後述する展開回数を記憶するカウンタである。圧縮データ記憶エリア139は、後述する圧縮処理において、二値化データが圧縮されることにより作成された圧縮データが記憶されるエリアである。なお、この圧縮データ記憶エリア139に格納された圧縮データは、インターフェイス18を介してプリンタ50に出力される。   Returning to FIG. The processing line storage area 134 is an area in which row data (hereinafter referred to as a processing line) for one row to be processed read from the binarized data is stored. The processing line rotation data 135 is processing line rotation data created by rotating each gradation value constituting a processing line by a predetermined number of pixels in a predetermined direction parallel to the row direction (described in claims). This is an area in which one example of rotation data is stored. The comparison line storage area 136 is an area in which row data one row before the processing line (hereinafter referred to as a comparison line) is stored. The one-line compressed data storage area 137 is an area for storing one-line compressed data obtained by performing run-length compression on the processing line. The expansion number counter 138 is a counter that stores the number of expansions described later. The compressed data storage area 139 is an area in which compressed data created by compressing binarized data in a compression process described later is stored. The compressed data stored in the compressed data storage area 139 is output to the printer 50 via the interface 18.

図3を参照して、処理ライン、ローテートデータ、比較ライン、一行分圧縮データ、展開回数、圧縮データの各々について説明する。図3は、二値化データから圧縮データが作成されるまでの流れを模式的に示す図である。図3(a)は、マゼンダの二値化データを模式的に示す図である。まず、最初に、一行分の画素の階調値から構成される行データが複数集まって構成される二値化データ(特許請求の範囲に記載の画像データの一例)から、一行目の行データが読み出され、比較ライン(特許請求の範囲に記載の比較対象データの一例)として比較ライン記憶エリア136に格納される。次に、比較ラインの次の行の行データが読み出され、処理ラインとして処理ライン記憶エリア134に記憶される。   With reference to FIG. 3, each of the processing line, rotate data, comparison line, compressed data for one line, number of expansions, and compressed data will be described. FIG. 3 is a diagram schematically showing a flow until compressed data is created from binarized data. FIG. 3A is a diagram schematically showing binarized data of magenta. First, from the binarized data (an example of the image data described in the claims) composed of a plurality of row data composed of the gradation values of pixels for one row, the first row data Is read out and stored in the comparison line storage area 136 as a comparison line (an example of comparison target data described in the claims). Next, the row data of the next row of the comparison line is read and stored in the processing line storage area 134 as a processing line.

図3(b)は、処理ラインをローテートさせることにより作成される処理ラインローテートデータを模式的に示す図である。ここでいうローテートとは、一行分の画素の階調値から構成される処理ラインの各階調値を、それぞれ、行方向に平行な所定方向に、所定画素分ずれた画素の階調値として移動させると共に、その所定方向の一端にあふれた階調値を、他端の画素の階調値として付加することである。ここで、各行の画素のうち、図3に向かって最左の画素を先頭の画素と称し、反対側の画素を末尾の画素と称する。   FIG. 3B is a diagram schematically showing processing line rotation data created by rotating a processing line. “Rotate” here refers to moving each gradation value of a processing line composed of gradation values of pixels for one row as a gradation value of pixels shifted by a predetermined number of pixels in a predetermined direction parallel to the row direction. In addition, the gradation value overflowing at one end in the predetermined direction is added as the gradation value of the pixel at the other end. Here, among the pixels in each row, the leftmost pixel in FIG. 3 is referred to as the first pixel, and the opposite pixel is referred to as the last pixel.

図3(b)では、末尾から先頭方向(図3に向かって左方向)に3画素分ローテートする場合を例にとって図示している。上述したように、各画素の階調値を、それぞれ、3画素分先頭側の画素の階調値として移動させると、一行の先頭側において、3画素分の階調値があふれるので、このあふれた3画素分の階調値は、一行の末尾に付加するのである。このようにして処理ラインローテートデータが作成される。   FIG. 3B illustrates an example in which rotation is performed by three pixels from the end toward the top (leftward as viewed in FIG. 3). As described above, if the gradation value of each pixel is moved as the gradation value of the pixel on the leading side for three pixels, the gradation value for three pixels overflows on the leading side of one row. The gradation values for the three pixels are added to the end of one line. In this way, processing line rotation data is created.

図3(c)は、比較ラインと、処理ラインローテートデータとを並べて示す図であり、比較ラインと、処理ラインローテートデータとが一致する関係にある場合を図示している。すなわち、比較ラインを構成する各画素の階調値と、処理ラインローテートデータを構成する各画素の階調値とを、行方向における位置が等しい画素同士で比較した場合、全ての画素の階調値が一致する関係にある。   FIG. 3C is a diagram showing the comparison line and the processing line rotation data side by side, and illustrates the case where the comparison line and the processing line rotation data are in a matching relationship. That is, when the gradation value of each pixel constituting the comparison line and the gradation value of each pixel constituting the processing line rotation data are compared between pixels having the same position in the row direction, the gradation of all the pixels The values match.

上述したように、マゼンダの二値化データで形成される万線パターンは、一行の色材定着領域が、その一行前の色材定着領域よりも、3画素分末尾方向(図3に向かって右側)に移動することにより、形成されているパターンである。よって、処理ラインの階調値と比較ラインの階調値とを、そのまま各画素毎に比較すると、それらが一致すると判断される可能性は低い。   As described above, the line pattern formed by the magenta binarized data has one line of the color material fixing area in the end direction of three pixels (toward FIG. 3) than the color material fixing area of the previous line. The pattern is formed by moving to the right). Therefore, if the gradation value of the processing line and the gradation value of the comparison line are directly compared for each pixel, it is unlikely that they are determined to match.

これに対し、本実施形態では、処理ラインを、先頭側に3画素分ローテートさせた処理ラインローテートデータを作成し、その処理ラインローテートデータの階調値と、比較ラインの階調値とを比較することとしているので、図3(c)に示すように、両者が一致すると判断される可能性は高くなるのである。そして、両者が一致すると判断された場合は、展開回数カウンタ138(図1参照)の値に1を加算する。   On the other hand, in this embodiment, processing line rotation data is generated by rotating the processing line by three pixels to the head side, and the gradation value of the processing line rotation data is compared with the gradation value of the comparison line. Therefore, as shown in FIG. 3C, there is a high possibility that both are determined to match. If it is determined that the two match, 1 is added to the value of the expansion counter 138 (see FIG. 1).

このようにして、二値化データの各行の行データを、全ての行に渡って、それぞれの行の一行前の行データ(比較ライン)と比較する。なお、ここでいう行データとは、一行分の画素の階調値から構成されるデータのことであり、二値化データから読み出された一行分のデータと、その一行分のデータを元に作成された処理ラインローテートデータを含む意味である。図3においては、2行目以降の全ての処理ラインローテートデータが、比較ラインと一致すると判断された場合について説明する。   In this way, the row data of each row of the binarized data is compared with the row data (comparison line) one row before each row over all rows. The row data here is data composed of the gradation values of the pixels for one row, and the data for one row read from the binarized data and the data for the one row are based on the data. This means that the processing line rotation data created in the above is included. In FIG. 3, a case will be described in which it is determined that all the processing line rotation data in the second and subsequent rows match the comparison line.

図3(d)は、複数行の二値化データが、一行分圧縮データと、その一行分圧縮データの展開回数とに圧縮された例を模式的に示している。すなわち、一行分圧縮データの元となった行以降に、比較ラインと一致すると判断された処理ラインローテートデータの行数(ここでは、10)が、一行分圧縮データと対応付けて圧縮データとして記憶されることとなる。このようにすれば、処理が簡単であって、高速で処理ができると共に、複数行の二値化データを高い圧縮率で圧縮することができる。   FIG. 3D schematically shows an example in which a plurality of lines of binarized data are compressed into one line of compressed data and the number of expansions of the one line of compressed data. That is, the number of lines (in this case, 10) of the processing line rotation data determined to match the comparison line after the line that is the source of the compressed data for one line is stored as compressed data in association with the compressed data for one line. Will be. In this way, the processing is simple, the processing can be performed at high speed, and the binary data of a plurality of rows can be compressed at a high compression rate.

図4(a)は、圧縮データ記憶エリア139に記憶される圧縮データを模式的に示す図である。図4(a)に示すように、圧縮データは、ローテート方向1381と、ローテート量1382と、圧縮データ本体1383とから構成される。ローテート方向1381は、処理ラインから処理ラインローテートデータを作成する際に、処理ラインの各階調値をローテートさせた方向を示す情報である。また、ローテート量は、処理ラインから処理ラインローテートデータを作成する際に、処理ラインの階調値を何画素分ローテートさせたかを示す情報である。このローテート方向1381およびローテート量1382は、圧縮データを受け取った装置において参照され、圧縮データを展開する展開処理(図9参照)において用いられる。   FIG. 4A is a diagram schematically showing compressed data stored in the compressed data storage area 139. As shown in FIG. 4A, the compressed data includes a rotation direction 1381, a rotation amount 1382, and a compressed data main body 1383. The rotation direction 1381 is information indicating the direction in which the gradation values of the processing line are rotated when the processing line rotation data is created from the processing line. The rotation amount is information indicating how many pixels the gradation value of the processing line is rotated when the processing line rotation data is created from the processing line. The rotation direction 1381 and the rotation amount 1382 are referred to in the apparatus that has received the compressed data, and are used in a decompression process (see FIG. 9) for decompressing the compressed data.

図4(b)は、圧縮データ本体1383を模式的に示す図である。図4(b)に示すように、圧縮データ本体1383は、前ライン参照フラグ1385と、データサイズ1386と、一行分圧縮データ1387と、展開回数1388とが含まれたデータである。   FIG. 4B is a diagram schematically showing the compressed data main body 1383. As shown in FIG. 4B, the compressed data body 1383 is data including a previous line reference flag 1385, a data size 1386, one line of compressed data 1387, and the number of expansions 1388.

前ライン参照フラグ1385には、「オン」または「オフ」の値が格納される。前ライン参照フラグ1385がオフとなっている場合、その前ライン参照フラグ1385には、データサイズ1386と、一行分圧縮データ1387とが続けて記憶される。データサイズ1386は、その直後に続く一行分圧縮データ1387のデータサイズを示す情報である。一行分圧縮データ1387は、一行分の行データが、ランレングス圧縮されることにより作成されたデータである。   The previous line reference flag 1385 stores a value of “on” or “off”. When the previous line reference flag 1385 is off, the data size 1386 and the compressed data 1387 for one line are continuously stored in the previous line reference flag 1385. The data size 1386 is information indicating the data size of the compressed data 1387 for one line that immediately follows. The one-line compressed data 1387 is data created by run-length compressing one line of line data.

一方、前ライン参照フラグ1385がオンとなっている場合、その次に続くデータは、展開回数1388である。そして、その展開回数1388は、前ライン参照フラグ1385の直前の一行分圧縮データ1387を元にして、展開することができる行数を示す情報である。   On the other hand, when the previous line reference flag 1385 is on, the next data is the number of expansions 1388. The number of expansions 1388 is information indicating the number of lines that can be expanded based on the compressed data 1387 for one line immediately before the previous line reference flag 1385.

図1に戻り説明する。ハードディスクドライブ14(以下、HDD14と称する)は、書換可能な記憶装置であり、図7および図8のフローチャートに示す処理をPC10に実行させるプリンタドライバ141と、シアンの階調値を二値化処理するためのディザマトリクスを含むC用ディザデータ142と、マゼンダの階調値を二値化処理するためのディザマトリクスを含むM用ディザデータ143と、イエローの階調値を二値化処理するためのディザマトリクスを含むY用ディザデータ144と、ブラックの階調値を二値化処理するためのディザマトリクスを含むK用ディザデータ145とが設けられている。   Returning to FIG. The hard disk drive 14 (hereinafter referred to as the HDD 14) is a rewritable storage device, and a printer driver 141 that causes the PC 10 to execute the processes shown in the flowcharts of FIGS. 7 and 8 and binarization processing of cyan gradation values. C dither data 142 including a dither matrix, M dither data 143 including a dither matrix for binarizing magenta tone values, and binarizing yellow tone values Y dither data 144 including the dither matrix and K dither data 145 including the dither matrix for binarizing the black gradation values are provided.

なお、各ディザデータ142,143,144,145は、それぞれ万線パターンを形成するディザマトリクスであるが、C,M,Y,Kの各色が形成するパターンが互いに干渉して干渉縞が生じることを防止ために、それぞれのディザマトリクスが形成するディザパターンの角度θが、互いに所定の角度を有して異なるように、各色のディザマトリクスが設定されている。   Each of the dither data 142, 143, 144, and 145 is a dither matrix that forms a line pattern, but the patterns formed by the C, M, Y, and K colors interfere with each other to generate interference fringes. In order to prevent this, the dither matrix of each color is set so that the dither pattern angle θ formed by each dither matrix is different from each other with a predetermined angle.

図5を参照して、ディザデータの構成について説明する。図5は、M用ディザデータ143の構成を模式的に示す図である。図5に示すように、M用ディザデータ143は、ディザID1431、ローテート方向1432、ローテート量1433、色変換データのうち、マゼンダの階調値を二値化するために用いられるディザマトリクス1434とを含んで構成されている。ディザID1431は、各ディザデータ142,143,144,145を識別するために付与された符号である。   The configuration of dither data will be described with reference to FIG. FIG. 5 is a diagram schematically showing the configuration of the M dither data 143. As shown in FIG. 5, the M dither data 143 includes a dither ID 1431, a rotation direction 1432, a rotation amount 1433, and a dither matrix 1434 used for binarizing magenta gradation values among color conversion data. It is configured to include. The dither ID 1431 is a code assigned to identify each dither data 142, 143, 144, 145.

ローテート方向1432と、ローテート量1433とは、二値化データを圧縮処理する際に参照されるデータである。図3を参照して説明したように、ディザマトリクス1434が形成する万線パターンにおいて、各行のパターンが、一行上の行のパターンに対し、例えば、先頭から末尾側へ3画素分ずれたパターンである場合、各行のパターンと一行上の行のパターンとを一致させるためには、一行の階調値を、末尾から先頭側へ3画素分移動させればよい。この場合、ローテート方向1432には、末尾から先頭側への方向が記憶され、ローテート量1433には3画素が記憶される。このようにすれば、ローテート方向1432とローテート量1433に従って作成された処理ラインローテートデータは、比較ラインと一致する可能性が高くなる。このローテート方向1432とローテート量1433とは、ディザパターンの角度θに応じて、各ディザデータ毎にそれぞれ特有の値が定められている。   The rotation direction 1432 and the rotation amount 1433 are data referred to when the binary data is compressed. As described with reference to FIG. 3, in the line pattern formed by the dither matrix 1434, the pattern of each row is, for example, a pattern shifted by 3 pixels from the top to the end with respect to the pattern of the row on the first row. In some cases, in order to match the pattern of each row with the pattern of the row above one row, the gradation value of one row may be moved by 3 pixels from the end to the head side. In this case, the rotation direction 1432 stores the direction from the end to the head, and the rotation amount 1433 stores 3 pixels. In this case, the processing line rotation data created according to the rotation direction 1432 and the rotation amount 1433 is highly likely to match the comparison line. The rotation direction 1432 and the rotation amount 1433 have specific values for each dither data in accordance with the dither pattern angle θ.

ディザマトリクス1434は、例えば、40×40のマトリクスの各々に、各画素の階調値を「ドットオン」または「ドットオフ」のいずれかに変換するための閾値が設定されたデータであり、図7に示す二値化処理(S4)に用いられるデータである。   The dither matrix 1434 is data in which, for example, a threshold value for converting the gradation value of each pixel into either “dot on” or “dot off” is set in each 40 × 40 matrix. 7 is data used in the binarization process (S4) shown in FIG.

図1に戻り説明する。入力装置15は、PC10にデータ又はコマンドを入力するものであり、キーボード、マウスなどにより構成されている。表示装置16は、PC10で実行される処理内容や入力されたデータなどを視覚的に確認するために、文字や画像などを表示するものであり、例えば、CRTディスプレイや液晶ディスプレイなどにより構成されている。I/F18は、PC10とプリンタ50とを接続するものであり、PC10は、このI/F18を介することにより、後述する圧縮処理(図8参照)で圧縮した圧縮データをプリンタ50に送信し、プリンタ50に印刷を実行させることができる。   Returning to FIG. The input device 15 is used to input data or commands to the PC 10 and includes a keyboard and a mouse. The display device 16 displays characters, images, and the like in order to visually confirm the processing contents executed by the PC 10, input data, and the like, and is configured by, for example, a CRT display or a liquid crystal display. Yes. The I / F 18 connects the PC 10 and the printer 50, and the PC 10 transmits the compressed data compressed by the compression process (see FIG. 8) described later to the printer 50 via the I / F 18. The printer 50 can execute printing.

なお、図1には、1台のPC10とプリンタ50とが直接接続された状態を図示しているが、ネットワークを介し、複数のPC10が1台のプリンタ50を共用する構成であっても良い。   Although FIG. 1 illustrates a state where one PC 10 and the printer 50 are directly connected, a configuration in which a plurality of PCs 10 share one printer 50 via a network may be used. .

また、図1に示すように、プリンタ50は、CPU51と、ROM52と、RAM53とを備えており、これらはバスライン201を介して互いに接続されている。また、バスライン201は、入出力ポート59にも接続されている。この入出力ポート59には、PC10と接続するためのI/F57と、画像形成ユニット56とが接続されている。   As shown in FIG. 1, the printer 50 includes a CPU 51, a ROM 52, and a RAM 53, which are connected to each other via a bus line 201. The bus line 201 is also connected to the input / output port 59. An I / F 57 for connecting to the PC 10 and an image forming unit 56 are connected to the input / output port 59.

プリンタ50における上記のような構成において、CPU51は、プリンタ50の動作を制御するものであり、図9のフローチャートで示す処理を実行するプログラムなどの各種プログラムを実行する。ROM52は、プリンタ50の動作を制御するためのプログラムなどが格納されたメモリである。ここで、図9のフローチャートで示す処理を実行するプログラムは、このROM52内に格納されている。   In the configuration as described above in the printer 50, the CPU 51 controls the operation of the printer 50, and executes various programs such as a program for executing the processing shown in the flowchart of FIG. The ROM 52 is a memory in which a program for controlling the operation of the printer 50 is stored. Here, a program for executing the processing shown in the flowchart of FIG. 9 is stored in the ROM 52.

RAM53は、CPU51の処理に必要なデータなどを一時的に記憶するための読み書き可能なメモリであり、圧縮データ記憶エリア531と、展開データ記憶エリア532と、参照ラインローテートデータ記憶エリア533とが設けられている。圧縮データ記憶エリア531は、PC10から入力された圧縮データ(図4(a)参照)が記憶されるエリアである。展開データ記憶エリア532は、圧縮データ記憶エリア531に記憶された圧縮データを展開して作成された展開データが記憶されるエリアである。参照ラインローテートデータ記憶エリア533は、展開データ記憶エリア532に記憶された展開データのうち、参照ラインをローテートすることにより作成された参照ラインローテートデータが記憶されるエリアである。   The RAM 53 is a readable / writable memory for temporarily storing data necessary for the processing of the CPU 51. The RAM 53 includes a compressed data storage area 531, a decompressed data storage area 532, and a reference line rotate data storage area 533. It has been. The compressed data storage area 531 is an area in which compressed data (see FIG. 4A) input from the PC 10 is stored. The decompressed data storage area 532 is an area in which decompressed data created by decompressing the compressed data stored in the compressed data storage area 531 is stored. The reference line rotate data storage area 533 is an area in which reference line rotate data created by rotating reference lines among the expanded data stored in the expanded data storage area 532 is stored.

図6を参照して、参照ラインと、参照ラインローテートデータとについて説明する。図6は、一行の参照ラインから複数行のデータが展開されるまでの流れを模式的に示す図である。図6(a)は、展開データ記憶エリア532に格納された一行分のデータを模式的に示す図である。まず、この一行分のデータが参照ラインとされる。   With reference to FIG. 6, the reference line and the reference line rotation data will be described. FIG. 6 is a diagram schematically illustrating a flow from the development of a plurality of rows of data from one row of reference lines. FIG. 6A is a diagram schematically showing one line of data stored in the expanded data storage area 532. First, this one line of data is used as a reference line.

図6(b)は、参照ラインと、その参照ラインをローテートして作成された参照ラインローテートデータとを模式的に示す図である。図6(b)では、参照ラインの各画素の階調値が、先頭から末尾方向(図6に向かって右方向)に3画素分ローテートされた場合を例にとって図示している。各画素の階調値を、それぞれ、3画素分末尾側の画素の階調値として移動させると、一行の末尾において、3画素分の階調値があふれるので、このあふれた3画素分の階調値は、一行の先頭に付加される。なお、このローテートにおけるローテート方向は、圧縮データに含まれるローテート方向1381と逆方向である。また、このローテートにおけるローテート量は、圧縮データに含まれるローテート量1382と等しい量である(図4(a)参照)。   FIG. 6B is a diagram schematically showing the reference line and the reference line rotation data created by rotating the reference line. FIG. 6B illustrates an example in which the gradation value of each pixel on the reference line is rotated by three pixels from the beginning to the end (rightward in FIG. 6). If the gradation value of each pixel is moved as the gradation value of the pixel on the end side by three pixels, the gradation value for three pixels overflows at the end of one line. The key value is added to the head of one line. Note that the rotation direction in this rotation is opposite to the rotation direction 1381 included in the compressed data. Further, the rotation amount in this rotation is equal to the rotation amount 1382 included in the compressed data (see FIG. 4A).

このようにして作成された参照ラインローテートデータは、一行分の展開データとして、展開データ記憶エリア532に記憶される。次に、図6(c)に示すように、展開データ記憶エリア532に記憶された展開データのうち、最新の一行分の展開データが参照ラインとされる。そして、参照ラインに基づいて、同様の処理により参照ラインローテートデータが作成され、その参照ラインローテートデータが、展開データ記憶エリア532に記憶される。このようにして、図6(d),図6(e)に示すように処理を繰り返す。この繰り返し回数は、圧縮データに含まれる展開回数1388(図4(b)参照)に基づいて定められる。   The reference line rotate data created in this way is stored in the expanded data storage area 532 as expanded data for one line. Next, as shown in FIG. 6C, among the expanded data stored in the expanded data storage area 532, the latest expanded data for one line is used as a reference line. Then, based on the reference line, reference line rotation data is created by the same processing, and the reference line rotation data is stored in the expanded data storage area 532. In this way, the process is repeated as shown in FIGS. 6 (d) and 6 (e). The number of repetitions is determined based on the number of expansions 1388 (see FIG. 4B) included in the compressed data.

図6(f)は、展開回数1388に基づいて定められる繰り返し回数で、処理を繰り返した結果、得られた展開データを模式的に示す図である。ここで、この展開データのうち、一行目は、圧縮データに含まれる一行分圧縮データ1387(図4(b)参照)を展開することにより得られたデータである。その一行分圧縮データ1387に続く展開回数1388として「10」が記憶されていた場合、参照ラインローテートデータを作成し、展開データ記憶エリア532(図1参照)に記憶する処理が10回繰り返される。このようにすれば、一行分圧縮データ1387と、展開回数1388とに基づいて、1行目から11行目までの展開データが作成される。そして、展開回数1388分の繰り返しを終了すると、圧縮データから次の一行分圧縮データ1387(図4(b)参照)が取得され、その一行分圧縮データ1387を展開する処理が繰り返されるのである。   FIG. 6F is a diagram schematically showing the developed data obtained as a result of repeating the process with the number of repetitions determined based on the number of developments 1388. Here, among the decompressed data, the first line is data obtained by decompressing one line of compressed data 1387 (see FIG. 4B) included in the compressed data. When “10” is stored as the number of expansions 1388 following the one-line compressed data 1387, the process of creating reference line rotation data and storing it in the expansion data storage area 532 (see FIG. 1) is repeated ten times. In this way, decompressed data from the first line to the eleventh line is created based on the compressed data 1387 for one line and the number of expansions 1388. When the expansion for 1388 times is completed, the next line of compressed data 1387 (see FIG. 4B) is acquired from the compressed data, and the process of expanding the line of compressed data 1387 is repeated.

図1に戻り説明する。プリンタ50はいわゆるレーザプリンタであって、画像形成ユニット56は、感光体ドラム、帯電器、露光ユニット、現像ユニットを備える。感光体ドラムの表面を帯電器によって一様に帯電させ、露光ユニットからデータに従って光を照射して、感光体ドラムの表面に静電潜像を形成させる。次に、この感光体ドラムの表面に、現像剤(色材)を付着させ、感光体ドラムの表面の静電潜像を可視像化させる。そして、感光体ドラムの回転に伴って、可視化された現像剤像を転写位置に移動させる。そして、図示しない給紙ローラおよび搬送ローラなどにより、転写位置に記録用紙が供給されると、転写ローラと感光体ドラムとの間にバイアスを印加させ、現像剤像を記録用紙に転写する。そして記録用紙上に現像剤像を加熱、加圧して定着させることにより、記録用紙に画像を形成するのである。なお、本実施形態では、プリンタ50がレーザプリンタであるものとして説明するが、プリンタ50は、昇華型プリンタ、インクジェットプリンタなど、他の方式のプリンタで構成されるものでも良い。   Returning to FIG. The printer 50 is a so-called laser printer, and the image forming unit 56 includes a photosensitive drum, a charger, an exposure unit, and a development unit. The surface of the photosensitive drum is uniformly charged by a charger, and light is irradiated from the exposure unit according to data to form an electrostatic latent image on the surface of the photosensitive drum. Next, a developer (coloring material) is attached to the surface of the photosensitive drum, and the electrostatic latent image on the surface of the photosensitive drum is visualized. Then, the visualized developer image is moved to the transfer position as the photosensitive drum rotates. When the recording paper is supplied to the transfer position by a paper feed roller and a transport roller (not shown), a bias is applied between the transfer roller and the photosensitive drum, and the developer image is transferred to the recording paper. An image is formed on the recording paper by fixing the developer image on the recording paper by heating and pressing. In the present embodiment, the printer 50 is described as a laser printer. However, the printer 50 may be configured by other types of printers such as a sublimation printer and an inkjet printer.

次に、図7および図8のフローチャートを参照して、上記のように構成されるPC10において実行される、画像データ送信処理について説明する。   Next, the image data transmission process executed in the PC 10 configured as described above will be described with reference to the flowcharts of FIGS. 7 and 8.

図7は、PC10において実行される画像データ送信処理を示すフローチャートである。この画像データ送信処理は、PC10において、ユーザから印刷指示がされることにより、印刷対象画像のデータが入力データ記憶エリア131(図1参照)に入力されると起動する処理である。まず、入力データ記憶エリア131に入力された入力データに色変換処理を施す(S2)。そして、色変換処理により得られた色変換データを、ディザマトリクスを用いて二値化処理する(S4)。なお、上述したように、C,M,Y,Kの各色について、予め各色毎のディザデータ142,143,144,145が記憶されており、この二値化処理では、対応する色のディザデータ142,143,144,145が読み出される。   FIG. 7 is a flowchart showing image data transmission processing executed in the PC 10. This image data transmission process is a process that is started when data of a print target image is input to the input data storage area 131 (see FIG. 1) in response to a print instruction from the user in the PC 10. First, color conversion processing is performed on the input data input to the input data storage area 131 (S2). Then, the color conversion data obtained by the color conversion process is binarized using a dither matrix (S4). As described above, dither data 142, 143, 144, and 145 for each color is stored in advance for each color of C, M, Y, and K. In this binarization processing, the dither data of the corresponding color is stored. 142, 143, 144, 145 are read out.

次に、二値化処理(S4)により得られた二値化データを圧縮する圧縮処理を実行する(S6)。なお、この圧縮処理については、図8を参照して後述する。そして、圧縮処理により得られた圧縮データをプリンタ50へ送信する(S8)。圧縮処理(S8)により、高い圧縮率でデータが圧縮されるので、プリンタ50へのデータ送信を短時間で行うことができる。   Next, a compression process for compressing the binarized data obtained by the binarization process (S4) is executed (S6). This compression processing will be described later with reference to FIG. Then, the compressed data obtained by the compression process is transmitted to the printer 50 (S8). Since the data is compressed at a high compression rate by the compression process (S8), data transmission to the printer 50 can be performed in a short time.

図8を参照して、圧縮処理について説明する。図8は、PC10において実行される圧縮処理を示すフローチャートであり、二値化データ記憶エリア133に記憶された二値化データを圧縮する処理である。上述したように、二値化データは、C,M,Y,Kの各色について作成されるが、図8に示すフローチャートは、1色の二値化データを圧縮する処理を示している。すなわち、この圧縮処理を、4色の二値化データの各々について実行することで、4色全ての二値化データが圧縮されることとなる。ここでは、マゼンダの二値化データを圧縮処理する場合について説明するが、他の色でも同様の処理が行われる。   The compression process will be described with reference to FIG. FIG. 8 is a flowchart showing compression processing executed in the PC 10, and is processing for compressing the binary data stored in the binary data storage area 133. As described above, the binarized data is created for each color of C, M, Y, and K, but the flowchart shown in FIG. 8 shows a process of compressing the binarized data of one color. That is, by executing this compression process for each of the four color binarized data, the binarized data for all four colors is compressed. Here, a case of compressing magenta binarized data will be described, but the same processing is performed for other colors.

まず、二値化処理(S6)に用いたディザマトリクスに対応するローテート方向とローテート量とを取得し、圧縮データ記憶エリア139に記憶する(S860)。   First, the rotation direction and rotation amount corresponding to the dither matrix used in the binarization process (S6) are acquired and stored in the compressed data storage area 139 (S860).

ここでは、マゼンダの二値化データを圧縮する場合について説明しているので、M用ディザデータ143からローテート方向1432とローテート量1433(図5参照)が取得される。取得したローテート方向1432とローテート量1433は、圧縮データを構成するローテート方向1381とローテート量1382(図4(a)参照)として、圧縮データ記憶エリア139に記憶される。   Here, since the case of compressing the magenta binarized data is described, the rotation direction 1432 and the rotation amount 1433 (see FIG. 5) are acquired from the M dither data 143. The acquired rotation direction 1432 and rotation amount 1433 are stored in the compressed data storage area 139 as a rotation direction 1381 and a rotation amount 1382 (see FIG. 4A) constituting the compressed data.

次に、処理ライン数を「1」とする(S862)。そして、処理ライン数で指定される行の行データを、二値化データ記憶エリア133から取得し、処理ライン記憶エリア134に記憶する(S864)。次に、その処理ラインが1行目か否かを判断する(S866)。最初は、処理ラインが1行目と判断され(S866:Yes)、S874の処理に移行する。   Next, the number of processing lines is set to “1” (S862). Then, the row data of the row designated by the number of processing lines is acquired from the binarized data storage area 133 and stored in the processing line storage area 134 (S864). Next, it is determined whether or not the processing line is the first line (S866). Initially, the processing line is determined to be the first line (S866: Yes), and the process proceeds to S874.

そして、展開回数カウンタ138の値を「0」とし(S874)、処理ラインを比較ラインとして、比較ライン記憶エリア136(図1参照)に書き込む(S876)。次に、処理ラインをランレングス圧縮して一行分圧縮データ1387(図4(b)参照)を作成し、前ライン参照フラグ1385をオフとして、一行分圧縮データ1387のデータサイズを示すデータサイズ1386と共に、圧縮データ記憶エリア139に記憶する(S878)。これにより、二値化データのうち1行目のデータが圧縮される。   Then, the value of the expansion number counter 138 is set to “0” (S874), and the processing line is written as a comparison line in the comparison line storage area 136 (see FIG. 1) (S876). Next, the processing line is run-length compressed to generate one-line compressed data 1387 (see FIG. 4B), the previous line reference flag 1385 is turned off, and the data size 1386 indicating the data size of the one-line compressed data 1387 is displayed. At the same time, it is stored in the compressed data storage area 139 (S878). As a result, the data in the first row of the binarized data is compressed.

次に、処理ライン数に「1」を加算し(S880)、全行の処理を終了したか否かを判断する(S882)。全行の処理を終了していない場合(S882:No)、S864の処理に戻り、次の行の行データを処理ラインとして取得する(S864)。この行は1ライン目ではないので(S886:No)、次に、処理ラインから処理ラインローテートデータを作成し、処理ラインローテートデータ記憶エリア135に記憶する(S868)。ここで、処理ラインは、S860の処理で取得されたローテート方向と、ローテート量に従って、ローテートされる。   Next, “1” is added to the number of processing lines (S880), and it is determined whether or not the processing of all rows has been completed (S882). If all the lines have not been processed (S882: No), the process returns to S864, and the line data of the next line is acquired as a process line (S864). Since this line is not the first line (S886: No), next, process line rotate data is created from the process line and stored in the process line rotate data storage area 135 (S868). Here, the processing line is rotated according to the rotation direction and the rotation amount acquired in the processing of S860.

次に、処理ラインローテートデータ記憶エリア135に記憶された処理ラインローテートデータと、比較ライン記憶エリア136に記憶された比較ラインとを比較し、両者が一致するか否かを判断する(S870)。すなわち、図3を参照して説明したように、処理ラインをローテートして作成された処理ラインローテートデータと、その処理ラインの一行前の行データである比較ラインとが一致するか否かを判断する。   Next, the processing line rotation data stored in the processing line rotation data storage area 135 is compared with the comparison line stored in the comparison line storage area 136 to determine whether or not they match (S870). That is, as described with reference to FIG. 3, it is determined whether or not the processing line rotation data created by rotating the processing line matches the comparison line that is the previous row data of the processing line. To do.

処理ラインローテートデータと、比較ラインとが一致する場合(S870:Yes)、展開回数カウンタ138の値に「1」加算する(S884)。次に、処理ライン記憶エリア134に記憶された処理ラインを、次の比較ラインとして比較ライン記憶エリア136に書き込む(S886)。そして、処理ライン数に「1」を加算して(S880)、全行の処理が終了しない間(S882)、S864に戻り処理を繰り返す。このようにして、処理ラインローテートデータと比較ラインとが一致すると判断される間(S870:Yes)、展開回数カウンタ138の値に「1」加算する(S884)。すなわち、処理ラインローテートデータと比較ラインとが一致すると連続して判断された回数を、カウントする。   When the processing line rotation data matches the comparison line (S870: Yes), “1” is added to the value of the development counter 138 (S884). Next, the processing line stored in the processing line storage area 134 is written in the comparison line storage area 136 as the next comparison line (S886). Then, “1” is added to the number of processing lines (S880), and the processing returns to S864 and is repeated while the processing of all the rows is not completed (S882). In this way, while it is determined that the processing line rotation data matches the comparison line (S870: Yes), “1” is added to the value of the development number counter 138 (S884). That is, the number of times that it is continuously determined that the processing line rotate data matches the comparison line is counted.

このようにして処理を繰り返すうちに、S870の処理における比較の結果、比較ラインと処理ラインローテートデータとが一致しないと判断されると(S870:No)、前ライン参照フラグ1385(図4(b)参照)をオンとする。そして、展開回数カウンタ138の値を、展開回数1388(図4(b)参照)として、前ライン参照フラグ1385と共に、圧縮データとして、圧縮データ記憶エリア139に記憶する(S872)。このようにすれば、展開回数1388は、比較ラインと、処理ラインローテートデータとが一致しないと判断されるまでの間に、比較ラインと、処理ラインローテートデータとが一致すると、連続して判断された処理ラインローテートデータの行数を示す値となる。   While the process is repeated in this manner, if it is determined that the comparison line and the process line rotate data do not match as a result of the comparison in S870 (S870: No), the previous line reference flag 1385 (FIG. 4B) )) Is turned on. Then, the value of the expansion number counter 138 is stored in the compressed data storage area 139 as compressed data together with the previous line reference flag 1385 as the number of expansions 1388 (see FIG. 4B) (S872). In this way, the number of expansions 1388 is continuously determined when the comparison line and the processing line rotation data match before it is determined that the comparison line and the processing line rotation data do not match. The value indicates the number of lines of the processed line rotation data.

次に、展開回数カウンタ138の値を「0」として(S874)、処理ラインを、比較ラインとして比較ライン記憶エリア136に書き込み(S876)、処理ラインをランレングス圧縮して、一行分圧縮データを作成する。そして、前ライン参照フラグ1385(図4(b)参照)をオフとして、データサイズ1386と共に、一行分圧縮データを圧縮データ記憶エリア139に記憶する(S878)。すなわち、比較ラインと、処理ラインローテートデータとが一致しないと判断された場合(S870:No)、その処理ラインローテートデータを作成する際に用いた処理ラインが、ランレングス圧縮(特許請求の範囲に記載の所定のアルゴリズムで圧縮)されて、一行分圧縮データ1387として、圧縮データ記憶エリア139に記憶される。   Next, the value of the expansion counter 138 is set to “0” (S874), the processing line is written as a comparison line in the comparison line storage area 136 (S876), the processing line is run-length compressed, and one line of compressed data is stored. create. Then, the previous line reference flag 1385 (see FIG. 4B) is turned off, and one line of compressed data is stored in the compressed data storage area 139 together with the data size 1386 (S878). That is, if it is determined that the comparison line and the processing line rotation data do not match (S870: No), the processing line used to create the processing line rotation data is run-length compressed (in the claims) And is stored in the compressed data storage area 139 as one line of compressed data 1387.

このようにして処理を繰り返す内に全行の処理を終了すると(S882:Yes)、次に、展開回数カウンタ138の値が「0」であるか否かを判断し(S888)、展開回数カウンタ138の値が「0」である場合(S888:Yes)、そのまま処理を終了する。一方、展開回数カウンタ138の値が「0」ではない場合(S888:No)、前ライン参照フラグ1385をオンとし、展開回数カウンタ138の値を展開回数1388として、前ライン参照フラグ1385と共に圧縮データ記憶エリア139に記憶して(S890)、処理を終了する。   When the processing for all the lines is completed while repeating the processing in this way (S882: Yes), it is next determined whether or not the value of the expansion counter 138 is “0” (S888), and the expansion counter If the value of 138 is “0” (S888: Yes), the process is terminated as it is. On the other hand, when the value of the expansion number counter 138 is not “0” (S888: No), the previous line reference flag 1385 is turned on, the value of the expansion number counter 138 is set as the expansion number 1388, and the compressed data together with the previous line reference flag 1385. The data is stored in the storage area 139 (S890), and the process ends.

このように、上記圧縮処理(S6)によれば、比較ラインと、処理ラインローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す展開回数1388(図4参照)が記憶されるので、処理が簡単であって、高速で処理できる。また、この展開回数1388は、比較ラインと一致すると判断された処理ラインローテートデータの行数であるので、比較データと一致すると判断された処理ラインローテートデータの行数が多数であっても、展開回数1388のデータサイズは小さく、高い圧縮率が得られる。   As described above, according to the compression process (S6), when it is determined that the comparison line and the process line rotate data match, the number of expansions 1388 indicating that the line data matches the previous line data (see FIG. 4). Is stored, the processing is simple and can be performed at high speed. Further, since the number of expansions 1388 is the number of processed line rotation data determined to match the comparison line, the expansion is performed even if the number of processed line rotation data determined to match the comparison data is large. The data size of the number of times 1388 is small, and a high compression rate is obtained.

また、比較ラインと、処理ラインローテートデータとが一致しないと判断された場合、その処理ラインローテートデータを作成する際に用いた行データが所定のアルゴリズムで圧縮され、一行分圧縮データとして記憶されるので、高い圧縮率でデータを圧縮することができる。   If it is determined that the comparison line and the processing line rotation data do not match, the row data used to create the processing line rotation data is compressed by a predetermined algorithm and stored as compressed data for one line. Therefore, data can be compressed at a high compression rate.

また、上述の実施形態で説明したマゼンダを二値化処理するために用いられたディザマトリクスは、斜め万線パターンを形成するものであったので、比較ラインと、処理ラインローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られる。   In addition, since the dither matrix used for binarizing magenta described in the above embodiment forms a diagonal line pattern, the comparison line matches the processing line rotation data. The possibility of being judged is high, and a high compression rate is obtained.

また、二値化処理(S4)において用いられたディザマトリクスに対応したローテート方向1432とローテート量1433とが取得され、比較処理を行う行の行データを構成する階調値の各々が、ローテート方向1432に基づく方向に、ローテート量1433に基づく画素数分ローテートされたローテートデータが作成されるので、比較ラインと、処理ラインローテートデータとが一致すると判断される可能性が高く、高い圧縮率が得られる。また、各色用のディザデータ毎に、ディザパターンの角度θに応じたローテート方向とローテート量とが定められているので、どのようなタイプの万線パターンにおいても、高い圧縮率を得ることができる。   Further, the rotation direction 1432 and the rotation amount 1433 corresponding to the dither matrix used in the binarization processing (S4) are acquired, and each of the gradation values constituting the row data of the row on which the comparison processing is performed is the rotation direction. Rotation data that is rotated by the number of pixels based on the rotation amount 1433 is generated in the direction based on 1432, so that there is a high possibility that the comparison line and the processing line rotation data match, and a high compression ratio is obtained. It is done. In addition, since the rotation direction and the rotation amount corresponding to the dither pattern angle θ are determined for each dither data for each color, a high compression rate can be obtained for any type of line pattern. .

次に、図9のフローチャートを参照して、展開処理について説明する。図9は、プリンタ50において実行される展開処理を示すフローチャートである。この展開処理は、PC10において上述の圧縮処理(S6)で圧縮された圧縮データが、PC10からプリンタ50に送信された場合に、プリンタ50で実行される処理である。なお、PC50において、受信した圧縮データは、圧縮データ記憶エリア531に記憶される。また、上述したように、圧縮データは、C,M,Y,Kの各色について作成されているが、図9に示すフローチャートは、1色の圧縮データを展開する処理を示している。すなわち、この展開処理を、4色の圧縮データの各々について実行することで、4色全ての圧縮データが展開されることとなる。ここでは、マゼンダの圧縮データを展開処理する場合について説明するが、他の色でも同様の処理が行われる。   Next, the expansion process will be described with reference to the flowchart of FIG. FIG. 9 is a flowchart showing a developing process executed in the printer 50. This decompression process is a process executed by the printer 50 when the compressed data compressed in the above-described compression process (S6) in the PC 10 is transmitted from the PC 10 to the printer 50. In the PC 50, the received compressed data is stored in the compressed data storage area 531. Further, as described above, the compressed data is created for each color of C, M, Y, and K, but the flowchart shown in FIG. 9 shows a process of expanding the compressed data of one color. That is, by executing this decompression process for each of the four color compressed data, the compressed data for all four colors is decompressed. Here, a case where the magenta compressed data is expanded will be described, but the same processing is performed for other colors.

まず、圧縮データから、ローテート方向1381とローテート量1382(図4(a)参照)とを取得する(S902)。そして、圧縮データに含まれる圧縮データ本体1383(図4(b)参照)を先頭から調べ、先頭の前ライン参照フラグ1385がオンか否かを判断する(S904)。現在、一番最初のループであるので先頭の前ライン参照フラグ1385はオフゆえ(S904:No)、次に一行分圧縮データ1387を展開する(S906)。そして、展開したデータを、展開データ記憶エリア532に記憶する(S908)。   First, the rotation direction 1381 and the rotation amount 1382 (see FIG. 4A) are acquired from the compressed data (S902). Then, the compressed data main body 1383 (see FIG. 4B) included in the compressed data is checked from the head, and it is determined whether or not the head previous line reference flag 1385 is on (S904). Since it is currently the first loop, the leading previous line reference flag 1385 is off (S904: No), and next one line of compressed data 1387 is expanded (S906). The expanded data is stored in the expanded data storage area 532 (S908).

次に、圧縮データを全て処理したか否かを判断し(S910)、未だ全てを処理していない場合(S910:No)、S904に戻り、圧縮データ本体1383に含まれる次の前ライン参照フラグ1385がオンであるか否かを判断する。ここでは、前ライン参照フラグ1385がオンであった場合について説明する。前ライン参照フラグ1385がオンであった場合(S904:Yes)、その前ライン参照フラグ1385の後ろには、展開回数1388(図4(b)参照)が記憶されているから、その展開回数1388を取得する(S912)。ここで、上述の圧縮処理で説明したように、展開回数1388は、その直前の一行分圧縮データ1387を元にして展開することができる行数を示す値である。   Next, it is determined whether or not all the compressed data has been processed (S910). If not all have been processed (S910: No), the process returns to S904, and the next previous line reference flag included in the compressed data main body 1383 is determined. It is determined whether 1385 is ON. Here, a case where the previous line reference flag 1385 is on will be described. If the previous line reference flag 1385 is on (S904: Yes), the number of expansions 1388 (see FIG. 4B) is stored behind the previous line reference flag 1385. Is acquired (S912). Here, as described in the above compression processing, the number of expansions 1388 is a value indicating the number of lines that can be expanded based on the compressed data 1387 for one line immediately before.

次に、展開数を「1」とする(S914)。そして、展開データ記憶エリア532に直近に書き込まれた一行分の展開データを、参照ラインとして取得する(S916)。すなわち、直前の一行分圧縮データ1387を元にして展開された一行分の展開データを参照ラインとする。   Next, the number of expansions is set to “1” (S914). Then, the development data for one line most recently written in the development data storage area 532 is acquired as a reference line (S916). That is, the expanded data for one line expanded based on the compressed data 1387 for the immediately preceding line is used as a reference line.

次に、圧縮データから取得したローテート方向1381とローテート量1382とに基づいて、参照ラインをローテートし、参照ラインローテートデータを作成する(S918)。ここで、例えば、ローテート方向1381が、末尾から先頭方向を示していた場合、それは、圧縮処理において、処理ラインローテートデータを作成する際に、一行分の画素の階調値を、末尾から先頭方向へ所定画素ずつ移動させたことを示している。よって、ここで、参照ラインをローテートする際には、ローテート方向1381で示される方向と逆方向に、参照ラインをローテートし、参照ラインローテートデータが作成される(図6(b)参照)。そして、作成した参照ラインローテートデータは、参照ラインローテートデータ記憶エリアに記憶される(S920)。   Next, the reference line is rotated based on the rotation direction 1381 and the rotation amount 1382 acquired from the compressed data, and the reference line rotation data is created (S918). Here, for example, when the rotation direction 1381 indicates the head direction from the end, it means that when generating the processing line rotation data in the compression process, the gradation value of the pixel for one line is changed from the end to the head direction. It is shown that the predetermined pixels are moved to each other. Therefore, here, when rotating the reference line, the reference line is rotated in the direction opposite to the direction indicated by the rotate direction 1381 to create the reference line rotate data (see FIG. 6B). The created reference line rotate data is stored in the reference line rotate data storage area (S920).

次に、展開数に「1」を加算し(S922)、展開数が、展開回数1388よりも大となったか否かを判断する(S924)。   Next, “1” is added to the number of expansions (S922), and it is determined whether or not the number of expansions is greater than the number of expansions 1388 (S924).

展開数が展開回数1388以下である場合(S924:No)、S916に戻り処理を繰り返す。すなわち、展開データ記憶エリア532に直近に書き込まれた一行分の展開データ(直近に作成された参照ラインローテートデータ)を、参照ラインとして取得し(S916)、その参照ラインを元に、参照ラインローテートデータを作成し(S920)、その参照ラインローテートデータを、展開データ記憶エリア532に記憶する。このような処理を、展開回数1388に等しい回数分繰り返すことにより、展開回数1388と等しい行数の展開データが得られる。   When the number of expansions is equal to or less than the number of expansions 1388 (S924: No), the process returns to S916 and repeats the process. That is, the development data for one line most recently written in the development data storage area 532 (reference line rotation data created most recently) is acquired as a reference line (S916), and the reference line rotation is performed based on the reference line. Data is created (S 920), and the reference line rotate data is stored in the expanded data storage area 532. By repeating such processing as many times as the number of expansions 1388, expanded data having the same number of rows as the number of expansions 1388 is obtained.

このようにして処理を繰り返すうちに、展開回数1388が展開数よりも大となると(S924:Yes)、次に圧縮データを全て処理したか否かを判断し(S910)、圧縮データを全て処理し終えてない場合は(S910:No)、S904にもどる。   If the number of expansions 1388 becomes larger than the number of expansions while repeating the processing in this way (S924: Yes), it is then determined whether all the compressed data has been processed (S910), and all the compressed data is processed. When it has not finished (S910: No), it returns to S904.

このようにして処理を繰り返すうちに、圧縮データを全て処理し終えると(S910:Yes)、展開処理を終了する。   When all the compressed data has been processed while the processing is repeated in this way (S910: Yes), the decompression processing ends.

展開処理によれば、図8を参照して説明した圧縮処理(S6)にて圧縮されたデータを、簡単な処理で展開することができる。よって、プリンタ50のCPU51の処理能力がそれほど高くなくても展開処理を実行することができるので、安価なプリンタ50を使用することができる。   According to the expansion process, the data compressed in the compression process (S6) described with reference to FIG. 8 can be expanded with a simple process. Therefore, the developing process can be executed even if the processing capacity of the CPU 51 of the printer 50 is not so high, and the inexpensive printer 50 can be used.

以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。   The present invention has been described above based on the embodiments. However, the present invention is not limited to the above-described embodiments, and various modifications and changes can be easily made without departing from the spirit of the present invention. Can be inferred.

例えば、上述した実施形態では、PC10からプリンタ50にデータを送信する場合に、圧縮処理(S6)が実行されるものとして説明したが、プリンタ50以外の装置に送信する場合に、圧縮処理(S6)が実行されても良い。   For example, in the above-described embodiment, it has been described that the compression process (S6) is performed when data is transmitted from the PC 10 to the printer 50. However, when the data is transmitted to a device other than the printer 50, the compression process (S6) is performed. ) May be executed.

また、上述した実施形態では、処理ラインローテートデータの作成の際、および参照ラインローテートデータの作成の際には、ローテート量を3画素分とし、3画素分の階調値を移動させていた。このローテート量は、ディザパターンの角度θに応じた量とされる。例えば、ディザパターンの角度θが45°である万線パターンでは、1行ずれる毎に1画素分ずれたパターンが形成る。よって、圧縮処理(S6)においては、処理ラインを構成する階調値の各々を、1画素ずつローテートさせて処理ラインローテートデータを作成することで、ディザパターンの角度θが45°の万線パターンが形成されるディザマトリクスが用いられた場合でも、高い圧縮率を得ることができる。   In the above-described embodiment, when the processing line rotation data is created and when the reference line rotation data is created, the rotation amount is set to 3 pixels, and the gradation values for 3 pixels are moved. This rotation amount is an amount corresponding to the angle θ of the dither pattern. For example, in a line pattern in which the dither pattern angle θ is 45 °, a pattern shifted by one pixel is formed every time one line is shifted. Therefore, in the compression process (S6), each gradation value constituting the processing line is rotated pixel by pixel to create processing line rotation data, thereby creating a line pattern having a dither pattern angle θ of 45 °. Even when a dither matrix in which is formed is used, a high compression ratio can be obtained.

本発明における画像処理装置として機能するパーソナルコンピュータを含む印刷システムの全体構成を示すブロック図である。1 is a block diagram illustrating an overall configuration of a printing system including a personal computer that functions as an image processing apparatus according to the present invention. (a)は、入力データ、色変換データ、および二値化データを模式的に示す図であり、(b)は、ディザマトリクスを用いた二値化処理により得られた、マゼンダの二値化データを模式的に示す図である。(A) is a diagram schematically showing input data, color conversion data, and binarized data, and (b) is a magenta binarization obtained by binarization processing using a dither matrix. It is a figure which shows data typically. (a)は、マゼンダの二値化データを模式的に示す図であり、(b)は、処理ラインをローテートさせることにより作成される処理ラインローテートデータを模式的に示す図であり、(c)は、比較ラインと、処理ラインローテートデータとを並べて示す図であり、(d)は、複数行分の二値化データが、一行分圧縮データと、その一行分圧縮データの展開回数とに圧縮された例を模式的に示している。(A) is a figure which shows typically the binarization data of magenta, (b) is a figure which shows the process line rotation data produced by rotating a process line typically, (c ) Is a diagram showing the comparison line and the processing line rotation data side by side, and (d) shows the binarized data for a plurality of lines, the compressed data for one line, and the number of expansions of the compressed data for that line. A compressed example is schematically shown. (a)は、圧縮データ記憶エリアに記憶される圧縮データを模式的に示す図であり、(b)は、圧縮データ本体を模式的に示す図である。(A) is a figure which shows typically the compression data memorize | stored in a compression data storage area, (b) is a figure which shows a compression data main body typically. M用ディザデータの構成を模式的に示す図である。It is a figure which shows typically the structure of the dither data for M. 1行の参照ラインから複数行のデータが展開されるまでの流れを模式的に示す図である。It is a figure which shows typically the flow until several lines of data are expand | deployed from the reference line of 1 line. PCにおいて実行される画像データ送信処理を示すフローチャートである。It is a flowchart which shows the image data transmission process performed in PC. PCにおいて実行される圧縮処理を示すフローチャートである。It is a flowchart which shows the compression process performed in PC. プリンタにおいて実行される展開処理を示すフローチャートである。6 is a flowchart illustrating an expansion process executed in the printer.

符号の説明Explanation of symbols

10 PC(画像処理装置の一例)
136 比較ライン記憶エリア(比較対象データ記憶手段の一例)
1381 ローテート方向(ローテート方向情報の一例)
1382 ローテート量(ローテート量情報の一例)
141 プリンタドライバ(画像処理プログラムの一例)
1434 ディザマトリクスの一例
S4 二値化処理(階調変換手段,階調変換ステップの一例)
S6 圧縮処理(圧縮手段、圧縮ステップの一例)
S860 ローテート条件取得手段、ローテート条件取得ステップの一例
S860 ローテート条件記憶手段、ローテート条件記憶ステップの一例
S868 比較用ローテートデータ作成手段、比較用ローテートデータ作成ステップの一例
S862〜S882 比較手段、比較ステップの一例
S872 一行前一致データ記憶手段、一行前一致データ記憶ステップの一例
S876,S886 比較対象データ記憶ステップ
S878 圧縮データ記憶手段、圧縮データ記憶ステップの一例
10 PC (an example of an image processing apparatus)
136 Comparison line storage area (an example of comparison target data storage means)
1381 Rotate direction (an example of rotate direction information)
1382 Rotate amount (an example of rotate amount information)
141 Printer driver (an example of an image processing program)
1434 Example of Dither Matrix S4 Binarization (Example of Tone Conversion Means, Tone Conversion Step)
S6 Compression processing (example of compression means and compression step)
S860 Example of rotation condition acquisition means and rotation condition acquisition step S860 Example of rotation condition storage means and rotation condition storage step S868 Example of comparison rotation data creation means and comparison rotation data creation step S862 to S882 Example of comparison means and comparison step S872 One-line-preceding coincidence data storage means, example of one-line-preceding coincidence data storage step S876, S886 Comparison target data storage step S878 Example of compressed data storage means, compressed data storage step

Claims (12)

多階調画像を構成する各画素の階調値を、ディザマトリクスを用いて、二階調の階調値に変換する階調変換手段と、その階調変換手段により変換された一行分の画素の階調値から構成される行データが複数行集まって構成される画像データを圧縮する圧縮手段とを備えた画像処理装置において、
前記画像データの各行の行データを、それぞれの行の一行前の行データと比較する比較手段を備え、
前記比較手段は、
比較処理を行う行の一行前の行データを比較対象データとして記憶する比較対象データ記憶手段と、
比較処理を行う行の行データを構成する階調値の各々を、行方向に平行な所定の方向に、所定画素分ローテートさせたローテートデータを作成する、比較用ローテートデータ作成手段とを備え、
前記圧縮手段は、
前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す情報を、一行前一致データとして記憶する一行前一致データ記憶手段を備えたことを特徴とする画像処理装置。
A gradation conversion unit that converts the gradation value of each pixel constituting the multi-gradation image into a gradation value of two gradations using a dither matrix, and a pixel of one row converted by the gradation conversion unit In an image processing apparatus comprising compression means for compressing image data composed of a plurality of lines of line data composed of gradation values,
Comparing means for comparing the row data of each row of the image data with the row data of the previous row of each row,
The comparison means includes
Comparison target data storage means for storing the row data of the row before the row to be compared as comparison target data;
A rotation data creation unit for comparison that creates rotation data in which each of the gradation values constituting the row data of the row to be compared is rotated by a predetermined number of pixels in a predetermined direction parallel to the row direction;
The compression means includes
As a result of the comparison by the comparison means, when it is determined that the comparison target data and the rotate data match, information indicating that the data matches with the previous row data is stored as the previous row match data. An image processing apparatus comprising data storage means.
前記圧縮手段は、
前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断された場合、そのローテートデータを作成する際に用いた行データを所定のアルゴリズムで圧縮して一行分圧縮データとして記憶する圧縮データ記憶手段を備えたものであることを特徴とする請求項1記載の画像処理装置。
The compression means includes
As a result of comparison by the comparison means, if it is determined that the comparison target data and the rotation data do not match, the row data used when creating the rotation data is compressed by a predetermined algorithm and compressed by one row 2. The image processing apparatus according to claim 1, further comprising compressed data storage means for storing data.
前記一行前一致データ記憶手段は、前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断されるまでの間に、前記比較手段による比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断されたローテートデータの行数に相当する値を、一行前一致データとして記憶することを特徴とする請求項1または2に記載の画像処理装置。   The one-line-preceding coincidence data storage means is the result of the comparison by the comparison means until the comparison object data is determined not to match the rotation data as a result of the comparison by the comparison means. 3. The image processing apparatus according to claim 1, wherein a value corresponding to the number of rows of the rotation data determined to match the data and the rotation data is stored as the previous row matching data. 前記階調変換手段は、万線パターンを形成するディザマトリクスを用いて、階調値を変換するものであることを特徴とする請求項1から3のいずれかに記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the gradation converting unit converts a gradation value using a dither matrix that forms a line pattern. 前記階調変換手段により用いられたディザマトリクスに対応したローテート方向情報とローテート量情報とを取得するローテート条件取得手段を備え、
前記比較用ローテートデータ作成手段は、比較処理を行う行の行データを構成する階調値の各々を、前記ローテート方向情報に基づく方向に、前記ローテート量情報に基づく画素数分ローテートさせたローテートデータを作成するものであり、
前記圧縮手段は、前記ローテート条件取得手段により取得されたローテート方向情報とローテート量情報とを記憶するローテート条件記憶手段を備えることを特徴とする請求項1から4のいずれかに記載の画像処理装置。
Rotation condition acquisition means for acquiring rotation direction information and rotation amount information corresponding to the dither matrix used by the gradation conversion means,
The comparison rotation data creating means rotates each of the gradation values constituting the row data of the row to be compared in the direction based on the rotation direction information by the number of pixels based on the rotation amount information. Is to create
5. The image processing apparatus according to claim 1, wherein the compression unit includes a rotation condition storage unit that stores rotation direction information and rotation amount information acquired by the rotation condition acquisition unit. .
前記比較用ローテートデータ作成手段は、比較処理を行う行の行データを構成する階調値の各々を、1画素ずつローテートさせたローテートデータを作成するものであることを特徴とする請求項1から4のいずれかに記載の画像処理装置。   2. The comparison rotation data creation means creates rotation data in which each gradation value constituting the row data of the row to be compared is rotated by one pixel. 5. The image processing device according to any one of 4. 多階調画像を構成する各画素の階調値が、ディザマトリクスを用いて、二階調の階調値に変換されることにより得られた画像データであり、一行分の画素の階調値から構成される行データが複数行集まって構成される画像データを圧縮する圧縮ステップを画像処理装置に実行させるための画像処理プログラムであって、
前記画像データの各行の行データを、それぞれの行の一行前の行データと比較する比較ステップを備え、
前記比較ステップは、
比較処理を行う行の一行前の行データを比較対象データとして記憶する比較対象データ記憶ステップと、
比較処理を行う行の行データを構成する階調値の各々を、行方向に平行な所定の方向に、所定画素分ローテートさせたローテートデータを作成する、比較用ローテートデータ作成ステップとを備え、
前記圧縮ステップは、
前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断された場合、一行前の行データと一致することを示す情報を、一行前一致データとして記憶する一行前一致データ記憶ステップを備えたことを特徴とする画像処理プログラム。
This is image data obtained by converting the gradation value of each pixel constituting a multi-gradation image into a gradation value of two gradations using a dither matrix. An image processing program for causing an image processing apparatus to execute a compression step for compressing image data composed of a plurality of lines of configured line data,
A comparison step of comparing the row data of each row of the image data with the row data of the previous row of each row;
The comparison step includes
A comparison target data storage step for storing, as comparison target data, the row data preceding the row to be compared;
A rotation data creation step for comparison, which creates rotation data in which each gradation value constituting the row data of the row to be compared is rotated by a predetermined number of pixels in a predetermined direction parallel to the row direction.
The compression step includes
As a result of the comparison in the comparison step, when it is determined that the comparison target data and the rotate data match, information indicating that the data matches with the previous row data is stored as the previous row match data. An image processing program comprising a data storage step.
前記圧縮ステップは、
前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断された場合、そのローテートデータを作成する際に用いた行データを所定のアルゴリズムで圧縮して一行分圧縮データとして記憶する圧縮データ記憶ステップを備えたものであることを特徴とする請求項7記載の画像処理プログラム。
The compression step includes
As a result of the comparison in the comparison step, when it is determined that the comparison target data and the rotation data do not match, the row data used for creating the rotation data is compressed by a predetermined algorithm and compressed by one row 8. The image processing program according to claim 7, further comprising a compressed data storing step for storing as data.
前記一行前一致データ記憶ステップは、前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致しないと判断されるまでの間に、前記比較ステップによる比較の結果、前記比較対象データと、前記ローテートデータとが一致すると判断されたローテートデータの行数に相当する値を、一行前一致データとして記憶することを特徴とする請求項7または8に記載の画像処理プログラム。   In the previous line coincidence data storing step, as a result of the comparison in the comparison step, the comparison target data and the rotation data are determined to be inconsistent with each other as a result of the comparison in the comparison step. 9. The image processing program according to claim 7, wherein a value corresponding to the number of rows of the rotation data determined to match the data and the rotation data is stored as previous row matching data. 多階調画像を構成する各画素の階調値を、ディザマトリクスを用いて、二階調の階調値に変換する階調変換ステップを、前記画像処理装置に実行させるものであり、
その階調変換ステップは、万線パターンを形成するディザマトリクスを用いて、階調値を変換するものであることを特徴とする請求項7から9のいずれかに記載の画像処理プログラム。
Causing the image processing apparatus to execute a gradation conversion step of converting a gradation value of each pixel constituting a multi-gradation image into a gradation value of two gradations using a dither matrix;
10. The image processing program according to claim 7, wherein the gradation conversion step converts the gradation value using a dither matrix that forms a line pattern.
前記ディザマトリクスに対応したローテート方向情報とローテート量情報とを取得するローテート条件取得ステップを備え、
前記比較用ローテートデータ作成ステップは、比較処理を行う行の行データを構成する階調値の各々を、前記ローテート方向情報に基づく方向に、前記ローテート量情報に基づく画素数分ローテートさせたローテートデータを作成するものであり、
前記圧縮ステップは、前記ローテート条件取得ステップにより取得されたローテート方向情報とローテート量情報とを記憶するローテート条件記憶ステップを備えることを特徴とする請求項7から10のいずれかに記載の画像処理プログラム。
A rotation condition acquisition step of acquiring rotation direction information and rotation amount information corresponding to the dither matrix;
The comparison rotation data creation step is a rotation data obtained by rotating each gradation value constituting the row data of the row to be compared in the direction based on the rotation direction information by the number of pixels based on the rotation amount information. Is to create
The image processing program according to any one of claims 7 to 10, wherein the compression step includes a rotation condition storage step for storing the rotation direction information and the rotation amount information acquired by the rotation condition acquisition step. .
前記比較用ローテートデータ作成ステップは、比較処理を行う行の行データを構成する階調値の各々を、1画素ずつローテートさせたローテートデータを作成するものであることを特徴とする請求項7から10のいずれかに記載の画像処理プログラム。   8. The comparison rotation data creation step creates rotation data by rotating each gradation value constituting the row data of the row to be compared one pixel at a time. The image processing program according to claim 10.
JP2007021807A 2007-01-31 2007-01-31 Image processing apparatus and image processing program Expired - Fee Related JP4702297B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007021807A JP4702297B2 (en) 2007-01-31 2007-01-31 Image processing apparatus and image processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007021807A JP4702297B2 (en) 2007-01-31 2007-01-31 Image processing apparatus and image processing program

Publications (2)

Publication Number Publication Date
JP2008187669A true JP2008187669A (en) 2008-08-14
JP4702297B2 JP4702297B2 (en) 2011-06-15

Family

ID=39730376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007021807A Expired - Fee Related JP4702297B2 (en) 2007-01-31 2007-01-31 Image processing apparatus and image processing program

Country Status (1)

Country Link
JP (1) JP4702297B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8817322B2 (en) 2012-02-28 2014-08-26 Brother Kogyo Kabushiki Kaisha Image processing apparatus for generating distortion free image data with screen angle using dither matrix

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08300744A (en) * 1995-05-02 1996-11-19 Casio Electron Mfg Co Ltd Copy print printing device
JP2000032276A (en) * 1998-04-09 2000-01-28 Nokia Mobile Phones Ltd Device and method for utilizing two-dimensional data compression function through air interface
JP2000341511A (en) * 1999-05-26 2000-12-08 Ricoh Co Ltd Image processor
JP2001251518A (en) * 2000-03-06 2001-09-14 Ricoh Co Ltd Image data processor, print output device, image data compression/expansion processing method, and image data processing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08300744A (en) * 1995-05-02 1996-11-19 Casio Electron Mfg Co Ltd Copy print printing device
JP2000032276A (en) * 1998-04-09 2000-01-28 Nokia Mobile Phones Ltd Device and method for utilizing two-dimensional data compression function through air interface
JP2000341511A (en) * 1999-05-26 2000-12-08 Ricoh Co Ltd Image processor
JP2001251518A (en) * 2000-03-06 2001-09-14 Ricoh Co Ltd Image data processor, print output device, image data compression/expansion processing method, and image data processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8817322B2 (en) 2012-02-28 2014-08-26 Brother Kogyo Kabushiki Kaisha Image processing apparatus for generating distortion free image data with screen angle using dither matrix

Also Published As

Publication number Publication date
JP4702297B2 (en) 2011-06-15

Similar Documents

Publication Publication Date Title
US8270663B2 (en) Watermarked information embedding apparatus
JP4135195B2 (en) Print processing system, print processing method, and computer-readable recording medium on which print processing control program is recorded
JP2006108866A (en) Image processing apparatus
JP4428743B2 (en) Image processing method and apparatus, printer, image processing system, and storage medium
JP4702297B2 (en) Image processing apparatus and image processing program
JP2006135936A (en) Printer controller, image forming apparatus and image formation program
JP2008035489A (en) Image processing apparatus, image processing method and image processing program
JP4109785B2 (en) Image processing apparatus and method, and computer-readable memory
JP2006333140A (en) Image processing apparatus and image processing method
JP4356953B2 (en) Image processing system, image processing apparatus, control method therefor, and storage medium
JP4514168B2 (en) Image processing system and image processing method
JP4575929B2 (en) Print control apparatus, print control method, and print control program
JP2000013601A (en) Print information processor and device and method for generating intermediate data
JP2006094489A (en) Color image processing device
JP2008252702A (en) Image processing program and image processing apparatus
JP4217332B2 (en) Image processing apparatus and method, and computer-readable memory
JP4428028B2 (en) Image processing apparatus and program for image processing
JP4306841B2 (en) Image processing apparatus and method, and computer-readable memory
JP4636145B2 (en) Image processing apparatus and program
JP3636891B2 (en) Color image output method
JP2007288495A (en) Color separating method, color separation table creating method and image processing apparatus
US9224079B2 (en) Image processing apparatus configured to perform pixel dithering based on dithering table and pass information
JPH11268352A (en) Apparatus and method for processing image, and memory medium
JP2005197993A (en) Image forming apparatus, image forming method and program
JP5181916B2 (en) Image processing apparatus, compression method and decompression method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110114

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110221

R150 Certificate of patent or registration of utility model

Ref document number: 4702297

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees