JP2005210488A - Data-decoding device - Google Patents

Data-decoding device Download PDF

Info

Publication number
JP2005210488A
JP2005210488A JP2004015853A JP2004015853A JP2005210488A JP 2005210488 A JP2005210488 A JP 2005210488A JP 2004015853 A JP2004015853 A JP 2004015853A JP 2004015853 A JP2004015853 A JP 2004015853A JP 2005210488 A JP2005210488 A JP 2005210488A
Authority
JP
Japan
Prior art keywords
data
output
decoding
address
compressed
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.)
Withdrawn
Application number
JP2004015853A
Other languages
Japanese (ja)
Inventor
Shigeru Fujita
茂 藤田
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.)
Canon Inc
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 JP2004015853A priority Critical patent/JP2005210488A/en
Publication of JP2005210488A publication Critical patent/JP2005210488A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem in which wasteful blank data output processing, are carried out and print processing speed is decreasing. <P>SOLUTION: A data decoding device comprises a data input means of inputting compressed data, a decoding means of interpreting and decoding the inputted compressed data, a data output means of outputting the data, a counter which counts pieces of output data, an output data byte number setting means for setting the number of bytes of the output data, a data number comparing means of comparing the counted value of the counter with a value set in the output data byte number setting means, an added data specifying means of specifying added data outputted, before and after decoding, and an added data generating means of generating the added data. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、圧縮されたデータを復号化するデータ復号化装置に関するものである。   The present invention relates to a data decoding apparatus for decoding compressed data.

従来、ホストコンピュータで印刷データを作成してプリンタへ送信する場合、印刷データは図形オブジェクトを含む矩形領域を単位として生成される。矩形領域は印刷用紙の印字可能範囲の左端から右端までである。図5を使用して説明する。   Conventionally, when print data is created by a host computer and transmitted to a printer, the print data is generated in units of rectangular areas including graphic objects. The rectangular area is from the left end to the right end of the printable range of the printing paper. This will be described with reference to FIG.

図5において、501は印刷用紙を表し、502,503は印刷データを含む矩形領域である。例えば、502に示すように、或る図形オブジェクトを含む矩形領域を印刷データの1つの単位とし、プリンタへ送る印刷データをホストコンピュータで生成し、プリンタへ送信する。502は三角形や四角形や円形等の図形オブジェクトを含み、503は楕円形の図形オブジェクトと文字データを含む。プリンタへ送信する印刷データは多値のカラーデータ(RGB各色8bit等)である。プリンタでは受信した印刷データを解釈し、色空間変換を行った後、ディザ法或は誤差拡散法等を用いて、多値のカラーデータをCMYK或はCMYKcmのインク各色のオンオフデータとなる2値のカラーデータを生成する。   In FIG. 5, reference numeral 501 represents a print sheet, and 502 and 503 are rectangular areas including print data. For example, as shown in 502, a rectangular area including a certain graphic object is used as one unit of print data, and print data to be sent to the printer is generated by the host computer and sent to the printer. 502 includes graphic objects such as triangles, quadrangles, and circles, and 503 includes elliptical graphic objects and character data. The print data transmitted to the printer is multi-valued color data (RGB each color 8 bits). The printer interprets the received print data, performs color space conversion, and then uses the dither method or error diffusion method to convert the multivalued color data into binary data that becomes on / off data for each color of CMYK or CMYKcm ink. Generate color data.

ホストコンピュータからプリンタへ送信する印刷データ量を少なくするために種々のデータ圧縮方法が用いられてきた。そのデータ圧縮法の1つにパックビッツ法がある。パックビッツ法を用いてデータを圧縮して、印刷データ量を少なくすることに加え、印刷データを生成する単位である矩形領域の中に着目し、図形オブジェクトの左右の余白部分は印刷データの対象から除外して印刷データに含めないようにして印刷データ量を減らす手法が採られてきた。   Various data compression methods have been used to reduce the amount of print data transmitted from the host computer to the printer. One of the data compression methods is the pack bits method. In addition to reducing the amount of print data by compressing data using the Packbits method, pay attention to the rectangular area that is the unit for generating print data, and the left and right margins of the graphic object are the targets of the print data A method has been adopted in which the amount of print data is reduced by excluding it from being included in the print data.

この手法によれば、ホストコンピュータは502の矩形領域の中の図形オブジェクトを対象データとしてパックビッツ圧縮を行い、圧縮データの最後に終端コードを付加してプリンタへデータを送り、プリンタ内で図形オブジェクトの左端から前と右端から後ろのデータを生成してプリンタエンジンへ渡すよう構成されていた。ホストコンピュータから送信されるデータの色空間がRGBの場合は「1」、CMYK又はCMYKcmの場合は「0」(白を表すデータ)を生成してプリンタエンジンへ渡すよう構成されていた。   According to this method, the host computer performs packbits compression using a graphic object in the rectangular area 502 as target data, adds a termination code to the end of the compressed data, and sends the data to the printer. The data from the left end to the front and from the right end to the back is generated and passed to the printer engine. When the color space of the data transmitted from the host computer is RGB, “1” is generated, and when the color space is CMYK or CMYKcm, “0” (data representing white) is generated and passed to the printer engine.

上述した処理を図を用いて説明する。図6は図5に示す矩形領域502のような図形オブジェクトを含む矩形領域をライン単位で詳細に表現した図であり、矩形領域がnラインから構成されている例を示したものである。斜線部602は図形オブジェクトが存在する部分を示し、601,603は図形オブジェクトが存在しない空白部分を示している。Line3は矩形領域の右端にのみ図形オブジェクトが存在する場合を示している。Line4は矩形領域の左端にのみ図形オブジェクトが存在する場合を示している。Line5は矩形領域の左端から右端まで図形オブジェクトが存在し、空白部分がない場合を示している。   The processing described above will be described with reference to the drawings. FIG. 6 is a detailed representation of a rectangular area including a graphic object such as the rectangular area 502 shown in FIG. 5 in line units, and shows an example in which the rectangular area is composed of n lines. A hatched portion 602 indicates a portion where a graphic object exists, and 601 and 603 indicate blank portions where no graphic object exists. Line 3 indicates a case where a graphic object exists only at the right end of the rectangular area. Line 4 indicates a case where a graphic object exists only at the left end of the rectangular area. Line 5 shows a case where a graphic object exists from the left end to the right end of the rectangular area and there is no blank portion.

