JPH0916745A - グラフィックオブジェクトの展開方法及びそのシステム - Google Patents

グラフィックオブジェクトの展開方法及びそのシステム

Info

Publication number
JPH0916745A
JPH0916745A JP7238903A JP23890395A JPH0916745A JP H0916745 A JPH0916745 A JP H0916745A JP 7238903 A JP7238903 A JP 7238903A JP 23890395 A JP23890395 A JP 23890395A JP H0916745 A JPH0916745 A JP H0916745A
Authority
JP
Japan
Prior art keywords
level
pixel
band
data
edge
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
JP7238903A
Other languages
English (en)
Inventor
Vincenzo A L Liguori
アルツオ ルカ リグオリ ビンセンゾ
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 Information Systems Research Australia Pty Ltd
Canon Inc
Original Assignee
Canon Information Systems Research Australia Pty Ltd
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 Information Systems Research Australia Pty Ltd, Canon Inc filed Critical Canon Information Systems Research Australia Pty Ltd
Publication of JPH0916745A publication Critical patent/JPH0916745A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-dimensional [2D] image generation
    • G06T11/20Drawing from basic elements
    • G06T11/23Drawing from basic elements using straight lines or curves

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【課題】 効率的な画像の展開を行ない、大量のデータ
の格納を少ない容量で実現するグラフィックオブジェク
トの展開方法及びそのシステムを提供する。 【解決手段】 エッジに基づくオブジェクトの記述から
画素単位のデータに画像を展開するグラフィカルオブジ
ェクト展開システムであって、画素のレベルデータを保
持するための記憶列を備え、各画素のレベルデータの構
成が更に一連のセット可能なレベル識別子を備えるバッ
ファと、所望の画像のエッジに基づくオブジェクトの記
述を格納し、各オブジェクトの各エッジがオブジェクト
のレベルに対応するレベル値を有する格納部と、前記バ
ッファと格納部に接続されて、前記エッジの前記画素と
のいずれの交差にも対応する位置の前記セット可能なレ
ベル識別子を変化させるエッジ挿入部と、前記バッファ
に接続して、前記画素のレベルデータの構成の列の対応
する各画素のレベルデータの構成に対して、オブジェク
トが現在の有効な最上位のレベルであることを決定する
最上位オブジェクト決定部とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、グラフィックオブ
ジェクトの展開方法及びそのシステム、特にスキャナや
プリンタを有するコンピュータシステムを使用する画像
の合成に関するものである。
【0002】
【従来の技術】コンピュータで扱われる複雑な画像は、
一般にたくさんの異なったパーツからなり立っている。
これらのパーツは、普通、それ自身がオブジェクトとも
考えられる画素単位のスキャンされた画像データに加え
て、画像の一部を形づくるグラフィックオブジェクト単
位の画像データとから構成されている。これらのオブジ
ェクトを用いて最終的に生成される複雑な画像は、異な
る透明性を持って互いの上に層をなして重なりあった、
百万とはいわないが数千から数十万のオブジェクトから
なり、他の透明なオブジェクトの下に位置するオブジェ
クトは上位層のオブジェクトの透明部分を介して一部が
見えることになる。
【0003】これらの画像を形成するためのほとんどの
従来システムでは、フレームバッファに印刷される最終
的画像を画素毎の表現で格納するよう、画像を構成する
オブジェクトをフレームバッファ、すなわちメモリデバ
イスに“展開(render)”することが必要となる。元
来、フレームバッファの使用は、複雑な画像の生成速度
と最終の印刷デバイスの処理速度との間の不均衡に起因
していることが多い。加えて、多くの印刷デバイスは、
再生すべき画像データを引き渡す際に、厳しいタイミン
グ仕様が必要となる。従って、このような仕様を満たす
ための1つの方法として、フレームバッファに画像を画
素単位で展開し、一旦展開が終了した後に1画素ずつ画
像を印刷する手法が用いられている。もちろん、画像の
複雑性に応じて、フレームバッファへの展開の速度には
限界がある。
【0004】このような最終画像の画素毎の複写をする
ためのフレームバッファを使用すれば、このフレームバ
ッファを組み込むため、どんなシステムの費用に対して
も更に大きなメモリコストが追加されることになる。例
えば、キヤノンのCJ10などの普通のインクジェットプリ
ンティングシステムは、3300×4600画素、すな
わち600dpi の典型的なA4の紙では、1画素の色を
24ビット(赤,緑,青それぞれ8ビット)で扱ってい
るが、これは45Mバイトのデータを扱うことになる。
【0005】
【発明が解決しようとする課題】本発明の目的は、効率
的な画像の展開を行ない、大量のデータの格納を少ない
容量で実現するグラフィックオブジェクトの展開方法及
びそのシステムを提供することにある。
【0006】
【課題を解決するための手段】この課題を解決するため
に、本発明のグラフィカルオブジェクト展開システム
は、エッジに基づくオブジェクトの記述から画素単位の
データに画像を展開するグラフィカルオブジェクト展開
システムであって、画素のレベルデータを保持するため
の記憶列を備え、各画素のレベルデータの構成が更に一
連のセット可能なレベル識別子を備えるバッファ手段
と、所望の画像のエッジに基づくオブジェクトの記述を
格納し、各オブジェクトの各エッジがオブジェクトのレ
ベルに対応するレベル値を有する格納手段と、前記バッ
ファ手段と格納手段に接続されて、前記エッジの前記画
素とのいずれの交差に対応する位置の前記セット可能な
レベル識別子を変化させるエッジ挿入手段と、オブジェ
クトが現在の有効な最上位のレベルであることを決定す
る最上位オブジェクト決定手段であって、前記バッファ
手段に接続して、前記画素のレベルデータの構成の列の
対応する各画素のレベルデータの構成に対して、オブジ
ェクトが現在の有効な最上位のレベルであることを決定
する最上位オブジェクト決定手段とを備えることを特徴
とする。
【0007】ここで、前記格納手段及び前記最上位オブ
ジェクト決定手段と接続し、現在有効で最上位レベルの
オブジェクトの対応する画素の色を、前記対応する画素
の各々に対して出力する出力制御手段を更に備える。ま
た、前記最上位オブジェクト決定手段は、前記画素に対
する前記現在有効で最上位レベルのオブジェクトを対応
するランレングス符号化データに変換するランレングス
符号化手段を含む。また、前記対応する画素の各々に対
して、スキャンされた画像データと前記現在有効で最上
位レベルのオブジェクトの画素データを合成する合成手
段を更に備える。また、前記合成手段に接続し、前記ス
キャンされた画像データの所定の特性を検知して変更す
ることのできる特性検知手段を更に備える。また、前記
合成手段は、前記スキャンされた画像の一部と前記対応
する画素の色の一部とを合成し、出力画素色を作成する
透明度決定手段を含む。また、前記出力制御手段は、前
記現在有効で最上位レベルのオブジェクトのオブジェク
ト記述から所定の混合を生成する混合計算器を更に備え
る。また、前記オブジェクトの記述は、各画素の位置を
定義する2つの軸と各画像の色の値を定義する3つの軸
とを持った、3次元空間内の平面を定義するデータから
なる混合を記述する要素を含む。また、前記画像は多数
のバンドから構成されており、各前記バンドが複数のラ
インからなり、各前記ラインが複数の画素からなり、前
記バッファ手段は前記画像中の1つのバンドの1つのラ
インに応じて画素レベルの列を備える。また、現バンド
内でどのオブジェクトが有効であるか否かを判断するの
に適応されるバンド切り出し手段を更に備える。
【0008】また、前記バンド切り出し手段は、現在の
バンドで有効であるオブジェクトを、現在のバンドのエ
ッジで更に切り取る。また、前記格納手段と接続され、
バンド内でオブジェクトが初めて有効になったことによ
り整理される、画像内の有効オブジェクトのリストを生
成するのに適応されるオブジェクトバンド交差形成手段
を更に備える。また、前記リストは、各オブジェクトが
有効でなくなったバンドを指示するバンド終了情報を更
に有する。また、前記エッジはスプラインに基づくデー
タを有し、前記システムは、前記格納手段に接続され前
記スプラインに基づくデータを対応するラインセグメン
トデータに変換するスプラインベクトル化手段を更に備
える。また、前記格納手段に接続され、前記画像の各バ
ンドに対し、前記バンド内で有効なラインセグメントの
リストを作成するためのベクトルライン交差形成手段を
更に備える。また、前記リストは、バンド内の前記ライ
ンセグメントが初めて有効になったことにより整理され
る。また、前記最上位オブジェクト決定手段は、望まな
い位置に決定されている画素を前記バンドのエッジに決
定する用紙スリップ手段を更に含む。また、前記画像は
1ページ上に展開され、前記システムは、前記格納手段
へ接続され、展開されるページの境界でエッジに基づく
前記オブジェクト記述を切り出すペイジ切り出し手段を
更に備える。また、前記エッジに基づくオブジェクトの
表現は、スプラインのアウトライン情報を含み、前記ペ
ージ切り出し手段は、一部がページ外にはみ出したオブ
ジェクトスプラインのアウトライン情報をページのエッ
ジに相当する直線のラインセグメントで置き代えること
によって、エッジに基づく前記オブジェクト記述を切り
出す。また、前記オブジェクトの各々は任意の関連レベ
ルの透明度情報を有し、前記最上位オブジェクト決定手
段は、更に、関連レベルの透明度情報を持った最上位の
有効オブジェクトを決定する。また、前記最上位オブジ
ェクト決定手段は、画素のレベルデータ構造の一連のセ
ット可能なレベル識別子の各々をラッチするトグルラッ
チを含み、所定の順序で前記バッファ手段を読み込み、
前記トグルラッチの対応するセット可能なレベル識別子
が前記エッジ挿入手段によって変化する度に、前記トグ
ルラッチを反転する。また、前記格納手段に接続され、
所定座標の第1のセットから前記画素に基づくデータの
ページ座標のセットに前記オブジェクト記述に、移動,
回転及びゆがみを含むグループから選ばれた操作を施す
データ構造初期化手段更に備える。また、前記格納手段
とエッジ挿入手段と最上位オブジェクト決定手段とに接
続され、前記格納手段の内容の概要を含み、前記エッジ
挿入手段と最上位オブジェクト決定手段との処理速度を
増大させる疑似バッファ手段を更に備える。
【0009】又、本発明のグラフィカルオブジェクトの
展開方法は、画像をオブジェクトに基づく記述から各ラ
インが複数の画素からなる複数のラインを含む記述に展
開するグラフィカルオブジェクトの展開方法であって、
前記オブジェクトの各々が関連するレベルを有し、前記
画像のラインの現在の位置で有効なオブジェクトを決定
する工程と、前記現在有効なオブジェクトのエッジを決
定する工程と、前記現在の有効なオブジェクトのエッジ
の交差エッジ位置を、ラインの現在の位置と共に、バッ
ファ内の対応する画素位置に記憶する工程と、画素位置
毎の順で前記バッファを読む工程と、前記バッファを読
んで、現在有効な最上位のエッジを決定する工程とを備
えることを特徴とする。
【0010】
【発明の実施の形態】以下、添付図面を参照して、本発
明の好適な実施例を説明する。 <本実施例のバンド型プリンタシステム>図1は本実施
例におけるシステムの構成を示すブロック図である。本
システムでは、スキャナ1を用いて画像を画素単位でス
キャンし、コンピュータシステム2に転送する。コンピ
ュータシステム2は、さまざまな内外の媒体に格納され
ているグラフィカルオブジェクト3を取り込む機能を備
えており、スキャン1からの画像と合成して、プリンタ
4に最終画像を出力する。プリンタ4としてはキヤノン
CJ10インクジェットプリンタのように、バンド型イ
ンクジェットプリンタが好ましい。キヤノンCJ10
は、バンド単位で画像を順次印刷していくバンド型プリ
ンタ装置である。
【0011】本実施例におけるバンド型プリンタの動作
を図2に示す。1ページ7は多くのバンド8により構成
される(ここで、Bは1ページのバンド数)。また、各
バンド8は多くのライン9により構成される。各ライン
9は各バンド8の上端から下端の順で印刷されるものと
するが、他の形式でも構わない。
【0012】図3は、1つのバンド8を拡大して示した
図である。図3に示すように、1つのバンド8は多くの
ライン9,10により構成される(ここで、Lは1バン
ドのライン数である)。各ライン9,10はさらに一連
の画素12により構成される。画素12自体は、たとえ
ばシアン,マゼンタ,イエロー,ブラック(CMYK)
といったいくつかの色の要素からなる。通常、プリンタ
4(図1)に送られる画素データは、8ビットの色情報
を持つレッド,グリーン,ブルー(RGB)の色の要素
で構成されている。したがって、プリンタ4では既知の
技術によりRGBの色データを対応するCMYKの色デ
ータに変換したのち出力する。
【0013】図2に、ページ7に印刷される画像の一部
となる簡単なオブジェクト14,15を示す。オブジェ
クト15は一部がページ7の外にあるため、コンピュー
タシステム2においてページ7の範囲でオブジェクトを
“切り取る”必要がある。原則的には、各オブジェクト
14,15のアウトラインはスプラインのアウトライン
情報により表される。スプラインを利用することによ
り、任意のオブジェクトの効率的な回転,拡大縮小,変
形を行なうことができる。
【0014】<画像展開のプロセス手順>図4に、コン
ピュータシステム2における画像展開を実現するプロセ
スを示す。まず、ページレイアウト段階16では、ペー
ジのレイアウトについての情報をシステムに読み込む。
次に、ページ準備段階17で、ページを記述する簡単な
形式のオブジェクトが生成される。バンド準備段階18
では、プリントされるページの現在のバンド中にどのオ
ブジェクトがあるかを判断する。バンド展開段階19で
は、オブジェクトを更に細かくライン単位の記述に変換
する。オブジェクト/画像合成段階21では、オブジェ
クトのコンピュータ処理された記述とスキャナからのデ
ータ20とを合成して、インクジェットプリンタへの出
力22とする。前記各段階の詳細な動作をさらに以下に
示す。
【0015】(ページレイアウト段階16)まず、ペー
ジレイアウト段階16の詳細について説明する。ページ
レイアウト段階16では、ページのレイアウト情報がコ
ンピュータシステム2に読み込まれる。通常、この情報
はプリントされるオブジェクトを含んでいる。ここで、
オブジェクトはそのアウトラインを決定する3次スプラ
インに分解される。更に、各オブジェクトは、レベル番
号だけでなく、展開される前にオブジェクト適用される
色の属性や、変形,回転,ゆがみの特性といった情報に
対しても、結び付けられている。。
【0016】図5にオブジェクトレコード27を示す。
このオブジェクトレコード27には、レベル,混合度,
透明度,変形の情報の領域に加えて、オブジェクトのア
ウトラインをなすスプラインリストを示すポインタ28
の領域が含まれている。オブジェクトレコード27のレ
ベル領域は、そのオブジェクトがどの層、あるいはレベ
ルに属しているかを決定し、オブジェクトの可視性を決
定するために使用される。
【0017】図6および図7にオブジェクトのレベル関
係を表す一例を示す。図6のオブジェクト30,31,
32については、オブジェクト31の下にオブジェクト
32があり、さらにその下にオブジェクト30がある。
図7は図6の直線VII−VIIに沿ったオブジェクトの断
面を表している。これによれば、オブジェクト30はレ
ベル1に、オブジェクト32はレベル2に、オブジェク
ト31はレベル3にあることがわかる。そのため、直線
VII−VIIの沿う線を印刷する際には、オブジェクト3
1は他のオブジェクトの上にあり、他のオブジェクトに
優先してプリントされる。もしオブジェクト31が有効
で透明でなければ、オブジェクト31の色情報でプリン
トされる。もしオブジェクト31が有効でオブジェクト
31が部分的に透明と定義される場合は、出力色はオブ
ジェクト31の色とその下のオブジェクト32の色を合
成したものになる(オブジェクト32が透明でない場合
には)。更に以下で説明されるオブジェクトの色の合成
において、オブジェクトは部分的にあるいは完全に透明
であっても構わない。
【0018】オブジェクトレコード27の混合度の領域
(図5)には、オブジェクトの色空間における3平面を
定義する9つの値が含まれている。後で説明するが、こ
の情報により、どの方向のどんな色の線形混合をも表す
ことができる。オブジェクトレコード27の透明度の領
域(図5)には、これも後で説明するが、オブジェクト
の透明度を定義する3対の値が含まれている。あるオブ
ジェクトの下のオブジェクトの部分が最終的な画像にお
いて上記あるオブジェクトを通して見える場合に、前記
あるオブジェクトを透明とする。オブジェクトレコード
27の変形の領域(図5)では、オブジェクトに属する
すべてのスプライン及びオブジェクトの色の混合情報に
適用される変形,回転,拡大縮小,ゆがみが定義されて
いる。
【0019】(ページ準備段階17)次に、ページ準備
段階17の詳細について説明する。ページ準備段階17
(図4)には、画像が展開される前に行なわれるべき全
ての必要なソフトウェア操作が含まれる。それは次のと
おりである。 (1) オブジェクトに属するすべてのスプラインやオブジ
ェクトの混合の記述に適用される幾何学的な変形 (2) オブジェクトやその部分に適用される切り取り操作 (3) バンドと交差するオブジェクトのリンクリストによ
る、最終的な画像における各バンドに対する準備 (1) 幾何学的変形 各オブジェクトの記述は一連の位置情報により格納され
ているが、その値は第1の座標系によるものである。オ
ブジェクトデータの変形領域に、オブジェクトデータを
ページ座標(ページラインと画素番号)に変換する際の
必要事項が格納されている。この情報をオブジェクトに
適用し、ページ座標に対応したオブジェクト記述を生成
する。
【0020】(2) ページの切り出し 各オブジェクトに幾何学的変形を施すと、ページの外に
位置するオブジェクトや部分的に外にはみ出しているオ
ブジェクトが存在しうる。図8には、ページ36に印刷
される画像の2つのオブジェクト34,35の切り出し
の過程の例が表されている。図からわかるとおり、オブ
ジェクト35は出力ページ36と完全に離れているの
で、ページ36の記述からは削除できる。このことは印
刷過程のこれ以降の段階の高速化にかなり寄与する。オ
ブジェクト34は一部は出力ページ36内にあって一部
ははみ出している。同じく印刷過程のこれ以降の段階の
高速化のため切り出し過程がオブジェクト34に適用さ
れる。
【0021】第一段階はページ36の上部から出ている
部分の簡素化である。点39から点40の間のページ3
6上部から出ているオブジェクトの一部を構成するスプ
ラインは、点39から点40の間の直線に(スプライン
形式のまま)置き替えられる。ページの側部や下部から
出ているオブジェクトの一部41,42,43も、オブ
ジェクト34の記述をさらに簡略にするために直線に置
き替えられる。
【0022】(3) オブジェクトバンド交差リストの準備 各バンドについて、そのバンドを横切るオブジェクトを
表にしたオブジェクトバンド交差リストを作成する。図
9と図10に、オブジェクトバンド交差リスト作成の例
を示す。図9はオブジェクト45,46,47を含む出
力ページを表している。図10は図9の画像に対応する
オブジェクトバンド交差リスト50である。
【0023】オブジェクトバンド交差リスト50にはポ
インタ列51がある。ポインタ列51の各要素の番号
は、印刷するページのバンドの番号に対応している。ポ
インタ列51に格納されているポインタは、それぞれそ
のバンド内から始まる全オブジェクトのリスト53を示
している。オブジェクトリスト53には、オブジェクト
記述とそのオブジェクトが交差する最後のバンド、さら
に該オブジェクトリスト53のつぎの要素を示すポイン
タといった情報が含まれる。
【0024】オブジェクトバンド交差リスト51は、各
オブジェクトに幾何学的変形を施した後に、各オブジェ
クトがコンピュータシステム2にロードされるにつれて
作成される。本リストの作成は、各オブジェクトに対し
て、オブジェクトの先頭バンド位置と終了バンド位置と
を指示する境界ボックスを計算することにより、実行さ
れる。オブジェクトレコード53は前記オブジェクト記
述と境界ボックスによって構成され、オブジェクトの先
頭バンド位置を示すリストポインタ52を用いてレコー
ド指定を行なう。
【0025】従って、オブジェクトバンド交差リスト5
0は、そのバンドを先頭とするオブジェクトのリンクリ
ストからなる。本手法を用いると、各バンドについて、
バンドとオブジェクトの交差関係を見つける際に有効で
あると同時に、表示すべきオブジェクトに対してバンド
準備や展開処理をする際には必ず、所要時間を大幅に削
減することができる。
【0026】キヤノンCJ10に見られるバンド型イン
クジェットプリンタでは、1つのバンドの終了から次の
バンドの開始へと、ある時間間隔でバンドごとに画像を
プリントする。従って、ページ準備段階17(図4)で
は、各バンドが準備され、展開されるまでの間、追加さ
れる有効オブジェクトリストを保持している。この有効
オブジェクトリストは最初のバンドがプリントされるま
では空である。新たにバンドの準備ができると、該バン
ドを先頭に持つオブジェクトリスト、すなわちオブジェ
クト交差リストの情報を全て有効オブジェクトリストに
記述する。有効オブジェクトリストが用意されると、バ
ンド準備18(図4)が開始する。従って、バンド準備
18を行なうにあたって扱うオブジェクトは、プリント
中のバンドと交差をもつオブジェクトのみとなる。もし
も、オブジェクト54が現在プリント中のバンドで終了
する交差バンドである場合には、該オブジェクトは有効
オブジェクトリストから削除される。
【0027】(バンド準備段階18)図11にバンド準
備段階18(図4)の詳細を示す。バンド準備段階18
では、バンド境界でのスプラインの切り出し60と、各
スプラインの線分近似によるベクトル化61と、現バン
ドに対するベクトルライン交差リストの準備62とを行
なう。
【0028】スプラインのバンド切り出し 上述のように、バンド準備段階18(図4)の作業は現
バンドでの有効オブジェクトリストを用いて進められ
る。各オブジェクトはそのアウトラインを表す多数のス
プラインによって構成されているが、このバンド切り出
しでは現バンド外に位置する部分を削除して、一部が現
バンドの中に一部が外にあるスプラインを簡素化する。
図12には、バンド切り出し過程の一例が示されてい
る。図12において、オブジェクト67はプリントペー
ジ65中の現バンド66上に展開される。本段階では、
オブジェクト67のうち現バンド上に存在する部分のみ
を切り出し他の部分は削除して、バンド端の直線を付加
する。例えば、オブジェクト67のうち現バンドの境6
8と69の間の部分は、2点間を直線に置き替える。オ
ブジェクト67の下部、側部(例えば70)についても
同様に、現オブジェクトリストから削除する。バンド切
り出し過程の結果、現バンド66内にあるオブジェクト
部のみを対象としたスプラインのリストが出来上がる。
【0029】スプラインのベクトル化 図11に示されているように、バンド準備の次の段階で
は、スプラインの線分化によるベクトル化61を行な
う。スプラインのベクトル化過程61では、オブジェク
トに対する全てのスプラインを線分近似することにより
ベクトル、すなわちラインセグメントに変換する。
【0030】x,y平面におけるスプラインは、パラメ
ータを用いて次式で与えられる。 x(t)=at3 +bt2 +ct+d …(1) y(t)=et3 +ft2 +gt+h …(2) 上式をラインセグメントに変換する1つの方法は、パラ
メータ空間で等間隔の所定数の点に沿ってスプラインの
式をサンプルする方法が考えられる。ここで、変数tは
一般に0から1に範囲であり、他の変数の範囲は、tが
0から1に収まるように、所定の方法にしたがって適当
に拡大縮小される。図13にこの操作の一例を示す。図
から分かるように、点(x(0),y(0))から(x(1),y
(1))の範囲を持つスプライン72は、パラメータ空間に
おいて等間隔の点によってラインセグメント73に変換
される。
【0031】当然、スプラインに対する近似が非常に粗
い場合にはこの手法は適当とは言えない。しかし、同じ
誤差レベルで他の手法と比較すると、本手法を用いた場
合の計算量は極小となっている。従って、本手法を用い
れば、平均的に要求される分割回数よりも更に数倍多く
スプラインを分割することによって、良い近似精度を得
ることが可能となる。
【0032】式1,式2はtに関する多項式であり、ス
プラインを容易にパラメータtの空間上で等間隔に分割
することができる。従って、次のような再帰的な関係式
が成り立つ。 xk+1 =xk +Δxk …(3) Δxk+1 =Δxk +ΔΔxk …(4) ΔΔxk+1 =ΔΔxk +ΔΔΔxk …(5) yk+1 =yk +Δyk …(6) Δyk+1 =Δyk +ΔΔyk …(7) ΔΔyk+1 =ΔΔyk +ΔΔΔyk …(8) 分割数nを用いて、Δt=1/nとすると、前記再帰的
関係式の初期条件は次式で与えられる。
【0033】 x0 =d …(9) Δx0 =3aΔt2 +2bΔt+c …(10) ΔΔx0 =6aΔt+2b …(11) ΔΔΔx0 =6a …(12) y0 =h …(13) Δy0 =3eΔt2 +2fΔt+g …(14) ΔΔy0 =6eΔt+2f …(15) ΔΔΔy0 =6e …(16) 前記再帰関係式を用いて、現(x,y)の点から次
(x,y)の点を簡単に算出することができる。特に、
ラインセグメントの数が2の累乗である時には、複雑な
浮動小数点の計算を行なわずに、各点を計算することが
できる。
【0034】スプラインを分割近似するラインセグメン
ト数を決定する1つの簡単な方法は、スプラインの境界
ボックスの周囲の長さを測定することである。周囲の長
さが大きくなるにつれ、スプラインを分割するラインセ
グメントの数は増加する。スプラインのベクトル化の結
果、各スプラインに対してラインセグメントのリストが
作成される。これらのラインセグメントは、図14,図
15で説明されるベクトルライン交差リスト81に挿入
される。
【0035】図14はバンド75の一例を示しており、
0から(L−1)までの番号を持つライン群76によっ
て構成されている。バンド75は3つのラインセグメン
ト77,78,79を有しており、これらはスプライン
ベクトル化の形式で、現バンド内に展開される。図15
はベクトルライン交差リスト81を示しており、現バン
ド75内にある全ての有効線を格納し、本質的に図10
におけるオブジェクトバンド交差リスト51と類似の構
成である。ベクトルライン交差リスト81はポインタ列
82を有しており、その数はバンド内のライン数と同一
である。各ポインタ列82の各要素は、それぞれに対応
するラインから始まるラインセグメント83のリスト、
すなわちラインセグメントリストを指している。一連の
リストに格納された各ラインセグメント83は、ライン
セグメント情報と次のラインセグメントリストを指し示
すポインタ84を格納する。
【0036】各ラインセグメントに対して格納される情
報は以下の通りである。 (1) レベル情報:ラインセグメントが属するオブジェク
トのレベルを示す。 (2) 終了ライン情報:ラインセグメントが終了するライ
ンを示す。 (3) 画素情報:ラインセグメントが現在横切っているラ
イン中の画素の位置 (4) 傾斜情報:ラインセグメントの傾きを表しており、
各ラインのプリント終了後に画素情報の値を更新する際
に用いる。
【0037】図11に示すように、各スプラインが前記
手法によりベクトル化されると、それに対応してベクト
ルライン交差リスト62が作成される。図4に示すよう
に、ベクトルライン交差リストの作成が終るとバンド準
備段階18が終了し、バンド展開段階19に移行する。
ページレイアウト段階16,ページ準備段階17,及び
バンド準備段階18は、全てソフトウエアで実現され
る。一方、バンド展開段階19とオブジェクト/画像合
成段階21は、ハードウエアで実現される。
【0038】<本実施例の各構成要素の詳細>図16に
コンピュータシステム2(図1)の詳細な構成を示す。
コンピュータシステム2は、メモリ86、中央演算処理
装置(CPU87),バンド展開サブシステム88から
成り立っている。CPU87は図4における準備段階1
6,17,18を扱っており、その実行結果をメモリ8
6に格納する。バンド展開サブシステム88は図4の段
階19,21を扱う。
【0039】(バンド展開サブシステム88)図17に
バンド展開サブシステム88におけるデータ処理の流れ
を示す。まず、バンド展開サブシステム88は、図15
に示すベクトルライン交差リストを入力とし、現ライン
におけるさまざまなラインセグメントの交差位置を計算
するエッジ計算ユニット(ECU)90を含む。この処
理は、ベクトルライン交差リストを検索し、現スキャン
ラインの画素値を更新することにより行なわれる。ま
た、一旦計算が行なわれた後にはエッジ情報は“Zedge
”バッファ91に格納される。詳細は後で説明する
が、 Zedgeバッファ91は特別なフォーマットを持つバ
ッファである。
【0040】可視決定ユニット(VDU)92は Zedge
バッファ91からデータを読み込み、隠れた表面を削除
して、現在の上位レベルの透明オブジェクト及び非透明
オブジェクトを決定する。上位レベルのオブジェクト値
はランレングス符号化器(RLE)93に送られる。R
LE93は、各画素におけるオブジェクトのレベル情報
をランレングス情報に変換し、バンドバッファ94に格
納する。RLE93を用いると、ライン上の各画素情報
を独立に格納する場合と比較して、バンドバッファ94
の大きさは大幅に削減され、メモリに必要となるバンド
幅も大きく削減される。このようにバンド幅の削減によ
って、格納処理や画像のプリント処理を効率的に進める
ことができる。
【0041】一方で、メモリ86(図16)に蓄積され
た各オブジェクトに関する情報から、各オブジェクトの
レベル,色,透明性の情報が決定され、メモリ86内の
別の領域に設けられている特性テーブル95に格納され
る。ここで、メモリ86には、通常DRAMが用いられ
る。バンドバッファ94内に全てのバンド情報が格納さ
れ、プリントの準備が整うと、ランレングス伸長器(R
LEX)96はバンドバッファ94からバンド情報を読
み込み、全てのランレングス符号化されたバンド情報を
伸長し、情報を混合計算器97に引き渡す。混合計算器
97は必要となる色や透明性の混合度を計算し、それら
を合成器98に送る。合成器98では、混合計算器97
からの情報とスキャナ1(図1)からのデータを合成
し、最終的にプリンタ4に送信する画素情報を作成す
る。なお、合成器98はキヤノンCJ10インクジェッ
トプリンタに代表される出力用プリンタ4と同一周期の
クロックを持っており、プリンタとの同期をとってい
る。
【0042】図18にバンド展開サブシステム88(図
16)の具体的構成例を示す。バンド展開システム88
には、CPU87(図16)と連係し、バンド展開サブ
システム88の全動作を制御するプロセスバスインター
フェース(PBI)101がある。グラフィックエンジ
ンモジュール(GEM)102には、図17のECU9
0,VDU92,RLE93が含まれる。インクジェッ
トモジュール(IJM)には、図17のRLEX96,
混合計算器97,合成器98が含まれる。 Zedgeバッフ
ァ91,バンドバッファ94,特性テーブル95は、全
てDRAMメモリ86に格納されており、バンド展開サ
ブシステム88からDRAM制御ユニット(DCU)を
通してアクセスされる。プロセスバスインターフェース
101には4ビットの内部制御レジスタがあり、バンド
展開サブシステム内の各モジュールを制御する。この制
御レジスタの内容を下記の表に示す。
【0043】
【表1】
【0044】GEMGOビットはGEM102の処理を
開始させる。GEM102が処理を終るとそれがPBI
101に通知される。するとPBI101はIJMGO
ビットをセットし、IJM103の処理を開始させる。
ENECUビットとENRUビットはECU90(図1
7)と展開ユニット(RU)108をテストするビット
であり、これについては図23参照時に説明する。
【0045】図19にグラフィックエンジンモジュール
102(図18)の詳細を示す。
【0046】GEM102内にはエッジ計算ユニット
(ECU)90と展開ユニット(RU)108とがあ
る。後で説明するが、RU108には図17のVDU9
2とRLE93とが含まれる。ECU90とRU108
とは、印刷するバンドの生成のために交互に動作する。
GEM102は、CPU87(図16)によって前もっ
て作成されているベクトルライン交差リストを用いて、
ルンレングス符号化ビットマップを作成し、DRAMメ
モリ86(図16)内のバンドバッファ94(図17)
に出力する。
【0047】GEM102は、展開フロー制御ユニット
(RFC)110により制御される。RFC110に
は、PBI101から読み書き可能ないくつかのレジス
タがある。これらのレジスタとその大きさ(ビット単
位)を下の表2に示す。
【0048】
【表2】
【0049】ベース0,ベース1のアドレスレジスタ
は、GEM102にとって非常に重要な作業領域である
DRAM86内の位置を指す。これらのレジスタはさら
に様々な領域に分割され、それぞれが特定の保管領域の
開始位置を指す。ベース0,ベース1アドレスレジスタ
の構成を、次の表3及び表4に示す。
【0050】
【表3】
【0051】
【表4】
【0052】前記の表3,4からわかるとおり、ベース
アドレスやメモリ領域の大きさは限られている。例え
ば、Zedge_baseアドレスは10ビットしかない。DRA
Mメモリ86は、最大1024Kワード(1ワード32
ビット長として)からなる。なお、これには20ビット
のアドレスが含まれる。そのため、Zedeg_baseアドレス
の位置はちょうど10ビット分の精度(つまり1024
の32ビットワードのステップ)から決まる。
【0053】下の表5はGEM102に対する様々な入
出力信号のリストである。
【0054】
【表5】
【0055】エッジ計算ユニット(ECU)90は現有
効ラインセグメントと現バンドの現スキャンラインとの
交差を計算する。この計算は、現有効エッジリストを維
持して行なわれる。このリストは始めは空で、スキャン
ラインが進むにつれて書き加えられていく。図15に示
すように、ECU90は、新しいラインに変わる度に、
そのラインから始まるラインセグメントを現有効エッジ
リストの最後に追加する。ECU90は現有効エッジリ
ストを順に探索し、リスト内の各ラインセグメントに対
応して画素とレベルの情報をDRAMコントローラ10
4(図18)を経て Zedgeバッファ91に格納する。後
述のように、該画素とレベルの情報はその後の可視性の
決定に用いられる。出力装置によってはバンドの印刷の
間に、紙がわずかにずれることも考えられる。この場
合、紙面のずれは、ずれた大きさだけ画素領域あるいは
画素に相当するものを動かすことで補われる。もしも、
現ラインがリストの最終ライン領域に一致したら、現ラ
インで終るように有効エッジリストからラインセグメン
トを削除する。そうでなければ、画素領域は次の式によ
り更新される。
【0056】 Pixeln+1 =Pixeln +傾き …(17) 現ラインの全てのエッジが計算されると、ECU90は
展開フロー制御ユニット110を通して展開ユニット1
08に処理を通知し、動作を停止して、展開フロー制御
ユニット110から再び始動の指示を待つ。図15のベ
クトルライン交差リストは、DRAMメモリ86に格納
され、ベース0レジスタ内のLS_base 領域により指定さ
れる。この領域には、リスト要素83を指すポインタ列
82がある。各ポインタ列は16ビットの大きさを持
つ。
【0057】図20に各リスト要素83のフォーマット
を示す。各リスト要素83は、ラインセグメントが有効
であるバンド内において画素の最終ラインを指す13ビ
ット112と、ライン上の現画素113と、ラインの傾
斜115と、次のリスト要素へのポインタ116と、7
ビット(128レベル)のレベル情報117とからな
る。終了ライン情報112は13ビット長なので、バン
ド長は最大8192ラインになる。画素領域113と傾
斜領域115とは、2の補数の固定少数点表記で分数部
の5ビットとともに格納されている。これにより値は小
数点以下5ビットの精度で、±256の範囲をとる。そ
れゆえ、各ラインについて現画素の値に傾きを加えるこ
とで累積される最大誤差は、ラインセグメントが32画
素よりも短い場合、常に1画素より小さい。もし、ライ
ンセグメントが32画素より長い場合、累積誤差は1画
素を越える。もちろん、これは傾斜領域の実際の値によ
る。この累積誤差は単にラインセグメントをさらに小さ
く分割することで取り除かれる。16ビット長の次要素
の指定領域116は、1バンドあたり65,535個の
異なるラインセグメントに適応できる。
【0058】現ライン上の各有効ラインセグメントに対
して、現在の画素の位置とオブジェクトレベル情報と
は、DRAMメモリ86内の Zedgeバッファに格納され
ている。図21に Zedgeバッファの例を示す。バンド内
各ラインに132の画素があり、各ラインに128のレ
ベルを書き込むことができるとすると、 Zedgeバッファ
91は要素数132の画素情報の1次元配列からなる。
ここで、各画素情報は各レベルに対応した128ビット
の情報である。ECU90は、現有効エッジリスト内の
各有効エッジにおける画素の座標とレベルの情報とを単
一ビットとして格納する。
【0059】DRAMメモリ内に Zedgeバッファを格納
するのは、マイクロプロセッサの設計者がキャッシュ構
造を実現しようとするのとおなじで、システムのオーバ
ーヘッドが必要なためである。そのため、DRAMメモ
リ86がバンド展開システム88を構成する他の論理回
路に比べはるかに遅いことがよくある。 Zedgeバッファ
の各画素のレベル情報は128ビットである。実際に
は、各画素情報はDRAMメモリ86に4連続の32ビ
ットワードとして格納される。バンド展開システムの性
能をあげるために、疑似 Zedgeバッファ109(図1
9)が用いられる。疑似バッファを用いると、バンド展
開システムにDRAMメモリ86へのアクセスを要求し
なくてもDRAMメモリの状態をほぼ把握することが可
能となる。
【0060】疑似 Zedgeバッファ109と Zedgeバッフ
ァ91とのそれぞれの働きを図22に示す。Zedgeバッ
ファ91は128bit の画素情報を持つ。一方、疑似 Z
edgeバッファ109は Zedgeバッファ91の内容を識別
するためのビットから成り立っており、 Zedgeバッファ
32ビットに対して1ビットを用いる。従って、疑似 Z
edgeバッファ109は1画素あたり4ビットで構成され
る。まず、ラインの最初で、疑似 Zedgeバッファ109
の内容はクリアされる。次に、 Zedgeバッファ91にエ
ッジを書き込む段階になると、疑似 Zedgeバッファ10
9では書き込み位置に相当する識別ビットをセットす
る。それゆえ、エッジを保存している間に、もし識別ビ
ットが修正されたならば、DRAM86に対して、すべ
ての読み出し−修正−書き込みサイクルを行なう必要が
ある。しかしながら、疑似 Zedgeバッファ109におい
て識別ビットがセットされていないならば、DRAM8
6のメモリ読み出しは要求されない。単純なイメージに
おいては、多くの画素はエッジを含まないので、修正や
書き込みの確認に際しては、DRAM86を見るよりは
むしろ疑似 Zedgeバッファ109の識別ビットを検知す
ることが好ましい。このように、疑似 Zedgeバッファを
用いることにより、DRAMのバンド幅や時間を節約す
ることができる。
【0061】図19において、ECU90が該ラインの
エッジを分析し終ると、展開フロー制御ユニット110
は 展開ユニット (RU) 108に運転を開始するよう
に通知する。図23に、図19の展開ユニット (RU)
108の詳細を示す。展開ユニット (RU) 108は可
視決定ユニット(VDU)92とランレングス符号化器
(RLE)93から構成されている。VDU92は Zed
geバッファ91及び/又は疑似 Zedgeバッファ109か
らエッジを読み出し、そのエッジを用いて可視状態のエ
ッジのうち最高レベルの判定を行ない、同時に透明なオ
ブジェクトが該最高レベルの上層にあるかどうかを判定
する。このプロセスは、それぞれの画素に関して繰り返
され、その後、ランレングス符号化器93はランレング
スの符号化を行なってバンドバッファ94に値を保存す
る。
【0062】メモリの使用バンド幅を減少するために、
VDU92は疑似 Zedgeバッファ109を用いて前記作
業を行なう。前述のように、ECU90が次のラインで
も正確に動作できるようにするために、 Zedgeバッファ
91から4×32ビットの画素情報を取り出してDRA
M86内にロードした後には、 Zedgeバッファ内のメモ
リはクリアする必要がある。メモリの使用バンド幅は、
疑似 Zedgeバッファ109を使うことによって、著しく
減少させることが出来る。すなわち、それぞれの画素の
4ビットの識別ビットを見ることによって、結果に影響
を及ぼす画素だけをロードすれば良い。もし、疑似 Zed
geバッファ109のビットがセットされていたら、 Zed
geバッファ91から対応するビット情報をロードする必
要がある。ビットがセットされていなければ、メモリを
読み出す必要はない。
【0063】また、その他にも疑似 Zedgeバッファ10
9を用いることによって、画素情報のクリアが行ないや
すくなる等の利点がある。すなわち、疑似 Zedgeバッフ
ァ109を用いると、疑似 Zedgeバッファ109の4ビ
ットの画素を消すだけで画素情報のクリアができ、DR
AMを直接読み書きをする必要がなくなる。図24に示
す可視決定ユニットの機能は、本出願人による1993
年4月28日出願のオーストラリアの特許出願番号38
242/ 93“ Method and Apparatus for Providing
Transparency in an Object Based Rasterised Image”
と類似している。また、この内容は米国特許番号第54
28724号とも同じものであり、相互参照される(特
願平 )。
【0064】そこでは、必要に応じて、各画素に対して
有効画素エッジデータが Zedgeバッファ91から読み出
され、各画素に対し128ビットワードとして形成され
る。これらのワードは一連のトグルラッチ118に送り
込まれる。トグルラッチ118の出力は、ANDゲート
119を経由して、優先符号化器120に送り込まれ
る。優先符号化器120では、128ビットの入力から
最優先の現有効レベルを決定し、現在有効で不透明な最
高レベルである最優先の有効レベルの値を出力する。
【0065】表2に示したように、GEMユニット10
2は一連の4つの32ビットの透明マスクレジスタ12
3から構成される。これらのレジスタは、CPU87に
よってページ準備段階でロードされ、各々のレベルに対
してそのレベルのオブジェクトが透明か否かを示す1ビ
ットを含んでいる。図25に示すように、4つの透明マ
スクレジスタ123は連続的につながれており、128
レベルのどれが透明か否かを示している。
【0066】図24に示すように、ANDゲート119
では、透明マスクレジスタ123に格納された128の
値を用いて、入力される不透明レベルをゲートする。そ
れゆえ、そのレベルに対してトグルラッチ118が奇数
回トグルされ、且つそのレベルに対して対応する透明マ
スク値がセットされていない場合にのみ、ANDゲート
119が開き、有効レベルは優先符号化器120に到達
する。同様に、ANDゲート124はレジスタ123の
値がセットされた状態であり、且つ有効エッジが奇数回
トグルされた場合にのみ開き、有効レベルは優先符号化
器121に到達する。
【0067】従って、優先符号化器121は、現在の有
効レベルの中で透明性の得られる最大の有効レベルを決
定し、最上位透明レベルとして出力する。このようにし
て、最上位透明レベルと最上位不透明レベルとが決定さ
れると、比較器122は最上位透明レベルと最上位不透
明レベルとの比較を行なう。ここで、最上位透明レベル
が最上位不透明レベルよりも大きい場合に透明有効信号
を出力する。図23において、VDU92からの出力
(最上位不透明度レベルと最上位透明度レベル)は、ラ
ンレングス符号化器(RLE)93に転送される。
【0068】RLE93の詳細を図26に示す。RLE
はVDUから画素1つ1つのデータを受け取り、それを
ランレングスデータに変換する。実際、多くのイメージ
では、最上位のオブジェクトの画素がバラバラに10画
素以上が変化することはほとんどない。従って、ランレ
ングス符号化器を利用することにより、バンドバッファ
94に保管するデータの圧縮を行なう。VDU92はラ
インのそれぞれの画素データをRLE93に転送する。
変化検出器126は、VDU92からの入力値が変化し
たら、コントロールユニット127に通知する。もし、
変化が発見されると、古いレベルは新しい値129に変
更され、以前の値はライトバッファ128に書き込まれ
る。また、同時にランレングスカウンタ131からの値
もライトバッファ128に書き込まれる。該ランレング
スカウンタの値は、以前のオブジェクトが最上位レベル
のオブジェクトである画素数を表している。次に、ラン
レングスカウンタ131はリセットされ、その後、入力
される画素に変化がないと増加していく。
【0069】一度、所定数のランレングス符号化の登録
によってライトバッファ128がいっぱいになると、そ
の値は、DRAM制御ユニット(DCU)104を通っ
て、DRAM86の中にあるバンドバッファ94に書き
込まれる。ライトバッファ128の転送が始まると、V
DU92は停止する。なお、ライトバッファ128を用
いることにより、DRAM86に対する書き込みはブロ
ック単位で行なわれ、DRAM86の高速ページモード
が利用できる。
【0070】図27にバンドバッファ94の構成と対応
するランレングス符号化データの構造を示す。ランレン
グスは、新しいラインとのどんな形式的な分離もなく、
バンドバッファ94に次々と保存される。それゆえ、特
別なラインに属するランレングスを抜き出そうする時に
は、そのラインまでの全ラインをスキャンしなくてはな
らない。しかし、実際には本質的に連続的なプロセスで
あるので、バンドをプリントしている間は問題にはなら
ない。該ランレングスは、ランレングス符号化器93に
おいてレジスタ RMINPIXELとRMAXPIXEL との差をとるこ
とによって生成される。この手法を用いると、イメージ
は出力デバイスによって要求される単位のバンドごとに
分割して出力することも可能になる。また、もし必要な
らば、現在のバンドをプリントしている間に、2つのレ
ジスタを使って、GEMユニット102によって次のバ
ンドを分析することによって、より良い性能を得ること
が出来る。さらに、例えば、各ページの終了部分などの
必要な場所では、バンドのサイズを調整することが出来
る。
【0071】図27に示すように、ランレングスには2
つのタイプが利用される。まず、第1の“A”タイプ1
32は、透明レベルと不透明レベルの両方が有効な環境
で用いられる。ここで、Aタイプ132は24ビットの
メモリからなり、最上位ビットは該メモリのタイプがA
であることを示している。同様に、Bタイプのランレン
グス133は最上位の有効不透明レベルに関する記述を
行なう。これらの2種類のランレングスを用いれば、メ
モリ保存容量をより大きく減少させることができる。
【0072】図17及び図18において、GEMユニッ
ト102が1つのバンド全体に対してランレングスを作
成するプロセスを完了すると、インクジェットモデュー
ル103ではプリンタへの最終的な画素バンドの作成を
開始する。すなわち、インクジェットモデュール103
ではランレングスを伸長したのち、ライン単位で要求に
見あうように入力スキャンデータとの合成を行ない、最
終的に全て合成を行なう。さらに、最終的に完成した画
素をプリンタへ出力する。
【0073】図28にインクジェットモデュール(IJ
M)103の詳細を示す。インクジェットモデュール1
03は、ランレングス伸長器(RLEX)96と、混合
計算器97と、合成器98と、インクジェットモデュー
ル・コントロールユニット136と、クロック同期ユニ
ット137とによって構成される。表6に、インクジェ
ットモデュール103のさまざまな入力/出力信号を示
す。
【0074】
【表6】
【0075】ランレングス伸長器96は、DRAMメモ
リ86にあるランレングスバンドバッファ94からラン
レングスを読み出し、さらに、DRAMメモリ86にあ
る特性テーブル95(図17)から色情報を読み出す。
この情報は伸長され、画素を基本として動いている混合
計算器97へと転送される。特性テーブル95(図1
7)は各種の情報を含んでおり、RLEX96によって
引き出されると、プリンタに送るビットマップを作成す
るために混合計算器97や合成器98によってもその情
報が利用される。
【0076】特性テーブル95は、ページ準備段階の一
環として作成され、各レベルに対して1つずつの合わせ
て128個のエントリを持っている。図29及び図30
に示すように、特性テーブル95にはオブジェクトに対
して不透明レベルエントリ141と透明レベルエントリ
142とがある。各エントリはDRAMメモリ86内で
4×32ビットの情報を有している。
【0077】このように、特性テーブル95は完全に1
ページのDRAM中に含まれており、ランレングス伸長
器96に該特性テーブルをすばやく転送するために、高
速のページモードメモリ読み込み技術を用いることがで
きる。DRAMメモリ86におけるページテーブルの位
置は、ベースレジスタ内にあるPtable base 領域によっ
て決定される。レベルエントリの内容は、そのレベルが
透明か不透明かに応じて異なる解釈がされる。レベルの
不透明さまたは透明さは、図24の対応する透明マスク
レジスタ内でそのレベルを設定することによって決定さ
れる。特性テーブルエントリの様々な領域について、混
合計算器97を参照して以下に更に議論される。
【0078】ランレングス伸長器96の詳細を図31に
示す。ランレングスと色情報は、DRAMメモリ86か
らDRAM制御ユニット104を経由して、ダブルバッ
ファ138, 139にロードされる。ダブルバッファを
用いると、高速ページモードメモリアクセスをすること
ができ、DRAMメモリ86へのアクセスを集中するこ
とにより、メモリバンド幅の使用を容易にすることがで
きる。さらに、ダブルバッファを用いることにより、1
つのデータセットが使用中でも、他方のデータセットを
ロードすることが可能となる。
【0079】グラフィックエンジンモジュール102が
動作を完了すると、その結果をコントロールレジスタ内
のIJMGOビット(表1参照)をセットしているプロ
セッサバスインタフェース(PBI)101に通知し、
ランレングス伸長器93の動作が開始される。ランレン
グス伸長器93は、コントローラ140の指示のもと、
ランレングスバッファ138のロードを開始する。長さ
や、透明さ不透明さのレベルは、コントローラ140に
よって復号され、透明さや不透明さのレベルに関する特
性情報は、ダブルバッファ139から混合計算器97
(図28参照)に転送される。バンド展開システム88
内の画素データは、レッド,グリーン,ブルー(RGB) 形
式で3原色に対して各8ビットずつと、透明性/不透明
性を表す8ビットによって構成される。ページレイアウ
トでは最大128のレベルがあり、各レベルは透明か不
透明かのいずれかである。
【0080】透明性のレベルは、1つのベース24ビッ
トRGB か、またはスキャナ1(図1参照)から来るデー
タによって決定される。さらに、透明性のデータは、い
ろいろな方向の線形混合や、スキャナから来るデータに
よる変調によって変化することができる。同様に、不透
明性レベルも、さまざまな方向の色のブレンドや、スキ
ャナからのデータによる変調によってその値は変化す
る。以前述べたように、それぞれの画素に関する透明/
不透明の最上位レベルのみが、透明レベルは該画素の不
透明レベルよりも大きい時にのみ考慮されて、GEM1
02から転送される。前記の透明レベルと不透明レベル
の組合せは、可能な出力に対しおおきな融通性を与え
る。下記の段落に数例を概説する。
【0081】(1) スキャナからの色データを不透明レベ
ルとして採用すると、実際にスキャンされたイメージは
ページレイアウトを構成するどのオブジェクトをも“生
地写像(texture map) ”するように使用される。 (2) 不透明レベルのオブジェクトは、例えば、コピア/
スキャナ1からユーザによって入力されて塗直された黒
白画像で、生地写像される。後で更に述べるように、混
合計算器97では、スキャンした画像のすべての白い部
分を所定の色に塗直し、すべての黒い部分をその不透明
レベルと同じ他色の混合に塗直すことが出来る。さら
に、黒と白の役割を交換することも出来る。ある色が黒
か白かというのは、閾値との比較によって決定される。
このような効果がレベルごとに設定できるようになる
と、ページレイアウトの一部は画像で生地写像し、他の
部分はスキャナからの白黒画像で塗直した構成も作るこ
とができる。
【0082】(3) 不透明レベルの上位に、どのようなR
BG色にもなる混合を含む透明レベルを定義することが
できる。さらに、スキャナデータとなる透明レベルの基
本色を定義し、同時にその線形混合によってその透明度
を変えることも可能である。本手法を用いると、スキャ
ナからのデータは、下にあるグラフィカルオブジェクト
の上に徐々に重ね合わされる。このように、スキャンさ
れたデータを滑らかに混ぜ合わせたり、ページレイアウ
トのグラフィカルオブジェクトに薄く重ね合わせること
も可能とする。
【0083】(4) スキャンされた画像データで透明レベ
ルを制御することによって、多くの効果がもたらされ
る。例えば、スキャンされた画像データの光度成分に対
応して透明さのレベルをゆっくりと調節することが出来
る。そのことによって、スキャンされた画像をステンド
グラスを通してみたような効果を与えることが出来る。
不透明のレベルよりも透明のレベルが上にある場所で
は、その2つのレベルに対する画素の値は次のような方
法で結合または合成されなくてはならない。透明レベル
の色成分C2(x,y)と不透明レベルの色成分C1(x,y)、そ
して0と1の間の値をとる透明度分数k(x,y) (0なら
ば透明、1ならば不透明と同じである)、これら3つの
値から最終的な色 color(x,y) を導き出す方程式を式1
8とする。RGB3原色を用いた場合の合成方程式は次
の方程式である。
【0084】 color(x,y) =C2(x,y)k(x,y) +C1(x,y){1−k(x,y) } …(18) 不透明レベルの色成分C1(x,y)は、3原色成分の混合か
らできており、色の値は式19で決定される。 混合値=Ax+By+C …(19) A,B,Cは混合色の内容から導かれる定数である。
【0085】具体的にいうと、A,Bは小数点以下5ビ
ットの15ビットの定数が割り当てられ、Cは常に正の
8ビットの値が割り当てられる。各原色成分に対して、
A,B,Cの異なる値を使用することによって、任意の
線形混合を作ることができる。透明度のレベルに関して
は、k(x,y) はその画像の透明度をC2 (x,y) の値によ
って制御し、透明度の色のレベルを決定する。前に述べ
たように、透明度分数k(x,y) はスキャナデータから引
き出すことができるし、現在の画素の場所 (x,y)の線形
関数とすることも出来る。後者の場合、透明度は次の式
で決定される。
【0086】 透明度=Dx+Ey+F …(20) 具体的にいうと、D,Eは小数点以下5ビットの15ビ
ットの定数が割り当てられる。Fは常に正の8ビットの
値が割り当てられる。これらの値は、各種の直線的な透
明さの混合を決定するのに十分である。前に述べたよう
に、混合計算器97もまた、他の色に変えるべき高いコ
ントラストの色成分を含むスキャナデータに対し、その
色を変更する能力をもっている。このように、特別に作
成された本計算機システムでは、スキャナ1からのテキ
ストやパターンを重ね合わせ、塗直すことが可能とな
る。
【0087】再び、図29,図30を参照する。不透明
レベルエントリ141, 透明レベルエントリ142が特
性テーブル95を作成する様子を示す。不透明レベルエ
ントリ141を例にとると、A,B,Cのブレンド値
は、3原色成分、レッド,グリーン,ブルーによって決
定される。それによって、3次元の任意のブレンド面が
決定される。さらに、Kind領域は、以前述べた不透明レ
ベルへのさまざまな生地写像を作成するために用いられ
る。不透明レベルエントリの141のKind領域の値と、
その意味は下記のように決定される。 00:不透明さの混合値は、A,B,Cの比率によって
決定される。 01:このレベルに関する色データは、スキャナ1から
来る。 10:スキャンされた画像においてどの黒のテキスト
も、検出されA,B,Cの比率の混合で塗直される。ま
た、黒くない部分は、塗変えレジスタの内容によって塗
直される。 11:黒い画素の検出に関するところを、黒い画素より
も白い画素に当てはめる。
【0088】図30を参照すると、透明レベルエントリ
142は、それぞれのRGB画素成分に対する基本色成
分に加えて、前に決定したD,E,Fの値を含む。透明
度レベルは、KB,KTビットによって決定されるさま
ざまなオプションを実行する。もしKBビットがセット
されると、基本色は特性テーブルから読み出されるか、
そうでなければスキャナから読み出される。もしKTビ
ットがセットされると、透明度はD,E,Fの値から決
定されるか、そうでなければ入力されるスキャナのデー
タの輝度成分から引き出される。
【0089】混合計算器97を図の32に示す。混合計
算器97は、混合計算のための式19、20を実行し、
RGB3原色と透明データに対応した分離型混合プロセ
ッサ144,145,146,147とを備え、RGB
混合データ149と透明混合データ150とを作る。現
在位置x,yは、 x,yカウンタ151を用いて測定され
る。カウンタ151に対する入力には、プリンタ4から
引き出された画素記録情報とライン記録情報153が含
まれる。実際の画素記録データは、インクジェットプリ
ンタの機種によって異なるが、プリンタが新しい画素を
要求する際には、VCLOCK_PULSE信号が動作するものとす
る。この信号は、順にxカウンタを増やして次の画素の
位置を出力する。
【0090】同様に、プリンタが現在のバンドの新しい
ラインを印刷し始めるたびに、ラインカウンタはプリン
タからの VE_SYNC信号にしたがって1ずつ増え、同時に
xカウンタは適当なオフセット値にリセットされる。さ
らに、プリンタから来る BVE_SYNC信号によって、新し
いページが始まると x,yカウンタは両方共リセットされ
る。
【0091】混合プロセッサ155(図32の144〜
146)の詳細を図33に示す。混合プロセッサ155
は、xの値にAをかけ、yの値にBをかけ、その2つの
値を合わせてCに加え、式19を実行する。図32の透
明混合プロッセッサ147は、同等の操作をD,E,F
に関して行なう。図28を示したように、混合計算器1
49, 150の出力は、混合器98に転送される。さら
に、図32に示したように、混合プロセッサ97からの
RGB出力データ149は、RGB成分が連続してい
る。特別な色の出力を行なう場合には、そのRGB混合
色をマルチプレクサ148に入力し、マルチプレクサ1
48において出力制御する。
【0092】混合器98の詳細を図の34に示す。混合
器98への入力は、特性テーブルからの基本色158、
混合計算器97からのRGB値149、特性テーブル9
5からのKB, KTビット159, 160、混合計算器
97からの透明ファクタ150、さらに、スキャナ1か
らのスキャナデータ20を含む。混合器98は、フルミ
キサ162とシンプルミキサ163とを含む。式18の
透明度k(x,y) は、KT信号の制御の下で、マルチプレ
クサ164によって決定され、混合計算器によって計算
される透明度150の1つとなる。あるいは、輝度計算
器161を経由して読み出されるスキャナデータ20か
ら輝度成分を読み出すので、フルミキサ162は式18
の実行に責任を負わなければならない。輝度計算器16
1は以下の標準的な輝度等式によってスキャナデータの
輝度値への近似を行う。
【0093】 輝度=0.30R+0.59G+0.11B …(21) 代わりに、スキャンデータのグリーン成分20がその信
号の輝度のほぼ3分の2を含む場合、必要ならば輝度計
算器161は除くことができ、その出力、スキャナデー
タからのグリーン成分20によって置き代えることがで
きる。式18の基本色C2(x,y)は、KB信号159の制
御の下で、マルチプレクサ165によって決定され、ス
キャナデータ20や基本色入力158から選択される。
式18の不透明色C1(x,y)は、現在のオブジェクトの特
性テーブルエントリの、不透明レベルのKind領域の制御
の下で、マルチプレクサ166によって決定され、計算
された混合値149, スキャナデータ20, 塗変えレジ
スタデータ値168になる。
【0094】塗換え検知ユニット170は、画素入力デ
ータが塗換えレジスタ171内の色データによる置き代
えを必要とするほど極端な入力値であるかを判定するた
め、スキャナ入力データ20に対して閾値判定を行な
う。塗換え検知ユニット170からの出力信号173
は、マルチプレクサ175, 176の制御に用いられ
る。ただし、スキャナ入力値20が極端な値であった場
合には、塗換えレジスタデータ171によってスキャン
入力データ20を置き代えるために使われる。
【0095】図34におけるフルミキサ162の詳細を
図35に示す。フルミキサ162は、基本色入力値C2
(x,y)180, 不透明色入力値C1(x,y)181を用い
て、式19を実行する。透明度入力値k(x,y) 182
は、完全に不透明な基本色データ(不透明の値が255
に等しくなった時に生じる、8ビットの収容力のあるデ
ータである)を発見する不透明検出器184を用いて不
透明度を決定し、完全な不透明の情報が発見されると、
信号をマルチプレクサ185に出力する。マルチプレク
サ185は、完全に不透明なデータと合成データとを選
んで、シンプルミキサ163(図34)にその選んだ色
データを出力する。
【0096】図34にシンプルミキサ163の構成を示
す。シンプルミキサの構造はフルミキサ162とほぼ等
しい。シンプルミキサ163は、ユーザがスキャナ1で
塗換えた高いコンストラストの項目をレイアウト上で重
ねることができるようにした。このように、全体のレイ
アウトの上に、最終的な層をおけるようにした。この最
終的な層の透明度は、完全に透明な入力信号188と、
塗換えレジスタ171によって決定された透明度を選ぶ
マルチプレクサ175によって制御される。最終的に、
シンプルミキサ163からの出力189は、プリントす
るためにインクジェットプリンタ4に転送される。
【0097】再び、図の28を参照する。混合器98
は、インクジェットプリントデバイスの出力スピードで
動作することを要求される。従って、クロック再同期ユ
ニット137を用いて、バンド展開サブシステムやイン
クジェットプリンタからのさまざまな制御信号の同期を
行なう。バンド展開サブシステム88は、サブミクロン
デザイン法を使ったCMOSデバイス技術における App
lication Specific Integrated Circuit (ASIC) として
最適に実現される。この技術においては、それらが同じ
クロック(その方が、動作方法としては望ましい)で動
いているにも関わらず、バンド展開サブシステムのクロ
ックスピードと、インクジェットデバイスとの間の不整
合が良く起こる。バンド展開サブシステム88が、イン
クジェット印刷デバイスよりも早いクロックで動いてい
る場合(キヤノンのCJ10インクジェットプリンタの
場合には、約5. 376MHz )、クロック再同期ユニッ
ト137は、インクジェットプリンタ4とバンド展開サ
ブシステム88との間の信号の規則的な同期を提供す
る。クロック再同期ユニット137は、入力及び出力デ
ータと制御信号とを再同期させるための早入れ早出し(F
IFO)の待ち行列からなる。
【0098】クロック再同期ユニット137の詳細を図
36に示す。クロック再同期ユニット137は、新ペー
ジ入力信号(BVE)191、新ライン入力信号(V
E)192、画素クロック信号(VCLOCK)193
を有する。プリンタデバイスからの信号は、同期の取れ
た新ページ信号(BVE SYNC)208、同期の取
れた新ライン信号(VE SYNC)209、同期の取
れた画素クロック信号(VCLOCK PULSE)2
10を作るために、ラッチ200〜206を経由して、
バンド展開サブシステムのクロック195に同期する前
に、まず、プリンタデバイスの画素クロック193に、
ラッチ197, 198を使って同期される。
【0099】バンドをベースとしたインクジェットプリ
ンタに特に適合した多様で興味深いアートワークを生成
するように、複雑なコンピュータに基づく画像とスキャ
ンされたデータとの合成を展開するための効果的なシス
テムが、上記開示から明らかになった。尚、本発明は、
ホストコンピュータ,インタフェース,プリンタ等の複
数の機器から構成されるシステムに適用しても、複写機
等の1つの機器からなる装置に適用してもよい。また、
本発明はシステム或は装置にプログラムを供給すること
によって実施される場合にも適用できることは言うまで
もない。この場合、本発明に係るプログラムを格納した
記憶媒体が本発明を構成することになる。そして、該記
憶媒体からそのプログラムをシステム或は装置に読み出
すことによって、そのシステム或は装置が、予め定めら
れた仕方で動作する 更に、上述の実施例は、本発明の具体的な一例であっ
て、本発明はさらに多くの範囲で適用することができ
る。本発明の観点を外れない範囲で多くの応用が期待で
きる。
【0100】
【発明の効果】本発明により、効率的な画像の展開を行
ない、大量のデータの格納を少ない容量で実現するグラ
フィックオブジェクトの展開方法及びそのシステムを提
供できる。
【図面の簡単な説明】
【図1】本発明を適用したプリンタシステムのブロック
図である。
【図2】出力デバイスにおけるバンド構造の一例を示す
図である。
【図3】図2の1つのバンドに関する詳細を示す図であ
る。
【図4】プリンタでの出力画像を作成する過程を示した
フローチャートである。
【図5】表示用オブジェクトのデータ構造を示す図であ
る。
【図6】オブジェクトが多数重なった場合の例を示す図
である。
【図7】図6におけるオブジェクトの変換過程を示す図
である。
【図8】画像からオブジェクトを抜き出す過程を示す図
である。
【図9】サンプルを抜き出す際のオブジェクトとバンド
の位置関係を示す図である。
【図10】図9の画像をもとにしたバンドオブジェクト
交差リストを示す図である。
【図11】バンド準備段階の具体的一例を示す図であ
る。
【図12】プリントを行なう特定バンドからオブジェク
トの一部を抜き出す過程を示す図である。
【図13】スプラインをラインセグメント近似すること
によるベクトル化の例を示す図である。
【図14】変換すべきバンド内にある複数のラインセグ
メントを示す図である。
【図15】図14のバンドにおけるベクトルライン交差
リストを示す図である。
【図16】図1のコンピュータシステムの詳細を示す図
である。
【図17】図16のバンド展開サブシステムに関するデ
ータフローを示す図である。
【図18】図16のバンド展開サブシステムのブロック
ダイヤグラムを示す図である。
【図19】図18内のグラフィックエンジンモジュール
のブロックダイヤグラムを示す図である。
【図20】ラインセグメント格納フォーマットの具体例
を示す図である。
【図21】Zedge バッファ構造の具体例を示す図であ
る。
【図22】擬似Zedge バッファ構造の具体例を示す図で
ある。
【図23】図19の展開ユニットの詳細を示す図であ
る。
【図24】可視決定ユニット(図19)の詳細を示す図
である。
【図25】透明マスクレジスタの構造を示す具体例を示
す図である。
【図26】図23の変換ユニットのランレングスのブロ
ックダイヤグラムを示す図である。
【図27】ランレングス符号化ユニットの具体例を示す
図である。
【図28】図18のインクジェットモジュールのブロッ
クダイヤグラム図を示す図である。
【図29】特性テーブルにおけるオブジェクトの不透明
レベルエントリの具体例を示す図である。
【図30】特性テーブルにおけるオブジェクトの透明レ
ベルエントリの具体例を示す図である。
【図31】図28のランレングス伸長ユニットのブロッ
クダイヤグラム図を示す図である。
【図32】図28の混合計算器のブロックダイヤグラム
を示す図である。
【図33】図32の混合プロセッサーのブロックダイヤ
グラムを示す図である。
【図34】図28の混合器のブロックダイヤグラムを示
す図である。
【図35】図34のミキサユニットのブロックダイヤグ
ラムを示す図である。
【図36】図28の再同期ユニットのブロックダイヤグ
ラムを示す図である。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 000001007 キヤノン株式会社 東京都大田区下丸子3丁目30番2号 (72)発明者 ビンセンゾ アルツオ ルカ リグオリ オーストラリア国 ニューサウスウェルズ 州 2088,バルモラル,ラグラン ストリ ート 7/238

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】 エッジに基づくオブジェクトの記述から
    画素単位のデータに画像を展開するグラフィカルオブジ
    ェクト展開システムであって、 画素のレベルデータを保持するための記憶列を備え、各
    画素のレベルデータの構成が更に一連のセット可能なレ
    ベル識別子を備えるバッファ手段と、 所望の画像のエッジに基づくオブジェクトの記述を格納
    し、各オブジェクトの各エッジがオブジェクトのレベル
    に対応するレベル値を有する格納手段と、 前記バッファ手段と格納手段に接続されて、前記エッジ
    の前記画素とのいずれの交差に対応する位置の前記セッ
    ト可能なレベル識別子を変化させるエッジ挿入手段と、 オブジェクトが現在の有効な最上位のレベルであること
    を決定する最上位オブジェクト決定手段であって、前記
    バッファ手段に接続して、前記画素のレベルデータの構
    成の列の対応する各画素のレベルデータの構成に対し
    て、オブジェクトが現在の有効な最上位のレベルである
    ことを決定する最上位オブジェクト決定手段とを備える
    ことを特徴とするグラフィカルオブジェクト展開システ
    ム。
  2. 【請求項2】 前記格納手段及び前記最上位オブジェク
    ト決定手段と接続し、現在有効で最上位レベルのオブジ
    ェクトの対応する画素の色を、前記対応する画素の各々
    に対して出力する出力制御手段を更に備えることを特徴
    とする請求項1記載のグラフィカルオブジェクト展開シ
    ステム。
  3. 【請求項3】 前記最上位オブジェクト決定手段は、前
    記画素に対する前記現在有効で最上位レベルのオブジェ
    クトを対応するランレングス符号化データに変換するラ
    ンレングス符号化手段を含むことを特徴とする請求項2
    記載のグラフィカルオブジェクト展開システム。
  4. 【請求項4】 前記対応する画素の各々に対して、スキ
    ャンされた画像データと前記現在有効で最上位レベルの
    オブジェクトの画素データを合成する合成手段を更に備
    えることを特徴とする請求項2記載のグラフィカルオブ
    ジェクト展開システム。
  5. 【請求項5】 前記合成手段に接続し、前記スキャンさ
    れた画像データの所定の特性を検知して変更することの
    できる特性検知手段を更に備えることを特徴とする請求
    項4記載のグラフィカルオブジェクト展開システム。
  6. 【請求項6】 前記合成手段は、前記スキャンされた画
    像の一部と前記対応する画素の色の一部とを合成し、出
    力画素色を作成する透明度決定手段を含むことを特徴と
    する請求項4記載のグラフィカルオブジェクト展開シス
    テム。
  7. 【請求項7】 前記出力制御手段は、前記現在有効で最
    上位レベルのオブジェクトのオブジェクト記述から所定
    の混合を生成する混合計算器を更に備えることを特徴と
    する請求項2記載のグラフィカルオブジェクト展開シス
    テム。
  8. 【請求項8】 前記オブジェクトの記述は、各画素の位
    置を定義する2つの軸と各画像の色の値を定義する3つ
    の軸とを持った、3次元空間内の平面を定義するデータ
    からなる混合を記述する要素を含むことを特徴とする請
    求項7記載のグラフィカルオブジェクト展開システム。
  9. 【請求項9】 前記画像は多数のバンドから構成されて
    おり、各前記バンドが複数のラインからなり、各前記ラ
    インが複数の画素からなり、前記バッファ手段は前記画
    像中の1つのバンドの1つのラインに応じて画素レベル
    の列を備えることを特徴とする請求項7記載のグラフィ
    カルオブジェクト展開システム。
  10. 【請求項10】 現バンド内でどのオブジェクトが有効
    であるか否かを判断するのに適応されるバンド切り出し
    手段を更に備えることを特徴とする請求項9記載のグラ
    フィカルオブジェクト展開システム。
  11. 【請求項11】 前記バンド切り出し手段は、現在のバ
    ンドで有効であるオブジェクトを、現在のバンドのエッ
    ジで更に切り取ることを特徴とする請求項10記載のグ
    ラフィカルオブジェクト展開システム。
  12. 【請求項12】 前記格納手段と接続され、バンド内で
    オブジェクトが初めて有効になったことにより整理され
    る、画像内の有効オブジェクトのリストを生成するのに
    適応されるオブジェクトバンド交差形成手段を更に備え
    ることを特徴とする請求項9記載のグラフィカルオブジ
    ェクト展開システム。
  13. 【請求項13】 前記リストは、各オブジェクトが有効
    でなくなったバンドを指示するバンド終了情報を更に有
    することを特徴とする請求項12記載のグラフィカルオ
    ブジェクト展開システム。
  14. 【請求項14】 前記エッジはスプラインに基づくデー
    タを有し、前記システムは、前記格納手段に接続され前
    記スプラインに基づくデータを対応するラインセグメン
    トデータに変換するスプラインベクトル化手段を更に備
    えることを特徴とする請求項9記載のグラフィカルオブ
    ジェクト展開システム。
  15. 【請求項15】 前記格納手段に接続され、前記画像の
    各バンドに対し、前記バンド内で有効なラインセグメン
    トのリストを作成するためのベクトルライン交差形成手
    段を更に備えることを特徴とする請求項14記載のグラ
    フィカルオブジェクト展開システム。
  16. 【請求項16】 前記リストは、バンド内の前記ライン
    セグメントが初めて有効になったことにより整理される
    ことを特徴とする請求項15記載のグラフィカルオブジ
    ェクト展開システム。
  17. 【請求項17】 前記最上位オブジェクト決定手段は、
    望まない位置に決定されている画素を前記バンドのエッ
    ジに決定する用紙スリップ手段を更に含むことを特徴と
    する請求項14記載のグラフィカルオブジェクト展開シ
    ステム。
  18. 【請求項18】 前記画像は1ページ上に展開され、前
    記システムは、前記格納手段へ接続され、展開されるペ
    ージの境界でエッジに基づく前記オブジェクト記述を切
    り出すペイジ切り出し手段を更に備えることを特徴とす
    る請求項1記載のグラフィカルオブジェクト展開システ
    ム。
  19. 【請求項19】 前記エッジに基づくオブジェクトの表
    現は、スプラインのアウトライン情報を含み、前記ペー
    ジ切り出し手段は、一部がページ外にはみ出したオブジ
    ェクトスプラインのアウトライン情報をページのエッジ
    に相当する直線のラインセグメントで置き代えることに
    よって、エッジに基づく前記オブジェクト記述を切り出
    すことを特徴とする請求項19記載のグラフィカルオブ
    ジェクト展開システム。
  20. 【請求項20】 前記オブジェクトの各々は任意の関連
    レベルの透明度情報を有し、前記最上位オブジェクト決
    定手段は、更に、関連レベルの透明度情報を持った最上
    位の有効オブジェクトを決定することを特徴とする請求
    項1記載のグラフィカルオブジェクト展開システム。
  21. 【請求項21】 前記最上位オブジェクト決定手段は、
    画素のレベルデータ構造の一連のセット可能なレベル識
    別子の各々をラッチするトグルラッチを含み、所定の順
    序で前記バッファ手段を読み込み、前記トグルラッチの
    対応するセット可能なレベル識別子が前記エッジ挿入手
    段によって変化する度に、前記トグルラッチを反転する
    ことを特徴とする請求項1記載のグラフィカルオブジェ
    クト展開システム。
  22. 【請求項22】 前記格納手段に接続され、所定座標の
    第1のセットから前記画素に基づくデータのページ座標
    のセットに前記オブジェクト記述に、移動,回転及びゆ
    がみを含むグループから選ばれた操作を施すデータ構造
    初期化手段更に備えることを特徴とする請求項1記載の
    グラフィカルオブジェクト展開システム。
  23. 【請求項23】 前記格納手段とエッジ挿入手段と最上
    位オブジェクト決定手段とに接続され、前記格納手段の
    内容の概要を含み、前記エッジ挿入手段と最上位オブジ
    ェクト決定手段との処理速度を増大させる疑似バッファ
    手段を更に備えることを特徴とする請求項1記載のグラ
    フィカルオブジェクト展開システム。
  24. 【請求項24】 画像をオブジェクトに基づく記述から
    各ラインが複数の画素からなる複数のラインを含む記述
    に展開するグラフィカルオブジェクトの展開方法であっ
    て、 前記オブジェクトの各々が関連するレベルを有し、 前記画像のラインの現在の位置で有効なオブジェクトを
    決定する工程と、 前記現在有効なオブジェクトのエッジを決定する工程
    と、 前記現在の有効なオブジェクトのエッジの交差エッジ位
    置を、ラインの現在の位置と共に、バッファ内の対応す
    る画素位置に記憶する工程と、 画素位置毎の順で前記バッファを読む工程と、 前記バッファを読んで、現在有効な最上位のエッジを決
    定する工程とを備えることを特徴とするグラフィカルオ
    ブジェクトの展開方法。
