JPH06180758A - ラスタ化図形画像を生成するシステム及び方法 - Google Patents
ラスタ化図形画像を生成するシステム及び方法Info
- Publication number
- JPH06180758A JPH06180758A JP5069065A JP6906593A JPH06180758A JP H06180758 A JPH06180758 A JP H06180758A JP 5069065 A JP5069065 A JP 5069065A JP 6906593 A JP6906593 A JP 6906593A JP H06180758 A JPH06180758 A JP H06180758A
- Authority
- JP
- Japan
- Prior art keywords
- pixels
- image
- command
- digital input
- pixel
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4055—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern
- H04N1/4058—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern with details for producing a halftone screen at an oblique angle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Record Information Processing For Printing (AREA)
Abstract
(57)【要約】
【目的】 本発明は、図形画像をビットマップとして描
示する装置及び方法を提供する。 【構成】 システムはデジタル入力指令を受信する入力
端子と、入力指令を解釈し、それらをシステム内部で使
用するのに適する指令に変換する指令インタプリタと、
いくつかの入力バッファ及び出力バッファとを含む。ハ
ーフトーンスクリーニングセクションと描示セクション
は、ラスタ表示又はマーキングエンジンが使用するのに
適するデータを出力する。機械の反復中、システムは複
数の出力画素を、通常はクロックサイクルごとに4画素
ずつ描出することができる。また、システムは1つの画
像にハーフトーンスクリーン又はグレイ充填を適用し
て、クロックサイクルごとに複数の画素を描出すること
もできる。好ましい実施例は単一チップ図形コプロセッ
サ(GCP)である。
示する装置及び方法を提供する。 【構成】 システムはデジタル入力指令を受信する入力
端子と、入力指令を解釈し、それらをシステム内部で使
用するのに適する指令に変換する指令インタプリタと、
いくつかの入力バッファ及び出力バッファとを含む。ハ
ーフトーンスクリーニングセクションと描示セクション
は、ラスタ表示又はマーキングエンジンが使用するのに
適するデータを出力する。機械の反復中、システムは複
数の出力画素を、通常はクロックサイクルごとに4画素
ずつ描出することができる。また、システムは1つの画
像にハーフトーンスクリーン又はグレイ充填を適用し
て、クロックサイクルごとに複数の画素を描出すること
もできる。好ましい実施例は単一チップ図形コプロセッ
サ(GCP)である。
Description
【0001】
【産業上の利用分野】本発明のシステムは、自動植字
機、イメージセッタ、カラープリンタ及び高スループッ
トプリンタで使用される高性能、高品質表示装置のため
の単一チップ制御装置であるのが好ましい。システム
は、図形出力、特に黒色、白色又は選択されたグレイハ
ーフトーンパターンを使用して充填したソース画像、充
填図形、ハーフトーンスクリーン及び文字の形態をとる
図形出力を発生するために、入力コードを解釈し且つ入
力命令を変換するのに有用である。
機、イメージセッタ、カラープリンタ及び高スループッ
トプリンタで使用される高性能、高品質表示装置のため
の単一チップ制御装置であるのが好ましい。システム
は、図形出力、特に黒色、白色又は選択されたグレイハ
ーフトーンパターンを使用して充填したソース画像、充
填図形、ハーフトーンスクリーン及び文字の形態をとる
図形出力を発生するために、入力コードを解釈し且つ入
力命令を変換するのに有用である。
【0002】
【従来の技術】本発明は数多くの図形コプロセッサにお
いて有用である。システムは、多くの適用用途で、特
に、所望の出力を幾何学的要素を使用して一部記述する
ことができる場合に、ラスタ画像の形成を改善するため
に使用できる。多くの印刷装置は、Adobe Sys
temsのポストスクリプト(商標)言語、Hewle
tt PackardのPCL,CanonのLIP
S,NECのNPDL及び京セラやXeroxによる他
の言語を含むページ記述言語により制御される。
いて有用である。システムは、多くの適用用途で、特
に、所望の出力を幾何学的要素を使用して一部記述する
ことができる場合に、ラスタ画像の形成を改善するため
に使用できる。多くの印刷装置は、Adobe Sys
temsのポストスクリプト(商標)言語、Hewle
tt PackardのPCL,CanonのLIP
S,NECのNPDL及び京セラやXeroxによる他
の言語を含むページ記述言語により制御される。
【0003】好ましい一実施例では、システムを使用し
てAdobe Systemsのポストスクリプト指令
を実現する。Adobe Systemsは本発明の譲
受人である。ポストスクリプトシステムは、デジタルレ
ーザープリンタへ高レベル図形情報を通信する目的で開
発された。これは図形領域の表現と、一般プログラミン
グ言語の実行の双方に対して融通性に富み、コンパクト
でパワフルな言語である。本発明のシステムの好ましい
実施例はポストスクリプトプリンタ、自動植字機又はイ
メージセッタに関連して説明される。ポストスクリプト
言語及びその利用法と用途は、Adobe Syste
msInc.が刊行した「PostScript La
nguage Reference Manual」
(第2版)及び「PostScript Langua
ge Program Design」などのいくつか
の本に詳細に記載されている。ポストスクリプト言語及
び関連するページ記述言語は自動植字機、イメージセッ
タ、カラープリンタ、高スループットプリンタ並びに高
分解能ビデオ表示装置又は他の表示装置と組合わせると
有用である。
てAdobe Systemsのポストスクリプト指令
を実現する。Adobe Systemsは本発明の譲
受人である。ポストスクリプトシステムは、デジタルレ
ーザープリンタへ高レベル図形情報を通信する目的で開
発された。これは図形領域の表現と、一般プログラミン
グ言語の実行の双方に対して融通性に富み、コンパクト
でパワフルな言語である。本発明のシステムの好ましい
実施例はポストスクリプトプリンタ、自動植字機又はイ
メージセッタに関連して説明される。ポストスクリプト
言語及びその利用法と用途は、Adobe Syste
msInc.が刊行した「PostScript La
nguage Reference Manual」
(第2版)及び「PostScript Langua
ge Program Design」などのいくつか
の本に詳細に記載されている。ポストスクリプト言語及
び関連するページ記述言語は自動植字機、イメージセッ
タ、カラープリンタ、高スループットプリンタ並びに高
分解能ビデオ表示装置又は他の表示装置と組合わせると
有用である。
【0004】印刷装置、ビデオ表示装置及び他のそのよ
うな装置はマーキング装置又はマーキングエンジンと呼
ばれることもある。マーキングエンジンと関連するラス
タ画像プロセッサ(RIP)は入力情報及び入力指令
を、関連する出力装置で表示するのに適するラスタ化
(ビットマップ化)領域に変換する。市販の装置にはA
pple Laser Writer(商標),Lin
otronic(商標)100及び300,Adobe
Atlas RIP並びにEmerald RIPが
ある。マーキングエンジンは垂直又は水平の走査線を使
用すれば良いのであるのが、ここでは、便宜上、水平の
走査線のみを説明する。垂直の走査線にも同一の又は同
様の方法や装置を使用することができる。
うな装置はマーキング装置又はマーキングエンジンと呼
ばれることもある。マーキングエンジンと関連するラス
タ画像プロセッサ(RIP)は入力情報及び入力指令
を、関連する出力装置で表示するのに適するラスタ化
(ビットマップ化)領域に変換する。市販の装置にはA
pple Laser Writer(商標),Lin
otronic(商標)100及び300,Adobe
Atlas RIP並びにEmerald RIPが
ある。マーキングエンジンは垂直又は水平の走査線を使
用すれば良いのであるのが、ここでは、便宜上、水平の
走査線のみを説明する。垂直の走査線にも同一の又は同
様の方法や装置を使用することができる。
【0005】ラスタ画像プロセッサの中には、図形加速
装置チップを使用するものがある。そのようなチップの
1つが日立のARCTCチップであり、このチップは単
純な矩形や円形の充填、単純な線の描出、ビットブリッ
ティング及びそれらの機能の数多くのブール組合わせを
実現することができる。NECの7220チップも良く
知られているが、複雑な幾何学的形状を描出することは
不可能である。Hyhenは図形コプロセッサチップを
発表しているが、その装置は解析すべく公に利用できる
ようにはなっていない。
装置チップを使用するものがある。そのようなチップの
1つが日立のARCTCチップであり、このチップは単
純な矩形や円形の充填、単純な線の描出、ビットブリッ
ティング及びそれらの機能の数多くのブール組合わせを
実現することができる。NECの7220チップも良く
知られているが、複雑な幾何学的形状を描出することは
不可能である。Hyhenは図形コプロセッサチップを
発表しているが、その装置は解析すべく公に利用できる
ようにはなっていない。
【0006】
【発明が解決しようとする課題】本発明は図形画像を描
出する新規なシステム及び方法を提供することである。
出する新規なシステム及び方法を提供することである。
【0007】
【課題を解決するための手段】本発明のシステムは、図
形画像の1領域を記述する又はその領域を充填するモー
ドを指定する指令を含めたデジタル入力指令を受信する
入力セクションを含む。入力セクションに結合する指令
インタプリタは、入力指令を解釈すると共に、それらの
指令をシステムの内部で使用するための内部指令に変換
する。入力セクションと、指令インタプリタとに結合す
るスクリーニングセクションは、システム反復のたび
に、図形画像の選択された1領域の複数の画像をハーフ
トーンスクリーンパターンによってスクリーニングする
(スクリーニング済画像を生成する)。指令インタプリ
タと、スクリーニングセクションとに結合する描出セク
ションは、ラスタ装置のための装置画素データを処理
し、出力する。スクリーニングセクションに結合し、ハ
ーフトーン閾値アレイに値を記憶する閾値メモリを組込
むことにより、システムを改善できる。機械の反復のた
びに、通常はクロックサイクルごとに4個ずつ、システ
ムは複数の装置画素を描出することができる。充填モー
ドの中には、システムがクロックサイクルごとに32個
の装置画素を描出できるものもある。
形画像の1領域を記述する又はその領域を充填するモー
ドを指定する指令を含めたデジタル入力指令を受信する
入力セクションを含む。入力セクションに結合する指令
インタプリタは、入力指令を解釈すると共に、それらの
指令をシステムの内部で使用するための内部指令に変換
する。入力セクションと、指令インタプリタとに結合す
るスクリーニングセクションは、システム反復のたび
に、図形画像の選択された1領域の複数の画像をハーフ
トーンスクリーンパターンによってスクリーニングする
(スクリーニング済画像を生成する)。指令インタプリ
タと、スクリーニングセクションとに結合する描出セク
ションは、ラスタ装置のための装置画素データを処理
し、出力する。スクリーニングセクションに結合し、ハ
ーフトーン閾値アレイに値を記憶する閾値メモリを組込
むことにより、システムを改善できる。機械の反復のた
びに、通常はクロックサイクルごとに4個ずつ、システ
ムは複数の装置画素を描出することができる。充填モー
ドの中には、システムがクロックサイクルごとに32個
の装置画素を描出できるものもある。
【0008】本発明の方法は、図形画像の1領域を記述
する第1のデジタル入力指令を受信し、特定のラスタ装
置に対応する装置画素データによってその領域を充填す
るモードを指定する第2のデジタル入力指令を受信し且
つそれら第1及び第2のデジタル入力指令を別の内部指
令と並行して実行すべき少なくとも1つの内部指令に変
換することにより、ラスタ表示装置又はラスタマーキン
グエンジンに表示するのに適するラスタ化図形画像を生
成する。ラスタ装置画素のそれぞれについて、ほぼ同時
に、領域を選択されたグレイレベルで充填すべき場合に
は、その1つのラスタ装置画素を、ハーフトーンスクリ
ーンパターンにおける画素のアレイに対応する閾値の基
準アレイの中の1つの対応する閾値と相関させ、次に、
選択されたグレイレベルを対応する閾値と比較し、その
ラスタ装置画素に関する装置画素データをそれに対応す
る閾値と、選択されたグレイレベルと、第2のデジタル
入力指令とに従って設定することにより領域を描出し、
それにより、領域を装置画素データで充填してハーフト
ーンスクリーンパターンを形成する。あるいは、領域を
一様な色によって充填すべき場合には、その1つのラス
タ装置画素についてその一様な色を表わすべき装置画素
データを設定し且つ装置画素データをラスタ表示装置又
はラスタマーキングエンジンに適する形態で出力するこ
とにより、領域を描出する。
する第1のデジタル入力指令を受信し、特定のラスタ装
置に対応する装置画素データによってその領域を充填す
るモードを指定する第2のデジタル入力指令を受信し且
つそれら第1及び第2のデジタル入力指令を別の内部指
令と並行して実行すべき少なくとも1つの内部指令に変
換することにより、ラスタ表示装置又はラスタマーキン
グエンジンに表示するのに適するラスタ化図形画像を生
成する。ラスタ装置画素のそれぞれについて、ほぼ同時
に、領域を選択されたグレイレベルで充填すべき場合に
は、その1つのラスタ装置画素を、ハーフトーンスクリ
ーンパターンにおける画素のアレイに対応する閾値の基
準アレイの中の1つの対応する閾値と相関させ、次に、
選択されたグレイレベルを対応する閾値と比較し、その
ラスタ装置画素に関する装置画素データをそれに対応す
る閾値と、選択されたグレイレベルと、第2のデジタル
入力指令とに従って設定することにより領域を描出し、
それにより、領域を装置画素データで充填してハーフト
ーンスクリーンパターンを形成する。あるいは、領域を
一様な色によって充填すべき場合には、その1つのラス
タ装置画素についてその一様な色を表わすべき装置画素
データを設定し且つ装置画素データをラスタ表示装置又
はラスタマーキングエンジンに適する形態で出力するこ
とにより、領域を描出する。
【0009】本発明のシステムはスクリーニングした領
域を毎秒5000万画素の持続速度、毎秒8000万画
素までのバースト画素で描出することができる。これは
市販のAtlas RIPにおける毎秒約50万画素又
はEmerald RIPにおける毎秒約250万画素
の描出速度とは対照的である。別の見かたをすれば、G
CPを使用した場合、スクリーニングを伴う1200d
piの自動植字機用RIPで8″×10″の大きさの3
00dpiの走査ソース画像を描出するのに要する時間
は約1.4秒であった。これは従来の装置又はシステム
と比べておよそ10倍の改善であった。
域を毎秒5000万画素の持続速度、毎秒8000万画
素までのバースト画素で描出することができる。これは
市販のAtlas RIPにおける毎秒約50万画素又
はEmerald RIPにおける毎秒約250万画素
の描出速度とは対照的である。別の見かたをすれば、G
CPを使用した場合、スクリーニングを伴う1200d
piの自動植字機用RIPで8″×10″の大きさの3
00dpiの走査ソース画像を描出するのに要する時間
は約1.4秒であった。これは従来の装置又はシステム
と比べておよそ10倍の改善であった。
【0010】
【実施例】本発明のシステムは、全ての描示機能を実行
するためにホストCPUを必要とせずに、ラスタマーキ
ングエンジンにおいて詳細な高品質の画像を描出するコ
プロセッサを提示するように設計されている。本発明の
システムでは、分解能の低い画像を描出するときはホス
トCPU又はコプロセッサから多くの時間を要しないで
あろうが、高分解能の画像を描出するときには長い時間
を要すると考えることができる。本発明のシステム及び
方法を使用して高分解能の画像がより高速で得られる。
するためにホストCPUを必要とせずに、ラスタマーキ
ングエンジンにおいて詳細な高品質の画像を描出するコ
プロセッサを提示するように設計されている。本発明の
システムでは、分解能の低い画像を描出するときはホス
トCPU又はコプロセッサから多くの時間を要しないで
あろうが、高分解能の画像を描出するときには長い時間
を要すると考えることができる。本発明のシステム及び
方法を使用して高分解能の画像がより高速で得られる。
【0011】本発明のシステムは、コプロセッサアーキ
テクチャ、特に単一チップの形態をとるアーキテクチャ
で使用するものとして設計されている。便宜上、本発明
の好ましい実施例を図形コプロセッサ、略して「GC
P」と呼ぶ。GCPは通常表示リスト命令の形態をとる
入力指令について動作し、GCP内部の、並列して動作
し、クロックサイクルごとに出力画像の複数の画素を描
示することができる複数の装置に様々な描出機能を割当
てる。出力はGCP内部のバッファに記憶されるか、あ
るいは、関連する又は接続するメモリに記憶されても良
く、もしくは、記憶装置へ送信されるか又は直接にマー
キングエンジンへ送信されても良い。
テクチャ、特に単一チップの形態をとるアーキテクチャ
で使用するものとして設計されている。便宜上、本発明
の好ましい実施例を図形コプロセッサ、略して「GC
P」と呼ぶ。GCPは通常表示リスト命令の形態をとる
入力指令について動作し、GCP内部の、並列して動作
し、クロックサイクルごとに出力画像の複数の画素を描
示することができる複数の装置に様々な描出機能を割当
てる。出力はGCP内部のバッファに記憶されるか、あ
るいは、関連する又は接続するメモリに記憶されても良
く、もしくは、記憶装置へ送信されるか又は直接にマー
キングエンジンへ送信されても良い。
【0012】多数の走査線を表示する高分解能マーキン
グエンジンは、一度に一定の数の走査線しか描示できな
い。それは、一度に非常に多くの数の画素をメモリに記
憶しなければならず、メモリの動作速度や価格を含めた
制約条件によって、描出すべき図形の何れかの部分につ
いて利用できるメモリの量が限定されてしまうためであ
る。約2400dpiを越える分解能を有する装置の場
合、典型的なバンドは通常の大文字の高さより小さい。
従って、マーキングエンジンと関連する処理装置は1行
分の文字であっても、一連のバンドとして描出しなけれ
ばならないのである。現在バンドをバッファに記憶して
おくことが多いので、そのバッファをバンドバッファと
呼ぶ。
グエンジンは、一度に一定の数の走査線しか描示できな
い。それは、一度に非常に多くの数の画素をメモリに記
憶しなければならず、メモリの動作速度や価格を含めた
制約条件によって、描出すべき図形の何れかの部分につ
いて利用できるメモリの量が限定されてしまうためであ
る。約2400dpiを越える分解能を有する装置の場
合、典型的なバンドは通常の大文字の高さより小さい。
従って、マーキングエンジンと関連する処理装置は1行
分の文字であっても、一連のバンドとして描出しなけれ
ばならないのである。現在バンドをバッファに記憶して
おくことが多いので、そのバッファをバンドバッファと
呼ぶ。
【0013】好ましい実施例では、本発明のシステムは
単一の相対的に複雑な特定用途向集積回路(ASIC)
から構成される。ここでは、便宜上、4メガバイト以下
の高速支援スタティックRAMに接続する図形コプロセ
ッサ(GCP)として設計しているが、必要に応じてR
AMの数を増減させても良い。あるいは、支援RAMを
ASICと同一のチップに組込んでも良い。システムの
主要な機能は、白黒、グレイ又はカラーの走査ソース画
像又は合成ソース画像を高速品質スクリーニング方式を
使用してRIPのフレームバッファ、すなわち、バンド
バッファに描示することである。
単一の相対的に複雑な特定用途向集積回路(ASIC)
から構成される。ここでは、便宜上、4メガバイト以下
の高速支援スタティックRAMに接続する図形コプロセ
ッサ(GCP)として設計しているが、必要に応じてR
AMの数を増減させても良い。あるいは、支援RAMを
ASICと同一のチップに組込んでも良い。システムの
主要な機能は、白黒、グレイ又はカラーの走査ソース画
像又は合成ソース画像を高速品質スクリーニング方式を
使用してRIPのフレームバッファ、すなわち、バンド
バッファに描示することである。
【0014】本発明のシステム及び方法は、合成画像や
自然画像を含めたハーフトーン画像を処理し且つ出力す
るときに特に有用する。本発明のシステムと方法を使用
して実現できるようなハーフトーン化方式の1つは、本
発明と同一の譲受人に譲渡され、本明細書にも参考とし
て取り入れられているStephan Schille
rによる1989年11月8日出願、名称「Metho
d of Producing Halftone I
mages」の同時係属出願第434,924号に記載
され且つ特許請求されている。その出願の中に記載され
ている「ユタ・タイル」ハーフトーン化方式によれば、
ほぼ全てのスクリーン角度と周波数をきわめて高い精度
で表示することができる。その方式は、表示すべき領域
を参照するものとして、複数の選択された値から成る閾
値アレイを使用しても良い。従来の4プロセスカラース
クリーン角度などの他のハーフトーン化方式を本発明の
システム及び方法により実現することも可能である。そ
の結果得られる印刷領域には、モアレパターンはほとん
ど現れない。
自然画像を含めたハーフトーン画像を処理し且つ出力す
るときに特に有用する。本発明のシステムと方法を使用
して実現できるようなハーフトーン化方式の1つは、本
発明と同一の譲受人に譲渡され、本明細書にも参考とし
て取り入れられているStephan Schille
rによる1989年11月8日出願、名称「Metho
d of Producing Halftone I
mages」の同時係属出願第434,924号に記載
され且つ特許請求されている。その出願の中に記載され
ている「ユタ・タイル」ハーフトーン化方式によれば、
ほぼ全てのスクリーン角度と周波数をきわめて高い精度
で表示することができる。その方式は、表示すべき領域
を参照するものとして、複数の選択された値から成る閾
値アレイを使用しても良い。従来の4プロセスカラース
クリーン角度などの他のハーフトーン化方式を本発明の
システム及び方法により実現することも可能である。そ
の結果得られる印刷領域には、モアレパターンはほとん
ど現れない。
【0015】GCPでは、セットアップ情報及び構成情
報を含めて、1つの特定の図形演算に固有のものである
全ての指令と引数は直接メモリアクセス(DMA)を介
して渡されるが、一部の初期設定データは、たとえば、
パワーアップ中に、プログラム入出力の下にGCPハー
ドウェア内部のレジスタへ渡される。DMA転送の完了
はポーリングを経て又は中央処理装置(CPU)に対す
る割込みを経て検出できる。
報を含めて、1つの特定の図形演算に固有のものである
全ての指令と引数は直接メモリアクセス(DMA)を介
して渡されるが、一部の初期設定データは、たとえば、
パワーアップ中に、プログラム入出力の下にGCPハー
ドウェア内部のレジスタへ渡される。DMA転送の完了
はポーリングを経て又は中央処理装置(CPU)に対す
る割込みを経て検出できる。
【0016】図1を参照して説明する。本発明のシステ
ムであるGCP10は、主メモリシステム13に保持で
きる表示リスト構造により駆動されるRIP中のホスト
CPU11に対して、コプロセッサとして使用可能であ
る。GCP10は主メモリシステム13に対する直接メ
モリアクセス(DMA)を利用して、様々な動作、たと
えば、ハーフトーン化により走査ソース画像を描示す
る、図形基本領域充填を実行する、主メモリシステム1
3に含まれていても良いメモリの任意フレームバッフ
ァ、すなわち、バンドバッファへ文字マスクを転送する
などの動作について必要に応じてデータを検索し、記憶
する。図1は、命令キャッシュ1及びデータキャッシュ
2を含む従来の素子と、CPU11並びにメモリアドレ
スバス4及びメモリデータバス5との接続を示す。主メ
モリシステム13はメモリアドレスバス4及びメモリデ
ータバス5に接続している。GCP10はスクリーンデ
ータバス14と、スクリーンアドレスバス15とを介し
てスクリーンランダムアクセスメモリ(RAM)12に
接続している。GCP10はCPU11と、メモリデー
タバス5とにも接続し、さらに主メモリアドレスラッチ
3を介してメモリアドレスバス4に接続している。GC
P10は外部メモリとして主メモリシステム13又は他
のメモリ(図示せず)を使用しても良い。
ムであるGCP10は、主メモリシステム13に保持で
きる表示リスト構造により駆動されるRIP中のホスト
CPU11に対して、コプロセッサとして使用可能であ
る。GCP10は主メモリシステム13に対する直接メ
モリアクセス(DMA)を利用して、様々な動作、たと
えば、ハーフトーン化により走査ソース画像を描示す
る、図形基本領域充填を実行する、主メモリシステム1
3に含まれていても良いメモリの任意フレームバッフ
ァ、すなわち、バンドバッファへ文字マスクを転送する
などの動作について必要に応じてデータを検索し、記憶
する。図1は、命令キャッシュ1及びデータキャッシュ
2を含む従来の素子と、CPU11並びにメモリアドレ
スバス4及びメモリデータバス5との接続を示す。主メ
モリシステム13はメモリアドレスバス4及びメモリデ
ータバス5に接続している。GCP10はスクリーンデ
ータバス14と、スクリーンアドレスバス15とを介し
てスクリーンランダムアクセスメモリ(RAM)12に
接続している。GCP10はCPU11と、メモリデー
タバス5とにも接続し、さらに主メモリアドレスラッチ
3を介してメモリアドレスバス4に接続している。GC
P10は外部メモリとして主メモリシステム13又は他
のメモリ(図示せず)を使用しても良い。
【0017】本発明のシステム及び方法は台形、ランア
レイ及びマスク(圧縮マスクを含む)を描示することが
でき、それらは、それぞれ、黒色、白色又は選択された
1つのグレイレベルで充填可能である。典型的なフレー
ムバッファ、すなわち、バンドバッファに要する表示リ
スト全体を、ホストCPUが次のバンドの表示リストを
ディスクから取り出す又は次のページを処理するなどの
他の動作を並列して実行している間に、GCP10を1
回呼び出す間に描示しても良い。
レイ及びマスク(圧縮マスクを含む)を描示することが
でき、それらは、それぞれ、黒色、白色又は選択された
1つのグレイレベルで充填可能である。典型的なフレー
ムバッファ、すなわち、バンドバッファに要する表示リ
スト全体を、ホストCPUが次のバンドの表示リストを
ディスクから取り出す又は次のページを処理するなどの
他の動作を並列して実行している間に、GCP10を1
回呼び出す間に描示しても良い。
【0018】本発明のシステムは、1つ又は複数の選択
されたスクリーニング方式を実行するために要求される
1つ又は複数の閾値アレイを保持する、スクリーンRA
M12を含めたRIP内部の他のハードウェアにより支
援される。一実施例では、スクリーンRAM12は25
6K×32ビットとして構成されている。別の実施例に
おいては、スクリーンRAM12は64K×32ビット
又は他の構成をとっても良く、設計に際しては、装置の
デザイン及び製造コストと、スクリーニング品質との兼
ね合いを考慮することができる。
されたスクリーニング方式を実行するために要求される
1つ又は複数の閾値アレイを保持する、スクリーンRA
M12を含めたRIP内部の他のハードウェアにより支
援される。一実施例では、スクリーンRAM12は25
6K×32ビットとして構成されている。別の実施例に
おいては、スクリーンRAM12は64K×32ビット
又は他の構成をとっても良く、設計に際しては、装置の
デザイン及び製造コストと、スクリーニング品質との兼
ね合いを考慮することができる。
【0019】ポストスクリプトシステムを使用して、1
つの充填領域を複数の図形表示要素に分割し、それらの
要素を出力として表示することになる。図3は、輪郭線
41及び42により境界を限定される任意の領域40を
示す。一般に、輪郭線を表示すべき領域の辺を規定する
一連の線又は曲線として記述することができる。相対的
に分解能の低い表示の場合は線又は曲線の分解能をより
低く設定し、より微細な詳細を描示すべきときには分解
能を高く設定できる。描示すべき各充填領域の画像を、
複数の台形、ランアレイ又は他の適切な幾何学形状を形
成して、1つの完成した領域を構成するように、1本の
輪郭線の複数のほぼまっすぐな辺により境界を規定され
た複数のセグメント、たとえば、水平セグメントに分割
できる。
つの充填領域を複数の図形表示要素に分割し、それらの
要素を出力として表示することになる。図3は、輪郭線
41及び42により境界を限定される任意の領域40を
示す。一般に、輪郭線を表示すべき領域の辺を規定する
一連の線又は曲線として記述することができる。相対的
に分解能の低い表示の場合は線又は曲線の分解能をより
低く設定し、より微細な詳細を描示すべきときには分解
能を高く設定できる。描示すべき各充填領域の画像を、
複数の台形、ランアレイ又は他の適切な幾何学形状を形
成して、1つの完成した領域を構成するように、1本の
輪郭線の複数のほぼまっすぐな辺により境界を規定され
た複数のセグメント、たとえば、水平セグメントに分割
できる。
【0020】基本要素として台形を使用することは、水
平走査線を追跡することにより出力領域を構成するラス
タ表示装置の場合に特に有用である。台形はその平行な
辺が走査線の方向に向いているようなものであるのが好
ましい。図3を参照すると、1つの領域の複数の部分を
複数の台形、たとえば、台形43,44,45及び47
として描出することができる。詳細部については、1本
又は複数本の個別の走査線、たとえば、走査線46,4
8を使用して描出できる。記憶及び処理により好都合で
あるように、一連の走査線セグメントをランアレイとし
て記憶することができる。ランアレイは、たとえば、関
連するそれぞれのランの開始点と長さにより指定される
ランのアレイ、すなわち、アセンブリであるにすぎな
い。ポストスクリプトプロセッサは台形に関する情報を
ラスタマーキングエンジンにおける又はそれに関わる出
力領域、典型的には出力領域の完全ビットマップの形態
をとる出力に変換する。本発明のシステム及び方法と組
み合わせると有用である典型的なポストスクリプトプロ
セッサは、出力として各走査線を準備し、その出力を構
成すべきその走査線上の画素の1つ又は複数の範囲を確
定する。
平走査線を追跡することにより出力領域を構成するラス
タ表示装置の場合に特に有用である。台形はその平行な
辺が走査線の方向に向いているようなものであるのが好
ましい。図3を参照すると、1つの領域の複数の部分を
複数の台形、たとえば、台形43,44,45及び47
として描出することができる。詳細部については、1本
又は複数本の個別の走査線、たとえば、走査線46,4
8を使用して描出できる。記憶及び処理により好都合で
あるように、一連の走査線セグメントをランアレイとし
て記憶することができる。ランアレイは、たとえば、関
連するそれぞれのランの開始点と長さにより指定される
ランのアレイ、すなわち、アセンブリであるにすぎな
い。ポストスクリプトプロセッサは台形に関する情報を
ラスタマーキングエンジンにおける又はそれに関わる出
力領域、典型的には出力領域の完全ビットマップの形態
をとる出力に変換する。本発明のシステム及び方法と組
み合わせると有用である典型的なポストスクリプトプロ
セッサは、出力として各走査線を準備し、その出力を構
成すべきその走査線上の画素の1つ又は複数の範囲を確
定する。
【0021】好ましい実施例における図形演算は台形の
充填、ランアレイ充填、マスク充填及びソース画像の演
算を含む。ソース画像の演算は、台形又はランアレイに
基づく装置領域によるイメージングを含む。好ましい一
実施例では、表示要素を描出するために要求される全て
の指令とパラメータは、表示リストと呼ばれる主メモリ
ベースデータ構造においてパスされる。この表示リスト
のフォーマットと、代表的指令の詳細な動作について
は、以下に説明する。
充填、ランアレイ充填、マスク充填及びソース画像の演
算を含む。ソース画像の演算は、台形又はランアレイに
基づく装置領域によるイメージングを含む。好ましい一
実施例では、表示要素を描出するために要求される全て
の指令とパラメータは、表示リストと呼ばれる主メモリ
ベースデータ構造においてパスされる。この表示リスト
のフォーマットと、代表的指令の詳細な動作について
は、以下に説明する。
【0022】好ましい一実施例では、GCP10は必要
な値を記憶する複数のレジスタを含む。それらの値には
基準点、たとえば、装置座標空間の始まりを表わす記憶
場所と、現在描出中であるバンド内の第1の記憶場所
と、いくつかの画素座標と、現在描出中である走査線
と、その他の情報とが含まれると考えて良い。GCP1
0は、それぞれの入力に従って特定のタスクを実行する
ように設計された複数の状態機械をさらに含む。
な値を記憶する複数のレジスタを含む。それらの値には
基準点、たとえば、装置座標空間の始まりを表わす記憶
場所と、現在描出中であるバンド内の第1の記憶場所
と、いくつかの画素座標と、現在描出中である走査線
と、その他の情報とが含まれると考えて良い。GCP1
0は、それぞれの入力に従って特定のタスクを実行する
ように設計された複数の状態機械をさらに含む。
【0023】好ましい一実施例では、データ又は指令は
主メモリの32ビット境界で始まるものと仮定する。デ
ータ型は主メモリアドレスと、整数と、装置画素座標
と、ポインタと、文字マスクと、圧縮文字マスクと、表
示リストオペレータ演算コードとを含む。いくつかのフ
ィールドは不定であり、ホストCPUにより0に設定さ
れるべきフィールドである。画素座標はメモリの装置座
標空間の開始アドレスに対して装置座標空間における絶
対座標であることができる。その開始アドレスは、イメ
ージング動作の開始に先立って、レジスタにロードされ
る。整数画素座標は問題となっている理想化装置画素の
左下角を参照し、固定小数点画素座標は装置画素内の任
意の点を参照することができる。固定小数点座標は周知
の16ビット整数+16ビット小数座標の形態で表現で
きる。当業者には、本発明のシステム及び方法と共に使
用可能である追加のデータ構造及びサイズや、代替デー
タ構造及びサイズが認められるであろう。
主メモリの32ビット境界で始まるものと仮定する。デ
ータ型は主メモリアドレスと、整数と、装置画素座標
と、ポインタと、文字マスクと、圧縮文字マスクと、表
示リストオペレータ演算コードとを含む。いくつかのフ
ィールドは不定であり、ホストCPUにより0に設定さ
れるべきフィールドである。画素座標はメモリの装置座
標空間の開始アドレスに対して装置座標空間における絶
対座標であることができる。その開始アドレスは、イメ
ージング動作の開始に先立って、レジスタにロードされ
る。整数画素座標は問題となっている理想化装置画素の
左下角を参照し、固定小数点画素座標は装置画素内の任
意の点を参照することができる。固定小数点座標は周知
の16ビット整数+16ビット小数座標の形態で表現で
きる。当業者には、本発明のシステム及び方法と共に使
用可能である追加のデータ構造及びサイズや、代替デー
タ構造及びサイズが認められるであろう。
【0024】装置座標空間の基底アドレスを記憶するの
は装置座標基底(DCB)レジスタである。本発明の装
置の出力を使用する適切なマーキングエンジンは、通
常、主メモリに全装置座標空間より小さいバッファが同
時に存在するような高分解能バンド装置であるので、実
行される画素アドレス指定計算がメモリの現在バンドバ
ッファの中にあるアドレスを発生させるように、DCB
レジスタは負の2の補数を記憶している場合が多い。ま
た、多くのマーキングエンジンは1つ又は複数の次元に
沿って216より多くの画素を含む装置座標空間を有する
ので、DCBレジスタを装置座標空間の中に十分含まれ
ている点、すなわち、記憶場所へ任意にバイアスしても
良い。好ましい実施例では、装置座標空間の中で「拡張
アドレス指定」を実行するために、DCBレジスタ内部
のバイアスアドレス利用を支援する。
は装置座標基底(DCB)レジスタである。本発明の装
置の出力を使用する適切なマーキングエンジンは、通
常、主メモリに全装置座標空間より小さいバッファが同
時に存在するような高分解能バンド装置であるので、実
行される画素アドレス指定計算がメモリの現在バンドバ
ッファの中にあるアドレスを発生させるように、DCB
レジスタは負の2の補数を記憶している場合が多い。ま
た、多くのマーキングエンジンは1つ又は複数の次元に
沿って216より多くの画素を含む装置座標空間を有する
ので、DCBレジスタを装置座標空間の中に十分含まれ
ている点、すなわち、記憶場所へ任意にバイアスしても
良い。好ましい実施例では、装置座標空間の中で「拡張
アドレス指定」を実行するために、DCBレジスタ内部
のバイアスアドレス利用を支援する。
【0025】本発明は、高性能RIP環境の中での4種
類のイメージング・図形描出作業に特に有用である。そ
れらの作業とは、 1) 走査写真画像の「ハーフトーン化」のためのスク
リーニング; 2) スクリーニングを必要とするカラー又はグレイス
ケールレベルによる領域充填; 3) 全て白色又は全て黒色の値による領域充填(通常
は線);及び 4) マスクの下での描出(通常は文字ビットマップ) の4つである。
類のイメージング・図形描出作業に特に有用である。そ
れらの作業とは、 1) 走査写真画像の「ハーフトーン化」のためのスク
リーニング; 2) スクリーニングを必要とするカラー又はグレイス
ケールレベルによる領域充填; 3) 全て白色又は全て黒色の値による領域充填(通常
は線);及び 4) マスクの下での描出(通常は文字ビットマップ) の4つである。
【0026】所期の環境におけるホストCPUは、主メ
モリの帯域幅に近い帯域幅で全て白色又は全て黒色の領
域充填を実行することができる高速プロセッサであるの
が好ましいが、本発明のシステム及び方法にホストとは
無関係に充填動作を実行させることにより、RIPシス
テムレベル性能をさらに向上できる。このコプロセッサ
アーキテクチャでは、本発明のシステムが所定のバンド
バッファについて表示リストを描出している間に、ホス
トは表示リスト処理、ポストスクリプト言語プログラム
処理、ディスクファイル入出力処理又は他のタスクを実
行することができる。
モリの帯域幅に近い帯域幅で全て白色又は全て黒色の領
域充填を実行することができる高速プロセッサであるの
が好ましいが、本発明のシステム及び方法にホストとは
無関係に充填動作を実行させることにより、RIPシス
テムレベル性能をさらに向上できる。このコプロセッサ
アーキテクチャでは、本発明のシステムが所定のバンド
バッファについて表示リストを描出している間に、ホス
トは表示リスト処理、ポストスクリプト言語プログラム
処理、ディスクファイル入出力処理又は他のタスクを実
行することができる。
【0027】スクリーニングする必要のある領域をグレ
イスケールレベル又はカラーレベルによって充填すると
きには、大半のスクリーニング方式が複雑であるため、
本発明のシステムと方法はホストベースの充填と比較し
て決定的な利点を有するのである。従来、単一のグレイ
レベルを要求する充填領域は、「グレイブリック」、す
なわち、現在スクリーンに対してスクリーニングされる
現在グレイレベル設定に基づいている画素の小さなパタ
ーンを事前に計算することにより、より迅速に充填可能
である。たとえば、50%のグレイが交互に現れる白と
黒の画素から構成されていると考えられるならば、90
%のグレイは平均して10個の画素(2次元)の中に1
個の白を含むものと考えられるであろう。ブリックは、
ハーフトーン化の間に一定のグレイレベルでターンオン
すべき装置画素を表わす単純なビットの反復パターンに
よって装置アドレス空間を「タイリング」するために使
用される。グレイレベルは一定であるので、1つ又は少
数のハーフトーンセルについてのみこの機能を実行し、
続いて、問題となっている領域を充填するときにそのよ
うにして得たビットマップを複製することにより、閾値
計算の大部分を省略できる。最新の精巧なハーフトーン
スクリーニング方式では、より基本的な有利スクリーニ
ング方式とは異なり、限定されたサイズ(典型的には6
4Kバイト以下)の0と1から成る単純な反復パターン
を確定することは、通常、不可能である。これは、一部
のスクリーンが所定の走査線に沿ったいずれかのパター
ンの周期性を走査単位何十個又は何百個分の長さにさせ
る角度だけ回転されるためである。1走査単位は、1つ
又は複数のソース画像画素又は出力領域装置画素に対応
する1つのコンピュータ語であり、通常はホストプロセ
ッサの固有語サイズの大きさである。
イスケールレベル又はカラーレベルによって充填すると
きには、大半のスクリーニング方式が複雑であるため、
本発明のシステムと方法はホストベースの充填と比較し
て決定的な利点を有するのである。従来、単一のグレイ
レベルを要求する充填領域は、「グレイブリック」、す
なわち、現在スクリーンに対してスクリーニングされる
現在グレイレベル設定に基づいている画素の小さなパタ
ーンを事前に計算することにより、より迅速に充填可能
である。たとえば、50%のグレイが交互に現れる白と
黒の画素から構成されていると考えられるならば、90
%のグレイは平均して10個の画素(2次元)の中に1
個の白を含むものと考えられるであろう。ブリックは、
ハーフトーン化の間に一定のグレイレベルでターンオン
すべき装置画素を表わす単純なビットの反復パターンに
よって装置アドレス空間を「タイリング」するために使
用される。グレイレベルは一定であるので、1つ又は少
数のハーフトーンセルについてのみこの機能を実行し、
続いて、問題となっている領域を充填するときにそのよ
うにして得たビットマップを複製することにより、閾値
計算の大部分を省略できる。最新の精巧なハーフトーン
スクリーニング方式では、より基本的な有利スクリーニ
ング方式とは異なり、限定されたサイズ(典型的には6
4Kバイト以下)の0と1から成る単純な反復パターン
を確定することは、通常、不可能である。これは、一部
のスクリーンが所定の走査線に沿ったいずれかのパター
ンの周期性を走査単位何十個又は何百個分の長さにさせ
る角度だけ回転されるためである。1走査単位は、1つ
又は複数のソース画像画素又は出力領域装置画素に対応
する1つのコンピュータ語であり、通常はホストプロセ
ッサの固有語サイズの大きさである。
【0028】充填方法は、装置画素ごとにスクリーン閾
値比較の結果を個別に確定しなければならない。グレイ
パターンの周期性がイメージング可能面積より著しく小
さかったとしても、本発明のシステム及び方法を使用す
ると、1つの「グレイブリック」の計算は通常のスクリ
ーニング方式と比較して依然として非常に遅いといえ
る。これは、GCP10を使用してハーフトーン化プロ
セスが進行する速度が主メモリの帯域幅によって限定さ
れるだけであるためである。
値比較の結果を個別に確定しなければならない。グレイ
パターンの周期性がイメージング可能面積より著しく小
さかったとしても、本発明のシステム及び方法を使用す
ると、1つの「グレイブリック」の計算は通常のスクリ
ーニング方式と比較して依然として非常に遅いといえ
る。これは、GCP10を使用してハーフトーン化プロ
セスが進行する速度が主メモリの帯域幅によって限定さ
れるだけであるためである。
【0029】〔組織的設計最適化〕本発明は、幾分特殊
な制御装置環境の中である範囲の高分解能マーキングエ
ンジンの型について最大の性能を提供するように設計さ
れている。加えて、本発明の目標となる設計は多くのし
ばしば利用される型の図形演算又はイメージング演算
と、その大半の共通するパラメータとについて最適化さ
れる。
な制御装置環境の中である範囲の高分解能マーキングエ
ンジンの型について最大の性能を提供するように設計さ
れている。加えて、本発明の目標となる設計は多くのし
ばしば利用される型の図形演算又はイメージング演算
と、その大半の共通するパラメータとについて最適化さ
れる。
【0030】他の環境においても、本発明のシステムは
従来の装置と比べて性能の向上をもたらすが、理想の条
件の下でのGCP10の性能ほど大きな改善ではない。
たとえば、回転画像が提示される場合、ソース画像サン
プルを得なければならず、そのために、典型的なソース
分解能と宛先分解能を想定して、3つ又は4つの描出さ
れる装置画素から成るブロックごとに主メモリアドレス
を計算する時間とコストが必要である。その計算のたび
にGCP10で命令パイプラインを停止させるためにメ
モリオーバヘッドがさらに要求されるので、その結果、
イメージング性能は二分の一以上に低下してしまう。
従来の装置と比べて性能の向上をもたらすが、理想の条
件の下でのGCP10の性能ほど大きな改善ではない。
たとえば、回転画像が提示される場合、ソース画像サン
プルを得なければならず、そのために、典型的なソース
分解能と宛先分解能を想定して、3つ又は4つの描出さ
れる装置画素から成るブロックごとに主メモリアドレス
を計算する時間とコストが必要である。その計算のたび
にGCP10で命令パイプラインを停止させるためにメ
モリオーバヘッドがさらに要求されるので、その結果、
イメージング性能は二分の一以上に低下してしまう。
【0031】〔動作理論〕 〔主な機能装置及びデータ経路〕好ましい一実施例で
は、GCP10を以下に示すような主な機能装置に分割
する。それらの機能装置の大部分は、1つの領域の様々
な部分を処理又は計算するために並行して機能すること
ができる独立した状態機械として動作する。主な機能装
置の大半は内部バスに結合している。それらの機能装置
と相互接続部を図2に示す。
は、GCP10を以下に示すような主な機能装置に分割
する。それらの機能装置の大部分は、1つの領域の様々
な部分を処理又は計算するために並行して機能すること
ができる独立した状態機械として動作する。主な機能装
置の大半は内部バスに結合している。それらの機能装置
と相互接続部を図2に示す。
【0032】 装置名 機能 STF30 スクリーン閾値フェッチャ SF29A ソースフェッチャ SI29B ソース入力装置 SFU29 ソースフェッチャ装置 PIX28 画素アセンブラ MCS20 主制御シーケンサ MRH26 メモリ要求ハンドラ DL FIFO23 表示リスト先入れ先出し(FIFO)バッファ DI FIFO24 宛先入力FIFO DO FIFO25 宛先出力FIFO SI FIFO27 ソース入力FIFO スクリーンRAM12
【0033】それぞれの機能装置は図形描出プロセスに
おいて並行性をさらに高度にすると共に、問題となって
いる状態機械によりサーブされているバッファ又はメモ
リ領域のアドレス指定構造を隔離する働きをする。機能
装置は並行して動作して、動作を同期させるために装置
間で通信信号を使用しながら、クロックサイクルごとに
状態を1つずつ進めてゆく。各機能装置は、その装置に
関わるメモリバッファが必要な場合にのみ組込まれ、そ
の機能装置と直接に関連して、多くの場合にその装置の
設計をさらに単純にするように設計されている。
おいて並行性をさらに高度にすると共に、問題となって
いる状態機械によりサーブされているバッファ又はメモ
リ領域のアドレス指定構造を隔離する働きをする。機能
装置は並行して動作して、動作を同期させるために装置
間で通信信号を使用しながら、クロックサイクルごとに
状態を1つずつ進めてゆく。各機能装置は、その装置に
関わるメモリバッファが必要な場合にのみ組込まれ、そ
の機能装置と直接に関連して、多くの場合にその装置の
設計をさらに単純にするように設計されている。
【0034】GCP10は標準の市販のセルライブラリ
を使用する単一のチップとして形成され、所望の機能性
を提供するように選択され且つ相互接続されたものであ
った。チップはカリフォルニア州サンホセのVLSI
Technologyで製造された。GCP10を形成
するために使用したマスクは、本出願の出願と同時に、
マスク作業保護用として登録中である。本明細書にもそ
れらのマスクは参考として取り入れられており、本明細
書の付録として登録情報の写しを添付する。標準セルラ
イブラリを知っている当業者であれば、それらのマスク
を参照せずに本発明のシステムを実現できる。
を使用する単一のチップとして形成され、所望の機能性
を提供するように選択され且つ相互接続されたものであ
った。チップはカリフォルニア州サンホセのVLSI
Technologyで製造された。GCP10を形成
するために使用したマスクは、本出願の出願と同時に、
マスク作業保護用として登録中である。本明細書にもそ
れらのマスクは参考として取り入れられており、本明細
書の付録として登録情報の写しを添付する。標準セルラ
イブラリを知っている当業者であれば、それらのマスク
を参照せずに本発明のシステムを実現できる。
【0035】GCP10は、クロックサイクルごとに、
グレイ充填又はイメージングの動作を実行するときに、
4つの装置画素を同時に描出できる。従って、25MH
zのクロック速度では、主メモリの装置フレームバッフ
ァ、すなわち、バンドバッファに1億画素/秒までの総
速度を導入することになる。走査線の方向に著しく長い
大形のオブジェクトとして編成されている最適の表示リ
スト要素の場合、典型的な表示リストについての総描出
速度が8千万画素/秒に近づくように、実際に十分な長
さの期間にわたってこの描出速度を達成した。
グレイ充填又はイメージングの動作を実行するときに、
4つの装置画素を同時に描出できる。従って、25MH
zのクロック速度では、主メモリの装置フレームバッフ
ァ、すなわち、バンドバッファに1億画素/秒までの総
速度を導入することになる。走査線の方向に著しく長い
大形のオブジェクトとして編成されている最適の表示リ
スト要素の場合、典型的な表示リストについての総描出
速度が8千万画素/秒に近づくように、実際に十分な長
さの期間にわたってこの描出速度を達成した。
【0036】このような性能を得るために、GCP10
は各クロックサイクルの間に数多くの動作を並行して実
行する、それはパイプライン設計技法による機能装置の
並行性がもつ利点である。所定の表示要素を描出してい
る間、大部分の時間についてクロックごとに4画素とい
う描出速度を達成するように、一連の「ハードワイヤー
ド」状態機械によりパイプラインの各段階における実際
の画素ごとの処理を施す。
は各クロックサイクルの間に数多くの動作を並行して実
行する、それはパイプライン設計技法による機能装置の
並行性がもつ利点である。所定の表示要素を描出してい
る間、大部分の時間についてクロックごとに4画素とい
う描出速度を達成するように、一連の「ハードワイヤー
ド」状態機械によりパイプラインの各段階における実際
の画素ごとの処理を施す。
【0037】〔表示リスト〕好ましい一実施例では、G
CP10に対する第1の入力はソース画像、領域、選択
された充填特性及び文字特性、特定すれば、ランアレ
イ、台形及びマスクに関する情報を含む表示リストであ
る。表示リストは、選択されたマーキングエンジンに関
して既に計算されているのが好ましい。従って、本発明
のシステムは表示リストを設定した分解能でメモリ内の
ビットマップ化出力に変換することしかしない。たとえ
ば、目標のマーキングエンジン、例を挙げれば、72d
piで1024×1024画素の表示を伴うビデオスク
リーンについて、CPU11(図1)により何らかの表
示リストを計算できるであろう。高分解能プリンタ、た
とえば、白色のスペースを設定した分解能、例を挙げれ
ば1200dbiで選択された黒色ドットで充填するこ
とができるプリンタへほぼ同じ出力を出力するために、
関連してはいるが異なる表示リストは有用であろう。典
型的な表示リストは複数の演算コード(opコード)
と、それぞれのopコードが要求する関連パラメータと
を含む。
CP10に対する第1の入力はソース画像、領域、選択
された充填特性及び文字特性、特定すれば、ランアレ
イ、台形及びマスクに関する情報を含む表示リストであ
る。表示リストは、選択されたマーキングエンジンに関
して既に計算されているのが好ましい。従って、本発明
のシステムは表示リストを設定した分解能でメモリ内の
ビットマップ化出力に変換することしかしない。たとえ
ば、目標のマーキングエンジン、例を挙げれば、72d
piで1024×1024画素の表示を伴うビデオスク
リーンについて、CPU11(図1)により何らかの表
示リストを計算できるであろう。高分解能プリンタ、た
とえば、白色のスペースを設定した分解能、例を挙げれ
ば1200dbiで選択された黒色ドットで充填するこ
とができるプリンタへほぼ同じ出力を出力するために、
関連してはいるが異なる表示リストは有用であろう。典
型的な表示リストは複数の演算コード(opコード)
と、それぞれのopコードが要求する関連パラメータと
を含む。
【0038】好ましい一実施例では、何らかの大きさ、
たとえば、1Kバイトのブロックとして表示リストを準
備し、必要に応じてブロックを後続するブロックに連係
させる。表示リストは、たとえば、パターン充填などに
関する複数のサブルーチンを含んでおり、親表示リスト
の出発点に戻るサブルーチン戻り指令を伴う。別の好ま
しい実施例においては、複数レベルのサブルーチンを実
現する。
たとえば、1Kバイトのブロックとして表示リストを準
備し、必要に応じてブロックを後続するブロックに連係
させる。表示リストは、たとえば、パターン充填などに
関する複数のサブルーチンを含んでおり、親表示リスト
の出発点に戻るサブルーチン戻り指令を伴う。別の好ま
しい実施例においては、複数レベルのサブルーチンを実
現する。
【0039】有用なopコードの1つは、台形を充填す
るために使用されるFillTrap命令である。幾何
学的にいえば、台形は周辺に沿って結ばれた4つの点に
より表わされる。実際には、2つの水平の辺と、2つの
傾いた辺とによって台形を計算するのが好ましい。描出
すべき水平走査線の本数は描出すべき台形によって決ま
り、たとえば、ソース画像又は充填領域が非常に狭い場
合の非常に少ない本数から、大きく規則的な幾何学形状
を高分解能で表示すべき場合の非常に多い本数まで様々
であろう。好ましい一実施例では、FillTrap演
算コードは水平の下辺と、水平の上辺と、水平の下辺及
び上辺のそれぞれに沿った始まりと終わりの点との座標
を含む。この命令は、描出の時点で傾きを計算すること
を回避するために、好ましくは事前に計算された各斜辺
の傾きをさらに含んでいても良い。
るために使用されるFillTrap命令である。幾何
学的にいえば、台形は周辺に沿って結ばれた4つの点に
より表わされる。実際には、2つの水平の辺と、2つの
傾いた辺とによって台形を計算するのが好ましい。描出
すべき水平走査線の本数は描出すべき台形によって決ま
り、たとえば、ソース画像又は充填領域が非常に狭い場
合の非常に少ない本数から、大きく規則的な幾何学形状
を高分解能で表示すべき場合の非常に多い本数まで様々
であろう。好ましい一実施例では、FillTrap演
算コードは水平の下辺と、水平の上辺と、水平の下辺及
び上辺のそれぞれに沿った始まりと終わりの点との座標
を含む。この命令は、描出の時点で傾きを計算すること
を回避するために、好ましくは事前に計算された各斜辺
の傾きをさらに含んでいても良い。
【0040】GCP10では、台形の内側と辺をあらか
じめ選択した白色、黒色又はグレイレベル、さらには走
査画像などのスクリーニング済ソース画像によって充填
する。充填特性は演算コードと関連するデータの中で指
定されるか、あるいは、1つの記憶場所に維持しておく
ことが可能である。
じめ選択した白色、黒色又はグレイレベル、さらには走
査画像などのスクリーニング済ソース画像によって充填
する。充填特性は演算コードと関連するデータの中で指
定されるか、あるいは、1つの記憶場所に維持しておく
ことが可能である。
【0041】垂直の辺を1つ又は2つ以上を含む平行四
辺形又は台形をイメージングするという特殊なケースに
備えて追加の演算コードを定義しても良いが、大形で強
力な命令のセットと、小形ではあるが高速の命令のセッ
トとの兼ねあいを考慮していることは当業者には認めら
れるであろう。
辺形又は台形をイメージングするという特殊なケースに
備えて追加の演算コードを定義しても良いが、大形で強
力な命令のセットと、小形ではあるが高速の命令のセッ
トとの兼ねあいを考慮していることは当業者には認めら
れるであろう。
【0042】もう1つの演算コードはRunArray
Fill命令である。この命令はアレイの寸法に関する
情報を含み、その情報自体は充填すべき選択された線に
沿った複数の水平領域に関する情報を含んでいる。たと
えば、その情報は包含される走査線の上下の境界と、そ
の後に続く走査線ごとの情報、すなわち、充填すべきそ
の走査線上の水平領域の数及びそのような水平領域それ
ぞれの始まりと終わりの点を含む情報とを含んでいても
良い。
Fill命令である。この命令はアレイの寸法に関する
情報を含み、その情報自体は充填すべき選択された線に
沿った複数の水平領域に関する情報を含んでいる。たと
えば、その情報は包含される走査線の上下の境界と、そ
の後に続く走査線ごとの情報、すなわち、充填すべきそ
の走査線上の水平領域の数及びそのような水平領域それ
ぞれの始まりと終わりの点を含む情報とを含んでいても
良い。
【0043】表示リストではいくつかの他の演算コード
も有用であることは当業者には認められるであろう。そ
れらの演算コードには、設計者が実現すべきものとして
選択した所定のレジスタの様々なアクセスのモード、タ
スク又は画像に関する情報、もしくは1つの領域を表示
するために要求される他の情報などが含まれると考えら
れる。有用な演算コードの中には、指定の記憶場所から
1つの領域を選択するため又は指定された座標を使用し
て領域を作成するための命令がある。その他の演算コー
ドは、指定グレイレベルをもつハーフトーンスクリーン
によって領域を充填するための命令;指定の色をもつ少
なくとも1つのハーフトーンスクリーンによって領域を
充填するための命令;黒色画素を使用して領域を充填す
るための命令;白色画素を使用して領域を充填するため
の命令;不透明画素を使用して領域を充填するための命
令;及びマスクを使用して領域を充填するための命令な
どである。尚、そのマスクについては、メモリの指定さ
れた記憶場所で見出すか又は所定の情報を使用して生成
することができる。ソース画像を操作又は使用するのに
有用であるさらに別の演算コードもあり、それらの演算
コードはソース画像を定義するための命令;ソース画像
を基準化するための命令;ソース画像を回転させるため
の命令;ソース画像をシヤリングするための命令;ソー
ス画像をフリッピングするための命令;ソース画像をク
リッピングするための命令;画像マスクを定義するため
の命令;及び領域を画像によって充填するための命令を
含む。
も有用であることは当業者には認められるであろう。そ
れらの演算コードには、設計者が実現すべきものとして
選択した所定のレジスタの様々なアクセスのモード、タ
スク又は画像に関する情報、もしくは1つの領域を表示
するために要求される他の情報などが含まれると考えら
れる。有用な演算コードの中には、指定の記憶場所から
1つの領域を選択するため又は指定された座標を使用し
て領域を作成するための命令がある。その他の演算コー
ドは、指定グレイレベルをもつハーフトーンスクリーン
によって領域を充填するための命令;指定の色をもつ少
なくとも1つのハーフトーンスクリーンによって領域を
充填するための命令;黒色画素を使用して領域を充填す
るための命令;白色画素を使用して領域を充填するため
の命令;不透明画素を使用して領域を充填するための命
令;及びマスクを使用して領域を充填するための命令な
どである。尚、そのマスクについては、メモリの指定さ
れた記憶場所で見出すか又は所定の情報を使用して生成
することができる。ソース画像を操作又は使用するのに
有用であるさらに別の演算コードもあり、それらの演算
コードはソース画像を定義するための命令;ソース画像
を基準化するための命令;ソース画像を回転させるため
の命令;ソース画像をシヤリングするための命令;ソー
ス画像をフリッピングするための命令;ソース画像をク
リッピングするための命令;画像マスクを定義するため
の命令;及び領域を画像によって充填するための命令を
含む。
【0044】〔主制御シーケンサ(MCS)〕図2を参
照すると、MCS20はシステム全体に対する中央制御
装置であり、チップの機能を調整して、タスクを適切な
処理装置に割り当てる。好ましい一実施例では、MCS
20はインテリジェントではあるが頻繁ではない介入を
要求するあらゆる動作を実行する。MCS20はプログ
ラム可能マイクロコード化シーケンサを中心として編成
されており、汎用算術演算論理装置(ALU)がMCS
を支援する。
照すると、MCS20はシステム全体に対する中央制御
装置であり、チップの機能を調整して、タスクを適切な
処理装置に割り当てる。好ましい一実施例では、MCS
20はインテリジェントではあるが頻繁ではない介入を
要求するあらゆる動作を実行する。MCS20はプログ
ラム可能マイクロコード化シーケンサを中心として編成
されており、汎用算術演算論理装置(ALU)がMCS
を支援する。
【0045】好ましい一実施例では、MCS20はシス
テムがスレーブモードになるか又はマスターモードにな
るかを制御する。GCP10はスレーブモードでパワー
アップする。MCS20は、たとえば、システムのレジ
スタをロードするため又は領域の描出を開始するため
に、ホストCPUなどの外部装置(GCP10の外部)
が本発明のシステムのアテンションをシークしている時
点を認識する。そこで、外部装置は状態ビットと制御レ
ジスタをセットすることができ、要求されている他のど
のような初期設定も実行できるのである。外部装置は開
始メモリアドレスをバスを介して又はその他の方法によ
りMCS20へ送信することができる。そこで、MCS
20はその記憶場所をアクセスし、いくつかの情報バイ
トをバッファへ転送して、その後の処理に備える。典型
的な情報は先に説明した表示リストの形態をとる。典型
的な表示リストは初期設定情報も含んでいて良い。
テムがスレーブモードになるか又はマスターモードにな
るかを制御する。GCP10はスレーブモードでパワー
アップする。MCS20は、たとえば、システムのレジ
スタをロードするため又は領域の描出を開始するため
に、ホストCPUなどの外部装置(GCP10の外部)
が本発明のシステムのアテンションをシークしている時
点を認識する。そこで、外部装置は状態ビットと制御レ
ジスタをセットすることができ、要求されている他のど
のような初期設定も実行できるのである。外部装置は開
始メモリアドレスをバスを介して又はその他の方法によ
りMCS20へ送信することができる。そこで、MCS
20はその記憶場所をアクセスし、いくつかの情報バイ
トをバッファへ転送して、その後の処理に備える。典型
的な情報は先に説明した表示リストの形態をとる。典型
的な表示リストは初期設定情報も含んでいて良い。
【0046】GCP10に領域の描出を開始することを
命令すると、GCP10はマスターモードに入り、表示
リスト及びメモリの情報をアクセスするために、必要に
応じて、主アドレスバスと、主データバスなどの1つ又
は複数の外部バスを制御する。別の実施例では、GCP
10はソース画像又は出力領域の情報を転送するために
1つ又は複数の外部バスを使用しても良い。MCS20
は様々なレジスタと、GCP10内部にある又はGCP
10と密接に関連する記憶領域との間の内部における情
報の交換を管理する。
命令すると、GCP10はマスターモードに入り、表示
リスト及びメモリの情報をアクセスするために、必要に
応じて、主アドレスバスと、主データバスなどの1つ又
は複数の外部バスを制御する。別の実施例では、GCP
10はソース画像又は出力領域の情報を転送するために
1つ又は複数の外部バスを使用しても良い。MCS20
は様々なレジスタと、GCP10内部にある又はGCP
10と密接に関連する記憶領域との間の内部における情
報の交換を管理する。
【0047】表示リストFIFO(DL FIFO)2
3はGCP10の内部バスに接続しており、MCS20
により制御される。DL FIFO23は16以上の語
を保持するように構成されているのが好ましいメモリバ
ッファである。命令に応じて又は必要に応じて、MCS
20は表示リストをDL FIFO23にロードする。
次に、MCS20は表示リストを解析し、それぞれの命
令を演算コードと、それに関連するオペランドとに分解
し、続いて、その命令又は関連情報をGCP10の適切
な装置へ渡して、後の処理に備える。MCS20は後続
する表示リスト命令を読取ることができ、それらの命令
に対して動作するか又はそれらの命令をGCP10の適
切な装置に渡すことができる。領域をさらに迅速に描出
するために、可能なときにはいつでも、GCP10の各
装置は並行して情報を処理していることが可能であり、
事実、そのようにするのが望ましい。
3はGCP10の内部バスに接続しており、MCS20
により制御される。DL FIFO23は16以上の語
を保持するように構成されているのが好ましいメモリバ
ッファである。命令に応じて又は必要に応じて、MCS
20は表示リストをDL FIFO23にロードする。
次に、MCS20は表示リストを解析し、それぞれの命
令を演算コードと、それに関連するオペランドとに分解
し、続いて、その命令又は関連情報をGCP10の適切
な装置へ渡して、後の処理に備える。MCS20は後続
する表示リスト命令を読取ることができ、それらの命令
に対して動作するか又はそれらの命令をGCP10の適
切な装置に渡すことができる。領域をさらに迅速に描出
するために、可能なときにはいつでも、GCP10の各
装置は並行して情報を処理していることが可能であり、
事実、そのようにするのが望ましい。
【0048】MCS20は、以下で説明する必要なメモ
リアクセス及び他の支援機能の実行に備えて、データを
提供すると共にレジスタをセットする。たとえば、Fi
llTrap命令が現れると、MCS20は台形の中で
最初に描出すべき点(走査線及び走査線上の位置)に関
する装置画素アドレスを見出し、次に、その画素アドレ
スの座標をレジスタにロードする。FillTrap表
示リスト命令は走査線上の表示すべき正しい終端画素の
場所をさらに含み、MCS20は所定の走査線に沿った
介在画素の数を計算し、その情報をレジスタにロードす
るのが好ましい。さらに、MCS20は次のレジスタパ
ラメータセット、たとえば、次の走査線又は領域の始ま
りと終わりの画素、あるいは、始まりの画素と描出すべ
き画素の数を計算し、後の処理のためにそれらのパラメ
ータをGCP10の他の装置へ移動できるようになるま
で、パラメータを「ファントム」レジスタに保持する。
GCP10の適切な装置は、情報が必要になったとき
に、それらのファントムレジスタの内容をコピーするこ
とができる。通常、MCS20はファントムレジスタが
いつ読出されるかを知らないので、ファントムレジスタ
に関わる次の値を計算して、記憶する。GCP10の別
の装置(通常はPIX28)がそれらのレジスタをアク
セスしたときには、ファントムレジスタを更新すること
ができるように、その装置はMCS20へも信号で報知
する。この技法を使用すると、レジスタ更新の多くをパ
イプライン化できる。
リアクセス及び他の支援機能の実行に備えて、データを
提供すると共にレジスタをセットする。たとえば、Fi
llTrap命令が現れると、MCS20は台形の中で
最初に描出すべき点(走査線及び走査線上の位置)に関
する装置画素アドレスを見出し、次に、その画素アドレ
スの座標をレジスタにロードする。FillTrap表
示リスト命令は走査線上の表示すべき正しい終端画素の
場所をさらに含み、MCS20は所定の走査線に沿った
介在画素の数を計算し、その情報をレジスタにロードす
るのが好ましい。さらに、MCS20は次のレジスタパ
ラメータセット、たとえば、次の走査線又は領域の始ま
りと終わりの画素、あるいは、始まりの画素と描出すべ
き画素の数を計算し、後の処理のためにそれらのパラメ
ータをGCP10の他の装置へ移動できるようになるま
で、パラメータを「ファントム」レジスタに保持する。
GCP10の適切な装置は、情報が必要になったとき
に、それらのファントムレジスタの内容をコピーするこ
とができる。通常、MCS20はファントムレジスタが
いつ読出されるかを知らないので、ファントムレジスタ
に関わる次の値を計算して、記憶する。GCP10の別
の装置(通常はPIX28)がそれらのレジスタをアク
セスしたときには、ファントムレジスタを更新すること
ができるように、その装置はMCS20へも信号で報知
する。この技法を使用すると、レジスタ更新の多くをパ
イプライン化できる。
【0049】好ましい一実施例では、MCS20は表示
リスト中の1つの台形を完了して始めて、次の台形を処
理する。GCP10の様々な装置がそれぞれの動作を適
切に完了するように、1つの台形の処理中、動作によっ
てはGCP10内部のインタロックを要求するものもあ
る。インタロックは、様々に異なるタイミング状況に際
して様々に異なるロック方式とアンロック方式を使用し
て、GCP10の様々な状態機械により処理される。イ
ンタロックを実現するいくつかの方法は当業者には良く
知られている。
リスト中の1つの台形を完了して始めて、次の台形を処
理する。GCP10の様々な装置がそれぞれの動作を適
切に完了するように、1つの台形の処理中、動作によっ
てはGCP10内部のインタロックを要求するものもあ
る。インタロックは、様々に異なるタイミング状況に際
して様々に異なるロック方式とアンロック方式を使用し
て、GCP10の様々な状態機械により処理される。イ
ンタロックを実現するいくつかの方法は当業者には良く
知られている。
【0050】DL FIFO23はMCS20により現
在状態に保持され、必要に応じてメモリ要求ハンドラ
(MRH)26により充填される。MCS20はDL
FIFO23に何が入っているかと、どの情報が有効で
あるかと、バッファをいつフラッシング又は再充填すべ
きであるかを特殊なハードウェアの使用によって追跡す
る。好ましい一実施例では、MCS20又はMRH26
はそれらの転送をバーストモード又はページモードで外
部バスを使用しながら実行し、それにより、バスをより
効率良く利用できる。MRH26の論理は外部メモリか
らどの情報をどれだけ獲得すべきかを制御する。そのス
テップは、基本的には、関心ある画素又は第1の表示リ
スト命令を含む関連メモリアドレスを識別することと、
通常は外部バスを介する直接メモリアクセスによってデ
ータを獲得することと、そのデータを適切なFIFOに
ロードすることとを含む。
在状態に保持され、必要に応じてメモリ要求ハンドラ
(MRH)26により充填される。MCS20はDL
FIFO23に何が入っているかと、どの情報が有効で
あるかと、バッファをいつフラッシング又は再充填すべ
きであるかを特殊なハードウェアの使用によって追跡す
る。好ましい一実施例では、MCS20又はMRH26
はそれらの転送をバーストモード又はページモードで外
部バスを使用しながら実行し、それにより、バスをより
効率良く利用できる。MRH26の論理は外部メモリか
らどの情報をどれだけ獲得すべきかを制御する。そのス
テップは、基本的には、関心ある画素又は第1の表示リ
スト命令を含む関連メモリアドレスを識別することと、
通常は外部バスを介する直接メモリアクセスによってデ
ータを獲得することと、そのデータを適切なFIFOに
ロードすることとを含む。
【0051】基本要素オブジェクトを描出する正規の過
程が境界条件により中断されるたびに、一般にMCS2
0は介入してその条件を処理し、次にハードウェア速度
で描出を再開する。それらの境界条件の例としては、新
たなソース画像画素サンプルの行の始まりがあり、そこ
で、MCS20は新たな行の始まりに関するメモリアド
レスを計算し、現在行番号を増分する。別の境界条件
は、現在描出動作が現在画面における現在行の終わりに
達したときに起こり、そこで、MCS20は開始スクリ
ーンタイル番号と、行番号と、そのスクリーンタイル中
の開始画素位置とを計算する。MCS20、PIX28
又はGCPの別の装置は関連する条件を処理し、要求さ
れた新たなデータ又はアドレス情報を適切なハードウェ
アレジスタに挿入する。1つの32ビットソース語から
次に続く語へのソース画像データのオーバフロー、又は
1つの32ビット装置バッファ語から次に続く語へのオ
ーバフローなどの頻繁に起こる境界条件は、関連する状
態機械により直接に処理される。従って、MCS20の
性能は、通常、全体的な描出性能について重大な要因と
はならない。
程が境界条件により中断されるたびに、一般にMCS2
0は介入してその条件を処理し、次にハードウェア速度
で描出を再開する。それらの境界条件の例としては、新
たなソース画像画素サンプルの行の始まりがあり、そこ
で、MCS20は新たな行の始まりに関するメモリアド
レスを計算し、現在行番号を増分する。別の境界条件
は、現在描出動作が現在画面における現在行の終わりに
達したときに起こり、そこで、MCS20は開始スクリ
ーンタイル番号と、行番号と、そのスクリーンタイル中
の開始画素位置とを計算する。MCS20、PIX28
又はGCPの別の装置は関連する条件を処理し、要求さ
れた新たなデータ又はアドレス情報を適切なハードウェ
アレジスタに挿入する。1つの32ビットソース語から
次に続く語へのソース画像データのオーバフロー、又は
1つの32ビット装置バッファ語から次に続く語へのオ
ーバフローなどの頻繁に起こる境界条件は、関連する状
態機械により直接に処理される。従って、MCS20の
性能は、通常、全体的な描出性能について重大な要因と
はならない。
【0052】〔出力描出〕GCPの主な描出用構成要素
は宛先入力FIFO(DI FIFO)24と、宛先出
力FIFO(DO FIFO)25と、画素アセンブラ
(PIX)28である。GCP10のこの装置は選択し
た領域を選択した充填画像又はソース画像で充填する。
FIFOはGCP10の内部バスに接続する、好ましく
は高速のメモリ装置である。メモリ要求ハンドラ(MR
H)26はFIFOを維持し、入力FIFO(DI F
IFO)24をほぼ一杯の状態(DL FIFO23と
同じ)に保持すると共に、出力FIFO(DO FIF
O)25をほぼ空の状態に保持する。PIX28は状態
機械であり、データを比較器にロードしたり、装置画素
を出力したりするための関連装置を含む。
は宛先入力FIFO(DI FIFO)24と、宛先出
力FIFO(DO FIFO)25と、画素アセンブラ
(PIX)28である。GCP10のこの装置は選択し
た領域を選択した充填画像又はソース画像で充填する。
FIFOはGCP10の内部バスに接続する、好ましく
は高速のメモリ装置である。メモリ要求ハンドラ(MR
H)26はFIFOを維持し、入力FIFO(DI F
IFO)24をほぼ一杯の状態(DL FIFO23と
同じ)に保持すると共に、出力FIFO(DO FIF
O)25をほぼ空の状態に保持する。PIX28は状態
機械であり、データを比較器にロードしたり、装置画素
を出力したりするための関連装置を含む。
【0053】DI FIFO24は、既存の出力バンド
バッファデータ、すなわち、出力フレームバッファデー
タがもしあれば、それをバンド、すなわちフレームの1
単位だけ保持するのに使用される。一般に、ページモー
ドのDMA転送では画素を外部メモリに記憶し、アクセ
スするのであるが、他の形態のメモリ又は転送も使用可
能である。好ましい一実施例においては、ランダム状態
で始めるのではなく、バンドバッファの全てのビットを
所定の初期状態に設定する。たとえば、バッファの全て
のビットを多くの場合に白色である背景印刷色に設定す
ることができる。MCS20は、係属中の動作について
メモリからの関心画素に関わるデータによってDL F
IFO24を充填することをMRH26に命令する。場
合によっては、1つの走査線領域の始まりと終わりの画
素をFIFO24にロードするだけで十分である。たと
えば、領域を全て黒色又は全て白色の装置画素で充填す
べきであり、既存の介入情報は無関係であるときには、
そのようにすると有用である。
バッファデータ、すなわち、出力フレームバッファデー
タがもしあれば、それをバンド、すなわちフレームの1
単位だけ保持するのに使用される。一般に、ページモー
ドのDMA転送では画素を外部メモリに記憶し、アクセ
スするのであるが、他の形態のメモリ又は転送も使用可
能である。好ましい一実施例においては、ランダム状態
で始めるのではなく、バンドバッファの全てのビットを
所定の初期状態に設定する。たとえば、バッファの全て
のビットを多くの場合に白色である背景印刷色に設定す
ることができる。MCS20は、係属中の動作について
メモリからの関心画素に関わるデータによってDL F
IFO24を充填することをMRH26に命令する。場
合によっては、1つの走査線領域の始まりと終わりの画
素をFIFO24にロードするだけで十分である。たと
えば、領域を全て黒色又は全て白色の装置画素で充填す
べきであり、既存の介入情報は無関係であるときには、
そのようにすると有用である。
【0054】MCS20は、座標と、選択した充填動作
に関する情報とを含む演算コード、すなわち、表示リス
ト情報をPIX28に渡す。表示リスト命令又は充填命
令はPIX28に「不透明充填」を実行すること、すな
わち、選択した出力領域を不透明、たとえば、白色又は
黒色の画素、あるいは、選択したグレイ又はハーフトー
ンソース画像によって充填することを命令でき、それに
より、先のソース画像情報をカバーする。あるいは、P
IX28は「マスクによって充填」、すなわち、現在の
黒色、白色又はグレイの充填をマスクに比して試験して
も良い。マスクが空部分を含む場合、その部分に関わる
既存のソース画像情報は全く変化しないので、既存のソ
ース画像又は出力領域の複数の選択された部分を現在充
填を通して見ることができる。
に関する情報とを含む演算コード、すなわち、表示リス
ト情報をPIX28に渡す。表示リスト命令又は充填命
令はPIX28に「不透明充填」を実行すること、すな
わち、選択した出力領域を不透明、たとえば、白色又は
黒色の画素、あるいは、選択したグレイ又はハーフトー
ンソース画像によって充填することを命令でき、それに
より、先のソース画像情報をカバーする。あるいは、P
IX28は「マスクによって充填」、すなわち、現在の
黒色、白色又はグレイの充填をマスクに比して試験して
も良い。マスクが空部分を含む場合、その部分に関わる
既存のソース画像情報は全く変化しないので、既存のソ
ース画像又は出力領域の複数の選択された部分を現在充
填を通して見ることができる。
【0055】PIX28はある1領域の中の選択された
走査線を選択された開始画素から選択された終端画素ま
で選択されたマスク又は充填によって充填する。尚、領
域によっては、1走査単位(複数の出力領域画素に対応
する1つのコンピュータ語)の中に完全に入ってしまう
少数の画素を含むものもある。不透明黒色又は白色をペ
イントするという単純なケースでは、クロックサイクル
ごとに相対的に多数の画素(好ましい一実施例において
は32個)を充填することができる。
走査線を選択された開始画素から選択された終端画素ま
で選択されたマスク又は充填によって充填する。尚、領
域によっては、1走査単位(複数の出力領域画素に対応
する1つのコンピュータ語)の中に完全に入ってしまう
少数の画素を含むものもある。不透明黒色又は白色をペ
イントするという単純なケースでは、クロックサイクル
ごとに相対的に多数の画素(好ましい一実施例において
は32個)を充填することができる。
【0056】PIX28はDO FIFO25へ関連画
素を出力する。PIX28とMRH26はさらにDO
FIFO25を管理し、DO FIFO25の内容を外
部メモリ、たとえば、バンドバッファへ適宜コピーす
る。DI FIFO24とDOFIFO25は、通常、
それぞれの走査線の終端でフラッシングされる。
素を出力する。PIX28とMRH26はさらにDO
FIFO25を管理し、DO FIFO25の内容を外
部メモリ、たとえば、バンドバッファへ適宜コピーす
る。DI FIFO24とDOFIFO25は、通常、
それぞれの走査線の終端でフラッシングされる。
【0057】〔スクリーン閾値フェッチャの動作〕PI
X28は、充填がグレイであるか又は画像ハーフトーン
パターンであるときに呼び出される閾値比較器を含む。
図4を参照して説明すると、基準化し、1つ又は複数の
グレイレベルで充填すべき領域54は、スクリーンRA
M12から得た閾値アレイデータを使用して計算した一
連のハーフトーンセル53として描出される。PIX2
8の閾値比較器はソース画像中の各画素(ソース画素)
を閾値アレイの幾何学的に対応する値と比較し、ソース
画素が閾値を越えていれば、第1の2進値をもつ装置画
素を出力し、越えていなければ、他方の2進値をもつ装
置画素を出力し、それにより、領域55のような領域を
充填する。
X28は、充填がグレイであるか又は画像ハーフトーン
パターンであるときに呼び出される閾値比較器を含む。
図4を参照して説明すると、基準化し、1つ又は複数の
グレイレベルで充填すべき領域54は、スクリーンRA
M12から得た閾値アレイデータを使用して計算した一
連のハーフトーンセル53として描出される。PIX2
8の閾値比較器はソース画像中の各画素(ソース画素)
を閾値アレイの幾何学的に対応する値と比較し、ソース
画素が閾値を越えていれば、第1の2進値をもつ装置画
素を出力し、越えていなければ、他方の2進値をもつ装
置画素を出力し、それにより、領域55のような領域を
充填する。
【0058】そのような1種のスクリーニングの理論
は、先に挙げた同時係属出願第434,924号に記載
されている。この方法はハーフトーン又はスクリーンを
適用する場合に特に有用である。簡単にいえば、「ユタ
・タイル」はそれ自体が通常は一連のより小形のタイル
である「スーパータイル」である。典型的なユタ・タイ
ルは「A」形矩形、たとえば、矩形51と、「B」形矩
形、たとえば、矩形52の中のいくつかのハーフトーン
セルを含む。GCP10は他の閾値アレイも同様に含む
ことができる。一般に所望のハーフトーンスクリーンの
間隔と等しい周期をもって相対的になめらかに変化して
ゆく関数として、閾値アレイを事前に計算し、記憶して
おくことができる。
は、先に挙げた同時係属出願第434,924号に記載
されている。この方法はハーフトーン又はスクリーンを
適用する場合に特に有用である。簡単にいえば、「ユタ
・タイル」はそれ自体が通常は一連のより小形のタイル
である「スーパータイル」である。典型的なユタ・タイ
ルは「A」形矩形、たとえば、矩形51と、「B」形矩
形、たとえば、矩形52の中のいくつかのハーフトーン
セルを含む。GCP10は他の閾値アレイも同様に含む
ことができる。一般に所望のハーフトーンスクリーンの
間隔と等しい周期をもって相対的になめらかに変化して
ゆく関数として、閾値アレイを事前に計算し、記憶して
おくことができる。
【0059】MCS20がスクリーニングを要求する演
算コードを解釈すると、MCS20はスクリーン閾値フ
ェッチャ(STF)30を起動する。MCS20は、閾
値アレイ中のどの画素がソース画像又は充填領域の中の
開始画素に対応するかを識別する。閾値アレイは高速ハ
ーフトーン化RAM、すなわち、スクリーンRAM12
に記憶される。STF30はスクリーンRAM12の適
切な開始アドレスを識別し、PIX28へのデータの転
送を開始する。好ましい一実施例では、ハーフトーン閾
値アレイは一連の8ビット値から構成されており、デー
タ経路は32ビット幅である。そのため、4つの出力画
素に対する閾値をクロックサイクルごとに送り出すこと
ができる。STF30は1つの閾値アレイ走査線の縁に
到達した時点と、次のソース画素比較のためにどの対応
する閾値アドレスを使用すべきかを確定する。STF3
0は、バスで有効な閾値データを利用できるようになる
まで待機することを比較器に信号で報知できる。新たな
閾値走査線は2クロックサイクルで供給可能である。
算コードを解釈すると、MCS20はスクリーン閾値フ
ェッチャ(STF)30を起動する。MCS20は、閾
値アレイ中のどの画素がソース画像又は充填領域の中の
開始画素に対応するかを識別する。閾値アレイは高速ハ
ーフトーン化RAM、すなわち、スクリーンRAM12
に記憶される。STF30はスクリーンRAM12の適
切な開始アドレスを識別し、PIX28へのデータの転
送を開始する。好ましい一実施例では、ハーフトーン閾
値アレイは一連の8ビット値から構成されており、デー
タ経路は32ビット幅である。そのため、4つの出力画
素に対する閾値をクロックサイクルごとに送り出すこと
ができる。STF30は1つの閾値アレイ走査線の縁に
到達した時点と、次のソース画素比較のためにどの対応
する閾値アドレスを使用すべきかを確定する。STF3
0は、バスで有効な閾値データを利用できるようになる
まで待機することを比較器に信号で報知できる。新たな
閾値走査線は2クロックサイクルで供給可能である。
【0060】STF30は、閾値アレイの縁が語境界に
ないときにデータを整列させる働きもする。ポストスク
リプトは所定のページ上にある全てのオブジェクトに対
して絶対スクリーン位相(原点に対して)を維持する。
これにより、オブジェクトは互いに継ぎ目なく整列で
き、また、一層重要な点であるが、1つの領域の複数の
部分を同じ領域の別の部分とは別個に描出して、継ぎ目
なし最終出力を発生させることができる。Hewlet
t PackardのPCLやMacintosh(商
標)Quickdrawなどのいくつかの表示モデルは
絶対スクリーン位相を維持しないが、他のモデルは維持
する。STF30は描出すべき領域の画素を正しいスク
リーン位相と、スクリーン閾値アレイ中の対応する開始
点とに従って整列させる。PIX28は、宛先語として
整列された、DO FIFO25内部でニブル整列され
ている複数のビット(1ニブル)、たとえば、1ニブル
中4ビットを生成する。そのニブルの各ビットは8ビッ
ト閾値を要求する比較器から生成される。STF30は
バイトシフタを使用して、スクリーンRAM12から入
力された閾値データの各バイトを適切な比較器へシフト
させる。そこで、PIX28はあらかじめ整列させ、シ
フトさせた閾値語を使用することができる。また、閾値
走査線の終端に到達し、新たな閾値走査線を取り出すと
きには、STF30は再整列を実行する。
ないときにデータを整列させる働きもする。ポストスク
リプトは所定のページ上にある全てのオブジェクトに対
して絶対スクリーン位相(原点に対して)を維持する。
これにより、オブジェクトは互いに継ぎ目なく整列で
き、また、一層重要な点であるが、1つの領域の複数の
部分を同じ領域の別の部分とは別個に描出して、継ぎ目
なし最終出力を発生させることができる。Hewlet
t PackardのPCLやMacintosh(商
標)Quickdrawなどのいくつかの表示モデルは
絶対スクリーン位相を維持しないが、他のモデルは維持
する。STF30は描出すべき領域の画素を正しいスク
リーン位相と、スクリーン閾値アレイ中の対応する開始
点とに従って整列させる。PIX28は、宛先語として
整列された、DO FIFO25内部でニブル整列され
ている複数のビット(1ニブル)、たとえば、1ニブル
中4ビットを生成する。そのニブルの各ビットは8ビッ
ト閾値を要求する比較器から生成される。STF30は
バイトシフタを使用して、スクリーンRAM12から入
力された閾値データの各バイトを適切な比較器へシフト
させる。そこで、PIX28はあらかじめ整列させ、シ
フトさせた閾値語を使用することができる。また、閾値
走査線の終端に到達し、新たな閾値走査線を取り出すと
きには、STF30は再整列を実行する。
【0061】このメカニズムを使用すると、領域を均一
にスクリーニングされたグレイレベルで充填することが
できる。事前に設定したグレイレベルをレジスタに記憶
しておき、それぞれの閾値画素値と比較して、先に述べ
たのと同じように走査線を整列することが可能である。
グレイレベルが閾値レベルより低ければ、出力画素は黒
色にマークされる。グレイレベルが0(暗)に等しい場
合、各出力画素は黒色にマークされ、グレイレベルがF
F(明)に等しい場合には、各出力画素は白色にマーク
される。適切な出力装置で暗色と明色との関係をいかに
選択すべきかは当業者には認められるであろうし、当業
者はこの方法を適切に利用できる。好ましい一実施例で
は、出力画素が論理値1であるとき、GCP10を「白
色」又は「黒色」のいずれかを出力するように設定する
ことができる。従って、単に1つのフラグを変化させる
だけで、領域全体又は領域の一部を黒から白へ又は白か
ら黒へ反転させることができる。
にスクリーニングされたグレイレベルで充填することが
できる。事前に設定したグレイレベルをレジスタに記憶
しておき、それぞれの閾値画素値と比較して、先に述べ
たのと同じように走査線を整列することが可能である。
グレイレベルが閾値レベルより低ければ、出力画素は黒
色にマークされる。グレイレベルが0(暗)に等しい場
合、各出力画素は黒色にマークされ、グレイレベルがF
F(明)に等しい場合には、各出力画素は白色にマーク
される。適切な出力装置で暗色と明色との関係をいかに
選択すべきかは当業者には認められるであろうし、当業
者はこの方法を適切に利用できる。好ましい一実施例で
は、出力画素が論理値1であるとき、GCP10を「白
色」又は「黒色」のいずれかを出力するように設定する
ことができる。従って、単に1つのフラグを変化させる
だけで、領域全体又は領域の一部を黒から白へ又は白か
ら黒へ反転させることができる。
【0062】好ましい一実施例では、PIX28は、1
クロックサイクルの中で比較できる画素の夫々について
1つずつ、複数の、たとえば4つの比較器装置を有す
る。実現されている命令に従って、ソース画素と閾値画
素を適宜シフトさせ、マスクする。その結果得られた値
も装置座標空間について要求される通りにシフトさせ、
DO FIFO25に導入する。比較器は、描出中の領
域の第1の走査単位と、最終単位とに対応する左辺と右
辺の双方を追跡することができる。
クロックサイクルの中で比較できる画素の夫々について
1つずつ、複数の、たとえば4つの比較器装置を有す
る。実現されている命令に従って、ソース画素と閾値画
素を適宜シフトさせ、マスクする。その結果得られた値
も装置座標空間について要求される通りにシフトさせ、
DO FIFO25に導入する。比較器は、描出中の領
域の第1の走査単位と、最終単位とに対応する左辺と右
辺の双方を追跡することができる。
【0063】2レベル出力装置はグレイスケール能力を
もたず、「黒色」又は「白色」を表示することしかでき
ない。PIX28はサイクルごとに4回の比較の結果を
出力するので、DO FIFO25の1つの走査単位を
充填するためには8サイクルが必要である(8サイクル
×4画素=32ビット語1つ)。領域を垂直方向に混合
された又は徐々に変化するグレイレベル又はカラーレベ
ルによって充填するときには、表示リストはその領域を
それぞれが適切なグレイレベルをもつ多数の細い台形と
して符号化することができる。
もたず、「黒色」又は「白色」を表示することしかでき
ない。PIX28はサイクルごとに4回の比較の結果を
出力するので、DO FIFO25の1つの走査単位を
充填するためには8サイクルが必要である(8サイクル
×4画素=32ビット語1つ)。領域を垂直方向に混合
された又は徐々に変化するグレイレベル又はカラーレベ
ルによって充填するときには、表示リストはその領域を
それぞれが適切なグレイレベルをもつ多数の細い台形と
して符号化することができる。
【0064】〔マスキング〕ある種の領域、特に文字又
はテキストを描出するときにはマスクは有用である。典
型的な文字は輪郭線により規定又は表示される。描出の
時点で、文字の輪郭線は通常は出力に必要である適切な
分解能と大きさでビットマップに既に変換され、メモリ
に記憶されている。文字に関わる典型的な表示リスト命
令は、単に、文字マスクの開始メモリ座標と、文字を配
置すべき装置座標空間内の開始座標とを指定する。好ま
しい一実施例では、MCS20は外部メモリから必要な
情報を獲得し、マスクをソース画像FIFO(SI F
IFO)27に導入する。
はテキストを描出するときにはマスクは有用である。典
型的な文字は輪郭線により規定又は表示される。描出の
時点で、文字の輪郭線は通常は出力に必要である適切な
分解能と大きさでビットマップに既に変換され、メモリ
に記憶されている。文字に関わる典型的な表示リスト命
令は、単に、文字マスクの開始メモリ座標と、文字を配
置すべき装置座標空間内の開始座標とを指定する。好ま
しい一実施例では、MCS20は外部メモリから必要な
情報を獲得し、マスクをソース画像FIFO(SI F
IFO)27に導入する。
【0065】時によっては、出力の一部を描出するとき
に使用するためにマスクをクリップしても良い。クリッ
ピング経路はまっすぐな左辺のような直線的なものであ
っても良いが、画像マスクの場合のように任意の経路を
たどっても良い。この方法は、非クリッピングマスクと
非圧縮マスクについて最も有用である。たとえば、ラン
長さ符号化を使用することにより圧縮されているマスク
を、非圧縮形態でアクセスすることができるように、好
ましくは圧縮解除し、メモリの一部に導入すべきであ
る。たとえば、典型的なメモリ構成を使用すると、マス
キングエンジンへの転送に先立って約256本の走査線
がバンドバッファに導入されることになる。2400d
piの分解能をもつ高分解能自動植字機の場合には、そ
の本数はわずか0.1インチに相当し、典型的な大文字
の高さに満たない。従って、テキストの典型的な1行は
2つ以上のバンドと交わる。GCP10は、たとえば、
特定の1つのバンドを描出するために文字マスクのいず
れかの垂直範囲のみを取り上げながら、文字を「オンザ
フライ」方式でクリッピングする。あるいは、たとえば
テキストの1行の下三分の一を描出するために拡張表示
リストを使用し、続いて中央の三分の一、上三分の一を
描出してゆくことも可能であろう。
に使用するためにマスクをクリップしても良い。クリッ
ピング経路はまっすぐな左辺のような直線的なものであ
っても良いが、画像マスクの場合のように任意の経路を
たどっても良い。この方法は、非クリッピングマスクと
非圧縮マスクについて最も有用である。たとえば、ラン
長さ符号化を使用することにより圧縮されているマスク
を、非圧縮形態でアクセスすることができるように、好
ましくは圧縮解除し、メモリの一部に導入すべきであ
る。たとえば、典型的なメモリ構成を使用すると、マス
キングエンジンへの転送に先立って約256本の走査線
がバンドバッファに導入されることになる。2400d
piの分解能をもつ高分解能自動植字機の場合には、そ
の本数はわずか0.1インチに相当し、典型的な大文字
の高さに満たない。従って、テキストの典型的な1行は
2つ以上のバンドと交わる。GCP10は、たとえば、
特定の1つのバンドを描出するために文字マスクのいず
れかの垂直範囲のみを取り上げながら、文字を「オンザ
フライ」方式でクリッピングする。あるいは、たとえば
テキストの1行の下三分の一を描出するために拡張表示
リストを使用し、続いて中央の三分の一、上三分の一を
描出してゆくことも可能であろう。
【0066】マスク全体をSI FIFO27に読込ん
だ後、開始走査線上の最も左側のx値の関数としてマス
クをビットごとに装置バッファ出力と整列させる。典型
的な充填は「マスク下充填」であるが、その場合、DI
FIFO24からの適切な走査単位を入力マスクと整
列させ且つ併合しなければならない。
だ後、開始走査線上の最も左側のx値の関数としてマス
クをビットごとに装置バッファ出力と整列させる。典型
的な充填は「マスク下充填」であるが、その場合、DI
FIFO24からの適切な走査単位を入力マスクと整
列させ且つ併合しなければならない。
【0067】好ましい一実施例は、ソース画素ごとに1
つの装置画素を描出する特殊な演算子であるRende
rImageMask命令を含む。これはマスクと同様
に処理可能であるが、現在充填色が黒色又は白色である
場合には、画素アセンブラでクロックサイクルごとに3
2ビットをアセンブルすることができる。
つの装置画素を描出する特殊な演算子であるRende
rImageMask命令を含む。これはマスクと同様
に処理可能であるが、現在充填色が黒色又は白色である
場合には、画素アセンブラでクロックサイクルごとに3
2ビットをアセンブルすることができる。
【0068】〔ソースフェッチャ装置(SFU)〕SF
U29は任意の座標空間(ソース座標空間)におけるソ
ース画像から装置座標空間へのマッピングを実行する。
多くの場合、マッピングは非スカラーであり、装置分解
能は通常はソース画像分解能より高い。マッピングは
1:1であっても良く、ソース画像分解能より低い装置
分解能に合わせたものであっても良いが、装置分解能が
ソース画像分解能より高いときには現在の方法が最も有
益である。一般的な例の1つはソース入力300dpi
に対して装置出力2400dpiの状況である。好まし
い一実施例では、GCP10は3つの特殊なケース、す
なわち、ソース画像を単純にマスクとして取り扱う単位
スカラー及び0°回転の場合と、回転はないが任意のス
ケールで描出がなされる0°回転と、任意のスケールで
の任意回転(たとえば15°)とに対して特殊な備えを
している。
U29は任意の座標空間(ソース座標空間)におけるソ
ース画像から装置座標空間へのマッピングを実行する。
多くの場合、マッピングは非スカラーであり、装置分解
能は通常はソース画像分解能より高い。マッピングは
1:1であっても良く、ソース画像分解能より低い装置
分解能に合わせたものであっても良いが、装置分解能が
ソース画像分解能より高いときには現在の方法が最も有
益である。一般的な例の1つはソース入力300dpi
に対して装置出力2400dpiの状況である。好まし
い一実施例では、GCP10は3つの特殊なケース、す
なわち、ソース画像を単純にマスクとして取り扱う単位
スカラー及び0°回転の場合と、回転はないが任意のス
ケールで描出がなされる0°回転と、任意のスケールで
の任意回転(たとえば15°)とに対して特殊な備えを
している。
【0069】0°回転、任意スケールの特殊なケースで
は、定義上、入力データは連続しており、出力領域を部
分ごとに準備することができるので、GCP10はSI
FIFO27を一杯の状態に保持することができる。
MCS20は、どの出力画素が描出中であるかを追跡す
る必要がない。SI FIFO27のどこでソース画素
を見出すべきかをPIX28に命令するだけで十分であ
る。ソース画素が1つ描出されるたびに増分可能である
ソースアドレスポインタとして、レジスタを取っておく
ことができる。典型的なソース画像はチャネルごと、画
素ごとに8つのビットを有すると思われる(色分離の場
合、色成分ごとに256レベルのグレイスケール)。
は、定義上、入力データは連続しており、出力領域を部
分ごとに準備することができるので、GCP10はSI
FIFO27を一杯の状態に保持することができる。
MCS20は、どの出力画素が描出中であるかを追跡す
る必要がない。SI FIFO27のどこでソース画素
を見出すべきかをPIX28に命令するだけで十分であ
る。ソース画素が1つ描出されるたびに増分可能である
ソースアドレスポインタとして、レジスタを取っておく
ことができる。典型的なソース画像はチャネルごと、画
素ごとに8つのビットを有すると思われる(色分離の場
合、色成分ごとに256レベルのグレイスケール)。
【0070】図5を参照して説明すると、UとVはソー
ス画像空間における単位ベクトルであり、XとYは装置
座標空間における単位ベクトルである。単位ベクトルU
及びVが単位ベクトルX及びYからある角度だけ回転し
ているとき、距離dx_du及びdx_dv(それぞ
れ、デルタu,デルタvからデルタxまで)を容易に確
定できる。
ス画像空間における単位ベクトルであり、XとYは装置
座標空間における単位ベクトルである。単位ベクトルU
及びVが単位ベクトルX及びYからある角度だけ回転し
ているとき、距離dx_du及びdx_dv(それぞ
れ、デルタu,デルタvからデルタxまで)を容易に確
定できる。
【0071】従来のポストスクリプト装置は選択した装
置画素又は出力画素から始動し、対応する1つ又は複数
のソース画素を探索する。ソース画素ごとに多数の装置
画素を描出するときには、ソース画素座標のわずかな差
を計算しなければならないので、時によっては計算が不
正確になり、誤りが累積してしまう。従来の実現形態で
は、出力装置の分解能を増せば、誤りの可能性も大きく
なっていた。
置画素又は出力画素から始動し、対応する1つ又は複数
のソース画素を探索する。ソース画素ごとに多数の装置
画素を描出するときには、ソース画素座標のわずかな差
を計算しなければならないので、時によっては計算が不
正確になり、誤りが累積してしまう。従来の実現形態で
は、出力装置の分解能を増せば、誤りの可能性も大きく
なっていた。
【0072】これに対し、GCP10(図2)はソース
画素から始めて、対応する装置画素を描出するために増
分ベクトルを計算する。その結果はスケールとは無関係
である。増分ベクトルはきわめて正確であり、倍精度数
を使用した場合でもこれを実現できる。本発明のシステ
ム及び方法を使用すると、出力画像の分解能は向上し、
ソース画像をより正確に描出することができる。
画素から始めて、対応する装置画素を描出するために増
分ベクトルを計算する。その結果はスケールとは無関係
である。増分ベクトルはきわめて正確であり、倍精度数
を使用した場合でもこれを実現できる。本発明のシステ
ム及び方法を使用すると、出力画像の分解能は向上し、
ソース画像をより正確に描出することができる。
【0073】〔画像取り出し方法〕ポストスクリプトに
より規定される画像は描出ハードウェアの装置座標空間
に関して任意に基準化、回転されている。この基準化と
回転はマトリクス乗算を使用するマトリクス変換により
実行される。装置座標空間の中の任意の点(x,y)を
次のマトリクス乗算によりソース画像空間の中の1点
(u,v)に変換することができる。
より規定される画像は描出ハードウェアの装置座標空間
に関して任意に基準化、回転されている。この基準化と
回転はマトリクス乗算を使用するマトリクス変換により
実行される。装置座標空間の中の任意の点(x,y)を
次のマトリクス乗算によりソース画像空間の中の1点
(u,v)に変換することができる。
【0074】
【数1】
【0075】このマトリクス乗算によって次の方程式が
得られる。 u = ax + cy + tx v = bx + dy + ty
得られる。 u = ax + cy + tx v = bx + dy + ty
【0076】装置座標空間の値を定義するマトリクス
[a b c d tx ty] はGCP10の内部で利用可能であ
る。それらの値は浮動小数点数であって、画像描出方法
により使用するための32ビット固定小数点表示に変換
される。32ビット固定小数点値は16ビットを使用し
て整数部分を表わし、16ビットを使用して小数部を表
わす。
[a b c d tx ty] はGCP10の内部で利用可能であ
る。それらの値は浮動小数点数であって、画像描出方法
により使用するための32ビット固定小数点表示に変換
される。32ビット固定小数点値は16ビットを使用し
て整数部分を表わし、16ビットを使用して小数部を表
わす。
【0077】描出すべき画像の記述(上記の変換マトリ
クスを含む)は、装置座標空間における1つ(又は複
数)の図形オブジェクトと共に、画像描出セクションに
渡される。この図形オブジェクトは、走査線の方向に向
いた描出すべき一連の線分を規定する。1つの線分は2
つの点(x1,y)及び(xg,y)の間の1本の線と
して記述できる。尚、x1は選択された走査線に沿った
最小の(下方の)x値であり、xgはその走査線上の最
大の(大きいほうの)x値である。それら2つの点は等
しいy値を有する。通常、図形オブジェクトは複数の線
分を有し、それぞれの線分は様々に異なるy,x1及び
xgの値を有すると思われる。
クスを含む)は、装置座標空間における1つ(又は複
数)の図形オブジェクトと共に、画像描出セクションに
渡される。この図形オブジェクトは、走査線の方向に向
いた描出すべき一連の線分を規定する。1つの線分は2
つの点(x1,y)及び(xg,y)の間の1本の線と
して記述できる。尚、x1は選択された走査線に沿った
最小の(下方の)x値であり、xgはその走査線上の最
大の(大きいほうの)x値である。それら2つの点は等
しいy値を有する。通常、図形オブジェクトは複数の線
分を有し、それぞれの線分は様々に異なるy,x1及び
xgの値を有すると思われる。
【0078】〔従来の方法〕画像描出方法の1つは図形
オブジェクトごとに次のようにして実行される。 1.初期点(x1,y)を(u,v)に変換する。(x1,y)を
(oldX, oldY)としてセーブする。 2.(u,v)の整数部(IntPart 0)を(oldU.oldV) に
セーブする。(oldU,oldV) を使用して、画像データに
対する初期ポインタを計算する。 3.新たな線分(x1,y)ごとに (deltaX,deltaY)=(x1-oldX,y-oldY) (u,v)=(oldU + a*deltaX + c*deltaY,oldV + b*del
taX + d*deltaY) IntPart(u)!=oldU, であれば、画像ポインタを調整
する oldU =IntPart(u) IntPart(v)!=oldV, であれば、画像ポインタを調整
する oldV =IntPart(v) (oldX,oldY)=(x,y) 4.線分の中の残る画素(x1,y)−>(xg,y)について 定義上、(deltaX,deltaY)=(1,0) (u,v)=(oldU + a,oldV + b) IntPart(u)!=oldU であれば、画像ポインタを調整す
る oldU =IntPart(u) IntPart(v)!=oldV であれば、画像ポインタを調整す
る oldV =IntPart(v) (oldX,oldY)=(x,y) この従来の方法はどの変換マトリクスにも使用可能であ
る。ところが、回転のない一般的なケースの多くについ
て、bとcの値は0であり、上述の方法はさらに最適化
されるのである。
オブジェクトごとに次のようにして実行される。 1.初期点(x1,y)を(u,v)に変換する。(x1,y)を
(oldX, oldY)としてセーブする。 2.(u,v)の整数部(IntPart 0)を(oldU.oldV) に
セーブする。(oldU,oldV) を使用して、画像データに
対する初期ポインタを計算する。 3.新たな線分(x1,y)ごとに (deltaX,deltaY)=(x1-oldX,y-oldY) (u,v)=(oldU + a*deltaX + c*deltaY,oldV + b*del
taX + d*deltaY) IntPart(u)!=oldU, であれば、画像ポインタを調整
する oldU =IntPart(u) IntPart(v)!=oldV, であれば、画像ポインタを調整
する oldV =IntPart(v) (oldX,oldY)=(x,y) 4.線分の中の残る画素(x1,y)−>(xg,y)について 定義上、(deltaX,deltaY)=(1,0) (u,v)=(oldU + a,oldV + b) IntPart(u)!=oldU であれば、画像ポインタを調整す
る oldU =IntPart(u) IntPart(v)!=oldV であれば、画像ポインタを調整す
る oldV =IntPart(v) (oldX,oldY)=(x,y) この従来の方法はどの変換マトリクスにも使用可能であ
る。ところが、回転のない一般的なケースの多くについ
て、bとcの値は0であり、上述の方法はさらに最適化
されるのである。
【0079】〔本発明の方法〕従来の方法では、装置画
素ごとに(u,v)を計算し直さなければならない。G
CP10は複数の画素をハーフトーン閾値スクリーンを
介して描出することができるので、各装置画素の(u,
v)座標を計算しなくとも済むような新しい方法を開発
した。この新たな方法によれば、ソース画像画素ごと
に、同じソース画像座標を使用してどれほどの数の装置
画素を描出できるかを確定する。また、次の(u,v)
ソース画像画素が何になるかを確定する。この新たな方
法では、ソース画像画素を画像スケールによって複数の
装置画素にマッピングするとき、反復のたびに、複数の
装置画素を描出するために使用されるデータを発生す
る。これによって、GCP10は装置反復ごとに複数の
装置画素を描出することができる。
素ごとに(u,v)を計算し直さなければならない。G
CP10は複数の画素をハーフトーン閾値スクリーンを
介して描出することができるので、各装置画素の(u,
v)座標を計算しなくとも済むような新しい方法を開発
した。この新たな方法によれば、ソース画像画素ごと
に、同じソース画像座標を使用してどれほどの数の装置
画素を描出できるかを確定する。また、次の(u,v)
ソース画像画素が何になるかを確定する。この新たな方
法では、ソース画像画素を画像スケールによって複数の
装置画素にマッピングするとき、反復のたびに、複数の
装置画素を描出するために使用されるデータを発生す
る。これによって、GCP10は装置反復ごとに複数の
装置画素を描出することができる。
【0080】本発明の方法は、画像ごとに、単一の画像
については一定であるいくつかの変数を計算する。図5
を参照してそれらの変数を説明する。 dx_du=1/a 走査線の方向(x)に見た水平
の(u)画像画素の間の装置画素の数 dx_dv=1/b 走査線の方向(x)に見た垂直
の(v)画像画素の間の装置画素の数 dy_du=1/c 垂直方向(v)に見た水平の
(u)画像画素の間の装置画素の数 dy_dv=1/d 垂直方向(y)に見た垂直の
(v)画像画素の間の装置画素の数 dxy_du=dx_du/dy_du=c/a 1つの装置画素を垂直方向(y)に移動させるときの次
の水平画像画素(u)までのシフトイン走査線距離 dxy_dv=dx_dv/dy_dv=d/b 1つの装置画素を垂直方向(y)に移動させるときの次
の垂直画像画素(v)までのシフトイン走査線距離 尚、a,b,c又はdが0である(直交画像の場合は0
になる)とき、いくつかの変数は無限になるので、計算
は不可能である。以下に詳細に説明する変形方法はその
ようなケースと、回転を伴うあらゆるケースとで使用さ
れる。
については一定であるいくつかの変数を計算する。図5
を参照してそれらの変数を説明する。 dx_du=1/a 走査線の方向(x)に見た水平
の(u)画像画素の間の装置画素の数 dx_dv=1/b 走査線の方向(x)に見た垂直
の(v)画像画素の間の装置画素の数 dy_du=1/c 垂直方向(v)に見た水平の
(u)画像画素の間の装置画素の数 dy_dv=1/d 垂直方向(y)に見た垂直の
(v)画像画素の間の装置画素の数 dxy_du=dx_du/dy_du=c/a 1つの装置画素を垂直方向(y)に移動させるときの次
の水平画像画素(u)までのシフトイン走査線距離 dxy_dv=dx_dv/dy_dv=d/b 1つの装置画素を垂直方向(y)に移動させるときの次
の垂直画像画素(v)までのシフトイン走査線距離 尚、a,b,c又はdが0である(直交画像の場合は0
になる)とき、いくつかの変数は無限になるので、計算
は不可能である。以下に詳細に説明する変形方法はその
ようなケースと、回転を伴うあらゆるケースとで使用さ
れる。
【0081】〔非直交回転〕GCP10は図形オブジェ
クトごとに、全ての回転画像についてこの方法に従って
動作する。本明細書において(−)はその上の文字の上
のバーを示す。 0.dx_du = Fix(1.0/a); dx_dv = Fix(1.0/b); dxy_du = Fix(c/a); dxy_dv = Fix(d/b); を計算する。 この計算は画像ごとに一度しか実行されない。
クトごとに、全ての回転画像についてこの方法に従って
動作する。本明細書において(−)はその上の文字の上
のバーを示す。 0.dx_du = Fix(1.0/a); dx_dv = Fix(1.0/b); dxy_du = Fix(c/a); dxy_dv = Fix(d/b); を計算する。 この計算は画像ごとに一度しか実行されない。
【0082】1.初期点(x1,y)(図5の70)を
浮動小数点数(u,v)に変換する。(u,v)を固定
小数点数に変換する。IntPart(u),IntP
art(v)を使用して、画像データに対する初期ポイ
ンタを計算する。ru,rvを次のようにして計算す
る。 ru=−dx_du* FracPart(u) (ru<0(−))であれば (dx_du>0且つFracPart(u)!=0の
場合のみ) ru+=dx_du; ruは次の水平の(u)画像画素までの装置画素数とし
ての残る走査線距離である。 rv=−dx_dv* FracPart(v) (rv<0(−))であれば (dx_dv>0且つFracPart(v)!=0の
場合のみ) rv+=dx_dv; rvは次の垂直の(v)画像画素までの装置画素数とし
ての残る走査線距離である。 (oldX,oldY)=(x,y) (oldRu,oldRv)=(ru,rv) oldPointer = pointer ステップ3へ進む
浮動小数点数(u,v)に変換する。(u,v)を固定
小数点数に変換する。IntPart(u),IntP
art(v)を使用して、画像データに対する初期ポイ
ンタを計算する。ru,rvを次のようにして計算す
る。 ru=−dx_du* FracPart(u) (ru<0(−))であれば (dx_du>0且つFracPart(u)!=0の
場合のみ) ru+=dx_du; ruは次の水平の(u)画像画素までの装置画素数とし
ての残る走査線距離である。 rv=−dx_dv* FracPart(v) (rv<0(−))であれば (dx_dv>0且つFracPart(v)!=0の
場合のみ) rv+=dx_dv; rvは次の垂直の(v)画像画素までの装置画素数とし
ての残る走査線距離である。 (oldX,oldY)=(x,y) (oldRu,oldRv)=(ru,rv) oldPointer = pointer ステップ3へ進む
【0083】2.新たな線分ごとに(x1,y)−>(xg,
y) (deltaX,deltaY)=(x1-oldX, y-oldY) (ru,rv)=(oldRu,oldRv)- (deltaX + dxy_du*deltaY,deltaX + dxy_dv*deltaY) pointer = oldPointer (ru < 0)である間 ru = ru + |dx_du| pointer = pointer + (符号(dx_du)*サイズ(画像画素)) (ru >= |dx_du|である間 ru = ru - |dx_du| pointer = pointer - (符号(dx_du)*サイズ(画像画素)) (rv < 0)である間 rv = rv + |dx_dv| pointer = pointer + (符号(dx_dv)+画像の幅) (rv > = |dx_dv|である間 rv = rv - |dx_dv| pointer = pointer - (符号(dx_dv)*画像の幅) (oldX,oldY)=(x,y) (oldRu,oldRv)=(ru,rv) oldPointer = pointer
y) (deltaX,deltaY)=(x1-oldX, y-oldY) (ru,rv)=(oldRu,oldRv)- (deltaX + dxy_du*deltaY,deltaX + dxy_dv*deltaY) pointer = oldPointer (ru < 0)である間 ru = ru + |dx_du| pointer = pointer + (符号(dx_du)*サイズ(画像画素)) (ru >= |dx_du|である間 ru = ru - |dx_du| pointer = pointer - (符号(dx_du)*サイズ(画像画素)) (rv < 0)である間 rv = rv + |dx_dv| pointer = pointer + (符号(dx_dv)+画像の幅) (rv > = |dx_dv|である間 rv = rv - |dx_dv| pointer = pointer - (符号(dx_dv)*画像の幅) (oldX,oldY)=(x,y) (oldRu,oldRv)=(ru,rv) oldPointer = pointer
【0084】3.線分ごとに(x1,y)−>(xg,y) (たとえば、距離が5.xx画素であるとき、6つの画
素を生成させるためにru及びrvを1だけ増分する) (ru,rv)=(ru,rv)+(Fix(1),Fix(1)) len = xg - x1 (len >0)である間 imglen = min(IntPart(ru),IntPart(rv)) (imglen ! = 0)であれば、len imglen へのポインタ
で画像を描出する len = len - imglen (ru,rv)=(ru,rv)-(Fix(imglen),Fix(imgle
n)) (ru < Fix(1))であれば、 水平の(u)画像画素と交わった ru = ru + |dx_du| pointer = pointer + (符号(dx_du)*サイズ(画像画素)) (rv < Fix(1))であれば、 垂直の(v)画像画素と交わった rv = rv + |dx_dv| pointer = pointer + (符号(dx_dv)*画像の幅)
素を生成させるためにru及びrvを1だけ増分する) (ru,rv)=(ru,rv)+(Fix(1),Fix(1)) len = xg - x1 (len >0)である間 imglen = min(IntPart(ru),IntPart(rv)) (imglen ! = 0)であれば、len imglen へのポインタ
で画像を描出する len = len - imglen (ru,rv)=(ru,rv)-(Fix(imglen),Fix(imgle
n)) (ru < Fix(1))であれば、 水平の(u)画像画素と交わった ru = ru + |dx_du| pointer = pointer + (符号(dx_du)*サイズ(画像画素)) (rv < Fix(1))であれば、 垂直の(v)画像画素と交わった rv = rv + |dx_dv| pointer = pointer + (符号(dx_dv)*画像の幅)
【0085】〔直交回転〕直交画像(0度、90度、1
80度又は270度の回転)を取り扱うときには、変数
a又はbは0になる。双方の変数が0であれば、描出す
べき画像は走査線の方向に幅をもたない。b及びdが0
である場合、描出すべき画像は高さをもたない。それら
2つのケースは不当であるので、描出すべきではない。
以下に示す方法はbが0である(回転が0度又は180
度である)場合に備えて変形されている。aが0である
(回転が90度又は270度である)ときにも同様の方
法を使用することができる。
80度又は270度の回転)を取り扱うときには、変数
a又はbは0になる。双方の変数が0であれば、描出す
べき画像は走査線の方向に幅をもたない。b及びdが0
である場合、描出すべき画像は高さをもたない。それら
2つのケースは不当であるので、描出すべきではない。
以下に示す方法はbが0である(回転が0度又は180
度である)場合に備えて変形されている。aが0である
(回転が90度又は270度である)ときにも同様の方
法を使用することができる。
【0086】0.dx_du = Fix(1.0/a); dx_dv = Fix(1.0/b); dxy_du = Fix(c/a); を計算する。 この計算は画像ごとに一度だけ実行される。
【0087】1.初期点(x1,y)を(u,v)に変
換する。IntPart(u),IntPart(v)
を使用して、画像データに対する初期ポインタを計算す
る。ru,rvを次のようにして計算する。 ru=−dx_du* FracPart(u) (ru<0(−))であれば、 (dx_du>0且つFracPart(u)!=0の
場合のみ) ru+=dx_du; ruは次の水平の(u)画像画素までの装置画素単位に
よる残り走査線距離である。 rv=−dy_dv* FracPart(v) (rv<0(−))であれば (dy_dv>0且つFracPart(v)!=0の
場合のみ) rv+=dy_dv; rvは次の垂直の(v)画像画素までの装置画素単位に
よる残り垂直方向(走査線に対して90°)距離であ
る。 (oldX,oldY)=(x,y) (oldRu,oldRv)=(ru,rv) oldPointer = pointer ステップ3へ進む
換する。IntPart(u),IntPart(v)
を使用して、画像データに対する初期ポインタを計算す
る。ru,rvを次のようにして計算する。 ru=−dx_du* FracPart(u) (ru<0(−))であれば、 (dx_du>0且つFracPart(u)!=0の
場合のみ) ru+=dx_du; ruは次の水平の(u)画像画素までの装置画素単位に
よる残り走査線距離である。 rv=−dy_dv* FracPart(v) (rv<0(−))であれば (dy_dv>0且つFracPart(v)!=0の
場合のみ) rv+=dy_dv; rvは次の垂直の(v)画像画素までの装置画素単位に
よる残り垂直方向(走査線に対して90°)距離であ
る。 (oldX,oldY)=(x,y) (oldRu,oldRv)=(ru,rv) oldPointer = pointer ステップ3へ進む
【0088】2.新たな線分ごとに(x1,y)−>(xg,
y) (deltaX,deltaY)=(x1-oldX, y-oldY) (ru,rv)=(oldRu,oldRv)- (deltaX + dxy_du*deltaY,deltaY) pointer = oldPointer (ru < 0)である間 ru = ru + |dx_du| pointer = pointer + (符号(dx_du)*サイズ(画像画素)) (ru > = |dx_du|である間 ru = ru - |dx_du| pointer = pointer - (符号(dx_du)*サイズ(画像画素)) (rv < 0)である間 rv = rv + |dy_dv| pointer = pointer + (符号(dy_dv)+画像の幅) (rv > = |dy_dv|である間 rv = rv - |dy_dv| pointer = pointer - (符号(dy_dv)*画像の幅) (oldX,oldY)=(x,y) (oldRu,oldRv)=(ru,rv) oldPointer = pointer
y) (deltaX,deltaY)=(x1-oldX, y-oldY) (ru,rv)=(oldRu,oldRv)- (deltaX + dxy_du*deltaY,deltaY) pointer = oldPointer (ru < 0)である間 ru = ru + |dx_du| pointer = pointer + (符号(dx_du)*サイズ(画像画素)) (ru > = |dx_du|である間 ru = ru - |dx_du| pointer = pointer - (符号(dx_du)*サイズ(画像画素)) (rv < 0)である間 rv = rv + |dy_dv| pointer = pointer + (符号(dy_dv)+画像の幅) (rv > = |dy_dv|である間 rv = rv - |dy_dv| pointer = pointer - (符号(dy_dv)*画像の幅) (oldX,oldY)=(x,y) (oldRu,oldRv)=(ru,rv) oldPointer = pointer
【0089】3.線分ごとに(x,y)−>(xg,y) (たとえば、距離が5.xx画素であるとき、6つの画
素を生成させるためにruを1だけ増分する) ru=ru+Fix(1) len = xg - x (len >0)である間 imglen = IntPart(ru) (imglen ! = 0)であれば、len imglen へのポインタ
で画像を描出する len = len - imglen ru = FracPart(ru)+ |dx_du| pointer = pointer +(符号(dx_du)*サイズ(画像画
素))
素を生成させるためにruを1だけ増分する) ru=ru+Fix(1) len = xg - x (len >0)である間 imglen = IntPart(ru) (imglen ! = 0)であれば、len imglen へのポインタ
で画像を描出する len = len - imglen ru = FracPart(ru)+ |dx_du| pointer = pointer +(符号(dx_du)*サイズ(画像画
素))
【0090】この方法と、先の方法との主な相違点は、
rvがここでは次の画像画素までの垂直方向距離を表わ
し、線分を表わすために使用されないことである。ru
は、走査線を変化させるときに、垂直方向に見て新たな
ソース画像画素が描出されているか否かを判定するため
に使用される。
rvがここでは次の画像画素までの垂直方向距離を表わ
し、線分を表わすために使用されないことである。ru
は、走査線を変化させるときに、垂直方向に見て新たな
ソース画像画素が描出されているか否かを判定するため
に使用される。
【0091】いくつかの特殊なケースでは、描出をさら
に高速にさせることができる。dx_duが4より大き
い(ソース画素ごとの装置画素の数が4以上である)0
°回転の場合には、パイプラインは現在画像値と、次の
画像値の双方を含むことができる。現在装置画素が次の
ソース画素値から4装置画素(1ニブル)未満しか離れ
ていない場合には、比較器はニブルの残りが次の画像値
に属すると仮定することができる。これにより、アセン
ブラはクロックサイクルごとに4つの装置画素を出力す
ることができる。
に高速にさせることができる。dx_duが4より大き
い(ソース画素ごとの装置画素の数が4以上である)0
°回転の場合には、パイプラインは現在画像値と、次の
画像値の双方を含むことができる。現在装置画素が次の
ソース画素値から4装置画素(1ニブル)未満しか離れ
ていない場合には、比較器はニブルの残りが次の画像値
に属すると仮定することができる。これにより、アセン
ブラはクロックサイクルごとに4つの装置画素を出力す
ることができる。
【0092】〔誤りの差〕本発明の方法のもう1つ利点
は、固定小数点の利用により生じる誤りが従来の方法を
使用したときに生じる誤りより小さいということであ
る。詳細にいえば、従来の方法を使用したときに生じる
誤りは、装置の分解能が倍増したとき、必ず4倍に増し
ていた。本発明の方法による誤りは、分解能が2倍にな
ったときに二分の一に減少する。従来の方法は変換マト
リクスを固定小数点に変換し、装置画素ごとに固定小数
点値を加算するので、その結果として生じる誤りは、ほ
ぼ、ラウンドオフエラーX装置画素数に限定される。本
発明の方法は固定小数点に変換した変換マトリクスの逆
を使用し、画像画素ごとにそれらの値を加算するので、
その結果、誤りはほぼラウンドオフエラーXソース画像
画素数となる。
は、固定小数点の利用により生じる誤りが従来の方法を
使用したときに生じる誤りより小さいということであ
る。詳細にいえば、従来の方法を使用したときに生じる
誤りは、装置の分解能が倍増したとき、必ず4倍に増し
ていた。本発明の方法による誤りは、分解能が2倍にな
ったときに二分の一に減少する。従来の方法は変換マト
リクスを固定小数点に変換し、装置画素ごとに固定小数
点値を加算するので、その結果として生じる誤りは、ほ
ぼ、ラウンドオフエラーX装置画素数に限定される。本
発明の方法は固定小数点に変換した変換マトリクスの逆
を使用し、画像画素ごとにそれらの値を加算するので、
その結果、誤りはほぼラウンドオフエラーXソース画像
画素数となる。
【0093】300dpiの画像を300dpiの装置
に転送する場合、変換マトリクスはスカラーである(す
なわち、[1.000,1.000])。従来の方法と
本発明の方法は共に整数(1.0及び1.0の逆)の表
示に16ビットの正確さを示し、ラウンドオフエラーは
等しい。さらに、装置画素と画像画素の数は同じであ
る。従って、累積した誤りはほぼ同じである。
に転送する場合、変換マトリクスはスカラーである(す
なわち、[1.000,1.000])。従来の方法と
本発明の方法は共に整数(1.0及び1.0の逆)の表
示に16ビットの正確さを示し、ラウンドオフエラーは
等しい。さらに、装置画素と画像画素の数は同じであ
る。従って、累積した誤りはほぼ同じである。
【0094】同じ300dpiの画像を1200dpi
の装置へ転送する場合、変換マトリクスは[0.250
0,0.2500]になる。従来の方法は14ビットの
正確さをもつ固定小数点数(0.25)を使用するが、
本発明の方法は18ビットの正確さをもつ固定小数点数
(1/0.25=4.0)を使用する。本発明の方法を
使用すると、ラウンドオフエラーに16倍高い正確さが
得られる。さらに、同じ数のソース画像画素に対して装
置画素の数は4だけ増加する。従って、従来の方法を使
用すると、総累積誤りは64倍の大きさになる。
の装置へ転送する場合、変換マトリクスは[0.250
0,0.2500]になる。従来の方法は14ビットの
正確さをもつ固定小数点数(0.25)を使用するが、
本発明の方法は18ビットの正確さをもつ固定小数点数
(1/0.25=4.0)を使用する。本発明の方法を
使用すると、ラウンドオフエラーに16倍高い正確さが
得られる。さらに、同じ数のソース画像画素に対して装
置画素の数は4だけ増加する。従って、従来の方法を使
用すると、総累積誤りは64倍の大きさになる。
【0095】他方の方向を基準化するとき(すなわち、
300dpi画像−>75dpi装置)にも同様の計算
を実行することができるが、その場合、本発明の方法は
従来の方法の64分の1より低い正確さしか示さない。
ところが、ダウンスケーリングであるために、画像画素
を飛び越しているときに方法が装置画素を正しい画像画
素にマッピングすることは重要ではない。
300dpi画像−>75dpi装置)にも同様の計算
を実行することができるが、その場合、本発明の方法は
従来の方法の64分の1より低い正確さしか示さない。
ところが、ダウンスケーリングであるために、画像画素
を飛び越しているときに方法が装置画素を正しい画像画
素にマッピングすることは重要ではない。
【0096】〔入力+変換関数としての出力〕GCP1
0はさらに任意の変換関数を実現することもできる。典
型的な適用用途では、ソース画像で利用可能な分解能に
類似する分解能をもたせるために、所定のグレイレベル
を選択する。たとえば、8ビットソースを描出するとき
には8ビットグレイレベルを使用する。場合によって
は、複数の異なるマーキングエンジンを使用するときな
どに、グレイレベルを調整することが必要である。図2
に示すSI29Bに含まれている専用RAM(たとえ
ば、256×8)を使用して、ルックアップテーブルを
準備することができる。PIX28において、ソース画
像値又はルックアップテーブルからのグレイレベルを使
用して出力画像を組合わせる。表示リスト命令に従っ
て、外部メモリからルックアップテーブルをダウンロー
ドすることができる。
0はさらに任意の変換関数を実現することもできる。典
型的な適用用途では、ソース画像で利用可能な分解能に
類似する分解能をもたせるために、所定のグレイレベル
を選択する。たとえば、8ビットソースを描出するとき
には8ビットグレイレベルを使用する。場合によって
は、複数の異なるマーキングエンジンを使用するときな
どに、グレイレベルを調整することが必要である。図2
に示すSI29Bに含まれている専用RAM(たとえ
ば、256×8)を使用して、ルックアップテーブルを
準備することができる。PIX28において、ソース画
像値又はルックアップテーブルからのグレイレベルを使
用して出力画像を組合わせる。表示リスト命令に従っ
て、外部メモリからルックアップテーブルをダウンロー
ドすることができる。
【0097】〔エイリアス除去発生器の動作〕スクリー
ニングは、複製に最も適する画像を生成する。スクリー
ニングにはいくつかの種類があり、ハーフトーンスクリ
ーニングはその1種であるにすぎない。ハーフトーンス
クリーニングは本発明のシステム及び方法において実現
される。
ニングは、複製に最も適する画像を生成する。スクリー
ニングにはいくつかの種類があり、ハーフトーンスクリ
ーニングはその1種であるにすぎない。ハーフトーンス
クリーニングは本発明のシステム及び方法において実現
される。
【0098】スクリーン周波数が高いとき、1つのハー
フトーンセルは256個未満の画素を含んでいても良い
が、その場合、スクリーンは256レベルグレイスケー
ルを正確に表示できない。ハーフトーンセルが10×1
0画素であれば、そのセルは101のグレイレベルしか
示すことができない。不連続の索引付きグレイレベル相
互間の不連続は明確な「帯」として現れてしまうので、
これは混合(グレイ又はカラー)の場合に特に大きな制
限となる。この帯の発生は、グレイスクリーニングとカ
ラースクリーニングの双方で、特に、混合が徐々に進行
してゆく空や壁の複数の部分のようにグレイ値又はカラ
ー値がゆっくりと変化する領域において、きわめて良く
起きることである。
フトーンセルは256個未満の画素を含んでいても良い
が、その場合、スクリーンは256レベルグレイスケー
ルを正確に表示できない。ハーフトーンセルが10×1
0画素であれば、そのセルは101のグレイレベルしか
示すことができない。不連続の索引付きグレイレベル相
互間の不連続は明確な「帯」として現れてしまうので、
これは混合(グレイ又はカラー)の場合に特に大きな制
限となる。この帯の発生は、グレイスクリーニングとカ
ラースクリーニングの双方で、特に、混合が徐々に進行
してゆく空や壁の複数の部分のようにグレイ値又はカラ
ー値がゆっくりと変化する領域において、きわめて良く
起きることである。
【0099】従来の方法を使用して、ハーフトーンセル
ごとにグレイレベルに誤り項が導入されると、隣接する
セルは名目上は同一のグレイレベルを有しているはずの
隣のセルよりわずかに暗くなるか又は明るくなる。これ
により、グレイレベルは多くなるが、見かけは「雑音を
多く」含む。誤り項をあらかじめ計算しておけば、最終
画像の中で一定の雑音パターンを認識できるであろう。
ごとにグレイレベルに誤り項が導入されると、隣接する
セルは名目上は同一のグレイレベルを有しているはずの
隣のセルよりわずかに暗くなるか又は明るくなる。これ
により、グレイレベルは多くなるが、見かけは「雑音を
多く」含む。誤り項をあらかじめ計算しておけば、最終
画像の中で一定の雑音パターンを認識できるであろう。
【0100】本発明のシステム及び方法は、各ソース画
像をそれぞれの閾値レベルと比較するときに様々に異な
る量の雑音を導入することにより、よりランダムな雑音
パターンを作成でき、出力装置の分解能でランダムな画
素の中に2ビットまでの雑音(最下位ビット)を発生す
る。スクリーン比較器のそれぞれについて、4つの別個
の、互いに相関しない擬似ランダム雑音発生器を使用す
る。各雑音発生器はクロックサイクルごとに新たな雑音
サンプルを発生し、これを振幅に関して0〜2ビットに
基準化することができる。擬似ランダム雑音発生器は選
択的にオン、オフできる。これは固定グレイレベル充填
又は画像充填並びに混合に使用可能である。
像をそれぞれの閾値レベルと比較するときに様々に異な
る量の雑音を導入することにより、よりランダムな雑音
パターンを作成でき、出力装置の分解能でランダムな画
素の中に2ビットまでの雑音(最下位ビット)を発生す
る。スクリーン比較器のそれぞれについて、4つの別個
の、互いに相関しない擬似ランダム雑音発生器を使用す
る。各雑音発生器はクロックサイクルごとに新たな雑音
サンプルを発生し、これを振幅に関して0〜2ビットに
基準化することができる。擬似ランダム雑音発生器は選
択的にオン、オフできる。これは固定グレイレベル充填
又は画像充填並びに混合に使用可能である。
【0101】実際、帯発生の問題は印刷装置の分解能が
高くなるにつれて深刻になる。従来のスクリーン周波数
は133本又は150本/インチ(lpi)であるが、
最新の高品質の印刷機は175〜250lpiで印刷で
き、印字装置や印刷機を操作するときには、利用しうる
最大の分解能を使用することが好ましい。イメージセッ
タも改良されつつある。ところが、2540dpiを印
刷できるイメージセッタは200lpiのスクリーンを
12×12のハーフトーンセルとして印刷し、これはわ
ずか145のグレイレベルしか表示できないということ
になる。本発明のシステム及び方法はその帯発生を相当
に減少させる。
高くなるにつれて深刻になる。従来のスクリーン周波数
は133本又は150本/インチ(lpi)であるが、
最新の高品質の印刷機は175〜250lpiで印刷で
き、印字装置や印刷機を操作するときには、利用しうる
最大の分解能を使用することが好ましい。イメージセッ
タも改良されつつある。ところが、2540dpiを印
刷できるイメージセッタは200lpiのスクリーンを
12×12のハーフトーンセルとして印刷し、これはわ
ずか145のグレイレベルしか表示できないということ
になる。本発明のシステム及び方法はその帯発生を相当
に減少させる。
【0102】以上、本発明を使用するシステム及び方法
並びに本発明の好ましい一実施例を一般的に説明した。
当業者であれば、説明した方法と装置について、本発明
の教示の中に包含される変形を認識するであろうし、そ
のような変形を追加して実施することができるであろ
う。
並びに本発明の好ましい一実施例を一般的に説明した。
当業者であれば、説明した方法と装置について、本発明
の教示の中に包含される変形を認識するであろうし、そ
のような変形を追加して実施することができるであろ
う。
【図1】本発明のGCPシステムと、図形処理システム
の他の構成要素との接続を示すブロック線図。
の他の構成要素との接続を示すブロック線図。
【図2】本発明の好ましい一実施例の主要な構成要素を
示す図。
示す図。
【図3】複数の台形に分割された任意の領域を示す図。
【図4】任意の領域を表示するために使用されるハーフ
トーンスクリーンタイルの一実施例を示す図。
トーンスクリーンタイルの一実施例を示す図。
【図5】角のあるソース画像と、ソース画像から装置画
素への変換とを示す図。
素への変換とを示す図。
3 主メモリアドレスラッチ 4 メモリアドレスバス 5 メモリデータバス 10 図形コプロセッサ(GCP) 12 スクリーンRAM 14 スクリーンデータバス 15 スクリーンアドレスバス 20 主制御シーケンサ(MCS) 23 表示リストFIFOバッファ(DL FIFO) 24 宛先入力FIFO 25 宛先出力FIFO(DO FIFO) 26 メモリ要求ハンドラ(MRH) 27 ソース入力FIFO(SI FIFO) 28 画素アセンブラ(PIX) 29 ソースフェッチャ装置(SFC) 29A ソースフェッチャ(SF) 29B ソース入力装置(SI) 30 スクリーン閾値フェッチャ(STF)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ダニエル・ジェイ・クラーク アメリカ合衆国 95032 カリフォルニア 州・ロス ガトス・ジョンソン アヴェニ ュ・202 (72)発明者 ジェイムズ・マックルー アメリカ合衆国 94028 カリフォルニア 州・ポートラ ヴァレイ・コールマイン ビュー・17
Claims (3)
- 【請求項1】 複数の装置画素を含み、領域をハーフト
ーンスクリーンパターンで充填するための命令を含めた
1つ又は複数のデジタル入力指令により記述される前記
領域から構成されるラスタ化図形画像を生成するシステ
ムにおいて、 前記ラスタ化図形画像の1領域を記述する指令と、前記
領域を充填するモードを指定する指令とを含むデジタル
入力指令を受信する入力セクションと;前記入力セクシ
ョンに結合し、前記デジタル入力指令を解釈すると共
に、前記デジタル入力指令を前記システム内部で使用す
るための内部指令に変換する指令インタプリタと;前記
入力セクションと、前記指令インタプリタとに結合し、
システムの反復中に、前記ラスタ化図形画像の選択され
た領域に含まれている複数の装置画素をハーフトーンス
クリーンパターンによってスクリーニングするスクリー
ニングセクションと;前記指令インタプリタと、前記ス
クリーニングセクションとに結合し、前記選択された複
数の装置画素について、ラスタ装置で表示するのに適す
る装置画素データを描出し且つ出力する描示セクション
とを具備するシステム。 - 【請求項2】 複数の装置画素を含み、領域をハーフト
ーンスクリーンパターンによって充填するための命令を
含めた1つ又は複数のデジタル入力指令により記述され
るような前記領域から構成されて、ラスタ表示装置又は
ラスタマーキングエンジンで表示するのに適するラスタ
化図形画像を生成する方法において、 前記領域を記述する第1のデジタル入力指令を受信する
過程と;前記領域を装置画素データで充填するモードを
指定する第2のデジタル入力指令を受信する過程と;前
記第1のデジタル入力指令及び前記第2のデジタル入力
指令を第2の内部指令と並行して実行されるべき少なく
とも1つの内部指令に変換する過程と;複数の前記装置
画素のそれぞれについて、ほぼ同時に、 前記領域を選択されたグレイレベルで充填すべきである
場合には、 各装置画素を、ハーフトーンスクリーンパターンにおけ
る画素のアレイに対応する閾値の基準アレイの中の1つ
の対応する閾値と相関させ、 前記選択されたグレイレベルを前記対応する閾値と比較
し、且つ前記対応する閾値と、前記選択されたグレイレ
ベルと、前記第2のデジタル入力指令とに従って装置画
素ごとに装置画素データを設定することにより、各装置
画素を描出し;前記領域を1つの一様な色で充填すべき
場合には、 前記一様な色と、前記第2のデジタル入力指令とに従っ
て装置画素ごとに装置画素データを設定することによ
り、各装置画素を描出し、且つ前記装置画素データをラ
スタ表示装置又はラスタマーキングエンジンに適する形
態で出力し、それにより、前記領域を装置画素データで
充填して、ハーフトーンスクリーンパターン又は一様な
色を形成する過程とから成る方法。 - 【請求項3】 複数の装置画素を含み、領域をハーフト
ーンスクリーンパターンで充填するための命令を含めた
1つ又は複数のデジタル入力指令により記述されるよう
な前記領域から構成されて、ラスタ表示装置又はラスタ
マーキングエンジンで表示するのに適するラスタ化図形
画像を生成する方法において、 前記領域を記述する第1のデジタル入力指令を受信する
過程と;前記領域を装置画素データで充填するモードを
指定する第2のデジタル入力指令を受信する過程と;前
記第1のデジタル入力指令及び前記第2のデジタル入力
指令を第2の内部指令と並行して実行されるべき少なく
とも1つの内部指令に変換する過程と;複数のソース画
像画素から構成され、スケーリング及び回転によって変
更されており、前記ソース画像画素のそれぞれは複数の
対応する装置画素にマッピングされ、ソース画像に対応
する装置画像を表示するために描出されるべきであるよ
うなソース画像を使用する過程と;前記ソース画像画素
の1つについて対応する装置画素を計算する過程と;前
記1つのソース画像画素について、前記1つのソース画
像画素を使用して描出できる装置画素の数を確定する過
程とから成る方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/846,547 US5303334A (en) | 1992-03-05 | 1992-03-05 | System for generating a rasterized graphic image |
US846547 | 1992-03-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06180758A true JPH06180758A (ja) | 1994-06-28 |
Family
ID=25298249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5069065A Pending JPH06180758A (ja) | 1992-03-05 | 1993-03-05 | ラスタ化図形画像を生成するシステム及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5303334A (ja) |
EP (1) | EP0559318B1 (ja) |
JP (1) | JPH06180758A (ja) |
CA (1) | CA2091034A1 (ja) |
DE (1) | DE69323919T2 (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09270024A (ja) * | 1996-02-02 | 1997-10-14 | Toshiba Corp | 情報処理装置 |
JP2008097583A (ja) * | 2006-07-26 | 2008-04-24 | Nvidia Corp | グラフィックスパイプラインにおけるタイルベース精度のラスタライズ |
JP2008257456A (ja) * | 2007-04-04 | 2008-10-23 | Matsushita Electric Ind Co Ltd | アンチエイリアス描画装置及びアンチエイリアス描画方法 |
US8085264B1 (en) | 2006-07-26 | 2011-12-27 | Nvidia Corporation | Tile output using multiple queue output buffering in a raster stage |
US8237738B1 (en) | 2006-11-02 | 2012-08-07 | Nvidia Corporation | Smooth rasterization of polygonal graphics primitives |
US8872833B2 (en) | 2003-09-15 | 2014-10-28 | Nvidia Corporation | Integrated circuit configuration system and method |
US8923385B2 (en) | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
US8928676B2 (en) | 2006-06-23 | 2015-01-06 | Nvidia Corporation | Method for parallel fine rasterization in a raster stage of a graphics pipeline |
US9064333B2 (en) | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US9117309B1 (en) | 2005-12-19 | 2015-08-25 | Nvidia Corporation | Method and system for rendering polygons with a bounding box in a graphics processor unit |
US9123173B2 (en) | 2005-12-15 | 2015-09-01 | Nvidia Corporation | Method for rasterizing non-rectangular tile groups in a raster stage of a graphics pipeline |
US9171350B2 (en) | 2010-10-28 | 2015-10-27 | Nvidia Corporation | Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up |
US9331869B2 (en) | 2010-03-04 | 2016-05-03 | Nvidia Corporation | Input/output request packet handling techniques by a device specific kernel mode driver |
US9710894B2 (en) | 2013-06-04 | 2017-07-18 | Nvidia Corporation | System and method for enhanced multi-sample anti-aliasing |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06236176A (ja) * | 1992-04-29 | 1994-08-23 | Canon Inf Syst Res Australia Pty Ltd | ラスタ画像に透明性を与える方法及び装置 |
AU667891B2 (en) * | 1992-04-29 | 1996-04-18 | Canon Kabushiki Kaisha | Method and apparatus for providing transparency in an object based rasterised image |
US5515481A (en) * | 1992-07-08 | 1996-05-07 | Canon Kabushiki Kaisha | Method and apparatus for printing according to a graphic language |
US5577173A (en) * | 1992-07-10 | 1996-11-19 | Microsoft Corporation | System and method of printer banding |
US5644684A (en) * | 1993-03-15 | 1997-07-01 | Canon Kabushiki Kaisha | High-efficiency compression suitable for use in character generation |
US6147688A (en) * | 1993-06-28 | 2000-11-14 | Athena Design Systems, Inc. | Method and apparatus for defining and selectively repeating unit image cells |
US5712664A (en) | 1993-10-14 | 1998-01-27 | Alliance Semiconductor Corporation | Shared memory graphics accelerator system |
US5590350A (en) * | 1993-11-30 | 1996-12-31 | Texas Instruments Incorporated | Three input arithmetic logic unit with mask generator |
JP3294696B2 (ja) * | 1993-12-24 | 2002-06-24 | キヤノン株式会社 | 画像処理装置 |
JP3454914B2 (ja) * | 1994-04-07 | 2003-10-06 | 株式会社ソニー・コンピュータエンタテインメント | 画像生成方法および画像生成装置 |
US5568600A (en) * | 1994-04-15 | 1996-10-22 | David Sarnoff Research Ctr. | Method and apparatus for rotating and scaling images |
JP3413432B2 (ja) * | 1994-05-30 | 2003-06-03 | 富士ゼロックス株式会社 | 文字展開処理装置 |
JPH10502181A (ja) * | 1994-06-20 | 1998-02-24 | ネオマジック・コーポレイション | メモリインタフェースのないグラフィックスコントローラ集積回路 |
US5729632A (en) * | 1994-12-08 | 1998-03-17 | Eastman Kodak Company | Reproduction apparatus and method for adjusting rendering with toners of different particle sizes |
US5594860A (en) * | 1995-01-27 | 1997-01-14 | Varis Corporation | Method for banding and rasterizing an image in a multiprocessor printing system |
US5732198A (en) * | 1995-02-09 | 1998-03-24 | Oki America, Inc. | Host based printing system for printing a document having at least one page |
US5751295A (en) * | 1995-04-27 | 1998-05-12 | Control Systems, Inc. | Graphics accelerator chip and method |
US5748860A (en) * | 1995-06-06 | 1998-05-05 | R.R. Donnelley & Sons Company | Image processing during page description language interpretation |
US6952801B2 (en) * | 1995-06-07 | 2005-10-04 | R.R. Donnelley | Book assembly process and apparatus for variable imaging system |
US6307559B1 (en) * | 1995-07-13 | 2001-10-23 | International Business Machines Corporation | Method and apparatus for color space conversion, clipping, and scaling of an image during blitting |
US6859534B1 (en) | 1995-11-29 | 2005-02-22 | Alfred Alasia | Digital anti-counterfeiting software method and apparatus |
US5867612A (en) * | 1996-03-27 | 1999-02-02 | Xerox Corporation | Method and apparatus for the fast scaling of an image |
US5940080A (en) * | 1996-09-12 | 1999-08-17 | Macromedia, Inc. | Method and apparatus for displaying anti-aliased text |
US6269190B1 (en) * | 1996-09-24 | 2001-07-31 | Electronics For Imaging, Inc. | Computer system for processing images using a virtual frame buffer |
US5995724A (en) * | 1996-11-01 | 1999-11-30 | Mikkelsen; Carl | Image process system and process using personalization techniques |
US6767286B1 (en) * | 1996-11-22 | 2004-07-27 | Kabushiki Kaisha Sega Enterprises | Game device, picture data forming method and medium |
US5803629A (en) * | 1997-03-14 | 1998-09-08 | Paul H. Neville | Method and apparatus for automatic, shape-based character spacing |
US6124858A (en) * | 1997-04-14 | 2000-09-26 | Adobe Systems Incorporated | Raster image mapping |
US5949964A (en) * | 1997-06-17 | 1999-09-07 | Hewlett-Packard Company | Method and apparatus for halftoning of images in a printer |
US6205452B1 (en) | 1997-10-29 | 2001-03-20 | R. R. Donnelley & Sons Company | Method of reproducing variable graphics in a variable imaging system |
JPH11154240A (ja) | 1997-11-20 | 1999-06-08 | Nintendo Co Ltd | 取込み画像を用いて画像を作成するための画像作成装置 |
US6433885B1 (en) * | 1997-11-24 | 2002-08-13 | Hewlett-Packard Company | Method and apparatus for manipulating bitmap raster data using a modular processing pipeline |
US6057935A (en) * | 1997-12-24 | 2000-05-02 | Adobe Systems Incorporated | Producing an enhanced raster image |
US6272650B1 (en) | 1998-02-03 | 2001-08-07 | Amazing Media, Inc. | System and method for disambiguating scene graph loads |
US6263496B1 (en) | 1998-02-03 | 2001-07-17 | Amazing Media, Inc. | Self modifying scene graph |
US6243856B1 (en) * | 1998-02-03 | 2001-06-05 | Amazing Media, Inc. | System and method for encoding a scene graph |
US6124946A (en) * | 1998-04-30 | 2000-09-26 | Hewlett-Packard Company | Multi-pass pseudo random masking system and method of using same |
US6252677B1 (en) * | 1998-05-07 | 2001-06-26 | Xerox Corporation | Method and apparatus for rendering object oriented image data using multiple rendering states selected based on imaging operator type |
US6435969B1 (en) | 1998-11-03 | 2002-08-20 | Nintendo Co., Ltd. | Portable game machine having image capture, manipulation and incorporation |
US7278094B1 (en) | 2000-05-03 | 2007-10-02 | R. R. Donnelley & Sons Co. | Variable text processing for an electronic press |
US6380951B1 (en) | 1999-10-01 | 2002-04-30 | Global Graphics Software Limited | Prepress workflow method and program |
US6624908B1 (en) | 1999-10-01 | 2003-09-23 | Global Graphics Software Limited | Method for arranging a prepress workflow |
US6483524B1 (en) | 1999-10-01 | 2002-11-19 | Global Graphics Software Limited | Prepress workflow method using raster image processor |
US6490696B1 (en) | 1999-12-15 | 2002-12-03 | Electronics For Imaging, Inc. | System and method for printer output regression testing using display lists |
US6807620B1 (en) * | 2000-02-11 | 2004-10-19 | Sony Computer Entertainment Inc. | Game system with graphics processor |
EP1136974A1 (en) * | 2000-03-22 | 2001-09-26 | Deutsche Thomson-Brandt Gmbh | Method for processing video data for a display device |
US6894686B2 (en) | 2000-05-16 | 2005-05-17 | Nintendo Co., Ltd. | System and method for automatically editing captured images for inclusion into 3D video game play |
US7253921B2 (en) * | 2000-10-11 | 2007-08-07 | True Color Technology Gmbh | Process and target for calibration of digital input devices |
JP3796409B2 (ja) * | 2001-01-17 | 2006-07-12 | キヤノン株式会社 | 画像処理装置、画像形成装置及び情報処理装置とそれらの方法 |
JP4164272B2 (ja) * | 2001-04-24 | 2008-10-15 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
CA2349924A1 (en) * | 2001-06-07 | 2002-12-07 | Ipros Corporation | A method and system for processing geometrical figures |
US7167185B1 (en) | 2002-03-22 | 2007-01-23 | Kla- Tencor Technologies Corporation | Visualization of photomask databases |
US7345782B2 (en) * | 2002-05-13 | 2008-03-18 | Texas Instruments Incorporated | Efficient implementation of raster operations flow |
US7002599B2 (en) * | 2002-07-26 | 2006-02-21 | Sun Microsystems, Inc. | Method and apparatus for hardware acceleration of clipping and graphical fill in display systems |
US8045215B2 (en) * | 2002-10-18 | 2011-10-25 | Hewlett-Packard Development Company, L.P. | Printer object list resolutions |
US20040119724A1 (en) * | 2002-12-20 | 2004-06-24 | Imagelinx International Ltd. | Digital prepress masking tools |
US6954211B2 (en) * | 2003-06-30 | 2005-10-11 | Microsoft Corporation | Hardware-accelerated anti-aliased graphics |
US20050052468A1 (en) * | 2003-09-05 | 2005-03-10 | Xerox Corporation. | Method of detecting half-toned uniform areas in bit-map |
US7450120B1 (en) * | 2003-12-19 | 2008-11-11 | Nvidia Corporation | Apparatus, system, and method for Z-culling |
US7986423B2 (en) * | 2004-05-14 | 2011-07-26 | Samsung Electronics Co., Ltd. | Image reprinting apparatus and method |
US8711156B1 (en) | 2004-09-30 | 2014-04-29 | Nvidia Corporation | Method and system for remapping processing elements in a pipeline of a graphics processing unit |
JP2006157580A (ja) * | 2004-11-30 | 2006-06-15 | Ricoh Co Ltd | 画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体 |
AU2005201930B2 (en) * | 2005-05-06 | 2009-02-19 | Canon Kabushiki Kaisha | Simplification of alpha compositing in the presence of transfer functions |
US7446352B2 (en) * | 2006-03-09 | 2008-11-04 | Tela Innovations, Inc. | Dynamic array architecture |
US8228561B2 (en) * | 2007-03-30 | 2012-07-24 | Xerox Corporation | Method and system for selective bitmap edge smoothing |
JP4378572B2 (ja) * | 2007-06-28 | 2009-12-09 | Necシステムテクノロジー株式会社 | データ転送システム、データ転送方法、ホスト装置及び描画装置 |
US8368959B2 (en) | 2009-05-18 | 2013-02-05 | Xerox Corporation | Method and system for selective smoothing of halftoned objects using bitmap encoding |
US8564840B2 (en) | 2010-05-28 | 2013-10-22 | Xerox Corporation | Halftone tiling and halftoning for annular rasters |
US11315209B2 (en) * | 2020-05-08 | 2022-04-26 | Black Sesame Technolgies Inc. | In-line and offline staggered bandwidth efficient image signal processing |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60165873A (ja) * | 1984-02-09 | 1985-08-29 | Dainippon Screen Mfg Co Ltd | 網点発生器のアドレス発生方法 |
US4755813A (en) * | 1987-06-15 | 1988-07-05 | Xerox Corporation | Screening circuit for screening image pixels |
US5172248A (en) * | 1988-05-18 | 1992-12-15 | Fuji Photo Film Co., Ltd. | Method for forming halftone screen and apparatus therefor |
US4918622A (en) * | 1988-11-16 | 1990-04-17 | Eastman Kodak Company | Electronic graphic arts screener |
JP2943121B2 (ja) * | 1989-10-24 | 1999-08-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | グラフイツク・データをストアする方法 |
US5170257B1 (en) * | 1990-10-02 | 1995-02-07 | Southwest Software Inc | Method and apparatus for calibrating halftone output from an image-setting device |
US5140431A (en) * | 1990-12-31 | 1992-08-18 | E. I. Du Pont De Nemours And Company | Digital electronic system for halftone printing |
EP0527097A3 (en) * | 1991-08-06 | 1995-03-01 | Eastman Kodak Co | Apparatus and method for collectively performing tile-based image rotation, scaling and digital halftone screening |
EP0529965A3 (en) * | 1991-08-23 | 1993-12-08 | Levien Raphael L | High speed screening of images |
-
1992
- 1992-03-05 US US07/846,547 patent/US5303334A/en not_active Expired - Lifetime
-
1993
- 1993-01-26 EP EP93300552A patent/EP0559318B1/en not_active Expired - Lifetime
- 1993-01-26 DE DE69323919T patent/DE69323919T2/de not_active Expired - Lifetime
- 1993-03-04 CA CA002091034A patent/CA2091034A1/en not_active Abandoned
- 1993-03-05 JP JP5069065A patent/JPH06180758A/ja active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09270024A (ja) * | 1996-02-02 | 1997-10-14 | Toshiba Corp | 情報処理装置 |
US8872833B2 (en) | 2003-09-15 | 2014-10-28 | Nvidia Corporation | Integrated circuit configuration system and method |
US9123173B2 (en) | 2005-12-15 | 2015-09-01 | Nvidia Corporation | Method for rasterizing non-rectangular tile groups in a raster stage of a graphics pipeline |
US9117309B1 (en) | 2005-12-19 | 2015-08-25 | Nvidia Corporation | Method and system for rendering polygons with a bounding box in a graphics processor unit |
US8928676B2 (en) | 2006-06-23 | 2015-01-06 | Nvidia Corporation | Method for parallel fine rasterization in a raster stage of a graphics pipeline |
US8085264B1 (en) | 2006-07-26 | 2011-12-27 | Nvidia Corporation | Tile output using multiple queue output buffering in a raster stage |
JP4598030B2 (ja) * | 2006-07-26 | 2010-12-15 | エヌヴィディア コーポレイション | グラフィックスパイプラインにおけるタイルベース精度のラスタライズ |
US9070213B2 (en) | 2006-07-26 | 2015-06-30 | Nvidia Corporation | Tile based precision rasterization in a graphics pipeline |
JP2008097583A (ja) * | 2006-07-26 | 2008-04-24 | Nvidia Corp | グラフィックスパイプラインにおけるタイルベース精度のラスタライズ |
US8237738B1 (en) | 2006-11-02 | 2012-08-07 | Nvidia Corporation | Smooth rasterization of polygonal graphics primitives |
JP2008257456A (ja) * | 2007-04-04 | 2008-10-23 | Matsushita Electric Ind Co Ltd | アンチエイリアス描画装置及びアンチエイリアス描画方法 |
US9064333B2 (en) | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US8923385B2 (en) | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
US9331869B2 (en) | 2010-03-04 | 2016-05-03 | Nvidia Corporation | Input/output request packet handling techniques by a device specific kernel mode driver |
US9171350B2 (en) | 2010-10-28 | 2015-10-27 | Nvidia Corporation | Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up |
US9710894B2 (en) | 2013-06-04 | 2017-07-18 | Nvidia Corporation | System and method for enhanced multi-sample anti-aliasing |
Also Published As
Publication number | Publication date |
---|---|
EP0559318A3 (en) | 1995-05-31 |
DE69323919T2 (de) | 1999-11-11 |
CA2091034A1 (en) | 1993-09-06 |
EP0559318B1 (en) | 1999-03-17 |
DE69323919D1 (de) | 1999-04-22 |
US5303334A (en) | 1994-04-12 |
EP0559318A2 (en) | 1993-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06180758A (ja) | ラスタ化図形画像を生成するシステム及び方法 | |
JP3483946B2 (ja) | フォント処理装置及びフォント処理方法 | |
US5542031A (en) | Halftone computer imager | |
EP1272977B1 (en) | Shape processor | |
US6339424B1 (en) | Drawing processor | |
JP3224866B2 (ja) | 画像の回転、拡大・縮小およびディジタルハーフトーン・スクリーニングをまとめて行うためのタイル方式の処理方法 | |
US5719595A (en) | Method and apparauts for generating a text image on a display with anti-aliasing effect | |
US7436531B2 (en) | Systems and methods for using multiple processors for imaging | |
US6438273B1 (en) | Method and apparatus for using rotatable templates within look-up tables to enhance image reproduction | |
US6195473B1 (en) | Non-integer scaling of raster images with image quality enhancement | |
US5537131A (en) | Character generating method and apparatus | |
JP3009525B2 (ja) | ベクトル画像描画装置 | |
US20030043412A1 (en) | Efficient and flexible multi-bit halftoning | |
US6181835B1 (en) | Non-integer scaling of raster images with image quality enhancement using an anamorphically scaled intermediate bitmap | |
JPH049152B2 (ja) | ||
JPH11224331A (ja) | ラスタ画像生成装置およびラスタ画像生成方法 | |
JP2710350B2 (ja) | 画像処理装置および画像処理装置の画像処理方法 | |
JPH0259871A (ja) | 画像処理装置および画像処理方法 | |
Kugler et al. | A scalable halftoning coprocessor architecture | |
JP2000011169A (ja) | 画像処理装置および画像処理方法 | |
JPH0581437A (ja) | 画像処理装置 | |
JPH05258051A (ja) | タイルベースイメージ回転、スケーリングおよびデジタル中間調スクリーニングの一括実行装置 | |
KR20020031503A (ko) | 립작업시 파일 수정하는 방법 | |
JPH06175637A (ja) | 文字の生成方法 | |
JPH0683968A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20020226 |