ホストコンピュータ上で動作するプリンタドライバは、図6に示す矩形領域をライン単位で処理していく。先ず、ライン1の空白部分601に着目し、空白部分のデータバイト数をカウントし、図形オブジェクトの先頭アドレスオフセットとして印刷データの先頭に付加し、次に斜線部分602に着目し、図形オブジェクトのデータをパックビッツ法を用いて圧縮し、圧縮データの最後に終端コードを付加してLine1の印刷データとする。次に、Line2の左端の空白部分のデータバイト数をカウントし、図形データ先頭アドレスオフセットとして印刷データに付加し、斜線部分に関してパックビッツ法を用いて圧縮し、最後に終端コードを付加する。この処理をLine nまで順次繰り返した後矩形領域の印刷データをプリンタへ送信する。   The printer driver operating on the host computer processes the rectangular area shown in FIG. 6 line by line. First, pay attention to the blank portion 601 of the line 1, count the number of data bytes in the blank portion, add it to the beginning of the print data as the top address offset of the graphic object, and then pay attention to the hatched portion 602 to display the graphic object data. Is compressed using the Packbits method, and an end code is added to the end of the compressed data to obtain Line 1 print data. Next, the number of data bytes in the blank portion at the left end of Line 2 is counted, added to the print data as a graphic data head address offset, and the hatched portion is compressed using the Packbits method, and finally a termination code is added. After repeating this process up to Line n, the print data of the rectangular area is transmitted to the printer.

プリンタでは、受け取った印刷データから処理するラインの図形データ先頭アドレスオフセットを取り出した後、終端コードを探して、ライン単位の圧縮データを切り出し、ライン毎にパックビッツデコード処理を行う。ライン単位のデコード処理は図11に示す手順で行われる。先ず、デコード後の印刷データを格納するメモリ領域に白データを出力する処理を行う(S1101)。これは、上述したように「白」を表すデータを図形オブジェクトの左端から前と、図形オブジェクトの右端から後ろへ埋めるために行われる。図7の701が白データを書き込む矩形領域に対応するメモリ領域である。白データの出力処理はメモリ領域701の先頭アドレス702から行われる。   In the printer, after extracting the graphic data start address offset of the line to be processed from the received print data, the end code is searched for, the compressed data for each line is cut out, and the pack bits decoding process is performed for each line. The line-by-line decoding process is performed according to the procedure shown in FIG. First, processing for outputting white data to a memory area for storing decoded print data is performed (S1101). As described above, this is performed to fill the data representing “white” from the left end of the graphic object to the front and from the right end of the graphic object to the back. Reference numeral 701 in FIG. 7 denotes a memory area corresponding to a rectangular area in which white data is written. White data output processing is performed from the top address 702 of the memory area 701.

次に、パックビッツ法で圧縮されたデータをデコードしたデータをメモリへ書き込んでいく。図9に示す斜線部分904である。先頭アドレス902に図形データ先頭アドレスオフセットを加えたアドレス903から書き込みを開始し、デコードしたデータが終了するアドレス905で書き込みを終了する(図11のS1102)。S1102でデコードされたデータ904とS1101で白データを書き出した残領域901と906を合わせると矩形領域の1ラインの印刷データとなる。   Next, data obtained by decoding the data compressed by the Packbits method is written into the memory. This is a hatched portion 904 shown in FIG. Writing is started from an address 903 obtained by adding a graphic data start address offset to the start address 902, and writing is ended at an address 905 where the decoded data ends (S1102 in FIG. 11). When the data 904 decoded in S1102 and the remaining areas 901 and 906 in which the white data is written in S1101 are combined, print data for one line of a rectangular area is obtained.

上述した図11に示す処理を矩形領域のライン数分繰り返した後、メモリ上に展開された印刷データを画像処理ブロックへ渡し、画像処理ブロックにおいて図9の印刷データをプリンタエンジンへ渡す2値データへ変換する。   After the process shown in FIG. 11 is repeated for the number of lines in the rectangular area, the print data expanded on the memory is transferred to the image processing block, and the print data of FIG. 9 is transferred to the printer engine in the image processing block. Convert to

他の従来例として、着目しているデータ部から後ろのバンド終端へ向けて特殊なコードとそれに続くデータバイトを連続して付加して伸張する方法が特許文献1で述べられている。   As another conventional example, Patent Document 1 describes a method in which a special code and subsequent data bytes are continuously added and expanded from the data portion of interest toward the end of the subsequent band.

特開平10−287003号公報Japanese Patent Laid-Open No. 10-287003

上述したような従来例による処理においては、白データ出力処理を行ったメモリ領域にパックビッツ法で圧縮したデータをデコードした結果を書き出していたため、図6のLine2、Line4やLine5に示すように矩形領域の殆ど又は全てに図形オブジェクトがある場合、白データ出力処理を行った領域の殆ど又は全てをデコード結果で書き換えるため、無駄な白データ出力処理を行うことになり、印刷処理速度の低下を招く要因の一つとなっていた。   In the processing according to the conventional example as described above, since the result of decoding the data compressed by the Packbits method is written in the memory area where the white data output processing has been performed, a rectangular shape as shown in Line2, Line4, and Line5 in FIG. When there is a graphic object in most or all of the area, most or all of the area where the white data output processing has been performed is rewritten with the decoding result, so that unnecessary white data output processing is performed, resulting in a decrease in printing processing speed. It was one of the factors.