JP7238903A 1994-09-16 1995-09-18 グラフィックオブジェクトの展開方法及びそのシステム Pending JPH0916745A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AUPM8223A AUPM822394A0 (en) 1994-09-16 1994-09-16 Object based rendering system
AU8223 1994-09-16

Publications (1)

Publication Number Publication Date
JPH0916745A true JPH0916745A (ja) 1997-01-17

Family

ID=3782743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7238903A Pending JPH0916745A (ja) 1994-09-16 1995-09-18 グラフィックオブジェクトの展開方法及びそのシステム

Country Status (5)

Country Link
US (1) US5912672A (ja)
EP (1) EP0702328B1 (ja)
JP (1) JPH0916745A (ja)
AU (1) AUPM822394A0 (ja)
DE (1) DE69525695D1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272837A (ja) * 1997-12-22 1999-10-08 Adobe Syst Inc 頁記述言語におけるトランスペアレンシ処理
JPH11316831A (ja) * 1997-12-22 1999-11-16 Adobe Syst Inc レイヤを使用したイメージデータの混合

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1019872B2 (en) * 1997-09-30 2004-11-17 Hewlett-Packard Indigo B.V. Page composition method
US6049339A (en) * 1997-12-22 2000-04-11 Adobe Systems Incorporated Blending with planar maps
US6377288B1 (en) * 1998-01-12 2002-04-23 Xerox Corporation Domain objects having computed attribute values for use in a freeform graphics system
JP4365950B2 (ja) * 1998-09-11 2009-11-18 キヤノン株式会社 高速ラスタ形式レンダリングのためのグラフィックオブジェクト処理方法および装置
US6515675B1 (en) * 1999-11-22 2003-02-04 Adobe Systems Incorporated Processing opaque pieces of illustration artwork
US6720977B1 (en) * 1999-11-22 2004-04-13 Adobe Systems Incorporated Processing illustration artwork
US6894704B1 (en) * 1999-11-22 2005-05-17 Adobe Systems Incorporated Processing complex regions of illustration artwork
AU766452B2 (en) * 2000-03-30 2003-10-16 Canon Kabushiki Kaisha Method and apparatus for calculating Boolean combinations of regions in a plane
US6781600B2 (en) * 2000-04-14 2004-08-24 Picsel Technologies Limited Shape processor
US20020180727A1 (en) * 2000-11-22 2002-12-05 Guckenberger Ronald James Shadow buffer control module method and software construct for adjusting per pixel raster images attributes to screen space and projector features for digital warp, intensity transforms, color matching, soft-edge blending, and filtering for multiple projectors and laser projectors
JP3529759B2 (ja) * 2001-01-26 2004-05-24 株式会社ソニー・コンピュータエンタテインメント 画像処理プログラム、画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体、プログラム実行装置、画像処理装置、及び画像処理方法
US6778700B2 (en) * 2001-03-14 2004-08-17 Electronics For Imaging, Inc. Method and apparatus for text detection
US7277191B2 (en) * 2001-06-27 2007-10-02 Xerox Corporation Fast efficient window region coalescing in a two-pass auto-windowing environment
AUPS028702A0 (en) * 2002-02-01 2002-02-28 Canon Kabushiki Kaisha Efficient display update from changing object graphics
US7209258B1 (en) 2002-05-21 2007-04-24 Adobe Systems Incorporated Complexity-based transparency flattening
US7181687B2 (en) * 2002-06-27 2007-02-20 Adobe Systems Incorporated Previewing the effects of flattening transparency
AU2003903448A0 (en) 2003-06-26 2003-07-17 Canon Kabushiki Kaisha A method for tracking depths in a scanline based raster image processor
US7262782B1 (en) * 2003-11-07 2007-08-28 Adobe Systems Incorporated Selectively transforming overlapping illustration artwork
US7826683B2 (en) 2006-10-13 2010-11-02 Adobe Systems Incorporated Directional feathering of image objects
US7839422B2 (en) * 2006-12-13 2010-11-23 Adobe Systems Incorporated Gradient-domain compositing
US8326093B2 (en) * 2007-08-01 2012-12-04 Silverbrook Research Pty Ltd System for conferring interactivity on previously printed text
WO2009036487A1 (en) * 2007-09-21 2009-03-26 Silverbrook Research Pty Ltd Coding pattern with data elements encoding by multi-pulse position modulation
JP5744574B2 (ja) * 2011-03-07 2015-07-08 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP6218643B2 (ja) * 2014-03-03 2017-10-25 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
EP4451218A1 (en) * 2023-04-18 2024-10-23 Axis AB Buffering a graphical overlay to be applied to an image

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4660029A (en) * 1984-07-06 1987-04-21 Tektronix, Inc. Method of providing raster information for a graphics display employing linked lists
GB8828342D0 (en) * 1988-12-05 1989-01-05 Rediffusion Simulation Ltd Image generator
US5265198A (en) * 1989-10-23 1993-11-23 International Business Machines Corporation Method and processor for drawing `polygon with edge`-type primitives in a computer graphics display system
JP2560133B2 (ja) * 1990-05-29 1996-12-04 大日本スクリーン製造株式会社 画像統合処理装置
US5459823A (en) * 1990-07-05 1995-10-17 Canon Kabushiki Kaisha Graphics engine for true colour 2D graphics
US6020894A (en) * 1990-08-16 2000-02-01 Canon Kabushiki Kaisha Full-color desktop publishing system
JPH06236176A (ja) 1992-04-29 1994-08-23 Canon Inf Syst Res Australia Pty Ltd ラスタ画像に透明性を与える方法及び装置
FI106228B (fi) * 1992-06-15 2000-12-15 Canon Kk Kuvankäsittelylaite sekä -menetelmä painatustulosta varten
US5577173A (en) * 1992-07-10 1996-11-19 Microsoft Corporation System and method of printer banding
US5611024A (en) * 1992-08-28 1997-03-11 Compaq Computer Corporation Data compression of bit map images
US5539865A (en) * 1992-11-10 1996-07-23 Adobe Systems, Inc. Method and apparatus for processing data for a visual-output device with reduced buffer memory requirements
TW241196B (ja) * 1993-01-15 1995-02-21 Du Pont
US5555358A (en) * 1993-03-01 1996-09-10 Xionics Document Technologies, Inc. Digital printing system and process using compact trapezoidal representations
US5509110A (en) * 1993-04-26 1996-04-16 Loral Aerospace Corporation Method for tree-structured hierarchical occlusion in image generators
US5583974A (en) * 1993-05-10 1996-12-10 Apple Computer, Inc. Computer graphics system having high performance multiple layer Z-buffer
US6042742A (en) 1994-10-07 2000-03-28 Whittemore; Michael Composition and method for inhibiting chloride-induced corrosion of and limescale formation on ferrous metals and alloys
US5600768A (en) * 1995-06-06 1997-02-04 Apple Computer, Inc. Image generation with dynamically consolidated list of image data
US5608848A (en) * 1995-06-06 1997-03-04 Apple Computer, Inc. Processing blank data-lines of print data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272837A (ja) * 1997-12-22 1999-10-08 Adobe Syst Inc 頁記述言語におけるトランスペアレンシ処理
JPH11316831A (ja) * 1997-12-22 1999-11-16 Adobe Syst Inc レイヤを使用したイメージデータの混合

