JPH10228269A - 画像処理装置 - Google Patents

画像処理装置

Info

Publication number
JPH10228269A
JPH10228269A JP9029986A JP2998697A JPH10228269A JP H10228269 A JPH10228269 A JP H10228269A JP 9029986 A JP9029986 A JP 9029986A JP 2998697 A JP2998697 A JP 2998697A JP H10228269 A JPH10228269 A JP H10228269A
Authority
JP
Japan
Prior art keywords
data
bitmap data
rasterizer
order
character
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
JP9029986A
Other languages
English (en)
Inventor
Naoyuki Iwabuchi
直行 岩渕
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP9029986A priority Critical patent/JPH10228269A/ja
Publication of JPH10228269A publication Critical patent/JPH10228269A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Dot-Matrix Printers And Others (AREA)
  • Advance Control (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【課題】 複数の文字生成手段を効率良く使用して処理
時間の短縮化を図る。 【解決手段】 本発明の画像処理装置は、描画データを
ビットマップデータに展開する互いに並列処理可能な複
数の文字生成手段<1>〜<n>と、複数の文字生成手
段<1>〜<n>によって処理されている描画データの
描画順序を認識する順序認識手段2と、複数の文字生成
手段<1>〜<n>のいずれかによって展開が終了した
ビットマップデータに対し、順序認識手段2の認識結果
に基づいて、展開を行った文字生成手段<1>〜<n>
以外のいずれかまたは複数の文字生成手段によって展開
されるビットマップデータとの重複処理を行うため、複
数の文字生成手段<1>〜<n>間でのデータ転送を制
御する転送手段3とを備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、描画データをビッ
トマップデータに展開する描画手段を複数備えた画像処
理装置に関する。
【0002】
【従来の技術】近年、ビジネス文書、マニュアル等の作
成をコンピュータ上で行い、必要な部数だけプリンタで
出力するというデスクトップパブリッシング(DTP)
が盛んに行われている。
【0003】DTPシステムでは、コンピュータ上でD
TPソフトウェアが動作しており、ユーザはそのソフト
ウェアを用いて文字や図形(三角形、四角形、円形等)
を文書内の希望する位置に描画したり、スキャナ等によ
り写真等のイメージデータを読み込み、文書内に張り付
けたりしている。
【0004】また、描画する図形、文字、画像に対して
簡単に色づけしたり、その色を変更することもできるよ
うになっている。
【0005】DTPソフトウェアを使用して作成された
文書をプリンタに出力するときには、DTPソフトウェ
アが内部で管理している文書データをページ記述言語
(PDL)で記述したデータに変換し、プリンタへ送信
している。
【0006】プリンタ側には、PDLデータをビットマ
ップデータに変換するためのソフトウェアがあり、この
ソフトウェアによって変換されたビットマップデータを
プリンタのエンジンへ送信することで紙やOHPシート
等の媒体に印刷を行っている。
【0007】このPDLで記述された文書は、解像度、
カラー特性等、プリンタの特性に依存しないよう抽象的
な記述で構成されているため流通性は良いが、その分プ
リンタ側でPDLデータをビットマップデータに変換す
る必要があり、プリンタ側の負担増加を招いている。
【0008】一方、プリンタエンジンは年々高速化され
てきており、例えばモノクロプリンタで130PPM
(ページ/分)、カラープリンタで35PPM〜40P
PMのものまで現れるようになってきている。
【0009】このため、PDLデータをビットマップデ
ータに変換するための時間がプリンタエンジンの速度に
追従できず、プリンタエンジンの能力を十分に発揮でき
ていないのが現状である。
【0010】PDLデータの変換に時間がかかる理由の
一つとして、プリンタ側のフォントの生成能力の低さが
挙げられる。DTP分野では一般にアウトラインフォン
トを使用する場合が多い。このアウトラインフォント
は、任意の大きさ、任意の解像度で文字を生成できるた
め、PDLデータとの相性がよく、高画質が求められる
分野では不可欠である。
【0011】しかし、アウトラインフォントを用いる場
合には、アウトラインフォントデータからビットマップ
データへの変換に多くの時間を要するという問題があ
る。この問題を解決するため、フォントキャッシュと呼
ばれるキャッシュメモリに一度変換したビットマップデ
ータを記憶しておき、同じ文字の出力要求が発生した場
合には、このフォントキャッシュ中のデータを出力する
ことで文字出力を高速化するという技術がある。
【0012】しかしながら、このフォントキャッシュを
用いる技術では、フォントキャッシュに多くの文字が登
録されていれば高速な出力を実現できるものの、例えば
複数ページから成る文書データの前半ページ等、フォン
トキャッシュに文字と対応するビットマップデータが登
録されていない場合には効果が少ない。
【0013】また、プリンタエンジンの解像度の向上に
伴い、一文字のビットマップデータのサイズが大きくな
ってきており、フォントキャッシュに登録できる文字数
の制限も厳しくなってきている。この解像度の向上に伴
い、フォントキャッシュの容量を増加すればよいが、フ
ォントキャッシュは一般にRAM等のメモリによって構
成されており、フォントキャッシュの容量増加によって
画像処理装置全体のコストアップを招いてしまう。
【0014】例えば、400DPI(Dot Per
Inch)の解像度では、12ポイントの日本語の文字
のビットマップデータとして500〜600バイトが必
要であるが、600DPIの解像度では1000〜12
00バイト、1200DPIの解像度では4000〜5
000バイトが必要となる。したがって、同一サイズの
フォントキャッシュに登録できる文字は、400DPI
を100%とすると、600DPIでは50%、120
0DPIでは12%程度となってしまい、フォントキャ
ッシュのヒット率が大幅に低下し、複数のページからな
る文書を変換する場合、1ページ目以降でも高速な変換
を得ることが困難である。
【0015】このため、互いに並列に動作する複数個の
文字生成用の処理装置(以下、「文字生成手段」と言
う。)を用いて、同時に複数の文字を生成することによ
り、文字変換処理を高速化することが考えられる。
【0016】しかし、複数の文字生成手段を用いて文字
を生成する場合、文字をフレームバッファに描画する際
に、文字の上下関係が逆転する場合が発生する。
【0017】図14は、「L」、「E」、「V」という
文字を各々「赤」、「緑」、「青」で「LEV」の順に
描画した場合であり、(a)は正しい描画順序、(b)
は間違った描画順序で印字された場合を示している。
【0018】これらの文字を、例えば3つの文字生成手
段を用いてビットマップデータに変換し印字を行ったと
すると、各文字の複雑さにより描画を終了するタイミン
グが一致しないことから、例えば、図14(b)に示す
ように、「VEL」という間違った順序で描画されてし
まう場合がある。
【0019】特開平4−327966号公報に記載され
る像形成装置では、フレームバッファへの描画に対する
アクセス権を制御する手段を設けることで、図形、画像
の描画と文字の描画の順序を保証しつつ、図形、画像の
描画と文字の描画とを並列に行う技術が開示されてい
る。
【0020】図15は、特開平4−327966号公報
に記載される像形成装置の構成を説明する図である。す
なわち、この像形成装置において、主処理部21はコマ
ンドを受けると、コマンドに基づき図形、画像を形成
し、出力メモリ22にアクセスして記憶を行い、文字に
関する情報を別途出力する。アクセス権管理手段23
は、主処理部21から出力メモリ22に対する図形、画
像の記憶が行われると以降アクセス拒否設定を行って、
出力メモリ22の一部または全部に対するアクセスを禁
止する。
【0021】文字データ管理手段24は、第1の記憶手
段25、変換手段26および第2の記憶手段27を制御
して、出力用のデータ形式に変換されたデータを得る。
そして、アクセス権管理手段23のアクセス拒否設定を
解除して出力メモリ22へ記憶させる。出力メモリ22
に記憶されたデータは出力手段28へ送られ所定の媒体
に印字される。
【0022】
【発明が解決しようとする課題】しかしながら、このよ
うな像形成装置では、描画順序を保証する代わりにアク
セス拒否された文字生成手段の動作が中断してしまうと
いう問題がある。
【0023】DTPソフトウェアにおいては、日本語の
処理の場合、一文字ずつ描画する位置を計算し、微妙な
文字の配置を行うものがあり、そのような場合には、バ
ウンディングボックス(その文字の描画後の形状を囲む
四角形)が少しだけ重なることがある(図17参照)。
【0024】一般にフォントの部分だけアクセス拒否を
設定するのは困難であるため、その文字のバウンディン
グボックス情報を利用してアクセス拒否の制御を行って
いる。しかし、この場合にはバウンディングボックスの
重なりのため、全ての文字はシーケンシャルにしか描画
できず、複数ある文字生成手段もアクセス拒否が行われ
ている間は動作が中断することになる。
【0025】例えば、図16に示す文字を2つの文字生
成手段(ラスタライザ)を用いて生成する場合を考え
る。なお、ここでは漢字の文字生成時間の方がひらがな
の文字生成時間よりも長いとする。
【0026】図17に示すように、先ず「菜」の文字の
生成命令が第1ラスタライザに送り込まれ、次に「に」
の文字の生成命令が第2ラスタライザに送り込まれる。
「に」は「菜」より生成時間が短いので先に生成が終了
するが、「菜」の生成が終了するまでデータを出力する
ことができない。
【0027】このため、第2ラスタライザは、第1ラス
タライザの処理が終了して「菜」の文字が出力されるま
で待たされることになる(Wait参照)。次に第1ラ
スタライザは「虫」の生成作業に入り、第2ラスタライ
ザは「い」を生成する作業に入る。この場合も「菜」と
「に」との関係と同じく、「い」の文字の生成が終わっ
た第2ラスタライザが待たされることになる。残りの
「な」と「い」については、同時に第1ラスタライザお
よび第2ラスタライザで生成され、一連の文字の生成が
終了することになる。
【0028】このように、複数の文字生成手段を備えて
いても、重ね合わせ順序を保証するため、本来後に描画
されるべきフォントが先に生成されてしまう場合には、
先にフォント生成を終了した文字生成手段が待たされる
状態となる。これによって、全体として文字生成時間が
長くなり、高速化するプリンタエンジンへの追従が困難
となってしまう。
【0029】
【課題を解決するための手段】本発明はこのような課題
を解決するために成された画像処理装置である。すなわ
ち、本発明の画像処理装置は、描画データをビットマッ
プデータに展開する互いに並列処理可能な複数の描画手
段と、複数の描画手段によって処理されている描画デー
タの描画順序を認識する順序認識手段と、複数の描画手
段のいずれかによって展開が終了したビットマップデー
タに対し、順序認識手段の認識結果に基づいて、展開を
行った描画手段以外のいずれかまたは複数の描画手段に
よって展開されるビットマップデータとの重複処理を行
うため、複数の描画手段間でのデータ転送を制御する転
送制御手段とを備えている。
【0030】本発明では、描画データをビットマップデ
ータに展開する互いに並列処理可能な複数の描画手段を
備え、各描画手段によって処理される描画データの描画
順序を順序認識手段で認識していることから、転送制御
手段によって複数の描画手段間でデータ転送を行う際、
この順序認識手段で認識した描画データの描画順序に基
づき各描画データと対応するビットマップデータの重複
処理を行うことができ、複数の描画手段によって並列処
理を行っても各ビットマップデータを媒体に描画する際
の上下関係を正確に再現できることになる。
【0031】
【発明の実施の形態】以下に、本発明の画像処理装置に
おける実施の形態を図に基づいて説明する。図1は画像
処理装置における第1実施形態を説明する構成図で、
(a)は主要構成図、(b)はプリンタへ適用した場合
の構成図である。
【0032】すなわち、図1(a)に示すように、本実
施形態における画像処理装置は、描画データをビットマ
ップデータに展開する互いに並列処理可能な複数の文字
生成手段<1>〜<n>を備えた文字生成装置1と、各
文字生成手段<1>〜<n>によって処理される描画デ
ータの描画順序を認識する順序認識手段2と、前記複数
の文字生成手段<1>〜<n>のいずれかによって展開
が終了したビットマップデータに対し、順序認識手段2
の認識結果に基づいて、展開を行った文字生成手段以外
のいずれかまたは複数の文字生成手段によって展開され
るビットマップデータとの重複処理を行うため、複数の
文字生成手段<1>〜<n>間でのデータ転送を制御す
る転送手段3とから構成されている。
【0033】図1(b)に示すように、本実施形態の主
要構成をプリンタに適用する場合、図1(a)に示す文
字生成装置1は図1(b)に示す文字生成装置1と対応
し、図1(a)に示す順序認識手段2は文字生成装置1
内の各文字生成手段やRAM10またはハードディスク
11等の記憶手段内に構成され、図1(a)に示す転送
手段3は図1(b)に示すCPU12によって実行され
るプログラム処理で実現している。
【0034】その他、プリンタはCPU12、ROM1
3、プリンタエンジン14、プリンタI/F15、ホス
トW/S16、ホストI/F17、DMAC(Dynamic M
emory Access Controler) 18、システムバスBによっ
て構成されている。
【0035】CPU12は、プリンタ全体の制御を行う
ものであり、以下の動作を順に行う。 ROM13内のブートプログラム13aを実行し、プ
リンタの初期化を行う。 ホストI/F17を介してホストW/S16から印字
すべき文書データを受信する。 ROM13内の印字制御プログラム13cを実行し、
文書データをもとにRAM10内のフレームバッファ1
0aに1ページ分のビットマップデータを形成する。 印字制御プログラム13cを実行し、プリンタI/F
15を介してプリンタエンジン14を起動し、DMAC
16を使用してビットマップデータを転送し、の動作
へ戻る。
【0036】ROM13には、CPU12がプリンタの
立ち上げ時に実行するブートプログラム13a、CPU
12が文書データをビットマップデータに展開するとき
に実行する文書展開プログラム13b、CPU12がプ
リンタエンジン14を制御し、紙等の媒体へ文書イメー
ジを印字するときに実行する印字制御プログラム13c
等が格納されている。
【0037】また、RAM10は、フレームバッファ1
0a、ワークメモリ10b等として使用される。このR
AM10の初期化およびフレームバッファ10aのアロ
ケートは、プリンタの立ち上げ時に行われる。
【0038】RAM10のフレームバッファ10aは、
CPU12がROM13に格納された文書展開プログラ
ム13bを起動して、ビットマップデータに変換した1
ページ分の文書データを格納する。
【0039】また、ワークメモリ10bは、CPU12
が展開処理を行うときのテンポラリ領域として、また文
字生成装置1が文字の展開時に使用するベクトルフォン
トデータ11aを一時的に保存するために使用される。
【0040】プリンタエンジン14は、文書展開プログ
ラム13bによってフレームバッファ10a上に生成さ
れたビットマップデータを紙等の媒体へ印字する装置で
ある。このプリンタエンジン14とシステムバスBとの
間にあるプリンタI/F15は、プリンタエンジン14
とシステムバスBとのインタフェースであり、CPU1
2が印字制御プログラム13cに従ってプリンタエンジ
ン14を操作する際、CPU12から送信された命令を
受けるものである。
【0041】ホストW/S16は、文書データを作成
し、プリント時に文書データを送信する。ホストI/F
17は、ホストW/S16とシステムバスBとのインタ
フェースである。このホストW/S16とホストI/F
17とは同一のネットワークに接続されているが、ホス
トI/F17がホストW/S16との間のネットワーク
プロトコルを処理するため、CPU12からプロトコル
が見えないようになっている。
【0042】ハードディスク11は、主にベクトルフォ
ントデータ11aを保存するが、ベクトルフォントデー
タ11aをすべて保存しても空き領域があれば、文書デ
ータ、ビットマップデータの保存を行う場合もある。な
お、ベクトルフォントデータ11aは、ASCII、J
IS第1、第2水準等の文字セットに規定される文字コ
ードに対応する文字のベクトルデータである。
【0043】DMAC18は、フレームバッファ10a
に生成された文書のビットマップデータをプリンタエン
ジン14にDMA転送するためのハードウェアである。
システムバスBは、CPU12、ROM13、RAM1
0、プリンタI/F15、ホストI/F17、ハードデ
ィスク11、DMAC18および文字生成装置1を物理
的に接続するバスである。
【0044】また、文字生成装置1は文字描画命令また
は色指定命令を受け取り、ベクトルフォントデータ11
aからビットマップデータを生成する。
【0045】次に、第1実施形態の画像処理装置におけ
る文字生成装置1を具体的に説明する。図2は文字生成
装置を説明する構成図である。文字生成装置1は、制御
装置K、カウンタC、および複数(この例では3つ)の
ラスタライザ(第1ラスタライザ1a、第2ラスタライ
ザ1b、第3ラスタライザ1c)から構成されている。
【0046】制御装置Kは第1ラスタライザ1a、第2
ラスタライザ1b、第3ラスタライザ1cおよびカウン
タCを制御する。また、カウンタCは文字生成の順序を
認識するための機構の一つであり、一定の整数を記憶
し、制御装置Kの制御のもとで1ずつ増加する。
【0047】第1ラスタライザ1a、第2ラスタライザ
1b、第3ラスタライザ1cは、ベクトルフォントデー
タからビットマップデータを生成し、制御装置Kや必要
な場合には他のラスタライザへそのビットマップデータ
を転送するものである。
【0048】次に、この制御装置K、第1ラスタライザ
1a、第2ラスタライザ1b、第3ラスタライザ1cお
よびカウンタCの動作を図3〜図5に示すフローチャー
トに沿って説明する。なお、以下の説明で図3〜図5に
示されない符号は図2を参照するものとする。
【0049】先ず、制御装置KはシステムバスBを介し
て文字描画命令を受け付ける。ここで一つ前の文字生成
命令の属性と異なっているか否かを判断する(ステップ
S101)。属性とは、文字に付された色や模様を示す
情報である。
【0050】この属性が異なっていればカウンタCの値
を増やす処理を行う(ステップS102)。一方、属性
が同じであれば重なりを考慮する必要がない(色や模様
が同じなら、文字の重なりを認識できない)ため、カウ
ンタCの値を増加させず、少なくとも一つ前の文字とは
重なりの処理を行わないようにする。
【0051】次に、制御装置Kは使用されていないラス
タライザを探す(ステップS103)。全てのラスタラ
イザが使用中であればラスタライザが使用可能となるま
で待つ(ステップS104)。第1ラスタライザ1a、
第2ラスタライザ1b、第3ラスタライザ1cのいずれ
かが使用可能となれば、使用可能なラスタライザに文字
描画命令とカウンタCの値を渡す(ステップS10
5)。このカウンタCの値は順序保証番号として順序を
制御するタグとして利用される。
【0052】ラスタライザは文字描画命令と順序保証番
号を渡られると、先ず順序保証番号を後に利用するため
に記憶しておく(ステップS201)。次いで、文字描
画命令を実行し、ベクトルフォントデータからビットマ
ップデータを生成する(ステップS202)。
【0053】ラスタライザはビットマップデータを生成
し終わると、順序保証番号をビットマップデータの実体
以外の情報、例えばビットマップデータの占める座標情
報と共にヘッダとして制御装置Kおよび他のラスタライ
ザに送る(ステップS203)。
【0054】ここで、ヘッダを受けたラスタライザでの
処理を図5に沿って説明する。他のラスタライザは受け
取ったヘッダから順序保証番号を取り出す(ステップS
301)。そして、その順序保証番号を利用してビット
マップデータの実体が不要かどうかを判定する。具体的
には、ラスタライザは送られてきたヘッダに含まれてい
る順序保証番号を自分が記憶している順序保証番号と比
較する(ステップS302)。記憶している順序保証番
号よりヘッダの順序保証番号の方が大きいことで、本来
ヘッダを受け取ったラスタライザが生成したビットマッ
プデータの方が先に出力されなければならないことが分
かる。つまり、逆の重なりが生じる可能性があることが
分かる。
【0055】さらに厳密に重なりの可能性を判定した場
合は、バウンディングボックスの比較などを行い、重な
りの判定を行う(ステップS303)。その結果、重な
りが生じている場合、ヘッダを受け取ったラスタライザ
は重なりの順序性を保証するため、ヘッダを送ったラス
タライザにビットマップデータの転送を要求するか、も
しくはヘッダを送ったラスタライザがフレームバッファ
にビットマップデータを送るときにビットマップデータ
を横取りして取得する処理を行う(ステップS30
4)。
【0056】また転送元のラスタライザが同報通信可能
ならば、常に同報通信でビットマップデータを送信する
ことにより、必要なラスタライザがその都度ビットマッ
プデータを取り込むか、不要なら無視するかを選択でき
るようにすることも可能である。
【0057】そして、ビットマップデータを生成したラ
スタライザはビットマップデータをフレームバッファへ
転送する(ステップS204)。
【0058】図6は3つのラスタライザでの順序のやり
取りを説明する図である。なお、図6では、時間の経過
とともに(a)〜(c)へ状態が変わっていく。また、
文字の描画順序(文字生成の要求順序)は「ABCD
E」の順とし、各図に付されている数字が順序保証番号
を示すものとする。
【0059】初めは第1ラスタライザ1a、第2ラスタ
ライザ1b、第3ラスタライザ1cが全て使用可能な状
態であるため、各々ABCの文字生成が依頼される。同
時に各々「0」「1」「2」の順序保証番号が渡され
る。
【0060】ここで、第1ラスタライザ1aでの文字生
成が終わったとする(図6(a)参照)。第1ラスタラ
イザ1aは順序保証番号「0」を含んだヘッダを第2ラ
スタライザ1bおよび第3ラスタライザ1cへ送信す
る。第2ラスタライザ1bおよび第3ラスタライザ1c
は、第1ラスタライザ1aから送られた順序保証番号
「0」を自分の保持している順序保証番号「1」「2」
と比較する。
【0061】その結果、第2ラスタライザ1bおよび第
3ラスタライザ1cの両方とも保持している順序保証番
号が第1ラスタライザ1aから送られてきた順序保証番
号より大きいので特別な動作は行わない。
【0062】第1ラスタライザ1aはフレームバッファ
へ生成したビットマップデータを転送する。続いて第1
ラスタライザは「D」の文字の生成命令を順序保証番号
「3」とともに受け取る。
【0063】その後、今度は第3ラスタライザ1cがビ
ットマップデータの生成を終了する(図6(b)参
照)。第3ラスタライザ1cは自分の順序保証番号
「2」を含んだヘッダを第1ラスタライザ1aおよび第
2ラスタライザ1bへ送信する。第1ラスタライザ1a
および第2ラスタライザ1bは、第3ラスタライザ1c
から送られた順序保証番号「2」を自分の保持している
順序保証番号「3」「1」と比較する。
【0064】ここで第2ラスタライザの順序保証番号
「1」は、送られてきた順序保証番号「2」よりも小さ
いので重なりの問題が発生する可能性が分かる。ここで
厳密に重なりを判定する場合には、バウンディングボッ
クスで重なりを判定する。
【0065】第2ラスタライザ1bは第3ラスタライザ
1cが同報通信でビットマップデータを転送するときに
必要なビットマップデータを得る。ビットマップデータ
を転送した第3ラスタライザ1cは、次に「E」の文字
の生成命令を順序保証番号「4」とともに受け取り、同
様な処理を行う(図6(c)参照)。
【0066】次に、転送されたビットマップデータを利
用しての重ね合わせを図7に基づいて説明する。なお、
図7においてハッチングで示す領域が生成されたビット
マップデータを示している。
【0067】例えば、図7(a)に示すバッファBFに
おいて「E」の文字のビットマップデータを生成してい
る間に、これよりも上となる他の文字(例えば、「F」
の文字の一部分)のビットマップデータが転送されてき
た場合、その転送されてきたビットマップデータをバッ
ファBFに上書きする。
【0068】バッファBFへ上書きするビットマップデ
ータを転送する場合には、そのビットマップデータの上
書きする部分だけ転送しても、またその全てのビットマ
ップデータを転送して上書きに必要な部分だけ利用する
ようにしてもよい。
【0069】転送されてきたビットマップデータを上書
きすることで、生成中のビットマップデータの上に転送
されてきたビットマップデータを重ね合わせることがで
きるが、バッファBFにビットマップデータが生成され
ていない部分(例えば、図7(a)の「E」における白
抜き部分)に先に上書きするビットマップデータが転送
された場合には、その上に生成しているビットマップデ
ータを上書きしてしまうことになる。
【0070】そこで、転送されてきたビットマップデー
タをバッファBFに書き込む際、一旦その書き込む場所
を読み込み、そこのバッファBFが背景色(または透明
色、すなわち通常は値が「0」の領域)ならば書き込ま
ないようソフトウェアで判定するか、そのようなハード
ウェアを構成する。
【0071】または、マスクビットを用意しておくこと
により、転送して上書きされた部分にそれ以上上書きが
できないようにしておく。これによって図7(b)に示
すようバッファBF内で正確な重ね合わせ処理を行うこ
とができるようになる。
【0072】図8は、2つのラスタライザを用いて文字
生成処理を行った場合における従来の処理と、本実施形
態での処理との差を説明する図である。いずれも図17
に示すような「菜に虫いない」という文字についてのビ
ットマップデータ生成を行っているが、従来では、重ね
合わせの関係から第2ラスタライザで「に」の文字生成
が終了しても、第1ラスタライザで「菜」の文字生成を
終了するまで第2ラスタライザの待ち(Wait)が発
生し、同様に第1ラスタライザで「虫」の文字生成が終
了するまで第2ラスタライザで待ち(Wait)が発生
している。
【0073】これに対して本実施形態では、第2ラスタ
ライザで「に」の文字生成が終了してすぐに「虫」の文
字生成を実行し、第1ラスタライザで「菜」の文字生成
が終了するとすぐに「い」の文字生成を行う、というよ
うに、その段階で利用可能なラスタライザを選択して順
次文字生成を行わせているため、各ラスタライザにおい
て処理の待ち(Wait)が発生しない。なお、重ね合
わせについては、先に説明したように、順序保証番号の
比較およびバッファ内での重ね合わせ処理によってラス
タライザでの処理終了の順番とは別個に制御しているこ
とから、正確な重ね合わせを行うことができるようにな
っている。
【0074】これにより、文字生成時間の合計を大幅に
短縮できるとともに、正確な重ね合わせをも実現できる
ようになる。
【0075】次に、本発明の画像処理装置における第2
実施形態を説明する。図9は第2実施形態を説明する構
成図である。第2実施形態における画像処理装置の文字
生成装置1は、制御装置K、順序制御キューC’、およ
び複数(この例では3つ)のラスタライザ(第1ラスタ
ライザ1a、第2ラスタライザ1b、第3ラスタライザ
1c)から構成されている。
【0076】制御装置Kは第1ラスタライザ1a、第2
ラスタライザ1b、第3ラスタライザ1cおよび順序制
御キューC’を制御する。また、順序制御キューC’は
文字生成の順序を認識するための機構であり、文字生成
が開始される時に文字生成を依頼したラスタライザを指
すように設定され、文字生成の終了時にラスタライザへ
のポインタを消去する。
【0077】また、第1ラスタライザ1a、第2ラスタ
ライザ1b、第3ラスタライザ1cは、第1実施形態と
同様、ベクトルフォントデータからビットマップデータ
を生成し、制御装置Kや必要な場合には他のラスタライ
ザへそのビットマップデータを転送するものである。
【0078】次に、この制御装置K、第1ラスタライザ
1a、第2ラスタライザ1b、第3ラスタライザ1cお
よび順序制御キューC’の動作を図10〜図11に示す
フローチャートに沿って説明する。なお、以下の説明で
図10〜図11に示されない符号は図9を参照するもの
とする。
【0079】先ず、制御装置KはシステムバスBを介し
て文字描画命令を受け付、使用されていないラスタライ
ザを探す(ステップS401)。全てのラスタライザが
使用中であればラスタライザが使用可能となるまで待つ
(ステップS402)。第1ラスタライザ1a、第2ラ
スタライザ1b、第3ラスタライザ1cのいずれかが使
用可能となれば、使用可能なラスタライザに文字描画命
令を送る(ステップS403)。
【0080】この文字描画命令の送信と同時に順序制御
キューC’に選ばれたラスタライザを特定するポインタ
を入力する。このポインタとしては、例えば第1ラスタ
ライザ1aに対応して「R1」、第2ラスタライザ1b
に対応して「R2」、第3ラスタライザ1cに対応して
「R3」を入力する。
【0081】文字描画命令を受けたラスタライザが文字
生成を終了した場合、ラスタライザは制御装置Kに対し
て順序制御キューC’から自分を示しているポインタを
削除するよう依頼を行う(ステップS501)。順序制
御キューC’は削除されたポインタより先にセットされ
たポインタが存在する否かを調べる(ステップS50
2)。
【0082】存在する場合には、そのポインタを文字生
成の終了したラスタライザへ通知する。ポインタを受け
たラスタライザは、生成したビットマップデータをその
ポインタの示すラスタライザへ転送する(ステップS5
03)。これによって、重なりを保証することになる。
【0083】もし、ここで2つ以上のラスタライザにビ
ットマップデータを転送する必要があった場合、少なく
とも次の二つの方法がある。まず第1の方法は、各々の
ラスタライザにビットマップデータを転送する方法であ
り、第2の方法は、送るべきラスタライザで一番最後に
重なる、つまり順序制御キューC’の中で最初に見つか
るラスタライザにのみビットマップデータを転送する方
法である。
【0084】第2の方法では、ビットマップデータを受
けたラスタライザが順序制御キューC’を検索して次の
ラスタライザを捜し、ビットマップデータを順に転送し
ていく。これを順序制御キューC’の先頭になるラスタ
ライザまで繰り返していくことで結果的に転送が必要な
全てのラスタライザにビットマップデータが転送され
る。このとき途中のラスタライザで重ね合わせに利用し
た部分は転送を行わないようにすれば、転送量を削減す
ることが可能となる。
【0085】そして、ラスタライザはフレームバッファ
にビットマップデータを送るため、制御装置Kへビット
マップデータを転送する(ステップS504)。
【0086】図12はビットマップデータの転送を説明
する図である。なお、図12では、時間の経過とともに
(a)〜(c)へ状態が変わっていく。また、文字の描
画順序(文字生成の要求順序)は「ABCDE」の順と
する。
【0087】初めは第1ラスタライザ1a、第2ラスタ
ライザ1b、第3ラスタライザ1cが全て使用可能な状
態であるため、各々ABCの文字生成が依頼される。同
時に第1ラスタライザ1a、第2ラスタライザ1b、第
3ラスタライザ1cの各々に対応したポインタ(R1、
R2、R3)が文字生成の要求の順序に従って搬送制御
キューC’にセットされる。
【0088】ここで、第1ラスタライザ1aでの文字生
成が終わったとする(図12(a)参照)。第1ラスタ
ライザ1aを示しているポインタ(R1)は順序制御キ
ューC’の先頭に位置しているので、重なりの問題は発
生しないことが分かる。そして、順序制御キューC’か
らは第1ラスタライザ1aを示すポインタ(R1)が削
除される。
【0089】その後、第1ラスタライザ1aはフレーム
バッファへ生成したビットマップデータを転送する処理
を行う。次いで、第1ラスタライザ1aの空きの状態と
なったことで、制御装置Kは「D」の文字の生成命令を
第1ラスタライザ1aに送ると同時に順序制御キュー
C’の終わりにポインタ(R1)をセットする。
【0090】その後、今度は第3ラスタライザ1cがビ
ットマップデータの生成を終了する(図12(b)参
照)。この第3ラスタライザ1cを示しているポインタ
(R3)は順序制御キューC’の途中にある。順序制御
キューC’からは第3ラスタライザ1cへのポインタ
(R3)を削除するとともに、そこを始点として順序制
御キューC’を先頭から向かって検索していく。
【0091】この例では検索の途中に第2ラスタライザ
1bを示すポインタ(R2)が存在することから、第3
ラスタライザ1cで生成したビットマップデータでは第
2ラスタライザ1bで生成するビットマップデータと重
なりの問題を起こす可能性があることが分かる。
【0092】このため、転送先を知らせるために第3ラ
スタライザ1cに第2ラスタライザ1bを示すポインタ
(R2)が渡される。第3ラスタライザ1cは送られた
ポインタ(R2)に従って第2ラスタライザ1bにビッ
トマップデータを転送する。これによって重なりの処理
が正常に行われるので第3ラスタライザ1cはフレーム
バッファにビットマップデータを転送して「C」の文字
の生成処理を終了する。
【0093】次いで、第3ラスタライザ1cが空きの状
態となったため、制御装置Kは「E」の文字の生成命令
を第3ラスタライザ1cに送ると同時に順序制御キュー
C’の終わりにポインタ(R3)をセットする(図12
(c)参照)。
【0094】図13は重ね合わせを説明する図である。
ここでバッファBF1はラスタライザのうち一つがビッ
トマップデータを生成するのに用いるワークエリア、バ
ッファBF2は重ね合わせのためのデータを記憶するワ
ークエリアである。
【0095】先ず、文字生成開始時に初期化動作として
バッファBF1およびバッファBF2とをクリアする。
重ね合わせのために転送されてきたビットマップデータ
はバッファBF2に上書きされる。もし2つ以上のラス
タライザから転送された場合には順に上書きしていく。
【0096】バッファBF1に文字生成したビットマッ
プデータが書き込まれ、文字生成を終了した時点でバッ
ファBF1のビットマップデータの上にバッファBF2
のビットマップデータが上書きされるよう合成すること
で、図中右側に示すような重ね合わせ処理が完了する。
【0097】この際の重ね合わせ処理(合成)は、論理
回路を用いても、また単にフレームバッファに、バッフ
ァBF1、バッファBF2の順にビットマップデータを
転送することで行うようにしてもよい。
【0098】これによって、図8で示すと同様なラスタ
ライザの待ち(Wait)を発生させずに、文字生成時
間の合計を大幅に短縮でき、しかも正確な重ね合わせも
実現できるようになる。
【0099】
【発明の効果】以上説明したように、本発明の画像処理
装置によれば次のような効果がある。すなわち、複数の
描画手段を用いてビットマップデータを展開する場合、
各描画手段を停止させることなく、しかも描画順序を保
証することが可能となる。これによって、複数の描画手
段を効率良く使用することができ、全体の描画時間を短
縮でるとともに、正確な重ね合わせも実現できるように
なる。
【図面の簡単な説明】
【図1】 第1実施形態を説明する構成図である。
【図2】 文字生成装置を説明する構成図である。
【図3】 処理フローチャート(その1)である。
【図4】 処理フローチャート(その2)である。
【図5】 処理フローチャート(その3)である。
【図6】 順序のやり取りを説明する図である。
【図7】 重ね合わせを説明する図である。
【図8】 文字生成時間の差を説明する図である。
【図9】 第2実施形態を説明する構成図である。
【図10】 処理フローチャート(その4)である。
【図11】 処理フローチャート(その5)である。
【図12】 ビットマップデータの転送を説明する図で
ある。
【図13】 重ね合わせを説明する図である。
【図14】 描画順序を説明する図である。
【図15】 従来例を説明する構成図である。
【図16】 従来のラスタライザによる処理を説明する
図である。
【図17】 生成文字の例を示す図である。
【符号の説明】
1 文字生成装置 2 順序認識手段 3 転送手段 10 RAM 11 ハードディスク 12 CPU 13 ROM 14 プリンタエンジン

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 描画データをビットマップデータに展開
    する互いに並列処理可能な複数の描画手段と、 前記複数の描画手段によって処理されている描画データ
    の描画順序を認識する順序認識手段と、 前記複数の描画手段のいずれかによって展開が終了した
    ビットマップデータに対し、前記順序認識手段の認識結
    果に基づいて、該展開を行った描画手段以外のいずれか
    または複数の描画手段によって展開されるビットマップ
    データとの重複処理を行うため、前記複数の描画手段間
    でのデータ転送を制御する転送制御手段とを備えている
    ことを特徴とする画像処理装置。
  2. 【請求項2】 描画データをビットマップデータに展開
    する互いに並列処理可能な複数の描画手段と、 前記複数の描画手段によって出力されたビットマップデ
    ータを記憶する記憶手段と、 前記複数の描画手段によって処理されている描画データ
    の描画順序を認識する順序認識手段と、 前記順序認識手段の認識結果に応じて、前記複数の描画
    手段のいずれかによって展開が終了したビットマップデ
    ータを一時的に保存する保存手段と、 前記保存手段に保存されたビットマップデータと、該保
    存手段に保存されたビットマップデータに対応する描画
    データ以外の描画データに対応して前記複数の描画手段
    のいずれかによって展開されたビットマップデータとを
    合成して前記記憶手段へ転送する合成手段とを備えてい
    ることを特徴とする画像処理装置。
  3. 【請求項3】 描画データをビットマップデータに展開
    する互いに並列処理可能な複数の描画手段と、 前記複数の描画手段によって処理されている描画データ
    の描画順序を認識する順序認識手段と、 前記複数の描画手段のいずれかによって展開が終了した
    ビットマップデータに対し、前記順序認識手段の認識結
    果に基づいて、該展開を行った描画手段以外のいずれか
    または複数の描画手段によって展開されるビットマップ
    データとの重複処理を行うため、前記複数の描画手段間
    でのデータ転送を制御する転送制御手段と、 前記転送制御手段によって文字生成中のワークメモリへ
    転送されたビットマップデータを該ワークメモリ中のデ
    ータと矛盾なく合成する合成手段とを備えていることを
    特徴とする画像処理装置。
  4. 【請求項4】 前記順序認識手段は前記複数の描画手段
    の各々に設けられていることを特徴とする請求項1〜3
    のうちいずれか1項に記載の画像処理装置。
  5. 【請求項5】 前記順序認識手段は、制御キューと該制
    御キューに格納された各描画手段を示す番号とで順序を
    認識することを特徴とする請求項1〜3のうちいずれか
    1項に記載の画像処理装置。
  6. 【請求項6】 前記転送制御手段は、ビットマップデー
    タの転送を必要とする描画手段が複数存在する場合、一
    の描画手段へ該ビットマップデータを転送した後、該一
    の描画手段から他の描画手段へと順次該ビットマップデ
    ータを転送する制御を行うことを特徴とする請求項1〜
    3のうちいずれか1項に記載の画像処理装置。
  7. 【請求項7】 前記複数の描画手段で各々展開するビッ
    トマップデータに対応する各属性が同じ場合には、前記
    順序認識手段での認識結果とは無関係に各ビットマップ
    データを外部へ出力することを特徴とする請求項1〜3
    のうちいずれか1項に記載の画像処理装置。
  8. 【請求項8】 前記転送制御手段は、一の描画手段が外
    部へビットマップデータを転送する際、他の描画手段に
    おいて該ビットマップデータを取り込む処理を行うこと
    を特徴とする請求項1または3記載の画像処理装置。
  9. 【請求項9】 前記転送制御手段は、一の描画手段が外
    部へビットマップデータを転送する際、他の描画手段へ
    も同時に該ビットマップデータを転送する処理を行うこ
    とを特徴とする請求項1または3記載の画像処理装置。
  10. 【請求項10】 前記転送制御手段は、前記ビットマッ
    プデータを複数の描画手段へ順次転送するにあたり、各
    描画手段で展開したビットマップデータのうち重複する
    部分の上となるデータのみを転送することを特徴とする
    請求項6記載の画像処理装置。
JP9029986A 1997-02-14 1997-02-14 画像処理装置 Pending JPH10228269A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9029986A JPH10228269A (ja) 1997-02-14 1997-02-14 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9029986A JPH10228269A (ja) 1997-02-14 1997-02-14 画像処理装置

Publications (1)

Publication Number Publication Date
JPH10228269A true JPH10228269A (ja) 1998-08-25

Family

ID=12291292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9029986A Pending JPH10228269A (ja) 1997-02-14 1997-02-14 画像処理装置

Country Status (1)

Country Link
JP (1) JPH10228269A (ja)

Similar Documents

Publication Publication Date Title
JPH09185721A (ja) 画像形成装置
JP2003211740A (ja) 印刷制御装置、印刷制御方法及び印刷装置
JPH07168681A (ja) Pdlデータ処理装置及びその制御方法、及びパターン展開装置
US6061070A (en) Character outputting
JP2974322B2 (ja) 文字処理装置及び方法
JPH10228269A (ja) 画像処理装置
JP3204136B2 (ja) 画像処理装置及び圧縮処理方法
JP3419450B2 (ja) 画素データ処理装置および方法
JP4325339B2 (ja) 印刷システム、ホストコンピュータ及びプリンタドライバ
JP2785777B2 (ja) プリンタシステム
JPH10151815A (ja) 印刷処理装置
JP3864520B2 (ja) 印刷処理装置及び印刷処理方法
JP2001246791A (ja) 印刷システムおよび印刷装置並びに印刷画像の確認方法
JP3651214B2 (ja) 印刷処理装置及び印刷処理方法
JPH0939312A (ja) 印刷装置、印刷方法および印刷システム
JPH11119928A (ja) 印刷処理装置および方法
JPH03112668A (ja) 印刷装置
JPH1063250A (ja) 文字処理装置
JP3054157B2 (ja) 文字処理装置および文字処理方法
JPH0924642A (ja) 文字処理装置及び方法
JPH05112054A (ja) 画像処理装置
JPH07323602A (ja) 印刷装置および印刷装置のオブジェクト描画方法
JPH07276719A (ja) フォントデータ読出し装置
JPH0577489A (ja) プリンタ制御装置
JPH1110961A (ja) 印刷処理装置および印刷処理方法