このような白データ出力を効率化するためには、始めに矩形領域の左端から右端までの幅全て白データを書き込むのではなく、図形データ以外の必要な部分にのみ白データを書き出せば良い。   In order to increase the efficiency of such white data output, it is only necessary to write white data only in necessary portions other than graphic data, instead of writing white data in the entire width from the left end to the right end of the rectangular area.

前記特許文献1に述べられている方法は、着目しているデータ部から後ろのバンド終端へ向けて特殊なコードとそれに続くデータバイトを連続して付加して伸張する方法であり、図形データの右側の白データ出力処理の1つの解法となり得るが、図形データの左端から左側の白データ出力に関しては適用できない。   The method described in Patent Document 1 is a method in which a special code and subsequent data bytes are continuously added and expanded from the data portion of interest toward the end of the subsequent band. Although it can be one solution of the white data output process on the right side, it cannot be applied to the white data output on the left side from the left end of the graphic data.

本発明は上記従来の問題に鑑みてなされたものであり、プリンタに搭載するパックビッツデコーダがデコード結果である図形データの左右に白データを付加してメモリへ書き出すよう構成し、圧縮データを復号化するだけでなく、白データまでを含めた印刷データの生成を効率良く行えるデータ復号化装置を提供することを目的とする。   The present invention has been made in view of the above-described conventional problems, and is configured such that a pack bit decoder installed in a printer adds white data to the left and right of the graphic data as a decoding result and writes the data to the memory, and decodes the compressed data. It is an object of the present invention to provide a data decoding apparatus that can efficiently generate print data including not only white data but also white data.

このような課題を解決するために、本発明のデータ復号化装置は、圧縮されたデータを復号化するデータ復号化装置であって、圧縮データを入力するデータ入力手段と、入力された圧縮データを解釈し、復号化を行うデコード手段と、データを出力するデータ出力手段と、出力データ数をカウントするカウンタと、出力データバイト数を設定する出力データバイト数設定手段と、前記カウンタのカウント値と前記出力データバイト数設定手段に設定された値とを比較するデータ数比較手段と、デコード開始前とデコード終了後に出力する付加データを指定する付加データ指定手段と、前記付加データを生成する付加データ生成手段とを備えることを特徴とする。   In order to solve such a problem, a data decoding apparatus according to the present invention is a data decoding apparatus for decoding compressed data, a data input means for inputting compressed data, and input compressed data Decoding means for interpreting and decoding, data output means for outputting data, a counter for counting the number of output data, an output data byte number setting means for setting the number of output data bytes, and a count value of the counter Data number comparing means for comparing the output data byte number setting means with the value set in the output data byte number setting means, additional data specifying means for specifying additional data to be output before and after decoding, and additional data for generating the additional data And a data generation means.

従来は白データを書き出したメモリ領域にパックビッツ法で圧縮したデータをデコードしたデータとして上書きするので、上書きされる部分に無駄な白データ出力処理を行うことになり、結果として印刷処理速度の低下を招く要因の1つとなっていた。   Conventionally, the data compressed by the Packbits method is overwritten as the decoded data in the memory area where the white data was written out, so unnecessary white data output processing is performed on the overwritten portion, resulting in a decrease in printing processing speed. It was one of the factors inviting.

本発明によれば、プリンタに搭載するパックビッツデコーダが矩形領域の左端から図形データの左側に白データを書き出し、続いて図形データのデコードデータを書き出し、最後に図形データの右端から右側に白データを書き出すというように白データ出力とデコードデータ出力を切り替えながら1ラインの印刷データを処理するよう構成したので、従来問題となっていたデコードデータで上書きされてしまう無駄な白データ出力処理が不要となり、効率の良い印刷データ復号化処理を行うことができるという効果がある。   According to the present invention, the Packbits decoder installed in the printer writes white data from the left end of the rectangular area to the left side of the graphic data, then writes the decoded data of the graphic data, and finally white data from the right end to the right side of the graphic data. Since one line of print data is processed while switching between white data output and decode data output, the unnecessary white data output process overwritten with the decode data, which has been a problem in the past, is unnecessary. There is an effect that it is possible to perform efficient print data decoding processing.

<実施の形態1>
以下図面を参照して本発明の実施の形態1を説明する。
<Embodiment 1>
Embodiment 1 of the present invention will be described below with reference to the drawings.

図3は本発明が実装されるプリンタシステムの概略ブロック図である。   FIG. 3 is a schematic block diagram of a printer system in which the present invention is implemented.

301がプリンタ本体であり、ホストPC304と接続されている。ホストPCとはネットワーク(有線LAN、無線LAN)やUSB、IEEE1394等を介して接続される。プリンタ301は、コントローラ302とプリンタエンジン303から構成されている。コントローラは、ホストPC304とのインタフェース機能と、ホストPCから送信された印刷データを解釈し、圧縮された印刷データをデコードし、画像処理を行い、2値データへ変換してプリンタエンジンへ渡す。プリンタエンジン303はコントローラ302から2値化された印刷データを受け取り、インクジェットプリンタの場合プリントヘッドのスキャン制御、インク吐出制御、紙送り制御等を行い、印刷を行う。   A printer main body 301 is connected to the host PC 304. The host PC is connected via a network (wired LAN, wireless LAN), USB, IEEE 1394, or the like. The printer 301 includes a controller 302 and a printer engine 303. The controller interprets the print data transmitted from the host PC 304 and the interface function with the host PC 304, decodes the compressed print data, performs image processing, converts it into binary data, and passes it to the printer engine. The printer engine 303 receives the binarized print data from the controller 302, and in the case of an ink jet printer, performs print head scan control, ink discharge control, paper feed control, and the like to perform printing.

図4はコントローラのブロックを示す図である。   FIG. 4 is a block diagram of the controller.