Also Published As

Publication number Publication date
EP0702328A2 (en) 1996-03-20
US5912672A (en) 1999-06-15
DE69525695D1 (de) 2002-04-11
AUPM822394A0 (en) 1994-10-13
EP0702328B1 (en) 2002-03-06
EP0702328A3 (en) 1996-10-30

Similar Documents

Publication Publication Date Title
JPH0916745A (ja) グラフィックオブジェクトの展開方法及びそのシステム
EP0703550B1 (en) Utilisation of scanned images in an image compositing system
EP1025558B1 (en) A method and apparatus for performing chroma key, transparency and fog operations
US6020894A (en) Full-color desktop publishing system
US7412360B2 (en) Method and apparatus for shape deformation and placement
US7894098B1 (en) Color separation of pattern color spaces and form XObjects
US20040085559A1 (en) Apparatus for printing using non-overlapping graphic objects
GB2249461A (en) "Method and apparatus for rendering overlapping images on a graphics display device"
EP0229539B1 (en) Color plotter controller
US6424430B1 (en) Rendering of objects on graphical rendering devices as clipped images
US5068803A (en) Method and apparatus for filling contours in digital typefaces
US5708763A (en) Tiling for bit map image
US5760787A (en) Data storage format
EP0441499B1 (en) Electronic brush generation
AU697314B2 (en) Utilisation of scanned images in an image compositing system
AU699532B2 (en) Object based rendering system
HK1013703A (en) Object based rendering system
JPH03169655A (ja) カラー画像出力・表示方式
EP0454125B1 (en) Method of producing characters and figures using computer
AU2005201932A1 (en) Parametric patch colour blend rendering
JP3211591B2 (ja) イメージ処理装置
AU2005201933A1 (en) Method of rendering self-overlapping colour blend patches
JPH11224331A (ja) ラスタ画像生成装置およびラスタ画像生成方法
JPS62243080A (ja) 図形処理装置
Schönhut Page description languages (PDLs)

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060526

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060630