JP2746396B2 - ページプリンタ - Google Patents

ページプリンタ

Info

Publication number
JP2746396B2
JP2746396B2 JP63332469A JP33246988A JP2746396B2 JP 2746396 B2 JP2746396 B2 JP 2746396B2 JP 63332469 A JP63332469 A JP 63332469A JP 33246988 A JP33246988 A JP 33246988A JP 2746396 B2 JP2746396 B2 JP 2746396B2
Authority
JP
Japan
Prior art keywords
data
memory
image data
page
buffer 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.)
Expired - Lifetime
Application number
JP63332469A
Other languages
English (en)
Other versions
JPH02178826A (ja
Inventor
芳夫 馬庭
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP63332469A priority Critical patent/JP2746396B2/ja
Publication of JPH02178826A publication Critical patent/JPH02178826A/ja
Application granted granted Critical
Publication of JP2746396B2 publication Critical patent/JP2746396B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は文字データ,イメージデータ,ベクターデー
タを扱うラスタースキャン型ページプリンタに関する。
〔従来の技術〕
従来、ラスタースキャン型ページプリンタ、例えばレ
ーザプリンタにおいてはコンオローラにより文字,画
像,図形のデータをページ内の指定された位置にイメー
ジデータとして生成し、それをラスターデータとしてプ
リントアウトしている。そしてページ内の指定された位
置にイメージデータを生成する際にドットイメージを任
意の記録紙サイズのフルビットに展開して生成すること
がよく知られている。
またラスタースキャン型ページプリンタにおいてフル
ページの容量よりも小さい出力バッファメモリを用いて
コントローラを構成することが特開昭62−35856号公報
などにより知られている。
〔発明が解決しようとする課題〕
出力バッファメモリがフルページの容量を有するラス
タースキャン型ページプリンタにあっては出力バッファ
メモリの容量が大きいので、コスト高になる。またフル
ページの容量よりも小さい出力バッファメモリを用いて
コントローラを構成したラスタースキャン型ページプリ
ンタにあってはおのずと扱えるイメージデータ量に制限
が出る。
本発明は上記欠点を改善し、フルページの容量よりも
小さいメモリを用いてフルページのイメージデータを扱
うことに不都合が無い低コストのページプリンタを提供
することを目的とする。
〔課題を解決するための手段〕
上記目的を達成するため、本発明は、イメージデータ
を出力バッファメモリを介してプリンタ本体に出力する
ページプリンタにおいて、第1図に示すように、2つの
ハーフバッファメモリからなる出力バッファメモリと、
外部より転送されたイメージデータ又は内部で生成され
たイメージデータを圧縮した中間表現データを記憶する
イメージメモリと、このイメージメモリに記憶された前
記中間表現データを復元して前記出力バッファメモリ1
に記憶させる処理、及び、前記出力バッファメモリ1に
格納されたイメージデータを前記プリンタ本体に出力す
る処理を、前記2つのハーフバッファメモリを交互に用
いて行う制御手段2とを設けたものである。
〔作 用〕
イメージメモリは外部より転送されたイメージデータ
又は内部で生成されたイメージデータを圧縮した中間表
現データを記憶し、制御手段2はイメージメモリに記憶
された前記中間表現データを復元して前記出力バッファ
メモリ1に記憶させる処理、及び、前記出力バッファメ
モリ1に格納されたイメージデータを前記プリンタ本体
に出力する処理を、前記2つのハーフバッファメモリを
交互に用いて行う。
〔実施例〕
本発明の実施例はレーザプリンタ本体とコントローラ
を有するレーザプリンタからなるラスタースキャン型ペ
ージプリンタであり、メモリの使用量を最小限としてコ
ントローラを構成したことにより低コスト化を計ること
ができる。この実施例においてコントローラは外部のホ
ストコンピュータから転送される文字コード,イメージ
データ,ベクターデータを制御コマンドに従ってページ
単位で編集し、その編集した情報に基づいてラスタース
キャン可能なビットイメージを生成してレーザプリンタ
本体にプリントアウトさせる。
このレーザプリンタのプリントドット密度を300dpiと
すると、プリント紙がA4サイズの場合には約2400×3400
ドット=8160Kドット(=1020Kバイト)のデータをコン
トローラで発生させる必要がある。一般的にレーザプリ
ンタのコントローラはフォントメモリ(128KバイトのRO
M),ファームウェア(128KバイトのROM),ページメモ
リ(128KバイトのRAM),出力バッファメモリ(128Kバ
イトのRAM),システムメモリ(64KバイトのRAM),イ
メージバッファメモリ(192KバイトのRAM)等が必要最
小限のメモリと考えることができ、すなわち256Kバイト
のROM,512KバイトのRAMが必要最小限のメモリと考える
ことができる。これらのメモリを含みCPU,ボード,ICな
どで構成されたレーザプリンタのコントローラにおいて
各部のコスト及びコスト比率はCPU(1K円,5.9%)、ROM
(2K円,11.8%)、RAM(8K円,47.0%)、ボード(2K円,
11.8%)、IC(2K円,11.8%)、その他(2K円,11.8%)
となる。従って、コントローラのコストでRAMの占める
割合は47%であり、RAMの増加は直接にコントローラの
コストの大幅な増大につながる。例えば極端な例として
A4プリント紙のフルページ分のデータが外部のホストマ
シンからビットイメージとして転送される場合は1Mバイ
トのイメージバッファメモリが必要になり、コストが約
16K円増大する。そしてコントローラ全体のコストは33K
円となり、RAMの占める割合は73%となる。
そこで、本発明の実施例はラスタースキャン型ページ
プリンタにおいて、メモリを最小限にして且つフルペー
ジのイメージデータのプリントにも耐え得る低コストの
コントローラを持たせるようにしたものである。
一般的に外部のホストマシンはイメージデータをその
解像度を指定してラスター単位でページプリンタに転送
するものが多い。
この点に注目して本発明の実施例はフルページのイメ
ージデータをフルページより小さいメモリ容量のコント
ローラでプリントできるようにしたものである。具体的
にはこの実施例は外部のホストマシンからのイメージ
データをランレングス法で圧縮して中間表現データとし
て保持し、出力時にその中間表現データを元のイメージ
データに復元してプリントアウトし、外部のホストマ
シンからのイメージデータの内容,解像度をコントロー
ラ内で自動的にチェックしてそのドットの繰り返し,ラ
インの繰り返しでデータ圧縮を行って保持し、出力時に
元のイメージデータに復元してプリントアウトするもの
である。
また一般的にベクターデータはそのパラメータに従っ
てフルビットのマップ上に描画されるが、本発明の実施
例はベクターデータを一度ラスターデータに変換し、そ
の後ランレングス法で圧縮するようにすることによりメ
モリの低減を計っている。
第2図は本発明の一実施例におけるコントローラのメ
モリ構成を示す。
この実施例はコントローラ11とレーザプリンタ本体12
とを有するレーザプリンタからなるラスタースキャン型
ページプリンタであり、コントローラ11は入力バッファ
メモリ13,ページメモリ14,フォントメモリ15,出力バッ
ファメモリ16,ファームウェアメモリ及びシステムメモ
リ17を有する。入力バッファメモリ13はホストマシン18
から転送される文字コード,イメージデータ,制御コマ
ンドを時系列的に蓄え、ホストマシン18の通信速度とコ
ントローラ11のデータ処理速度の調整に使用される。ホ
ストマシン18の通信速度が速くてコトローラ11のデータ
処理速度が遅い場合にはコントローラ11内の制御手段と
してのCPU19(第10図参照)はホストマシン18に対して
通信の一時停止を要求する。第3図に示すように入力バ
ッファメモリ13は一定のメモリサイズで、循環バッファ
となっており、リードポインタ(read pointer)とライ
トポインタ(write pointer)で管理される。リードポ
インタはファームウェア(CPU19)が処理するために次
に入力バッファメモリ13から読み出すデータの位置を示
し、ライトポインタは入力バッファメモリ13においてホ
ストマシン18からのデータを次に格納する位置を示す。
出力バッファメモリ16はレーザプリンタ本体12に出力
すべき実際のラスターデータを蓄えておくメモリであ
り、第4図に示すような構成となっている。例えば出力
バッファメモリ16として128Kバイトを割り付けるとす
る。この場合1ライン分のプリントを行うための1本の
ラスターデータのドット数は2400ドットとなるので、12
8Kバイトの出力バッファメモリ16には436本のラスター
データを格納できることになる。この出力バッファメモ
リ16を2分割して各々2400ドット×218ラインのハーフ
バッファメモリ(以下単にハーフバッファという)161,
162とする。このハーフバッファ161,162の一方はレーザ
プリンタ本体12へのデータ出力に使用され、ハーフバッ
ファ161,162の他方は次に出力すべきイメージデータを
コントローラ11のCPU19によって生成するのに使用され
る。これらのハーフバッファ161,162はレーザプリンタ
本体12へのデータ出力と,次に出力すべきイメージデー
タの生成とに交互に使用され、CPU19によるイメージデ
ータの生成は少なくとも218ライン分のデータ出力が終
了するまでに完了する。この出力バッファメモリ16はRA
M20(第10図参照)上の一定の場所に一定のサイズとし
て割り付けられ、CPU19により自由にアクセス可能であ
る。しかしレーザプリンタ本体12へイメージデータを出
力する際にはハードウェアのイメージ出力論理回路21
(第10図参照)によりイメージデータが出力バッファメ
モリ16から1ワード(16ビット)づつ読み出されてシフ
トレジスタでシリアルデータに変換されラスターデータ
としてレーザプリンタ本体12へ出力される。このイメー
ジ出力論理回路21は1ワード単位のDMA(Direct Memory
Access)動作を行う。
ページメモリ14は1ページ全体の編集レイアウトを出
力バッファメモリ16の半分のハーフメモリ161,162単位
で行うためのメモリである。A4プリント紙の1ページは
3400本のラスターデータがプリントされるので、約16
(3400/218≒15.6)のハーフバッファを用いてプリント
することになる。ページメモリ14は第5図に示すような
ハーフバッファ インデックステーブル(Halh Buffer
Index Table)と第6図に示すようなデータディスクリ
プタ(Data Descripter)で構成される。ハーフバッフ
ァ インデックステーブルは1ページのプリントに必要
なハーフバッファ数だけ設けられ(A4のプリントでは16
個)、それぞれスタートインデックス(Start Index)
とエンドインデックス(End Index)が格納されるよう
になっている。データディスクリプタは1つのイメージ
単位を表現するもので、大きく分けて2つのタイプがあ
る。すなわちデータディスクリプタは第7図(a)に示
すような文字を扱うもの(文字タイプ)と,第7図
(b)に示すようなラスターイメージを扱うもの(ラス
ターイメージタイプ)があり、これらは圧縮タイプと非
圧縮タイプがある。フォントメモリ15には各文字コード
に対応する文字のイメージドットデータがファイル形式
で格納されており、第8図に示すような構成となってい
る。このフォントメモリ15にはフォントテーブル,キャ
ラクタテーブル(Character Table),キャラクタデー
タ(Character Date)が用意されている。レーザプリン
タには何種類かのフォントが搭載されているのが一般的
であり、そのフォントの種類をフォントテーブルとして
管理している。フォントの種類は同一の書体でもポート
レイト用とランドスケープ用があり、これらは2種類の
フォントとして扱われる。フォントテーブルはヘッダー
データ(Header Data)とインデックス(Index)が分け
てあり、インデックスには各フォントのキャラクタテー
ブル上の先頭アドレスがポインタとして格納されてい
る。ヘッダーデータとはフォント全体の属性を言い、内
容としては回転角,文字セットの種類,フォントサイ
ズ,フォントピッチ,フォントスタイル,フォントのウ
ェイト,タイプフェース名,ベースラインまでのオフセ
ット値,アンダーラインのオフセット及び幅等の情報が
格納されている。キャラクタテーブルはフォントの全文
字(英文では一般的に256文字)のキャラクタが格納さ
れている場所を示すポインタが文字コード順にテーブル
として格納されている。このキャラクタテーブルで指定
されるキャラクタデータはキャラクタヘッダー(Charac
ter Header)と実際のキャラクタイメージデータであ
る。キャラクタヘッダーには第9図に示すような各文字
のパラメータが格納され、この各文字のパラメータはセ
ルの幅Cell width(ドット単位),セルの高さCell hei
ght(ドット単位),キャラクタの幅Character width
(ワード単位),キャラクタの高さCharacter height
(ドット単位),水平方向のオフセットHorizontal off
set(ドット単位),垂直方向のオフセットVertical of
fset(ドット単位)がある。
フォームウェアは各メモリの全体の動作を制御するも
ので、ROM22(第10図参照)内にソフトウェアとして格
納されている。CPU19はこのROM22のファームウェアによ
りホストマシン18から転送されたデータを入力バッファ
メモリ13に格納し、そのデータを第16図に示すようにコ
マンド,文字コード,イメージデータ,ベクターデータ
に分けてそれぞれコマンドに従ってページメモリ14に1
ページの編集を行う。この場合CPU19は文字データのう
ちの大きなサイズで圧縮タイプのものと,イメージデー
タとをデータ圧縮してページメモリ14に格納し、かつベ
クターデータをイメージデータに変換した後にデータ圧
縮してページメモリ14に格納する。ここに、ページメモ
リ14においてイメージデータが格納される部分は、外部
より転送されたイメージデータ又は内部で生成されたイ
メージデータを圧縮した中間表現データを記憶するイメ
ージメモリとなる。1ページのイメージデータの生成が
完了したら、CPU19はレーザプリンタ本体12の状態を確
認してプリント可能ならばプリントの起動をかける。こ
れによりレーザプリンタ本体12からラスターデータの出
力のために同期信号(ドット同期信号,ライン同期信
号,フレーム同期信号)がコントローラ11に送られてく
るので、イメージ出力論理回路21は出力バッファメモリ
16の半分のハーフバッファ161,162のデータをレーザプ
リンタ本体12からの同期信号に同期して出力させる。CP
U19はプリントの開始に先立ち出力バッファメモリ16に
必要なイメージデータを生成しておく。すなわちCPU19
はページメモリ14におけるハーフバッファ単位の情報を
使用して出力バッファメモリ16にイメージデータを生成
する。この場合CPU19はページメモリ14の情報がデータ
圧縮されものであればこれを元のデータに復元して出力
バッファメモリ16にイメージデータを生成する。またCP
U19はページメモリ14の情報が文字のデータならばこれ
に対応したフォントメモリ15内の文字イメージデータを
出力バッファメモリ16内の指定されたドット/ライン位
置へ転送し、ページメモリ14の情報がイメージデータな
らばこれを出力バッファメモリ16に転送する。出力バッ
ファメモリ16の半分のイメージデータ出力が完了すれば
イメージ出力論理回路21がCPU19に対して割込みをか
け、CPU19は直ちに出力バッファメモリ16の他の半分が
出力可能となるように切換える。そしてCPU19は出力バ
ッファメモリ16のデータ出力が完了した半分に次に出力
すべきイメージデータの生成を同様に行う。このように
してページメモリ14の全情報の出力が完了すれば1ペー
ジ分のプリントアウトが完了することになる。
システムメモリは各バッファメモリ以外の必要なメモ
リ、すなわちファームウェアの制御に必要なメモリであ
る。
第10図はこの実施例におけるコントローラ11のハード
ウェアモデルを示す。
コントローラ11はCPU19,RAM20,イメージ出力論理回路
21,ROM22,タイマー23,ホストインターフェース24,エン
ジンインターフェース25,コントロールパネルインター
フェース26により構成され、CPU19は16ビットのものが
用いられている。ROM22にはフォントデータ及びファア
ームウェアが格納され、RAM20は入力バッファメモリ13,
ページメモリ14,出力バッファメモリ16,システムメモリ
が割り付けらるる。ホストインターフェース24は外部の
ホストマシン18との通信を行うために使用され、エンジ
ンインターフェース25はレーザプリンタ本体12の状態を
チェックしたりプリントの起動をかけたりするために使
用される。タイマー23は全体のソフトウェアを制御する
ために使用され、コントロールパネルインターフェース
26はプリントに必要なスィッチ類,表示類からなるコン
トロールパネル27をCPU19で制御するために使用され
る。イメージ出力論理回路21は出力バッファメモリ16に
生成されたイメージデータをレーザプリンタ本体12から
の同期信号に同期させてラスターデータとしてレーザプ
リンタ本体12に出力する。レーザプリンタ本体12からの
同期信号は第11図に示すようにフレーム同期信号,ライ
ン同期信号,ラインクロック,ドットクロックがあり、
フレーム同期信号とライン同期信号によって形成される
矩形領域がレーザプリンタ本体12のプリント可能範囲と
なる。レーザプリンタ本体12においてプリントされる各
ラスターライン上のドットはドットクロックに同期さ
れ、フレーム上のラインはラインクロックにより進めら
れる。CPU19はROM22内のプログラム及びデータに基づい
て前述のようにホストマシン18からホストインターフェ
ース24を介して転送されたデータを入力バッファメモリ
13に格納し、そのデータを第16図に示すようにコマン
ド,文字コード,イメージデータ,ベクターデータに分
けてそれぞれコマンドに従ってページメモリ14に1ペー
ジの編集を行う。この場合CPU19は文字データのうちの
大きなサイズで圧縮タイプのものと,イメージデータと
をデータ圧縮してページメモリ14に格納し、かつベクタ
ーデータをイメージデータに変換した後にデータ圧縮し
てページメモリ14に格納する。さらにCPU19はページメ
モリ14におけるハーフバッファ単位の情報を使用して出
力バッファメモリ16にイメージデータを生成する。この
場合CPU19はページメモリ14の情報がデータ圧縮された
ものであればこれを元のデータに復元して出力バッファ
メモリ16にイメージデータを生成する。またCPU19はペ
ージメモリ14の情報が文字のデータならばこれに対応し
たフォントメモリ15内の文字イメージデータを出力バッ
ファメモリ16内の指定されたドット/ライン位置へ転送
し、ページメモリ14の情報がイメージデータならばこれ
を出力バッファメモリ16に転送する。CPU19はエンジン
インターフェース25を介してレーザプリンタ本体12の状
態を確認してプリント可能ならばエンジンインターフェ
ース25を介してレーザプリンタ本体12にプリントの起動
をかける。そしてイメージ出力論理回路21は出力バッフ
ァメモリ16の半分のハーフバッファ161,162のデータを
レーザプリンタ本体12からの同期信号に同期して出力さ
せる。またCPU19は第17図に示すようにイメージデータ
を圧縮する場合にはイメージデータが圧縮によって元の
データより小さくなる場合にのみデータ圧縮を行い、イ
メージデータが圧縮によって元のおデータより小さくな
らないときにはデータ圧縮を行わない。さらにCPU19は
第18図に示すようにイメージデータの圧縮をラスター単
位で行ない、かつ第19図に示すように外部からのイメー
ジデータがその直前のイメージデータと同一長,同一内
容であるかを判断して直前のイメージデータと同一長,
同一内容であればそのイメージデータの圧縮を連続的に
繰り返す。
第12図は上記イメージ出力論理回路21の構成を示す。
CPU19はレーザプリンタ本体12にプリントの起動をか
ける前にアドレスカウンタ28にラスターの開始アドレス
をプリセットし、シフトレジスタ29にそのラスターの先
頭のワードデータを出力バッファメモリ16よりデータラ
ッチ回路30を介して格納させ、更に次のワードデータを
出力バッファメモリ16よりデータラッチ回路30に格納さ
せる。シフトレジスタ29はワードデータをレーザプリン
タ本体12からのドットクロックに同期してシリアルデー
タとしてレーザプリンタ本体12に出力し、4ビットのカ
ウンタ31がレーザプリンタ本体12からのドットクロック
をカウントして16ドットのデータ出力毎に出力信号をロ
ード信号としてシフトレジスタ29に出力することにより
データラッチ回路30のワードデータをシフトレジスタ29
に移させる。そしてカウンタ31の出力信号によりアドレ
スカウンタ28が1つ進められて次のワードデータが出力
バッファメモリ16よりデータラッチ回路30に格納され
る。この場合フリップフロップ32はカウンタ31の出力信
号によりCPU19にウェイトをかけると共に、出力バッフ
ァメモリ16に読み出しストローブ信号を出力してデータ
ラッチ回路30にロード信号を出力する。従って1ラスタ
ー分のデータはこのイメージ出力論理回路21で自動的に
出力バッファメモリ16からアドレスが更新されながら順
次にレーザプリンタ本体12に出力される。1ラスター分
のデータの出力が完了したら、レーザプリンタ本体12か
らのラインクロックによりCPU19に割込みかがけられて
次のラスターデータの先頭アドレスをアドレスカウンタ
28にプリセットすることが要求される。CPU19はレーザ
プリンタ本体12からのフレーム同期信号によりフレーム
の先頭と後端で割込みがかけられ、そのタイミングによ
りレーザプリンタ本体12のプリントアウト中には現在何
番目のラスターデータの出力中かを管理して出力バッフ
ァメモリ16の半分161,162の切換え時期を制御する。
次にページメモリ14に関する説明を詳しく行う。
コントローラ11で最も重要なことはページメモリ14の
管理と構成である。CPU19はページ情報を生成するため
に現在の印字位置をアクティブポインタで管理し、印字
すべきデータが文字データであるかラスターイメージで
あるかを判別してそのデータタイプに従ってデータディ
スクリプタをハーフバッファ単位で生成して行く。印字
すべき位置はアクティブポインタによって管理されるの
で、アクティブポインタが決定されればハーフバッファ
番号が決まる。アクティブポインタは文字データの場合
には1文字毎に文字のセル幅づつ右側に自動的に進み、
改行毎に指定された寸法だけ進む。イメージデータの場
合にはアクティブポインタは相対位置か絶対位置かがコ
マンドによって指定される。
(1)文字データの場合 印字すべきハーフバッファ番号が決まったら、CPU19
はインデックステーブルにおけるそのハーフバッファに
対応したスタートインデックス(Start Index)をチェ
ックし、スタートインデックスが0でなかったならばこ
れは既にそのハーフバッファに印字すべきデータが存在
することを示すことになるから、インデックステーブル
におけるそのハーフバッファに対応したエンドインデッ
クス(End Index)を参照してデータディスクリプタの
連鎖を行う。スタートインデックスが0であればこれは
まだそのハーフバッファ内には印字すべきデータが存在
しないことになるから、CPU19はページメモリ14の空き
エリアの先頭番地をスタートポインタとしてスタートイ
ンデックスに登録し、データディスクリプタにデータを
生成する。データディスクリプタ内にはネックスポイン
タを指定する部分があり、ブロックの最初のデータディ
スクリプタにデータを生成したときにはCPU19はネック
スポインタの値として0(後続テーブルなし)を格納
し、スタートインデックスとエンドインデックスにはそ
のデータディスクリプタの開始アドレスをポインタとし
て格納する。後続の文字データが来た場合にはCPU19は
エンドポインタを参照して先のデータディスクリプリタ
のアドレスを割出し、そこのネックスポインタには新た
にデータを生成するデータディスクリプタの先頭アドレ
ス(ページメモリ14の空きエリアの先頭アドレス)を格
納する。そしてCPU19は新たにデータを生成したデータ
ディスクリプタのネックスポインタに0を格納すると同
時にエンドインデックスもそのデータディスクリプタの
開始アドレスを更新しておく。このようにして印字位置
と印字すべきデータをその都度生成してゆく。
なお、ページメモリ14はデータの種類,ページ内のデ
ータの数によって決定され、1ページ分のデータが不定
長である。従って第13図に示すようにRAM20の全領域は
固定的に必要なシステムメモリ,入力バッファメモリ1
3,出力バッファメモリ16以外が全てページメモリ14に割
り当てられてスタートポインタとエンドポインタで空き
エリアが管理され循環バッファとして使用される。
文字データには圧縮タイプと非圧縮タイプがあり、大
きなサイズの文字データは圧縮タイプであり、小さな文
字は非圧縮タイプである。その圧縮は色々考えられる
が、ここでは代表的なランレングス(RUN LENGTH)法を
使用することとし、次にその説明をする。
ランレングスは第20図に示すように連続するビットフ
ィールドで与えられる。このビットフィールドはライン
リピート(Line Repeat),オフラン(Off Run),オン
ラン(On Run),ラインエンド(Line End)からなり、
ラインリピートは同一のラスターデータを何回繰り返す
かを指定する可変長フィールドである。ラインリピート
は0がターミネイションであり、0に先行する1の数が
繰り返すべきラスター数である。たとえば110の場合は
このラスター以外に2本のラスター(同一,同長さ)を
作ることを示す。オフ/オンランは白/黒のドット数を
表わす。フィールド長はデータディスクリプタ内に指定
される固定長である。このオフ/オンランにおいて最初
のランは必ず白(オフ)で、その後規則的に白,黒,
白,黒・・・の順で繰り返される。例えば1つのフィー
ルド長を6ビットとすれば1つのランは63ドットまで表
現できることになる。ラインエンドは1本のラスターデ
ータの終了を示す。これは連続する白/黒の2つのフィ
ールドのランが共に0である場合をもって終了とする。
例えば第21図(a)に示す11×11ドットのマトリックス
のデータは第21図(b)に示すようなデータに圧縮され
る。第21図(a)において*は白、・は黒を示す。ここ
にランフィールドは3ビットとする。このデータを非圧
縮で持った場合水平方向は16ビットの整数倍で表わす必
要があり、実質的に121ビットでも176ビットで保持しな
ければならない。このデータをランレングス法で第21図
(b)に示すようなデータに圧縮した場合は110ビット
となり、約36%圧縮されたことになる。ランレングス法
によるデータ圧縮率はイメージが大きくなればなるほど
高くなる。
1つの文字データが複数個のハーフバッファにかかる
場合にはデータディスクリプタは1つの文字データでも
各々のハーフバッファ毎に作らなければならない。第14
図はページメモリ14におけるデータディスクリプタの例
を示す。この例は256×384ドットの文字のイメージデー
タをページ内の左から250ドット目,上端から362ライン
目にプリントする場合であってA4サイズのプリント紙に
プリントする場合である。A4の全ドット数を2400ドット
×3400ラインとすると、ハーフバッファは218ライン分
となり、16のハーフバッファが必要となる。出力バッフ
ァ16はRAM20上のアドレスBuffAddから始まるとすると、
中間のワードアドレスがBuffAdd+32768ワード番地とな
る。従って256×384ドットのデータは3つのハーフバッ
ファにまたがることになり、各々のハーフバッファにデ
ータディスクリプタを作る必要があって3つのデータデ
ィスクリプタを作る必要がある。文字タイプのデータデ
ィスクリプタは次のものからなる。
データタイプ:文字型かイメージ型か、又非圧縮型か圧
縮型かを表わす。
マルチプル(Multiple):水平,垂直方向に各々等倍,2
倍,3倍,4倍のいずれかを表わす。
シフト(Shift):ワード単位でデータを扱うが、ワー
ド中で何ドットシフトする必要があるかを表わす。最大
15ドットのシフトを行う必要がある。
フィールドレングス(Field Length):データ圧縮タイ
プの場合白/黒のフィールドビット長を指定する。これ
は4ビットで表わすために15ビットフィールドまで指定
でき、15ビットフィールドの場合32768ドットまで表わ
すことが可能である。
データ幅(Data Width):ワード単位で表わす。従って
255ワード(4096ドット)まで指定できる。
データ長(Data Length):ライン単位で表わす。従っ
て255ラインまで指定できる。これは出力バッファメモ
リ16が最大218ラインまでであるので、十分である。
ネックストディスクリプタポインタ(Next Descripter
Pointer):3バイトで表わす。従って223のアドレス空間
を表現できる。
アドレスポインタ(Adress Pointer):3バイトで表わ
す。
ソースアドレスポインタ(Source Adress Poiner):3バ
イトで表わす。
第15図(a)に示すように出力バッファメモリ16上の
位置(7ドット,7ライン)に半径4ドット,ライン幅1
ドットの円を描く場合であって、ベクターコマンドが来
た場合又は9ドットのラスターデータが9本転送されて
来た場合にはデータディスクリプタは第15図(b)に示
すようになる。但しベクターデータの場合は事前に各ラ
スターデータのドット位置が算出されているものとす
る。
(2)ラスターイメージデータの場合 ラスターイメージデータの場合はそのデータがホスト
マシン18から転送されて来る形態にて2つのタイプがあ
る。その1つは最初からメージデータとしてホストマシ
ン18から転送されて来るタイプであり、他の1つはベク
ターデータとしてホストマシン18から転送されて来るタ
イプである。最初からメージデータとしてホストマシン
18から転送されて来る場合には1つのラスターを1つの
データディスクリプタで表現する。従ってラスターの本
数だけデータディスクリプタを生成することになる。ま
たベクターデータとしてホストマシン18から転送されて
来る場合には事前にラスターラインコンバージョン(Ra
ster Line Conversion)のソフトウェアでCPU19により
ラスター単位にてイメージデータを生成しておいてその
後でデータディスクリプタにデーを生成する。この場合
同一のラスターデータが繰り返される場合にはそのラス
ターデータの先頭のデータディスクリプタに繰り返し回
数を指定し、データディスクリプタの数を減らすことに
よってメモリを最小化する。第15図の例は7ドット,7ラ
イン目に中心を置いて半径4ドット,ライン幅1ドット
の円を描画する場合を示す。もちろん描画した円が複数
のハーフバッファにまたがる場合にはハーフバッファ単
位で分割し、また圧縮が指定される場合には文字タイプ
と同じである。データディスクリプタの生成は文字タイ
プの場合と同じであり、データディスクリプタの繰り返
しは繰り返し回数を指定する。
上述の実施例によれば一般的にランレングス法によっ
てイメージデータは7倍以上のデータ圧縮が可能である
と言われているから、イメージデータを1ページ分全部
保持しなくても1/7程度のイメージデータを保持できれ
ば1ページ分のイメージデータをプリントできる。従っ
てRAM20としてシステムメモリ:64Kバイト,出力バッフ
ァメモリ16:128Kバイト,ページメモリ14:320Kバイトの
トータル512Kバイトあればほぼフルページのイメージデ
ータを扱うことができる。もし更に出力バッファメモリ
16:64Kバイト,ページメモリ14:128Kバイトで構成でき
れば(低速プリンタの場合)トータル256Kバイトのメモ
リで十分に実用的なページメモリを構成することができ
る。また非圧縮タイプと圧縮タイプの両方のデータを扱
えることにより、小さなデータを圧縮して逆に大きくし
てしまうことを避けることができる。更にイメージデー
タをラスター単位で扱うことに統一することにより、イ
メージデータもベクターデータも同一の中間表現データ
で扱うことができ、ソフトウェアの効率が良くなる。ラ
ンレングス法によるデータ圧縮でもデータの内容によっ
ては小さなランフィールド長にした方が圧縮率が高くな
る場合があるし、大きなランフィールド長にした方が圧
縮率が高くなる場合もある。従ってランフィールド長を
任意に設定できるようにすれば効率がよくなる。また30
0dpiの解像度に対してイメージデータが150dpi,100dpi,
75dpiで指定される場合が有る。この場合倍率を指定で
きるようにすれば1つのラスターデータを2ドット/2ラ
イン,3ドット/3ライン,4ドット/4ラインとしてソフトウ
ェア又はハードウェアで繰り返すようにすることで元の
データに変倍することが可能となり、データ圧縮するこ
とになる。
〔発明の効果〕
以上のように本発明によれば、イメージデータを出力
バッファメモリを介してプリンタ本体に出力するページ
プリンタにおいて、2つのハーフバッファメモリからな
る出力バッファメモリと、外部より転送されたイメージ
データ又は内部で生成されたイメージデータを圧縮した
中間表現データを記憶するイメージメモリと、このイメ
ージメモリに記憶された前記中間表現データを復元して
前記出力バッファメモリに記憶させる処理、及び、前記
出力バッファメモリに格納されたイメージデータを前記
プリンタ本体に出力する処理を、前記2つのハーフバッ
ファメモリを交互に用いて行う制御手段とを設けたの
で、フルページのメモリを持たなくてもフルページのデ
ータを扱うことに不都合が無く、低コスト化を計ること
ができる。また、出力バッファメモリを2つのハーフバ
ッファメモリに分けて、その2つのハーフバッファメモ
リを交互に用いて、プリント本体へのイメージデータの
出力と次に出力すべきイメージデータの生成(復元)を
行うので、一方のハーフバッファメモリに復元されたイ
メージデータをプリント本体に出力いている間に、他の
ハーフバッファメモリへのイメージデータの生成(復
元)を行うことができ、相当の時間を要する、圧縮され
たデータの復元を効率的に行うことが可能となる。
【図面の簡単な説明】
第1図は本発明を示すブロック図、第2図は本発明の一
実施例のメモリ構成を示すブロック図、第3図は同実施
例の入力バッファメモリを示す図、第4図は同出力バッ
ファメモリの構成を示すブロック図、第5図は同実施例
のハーフバッファインデックステーブルを示す図、第6
図は同実施例のデータディスクリプタを示す図、第7図
(a)(b)は同データディスクリプタの構成を示す
図、第8図は同実施例のフォントメモリを示す図、第9
図は同実施例の文字データを説明するための図、第10図
は同実施例の構成を示すブロック図、第11図は同実施例
の同期信号を示す図、第12図は同実施例のイメージ出力
論理回路を示すブロック図、第13図は同実施例のRAMを
示す図、第14図(a)(b)(c)及び第15図(a)
(b)は同実施例のデータディスクリプタの例を示す
図、第16図乃至第19図は同実施例におけるCPUの処理フ
ローを示すフローチャート、第20図及び第21図(a)
(b)は同実施例のデータ圧縮を説明するための図であ
る。 1……出力バッファメモリ、2……制御手段。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】イメージデータを出力バッファメモリを介
    してプリンタ本体に出力するベージプリンタにおいて、
    2つのハーフバッファメモリからなる出力バッファメモ
    リと、外部より転送されたイメージデータ又は内部で生
    成されたイメージデータを圧縮した中間表現データを記
    憶するイメージメモリと、このイメージメモリに記憶さ
    れた前記中間表現データを復元して前記出力バッファメ
    モリに記憶させる処理、及び、前記出力バッファメモリ
    に格納されたイメージデータを前記プリンタ本体に出力
    する処理を、前記2つのハーフバッファメモリを交互に
    用いて行う制御手段とを設けたことを特徴とするページ
    プリンタ。
JP63332469A 1988-12-29 1988-12-29 ページプリンタ Expired - Lifetime JP2746396B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63332469A JP2746396B2 (ja) 1988-12-29 1988-12-29 ページプリンタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63332469A JP2746396B2 (ja) 1988-12-29 1988-12-29 ページプリンタ

Publications (2)

Publication Number Publication Date
JPH02178826A JPH02178826A (ja) 1990-07-11
JP2746396B2 true JP2746396B2 (ja) 1998-05-06

Family

ID=18255317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63332469A Expired - Lifetime JP2746396B2 (ja) 1988-12-29 1988-12-29 ページプリンタ

Country Status (1)

Country Link
JP (1) JP2746396B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3297445B2 (ja) * 1991-04-23 2002-07-02 キヤノン株式会社 出力方法及び装置
JP3029136B2 (ja) * 1991-04-25 2000-04-04 キヤノン株式会社 出力方法及び装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63276559A (ja) * 1987-05-08 1988-11-14 Oki Electric Ind Co Ltd プリンタのフレ−ムバッファ装置

Also Published As

Publication number Publication date
JPH02178826A (ja) 1990-07-11

Similar Documents

Publication Publication Date Title
US5796411A (en) High resolution real time raster image processing system and method
EP0179206B1 (en) Table driven print formatting
JP2790285B2 (ja) フル・ページ・グラフィックス画像表示データ圧縮方法および装置
KR100597879B1 (ko) 비트맵데이터라인세그먼트를검색하는구분적인-선형직접메모리억세스어드레싱모드를사용하여,프린트될비트맵데이터의래스터화된라인을구성하는방법및장치
JPS633500B2 (ja)
JPH06195182A (ja) プリンタのバンド構成システム及び方法
JPH0345076A (ja) 画像データの処理方式
JP3145509B2 (ja) 文字生成方法及びその装置
JPS5936778B2 (ja) デ−タ印刷装置
AU720541B2 (en) Image rendering for page printers
JP2746396B2 (ja) ページプリンタ
EP0461811A2 (en) Pattern processing method
EP0764919B1 (en) Printer with high bandwidth compression architecture
JP3203660B2 (ja) 画像記録装置
US6246488B1 (en) Recording apparatus
JP2854344B2 (ja) ミクストモード文書の表示方法
JPH0729448B2 (ja) プリンタ制御装置
EP1093080B1 (en) Printer with high bandwidth compression architecture
JPS61267126A (ja) プロツタ制御装置
JP2911529B2 (ja) 印刷装置
JP2614251B2 (ja) プリンタの印刷制御方式
JPH0729449B2 (ja) プリンタ制御装置
JPS6281690A (ja) 文字処理装置
JPS6364086A (ja) 出力装置
JPS61173951A (ja) 印字制御装置