コントローラ401は、USBインタフェースを介してホストPC415と、IEEE1394インタフェースを介してホストPC418と、又、LANインタフェースを介して複数のホストPCと接続され、更にエンジンインタフェースを介してプリンタエンジン413と接続される。   The controller 401 is connected to the host PC 415 via the USB interface, the host PC 418 via the IEEE 1394 interface, and a plurality of host PCs via the LAN interface, and further connected to the printer engine 413 via the engine interface. .

コントローラ401は、コントローラチップ402とROM405、RAM407、操作パネル409、IEEE1394インタフェース417、LANコントローラ419、拡張インタフェース420から構成され、コントローラチップ402とIEEE1394インタフェース417、USBインタフェース414、拡張インタフェース420は拡張バスを介して接続される。   The controller 401 includes a controller chip 402, a ROM 405, a RAM 407, an operation panel 409, an IEEE 1394 interface 417, a LAN controller 419, and an expansion interface 420. The controller chip 402, the IEEE 1394 interface 417, the USB interface 414, and the expansion interface 420 provide an expansion bus. Connected through.

コントローラチップ402は、所謂SOC(System On a Chip)であり、CPU403、ROMコントローラ404、RAMコントローラ406、操作パネルインタフェース408、バスインタフェース416、パックビッツデコーダ410、画像データ処理ブロック411、USBインタフェース414、エンジンインタフェース412から構成されるLSIであり、内部バスによって相互に接続されている。   The controller chip 402 is a so-called SOC (System On a Chip), and includes a CPU 403, a ROM controller 404, a RAM controller 406, an operation panel interface 408, a bus interface 416, a pack bits decoder 410, an image data processing block 411, a USB interface 414, An LSI composed of an engine interface 412 and connected to each other by an internal bus.

CPU403は、ROM405に格納されたプログラムに従って動作し、各種インタフェースを通じてホストPC、プリンタエンジンとの通信や各部の制御を行う。ROMコントローラ404は、接続されたROM405とのインタフェースを行う。RAMコントローラ406は、接続されたRAM407とのインタフェースを行い、RAMアクセスタイミングを制御しながら、CPU403や他のブロックからの要求に従い、RAMへのデータ入出力を行う。操作パネルインタフェース408は、操作キーやLED、LCDを実装した操作パネル409とのインタフェースを行い、ユーザからの操作キー入力をCPU403へ伝え、CPU403からの命令によってLED、LCDの表示が制御される。バスインタフェース416は、拡張バスを制御するブロックであり、拡張バスに接続された各コントローラとの通信制御を行う。   The CPU 403 operates according to a program stored in the ROM 405, and communicates with the host PC and printer engine and controls each unit through various interfaces. The ROM controller 404 performs an interface with the connected ROM 405. The RAM controller 406 interfaces with the connected RAM 407, and inputs / outputs data to / from the RAM in accordance with requests from the CPU 403 and other blocks while controlling the RAM access timing. An operation panel interface 408 interfaces with an operation panel 409 equipped with operation keys, LEDs, and an LCD, transmits operation key inputs from the user to the CPU 403, and the display of the LEDs and LCD is controlled by commands from the CPU 403. The bus interface 416 is a block that controls the expansion bus, and performs communication control with each controller connected to the expansion bus.

パックビッツデコーダ410は、ホストPCから送信されるパックビッツ法によって圧縮された印刷データをRAM407から読み出し、デコードしてRAMへ書き戻す(格納する)。画像データ処理ブロック411は、印刷データとしてホストPCから送信された画像データをRAM407から読み出し、各インク色のドットデータに変換し、RAM407へ書き戻す(格納する)ブロックである。エンジンインタフェース412は、各インク色のドットデータをRAM407から読み出し、プリンタエンジン413へ送信する(出力する)制御を行う。   The pack bits decoder 410 reads print data compressed by the pack bits method transmitted from the host PC from the RAM 407, decodes it, and writes it back to the RAM (stores it). The image data processing block 411 is a block that reads out image data transmitted from the host PC as print data from the RAM 407, converts it into dot data of each ink color, and writes back (stores) it in the RAM 407. The engine interface 412 performs control for reading out dot data of each ink color from the RAM 407 and transmitting (outputting) the data to the printer engine 413.

ホストPCから送信される印刷データは、コントローラの各インタフェースから入力される。IEEE1394インタフェース417或はLANコントローラ419を経由して入力された印刷データは拡張バスを通じてコントローラチップ402のバスインタフェース416を経由し、RAMコントローラ406の制御に従って、RAM417へ書き込まれる。USBインタフェース414は、コントローラチップ402に内蔵されており、ホストPC415から入力された印刷データは同様にしてRAM407へ書き込まれる。   Print data transmitted from the host PC is input from each interface of the controller. Print data input via the IEEE 1394 interface 417 or the LAN controller 419 is written to the RAM 417 via the expansion bus via the bus interface 416 of the controller chip 402 and under the control of the RAM controller 406. The USB interface 414 is built in the controller chip 402, and print data input from the host PC 415 is similarly written to the RAM 407.

RAM407へ書き込まれた印刷データは、CPU403によって通信プロトコルが解釈された後、パックビッツデコーダ410へ渡され、デコードされる。デコードされた印刷データは、画像データ処理ブロック411へ渡され、各インク色のドットデータに変換された後、エンジンインタフェース412を通じてプリンタエンジン413へ送信されて印刷される。   The print data written in the RAM 407 is transferred to the Packbits decoder 410 after being decoded by the CPU 403 and the communication protocol is decoded. The decoded print data is transferred to the image data processing block 411, converted into dot data of each ink color, and then transmitted to the printer engine 413 through the engine interface 412 for printing.

図2は図4に示すパックビッツデコーダ410の内部ブロック図である。パックビッツデコーダ410は本図では201で示され、内部バスインタフェースブロック202とパックビッツデコーダブロック204、レジスタブロック203から構成されており、レジスタブロック203は、内部インタフェースブロック202、パックビッツデコーダ204と接続され、レジスタに設定された情報を各ブロックへ伝達する。   FIG. 2 is an internal block diagram of the pack bits decoder 410 shown in FIG. The pack bits decoder 410 is denoted by 201 in the figure, and comprises an internal bus interface block 202, a pack bits decoder block 204, and a register block 203. The register block 203 is connected to the internal interface block 202 and the pack bits decoder 204. The information set in the register is transmitted to each block.

