JP2006168102A - 記録装置 - Google Patents

記録装置 Download PDF

Info

Publication number
JP2006168102A
JP2006168102A JP2004362392A JP2004362392A JP2006168102A JP 2006168102 A JP2006168102 A JP 2006168102A JP 2004362392 A JP2004362392 A JP 2004362392A JP 2004362392 A JP2004362392 A JP 2004362392A JP 2006168102 A JP2006168102 A JP 2006168102A
Authority
JP
Japan
Prior art keywords
data
line
decompression
buffer
blank
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
JP2004362392A
Other languages
English (en)
Inventor
Reiji Hashimoto
礼児 橋本
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 JP2004362392A priority Critical patent/JP2006168102A/ja
Publication of JP2006168102A publication Critical patent/JP2006168102A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

【課題】 ライン単位に左マージン設定の変更と空白情報の転送とを可能とする構成においても、パックビッツ展開をブロック単位にハードウェアで高速に行う。従来ライン単位にパックビッツ解凍を行っており展開処理が遅かった。
【解決手段】 ラスタデータ受信では、パックビッツ圧縮された左余白データと圧縮ラスタデータと行端コードを圧縮バッファに書き込み、空白ラスタ受信では空白ラインデータを圧縮バッファに書き込み、これらを複数ラインまとめて解凍ハードウェアに処理させる。解凍ハードウェアは行末コードを読込むと現ライン末端まで空白を展開したあと次ラインの解凍にうつる。
【選択図】 図2

Description

