JP2003244448A - Encoding method and decoding method - Google Patents

Encoding method and decoding method

Info

Publication number
JP2003244448A
JP2003244448A JP2002038132A JP2002038132A JP2003244448A JP 2003244448 A JP2003244448 A JP 2003244448A JP 2002038132 A JP2002038132 A JP 2002038132A JP 2002038132 A JP2002038132 A JP 2002038132A JP 2003244448 A JP2003244448 A JP 2003244448A
Authority
JP
Japan
Prior art keywords
image data
command
decoding
encoding
memory
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.)
Pending
Application number
JP2002038132A
Other languages
Japanese (ja)
Other versions
JP2003244448A5 (en
Inventor
Yoichi Sakamoto
陽一 坂本
Original Assignee
Canon Inc
キヤノン株式会社
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 Canon Inc, キヤノン株式会社 filed Critical Canon Inc
Priority to JP2002038132A priority Critical patent/JP2003244448A/en
Priority claimed from EP20020258367 external-priority patent/EP1318665B1/en
Priority claimed from CN 200810097397 external-priority patent/CN101282407B/en
Publication of JP2003244448A publication Critical patent/JP2003244448A/en
Publication of JP2003244448A5 publication Critical patent/JP2003244448A5/ja
Application status is Pending legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide an encoding method in which image data having a background pattern can be well compressed even when the background pattern is less correlated with nearby image data in the case of compressing the image data.
SOLUTION: As the encoding method for encoding the image data for a plurality of pages, this method is provided with a first memory for storing image data on a page to be encoded, an encoding means for encoding the image data stored in the first memory and a second memory for storing image data on the previous page and the encoding means performs encoding while referring to the image data on the previous page stored in the second memory.
COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明は、同一の背景パターンを有する複数のページの画像データを圧縮するために符号化し、又、その符号を復号する符号化方法及び復号方法に関するものである。 BACKGROUND OF THE INVENTION [0001] [Technical Field of the Invention The present invention encodes to compress the image data of a plurality of pages with the same background pattern, also, the encoding for decoding the code to a method and decoding method. 【0002】 【従来の技術】従来の圧縮技術では、例えばランレングス符号或はデルタロウ符号のように、画像データが左隣或は上隣のような近隣のデータと同じ画素値になる傾向が強いことを利用して、同一ページ内の近隣の画像データを参照し、同一であれば圧縮する符号化方法が一般的である。 2. Description of the Prior Art A conventional compression techniques, such as run-length code or delta row code, tendency of image data is the same pixel value as the neighboring data, such as immediate left or upper adjacent strong by utilizing the fact, with reference to the neighboring image data on the page, the encoding method of compression is generally as long as the same. 【0003】壁紙或はテクスチャ等と呼ばれる背景パターンに重ねて文字や図形等を出力するアプリケーションプログラムが出力する印刷データを画像データに展開して印刷する場合において、データサイズを小さくするためにこの画像データを圧縮する場合、背景パターン自体が良く圧縮できる場合は画像データ全体を良く圧縮することは容易である。 [0003] In the case of printing by expanding the print data wallpaper or the application program for outputting superimposed on the background pattern letters and figures called texture or the like is outputted to the image data, the image in order to reduce the data size when compressing data, it is easy to improve compressing the entire image data if the background pattern itself can be compressed. 【0004】 【発明が解決しようとする課題】しかしながら、背景パターンそれ自体が余り圧縮できない場合も多く、そのような場合には画像データ全体を良く圧縮することは必ずしも容易ではない。 [0004] The present invention is, however, often may not be background pattern compression itself too, it is not always easy to improve compressing the entire image data in such cases. 【0005】図10はそのような印刷データの一例であり、従来技術では、文字の部分の画像データは良く圧縮することができるが、背景パターンの部分の画像データは不規則なパターンを有し、近隣の画像データとの相関が低いため、余り良く圧縮することができない。 [0005] Figure 10 is an example of such print data, in the prior art, the image data of the portion of the character can be well compressed, image data of the portion of the background pattern has an irregular pattern because of the low correlation with neighboring image data can not be very well compressed. 背景パターンは一般的に面積が広いため、ページ全体に占める割合が高く、背景パターンが良く圧縮できない場合にはページ全体も又良く圧縮することができない。 Background pattern because typically a wide area, high percentage of total pages can not be also improved compression even entire page when incompressible good background pattern. 【0006】本発明は上記問題に鑑みてなされたもので、その目的とする処は、背景パターンを有する画像データを圧縮する際に、背景パターンが近隣の画像データとの相関が低い場合であっても、良く圧縮することができる符号化方法及びその符号を復号する復号方法を提供することにある。 [0006] The present invention has been made in view of the above problems, treatment is an object of the present invention, when compressing image data having a background pattern, there when the background pattern is low correlation with neighboring image data also, there is provided a decoding method for decoding a coding method and its sign can be well compressed. 【0007】 【課題を解決するための手段】上記目的を達成するため、本発明は、複数ページの画像データを符号化する符号化方法において、符号化しようとするページの画像データを格納する第1のメモリと、前記第1のメモリに格納された画像データを符号化する符号化手段と、直前のページの画像データを格納する第2のメモリとを備え、 [0007] [Means for Solving the Problems] To achieve the above object, the present invention provides a coding method for coding image data of a plurality of pages, the stored image data of a page to be encoded comprising a first memory, and encoding means for encoding the image data stored in said first memory, a second memory for storing the image data of the previous page,
前記符号化手段は前記第2のメモリに格納された直前のページの画像データを参照して符号化を行うことを特徴とする。 It said encoding means and performing referring to coding image data of the previous page stored in the second memory. 【0008】又、本発明は、複数ページの画像データを符号化した符号を復号する復号方法において、符号を復号する復号手段と、前記復号手段により復号された画像データを格納する第1のメモリと、前記第1のメモリに格納された画像データを符号化する再符号化手段と、前記再符号化手段により符号化された符号を格納する第2 [0008] The present invention provides a decoding method for decoding a code image data obtained by encoding a plurality of pages, a first memory for storing a decoding means for decoding the code, the image data decoded by said decoding means When, the stores and the re-encoding means for encoding image data stored in said first memory, a code said coded by re-encoding means 2
のメモリと、前記第2のメモリに格納された符号を復号する再復号手段とを備え、前記復号手段は直前のページの画像データを参照する符号を復号した場合には前記再復号手段が復号した画像データを参照して復号するとともに、前記再符号化手段は符号化しようとするページの画像データのみを参照して符号化を行うことを特徴とする。 And memory, and a re-decoding means for decoding the code stored in the second memory, the decoding means the re-decoding means decoding when decoding a code that refers to image data of the previous page together with the image data with reference to the decoding of the said re-encoding means and performing coding with reference to only image data of a page to be coded. 【0009】 【発明の実施の形態】以下に本発明の実施の形態を添付図面に基づいて説明する。 [0009] be described with reference to embodiments of the present invention in the accompanying drawings DETAILED DESCRIPTION OF THE INVENTION. 【0010】<実施の形態1>図1は本発明装置の構成を示すブロック図である。 [0010] Figure 1 <Embodiment 1> is a block diagram showing the configuration of the device of the present invention. 図中、1はコンピュータであり、CPU、メモリ、ハードディスク、フロッピー(登録商標)ディスクドライブ、キーボード、マウス、モニタ、パラレルポート等のハードウェア(不図示)を備える。 In the figure, 1 is a computer, a CPU, a memory, a hard disk, a floppy disk drive, keyboard, mouse, monitor, hardware (not shown) such as a parallel port. 2はオペレーティングシステムであり、コンピュータ1が備えるハードウェア、アプリケーション3、プリンタドライバ4、ポートドライバ5等のソフトウェアを管理する。 2 is an operating system, hardware, application 3 the computer 1 comprises a printer driver 4, to manage software such as port driver 5. アプリケーション3は、例えばワードプロセッサのようなアプリケーションソフトウェアであり、操作者の指示に従って文書の作成・印刷等を行う。 Application 3, for example, application software such as word processor, performs creation and printing of the document in accordance with an instruction of the operator. 【0011】4はプリンタドライバであり、アプリケーション3が発行した印刷指令をオペレーティングシステム2を経て受け取り、該印刷指令をプリンタ6が解釈可能なプリンタコマンドに変換する。 [0011] 4 denotes a printer driver, a print command by the application 3 issues received through the operating system 2, converts the print command to the printer 6 can be interpreted printer command. 5はポートドライバであり、プリンタドライバ4が変換したプリンタコマンドをオペレーティングシステム2を経て受け取り、パラレルポートを経由してプリンタ6に送信する。 5 is a port driver, the printer command by the printer driver 4 is converted received through the operating system 2, and transmits via the parallel port to the printer 6. 6はプリンタであり、ポートドライバ5から受信したプリンタコマンドに従って印刷を行う。 6 is a printer performs printing in accordance with the printer command received from the port driver 5. 【0012】図2はプリンタ6の構成を示すブロック図である。 [0012] FIG. 2 is a block diagram showing the configuration of the printer 6. 【0013】図2において、11はパラレルポートであり、コンピュータ1からプリンタコマンドを受信する。 [0013] In FIG 2, 11 is a parallel port, receives the printer commands from the computer 1.
12はFIFO(ファーストインファーストアウト)メモリであり、パラレルポート11が受信した符号化データを記憶し、記憶したデータを先入れ先出しの順に復号回路13に出力する。 12 is a FIFO (first-in first-out) memory, and stores the encoded data parallel port 11 receives and outputs to the decoding circuit 13 the stored data in the order of first-in-first-out. 復号回路13は、FIFOメモリ12に記憶された符号列データを復号し、プリンタエンジン14及び再符号化回路17に出力する。 Decoding circuit 13 decodes the code string data stored in the FIFO memory 12, and outputs to the printer engine 14 and the re-encoding circuit 17. プリンタエンジン14はレーザビームプリンタエンジンであり、制御回路15の指示により、復号回路13が出力した画像データに従って印刷を行う。 The printer engine 14 is a laser beam printer engine, in response to an instruction from the control circuit 15 performs printing according to the image data decoding circuit 13 and output. 【0014】15は制御回路であり、例えば1チップC [0014] 15 denotes a control circuit, for example, one chip C
PUで構成され、パラレルポート11、FIFOメモリ12、復号回路13、再符号化回路17、ページメモリ18、再復号回路19及びプリンタエンジン14の制御を行う。 It consists of PU, a parallel port 11, FIFO memory 12, decoding circuit 13, re-coding circuit 17, a page memory 18, the control of the re-decoding circuit 19 and the printer engine 14 performs. 17は再符号化回路であり、復号回路13から出力された画像データを符号化して出力する。 17 is a recoding circuit, and outputs the image data output from the decoding circuit 13 to encode. 18はページメモリであり、再符号化回路17が出力した少なくとも1ページの符号を格納する。 18 is a page memory, re-encoding circuit 17 stores the code of at least one page and outputted. 19は再復号回路であり、再符号化回路17によって符号化されてページメモリ18に格納された符号を復号し出力する。 19 is a re-decoding circuit, to decode the the re-coding circuit 17 is stored encoded in the page memory 18 code output. 【0015】以下、印刷動作について説明する。 [0015] In the following, a description will be given of the printing operation. 【0016】操作者がコンピュータ1側でアプリケーション3を操作して印刷データを生成し、これを印刷指示すると、アプリケーション3からオペレーティングシステム2を経由してプリンタドライバ4に印刷指令が渡される。 The operator generates the print data by operating the application 3 in computer 1, when a print instruction to this print command from the application 3 via the operating system 2 to the printer driver 4 is passed. プリンタドライバ4はアプリケーション3から発行された印刷指令に基づき、画像データに変換する。 The printer driver 4 based on the print instruction issued from the application 3, and converts the image data. そして、プリンタドライバ3は、後述する符号化手順に基づき、作成した画像データから符号化データを生成し、 Then, the printer driver 3 on the basis of the encoding procedure to be described later, and generates encoded data from the image data created,
用紙サイズ、ビットマップデータのラインの長さとライン数等を指定する印刷制御コマンド、圧縮パラメタを指定する圧縮パラメタ指定コマンド、ページ終了を示す改ページコマンドと共に出力する。 Print control command for designating the paper size, the length of the bitmap data lines and the line number and the like, the compression parameter designation command for designating compression parameters, and outputs with a page break command indicating the end of page. 【0017】ポートドライバ5は、プリンタドライバ3 [0017] The port driver 5, a printer driver 3
が作成した一連のプリンタコマンドをプリンタ6に送信する。 But to send a series of printer commands that you created to the printer 6. 制御回路15はパラレルポート11を経由してプリンタコマンドを受信する。 The control circuit 15 receives the printer command via the parallel port 11. 受信したプリンタコマンドが印刷制御コマンド又は圧縮パラメタ指定コマンドであれば、印刷制御のために制御回路15の内部に保持する。 If the received printer command is a print control command or compression parameter designation command, held inside the control circuit 15 for print control. 又、受信したプリンタコマンドが符号化データであった場合は、FIFOメモリ12に格納する。 Also, if the printer command received were encoded data is stored in the FIFO memory 12. その後、 after that,
ページ終了コマンドの受信により、1ページを構成するプリンタコマンドの受信が完了したことを検出したときに、プリンタエンジン14に印刷の開始を指示する。 Upon receipt of the page end command, when the reception of the printer command constituting one page is detected to be complete, and instructs the start of printing to the printer engine 14. 印刷の開始が指示されると、プリンタエンジン14は画像データを受け入れ可能になったときに、復号回路13に画像データの出力を要求する。 When the start of printing is instructed, the printer engine 14 when it becomes capable of receiving the image data, and requests the output of the image data to the decoding circuit 13. 【0018】復号回路13は、プリンタエンジン14に画像データの出力を要求されている場合には、FIFO The decoding circuit 13, if it is required to output the image data to the printer engine 14, FIFO
メモリ12から符号化データを読み出し、復号した画像データをプリンタエンジン14に出力する。 It reads the encoded data from the memory 12, and outputs the image data decoded in the printer engine 14. このようにして符号化データは順次復号されて画像データとして出力され、画像データの出力が全て終了すると、1ページの印刷が完了する。 Coded data in this way is output as a sequential decoded by the image data, the output of the image data is completed, printing of one page is completed. 【0019】再符号化回路17は、復号回路13が画像データを出力するたびに、出力された画像データを符号化する。 The re-coding circuit 17, decoding circuit 13 every time of outputting the image data, encodes the output image data. 再符号化回路17が行う符号化処理は、前ページのデータを参照せずに該ページのデータのみを参照して符号化する符号化処理であればどのようなものでも良く、例えば左隣のみ、上隣のみ、左隣と上隣の双方、或は所定のバイト数左の位置及び所定のライン数上の位置のデータを参照して符号化する。 Encoding process to re-coding circuit 17 performs, also may of any type as long as referring to the encoding process of encoding only the data of the previous page the page data without reference to, for example left adjacent only , upper neighboring only be coded with reference to data to the left and the upper neighboring both, or a predetermined number of bytes left position and the position on a given number of lines. 再符号化回路17により符号化された符号はページメモリ18に格納される。 Code coded by the re-encoding circuit 17 is stored in the page memory 18.
こうして1ページの印刷が完了したときには、ページメモリ18には印刷されたページの画像データが符号化されて格納されている。 Thus when one page of printing is completed, the page memory 18 the image data of pages printed is stored is encoded. 【0020】続いて2ページ目を構成するプリンタコマンドの受信が完了すると同様に印刷が開始され、画像データは順次プリンタエンジン14に出力されるとともに、再符号化回路17により符号化されてページメモリ18に格納される。 [0020] Then the printing as well as the reception of the printer command which constitutes the second page is completed is started, the image data is sequentially output to the printer engine 14, a page memory is encoded by the recoding circuit 17 18 is stored in. 又、再復号回路19は、2ページ目の印刷が起動される前に、制御回路15の指示により動作を開始し、ページメモリ18に格納されている、直前のページの画像データを符号化した符号を読み取り、復号する。 Further, re-decoding circuit 19, before the second page of the printing is started, starts operation by the instruction of the control circuit 15, is stored in the page memory 18, the image data of the previous page is coded It reads the code, decodes. 読み取られた符号が格納されていた領域は空き領域となる。 Region read code has been stored becomes free space. 【0021】再復号回路19は、復号回路13が画像データを出力するのに歩調を合わせて復号したデータを出力する。 The re-decoding circuit 19, decoding circuit 13 outputs the data decoded keep pace to output image data. このデータは、復号回路13が直前のページの画像データを参照する符号を復号した場合には参照データとして使用され、それ以外の場合には使用されずに捨てられる。 This data decoding circuit 13 is used as reference data when decoding the code that refers to image data of the immediately preceding page, it is discarded without being used otherwise. 【0022】次に、図3及び図4に示す表を参照し、図2に示したプリンタドライバ4が生成する符号について説明する。 Next, with reference to the table shown in FIG. 3 and FIG. 4, the printer driver 4 code will be described for generating shown in FIG. 【0023】図3は図2に示したプリンタドライバ4が生成する符号の一例を示す図である。 [0023] FIG. 3 is a diagram showing an example of a code by the printer driver 4 generates shown in FIG. 本実施の形態で説明する符号は、所定ライン上のラインのデータ列を複写する上複写、同一ラインの所定バイト左のデータ列を複写する左複写、前ページ同一位置のデータ列を複写する前ページ複写及びデータを直接指定する生データの4種類の操作のうち、1つを指定する。 Before code described in this embodiment, to copy the data string on the copy, the left copy for copying data string of a predetermined number of bytes left in the same line, the previous page the same position for copying data string of lines on a given line of the page copy and data 4 types of operations of the raw data specifying directly specifies one. 尚、上複写及び左複写が参照する所定の位置は、2値化に使用したディザマトリクスの周期に応じた値である。 The predetermined position to be referred to on a copy and the left copy is a value corresponding to the period of the dither matrix used in binarization. 【0024】図3に示すように、コマンドコードのビットが「0」の場合はRAWコマンドであり、引き続く8 As shown in FIG. 3, if bit command code is "0" is RAW command, subsequent 8
ビットのデータをそのまま生データとして指定する。 To specify a bit of data as it is as raw data. 【0025】又、コマンドコードのビットが「10」の場合は、COPY UPコマンドであり、引き続くカウント符号が示すバイト数だけ上複写を行う。 [0025] Also, if bit command code is "10", a COPY UP command, performs on copying by the number of bytes subsequent count code indicates. 【0026】又、コマンドコードのビットが「110」 [0026] In addition, the bits of the command code "110"
の場合は、COPY LEFTコマンドであり、引き続くカウント符号が示すバイト数だけ複写を行う。 For are COPY LEFT command, performs copying by the number of bytes subsequent count code indicates. 【0027】又、コマンドコードのビットが「111 [0027] In addition, the bits of the command code is "111
0」の場合は、COPY PREVIOUS PAGE In the case of 0 ", COPY PREVIOUS PAGE
コマンドであり、引き続くカウント符号が示すバイト数だけ前ページ複写を行う。 A command, performing a previous page copying by the number of bytes subsequent count code indicates. 【0028】又、コマンドコードのビットが「1111 [0028] In addition, the bits of the command code is "1111
0」の場合は、COUNT HIGHコマンドであり、 In the case of 0 "is a COUNT HIGH command,
引き続くカウント符号が示す数の64倍を後続するCO CO succeeding the 64 times the number indicating subsequent count code
PYUP,COPY LEFTまたはCOPY PRE PYUP, COPY LEFT or COPY PRE
VIOUS PAGEコマンドのカウントに加算することを示す。 Indicating that to be added to the count of VIOUS PAGE command. 【0029】又、コマンドコードのビットが「1111 [0029] In addition, the bits of the command code is "1111
1」の場合は、EOBコマンドであり、符号列の終了を示す。 For 1 "is a EOB command, indicating the end of the code sequence. 【0030】図4は図3に示した符号に引き続くカウント符号の一例を示す。 [0030] Figure 4 shows an example of a code in a subsequent count code illustrated in FIG. 【0031】図に示すように、カウントコードのビットが「111111」の場合は,COUNT0符号であり、カウントが0であることを示す。 As shown in the figure, if the bit count code is "111111", a COUNT0 code indicates that the count is zero. 【0032】又、カウントコードのビットが「0」の場合は、COUNT1符号であり、カウントが1であることを示す。 [0032] Furthermore, if bit count code is "0", a COUNT1 code, indicating that the count is 1. 【0033】又、カウントコードのビットが「10」の場合は、COUNT2−3符号であり、カウントが引き続く1ビットに2を加算した値であることを示す。 [0033] Furthermore, if bit count code is "10", a COUNT2-3 code indicates that the count is a value obtained by adding 2 to 1 bit subsequent. 【0034】又、カウントコードのビットが「110」 [0034] In addition, the bit of the count code is "110"
の場合は、COUNT4−7符号であり、カウントが引き続く2ビットに4を加算した値であることを示す。 For it is COUNT4-7 code indicates that the count is a value obtained by adding 4 to 2 bits subsequent. 【0035】又、カウントコードのビットが「111 [0035] In addition, the bit of the count code is "111
0」の場合は、COUNT8−15符号であり、カウントが引き続く3ビットに8を加算した値であることを示す。 If 0 "is COUNT8-15 code indicates that the count is a value obtained by adding 8 to the three bits subsequent. 【0036】又、カウントコードのビットが「1111 [0036] In addition, the bit of the count code is "1111
0」の場合は、COUNT16−31符号であり、カウントが引き続く4ビットに16を加算した値であることを示す。 If 0 "is COUNT16-31 code indicates that the count is a value obtained by adding 16 to the 4-bit successive. 【0037】又、カウントコードのビットが「1111 [0037] In addition, the bit of the count code is "1111
10」の場合は、COUNT32−63符号であり、カウントが引き続く5ビットに32を加算した値であることを示す。 For 10 "is a COUNT32-63 code indicates that the count is a value obtained by adding 32 to 5 bits subsequent. 【0038】次に、図5を参照し、図3及び図4に示される符号の実例を説明する。 Next, with reference to FIG. 5, illustrating the examples of the reference symbols shown in FIGS. 【0039】符号列「00000000 011001 The code string "00000000 011001
01 01111101 00111011 1111 01 01111101 00111011 1111
1111 10000000」は図5に示すように解釈される。 1111 10000000 "is interpreted as shown in FIG. 先ず、先頭の「0」はRAWコマンドなので、 First of all, the beginning of the "0" because the RAW command,
引き続く8ビットのデータ「00000000」をそのまま生データとして指定する。 To specify the subsequent 8-bit data "00000000" as it is as raw data. 【0040】次に、「110」は左複写コマンドであり、引き続く「0」はCOUNT1符号なので、1バイトの左複写を示す。 Next, "110" is left copy command, subsequent "0" so COUNT1 code, indicating the left copy of one byte. 【0041】次に、「10」は上複写コマンドであり、 Next, "10" is the top copy command,
引き続く「10」はCOUNT2−3符号であるので、 Since the subsequent "10" is a COUNT2-3 sign,
引き続く1ビット「1」に2を加算した値、即ち3バイトの上複写を示す。 Subsequent 1-bit value obtained by adding 2 to "1", namely a copy on the 3 bytes. 【0042】次に、「11110」はCOUNT HI Next, "11110" is COUNT HI
GHコマンドであり、引き続く「10」はCOUNT2 A GH command, subsequent "10" COUNT2
−3符号であるので、引き続く1ビット「0」に2を加算した値の64倍、即ち128を後続するコマンドのカウントに加算することを示す。 Since -3 code indicates that added to the count of the command following the subsequent 1 64 times the value obtained by adding 2 to the bit "0", i.e. 128. 【0043】次に、「1110」は前ページ複写コマンドであり、引き続く「111111」はCOUNT0符号なので、0バイトの前ページ複写を示す。 Next, a "1110" is the previous page copy command, subsequent "111111" is because COUNT0 sign, indicating the previous page copy of 0 bytes. 但し、この場合はCOUNT HIGH 2コマンドが先行しているため、128が加算され、128バイトの前ページ複写を示す。 However, since this case is COUNT HIGH 2 command is preceded, 128 is added, indicating the copying previous page of 128 bytes. 【0044】次に、「11111」はEOBコマンドであり、符号列の終了を示す。 Next, "11111" is an EOB command, indicating the end of the code string. 引き続く「000000 Subsequent "000000
0」はバイト境界に整列するための詰め物であり、特別な意味を持たない。 0 "is the padding for aligning the byte boundary, it does not have a special meaning. 【0045】次に、図6に示すフローチャートを参照し、プリンタドライバ4の処理の詳細を説明する。 Next, with reference to the flowchart shown in FIG. 6, illustrating the details of processing of the printer driver 4. 【0046】プリンタドライバ4がオペレーティングシステム2から呼び出されると、先ずS1にて呼び出しの種類が描画指令であるか判定する。 [0046] determines whether the printer driver 4 is called from the operating system 2, first type of call in S1 is drawn command. 呼び出しの種類が描画指令であった場合は、S2にて描画処理を行う。 If the type of call is a rendering instruction, performing a drawing process at S2. 具体的には、オペレーティングシステム2を経由してアプリケーション3から指示された、文字、図形又はビットマップ等を8ビットのグレイスケール画像に変換し、記録して、処理を終了する。 Specifically, instructed from the application 3 via the operating system 2 to convert a character, a figure or a bitmap or the like to an 8-bit grayscale image, and record, the process ends. 【0047】S1にて呼び出しの種類が描画指令でなかった場合は、S7にて呼び出しの種類がページ終了指令であるか判定する。 [0047] If the type of call in S1 is not a drawing instruction determines whether the type of call is a page end command at S7. 呼び出しの種類がページ終了指令であった場合には、S8にて、2値化処理を行う。 When the type of call is a page end command, at S8, performs binarization processing. 具体的にはS2にて記録された8ビットのグレイスケール画像を、ディザマトリックスを使用して,白黒1ビットの画像に変換する。 Specifically the 8-bit grayscale images recorded at S2, by using the dither matrix and converted to black and white 1 bit image. 【0048】次に、S9にて、印刷条件指定コマンド、 [0048] Next, in S9, the printing conditions specified command,
具体的には用紙サイズ、給紙カセット、解像度、階調数、1ラインのバイト数、1ページのライン数等の印刷に必要な条件を指定するコマンドを出力する。 Specifically the paper size, paper feed cassette, resolution, the number of gradations, the number of bytes of 1 line, and outputs a command that specifies the condition necessary for printing, such as the number of one page line. 【0049】次に、S10にて、符号化時に使用する上複写時に複写元が何ライン上の位置であるかを指定する上複写垂直オフセット値及び左複写時に複写元が同一ラインの何バイト左の位置であるかを指定する左複写水平オフセット値を指定する圧縮パラメタ指定コマンドを出力する。 Next, at S10, many bytes left over copy vertical offset value and the copy source is the same line at the left copy on the copy source when the copying to be used at the time of encoding to specify whether a position on many lines It outputs the compressed parameter designation command for designating the left copy horizontal offset value that specifies whether the position. 【0050】ここで、上複写垂直オフセット値及び左複写水平オフセット値は、S8にて使用したディザマトリックスに応じて、予め理論的に、或は実験により最適値を求めておき、それを使用する。 [0050] Here, the above copying vertical offset value and left copy horizontal offset value, depending on the dither matrix used in S8, to previously obtain an optimal value in advance by theoretical or experimental, use it . 【0051】次にS11にて、後述する符号化手順に従い画像データを符号化する。 [0051] Next at S11, encoding image data in accordance with coding procedure described below. このときに、S10にて出力した圧縮パラメタ指定コマンドが指定する、上複写垂直オフセット値及び左複写水平オフセット値を用いて符号化を行う。 In this case, to specify the compression parameter designation command output in S10, encoding is performed using the above copying vertical offset value and left copy horizontal offset value. 次に、S12にて、S11にて符号化された画像データのサイズ及びライン数を指定する画像データコマンドヘッダを出力する。 Next, at S12, and outputs the image data command header which specifies the size and number of lines of encoded image data in S11. 次に、S13にて、S1 Next, in S13, S1
1にて符号化された画像データを出力する。 And it outputs the image data coded in 1. 次に、S1 Then, S1
4にて、ページの終了を指定する改ページコマンドを出力する。 At 4, and it outputs a page break command to specify the end of the page. 次に、S15にて、現ページの画像データを前ページメモリに転送して処理を終了する。 Next, in S15, thereby terminating the process to transfer the image data of the current page to the previous page memory. 【0052】S7にて呼び出しの種類がページ終了指令でなかった場合には、S16にて、呼び出しの種類に応じたその他の処理、例えばページ開始指令あるいはプリンタ能力問い合わせ指令等に対応する処理を行い、終了する。 [0052] If the type of call is not a page end command at S7, at S16, performs other processing in accordance with the type of call, the process corresponding to, for example, the page start command or the printer capability inquiry instruction, etc. ,finish. 【0053】次に、図7を参照し図6のS11の符号化処理の詳細を説明する。 Next, details of the encoding process of S11 in reference to Figure 6 to Figure 7. 【0054】先ず、S51にて、ライン番号Yを0に初期化する。 [0054] First, at S51, initializes the line number Y to zero. 次に、S52にて、ライン先頭からのバイトオフセットXを0に初期化する。 Next, in S52, the byte offset X from the line head is initialized to 0. 次に、S53にて、上位置が有効な画像領域にあるか判定する。 Next, it is determined whether or not at S53, the upper position is in a valid image area. 具体的には、 In particular,
図6のS47にて出力した上複写位置を示すライン数がライン番号Yよりも小でないか判定する。 The number of lines indicating the copy position on the output in S47 in FIG. 6 is determined or not smaller than the line number Y. 上複写位置を示すライン数がライン番号Yよりも小でない場合は、上位置が有効な画像領域にある場合なので、S54にて現在の位置(X,Y)と、上位置(X,Y−上複写位置を示すライン数)から始まるバイト列が連続して一致する長さを求める。 If the number of lines indicating the up copy position is not smaller than the line number Y, since a case where the upper position is a valid image area, the current position (X, Y) at S54, the upper position (X, Y- determining the length of a byte sequence that starts from the number of lines) showing the upper copying position coincides continuously. 尚、この際に、ライン末まで連続して一致している場合には、ライン末で打ち切るものとする。 Incidentally, in this case, if they match in succession to the line end is assumed to terminate at the end of the line.
又、連続して一致する長さがカウント符号の最大値である4095バイトを超える場合には、4095バイトで打ち切るものとする。 Further, if the length to match continuously exceeds 4095 bytes, which is the maximum value of the count code shall be aborted at 4095 bytes. 【0055】次に、S55にて、S54にて求めた長さが0であるか判定する。 [0055] Next, it is determined whether or not at S55, the length of which is determined by the S54 is zero. S54にて求めた長さが0でない場合には、S56にて、S54にて求めた長さが63 If the length obtained in S54 is not 0, at S56, a length obtained by S54 63
より大であるか判定する。 And it determines whether it is more large. S54にて求めた長さが63 Length obtained in S54 is 63
より大である場合には、S57にてCOUNT HIG If it is larger it is, COUNT HIG at S57
Hコマンドをバッファに出力し、次いでS58にて、カウントの上位、即ちS54にて求めた長さを64で除算した商を符号化してバッファに出力し、S59に進む。 Outputs H command to the buffer, then in S58, the count of the upper and outputs it to the buffer i.e. the length obtained in S54 by encoding the quotient obtained by dividing the 64, the process proceeds to S59.
S56にて、S54にて求めた長さが63より大でない場合には直接S59に進む。 At S56, the process proceeds directly to S59 if the length obtained in S54 is not greater than 63. 【0056】次に、S59にてCOPY UPコマンドをバッファに出力し、次にS60にて、カウントの下位、即ち、S54にて求めた長さを64で除算した剰余を符号化してバッファに出力する。 Next, a COPY UP command is output to the buffer at S59, then at S60, the count lower, i.e., output to the buffer to encode the remainder of division by 64 the length obtained in S54 to. 【0057】S53にて、上複写位置を示すライン数がライン番号Yよりも小である場合及びS55にて長さが0であった場合は、S62にて、左位置が有効な画像領域にあるか判定する。 [0057] At S53, when the length in the case the number of lines indicating the up copy position is smaller than the line number Y, and S55 is was 0 at S62, the left position valid image area and it determines whether or not there. 具体的には、図6のS47にて出力した左複写位置を示すバイト数が、ライン先頭からのバイトオフセットXよりも小でないか判定する。 Specifically, it is determined whether the number of bytes indicating the left copy position outputted at S47 in FIG. 6 is not smaller than the byte offset X from the line head. 左複写位置を示すバイト数が、ライン先頭からのバイトオフセットXよりも小でない場合は、左位置が有効な画像領域にある場合なので、S63にて現在の位置(X,Y) The number of bytes indicating the left copy position is, if not smaller than the byte offset X from the line head, since when the left position is a valid image area, the current position at S63 (X, Y)
と、左位置(X−左複写位置を示すバイト数,Y)から始まるバイト列が連続して一致する長さを求める。 If, determine the length (number of bytes indicating the X- left copy position, Y) left positions bytes starting from matching continuously. 尚、 still,
この際に、ライン末まで連続して一致している場合には、ライン末で打ち切るものとする。 At this time, if they match in succession to the line end is assumed to terminate at the end of the line. 又、連続して一致する長さがカウント符号の最大値である4095バイトを超える場合には、4095バイトで打ち切るものとする。 Further, if the length to match continuously exceeds 4095 bytes, which is the maximum value of the count code shall be aborted at 4095 bytes. 【0058】次に、S64にて、S63にて求めた長さが0であるか判定する。 [0058] Next, it is determined whether or not at S64, the length of which is determined by the S63 is zero. S63にて求めた長さが0でない場合には、S65にて、S63にて求めた長さが63 If the length obtained in S63 is not 0, at S65, a length obtained by S63 63
より大であるか判定する。 And it determines whether it is more large. S63にて求めた長さが63 Length obtained in S63 is 63
より大である場合には、S66にてCOUNT HIG If it is larger it is, COUNT HIG at S66
Hコマンドをバッファに出力し、次いでS69にて、カウントの上位、即ち、S63にて求めた長さを64で除算した商を符号化してバッファに出力し、S68に進む。 Outputs H command to the buffer, then in S69, the count of the upper, i.e., output to the buffer to encode the quotient obtained by dividing the length obtained in S63 by 64, the process proceeds to S68. S65にて、S63にて求めた長さが63より大でない場合には直接S68に進む。 At S65, the process proceeds directly to S68 if the length obtained in S63 is not greater than 63. 【0059】次に、S69にて、COPY LEFTコマンドをバッファに出力し、次にS60にて、カウントの下位、即ち、S63にて求めた長さを64で除算した剰余を符号化してバッファに出力する。 Next, at S69, and outputs the COPY LEFT command in the buffer, then in S60, the count lower, i.e., the buffer to encode the remainder of division by 64 the length obtained in S63 Output. 【0060】S62にて、左複写位置を示すバイト数が、ライン先頭からのバイトオフセットXよりも小である場合及びS64にて長さが0であった場合は、S69 [0060] At S62, if the number of bytes indicating the left copy position is, the length in the case and S64 is smaller than the byte offset X from the line head was 0, S69
にて、前ページメモリに有効な画像が格納されているか判定する。 At, it determines whether a valid image before the page memory is stored. 具体的には、ページ番号が1でないか判定する。 Specifically, it is determined whether the page number is not 1. ページ番号が1でない場合は、図6のS15にて前ページメモリに画像データが転送されている場合なので、S70にて現ページの画像データの現在の位置(X,Y)と、前ページメモリに格納されている画像データの現在の位置(X,Y)から始まるバイト列が連続して一致する長さを求める、尚、この際に、ライン末まで連続して一致している場合には、ライン末で打ち切るものとする。 If the page number is not 1, since if the image data is being transferred to the previous page memory in S15 of FIG. 6, the current position of the image data of the current page in S70 (X, Y) and, before the page memory determining the current position (X, Y) length of bytes starting with matches in succession of the image data stored in the still, at this time, if they match in succession to the line end is , it is assumed that the abort in the line end. 又、連続して一致する長さが、カウント符号の最大値である4095バイトを超える場合には,4 Further, if the length matching is continuously, more than 4095 bytes, which is the maximum value of the count code is 4
095バイトで打ち切るものとする。 It shall be cut off in 095 bytes. 【0061】次に、S71にて、S70にて求めた長さが0であるか判定する。 [0061] Next, it is determined whether or not at S71, the length of which is determined by the S70 is zero. S70にて求めた長さが0でない場合には、S72にて,S70にて求めた長さが63 If the length of which is determined by the S70 is not 0, at S72, the length determined by the S70 is 63
より大であるか判定する。 And it determines whether it is more large. S70にて求めた長さが63 Length obtained in S70 is 63
より大である場合には、S73にてCOUNT HIG If it is larger it is, COUNT HIG at S73
Hコマンドをバッファに出力し、次いでS74にて、カウントの上位、即ち、S70にて求めた長さを64で除算した商を符号化してバッファに出力し、S75に進む。 Outputs H command to the buffer, then in S74, the count of the upper, i.e., output to the buffer to encode the quotient obtained by dividing the length obtained in S70 by 64, the process proceeds to S75. S72にて、S70にて求めた長さが63より大でない場合には直接S75に進む。 At S72, if the length of which is determined by the S70 is not greater than 63, the process proceeds directly to S75. 【0062】次に、S75にて、COPY PREVI [0062] Next, in S75, COPY PREVI
OUS PAGEコマンドをバッファに出力し、次にS And outputs the OUS PAGE command in the buffer, then S
60にて、カウントの下位、即ち、S70にて求めた長さを64で除算した剰余を符号化してバッファに出力する。 At 60, the count lower, i.e., encodes the remainder obtained by dividing the length obtained in S70 by 64 is output to the buffer. 【0063】S69にて、ページ番号が1である場合及びS71にて長さが0であった場合は、S76にて、R [0063] At S69, if the length in case the page number is 1 and S71 is 0, at S76, R
AWコマンドをバッファに出力し、次に現在の位置(X,Y)のデータ1バイトを生データとしてバッファに出力する。 The AW command output to the buffer, then the current position (X, Y) of data 1 byte is output to the buffer as raw data. 【0064】何れの場合も、S78に進み、処理したバイト数をXに加算する。 [0064] In the case of both, the process proceeds to S78, adding processed the number of bytes in X. 次に、S79にて、Xがライン末に達したか、即ち、Xが1ラインのバイト数に等しいか判定する。 Next, it is determined at S79, whether X reaches the end of the line, i.e., whether X is equal to the number of bytes of 1 line. Xが1ラインのバイト数より小である場合は、S53に戻り、処理を継続する。 If X is less than the number of bytes of 1 line, it returns to the S53, and continues the process. Xが1ラインのバイト数と等しい場合は、S80にてライン番号Yに1を加算し、次にS81にて画像の処理が終了したか、即ち、Yが画像のライン数と等しいか判定する。 If X is equal to the number of bytes of 1 line, it adds 1 to the line number Y at S80, whether the processing of the image then at S81 is completed, i.e., Y is determined equal to the line number of the image . 【0065】Yが画像のライン数より小である場合は、 [0065] When Y is smaller than the number of lines of the image,
S52に戻り、処理を継続する。 It returns to S52, and continues the process. Yが画像のライン数と等しい場合は、S82にてEOBコマンドをバッファに出力し、次にS83にてバイト境界に整列するために必要な数だけビット「0」をバッファに出力し、処理を終了する。 If Y is equal to the number of lines of the image, and outputs the EOB command buffer at S82, then at S83 the number needed to align the byte boundary bit "0" is output to the buffer, process the finish. 【0066】次に、図9を参照し、図2に示した復号回路13の詳細について説明する。 Next, with reference to FIG. 9, details of the decoding circuit 13 will be described as shown in FIG. 尚、図9は図2に示した復号回路13の詳細を示すブロック図である。 Incidentally, FIG. 9 is a block diagram showing details of the decoding circuit 13 shown in FIG. 【0067】図9において、入力バッファ21は、FI [0067] In FIG. 9, the input buffer 21, FI
FOメモリ12から読み出した符号データを格納する。 It stores the read code data from FO memory 12.
入力バッファ21は、少なくとも4バイトのデータを格納することができ、バッファに空きが生じ、且つ、FI Input buffer 21 can store data of at least 4 bytes, empty occurs in the buffer, and, FI
FOメモリ12にデータがある場合はFIFOメモリ1 FO If the memory 12 there is a data FIFO memory 1
2からデータを読み出して格納する。 2 stores read data from. 入力バッファ21 Input buffer 21
は、又、ビットカウンタ23に保持された、処理済ビット数が8以上になった場合には、不要になった処理済データを破棄する。 Also, it held by the bit counter 23, when the number of processed bits becomes 8 or more, discarding the processed data that is no longer needed. 【0068】セレクタ22は、例えば11組の8入力セレクタであり、入力バッファ21に格納された符号データを、ビットカウンタ23が示す処理済ビット数に従って選択することにより、コマンドデコード回路24が処理するために必要な、コマンドの開始位置合わせを行う。 [0068] The selector 22 is, for example, 11 sets of 8-input selector, the stored encoded data in the input buffer 21, by selecting according processed bits indicated by the bit counter 23, the command decode circuit 24 to process do a, a start alignment of the commands needed to. これは、入力バッファ21がバイト単位にデータを保持するのに対し、コマンドはビット単位の可変長データであるため8箇所の開始位置があるために必要なものである。 This is because the input buffer 21 to hold the data in the byte unit, the command is necessary because of the start position of eight for a variable length data bits. 【0069】ビットカウンタ23は、入力バッファ21 [0069] Bit counter 23, an input buffer 21
に格納された符号データのうち処理済みのビット数を格納する。 Storing the processed number of bits of the stored code data. ビットカウンタ23は、又、コマンドデコード回路24から出力された、コマンドのビット数を加算することによりビットカウンタに格納された値を更新する。 Bit counter 23 also updates the value stored in the bit counter by adding output from the command decode circuit 24, the number of bits of the command. ビットカウンタ23は、又、入力バッファが処理済データを破棄した場合には、破棄したビット数を減算する。 Bit counter 23 is also, when the input buffer is discarded the processed data, subtracts the number of discarded bits. ビットカウンタ23は、又、コマンドデコード回路23がEOBコマンドを復号したときに、コマンドデコード回路23からEOB信号を受信し、バイト境界合わせの処理を行う。 Bit counter 23 is also when the command decode circuit 23 decodes an EOB command, receives the EOB signal from the command decode circuit 23 performs the processing of matching byte boundary. 具体的には、ビットカウンタの下位3 Specifically, the lower 3-bit counter
ビットが全て0であれば何もせず、そうでなければ8を加算するとともに下位3ビットをクリアする。 Bit is nothing if it is all 0, clearing the lower 3 bits with adding the 8 otherwise. 【0070】コマンドデコード回路24は、例えばリードオンリーメモリ、或はワイヤードロジックにより構成され、セレクタ22によって位置合わせが行われた、入力バッファ21に格納された符号データを復号し、復号したコマンドに従ってカウンタ26、上複写出力回路2 [0070] command decode circuit 24 is constituted by, for example read-only memory, or wired logic, aligned by the selector 22 is performed, and decodes the code data stored in the input buffer 21, the counter in accordance with the decoded command 26, the upper copy output circuit 2
7、前ページ複写出力回路28、左複写出力回路29、 7, previous page copy output circuit 28, left copy output circuit 29,
生データ出力回路30及びビットカウンタ23に、前述の、或は後述する各種の信号を出力する。 The raw data output circuit 30 and the bit counter 23, and outputs the above, or various signals to be described later. 【0071】カウンタ26は、COPY UP,COP [0071] counter 26, COPY UP, COP
Y LEFT或はCOPY PREVIOUS PAG Y LEFT or COPY PREVIOUS PAG
Eコマンドの処理バイト数を保持し、1バイトのデータ出力が行われる毎に減算される。 Contains the number of processing bytes E command, it is subtracted every time 1-byte data output is performed. カウンタ26は上位6 Counter 26 is the upper 6
ビットと下位6ビットを独立に設定可能であり、コマンドデコード回路23がCOUNT HIGHコマンドを復号した時にはコマンドデコード回路23が出力する、 Can be set to bits and lower 6 bits are independently output from the command decode circuit 23 when the command decode circuit 23 decodes the COUNT HIGH command,
処理バイト数の加算値をカウンタ26の上位に格納する。 Storing the added value of the number of processing bytes higher in the counter 26. 又、コマンドデコード回路23がCOPYUP,C Further, command decode circuit 23 COPYUP, C
OPY LEFT或はCOPY PREVIOUS P OPY LEFT or COPY PREVIOUS P
AGEコマンドを復号した時にはコマンドデコード回路23が出力する、処理バイト数をカウンタ26の下位に格納する。 Output from the command decode circuit 23 when decoding the AGE command, stores the number of processing bytes to the lower counter 26. 【0072】上複写出力回路27は、カウンタ26が保持する処理バイト数に従ってラインバッファ31から上複写位置のデータを読み取り、出力する。 [0072] upper copy output circuit 27 reads the data on copy position from the line buffer 31 in accordance with the number of processing bytes counter 26 holds and outputs. 【0073】上複写位置に相当するラインバッファ31 [0073] the line buffer 31 corresponding to the upper copy position
のアドレスは、上複写出力回路27に内蔵されるレジスタに保持される。 The address is held in the register incorporated in the above copying output circuit 27. このレジスタの初期値は、予め制御回路15により上複写位置に相当する値が書き込まれており、復号回路13が1バイトの画像データを出力するたびに自動的に加算されるとともに、その結果ラインバッファ31の最終アドレスを超えた場合は、自動的にラインバッファ31の先頭アドレスに再設定される。 The initial value of this register is a value corresponding to the upper copy position is written in advance by the control circuit 15, together with the decoding circuit 13 is automatically added whenever outputting the image data of 1 byte, the result line If it exceeds the last address of the buffer 31 is reset automatically to the start address of the line buffer 31. 【0074】前ページ複写出力回路28は、カウンタ2 [0074] previous page copy output circuit 28, the counter 2
6が保持する処理バイト数に従って、再復号回路19が出力する、前ページの同一位置の画像データを読み取り、出力する。 In accordance with the processing number of bytes 6 holds, re-decoding circuit 19 outputs read image data of the same position on the previous page, and outputs. 【0075】左複写出力回路29は、カウンタ26が保持する処理バイト数に従って、ラインバッファ31から左複写位置のデータを読み取り、出力する。 [0075] Left copying output circuit 29 in accordance with the number of processing bytes counter 26 holds, reading the data of the left copy position from the line buffer 31, and outputs. 【0076】左複写位置に相当するラインバッファ31 [0076] line buffer 31 which corresponds to the left copy position
のアドレスは、左複写出力回路29に内蔵されるレジスタに保持される。 The address is held in the register incorporated in the left copy output circuit 29. このレジスタの初期値は、予め制御回路15により左複写位置に相当する値が書き込まれており、復号回路13が1バイトの画像データを出力するたびに自動的に加算されるとともに、その結果、ラインバッファ31の最終アドレスを超えた場合は、自動的にラインバッファ31の先頭アドレスに再設定される。 The initial value of this register is written in advance by the control circuit 15 is a value corresponding to the left copy position, with the decoding circuit 13 is automatically added whenever outputting the image data of 1 byte, as a result, If it exceeds the last address of the line buffer 31 is reset automatically to the start address of the line buffer 31. 【0077】生データ出力回路30は、コマンドデコード回路24が出力した1バイトの生データを出力する。 [0077] The raw data output circuit 30 outputs the raw data of 1 byte command decode circuit 24 has output. 【0078】ラインバッファ31は、複数のラインの復号データを保持し、上複写回路27或は左複写回路29 [0078] the line buffer 31 holds the decoded data of a plurality of lines, the upper copying circuit 27 or the left copy circuit 29
が出力するアドレスに従って、復号データの読み出しを行うとともに、上複写回路27、前ページ複写回路2 According to the address but for outputting, along with reading out the decoded data, the upper copy circuit 27, the previous page copy circuit 2
8、左複写回路29或は生データ出力回路30が出力した復号データを現在の位置に書き込む。 8, and writes the decoded data left copy circuit 29 or the raw data output circuit 30 is output to the current position. 【0079】現在の位置に相当するラインバッファ31 [0079] line buffer 31 which corresponds to the current position
のアドレスは、ラインバッファ31に内蔵されるレジスタに保持される。 The address is held in the register incorporated in the line buffer 31. このレジスタの初期値は、予め制御回路15によりラインバッファ31の先頭アドレスが書き込まれており、復号回路13が1バイトの画像データを出力するたびに自動的に加算されるとともに、その結果、ラインバッファ31の最終アドレスを超えた場合は、自動的にラインバッファ31の先頭アドレスに再設定される。 The initial value of this register is written in advance by the control circuit 15 is the start address of the line buffer 31, together with the decoding circuit 13 is automatically added whenever outputting the image data of 1 byte, as a result, the line If it exceeds the last address of the buffer 31 is reset automatically to the start address of the line buffer 31. 【0080】コマンドデコード回路24はCOPY U [0080] command decode circuit 24 COPY U
Pコマンドをデコードすると、引き続くカウントをデコードし、カウンタ26の下位に格納するとともに、上複写出力回路27に信号を出力する。 When decoding a P command, it decodes the subsequent count, and stores the lower counter 26, and outputs a signal on the copy output circuit 27. カウンタ26の上位には、COUNT HIGHコマンドが先行しなかった場合には0が、先行した場合にはCOUNT HIGH The upper counter 26, 0 if the COUNT HIGH command does not preceded, when preceded COUNT HIGH
コマンドが示す上位カウントが格納されている。 Top count of the command are stored. 上複写位置のデータがラインバッファ31から読み取られ、上複写出力回路27に入力される。 Data on copy position is read from the line buffer 31 is input to the above copying output circuit 27. 上複写出力回路27がこのデータを出力すると、出力された復号データは、ラインバッファ31の現在の位置に書き込まれる。 When the upper copy output circuit 27 outputs the data output decoded data is written at the current position of the line buffer 31. このようにして、カウンタ26が0に達するまで、復号データの出力が行われる。 In this way, until the counter 26 reaches zero, the output of the decoded data. 【0081】コマンドデコード回路24はCOPY P [0081] command decode circuit 24 COPY P
REVIOUS PAGEコマンドをデコードすると、 When you decode the REVIOUS PAGE command,
引き続くカウントをデコードし、カウンタ26の下位に格納するとともに、前ページ複写出力回路28に信号を出力する。 Subsequent count decodes, stores the lower counter 26, and outputs a signal to the previous page copy output circuit 28. カウンタ26の上位には、COUNT HI The level of the counter 26, COUNT HI
GHコマンドが先行しなかった場合には0が、先行した場合にはCOUNT HIGHコマンドが示す上位カウントが格納されている。 0 if GH command did not preceded, the upper count indicated by the COUNT HIGH command is stored in the case of the preceding. 前ページの同一位置のデータが再復号回路19から前ページ複写出力回路28に入力される。 Data of the same position of the previous page is input from the re-decoding circuit 19 to the previous page copy output circuit 28. 前ページ複写出力回路28がこのデータを出力すると、出力された復号データは、ラインバッファ31の現在の位置に書き込まれる。 When the previous page copy output circuit 28 outputs the data output decoded data is written at the current position of the line buffer 31. このようにして、カウンタ26が0に達するまで、復号データの出力が行われる。 In this way, until the counter 26 reaches zero, the output of the decoded data. 【0082】コマンドデコード回路24はCOPY L [0082] command decode circuit 24 COPY L
EFTコマンドをデコードすると、引き続くカウントをデコードし、カウンタ26の下位に格納するとともに、 When decoding the EFT command, it decodes the subsequent count, and stores the lower counter 26,
左複写出力回路29に信号を出力する。 And it outputs the signal to the left copy output circuit 29. カウンタ26の上位には、COUNT HIGHコマンドが先行しなかった場合には0が、先行した場合にはCOUNT HI The upper counter 26, 0 if the COUNT HIGH command does not preceded, when preceded COUNT HI
GHコマンドが示す上位カウントが格納されている。 Top count indicated GH command is stored. 左複写位置のデータがラインバッファ31から読み取られ、左複写出力回路29に入力される。 Data of the left copy position is read from the line buffer 31 is input to the left copy output circuit 29. 左複写出力回路29がこのデータを出力すると、出力された復号データは、ラインバッファ31の現在の位置に書き込まれる。 When the left copy output circuit 29 outputs the data output decoded data is written at the current position of the line buffer 31.
このようにして、カウンタ26が0に達するまで、復号データの出力が行われる。 In this way, until the counter 26 reaches zero, the output of the decoded data. 【0083】コマンドデコード回路24はRAWコマンドをデコードすると、引き続く1バイトの生データを生データ出力回路30に出力する。 [0083] command decode circuit 24 when decoding the RAW command, and outputs the raw data subsequent 1 byte raw data output circuit 30. 生データ出力回路30 Raw data output circuit 30
がこのデータを出力すると、出力された復号データは、 There and outputs this data, the output decoded data is,
ラインバッファ31の現在の位置に書き込まれる。 It is written to the current position of the line buffer 31. 【0084】コマンドデコード回路24はCOUNT [0084] command decode circuit 24 COUNT
HIGHコマンドをデコードすると、引き続くカウントをデコードし、カウンタ26の上位に格納する。 When decoding the HIGH command, it decodes the subsequent count, is stored in the upper of the counter 26. 【0085】<その他の実施の形態>尚、上述の実施形態では、画像データ1バイトを単位として符号化及び復号が行われているが、これに代えて他の単位、例えば1 [0085] <Other Embodiments> In the above-described embodiment, the encoding and decoding is being performed image data one byte as a unit, other units instead of this, for example, 1
画素或は2バイト等を単位としても良い。 A pixel or two bytes or the like may be as a unit. 【0086】又、上述の実施の形態では、白黒画像を扱っていたが、これに代えてカラー画像を扱うようにしても良い。 [0086] Also, in the embodiment described above has been dealt with a monochrome image, you may be dealing with color images instead. 【0087】又、上述の実施の形態では、1画素が1ビットにより構成されていたが、これに代えて他の値、例えば2ビット、4ビット或は8ビットとしても良い。 [0087] Further, in the above embodiment, although one pixel was constituted by 1 bit, other values ​​instead of this, for example 2 bits, may be 4 bits or 8 bits. 【0088】又、上述の実施の形態では、ハードウェアによって復号していたが、これに代えてソフトウェアで復号するようにしても良い。 [0088] Also, in the embodiment described above has been decoded by hardware, it may be decoded by software instead. 又、述の実施の形態では、 In addition, in the embodiment of the predicate,
ディザ処理を行っているが、これに代えてディザ処理を行わないようにしても良い。 It is performed dithering, but may not be performed dithering instead. 【0089】 【発明の効果】以上詳細に説明したように、本発明では、注目位置の左方及び上方に加えて、前ページの同一位置を参照して符号化を行うため、左方及び上方の参照位置との相関が低い画像であっても、連続するページで同一の背景パターンを使用する場合等、前ページとの相関性が高い画像を符号化する際に効率良く圧縮することができる。 [0089] As described [Effect Invention above in detail, in the present invention, in addition to the left and upper target position, for performing coding with reference to the same position on the previous page, left and upward even the low image correlation with the reference position, can be efficiently compressed in coding or the like when using the same background pattern in sequential pages, the image is high correlation with the previous page . 【0090】又、本発明では、参照されるべき前ページの画像データを符号化して保持するため、画像データをそのまま保持する場合に比べて、より小容量のメモリで前ページの画像データを保持することができる。 [0090] In the present invention, to hold the image data of the previous page to be referenced by coding, as compared with the case of holding the image data as it is, holding the image data of the previous page in the memory of a smaller capacity can do.

【図面の簡単な説明】 【図1】本発明方式の構成を示すブロック図である。 It is a block diagram showing a configuration of BRIEF DESCRIPTION OF THE DRAWINGS [Figure 1] The present invention method. 【図2】本発明方式のプリンタの構成の詳細を示すブロック図である。 2 is a block diagram showing a detailed configuration of the printer of the present invention method. 【図3】本発明方式の符号を示す表である。 3 is a table showing the sign of the present invention method. 【図4】本発明方式の符号を示す表である。 4 is a table showing the sign of the present invention method. 【図5】本発明方式の符号の実例を説明する図である。 5 is a diagram illustrating an example of the code of the present invention method. 【図6】本発明方式のプリンタドライバの処理手順を示すフローチャートである。 6 is a flowchart illustrating a printer driver of the procedure the present invention method. 【図7】本発明方式の符号化手順を示すフローチャートである。 7 is a flowchart showing the coding procedure of the present invention method. 【図8】背景パターンの一例を示す図である。 8 is a diagram showing an example of a background pattern. 【図9】本発明方式の復号回路の詳細を示すブロック図である。 9 is a block diagram showing details of a decoding circuit of the present invention method. 【符号の説明】 1 コンピュータ2 オペレーティングシステム3 アプリケーション4 プリンタドライバ5 ポートドライバ6 プリンタ11 パラレルポート12 FIFOメモリ13 復号回路14 プリンタエンジン15 制御回路17 再符号化回路18 ページメモリ [Description of Reference Numerals] 1 computer 2 operating system 3 Application 4 printer driver 5 port driver 6 printer 11 parallel port 12 FIFO memory 13 decoding circuit 14 the printer engine 15 control circuit 17 re-coding circuit 18 page memory

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 複数ページの画像データを符号化する符号化方法であって、符号化しようとするページの画像データを格納する第1のメモリと、前記第1のメモリに格納された画像データを符号化する符号化手段と、直前のページの画像データを格納する第2のメモリとを備え、 Patent Claims: 1. A coding method for encoding image data of a plurality of pages, a first memory for storing image data of a page to be encoded, the first memory the image data stored includes encoding means for encoding, and a second memory for storing image data of the previous page,
    前記符号化手段は前記第2のメモリに格納された直前のページの画像データを参照して符号化を行うことを特徴とする符号化方法。 Encoding method the encoding means and performing coding with reference to image data of the previous page stored in the second memory. 【請求項2】 複数ページの画像データを符号化した符号を復号する復号方法であって、符号を復号する復号手段と、前記復号手段により復号された画像データを格納する第1のメモリと、前記第1のメモリに格納された画像データを符号化する再符号化手段と、前記再符号化手段により符号化された符号を格納する第2のメモリと、 2. An image data of a plurality of pages to a decoding method for decoding the encoded code, and decoding means for decoding the code, a first memory for storing image data decoded by said decoding means, a re-encoding means for encoding image data stored in said first memory, a second memory for storing said encoded by the re-encoding means codes,
    前記第2のメモリに格納された符号を復号する再復号手段とを備え、前記復号手段は直前のページの画像データを参照する符号を復号した場合には前記再復号手段が復号した画像データを参照して復号するとともに、前記再符号化手段は符号化しようとするページの画像データのみを参照して符号化を行うことを特徴とする復号方法。 And a re-decoding means for decoding the code stored in the second memory, the image data obtained by decoding said re-decoding means when said decoding means for decoding the code that refers to image data of the previous page with reference to decoding, decoding method and performing coding the re-encoding means with reference to only the image data of a page to be coded.
JP2002038132A 2002-02-15 2002-02-15 Encoding method and decoding method Pending JP2003244448A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002038132A JP2003244448A (en) 2002-02-15 2002-02-15 Encoding method and decoding method

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2002038132A JP2003244448A (en) 2002-02-15 2002-02-15 Encoding method and decoding method
EP20020258367 EP1318665B1 (en) 2001-12-06 2002-12-04 Image processing apparatus and method, program, and storage medium
CN 02155529 CN100397866C (en) 2001-12-06 2002-12-05 Image processor, image processing method
CN 200810097397 CN101282407B (en) 2001-12-06 2002-12-05 An image processing apparatus, image processing method
CN 200810097396 CN101282406B (en) 2001-12-06 2002-12-05 Image processing apparatus
CN 200810094578 CN101282405B (en) 2001-12-06 2002-12-05 Image processing apparatus and method
US10/310,812 US7245396B2 (en) 2001-12-06 2002-12-06 Image data coding apparatus, image data decoding apparatus, image data coding method and image data decoding method

Publications (2)

Publication Number Publication Date
JP2003244448A true JP2003244448A (en) 2003-08-29
JP2003244448A5 JP2003244448A5 (en) 2005-08-25

Family

ID=27779524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002038132A Pending JP2003244448A (en) 2002-02-15 2002-02-15 Encoding method and decoding method

Country Status (1)

Country Link
JP (1) JP2003244448A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007158510A (en) * 2005-12-01 2007-06-21 Canon Inc Image processor and its control method, computer program, and computer readable memory medium
JP2008504734A (en) * 2004-06-25 2008-02-14 アボセント コーポレイション Digital video compression command priority
JP2009010871A (en) * 2007-06-29 2009-01-15 Toshiba Corp Screen transfer device, method thereof and program for image transfer
US9743095B2 (en) 2002-10-01 2017-08-22 Avocent Corporation Video compression encoder

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9560371B2 (en) 2003-07-30 2017-01-31 Avocent Corporation Video compression system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9743095B2 (en) 2002-10-01 2017-08-22 Avocent Corporation Video compression encoder
JP2008504734A (en) * 2004-06-25 2008-02-14 アボセント コーポレイション Digital video compression command priority
JP2007158510A (en) * 2005-12-01 2007-06-21 Canon Inc Image processor and its control method, computer program, and computer readable memory medium
US8319987B2 (en) 2005-12-01 2012-11-27 Canon Kabushiki Kaisha Image processing apparatus and control method for compressing image data by determining common images amongst a plurality of page images
JP2009010871A (en) * 2007-06-29 2009-01-15 Toshiba Corp Screen transfer device, method thereof and program for image transfer

Similar Documents

Publication Publication Date Title
US4992887A (en) Method of storing and transmitting image data as an image file suitable for an image search
EP0487282B1 (en) Image processing apparatus and method
US7106911B2 (en) Image processing apparatus and control method for inputting image data and encoding the data
US7194140B2 (en) Image processing apparatus and method which compresses image data of each region using a selected encoding method
US7257264B2 (en) Image processing apparatus and method for compression-encoding image area information
EP0585522A1 (en) Page printer having automatic font compression
EP0665653B1 (en) Apparatus and method for decoding variable-length code
JP4065503B2 (en) Image processing apparatus, an image output device, scaling processing method, and a memory control method
JPH0771185B2 (en) Image data conversion method
US7983500B2 (en) Encoding method, encoding apparatus, decoding method, and decoding apparatus
EP0814614B1 (en) High bit-rate Huffman decoding
US5917947A (en) Image processing method and apparatus permitting use of PDL in compression memory
JPH0981763A (en) Method and device for compressing character and image mixed data
JPH08275000A (en) Compressing device and method for digital image data
US6563960B1 (en) Method for merging images
JP2007184978A (en) System and method for compressing graphic images
EP1318665B1 (en) Image processing apparatus and method, program, and storage medium
JP2000278685A (en) Method for processing variable length encoded binary bit stream
JP4393319B2 (en) The image coding apparatus and method, and computer program and computer-readable storage medium
KR101490215B1 (en) Image processing apparatus and processing method therefor
US20030164975A1 (en) Image processing apparatus and image processing method
KR0147355B1 (en) Graphics images data compression method
KR0130490B1 (en) Image processing apparatus and image reducing circuit therefor
JP4440051B2 (en) The image coding apparatus and method, and computer program and computer readable storage medium
JPH07271826A (en) Image forming and storing device

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20041116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050215

A621 Written request for application examination

Effective date: 20050215

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060718

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070130