レジスタブロック203は、CPU403から設定されるDMAソースアドレス、DMAデスティネーションアドレス、読み込みデータ長、領域長、図形データ先頭アドレスオフセット、動作モード等の各種設定情報を内部レジスタに保持する。   The register block 203 holds various setting information such as a DMA source address, a DMA destination address, a read data length, an area length, a graphic data head address offset, and an operation mode set by the CPU 403 in an internal register.

内部バスインタフェースブロック202は、コントローラチップ401の内部バスに接続されており、内部バス上でバスマスタとなってRAM407へアクセスを行うDMAコントローラ機能を持つ。レジスタブロック203の各種設定情報に従い動作し、白データ(00H又はFFHのバイトデータ)を生成出力する機能を持つ。DMAソースアドレスを先頭アドレスとするメモリ領域から順次読み出したデータをパックビッツデコーダブロック204へ渡し、パックビッツデコーダブロック204から受け取ったデコードデータをDMAデスティネーションアドレスと図形データ先頭アドレスオフセットを加えたアドレスを先頭アドレスとするメモリ領域へ順次書き込む。   The internal bus interface block 202 is connected to the internal bus of the controller chip 401, and has a DMA controller function for accessing the RAM 407 as a bus master on the internal bus. It operates in accordance with various setting information of the register block 203 and has a function of generating and outputting white data (00H or FFH byte data). Data sequentially read from the memory area having the DMA source address as the head address is transferred to the Packbits decoder block 204, and the decoded data received from the Packbits decoder block 204 is an address obtained by adding the DMA destination address and the graphic data head address offset. Sequentially write to the memory area as the start address.

レジスタブロック203の設定に応じてパックビッツデコードの開始前と終了後に白データを出力する機能を持つ。又、DMAコントローラ機能に含まれ、図示しないアドレスカウンタ、入力データバイト数カウンタ、出力データバイト数カウンタ、カウンタ値の比較器を備えている。   According to the setting of the register block 203, white data is output before and after the start of pack bits decoding. Also included in the DMA controller function are an address counter, input data byte number counter, output data byte number counter, and counter value comparator (not shown).

パックビッツデコーダブロック204は、パックビッツ法に従って圧縮された圧縮データを解釈し、パックビッツデコードを行うブロックである。コマンドバイトを解釈し、コピー動作かムーブ動作を判定して、コマンドに従ってデータを出力する。内部バスインタフェースブロック202から入力される圧縮データの先頭からデコードをはじめ、圧縮データの終端を示す終端コードが来たところでデコード動作を終了する。   The pack bits decoder block 204 interprets compressed data compressed according to the pack bits method and performs pack bits decoding. Interpret the command byte, determine the copy operation or move operation, and output the data according to the command. Decoding is started from the beginning of the compressed data input from the internal bus interface block 202, and the decoding operation is terminated when the end code indicating the end of the compressed data is received.

次に、図1と図8〜図10を用いてパックビッツデコーダの動作を説明する。尚、図8〜図10は印刷データが書き出されるメモリ領域を模式的に表したものであり、データが書き出される順に分けてあるが、同じ領域を示しているので図中に示したアドレス、領域を指す番号の末尾が同じものは各図で同じものを表している。   Next, the operation of the Packbits decoder will be described with reference to FIG. 1 and FIGS. FIGS. 8 to 10 schematically show memory areas in which print data is written, and are divided in the order in which the data is written. However, since the same areas are shown, the addresses and areas shown in FIG. The thing with the same end of the number which points to represents the same thing in each figure.

先ず、CPU403がパックビッツデコード処理の各種設定をレジスタブロック203に対して行う。DMAソースアドレスとしてパックビッツ圧縮された印刷データの各ラインの先頭を指すRAM407上のアドレスを設定する。DMAデスティネーションアドレスとして印刷データの各ラインの先頭を指すRAM407上のアドレス(図8におけるアドレス802)を設定する。   First, the CPU 403 performs various settings for pack bits decoding processing on the register block 203. As the DMA source address, an address on the RAM 407 indicating the head of each line of the print data compressed in pack bits is set. An address (address 802 in FIG. 8) on the RAM 407 indicating the head of each line of the print data is set as the DMA destination address.

更に、図6のLine1やLine2のように図形データの左側に空白部分がある場合、ホストPCから送られてくる印刷データに付加されている図形データ先頭アドレスオフセットを切り出して設定する。この場合、パックビッツ圧縮されたデータをデコードしたデータを書き出すメモリ領域の先頭アドレスは、DMAデスティネーションアドレス802に図形データ先頭アドレスオフセットを加えたアドレス803となる。読み込みデータ長はパックビッツ圧縮されたデータの長さを設定する。領域長は印刷データの矩形領域の長さ(図5の502の矩形領域の幅である。印刷用紙の印字可能範囲幅であり、図8においてはアドレス807からアドレス802を引いた値となる。)を設定する。白データとして00H又はFFHのどちらのバイトデータを出力するかを設定する。00H、FFHどちらのデータを出力するかは、受信した印刷データがRGB、CMYKのどちらの色空間データかに依存する。RGBの場合はFFH、CMYKの場合は00Hを設定する。これらの設定後、パックビッツデコーダ201のDMA動作を開始させる。   Further, when there is a blank portion on the left side of the graphic data as in Line 1 and Line 2 in FIG. 6, the graphic data head address offset added to the print data sent from the host PC is cut out and set. In this case, the start address of the memory area in which the data obtained by decoding the packbits-compressed data is written becomes the address 803 obtained by adding the graphic data start address offset to the DMA destination address 802. The read data length sets the length of the data compressed by Packbits. The area length is the length of the rectangular area of the print data (the width of the rectangular area 502 in FIG. 5. The printable range width of the printing paper. In FIG. 8, the value is obtained by subtracting the address 802 from the address 807. ) Is set. It is set which byte data of 00H or FFH is output as white data. Whether 00H or FFH data is output depends on whether the received print data is RGB or CMYK color space data. FFH is set for RGB, and 00H is set for CMYK. After these settings, the DMA operation of the pack bits decoder 201 is started.