本発明はデータを受信して記録する記録装置、より詳しくはラスタ単位に圧縮された記録データをバッファに展開する記録制御装置に関する。
ホストコンピュータで生成された記録データを受信して被記録媒体上に記録する記録装置は、記録データ形式の観点からページ記述言語ないしラスタ形式に大別される。ラスタ形式はホストコンピュータでラスタライズを行うので印刷装置に要求されるリソースが少なく比較的低コストな機器で多く用いられる。しかし、ラスタライズされているが故にデータ量が増大しがちであるので実用上はデータ圧縮が必須である。
代表的な圧縮方法としてはランレングス圧縮がある。これは、繰り返し回数を示すタグとデータそのものとの組でデータ列を表記したものであり、データ圧縮に要する計算コストが低くハードウェア化も容易、二値画像に対しての圧縮率が比較的良好、といった特徴があるためラスタ形式の記録装置に好適である。その中でもバイト単位で圧縮を行う方式としてTIFF−Packbitsがよく知られている。これは、連続データでは <‘(1−繰り返し回数)’,‘データ’>の組を送り、非連続データでは <‘(データ数−1)’,‘非圧縮データ列’>の組を送るものである。繰り返し回数とデータ数は128以下と定義されているので、128(0x80)がタグに現れることがないという特徴がある。
一般に、圧縮データの解凍はその速度が印刷パフォーマンスに重大な影響を与えるので、ソフトウェアの介在を出来るだけ少なくするべくハードウェアで複数ラインまとめて行うことが望ましい。通常、ハードウェアによる解凍では処理ライン数があらかじめ決められており、そのライン数分の圧縮データは一気に処理しなければならない。従って、左右の余白と空白行も、展開後にバッファを塗りつぶすようにデータに含めてランレングス圧縮されていなければならない。また、多色データを展開する場合には面順次処理となるので、処理単位ライン数毎にデータをブロック化しなければならない。
特許文献1には色の切り替えを自動で行うようにした構成が開示されている。図3はこの構成でのデータ転送形式を表した模式図であり、R301、R302で示されるようにハードウェア制約に合わせた高さで空白も含めた形で圧縮データがブロック単位に生成されている。そのため、空白のデータに対してもホストコンピュータでの描画−データ圧縮−転送−データ解凍を行っておりシステム全体のオーバヘッドを増大させていた。また、ホストコンピュータ側のプリンタドライバが印刷装置のハードウェア制約を考慮しなければならず、異なるプラットフォーム上での相互運用性上好ましくないという問題もある。
特許文献2には、ランレングス圧縮コードを拡張して右側余白と空白行などのデータ転送量を削減する構成が開示されている。しかし、ライン単位の処理を前提としていること及び左余白のデータは必ず転送しなければならない点から更なるオーバヘッドの削減が必要である。
転送データ量を最小化するために、ライン単位に左マージン設定の変更を可能とする構成が知られており、これはライン単位の圧縮データ転送コマンドと、ラスタ開始位置移動コマンドを含む。例えば、HP−RTL(ヒューレットパッカード社ラスタ転送言語)が知られている。図4はこの構成でのデータ転送形式を表した模式図であり、描画オブジェクトR401、R402、R403単位でラスタ開始位置を移動して圧縮ラスタを転送しているため、ラスタ形式ではこれ以上転送データ量を減らすことは出来ない。
特開2003‐300345号公報 特開平8‐300744号公報
前記従来例では、ライン毎に左マージンの変更を可能にしているため、展開バッファに左余白を書き込んだ後にパックビッツ解凍を行うという手順がライン単位で必要になる。そのためソフトウェアの介在が多くなって印刷速度が低下するという問題点があった。
本発明の目的は、柔軟かつ高速な印刷装置を提供することにあり、ランレングス解凍ハードウェアを複雑化することなくデータ解凍速度を最大化するように制御することを特徴とする。
本発明は、ランレングス圧縮されたラインデータを含むラスタデータコマンドとラスタ開始位置移動コマンドとを受信して展開記録する記録装置であって、上位装置で生成されたコマンドとデータのストリームを受信するインタフェースと、圧縮されたままの複数のラインデータを格納する圧縮バッファと、空白データ追加装置と、ライン終端データ追加装置と、空白行データ追加装置と、前記インタフェースから受信されたストリームを解析して前記圧縮バッファにデータを書き込むデータ展開装置と、解凍された複数のラインデータを格納する解凍バッファと、解凍バッファのライン長を設定するライン長設定装置と、前記圧縮バッファの複数ラインのデータを読み込んでランレングス解凍しながら前記解凍バッファに書き込むデータ解凍装置とを具備し、前記データ解凍装置はライン終端データが入力されると前記ライン長設定装置で設定された解凍バッファの現ライン終端まで0を書き込むように構成され、前記データ展開装置は、ラスタデータコマンドを受信すると以下の(工程1−1)乃至(工程1−2)を順次実行してデータを展開し、ラスタ開始位置移動コマンドを受信すると以下の(工程2−1)乃至(工程2−4)を順次実行してデータを展開するように構成されることを特徴とする。
(工程1−1)左マージン位置から水平開始位置までの空白をランレングス圧縮されたデータとして生成し圧縮バッファに書き込み、その直後の位置から1ライン分の圧縮データを受信して書き込み、受信と書き込みが終わった後にライン終端データを追加し、垂直位置に1加算する。
(工程1−2)未解凍ライン数があらかじめ定められた値に到達したら前記データ解凍装置に複数ラインを解凍させる。
(工程2−1)水平開始位置を新規水平開始位置に更新する。
(工程2−2)垂直位置が新規垂直位置と一致するまで、下記(工程2−3)乃至(工程2−4)を順次繰り返す。
(工程2−3)空白行データを圧縮バッファに書き込み、垂直位置に1加算する。
(工程2−4)未解凍ライン数があらかじめ定められた値に到達したら前記データ解凍装置に複数ラインを解凍させる。
また、本発明の第二の記録装置は、ランレングス圧縮方法がTIFF−Packbitsであり、ライン終端データおよび空白行データは0x80であることを特徴とする。
本発明の第一の記録装置によれば、左マージン及びライン長さがライン毎に異なるランレングス圧縮データであっても左右余白及び途中の空白ラインも含めてハードウェアにより複数ライン展開可能となるため、データ生成を行う上位装置に対する制約の最小化、転送データ量の最小化、印刷装置でのデータ解凍速度の最大化を実現することが出来る。
また本発明の第二の記録装置によれば、ランレングス圧縮方法としてTIFF−Packbitsを用いているので、未定義の0x80を終端データとして用いることが出来、好適である。
以下図面を参照して説明する。
図1は本発明による印刷装置の代表的な構成を表すブロック図である。同図において符号1はデータ生成する上位装置、符号2は上位装置1から転送されたデータを一時的に格納する受信バッファである。受信バッファ2はリングバッファ構成が好適である。符号3はデータ展開装置でありCPU31とDMA装置32から構成されている。符号4はランレングス圧縮データを格納する圧縮バッファ、符号5はランレングス解凍を行う解凍ハードウェア、符号6は解凍されたデータを格納する展開バッファ、符号7は展開バッファ6のデータを不図示の被記録媒体上に記録する記録ヘッドである。ここで、ランレングス圧縮方法はPackbits形式である。
図2はデータ展開装置3の動作を説明するフローチャートである。まず、CPU31が受信バッファ2からコマンドを読込む。コマンドがラスタデータコマンドであればS101からの手順を実行する。ラスタデータコマンドでは圧縮されたデータのバイト長と圧縮されたデータそのものが転送される。CPU31は、左余白長に相当する空白データをPackbits圧縮したデータを圧縮バッファ4に書き込み、次回の書き込みに備えて書き込み位置を更新する(S102)。ここで圧縮された空白は、<‘(1−空白数)’,‘0’> となるが、空白数が128より大きい場合は複数の空白に分割することになる。例えば展開バッファ6が1200dpiの解像度で8インチ幅であったとすると圧縮された空白データのバイト数は最大でも、
Figure 2006168102
となる。次に受信バッファ2に格納されている圧縮データをDMA装置32によって圧縮バッファ4に転送し、書き込み位置を更新する(S103)。転送バイト数はコマンドパラメータで示されるバイト数に等しい。次に、行末コードを書き込んで、可能なら解凍ハードウェア5を起動する(S104)。これは以下のS1001〜S1004の手順による。まず、行末コード0x80を圧縮バッファ4に書き込んで、書き込み位置を更新する(S1001)。次に垂直位置と未処理ラスタ数を更新する(S1002)。もし未処理ラスタ数が解凍ハードウェア5の処理ラスタ数に達していなければ何もしない(S1003)。そうでなければ解凍ハードウェア5を起動して未処理ラスタを解凍しながら展開バッファ6に書き込んだ後に未処理ラスタ数を0にする(S1004)。一方コマンドがラスタ位置移動コマンドであるとS201からの手順を実行する。ラスタ位置移動コマンドでは新規水平位置、新規垂直位置が転送される。まず、記憶している水平位置を新規水平位置に更新する(S202)。次に記憶している垂直位置が新規垂直位置に等しくなるまでS204の手順を繰り返し空白行の展開を行う。S204の手順はS104の手順と全く同一である。
以上の手順により、解凍ハードウェア5をブロック単位で起動してデータ展開しながらも圧縮バッファ4に対するCPU31の書き込みデータ量は最小限に抑えられるので、総合的なオーバヘッドを最小限にして高速な記録装置が実現できる。
上記説明では、マイクロプロセッサとプログラムによってデータ展開装置を構成するとしたが、データ展開装置はハードウェア化してもよく、その場合はより一層の高速化が達成できることは言うまでもない。
本発明の代表的な構成を表すブロック図である。 本発明のデータ展開装置の動作を説明するフローチャートである。 従来の印刷装置の印刷データ形式を説明する図である。 本発明の印刷装置の印刷データ形式を説明する図である。
符号の説明
1 データ生成上位装置
2 受信バッファ
3 データ展開装置
31 CPU
32 DMA装置
4 圧縮バッファ
5 解凍ハードウェア
6 展開バッファ
7 記録ヘッド