DMA起動後の処理を図1に示す。   FIG. 1 shows the processing after DMA activation.

S101では、図形データの左側の白データ出力処理を行うかどうかを判定する。図形データ先頭アドレスオフセットの値が「0」であれば白データ出力処理を行わず、S104へ進む。   In S101, it is determined whether or not to perform white data output processing on the left side of the graphic data. If the value of the graphic data start address offset is “0”, the white data output process is not performed and the process proceeds to S104.

S102では、図形データの左側の白データ出力処理を行う。レジスタブロック203の設定に従って、00H又はFFHのどちらかのバイトデータを書き出す。DMAデスティネーションアドレス802から白データの出力を開始する。白データ出力後、アドレスカウンタをインクリメントする。   In S102, white data output processing on the left side of the graphic data is performed. According to the setting of the register block 203, either 00H or FFH byte data is written. Output of white data is started from the DMA destination address 802. After white data is output, the address counter is incremented.

S103では、図形データの左側の白データ出力処理の終了を判定する。アドレスカウンタの値(出力アドレス)がDMAデスティネーションアドレス802と図形データ先頭アドレスオフセットを加えたアドレス803と等しくなると、次の処理S104へ進み、そうでなければS102へ戻り、白データ出力を繰り返す。図形データの左側の白データ出力処理が終了した時点で図8の801の領域に白データが出力されたことになる。   In S103, the end of the white data output process on the left side of the graphic data is determined. When the value of the address counter (output address) becomes equal to the DMA destination address 802 and the address 803 obtained by adding the graphic data head address offset, the process proceeds to the next process S104, otherwise returns to S102 and repeats the white data output. When the white data output process on the left side of the graphic data is completed, the white data is output to the area 801 in FIG.

S104では、パックビッツデコード処理を行う。内部バスインタフェースブロック202はDMAソースアドレスから圧縮データを読み込み、パックビッツデコーダブロック204へ渡し、パックビッツデコーダブロックが出力するデコードデータを受け取り、DMAデスティネーションアドレスと図形データ先頭アドレスオフセットを加えたアドレス803から書き込みを開始する。デコード処理は圧縮データ分繰り返され、圧縮データがなくなった時点で終了する。図9においては、アドレス903からデコードデータ904の書き込みを開始し、アドレス905でデコード処理を終了する。デコーダからの出力を終了した時点で図9の斜線部904の印刷データが生成されたことになる。   In S104, pack bits decoding processing is performed. The internal bus interface block 202 reads the compressed data from the DMA source address, passes it to the Packbits decoder block 204, receives the decoded data output from the Packbits decoder block, and adds the DMA destination address and the graphic data head address offset 803 Start writing from. The decoding process is repeated for the compressed data, and ends when there is no more compressed data. In FIG. 9, the decoding data 904 starts to be written from the address 903 and the decoding process ends at the address 905. When the output from the decoder is completed, the print data of the hatched portion 904 in FIG. 9 is generated.

S105では、図形データの右側の白データ出力処理を行うかどうかを判定する。内部バスインタフェースブロック202において出力データバイト数カウンタとレジスタブロック203に設定された領域長を比較し、領域長の方が長ければ、S106へ進み、右端白データ出力処理を行う。図9の例ではデコードデータ904は領域長にまで達していない(領域の右端アドレス907まで達していない)ので、次に図形データの右側に白データ書き込み処理を行う。図6のLine3のように領域長の右端までデコードデータが書き出されている場合は、右端白データ出力処理は行わず、本処理を終了する。   In S105, it is determined whether or not to perform white data output processing on the right side of the graphic data. In the internal bus interface block 202, the output data byte counter and the area length set in the register block 203 are compared. If the area length is longer, the process proceeds to S106, and the right end white data output process is performed. In the example of FIG. 9, since the decode data 904 has not reached the area length (the area has not reached the right end address 907), white data writing processing is next performed on the right side of the graphic data. When the decode data is written to the right end of the area length as in Line 3 of FIG. 6, the right end white data output process is not performed and this process ends.

S106では、図形データの右側の白データ出力処理を行う。レジスタブロック203の設定に従って、00H又はFFHのどちらかのバイトデータを書き出す。図10におけるアドレス1005から白データの出力を開始する。白データ出力後、アドレスカウンタをインクリメントする。   In S106, white data output processing on the right side of the graphic data is performed. According to the setting of the register block 203, either 00H or FFH byte data is written. Output of white data is started from an address 1005 in FIG. After white data is output, the address counter is incremented.

S107では、図形データの右側の白データ出力処理の終了を判定する。出力アドレス値がDMAデスティネーションアドレス1002に領域長を加えたアドレス1007と等しくなるまではS106へ戻り、白データ出力を繰り返す。出力アドレス値がアドレス1007と等しくなると白データ出力処理を終了する。図形データの右側の白データ出力処理が終了した時点で図10の1006の領域に白データが出力され、アドレス1002〜1007までの1ライン分の印刷データ出力処理が完了する。   In S107, the end of the white data output process on the right side of the graphic data is determined. Until the output address value becomes equal to the address 1007 obtained by adding the area length to the DMA destination address 1002, the process returns to S106, and the white data output is repeated. When the output address value becomes equal to the address 1007, the white data output process is terminated. When the white data output process on the right side of the graphic data is completed, the white data is output to the area 1006 in FIG. 10, and the print data output process for one line from addresses 1002 to 1007 is completed.

本処理を矩形領域を構成するライン数回繰り返すことによって、矩形領域の印刷データを生成できる。生成した印刷データは、画像データ処理ブロック411でプリンタエンジン用の2値データへ変換され、エンジンインタフェース412を経由してプリンタエンジン413へと送られ、印刷される。尚、プリンタエンジン413は、記録ヘッド(黒インクを吐出するモノクロ記録ヘッド、シアンインクを吐出するカラー用記録ヘッド等)を用いたインクジェット方式である場合、白データ(00H)に相当する記録ヘッド(ノズル)からは、インクの吐出がなされない。   By repeating this process a number of times constituting the rectangular area, print data for the rectangular area can be generated. The generated print data is converted into binary data for the printer engine in the image data processing block 411, sent to the printer engine 413 via the engine interface 412, and printed. When the printer engine 413 is an inkjet system using a recording head (a monochrome recording head that discharges black ink, a color recording head that discharges cyan ink, or the like), the printer engine 413 corresponds to the white data (00H). No ink is ejected from the nozzles.

上述したように、本実施の形態においては、パックビッツデコーダが矩形領域の図形データの左端から左側と右端から右側の白データを付加してデコード結果をメモリへ書き出すので、デコードデータで上書きされてしまう無駄な白データ出力処理が不要となり、印刷データ復号化処理を効率化できる。   As described above, in this embodiment, the Packbits decoder adds white data from the left end to the left side and the right end to the right side of the graphic data in the rectangular area and writes the decoding result to the memory. The unnecessary white data output process becomes unnecessary, and the print data decoding process can be made more efficient.

<実施の形態2>
実施の形態1は、内部バスインタフェースブロック202に出力アドレスカウンタ、左端白データ出力判断ロジック、出力データバイト数カウンタ、右端白データ出力判断ロジック、白データ生成部を実装した例を示したが、上記左端白データ出力判断ロジック、出力データバイト数カウンタ、右端白データ出力判断ロジック、白データ生成部をパックビッツデコーダブロック204へ実装し、出力アドレスカウンタ値を内部バスインタフェースブロック202から参照するように構成しても実施の形態1と同様に動作させることができる。
<Embodiment 2>
In the first embodiment, the output address counter, the left end white data output determination logic, the output data byte number counter, the right end white data output determination logic, and the white data generation unit are mounted on the internal bus interface block 202. The left end white data output determination logic, the output data byte count counter, the right end white data output determination logic, and the white data generation unit are mounted on the pack bits decoder block 204, and the output address counter value is referred to from the internal bus interface block 202. Even so, it can be operated in the same manner as in the first embodiment.

又、本発明においてはホストPCで圧縮される方式としてパックビッツ法に関して説明を行ったが、パックビッツ法に限定されるものではなく、印刷データの1ラインを単位で圧縮できる他の圧縮方法を用い、対応するデコード機能を持つデコーダをデコーダブロック204としてコントローラチップ402に搭載すれば、同様に動作させることができる。   In the present invention, the Packbits method has been described as a method of being compressed by the host PC. However, the present invention is not limited to the Packbits method, and other compression methods that can compress one line of print data in units. If a decoder having a corresponding decoding function is mounted on the controller chip 402 as the decoder block 204, the same operation can be performed.

本発明は、圧縮されたデータを復号化するデータ復号化装置に対して適用可能である。   The present invention is applicable to a data decoding apparatus that decodes compressed data.

本発明の実施の形態1におけるデータ復号化装置の処理動作を示すフローチャートである。It is a flowchart which shows the processing operation of the data decoding apparatus in Embodiment 1 of this invention. 本発明の実施の形態1におけるデータ復号化装置の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the data decoding apparatus in Embodiment 1 of this invention. 本発明におけるプリンタシステムの構成を示すブロック図である。1 is a block diagram illustrating a configuration of a printer system according to the present invention. 本発明におけるプリンタのコントローラの構成を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration of a printer controller according to the present invention. 本発明が対象とするプリントデータを示す図である。It is a figure which shows the print data which this invention makes object. 本発明が対象とするプリントデータの矩形領域内の詳細を示す図である。It is a figure which shows the detail in the rectangular area | region of the print data which this invention makes object. 本発明が対象とするプリントデータの矩形領域内に対応するメモリ領域に白データを書き出した状態を示す図である。FIG. 6 is a diagram illustrating a state in which white data is written in a memory area corresponding to a rectangular area of print data targeted by the present invention. 本発明が対象とするプリントデータの矩形領域内に対応するメモリ領域の左端から図形データの左側に白データを出力した状態を示す図である。It is a figure which shows the state which output white data to the left side of figure data from the left end of the memory area corresponding to the rectangular area of the print data which this invention makes object. 本発明が対象とするプリントデータの矩形領域内に対応するメモリ領域に復号化したデータを出力した状態を示す図である。It is a figure which shows the state which output the decoded data to the memory area corresponding to the rectangular area of the print data which this invention makes object. 本発明が対象とするプリントデータの矩形領域内に対応するメモリ領域の図形データの右端から右側に白データを出力した状態を示す図である。FIG. 6 is a diagram illustrating a state in which white data is output from the right end to the right side of graphic data in a memory area corresponding to a rectangular area of print data targeted by the present invention. 従来例におけるデータ復号化の処理動作を示すフローチャートである。It is a flowchart which shows the processing operation | movement of the data decoding in a prior art example.

符号の説明Explanation of symbols

S101 左端白データ出力を行うかどうかを判定する処理
S102 左端白データ出力処理
S103 左端白データ出力処理の終了を判定する処理
S104 パックビッツデコード処理
S105 右端白データ出力を行うかどうかを判定する処理
S106 右端白データ出力処理
S107 右端白データ出力処理の終了を判定する処理
S101 Processing for determining whether left-end white data is output S102 Left-end white data output processing S103 Processing for determining end of left-end white data output processing S104 Packbits decoding processing S105 Processing for determining whether right-end white data is output S106 Right-end white data output process S107 Process for determining the end of the right-end white data output process