Claims (2)

  1. ランレングス圧縮されたラインデータを含むラスタデータコマンドとラスタ開始位置移動コマンドとを受信して展開記録する記録装置であって、上位装置で生成されたコマンドとデータのストリームを受信するインタフェースと、圧縮されたままの複数のラインデータを格納する圧縮バッファと、空白データ追加装置と、ライン終端データ追加装置と、空白行データ追加装置と、前記インタフェースから受信されたストリームを解析して前記圧縮バッファにデータを書き込むデータ展開装置と、解凍された複数のラインデータを格納する解凍バッファと、解凍バッファのライン長を設定するライン長設定装置と、前記圧縮バッファの複数ラインのデータを読み込んでランレングス解凍しながら前記解凍バッファに書き込むデータ解凍装置とを具備し、
    前記データ解凍装置はライン終端データが入力されると前記ライン長設定装置で設定された解凍バッファの現ライン終端まで0を書き込むように構成され、
    前記データ展開装置は、ラスタデータコマンドを受信すると以下の(工程1−1)乃至(工程1−2)を順次実行してデータを展開し、ラスタ開始位置移動コマンドを受信すると以下の(工程2−1)乃至(工程2−4)を順次実行してデータを展開するように構成されることを特徴とする記録装置。
    (工程1−1)左マージン位置から水平開始位置までの空白をランレングス圧縮されたデータとして生成し圧縮バッファに書き込み、その直後の位置から1ライン分の圧縮データを受信して書き込み、受信と書き込みが終わった後にライン終端データを追加し、垂直位置に1加算する。
    (工程1−2)未解凍ライン数があらかじめ定められた値に到達したら前記データ解凍装置に複数ラインを解凍させる。
    (工程2−1)水平開始位置を新規水平開始位置に更新する。
    (工程2−2)垂直位置が新規垂直位置と一致するまで、下記(工程2−3)乃至(工程2−4)を順次繰り返す。
    (工程2−3)空白行データを圧縮バッファに書き込み、垂直位置に1加算する。
    (工程2−4)未解凍ライン数があらかじめ定められた値に到達したら前記データ解凍装置に複数ラインを解凍させる。
  2. 前記請求項1に記載のランレングス圧縮方法は、TIFF−Packbitsであり、前記請求項1に記載のライン終端データおよび空白行データは0x80であることを特徴とする前記請求項1に記載の記録装置。