Claims (5)

圧縮されたデータを復号化するデータ復号化装置であって、
圧縮データを入力するデータ入力手段と、入力された圧縮データを解釈し、復号化を行うデコード手段と、データを出力するデータ出力手段と、出力データ数をカウントするカウンタと、出力データバイト数を設定する出力データバイト数設定手段と、前記カウンタのカウント値と前記出力データバイト数設定手段に設定された値とを比較するデータ数比較手段と、デコード開始前とデコード終了後に出力する付加データを指定する付加データ指定手段と、前記付加データを生成する付加データ生成手段と、を備えることを特徴とするデータ復号化装置。
A data decoding device for decoding compressed data, comprising:
A data input means for inputting compressed data; a decoding means for interpreting and decoding the input compressed data; a data output means for outputting data; a counter for counting the number of output data; and the number of output data bytes. Output data byte number setting means to be set, data number comparison means for comparing the count value of the counter with the value set in the output data byte number setting means, and additional data to be output before decoding and after decoding ends A data decoding apparatus comprising: additional data specifying means for specifying; and additional data generating means for generating the additional data.
前記データ出力手段は、出力アドレスを設定する出力アドレス設定手段と、前記出力アドレス設定手段に設定したアドレスに対するオフセットを設定するアドレスオフセット設定手段と、前記出力アドレス設定手段に設定された出力アドレス値と前記アドレスオフセット設定手段に設定されたアドレスオフセット値を加算するアドレス加算手段と、前記出力アドレス値をカウントして出力アドレスを生成する出力アドレス生成手段と、前記アドレス加算手段の加算結果と出力アドレス値の比較を行うアドレス比較手段とを含み、前記データ数比較手段による比較結果と前記アドレス比較手段による比較結果に応じて、前記付加データ指定手段の設定に従い、付加データ生成手段によって生成された付加データを生成出力する処理と、前記デコード手段を用いて圧縮データをデコードしたデータを出力する処理とを切り替える制御を行う制御手段を有することを特徴とする請求項1に記載のデータ復号化装置。   The data output means includes an output address setting means for setting an output address, an address offset setting means for setting an offset with respect to the address set in the output address setting means, and an output address value set in the output address setting means. Address addition means for adding the address offset value set in the address offset setting means, output address generation means for counting the output address value to generate an output address, addition result of the address addition means and output address value Additional data generated by the additional data generating means according to the setting of the additional data designating means according to the comparison result by the data number comparing means and the comparison result by the address comparing means. Processing to generate and output the deco Data decoding apparatus according to claim 1, characterized in that it comprises a control means for controlling switching between the processing for outputting the decoded data compressed data using a draw means. 前記付加データ生成手段は‘0’又は‘1’のデータを生成することが可能であり、前記付加データ指定手段は付加データとして‘0’又は‘1’のどちらかを選択して指定することが可能であることを特徴とする請求項1記載のデータ復号化装置。   The additional data generation means can generate '0' or '1' data, and the additional data designation means selects and designates either '0' or '1' as additional data. The data decoding apparatus according to claim 1, wherein: 前記データ入力手段と前記データ出力手段はさらにDMA(Direct Memory Access)を行い、圧縮データを読み込み、デコードデータ及び付加データを出力するよう動作することを特徴とする請求項1又は2記載のデータ復号化装置。   3. The data decoding according to claim 1, wherein the data input means and the data output means further perform DMA (Direct Memory Access), read compressed data, and output decoded data and additional data. Device. 前記デコード手段はパックビッツ圧縮法によって圧縮されたデータを復号化するデコード手段であることを特徴とする請求項〜4の何れかに記載のデータ復号化装置。   5. The data decoding apparatus according to claim 4, wherein the decoding means is decoding means for decoding data compressed by a Packbits compression method.
JP2004015853A 2004-01-23 2004-01-23 Data-decoding device Withdrawn JP2005210488A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004015853A JP2005210488A (en) 2004-01-23 2004-01-23 Data-decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004015853A JP2005210488A (en) 2004-01-23 2004-01-23 Data-decoding device

Publications (1)

Publication Number Publication Date
JP2005210488A true JP2005210488A (en) 2005-08-04

Family

ID=34901197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004015853A Withdrawn JP2005210488A (en) 2004-01-23 2004-01-23 Data-decoding device

Country Status (1)

Country Link
JP (1) JP2005210488A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014049978A (en) * 2012-08-31 2014-03-17 Canon Inc Data processing device, data processing method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014049978A (en) * 2012-08-31 2014-03-17 Canon Inc Data processing device, data processing method, and program

Similar Documents

Publication Publication Date Title
US6860203B2 (en) Method and apparatus for printing computer generated images
JPH066386B2 (en) Output device
JP2001053620A (en) Method and device for encoding, method and device for decoding, and storage medium
JPH1166327A (en) Method and device for processing image and recording medium
JP2005210488A (en) Data-decoding device
JPH0918732A (en) Image processor and its method
JP2006229555A (en) Data decoding device
JP2006031376A (en) Image processor and color conversion method
JPH11203070A (en) Printer controller
JP2000335021A (en) Image processing apparatus and method
JP2006238318A (en) Data decoder
JP2008097142A (en) Printer and printer system
JP4389199B2 (en) Printer system
JP4642501B2 (en) Data decoding apparatus, data decoding method, and recording apparatus
JP3683667B2 (en) Printer controller
JP2007069424A (en) Printer
JP2007140953A (en) Information processor, image forming system, and data generating method
JP3985568B2 (en) Printer host, printer driver and printing system
JP2005354168A (en) Data decoder
KR100208385B1 (en) Apparatus and method for buffering data by dividing text and picture data
JP2942118B2 (en) Output control method
AU767448B2 (en) Method and apparatus for printing computer generated images
JP3862363B2 (en) Information output system and information output method
JP2942117B2 (en) Output device
JP2000047976A (en) Printer control unit

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060201

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070403