JP2004362392A 2004-12-15 2004-12-15 記録装置 Withdrawn JP2006168102A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004362392A JP2006168102A (ja) 2004-12-15 2004-12-15 記録装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004362392A JP2006168102A (ja) 2004-12-15 2004-12-15 記録装置

Publications (1)

Publication Number Publication Date
JP2006168102A true JP2006168102A (ja) 2006-06-29

Family

ID=36669353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004362392A Withdrawn JP2006168102A (ja) 2004-12-15 2004-12-15 記録装置

Country Status (1)

Country Link
JP (1) JP2006168102A (ja)

Similar Documents

Publication Publication Date Title
JP2007043577A (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び該プログラムが記録された記録媒体
US6785424B1 (en) Encoding method and apparatus for compressing a data structure having two or more dimensions, decoding method, and storage medium
EP0870277B1 (en) Image rendering for page printers
JPH06344601A (ja) 出力装置および出力方法
JP2876987B2 (ja) 印字システム
JP2006168102A (ja) 記録装置
JP2007030353A (ja) 画像形成装置
JP2001169120A (ja) 画像処理装置及びその方法、及び画像処理システム
KR102568052B1 (ko) 화상 신장장치, 그 제어방법 및 컴퓨터 프로그램
JP4435586B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2005260408A (ja) データ圧縮装置およびデータ圧縮プログラム
US8756491B2 (en) PDL data processing device
US7835025B2 (en) Processing system and method of processing pattern bitmap data for printer
JP3792881B2 (ja) 画像処理装置および画像処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP3514027B2 (ja) 記録装置、記録システム、画像転送システム
JP4259328B2 (ja) 画像処理装置、プリンタ、及び格納データの読み出し方法
JPH04215189A (ja) 画像記録装置
JP2020090075A (ja) 画像形成装置および、画像形成方法
JP2006128944A (ja) 情報処理装置及び情報処理方法、画像形成装置、プログラム、記憶媒体、印刷システム
JP2008193559A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2003134345A (ja) 情報処理方法、情報処理装置、情報処理装置の制御プログラム及び記憶媒体
JP3842650B2 (ja) 画像処理装置及び画像処理方法
JP3214617B2 (ja) 多値画像プリンタ
JPH10147016A (ja) 画像処理装置及び方法
JP2005260420A (ja) データ圧縮装置およびデータ圧縮プログラム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080304