JPH05250466A - 画像の回転、拡大・縮小およびディジタルハーフトーン・スクリーニングをまとめて行うためのタイル方式の処理方法 - Google Patents

画像の回転、拡大・縮小およびディジタルハーフトーン・スクリーニングをまとめて行うためのタイル方式の処理方法

Info

Publication number
JPH05250466A
JPH05250466A JP4210538A JP21053892A JPH05250466A JP H05250466 A JPH05250466 A JP H05250466A JP 4210538 A JP4210538 A JP 4210538A JP 21053892 A JP21053892 A JP 21053892A JP H05250466 A JPH05250466 A JP H05250466A
Authority
JP
Japan
Prior art keywords
tile
output
image
contone
halftone
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.)
Granted
Application number
JP4210538A
Other languages
English (en)
Other versions
JP3224866B2 (ja
Inventor
Jr John F Hamilton
フランクリン ハミルトン ジュニア ジョン
Iii Anthony J Leone
ジェームス レオン三世 アンソニー
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.)
Eastman Kodak Co
Original Assignee
Eastman Kodak Co
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 Eastman Kodak Co filed Critical Eastman Kodak Co
Publication of JPH05250466A publication Critical patent/JPH05250466A/ja
Application granted granted Critical
Publication of JP3224866B2 publication Critical patent/JP3224866B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/393Enlarging or reducing
    • H04N1/3935Enlarging or reducing with modification of image resolution, i.e. determining the values of picture elements at new relative positions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/602Rotation of whole images or parts thereof by block rotation, e.g. by recursive reversal or rotation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4055Halftoning, 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/4058Halftoning, 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)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 画像の回転、アナモルフィックな拡大・縮小
とハーフトーン・スクリーニングを通じ連続階調操作す
るためのタイル方式。 【構成】 ページ記述言語PDLを実行する画像システ
ム5の単純化・高レベルのブロック図。入力データはリ
ード線7からシステム5に。データの流れはリード線7
からプロセッサ10に。処理されたデータを出力バッフ
ァに、PDLを使用し印字されたページ30上に現れ
る。PDLプロセッサ13は連続階調画像データを操作
して、望みの回転、拡大・縮小とハーフトンされた出力
を生成バッファ17に書き込む。普通は数ページの全出
力ページ分のハーフトーン化された画像データを、エン
ジン25の印字解像度で保存するだけの十分な容量を持
つ。本発明のプロセスは、まず全入力連続階調画像を互
にスムーズに接する同じ寸法のタイルに分割するのを基
礎としている。互いに集まって連続階調画像を形成する
事。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は画像の回転、拡大・縮小
およびディジタルハーフトーン・スクリーニングによる
連続階調画像の操作機能を持つページ記述言語の実行に
於て行われる電子的画像処理方法に関連する。
【0002】本願の内容は、J.F.Hamilto
n, Jr.他による、同時に出願中で当被譲渡人が所
有する合衆国特許出願、名称「タイル方式での画像の回
転、拡大・縮小およびディジタルハーフトーン・スクリ
ーニングをまとめて行うための装置」、出願番号07/
740,532にも述べられ、請求されている。
【0003】
【従来の技術】画像は読者に情報を伝達する上で効率的
な方法として常に文書に組み込まれてきたが、パソコン
の使用の爆発的な拡大と、ますます多様化する画像に関
連した用途のコンピュータ化が相まって、画像をディジ
タル信号の形で処理する必要性を増加させた。これらの
処理にはなかんずく画像の回転、拡大・縮小およびハー
フトーン化が含まれる。
【0004】数年前から、いわゆるページ記述言語を使
ったコンピュータによる文書中の画像の処理が増加して
きた。このような言語を使用すれば、ユーザーは印刷さ
れたページ上に再現されるべき画像のような対象を定義
し、その対象を希望の仕方で処理し、その他のものとの
正確な相互位置関係に配置し、全ページを適切に構成す
ることができる。ディジタル画像を処理する上でユーザ
ーに最大限のフレキシビリティを与えるためには、ペー
ジ記述言語は任意の一様でアナモルフィック(縦軸、横
軸の倍率が異なる)な画像の、有限な境界内での拡大・
縮小、任意の角度での画像の回転、および任意の画面角
度と画面基線によるハーフトーン化をサポートする必要
がある。文書中の画像が同一ページ内の他の対象と適切
に組み合わされるためには、これらの画像処理機能は非
常に正確に組み込まれなければならず、さもないと印字
した際にページ上に不要なものやその他のエラーが現れ
る。
【0005】現在数種類のページ記述言語が使用されて
いるが、これらの言語が特に画像の拡大・縮小および回
転を実行するために伝統的に取ってきた2つの基本的な
方式には重大な限界が存在する。
【0006】具体的には、この分野で広く使用されてい
る1つの基本方式は、全画像をランダムアクセス・フレ
ームメモリー内に保存し、その後ここにある画像の個々
のビットに対して操作を行うと言う手順に依存してい
る。この方式を今後「フルフレーム・メモリー」方式と
呼ぶが、これは適切に回転した画像データを生成して回
転画像を作るためには、メモリーアドレスを増加させな
がら画像を1ビットごとに逐時的に読み出すという動作
を必要とする場合がある。本技術分野で知られているよ
うに、画像の拡大・縮小には、必要に応じて画像のスケ
ールを変更するために、例えば選択されたピクセル位置
にデータを加えたり、あるいはそこからデータを削除し
たりする操作が含まれる場合がある。この方式全体は十
分に大きくて同時に比較的高速の読み出し・書き込みの
ランダムアクセスが出来るフレームメモリーを必要とす
る。現在利用可能な印字出力装置、例えばレーザープリ
ンターで十分に得られる300ドット/インチ(約11
8ドット/cm)の解像度で印字される8×10インチ
(約20×25cm)の連続階調の画像を生成するに
は、約7Mバイトものフレームメモリーが必要となるの
である。この様に大きなメモリーは、特に現在得られる
高速ランダムアクセス・メモリー(RAM)回路で構成
すれば、非常に高価なものになってしまう。そのような
フレームメモリーのこの高いコストのために、これは低
コストのプリンターでは使用できない。更に、この様に
大容量で高速のメモリーをもってしても、画像の拡大・
縮小および回転はマイクロプロセッサー内で実行される
プロセスに基づくソフトウェアで行われることが多いの
で、全画像の処理は比較的遅くなってしまう。
【0007】実際のメモリーの制限を考慮して、画像の
拡大・縮小および回転はタイル方式で交互に行えること
を従来技術は示していた。この方式では、画像はまずタ
イルと呼ばれる小さくて一様な領域に分割される。各タ
イルには次にそれぞれ別々に必要な処理が施される。通
常1つのタイルは全画像に比べてはるかに小さい。一旦
1つのタイルが処理されて1つの出力タイルを生成する
と、その出力タイルは出力バッファ内の空間的に対応す
る領域に書き込まれる。そして全画面が出力タイルで構
成されるまで、このプロセスがすべてのタイルに対して
続けられる。
【0008】これら2つのアプローチを前提とすれば、
タイリング法にはいくつかの明確な利点がある。まず、
タイルの寸法を全画像のサイズよりも大幅に削減し、高
速フレームメモリーのための必要メモリー容量を例えば
全画像を記憶するための7Mバイトから、現在処理され
ている1つのタイルを記憶するための10kバイトに大
幅に削減する。これにより大きな全サイズの高速フレー
ムメモリーを不要とし、その結果システムメモリーをシ
ンプルにしてそのコストを大幅に削減する。画像のサイ
ズの出力バッファは依然として必要であろうが、このバ
ッファは高速ランダムアクセスメモリーとして機能する
必要は無く、従って比較的低速で価格の安い記憶回路で
作ることができる。
【0009】更に、一度に1つのタイルを処理すること
により、フレームメモリーが関係するデータ転送は、
「全フレームメモリー」方式のように全画像のデータを
送るのでなく、特定の1つのタイルのデータの転送だけ
で済む。したがってこれらのメモリー内容の転送に必要
な動作は非常に単純化されて、タイル方式による全処理
動作の一部分に過ぎないようになった。更に、常に比較
的わずかなデータだけを処理することにより、全タイル
を高速で処理する専用ハードウェア回路を簡単に製作す
ることができ、従って全画像を回転および拡大・縮小す
る速さを「全フレームメモリー」方式に比べて速くする
ことができる。最後に、タイル方式はパイプラインおよ
びパラレル方式の処理を容易に適用できる。これらの処
理方法によれば、適切なタイル処理ハードウェアが複製
され、パラレルおよび時間差交互動作方式で動作し、一
度に数個のタイルをまとめて処理できるようにする。こ
れにより、画像の拡大・縮小および回転の全プロセスが
更に加速される。この方式は、価格/性能比とのかねあ
いを保ちながら規模を大きくすることができ、望みのス
ループット・レベルを実現できるという利点がある。
【0010】
【発明が解決しようとする課題】タイル方式の拡大・縮
小および回転はこのような利点を持っているが、タイル
方式は、特にハーフトーン化に使用した場合は、各出力
タイルが出力バッファ内で非常に正確に配置されること
を必要とし、さもないと画像に眼に見える欠陥が生じる
ことがある。具体的には、50%チント・ファクターの
ハーフトーン画像の場合、隣接するタイル間のハーフト
ーン化パターンに於ける1ピクセルのオフセットの結果
として、画像に眼に見える欠陥が生じるのを我々は実験
的に観察した。これらの欠陥は、画像全体を通じてタイ
ルの境界に沿って生じるジグザグの線の形を取る。その
結果、もしも画像をその後ハーフトーン化する場合、出
力バッファから各タイルを取り出してそのタイルにスク
リーンをかけて、そのタイルを1ビットの精度で出力バ
ッファに戻すために、これらのタイルに対して操作を行
うスクリーナーが必要となる。ある画像に対する全ハー
フトーン化プロセスを通じてこのような高精度を達成
し、維持することは実際上きわめて困難であることがわ
かっている。
【0011】簡単に考えれば、この精度要求は緩和する
ことができ、ハーフトーン化されたタイルの境界を適切
にスムージングすることによりジグザグパターンは解消
できると考えられるかも知れない。具体的には、ローパ
ス空間フィルターを利用して行われるそのようなスムー
ジングにより、丸めの誤差の影響とその結果のタイルの
配列の狂いは減らせるであろう。この誤差は、浮動小数
点アドレスを丸めて整数アドレス(これはハーフトーン
化されたタイルがその中で再び組み立てられる出力バッ
ファのアドレスを指定するのに使用される)にするとき
に生じるものである。かかるフィルター処理は眼に見え
るタイルの配列の狂いを減らすが、このフィルター処理
は画像内の基調のハーフトーンドット構造を壊し、損な
うことを、我々は適切な実験的観察を通じて認めた。し
たがって、タイル境界のフィルター処理は有効な解決策
とならず、タイル方式の画像処理において1ビットの精
度は維持されなければならないと考える。
【0012】更に、タイル分割を別としても、市販され
ているスクリーナーは高価できわめて大きなメモリーを
必要とし、しかも画像の拡大・縮小または回転、あるい
はその両方を行う機能を持っていない場合が多い。
【0013】しかも、画像の拡大・縮小および回転はフ
ロントエンド操作として、現在利用可能な画像処理装置
内で、すなわち一連の画像処理回路の内でイメージスキ
ャナーのすぐ後の回路内で実行されることが多いが、ス
クリーニングはバックエンド操作として印字出力装置に
付属した回路内で実行される。いずれの操作も、一般に
他方の動作に関する情報を余り持たずに、あるいは多く
の場合全く持たずに行われ、その結果画像に欠陥その他
の悪影響が現れることが多い。ページ記述言語は後処理
を行うので、すなわちこれらの言語は画像を自分が「そ
れを見つけたままに」処理するので、「フロントエン
ド」での拡大・縮小および回転のような、事前にそれに
対して行われた操作に対して画像を最適化する可能性
は、これらの言語では得られない。したがって、これら
の言語の現在行われている特定の具体的実行形態では、
モアレパターンおよびエイリアシングのような悪影響を
取り除けない。これらの不具合は、ハーフトーン化プロ
セスおよび印字出力装置に結び付いた類似の特性を持つ
これらのフロントエンド操作の様々な特性、例えばサン
プリング周波数およびピクセル配置などの間の相互作用
の結果生じるものである。
【0014】更に、市販されているスクリーナーを使用
しても、動作スピードはきわめて遅い。したがって、ペ
ージ記述言語の実行にそのようなスクリーナーを使用す
る場合は、それにより得られるスループットは70pp
m近いスピードが得られる市販の印字出力装置の毎分印
字ページ数でのスピード(ppm)よりもはるかに低く
なり、重大なボトルネックとなる。
【0015】きわめて遅いスピードはユーザーに不満を
抱かせて、これらの画像のそれぞれが処理され印字され
るのにかかる時間を待つよりも、画像を文書に組み込む
のをあきらめさせるであろう。
【0016】上記の基本的な欠点にもかかわらず、タイ
ル方式に固有の利点、特にフレームバッファの容量とコ
ストの削減による利点は、それを使用する強力な根拠と
なる。
【0017】したがって、後処理環境において画像の回
転、拡大・縮小およびハーフトーン化を非常に正確にま
た低コストで実行できるタイル方式の処理方法の必要性
がこの技術分野に存在する。更に、ページ記述言語のス
ループットを現在利用可能な印字出力装置のスピードに
近づけるほど十分に加速できる仕方で、タイル方式の画
像の回転、拡大・縮小およびハーフトーン化操作を行う
必要性が存在する。印字出力装置にかかる処理技術を組
み込むことにより、文書中の画像の使用を大幅に速める
利点がある。
【0018】本発明の目的は、後処理環境で連続階調
(コントーン)画像の回転、拡大・縮小およびハーフト
ーン化を、非常に正確にしかし低コストで実行できる装
置とそれに伴う方法を提供するものである。
【0019】具体的な目的は、高速メモリーの必要容量
を有利に減らすためのかかる装置および方法において、
タイル分割法を利用することである。
【0020】より具体的な目的は、出力バッファにおけ
るタイル配置の誤差を、全ハーフトーン化処理を通じて
1ビット以内に抑えることができる装置を提供すること
である。
【0021】いま1つの具体的な目的は、ページ記述言
語を現在利用可能な多くの印字出力装置のスループット
にほぼ匹敵する処理スループットにまで十分加速するよ
うなスピードで、画像の回転、拡大・縮小およびハーフ
トーン化処理を行える装置および方法を提供することで
ある。
【0022】
【課題を解決するための手段及び作用】これらおよびそ
の他の目的は、概して我々の発明の趣旨に従って達成す
ることができる。すなわち、出力画像の1つのブロック
中の2つの隣接ピクセル位置の間の対応する移動に対し
て、連続階調画像内の連続階調のタイル中における、連
続するサンプリング位置の間の増加方向の移動を指定す
るピクセル・サンプリングの増分を定義する。次にこれ
らの増分に対応して、(a)ブロックを通っての増加方
向の移動を表現するアドレスが生成されて出力ピクセル
位置の系列を作る;(b)連続階調画像がサンプルされ
て、アドレス指定されたそれぞれの出力ピクセル位置に
対応しているサンプルされた連続階調値を生成し、複数
のサンプルされた連続階調値を作る;(c)系列内のそ
れぞれのアドレス指定された出力ピクセルに対して、上
記のサンプルされた各連続階調値とあらかじめ定義され
ている1つのパターンに対する応答として、対応する1
つのハーフトーン出力値が作られ、複数のハーフトーン
出力値を発生する。ハーフトーン出力値のおのおのは次
に、連続階調タイル内にある1つのピクセル位置に対し
て各ハーフトーン出力値が対応させられたときに、ブロ
ック内の対応するアドレス指定された出力ピクセル位置
に書き込まれる。
【0023】特に我々の詳細な知見によれば、我々の発
明にかかる方法は、連続階調画像を互いに重なり合わな
いタイルの配列に、また出力画像をブロックの配列に効
果的に分割することに基礎を置くものであり、後者は通
常連続階調画像が回転される角度φ(回転角)に依存し
て重なり合う。ブロックのサイズは拡大に対しては例え
ば32×32個の位置に固定され、縮小に対してはある
程度可変となっている。タイルのサイズはアナモルフィ
ックな倍率αとβおよび回転角に基づいて決められ、そ
れによりタイルが対応するブロックに対して回転させら
れたときに、タイルのサイズがそのブロック内に納まる
最大の大きさになるようにする。増加ピクセルサンプリ
ング座標系は、回転角度、アナモルフィックな倍率およ
び画面角度θと同時に、とりわけタイルおよびブロック
のサイズに基づいて決められ、ブロック内の各ピクセル
を次々に通るピクセルごとの移動に対して、ブロック内
のそのようなピクセルの各々に対するハーフトーン化さ
れた出力データが、対応する連続階調タイルを完全に含
む連続階調画像内の最小サイズのブロック内に含まれる
連続階調データから得られるようにする。
【0024】増加サンプリング座標はまた、ハーフトー
ンのスクリーニング・パターンを通してのピクセルの対
応する増加移動に対して、とりわけ画面基線および画面
角度θに基づいて定義され、あるブロック内の各ピクセ
ルに対する連続してサンプルされたハーフトーン化され
た値を生成する。増分はまた、連続階調画像内の連続す
るタイルの間の移動および出力画像内の連続するブロッ
クの間の移動に対して定義される。これらの増分がすべ
て選択されると、連続階調画像内の各タイルが次々と処
理されて、それぞれの連続するまた対応するブロックを
ハーフトーン化された出力データで埋める。この処理で
は、現在の出力ブロックを通っての1ビットごとの増加
による一連の出力ピクセル位置の生成が行われ、連続階
調画像を通っての増加方向のサンプリングにより、各出
力ピクセル位置に結び付いた連続階調のサンプル値を発
生して複数の連続階調のサンプル値を生成し、そしてハ
ーフトーンパターンを通っての増加方向のサンプリング
により、連続階調の各サンプル値に対する応答として、
系列内の各出力ピクセル位置に対して対応するハーフト
ーン出力値を発生して複数のハーフトーン出力値を作り
出す。この増分と、増加方向の連続階調およびハーフト
ーン・サンプリング工程は実質上ブロック内で行われ、
現在のブロック内の相連続する各ピクセルに対して1つ
のアドレスが生成された後で、それに対して対応する連
続階調のサンプル値と対応するハーフトーン出力値が生
成される。このプロセスは、現在のブロックがハーフト
ーンの出力値で埋められるまで、高速スキャン方向で現
在のブロックの各列に沿って、また低速スキャン方向に
沿ってそのブロック内の列から列へ移動して行われる。
ハーフトーン化されたデータは、現在のブロック内の位
置のうちで、対応する連続階調のサンプル値を現在処理
中のタイル内に持っているものに対するバッファ内にの
み書き込まれ、ゼロの値はそのブロック内の他のすべて
の位置に書き込まれる。現在の連続階調タイルが完全に
処理されると、バッファの内容はページバッファ内の出
力ブロックに転送される。この出力ブロックは、出力画
像内の現在ブロックの空間位置に対応する位置にある。
現在の連続階調タイルが処理された後でタイル増分によ
り定義された次の続く連続階調タイルが処理されて、出
力画像内の次のブロックに対する出力ハーフトーン化デ
ータを生成し、このプロセスを連続する連続階調タイル
のそれぞれに対して続ける。すべての連続階調タイルが
適切に配列されることを保証するために、連続する連続
階調タイルのそれぞれの開始位置は、1つのブロックの
各辺と1つの対応する回転された連続階調タイルの各コ
ーナーの間に存在する位置オフセットの値で修正され
る。各連続階調タイルは、全連続階調画像を通して1つ
の列に沿って、すなわち高速スキャン方向に逐時的に処
理され、また列から列に、すなわち低速スキャン方向に
逐時的に処理される。
【0025】ハーフトーンデータは、ハーフトーン基準
セルを通ってサンプルすることにより、またはしきい値
マトリックスを通じて、生成することができる。前者の
方法によれば、ハーフトーン基準スタックには複数のハ
ーフトーン基準セルが含まれ、それぞれの基準セルは異
なる値のハーフトーンドット、普通は0%から100%
のドットまで、を含んでいる。サンプルされた連続階調
値のおのおのは、サンプルすべき特定のハーフトーン基
準平面を適切なピクセルアドレスにより選択して、対応
するハーフトーンのサンプル値を生成する。後者の方法
によれば、しきい値マトリックスはこの場合もまた適切
なピクセルアドレスにより連続的にサンプルされ、現在
のサンプルされたしきい値を生成する。このしきい値は
対応する現在のサンプルされた連続階調値と比較され
て、比較の結果により決められる値を持つハーフトーン
の出力ビットを発生する。ハーフトーンのサンプリング
は、ハーフトーン平面内であれまたはしきい値マトリッ
クス内であれ、連続階調画像を通ってのサンプリングと
は独立に、また一般的に連続階調画像を通ってのサンプ
リングとは異なる方向で行われるが、どちらのサンプリ
ングのプロセスもお互いにロックステップ内で動作す
る。
【0026】我々の発明は、2個のチップのアーキテク
チャー、具体的にはマイクロコンピュータと専用ハード
ウェア回路を組み合わせたものを使用して好適に実施さ
れる。後者のハードウェアを以後タイルおよびピクセル
・プロセッサー(TPP)と呼ぶ。マイクロコンピュー
タは、全連続階調画像の処理を通じて固定される様々な
パラメータ、例えばタイルおよびブロックのサイズ、ピ
クセルのサンプリングとタイルの増分など、を設定し、
次にそれぞれの連続する連続階調タイルおよび出力ブロ
ックの開始位置を計算する。マイクロコンピュータはピ
クセルサンプリングの増分をTPPにロードする。その
後、各連続階調タイルに対して開始位置が決定され、T
PPに入力され、その後でその連続階調タイルを処理す
るための命令がTPPに送られる。TPPは内蔵のタイ
ル・プロセッサーにより、出力画像内の連続する出力ピ
クセルのおのおのについて、連続階調およびハーフトー
ンのピクセルサンプリング・アドレスを生成する。これ
らのアドレスは、関連させられた連続階調およびハーフ
トーンの参照メモリーに対してアクセスすることによ
り、サンプルされた各連続階調値および対応する各ハー
フトーン出力値を生成するために、逐時的に使用され
る。TPPによる各連続階調タイルの処理の後、マイク
ロコンピュータはTPPが生成したすべてのハーフトー
ン・データをページバッファ内の対応するブロック内に
転送し、次に連続する次のタイルに対する開始位置を反
映するように、TPP内に記憶されたパラメータの値を
更新する。その後TPPにそのような処理を開始するよ
うに命令し、すべての連続階調タイルを処理するまで続
ける。本質的には、マイクロコンピュータとTTPの組
合せによりネスティングされた処理ループを実行し、T
PPはハード的に2つのネスティングされたループを実
現している。
【0027】我々の発明は、我々の発明によるアーキテ
クチャーの所与の実施例にパラレル処理を容易に組み込
んで、処理のスループットを希望のレベルに向上するこ
とができるという有利な特徴を持っている。それを行う
ために、発明に関わる2−チップのアーキテクチャーを
拡張して、すべて共通のマイクロコンピュータに接続さ
れてそれに制御された複数のTPPを使用して、パラレ
ル処理を容易に実現することができる。各TPPはマイ
クロコンピュータにより、入力される連続階調画像の特
定の対応する重なり合わない部分、例えば水平の帯状部
分を独立に処理するように設定することができる。マイ
クロコンピュータは、時間的に交互にずらされた、本質
的に相互にパラレルな仕方でそれぞれの画像部分を処理
するように、すべてのTPPに対して命令する。各TP
Pがその処理を実行している間、その時そのTPPによ
り生成されており、かつ適切なFIFOに一時的に保存
されるデータを、その後この処理が完了したときに転送
すべき出力バッファの部分をマイクロコンピュータが決
定する。パラレル処理の程度を向上するためにアクティ
ブなTPPの数を増加すると、処理スループットも確実
に増加する。
【0028】下記の説明により、本発明の主要な応用の
1つがディジタル画像処理システム内の後処理環境内に
ページ記述言語を組み込む、すなわちシステムを構成す
る任意の前段の画像処理装置内にではなく、例えばシス
テムで使用される印字出力装置内に組み込むことである
と考えられる限り、画像の回転、拡大・縮小およびハー
フトーン化を比較的高速でまとめて実行するための画像
処理の広範囲の用途に、本発明にかかる技法が使用でき
ることを、本技術分野に習熟した人であれば容易に理解
できるであろう。そこで本発明の以下の説明では、簡単
のために上記の趣旨に沿って述べる。
【0029】本発明の技法と装置の意味のある、かつ詳
細な理解を助けるために、以下の説明はいくつかの段階
に分けて進める。まず、本発明に基づいてページ記述言
語を実行するための画像処理システムの簡単な概観を述
べる。次に、様々な説明図の助けにより、画像の回転、
拡大・縮小およびハーフトーン化をまとめて実行する本
発明のプロセスを説明する。その後、次第に詳しい内容
に進みながら、本発明の技法を組み込んだ画像処理シス
テムの実施例と、その後で2個のチップ(例えばマイク
ロコンピュータ/ASIC)を使用した本技法の実施に
ついて詳しく述べる。後者の説明では、まず両方のチッ
プが実行する動作の高レベルの疑似コードを使った機能
面での説明を行い、次に例えば本技法の重要な部分を実
行するASIC(特定用途向け集積回路)チップ内で使
用される専用ハードウェア回路の説明を行う。
【0030】
【実施例】
A.ページ記述言語を実行するシステム 図1は、本発明の技法にもとづいて画像の回転、拡大・
縮小およびハーフトーン化機能を提供するページ記述言
語(PDL)を実行する画像処理システム5の、単純化
した非常に高レベルのブロックダイヤグラムを示す。図
から分かるように、入力データはリード線7を通ってシ
ステム5に入力される。このデータはそれぞれ関連する
テキスト性のまたは連続階調の画像データをその後に伴
う一連のPDL命令で構成される。このような命令はそ
れぞれ引き続くデータがどの様に処理され、出力ページ
に現れるべきかを指定する。連続して実行されるPDL
命令とそれらに付随するデータが組合わさってデータの
流れを構成し、このデータの流れはリード線7を通って
プロセッサー10に入力される。プロセッサー10それ
自体PDL処理回路13と出力バッファ17を内蔵して
おり、付随するデータに対して対応する画像処理操作を
実行することにより、PDL処理回路を通してそのよう
な命令のおのおのを実行し、その後処理された画像デー
タを出力バッファに書き込む。このバッファの内容はラ
スター形式で読み込まれ、リード線21を通ってディジ
タル・マーキング(書き込み)エンジン25に入力され
る。このエンジンはその最も単純な形態では、その入力
に加えられた対応する各ビットに対して、単一の書き込
みスポット(出力ビット)を出力ページに書き込む。エ
ンジン25は典型的には、300ドット/インチ(約1
18ドット/cm)以上の垂直および水平印字出力ピッ
チを持つレーザープリンターである。印字されたページ
30は典型的には紙上へのハードコピー出力であるが、
エンジン25により生成されて出力バッファ17の内容
を表すものである。
【0031】PDLを使用することにより、ユーザーは
印字されたページ30上に現れる画像のような対象を定
義することができ、その対象は望みの仕方で処理され、
その他のものとの正確な相互位置関係で配置され、全ペ
ージを適切に構成することができる。ディジタル画像を
処理する上でユーザーに最大限のフレキシビリティを与
えるために、DPLは任意の一様でアナモルフィックな
画像の、有限な境界内での拡大・縮小、任意の角度での
画像の回転、および任意の画面角度と画面基線によるハ
ーフトーン化をサポートする必要がある。文書中の画像
が同一ページ内の他の対象と適切に組み合わされるため
には、これらの画像処理機能は非常に正確に実行されな
ければならず、さもないと印字した際にページ上に不要
なものやその他のエラーが現れる。
【0032】例えば、一連のPDL命令により、入力連
続階調画像8を各方向に0.5倍し、約45゜回転して
からハーフトーン化し、次に出力ページの中央に配置し
て、ページ30上に配置された出力画像33を生成する
ように指定することができる。これらの命令はまた文字
Aおよびbを出力画像33の両側に置き、文字Aを水平
方向と垂直方向の両方に2倍に拡大するように指定する
こともできる。これらのPDL命令とそれに付随するデ
ータの処理において、PDLプロセッサー13は以下に
述べるように連続階調画像データを操作して、画像の望
みの回転、拡大・縮小およびハーフトーンされた出力を
生成してその結果を出力バッファ17に書き込む。プロ
セッサー13はまたPDL命令で定義されたテキストデ
ータをも操作する。出力バッファ17は、少なくとも1
ページ、普通は数ページの全出力ページ分のハーフトー
ン化された画像データを、エンジン25の印字解像度で
保存するだけの十分な容量を持っている。
【0033】本発明の趣旨はあるPDLで使用される特
定の命令にあるのではなく、また各PDL命令と付随す
るデータが発生される仕方に存するものでもなく、画像
の回転、拡大・縮小およびハーフトーン機能を実行して
これらの機能をあるPDLに与える仕方に関わるもので
ある。したがって、以下の説明は画像の回転、拡大・縮
小およびハーフトーン化を中心に行う。
【0034】B.発明のプロセス 本発明のタイル方式のプロセスを、図3〜図6,7,8
および9を参考にしながら全体として定性的に説明す
る。システム5内で画像の回転、拡大・縮小およびハー
フトーン化を実行するための本発明のプロセスを構成す
る様々なタイル方式の操作を図3〜図6に示し、これら
の図に対する描画シートの正しい配列を図2に示す。様
々な空間的に対応する連続階調ボックスおよび出力ブロ
ックの例に対する連続階調サンプリングおよび出力デー
タの書き込みを図7に示す。単一の連続階調ボックスお
よび対応する出力ブロックの詳細をそれぞれ図8および
5に示す。以下の説明全体を通じてこれらの図を参照さ
れたい。
【0035】本発明のプロセスは、まず全入力連続階調
画像を互いにスムーズに接する同じ寸法のタイルに分割
することを基礎としている。図7に示した連続階調画像
301は、全連続階調画像を通じて水平および垂直方向
に広がる連続階調タイル310、310、31
、・・に分割される。図3の表示210が拡大図と
して、画像部分215が3×3マトリックスに配列され
た9つの連続階調タイル215、215、・・、2
15で構成されることを示している。この画像が分割
されると、各連続階調タイルは次々と処理されて出力、
例えばハーフトーン化されたビット値を作り、そのビッ
ト値はそのような各タイルに対して出力バッファ内の位
置の対応する正方形ブロック内にタイルとして書き込ま
れる。これに関連して、図7に示した出力バッファ17
内のブロック371、371、371、・・に
は、出力画像33を構成するスムーズに接した対応する
出力タイル375、375、375、・・に対す
る出力ビット値が含まれる。各出力タイルは1つの対応
する連続階調タイルの出力データを含む。以下の説明を
通じて、連続階調タイルとは互いに集まって連続階調画
像を形成するもののことであり、出力タイルとは集まっ
て出力バッファ17内に形成される出力画像を構成する
もののことであることを念頭に置いて頂きたい。
【0036】出力バッファの各ブロックは、サイズが例
えば32×32点に固定されている。各コントーン(連
続階調)タイルごとに別々のブロックが存在する。連続
階調画像を出力ページに対して希望の角度φだけ回転で
きる限り、タイルは出力ブロックに対してφ度だけ傾け
られる。これは図2の表示210で出力ブロックがそれ
らに空間的に対応するタイルに重ね合わされている状態
と、図7の傾斜させられた出力画像33により示されて
いる。
【0037】以下に詳しく述べるように、初期化の間に
各タイルのサイズは1つの出力ブロック内に納まるよう
な最大サイズに設定される。各タイルのサイズは次の3
つの要素によって決まる;低速および高速スキャン方向
(αおよびβ)における倍率、連続階調画像を回転する
角度(φ)および出力ブロックサイズ(例えば32×3
2個の出力点に固定されている)である。各出力タイル
は対応するブロック内で回転させられるので、隣接する
連続階調タイル215および215の出力データを
含む図3に示すブロック217と217のように隣
接するブロックは、出力バッファ内で重なり合う。隣接
するブロックの重なり(オーバラップ)の程度は、連続
階調画像が回転させられる角度φの大きさによって決ま
る。この角度が増加すると、重なり合いの程度も増加す
る。ブロック217内での重なり合い部分は、斜線を
施した領域219内で起こる。他のそれぞれのブロック
内でも同様の領域が生じる。重なり合いにより、すべて
の隣接するタイルがつながっており、互いに適切に並ん
でいることが保証される。
【0038】表示220はその様な連続階調タイルの一
例、例えばタイル215が対応する出力ブロック、例
えば217の上に重なっているのを示している。これ
からわかるように、このタイルはブロックに対して回転
角μの方向を向いている。
【0039】連続階調画像がこのように定義されて、ブ
ロック対して角度が付けられると、連続階調画像は2次
元的にサンプルされて、その結果各ブロックに必要とさ
れる連続階調データが、それと結び付いた連続階調タイ
ルから得られる。サンプリングは連続階調平面、例えば
図7の平面301内で行われるので、高速および低速ス
キャン方向(vおよびu)での2次元サンプルの増分も
また以下に詳しく述べるように初期化の間に設定され、
連続階調画像の1つのタイルに対する出力データを含む
べきすべての出力ブロック内のおのおのの、そしてすべ
ての出力位置について、連続する異なる連続階調サンプ
ルが生成されるようにする。その結果、連続階調画像内
の連続階調値のある領域(出力ブロックと区別するため
に、今後連続階調ボックスと呼ぶ)がラスター形式で事
前に決められた増分で完全にサンプルされて、連続する
連続階調サンプルを生成する。この連続する連続階調サ
ンプルは、ハーフトーン化などで処理されると、出力画
像内の空間的に対応する出力ブロックを完全に埋めるの
に十分な数の連続する連続階調出力値を発生する。その
ようなサンプルされた値の1つ1つが生成されて処理さ
れると、その結果出来るハーフトーン化された出力値は
1つの出力ブロック内の対応する出力位置に書き込まれ
る。これに関連して、それぞれ連続階調タイル32
、310、310、・・・を含む連続階調ボッ
クス320、320、320、・・・はそれぞれ
相次いでラスター形式でサンプルされて、そのようなボ
ックスのそれぞれに対する一連の連続階調サンプルを発
生する。各ボックスに対するこれらのサンプルはその後
ハーフトーン・スクリーニングにより処理されて、対応
する一連のハーフトーンビット(書き込みスポット)を
発生する。これらのハーフトーン・ビット列は、対応す
る出力ブロック内の適切な連続する位置、例えば出力ブ
ロック371、371、371、・・・に書き込
まれる。図7は連続階調ボックスとそれに結び付いた出
力ブロックの間の空間的な対応を図示する。具体的に
は、連続階調ボックス320、320および320
に対するサンプルされた連続階調値はそれぞれの線3
31、332および333で示されるようにハーフトー
ン・スクリーナー340にかけられる。これらの線は、
これら3つの連続階調ボックスのそれぞれに対して生成
された連続階調サンプルを視覚的に識別する役割を果た
す。ハーフトーン・スクリーナー340は、これらのボ
ックスのそれぞれに対して生成された連続階調サンプル
に対して動作して、以下に述べる様な仕方で別々のハー
フトーン・ビットパターンを供給する。線331、33
2および333上に現れる連続階調サンプルから生じる
ハーフトーン・ビットパターンはハーフトーン・スクリ
ーナー340により、それぞれの線341、342およ
び343を通ってクリッピング・ロジック350に送ら
れる。以下に述べるようにこのロジックによって供給さ
れる出力ビットは、それぞれ線361、362および3
63で示されるように出力バッファ17および特に対応
する出力ブロック371、371、371内に書
き込まれる。この様にして、連続階調ボックス32
、320および320のおのおのから生じる連
続階調サンプルは、対応する一連のスクリーニングされ
た出力値を生成する。これらの出力値は対応する出力ブ
ロック371、371、371に書き込まれる。
連続階調画像301内の各連続階調ボックスは逐時的に
処理されて出力データを対応する出力ブロックに書き込
み、すべての出力ブロックを埋めるまで行われる。
【0040】出力データは、対応する連続階調タイルに
結び付いた領域を埋めるために出力バッファ内の各ブロ
ック内で必要なだけである。回転角度に基づいて連続階
調タイルがある連続階調ボックスを完全には占有しない
ので、以下に説明するようにクリッピングは、処理され
て出力値を生成する連続階調タイル内にある連続階調サ
ンプルを定義するのに使用される。これらの出力値は連
続階調ボックス内の残りの連続階調サンプルから出力ブ
ロック内の出力タイルに保存されるが、これら残りの連
続階調サンプルは効果的に無視される。これら後者の値
が隣接する出力ブロックの重なり合う領域に対する出力
データを生成するので、ゼロの値は出力バッファ内の対
応する出力位置に書き込まれる。最も単純な形態では、
クリッピングは、出力ブロック内の各出力位置への書き
込みに当たって、ハーフトーン・ビット値またはゼロの
値をかける単純なスイッチと見ることができる。スイッ
チ351、352および353は、その時点で線34
1、342または343に現れているハーフトーンビッ
ト値か、または線345に与えられたゼロの値をそれぞ
れの線361、362および363に送ることにより、
出力ブロック371、371、371に対するク
リップ機能を行う。任意の出力ブロックに対してハーフ
トーン・ビットをかけるかそれともゼロの値かの選択
(スイッチ設定)は、直交クリッピング座標(Kおよび
L)の同時に発生する値に基づいて行われる。これらの
座標は、与えられた現在のタイルサイズに対して、変数
KおよびLにおける単位の距離が連続階調タイルの縁に
沿っての距離に等しいように定義され、スケールが決め
られる。具体的には、KとLは共に連続階調タイル内で
は1の値に等しく、このタイルの外ではゼロまたは2と
なる。これらのクリッピング変数は各連続階調タイルの
境界を効果的に取り囲み、ゼロの値を各ブロックのすべ
ての残りの領域に書き込みながら、対応する出力タイル
によって占有されるべき各出力ブロック内の領域を出力
データで満たすことを可能にする。処理された連続階調
サンプルデータ、例えばハーフトーン・ビットは、Kと
Lの値が両方とも1に等しいような1つのブロック内
の、すなわち任意の出力ブロック内に含まれるがどの重
なり合い部分にも含まれない1つの出力タイルのみの内
部の、空間的に対応する出力位置に書き込まれる。Kと
Lの値はラスター形式においても、現在の出力ブロック
内に書き込まれる現在の出力位置に対するアドレスの増
加と同様に、適切に増加させられる。
【0041】図3の表示220に示されるサンプル線2
23が示すように、連続階調のサンプリング方向は出力
バッファの水平および垂直方向にマッチする方向に向け
られているが、連続階調画像の回転のために、各連続階
調タイルに関して角度が付けられている。実際にサンプ
ルされるのは入力されてくる連続階調の値なので、サン
プル線223、223、223、・・・223
による角度を付けたサンプリングは入力連続階調画像を
通して適切なサンプリング増分で行われ、各連続階調ボ
ックス内のタイル215のような各画像タイルからデ
ータを得る。十分な連続階調サンプリングがラスター形
式で行われて、各出力ブロック内のすべての出力位置に
対するデータを生成するので、サンプリングは各タイル
の外周を超えて延長されて全連続階調ボックスを埋める
ことになる。これに関連して、サンプル線223、2
23、223、・・・223(集まって一緒に線
223を構成する)は連続階調サンプルを生成するが、
それら連続階調サンプルのおのおのは図8の連続階調タ
イル310を含む連続階調ボックス320全体にわ
たってXの印が付けられている。その結果得られるサン
プル値により、図9に示す周辺部分377を含み、ブロ
ック371のような全出力ブロックを埋めるのに十分
な出力データが得られる。ブロック371のような出
力ブロックは、ラスター形式で軸pとqで示される方向
に埋められて、データはそのブロックの左上隅からスタ
ートしてその右下隅まで、32×32個の固定した出力
位置(それぞれ黒丸の点で示されている)のそれぞれに
書き込まれる。このブロック内でのクリッピングのため
に、周辺部分377(交差する斜線で示してある)内に
ある出力位置にゼロが書き込まれ、ハーフトーンのビッ
ト値が出力タイル375内にある残りの位置に対して
書き込まれる。同様に図3の320は、連続階調タイル
215に対する連続階調サンプリングおよび、このタ
イルと出力ブロック217の間の空間的対応を示す。
【0042】連続階調画像に対しては、サンプリングは
出力画像内の一番上の出力ブロックに対応する連続階調
ボックスの左上隅(ULC)から始まり、ボックス内を
通って垂直下向きに続く。このブロックそれ自体は出力
画像のULC内にある。各連続階調ボックスがサンプル
された後で、サンプリングは連続する次の連続階調ボッ
クスのULCで始まり、以下同様に続く。現在の連続階
調ボックスに対するULCアドレスを維持するために適
切な変数が使用され、連続するおのおのの連続階調ボッ
クスのULCでサンプリングを開始するために高速およ
び低速スキャンの増分で適切に増加される。このように
して、例えば図2の出力画像部分217を構成する21
、217、217のような連続する出力ブロッ
クを埋める出力データが生成される。したがって、出力
画像はブロック単位で作られ、出力データはそのような
ブロックのおのおのに対するデータの出力タイルを供給
する。
【0043】図4の230は2次元の連続階調サンプリ
ングを詳細に示す。例としてサンプリング線223
よび2231+1を特に示す。変数pixel_vおよ
びpixel_uが連続階調画像内の現在のサンプリン
グ位置のアドレスを座標uおよびvとして記憶する。こ
れらの変数は高速および低速スキャン方向においてピク
セルサンプリング増分Δpixel_u_fast、Δ
pixel_v_fast、Δpixel_u_slo
wおよびΔpixel_v_slow(簡単にΔu_f
ast、Δv_fast、Δu_slowおよびΔv_
slowとも表記する)だけ適切に増加される。これら
の増分は、と言うよりもΔの付いたすべての値は初期化
の際に設定され、各連続階調ボックスを埋めるのに適当
な数の連続階調サンプル点が生成されるようにする。2
30で示されるように、連続階調サンプリングはサンプ
リング線、例えば線223、の左側の開始点で始ま
り、高速スキャンのvおよびu方向のピクセルサンプリ
ング増分Δpixel_v_fastおよびΔpixe
l_u_fastだけサンプリングアドレスを次々と増
加させながら、ある位置から次の位置へとこの線に沿っ
て進み、等間隔に配置された一連のサンプリング点23
、231、231、231および231
生成する。サンプリング線上の最後のサンプリング位
置、例えば図の位置231に達すると、サンプリング
アドレスは低速スキャンのピクセル・サンプリング増分
Δv_slowだけ増加されて、次の連続サンプリング
線上、つまり線2231+1などの左端の位置でサンプ
リングを開始する。それ結果得られる連続階調サンプル
点を各サンプリング線上のXで示す。
【0044】図4の240で示されるように、サンプル
された各連続階調値は特定のハーフトーン基準セルを選
択するために、フォントメモリーつまりハーフトーン基
準スタックに対するアドレスの役割を果たすだけであ
る。メモリー内に記憶されたスタック242(図示せ
ず)はあらかじめ定義された数、例えば256個の異な
るセルを記憶する。各セルは特定の1個のハーフトーン
・ドットのビットマップ(例えば64×64個のピクセ
ルからなる)を保持する。スタック242内ではドット
・プロフィール245に示すようにドットのサイズは、
セル242内のゼロサイズドットからセル242
255内の100%ドット(セルを完全に埋めるドッ
ト)まで緩やかに変化する。例示したセル24247
よび242181はそれぞれ中間的なサイズのドット2
4547および245181を記憶する。これらのドッ
ト・パターンはスムーズなものとして示されているが、
実際は量子化されている。希望のセルを選択すると、そ
のセルは2次元の高速および低速スキャン増分を使っ
て、スクリーン角度θで示される方向にサンプルされ
る。スキャン増減分は、出力ブロックが適切な数のハー
フトーン・ドットを含むように、スクリーン角度、スク
リーン基線および印字出力(レーザー)周波数で決めら
れる。
【0045】連続階調およびハーフトーンのドット・サ
ンプリングはロックステップ内で進行し、サンプルされ
たすべての連続階調値がサンプルされたハーフトーン・
ドット値を作る。しかし、ハーフトーン・サンプリング
が行われる方向と増分は、連続階調サンプリングが行わ
れる方向と増分からは完全に独立している。
【0046】ここで説明の便宜のために、現在の連続階
調サンプルの値がハーフトーン基準セル24547を選
択すると仮定する。同時にスクリーン角度θが約10゜
であると仮定する。図5の250で示すように、部分ス
クリーン248のようなハーフトーン・ドットスクリー
ンは継目の無い2重周期の2次元ハーフトーン・ドット
パターンを含んでいる。この図は出力ブロック、具体的
にはブロック217がハーフトーン・スクリーン24
8に重なっているのを示している。ハーフトーンのドッ
トサンプリングは高速および低速スキャン方向に沿って
2次元ラスター形式でスクリーン内を通って行われる。
これらの方向は出力バッファと平行に走る。しかし、サ
ンプリングは実際には選択されたハーフトーン・ドット
セル内で行われるので、角度を付けられたサンプリング
はスクリーン角度の負側と等しい方向で行われる。スク
リーンパターンの周期性のために、サンプリング線がハ
ーフトーン・セルの縁、例えば260で示された辺25
1、252、253または254に当たると、その線は
折れ曲がって反対側の縁(端)に行き、そこから次のサ
ンプリング線を開始し、これを繰り返す。
【0047】これに関連して、例示したサンプリング線
257および257m+1はハーフトーン基準セル2
4247を通って横切り、各線に沿っての一連のハーフ
トーン・サンプリング点を生成する。連続階調サンプリ
ングに対して行われるものと同様にして、ハーフトーン
基準セルのサンプリングも軸xおよびyに沿って、各ハ
ーフトーン・サンプリング線に沿う増分をつけて行われ
る。変数pixel_xおよびpixel_yはハーフ
トーン基準セル内の現在のサンプリング位置のアドレス
をxおよびy座標として記憶する。これらの変数は高速
および低速スキャン方向においてピクセルのサンプリン
グ増分Δpixel_x_fast、Δpixel_y
_fast、Δpixel_x_slowおよびΔpi
xel_y_slow(Δx_fast、Δy_fas
t、Δx_slowおよびΔy_slowとも表記す
る)だけ適切に増加される。これらの増分はまた初期化
の際に設定され、各出力ブロックを埋めるのに適当な数
のハーフトーン・ドットサンプル点が生成されるように
する。260で示されるように、連続階調サンプリング
は線257のようなサンプリング線の左端の開始点で
開始され、高速スキャンのyおよびx方向のピクセルサ
ンプリング増分Δy_fastおよびΔx_fastだ
けサンプリングアドレスを次々と増加させながら、ある
位置から次の位置へとこの線に沿って進み、例示した点
261、261、261および261を含む等
間隔に配置された一連のサンプリング点を生成する。最
後のサンプリング位置に達すると、サンプリングアドレ
スは低速スキャンのピクセル・サンプリング増分Δy_
slowおよびΔx_slowだけ増加されて、次の連
続サンプリング線上、つまり線257m+1などの左端
の位置でサンプリングを開始する。その結果得られるハ
ーフトーン・サンプル点を各サンプリング線上のXで示
す。もしもそのようなサンプル点のどれでも基準セル内
にあるハーフトーン・ドット上またはその中にある場合
は、それに対応するハーフトーン化された出力値は1で
あり、そうでなければその出力値はゼロである。結果と
して得られる1および0の出力値は、クリッピングのロ
ジックにより出力画像に対する書き込みスポットの値と
して出力バッファ内に記憶されるスクリーンされたハー
フトーン化ビットである。
【0048】ハーフトーン・サンプリングのこのプロセ
スは良く知られており、例えば本願で参照されている合
衆国特許4,918,622(1990年4月19日に
E.M.Grander他に認可:以下’622グラン
ダー他特許と呼ばれ、これも本被譲渡人に譲渡されてい
る)で完全に開示されている。したがって、本プロセス
の更に深い内容に付いては’622グランダー他特許を
参照されたい。本発明においてはいかなる特定のハーフ
トーン化プロセスを使用することも重要な意味を持たな
いので、他の良く知られた様々なハーフトーン化プロセ
スのどれでも必要に応じて使用できる。
【0049】最後に、ハーフトーン・スクリーナーによ
り生成されるハーフトーンビットは図6の270で示さ
れるように、クリッピング・ロジックを通して適用され
る。上に述べたように、クリッピングは有効なハーフト
ーン・ビット、すなわち出力ブロック内の出力タイル上
またはその中にあり、出力バッファ内に書き込まれるべ
きものを、出力バッファ内でゼロに設定されるべきその
ブロック内の残りのハーフトーンビットから識別するた
めに使用される。270で示されるように、スクリーニ
ングされたハーフトーン・ビットはリード線274を通
してスイッチ275の1つの入力に加えられる。ゼロの
値はリード線を通してこのスイッチの他の入力に加えら
れる。クリッピング変数KおよびLのAND結合の値
は、ANDゲート273によりリード線276上に生成
されて、スイッチ275の制御入力に加えられるが、こ
の値により、このスイッチは出力リード線277にハー
フトーン・スクリーニングビットまたはゼロの値を入力
する。リード線277に現れるビットは、出力バッファ
内の現在の出力ブロックの中で継続するアドレスに記憶
される。リード線271に現れるクリッピング変数Kお
よびLの値は両方とも1であるが、ハーフトーン・スク
リーナーにより作られるスクリーンされたハーフトーン
・ビットは有効である。したがってANDゲート273
の出力はこれらのビットに対しては高レベルであるが、
その他の場合はゼロである。 上で議論したように、連
続階調サンプリングとスクリーニング操作はロックステ
ップ内で、つまり協調して行われ、同時にそれぞれが対
応するサンプル点を生成する。連続階調画像とハーフト
ーン基準のそれぞれの平面内での、および出力画像平面
(出力バッファ)内での同時増加方向ピクセル移動、お
よびその結果得られる各ピクセル位置の間の対応を視覚
的に明確にするために、図10に示したようにこれらの
平面を垂直に配列して考える。増加サンプリング距離を
連続階調画像平面630およびハーフトーン基準平面6
20内で適切に選び、連続階調画像の回転角φ、ハーフ
トーン・スクリーン角θおよび倍率(αとβ)が与えら
れると、連続階調およびハーフトーン基準平面内での対
応する現在のサンプリング位置と出力画像平面内での現
在の出力位置は、常にこれら3平面と垂直に交差する1
本の共通の線、具体的には線685、の上に乗る。サン
プリングがこれらの3平面のそれぞれの上の他の点に進
むと、線685はそれに従ってそれぞれがこれら3平面
の1つの中にある垂直に配列された他の3点の組と交差
するように移動するだけであり、以後このプロセスが続
く。
【0050】タイル661および664の出力データを
含むブロック651および654のような、出力画像6
40内のどのブロックに対しても、本発明のプロセスは
事実上また点線670で示されるように、連続階調画像
平面およびハーフトーン基準平面の両平面内でデータの
対応するボックス、例えばボックス633および623
を通ってサンプルするように働く。その結果サンプルさ
れた連続階調値は破線683で示されるように、サンプ
ルすべき特定のハーフトーン基準平面を選択するために
使用される。サンプルされたハーフトーン・ビットは破
線687で示されるように、出力画像平面610内の対
応する出力タイル661および664内の出力位置を埋
めるために使用される。本発明のプロセスは、出力画像
640の左上隅のブロックからはじめて出力画像平面内
の連続するブロックを次々に埋めて行き、連続階調およ
びハーフトーン基準平面内のデータの対応するボックス
を処理しながら、この画像が完全に書き込まれるまで出
力画像640の右下隅まで進む。
【0051】C.本発明の技法を用いた画像処理システ
ム これまで本発明のプロセスを定性的に説明してきたの
で、このプロセスをその画像処理機能の一部として組み
込んだ画像処理システム700の高レベルのブロックダ
イヤグラムを図12および図13に示す。図12および
図13に対する描画シートの正しい配列を図11に示
す。
【0052】図から分かるように、システム700は命
令および制御プロセッサー701、画像データデコンプ
レッサー720、画像処理パイプライン730および出
力バッファおよびメモリー管理ユニット760で構成さ
れ、これらのユニットはみなバス750で結合されてい
る。システム700は入力画像データをパケットの形で
受け取り、入力バス705に適切なヘッダーを持ってい
る。これらのパケットのおのおのは1つ以上の画像処理
命令と付随する画像データを含み、データは典型的には
圧縮された形になっている。命令および制御プロセッサ
ー710はシステム700の全体の制御を行う。これに
関連して、プロセッサー710は各入力パケットのヘッ
ダーを読んでそのパケットを後の処理のために適切な行
き先に送り出す。処理はプロセッサー710それ自身の
中で開始される。例えば画像の回転、拡大・縮小および
ハーフトーンその他の場合、デコンプレッサー720ま
たは画像処理パイプライン730の中で開始される。出
力バッファとメモリー管理ユニット760は処理された
画像データの一時記憶または局部的使用、あるいはその
両方、またはマーキングエンジンのための出力画像デー
タ保持用のフレームメモリーとして、複数ページのRA
Mを持っている。
【0053】命令および制御プロセッサー710はレジ
スター711、マイクロコンピュータ713、リードオ
ンリーメモリー715およびRAM717を含むが、こ
れらはすべてローカルバス716で接続されている。こ
のバスは図示してない適切な回路を通して入力バス70
5と相互接続バス719および750にインターフェー
スされている。レジスター711はリード線705を通
して入力される外部コマンドを使って、リード線705
によりロードできる。システム700の全体の制御に使
用され、これを上流側の画像取り扱いおよび/または処
理システムにインターフェースするために使用される、
様々なパラメータと供給状態の情報がこれらレジスター
に記憶される。マイクロコンピュータ713は市販され
ている多種類の標準的なシングルチップ・マイクロコン
ピュータの中のどれでも良い。ROM715はプログラ
ムと定数データを記憶する。RAM717は以下に述べ
るようにマルチレベルのハーフトーン基準(フォント)
データ、具体的には256レベルのハーフトーン基準セ
ルの16個の異なるスタック、およびあらかじめ定義さ
れたノイズデータを記憶する。このRAMはシステムの
初期化の間にフォントとバス705上に現れるノイズデ
ータを使ってロードされる。
【0054】デコンプレッサー720は入力画像データ
のパケットを受け取って、良く知られた方法でデータの
圧縮を解き(デコンプレス)、システム700内に一時
的に記憶されて、その後システム700により処理され
るデコンプレスされたデータを生成する。
【0055】画像処理パイプライン730はデコンプレ
スされた画像データに対して特殊な画像処理を施す。こ
のパイプラインは3−直線内挿器733、RAMメモリ
ー731および735、タイルおよびピクセルプロセッ
サー(TPP)740およびタイリングRAM742で
構成される。入力される24ビットの画像データ(24
D)は、3−直線内挿器733およびTPP740に入
力される。具体的には、内挿器733がテーブル・ルッ
クアップと内挿操作を用いて、3次元での様々な良く知
られた色変換を行い、入力された赤、緑、青(R,G,
B)の値を印字可能なシアン、黄色、マジェンタおよび
黒(C,Y,M,B,)の値に変換する。RAM731
は内挿器733が使用する様々なルックアップ・テーブ
ルを記憶する。これらのルックアップ・テーブルはかな
り複雑であるが、「基準」印字出力装置を使って作成さ
れる。3−直線内挿器は24ビットの出力データ(12
D)を供給し、RAM735に保存されたルックアップ
・テーブルを通して送り出す。この後者のルックアップ
・テーブルは比較的単純なものであるが、24ビット出
力データを8ビット形式に変換し、ドット・ゲインの影
響などのC,Y,M,K値、特に現在使用されている印
字出力装置に対する補正を行う。異なる印字出力装置
(マーキングエンジン)が使用されると、RAM735
に記憶されたテーブルはその印字装置の出力特性に合う
ように適切に変更される。RAM735内のルックアッ
プ・テーブルを変更することにより、RAM731に記
憶された複雑な3次元内挿テーブルに変更を加える必要
が無くなる。もしも24ビットのカラー入力データでは
なく8ビット(連続階調)データが内挿器733に与え
られると、連続階調データは何の変化も受けずに、内挿
器とRAM735を通ってTPP740へ送られる。
【0056】RAM735から供給された8ビットデー
タは、TPP740に加えられる連続階調値である。T
PPは以下に述べるように、マイクロコンピュータ71
3と共に本発明の技法を実行し、タイル方式の画像の回
転、拡大・縮小およびハーフトーン・スクリーニングを
行う。TPP740はマイクロコンピュータ713によ
り適切に設定され、1度にタイル1枚全部の連続階調デ
ータを処理して、例えばハーフトーン化されたビットを
生成する。TPPがタイル開始座標を受け取るなどして
設定されると、TPPはマイクロコンピュータ713か
らは独立に完全な連続階調タイルを処理する。このよう
にマイクロコンピュータは全連続階調画像をタイル化
し、各タイルに対する開始(ULC)座標と連続階調お
よびハーフトーン基準サンプリングに対する増加サンプ
リング距離を計算し、この情報をTPPに供給し、そし
てTPPに最初の連続階調タイルの処理を開始するよう
に命令する。TPPがこのタイルの処理を完了すると、
マイクロコンピュータはTPP内の開始タイル座標を次
の連続階調タイルの座標に更新し、TPPによるそのタ
イルの処理を開始し、全連続階調画像が処理されるまで
このプロセスを連続する連続階調画像タイルのそれぞれ
に対して繰り返す。タイリングRAM742は典型的に
は128kバイト×8ビットの容量であるが、TPP7
40で使用するために連続階調画像のN本の完全な線
(すなわち実質的に「帯」)を記憶する。RAM742
は高速RAMで構成されているが、比較的小さな容量の
ために、同程度のスピードのフルサイズのフレームバッ
ファに比べて、はるかに安価であり使いやすいと言う利
点がある。RAM742に記憶される連続階調画像線の
実際の数Nに基づき、TPP740は高速および低速ス
キャン方向のそれぞれにおいて、Nから1/Nまでの範
囲で画像の拡大/縮小をすることができる。
【0057】出力バッファおよびメモリー管理ユニット
760はアドレスジェネレータ762、メモリーコント
ローラ769、および出力バッファ766を含んでい
る。出力情報は例えばパイプライン730からバス74
7と750を通してユニット760に入力される。この
ユニット内では、この情報のアドレス部分はバス761
を通してアドレス・ジェネレータ762に送られる。ア
ドレス・ジェネレータはこのアドレスをブロックアドレ
スに翻訳し、そのブロックアドレスをリード線763を
通してメモリーコントローラに送る。メモリーコントロ
ーラーは、ブロックアドレスを適切なメモリーアドレス
に翻訳し、これをリード線767を通して出力バッファ
766のアドレス入力端子に送る。出力情報のデータ部
分はバス761を通ってバッファ766のデータ入力に
送られる。これらのバッファは複数ページのRAM76
8を持っており、このRAMは同じ容量の2グループの
ページバッファ768および768に分けられてい
る。これらのページバッファは良く知られた「ピンポ
ン」方式で出力データが1つのグループのページ、例え
ば768に書き込まれている間データが他のグルー
プ、例えば768から読み出されるように集合的に操
作される。バッファ768から読み出された出力データ
は、出力データリード線772を通ってバイナリー(2
レベル)マーキング(書き込み)エンジンに供給され
る。ここで本発明の説明に戻り、図14は図12および
図13に示したシステム700で使用される本発明の技
法の、2−チップ方式の実施例(マイクロコンピュータ
713およびTPPプロセッサー740)のブロックダ
イヤグラムを示す。この実施例をまとめてタイル変換お
よびハーフトーン(TTH)回路800と呼ぶ。
【0058】TTH回路800はマイクロコンピュータ
713、TPP740および出力バッファ/メモリー管
理ユニット760で構成される。上で述べたように、マ
イクロコンピュータ713は連続階調画像内の各タイル
の開始点と増加サンプリング距離を計算する。マイクロ
コンピュータはまた回転角φとスクリーン角θのサイン
およびコサインの値を計算するが、これらの機能(関
数)をソフトウェアに組み込む方がTPP内に組み込む
よりもはるかに簡単である。TPPは専用ハードウェア
回路であり、ゲートアレイまたは特定用途集積回路(A
SIC)あるいはその他のカスタマイズ化の容易な高度
集積回路を使って構成したものである。これは連続階調
およびハーフトーン基準平面の両方において定義された
領域を通ってサンプリングすることにより各タイルを処
理する。
【0059】マイクロコンピュータとその制御プログラ
ムは、TPPと共に2つのネスティングされたループを
実行する:すなわち画像内の各連続階調タイルの処理の
ために主にマイクロコンピュータ内で実行する外側ルー
プと、かかるタイルのそれぞれの中の各ピクセルの処理
のためにTPP内でのみ実行する内側ループである。以
下に詳しく議論するように、マイクロコンピュータは各
連続階調タイルを適切に処理するようにTPPを設定
し、次にそのタイルを完全に処理するようにTPPに命
令する。更にマイクロコンピュータは以下に議論するよ
うに、倍率パラメータ、回転パラメータおよびハーフト
ーン化パラメータ等、全画像に対して存在する様々なパ
ラメータを設定する。一旦設定されると、これらのパラ
メータは全画像を通して一定である。
【0060】図14に示すように、入力(連続階調)デ
ータはリード線803を通って、リード線805を通し
て送られるジョブ制御データ(命令情報)と共に、マイ
クロコンピュータ713に送られる。様々な管理制御信
号が、画像処理を制御・管理するためにリード線807
を通してマイクロコンピュータに送られる。マイクロコ
ンピュータはまた利用可能/動作中状態などの状態情報
をリード線811、入力流制御信号をリード線809に
送り出す。状態情報は上流側回路(図示せず)に接続さ
れ、上流側回路にTTH回路800の現在の状態を知ら
せる。流れ制御信号はマイクロコンピュータがいつでも
一度に受け取る入力連続階調データの量を制御するため
に使用される。マイクロコンピュータ713は形状情報
をリード線813を通して、タイル情報をリード線81
5を通して、また様々な制御信号をリード線817を通
して、TPP740に供給する。形状およびタイル情報
は、TPPが画像内の連続する連続階調タイルのおのお
のを処理するために必要となる数値パラメータである。
形状画像は連続する連続階調タイルのおのおのに対して
タイル情報を更新しながら、1画像当り1度適用され
る。TPP740は利用可能/動作中状態などの状態情
報をマイクロコンピュータに供給する。リード線819
上で供給される状態情報をモニターすることにより、マ
イクロコンピュータは、TPPが現在のタイルに対する
ピクセルサンプリング操作を行っている間、連続する連
続階調タイルに対するパラメータ値を計算出来ると同時
に、他のタスクも実行できる。更に、TPPがその処理
を完了してその状態を変えると同時に、マイクロコンピ
ュータが単純なハンドシェーク・プロトコルと共にTP
Pに連続する次の連続階調タイルに対するパラメータ値
をロードすることができ、その後TPPの待機時間を最
小限にしてシステムのスループットを向上するようにタ
イルの処理を開始することができる。以下に詳しく議論
するように、TPPはRAM717の適切なハーフトー
ン・フォントとノイズデータにアクセスしてハーフトー
ン・スクリーニング中に使用する。そのために、TPP
は適切なアドレス情報(現在のx,yサンプリング位置
のアドレス)をリード線841を通してRAM717に
入力し、それから得られるハーフトーンおよびノイズデ
ータをリード線843を通して受け取る。タイリングR
AM742はアドレスリード線831およびデータリー
ド線833を通ってTPP740に接続されており、現
在処理されている連続階調タイルのN行の帯に対する連
続階調データを記憶する。連続階調データの最初の帯
は、それぞれの先行する帯が完全に処理された後、ロー
ドされている連続する帯のおのおののデータについてタ
イルの処理を行う前に、マイクロコンピュータ713に
よりRAM742にロードされる。RAM742に記憶
されたデータはTPPによりサンプルされる。
【0061】TPPが出力画像内の現在のブロックに対
する各出力ビットを生成すると、そのビットはFIFO
(先入れ先出し)ファイル857内に記憶される。この
様にして、FIFOファイルは処理中の現在の出力ブロ
ックに対するデータを蓄積する。このFIFOは非同期
コントローラーを通してのバッファ読み出しを通じて実
現されるものとして破線で示される。
【0062】TPPが各出力ブロックを生成して、それ
をハンドシェーク・プロトコルとリード線819に加え
られる状態情報の変化を通じてマイクロコンピュータ7
13に知らせると、マイクロコンピュータは出力画像内
のそのブロックの座標を、リード線823を通してアド
レスジェネレーター762に供給する。アドレスジェネ
レーターはブロック転送(BLTing)プロセッサー
であるが、画像ブロック座標を出力バッファ766内の
実際のブロックアドレスに変換し、そのアドレスをメモ
リーコントローラー769に入力する。その後、アドレ
スジェネレーターはブロックアドレスをコントローラー
に入力し、マイクロコンピュータを通して出力データの
現在のブロックの、FIFOファイル857から出力バ
ッファ766内へのブロック転送を開始する。リード線
722に加えられる出力バッファの内容は、出力画像の
ハードコピー・バージョンを印字するためにマーキング
エンジンに入力される。
【0063】D.マイクロコンピュータ713とTPP
740により実行される動作の疑似コードによる記述 図14で示されたTHH回路800に示された、マイク
ロコンピュータ713内で実行されるメインループ90
0のフローチャートを図16と図17に示す。これらの
図に対する描画シートの正しい配列を図15に示す。こ
のループはある画像全体の処理および、連続階調画像内
の各タイルを処理するためのTPP740の動作を設定
かつ調整する役割を持っている。
【0064】具体的には、メインループ900に入る
と、プログラムはまずブロック905に進む。このブロ
ックは実行されると、良く知られた立ち上げ初期化シー
ケンスを実行する。その後、プログラムはブロック91
0に進む。このブロックは実行されると以下に述べるよ
うに様々なパラメータの初期値を得て計算するが、これ
は任意の連続階調画像の処理においてTTH回路800
を「ステップアップ」するために使用される。一旦これ
が行われると、プログラムは判断ブロック915に進
む。このブロックはTTH回路800が連続階調画像の
処理を開始するように命令されたかどうかを判断する。
TTH回路800が画像を処理するように命令されてい
ない場合は、プログラムはこの判断ブロックから出るN
Oパス917を通ってブロック920に進む。この後者
のブロックは実行されると、最新の画像処理命令に対し
て入って来るジョブ制御データがあれば、それを読み出
す。その後、プログラムは判断ブロック915にループ
バックしてこの命令を解釈する。他方、もしもTTH回
路800が入って来る連続階調画像を処理するように命
令された場合は、プログラムは判断ブロック915から
出るYESパス916を通ってブロック925に進む。
この後者のブロックが実行されると、以下に述べるよう
に、現在処理される全画像を通じて一定である様々なパ
ラメータの初期値を計算する。
【0065】ブロック925が完全に実行されると、プ
ログラムはブロック930に進む。このブロックは以下
に述べるように、現在処理されるべき画像内の連続階調
タイルを決めるために様々なパラメータの初期値を計算
する。ブロック930は次にこれらのパラメータの値を
TPP740にロードする。その後ブロック935がT
PP740に連続階調画像内のこのタイルを処理するよ
うに命令する。次にTPP740がこのタイルを処理し
ている間に、実行はブロック940に移る。このブロッ
クが実行されると、これはTPP740によりこの連続
階調タイルのために現在データが生成されている出力画
像内の、現在のブロックのアドレスの(x,y)座標値
を生成する。その後図16および図17に示すように、
実行は判断ブロック945に進む。この判断ブロックは
TPP740が現在の連続階調タイルの処理を完了する
まで、マイクロコンピュータにNOパス946を通るル
ープを実行して待機させるだけである。TPP740が
現在のタイルの処理を完了すると、実行は判断ブロック
945から出るYESパス947を通ってブロック95
0に進む。ブロック950は実行されるとアドレスジェ
ネレーター762(図14参照)に(x,y)ブロック
座標値を供給し、このアドレスを受け取ったことを確認
するハンドシェークをアドレスジェネレーターから受け
取ると、現在このタイルのために保持されているブロッ
ク出力データの、FIFO857から出力バッファ76
6へのブロック転送を開始するように、TPP740に
命令する。ブロック950が完全に実行されると、実行
は図16および図17に示すように判断ブロック955
に進む。この判断ブロックは連続階調画像が完全に処理
されたかどうか、すなわち処理すべき連続階調タイルが
残っているかどうかを判断する。この画像が完全に処理
されていない場合は、判断ブロック955はNOパス9
58を通って実行をブロック930に戻し、そこでこの
画像内の連続する次の連続階調タイルのパラメータ値を
計算させ、以下同様に続く。もしもこの連続階調画像が
完全に処理されている場合は、判断ブロック955はY
ESパス959を通って実行をブロック915に戻し、
次の画像を処理する命令を待ち、以下同様に続く。
【0066】疑似コードの詳しい説明に進む前に、理解
と参照をしやすくするために、ここで以下の用語、座標
および変数を定義しておく。
【0067】用語 (定義) デルタ (増分を表す。) fast/slow (通常はページ、タイルまたはハーフトーン基準セルを
通る高速スキャン方向を意味する。低速スキャン方向は
高速スキャン方向に直交し、通常はページ、タイルまた
はハーフトーン基準セルを通って下に向かう。) k,l (クリッピング座標) u,v (連続階調サンプリング・アドレス座標) x,y (ハーフトーン基準セルサンプリング座標) p,q (出力画像(ページ)アドレス)変数 (定義) Δtile_u_slow, Δtile_v_slo
w Δtile_u_fast, Δtile_v_fas
t (連続階調画像平面内での、タイルからタイルへの低速
または高速スキャン方向移動の増分) tile_u_, tile_v (現在の連続階調タイル位置) Δtile_x_slow, Δtile_y_slo
w Δtile_x_fast, Δtile_y_fas
t (ハーフトーン基準セルを通っての低速および高速スキ
ャン方向でのタイルからタイルへの移動の増分(スクリ
ーニング)) tile_x_, tile_y (現在のハーフトーン基準セルのタイル位置) Δtile_p_slow, Δtile_q_slo
w Δtile_p_fast, Δtile_q_fas
t (出力バッファ内を通っての低速および高速スキャン方
向でのタイルからタイルへの移動の増分) tile_p_, tile_q: (出力バッファ内での現在のタイル位置) p_tile_start(=0) q_tile_start(=0) (出力バッファ内でのタイルオフセット(タイリングに
対して通常0)) Δpφ、Δqφ (出力ブロックの縁とそれに対応する連続階調タイルの
隅の間の位置のオフセット) Δpixel_x_slow、Δpixel_y_sl
ow Δpixel_x_fast、Δpixel_y_fa
st (ハーフトーン基準セルを通っての低速および高速スキ
ャン方向でのピクセルサンプリングの増分) pixel_x、pixel_y (ハーフトーン基準セル内の1ブロックの中の現在のピ
クセルサンプリング位置) Δpixel_u_slow、Δpixel_v_sl
ow Δpixel_u_fast、Δpixel_v_fa
st (連続階調画像を通っての低速および高速スキャン方向
での移動のピクセルサンプリングの増分) pixel_u、pixel_v (連続階調画像内の1つの連続階調ボックスの中の現在
のピクセルサンプリング位置) Δpixel_k_slow、Δpixel_l_sl
ow Δpixel_k_fast、Δpixel_l_fa
st (連続階調画像を通っての低速および高速スキャン方向
でのクリッピング変数の増加ピクセル移動) pixel_k、pixel_l (連続階調画像内で処理されている現在の連続階調ボッ
クスの中のピクセル単位の現在のクリッピング位置) image_u(=0) image_v(=0) (連続階調画像の初期座標(画像のクリップのためには
0以外で有り得る) image_x,image_y (ハーフトーン・スクリーンオフセット(スクリーンの
オフセットに使用できる) block_size,tile_size Δk_block, Δl_block Δu_block, Δv_block Δx_block, Δy_block Δp_block, Δq_block (出力ブロックサイズおよび(連続階調および出力)タ
イルサイズ様々な平面内でのブロックからブロックへの
(連続階調平面でのボックスからボックスへの)移動の
増分) block_k, block_l block_u, block_v block_x, block_y block_p, block_q 216 (クリッピング変数に対する、また連続階調画像(具体
的には連続階調ボックス)内、ハーフトーン基準セルお
よび出力(ページ)バッファ内の現在のブロック位置) (数値をレジスターの上位16ビットにシフトするため
に使用される定数(2 )) これらの定義を念頭に置いて、疑似コードの詳しい説明
に移る。
【0068】図18は、図16および図17に示したメ
インループ900内で行われるステップ925−945
で構成されるタイル処理ルーチン1000のフローチャ
ートである。本発明の技法により、ルーチン1000は
連続階調画像を構成する各タイルを順次処理して回転、
拡大・縮小および/またはハーフトーン化された出力画
像を生成する。このルーチンは様々な画像パラメータを
設定し、次に連続階調画像内の「最初の」タイルに対す
る様々なパラメータを設定する。その後最初の連続階調
タイル、そしてそれぞれに合ったパラメータ値のp増分
を付けて後続の連続階調タイルを処理し、全連続階調画
像の処理が終わるまで各タイルの処理を続ける。
【0069】具体的には、ルーチン1000に入ると、
プログラムは「画像」設定パラメータステップ925に
進み、様々な画像パラメータ、すなわち全連続階調画像
を通じて一定であるパラメータの値を設定する。これら
のパラメータの値は連続階調回転角φ、アナモルフィッ
クなスケールファクター(倍率)αおよびβ、スクリー
ン角θおよびスクリーン基線に基づいて計算される。特
にステップ925に入ると、ブロック1010が実行さ
れてブロックとタイルのサイズを設定する。ブロックサ
イズはタイルが回転される角度、すなわち連続階調画像
回転角φに基づいて設定され、最大タイルサイズは32
である。ブロックサイズが設定されれば、それに従って
タイルサイズも設定される。その後プログラムはブロッ
ク1020に進む。このブロックは連続階調画像内の処
理すべきタイル数を、各列内のタイル数およびタイル列
の数として判断する。これが行われると、ブロック10
30が実行されてクリッピング変数に対するピクセル移
動、連続階調サンプリングおよびハーフトーン基準セル
を通ってのサンプリングに対する、それぞれの増加座標
値(適切なΔ値)を計算する。その後ブロック1040
が実行されて、連続階調画像平面内、ハーフトーン基準
セル内、および出力バッファを通っての、連続するタイ
ル間の移動に対する増加座標値(適切なΔ値)を計算す
る。これが行われると、「画像」パラメータ設定ステッ
プ925が完了する。
【0070】この時点で、プログラムは「タイル」パラ
メータ設定ステップ930に進む。このステップに入る
と、プログラムはまずブロック1050に進むが、この
ブロックは実行されると、対応するブロックに結び付い
た連続階調タイルの回転により生じた出力ブロックの位
置のオフセットΔpφおよびΔqφを計算する。このブ
ロックの最初の部分はステップ930内に位置している
が、連続階調画像内の最初のタイルの開始点(ULC)
への座標を開始する。その後ループに入り、連続する連
続階調タイルが最初のものから順次処理されて出力ビッ
トを生成するが、これら出力ビットは出力バッファ内の
連続するピクセル位置に書き込まれる。これに関連し
て、各出力ブロックは全出力画像が構成されるまで、連
続する出力ピクセルのタイルで埋められる。連続階調画
像内の連続する各タイルが処理されると、次の連続階調
タイルを処理するための準備として適切なタイル座標が
増加され、以下繰り返される。全連続階調タイルが処理
されると、実行はステップ1060から出て、次にルー
チン1000から出る。
【0071】図19は、図18に示したタイル処理ルー
チン1000内で実行されるブロックおよびタイルサイ
ズ設定ステップ1010のフローチャートを示す。この
ステップは上で述べたように適切なブロックおよびタイ
ルのサイズを決定する。具体的には、ステップ1010
に入ると、プログラムは判断ブロック1110に進む。
このブロックは実行されると、図形の縮小が連続階調画
像内のどちらかの方向に沿って行われるかどうか、すな
わちスケールファクターαかβの値が1よりも小さいか
どうかを判断する。これらの倍率がどちらも1よりも大
きい場合は、実行は判断ブロック1110から出るNO
パス1115を通ってブロック1140に進む。この後
者のブロックはブロックサイズを各次元に沿って32に
設定する。すなわち32×32個の出力ピクセル位置を
持つブロックを生成する。
【0072】一方、どちらかの方向に沿って縮小が行わ
れる場合は、プログラムは判断ブロック1110から出
るYESパス1120を通ってブロック1130に進
む。この後者のブロックは実行されると、スケールファ
クターと連続階調回転角φに従ってブロックサイズを設
定する。ブロック1130と1150に現れる絶対値関
数に付いている添え字fは、絶対値関数が適切な浮動小
数点精度で行われるべきことを示す。ブロック1130
または1140によりブロックサイズが決定されると、
プログラムはタイルサイズを計算するブロック1150
に進む。タイルサイズはブロックサイズと連続階調画像
回転角φのサインおよびコサインに基づき、最大でブロ
ックサイズよりも1ピクセルだけ小さい。ブロック11
50が実行されると、プログラムはステップ1010か
ら出る。
【0073】図20は、図18に示したタイル処理ルー
チン1000内で実行される、タイル数計算ステップ1
020のフローチャートを示す。上で述べたように、ス
テップ1020は現在の連続階調画像内の処理すべきタ
イル数を、各列内のタイル数およびタイル列の数として
決定する。
【0074】具体的には、ステップ1020に入ると、
プログラムはブロック1210に進む。このブロックは
実行されると、連続階調画像の高さH(インチ)、高速
スキャン方向でのアナモルフィックなスケールファクタ
ー(α)、レーザー印字および連続階調周波数(それぞ
れ1インチ当りの書き込みスポットまたは1インチ当り
の連続階調サンプル数)およびタイルサイズの関数とし
て連続階調画像MAX_ROWを構成する画像タイルの
列の数を計算する。これが行われると、プログラムはブ
ロック1220に進む。このブロックは連続階調画像の
幅W(インチ)、低速スキャン方向でのアナモルフィッ
クなスケールファクター(β)、レーザー印字および連
続階調周波数およびタイルサイズの関数として、連続階
調画像MAX_COLを構成する画像タイルの列の数を
計算する。1220が実行された後はプログラムはステ
ップ1020から出る。
【0075】図21は、図18に示したタイル処理ルー
チン1000内で実行される設定ピクセル座標変更ステ
ップ1030のフローチャートを示す。上で述べたよう
に、ステップ1030はクリッピング変数、連続階調サ
ンプリングおよびハーフトーン基準セルを通ってのサン
プリングのピクセル移動のための座標値の増分(適切な
Δ値)を計算する。これらの値は現在処理されている全
連続階調画像を通じて一定である。
【0076】具体的には、ステップ1030に入ると、
プログラムはブロック1310に進む。このブロックは
実行されると、クリッピング変数kおよびlでの増加ピ
クセル移動に対するパラメータ値、すなわちΔpixe
l_k_fast、Δpixel_l_fast、Δp
ixel_k_slow、Δpixel_l_slow
を、連続階調画像回転角φのサインおよびコサイン、お
よびタイルおよびブロックサイズに基づいて計算する。
すべての増分の値が計算されると、プログラムはブロッ
ク1320に進む。このブロックは連続階調平面内での
ピクセルサンプリングの増分に対するパラメータ値を計
算する。これらのパラメータ値、Δpixel_u_f
ast、Δpixel_v_fast、Δpixel_
u_slowおよびΔpixel_v_slowはアナ
モルフィックなスケールファクター、連続階調およびレ
ーザー周波数、連続階調画像回転角φのサインおよびコ
サイン、およびブロックサイズに基づいて決定される。
これらすべてのパラメータ値が決定されると、プログラ
ムはブロック1330に進む。このブロックはハーフト
ーン基準平面内でのピクセルサンプリングの増分に対す
るパラメータ値、すなわちΔpixel_x_fas
t、Δpixel_y_fast、Δpixel_x_
slowおよびΔpixel_y_slowを計算す
る。これらの増分はスクリーン基線、レーザー周波数、
スクリーン角θのサインおよびコサイン、およびブロッ
クサイズに基づく。これらすべてのパラメータが計算さ
れると、プログラムはステップ1030から出る。
【0077】図22は、図18に示したタイル処理ルー
チン1000内で実行される設定タイル座標変更ステッ
プ1040のフローチャートを示す。上で述べたよう
に、ステップ1040は連続階調画像平面、ハーフトー
ン基準セル内および出力バッファを通っての連続するタ
イルの間の移動のための座標値の増分(適切なΔ値)を
計算する。これらの値は現在処理されている全連続階調
画像を通じて一定である。
【0078】具体的には、ステップ1040に入ると、
プログラムはブロック1410に進む。このブロックは
実行されると、出力バッファ内の連続するタイル間の移
動に対するパラメータ値、すなわちΔtile_p_f
ast、Δtile_q_fast、Δtile_p_
slowおよびΔtile_q_slowを、連続階調
画像回転角φのサインおよびコサイン、およびタイルサ
イズに基づいて計算する。これらすべての値が計算され
ると、プログラムはブロック1420に進む。このブロ
ックは連続階調平面内の連続するタイルの間の移動に対
するパラメータ値を計算する。パラメータ値Δtile
_u_fastとΔtile_v_slowは共に最初
にゼロに設定される。残りのパラメータ値Δtile_
v_fastとΔtile_u_slowはアナモルフ
ィックなスケールファクター、連続階調およびレーザー
周波数およびタイルサイズに基づいて決められる。これ
らのすべてのパラメータ値が計算されると、プログラム
はステップ1430に進む。このブロックはハーフトー
ン基準平面内での連続するタイル間の移動に対するパラ
メータ値Δtile_x_fast、Δtile_y_
fast、Δtile_x_slowおよびΔtile
_y_slowを計算する。これらの増分はスクリーン
角θのサインおよびコサイン、タイルサイズ、およびハ
ーフトーン基準平面内でのピクセルサンプリングの増分
に基づく。これらすべてのパラメータが計算されると、
プログラムはステップ1040から出る。上で述べたよ
うに、タイルの回転と整数でのブロックアドレス指定に
伴う数値の丸めのために、連続する出力ブロックと対応
する連続階調タイルの縁の間でオフセットが発生する。
連続階調画像内でのサンプリングが出力バッファ内の正
しい整数位置に対応することを保証するために、1つの
タイル内の「真実の」連続階調サンプリング位置と、1
つの出力ブロックの対応する整数ピクセルアドレスの間
のオフセットが、1つの連続階調タイルに対して決定さ
れなければならない。これらのオフセット値は1度決定
される必要があるだけで、その後各連続階調タイルに対
する初期サンプリング位置を補正するのに使用される。
これを行う上で、各ブロックの左上隅(ULC)は浮動
小数点の精度で容易に決定できる。しかし、整数サンプ
リング・アドレスは丸めのために約1ビット近くまで変
化し得るので、各タイルの位置に上および左方向に1ビ
ット近いずれを生じる。オフセットを決定し、その結果
すべての連続階調タイルのおのおのの初期サンプリング
位置をオフセットの値だけ修正することにより、各連続
階調タイルがサンプルされる間サンプリング誤差は発生
せず、したがってすべての連続階調タイルは正しく配列
される。
【0079】これに関連して図23は、ブロック内のタ
イルの回転によって生じる出力ブロック217の縁と
対応する連続階調タイル215の隅の間にあるオフセ
ット位置を図示する。ブロック217は辺1515、
1530、1540および1550を持つ正方形であ
る。連続階調回転角φを与えられた時、タイル215
は最大限ブロックに合致し、サンプリング座標(0、
0)を持つそのULC1545が、ブロックの左側の辺
1550に合致するような向きに配列されるように、サ
イズが決められる。タイルの他の3つの隅1520、1
525および1535の位置が、タイルのULCすなわ
ち(p,q)軸上の座標(0、0)を座標(−temp
s,tempc)、(tempc−temps,tem
pc+temps)および(tempc,temps)
で参照して与えられている。図25および図26からわ
かるように、位置サンプリングオフセットΔpφおよび
Δqφはそれぞれmin(0,−temps,temp
c−temps,−temps)およびmin(0,t
empc,tempc+temps,temps)であ
るとして定義される。距離tempcおよびtemps
は、それぞれタイルサイズと連続階調回転角φのコサイ
ン及びサインで定義される。
【0080】オフセットに対する上記の説明に関連し
て、図25および図26に図18に示したタイル処理ル
ーチン1000内で実行されるブロック位置オフセット
計算ステップ1050のフローチャートを示す。これは
オフセットΔpφおよびΔqφの値を計算するものであ
る。図25および図26の描画シートの正しい配列を図
24に示す。ステップ1050はΔpφ計算ステップ1
610およびΔqφ計算ステップ1650で構成され
る。ステップ1610はΔpφの値を最も負側の値とし
て、つまり(0,temps,tempc−temp
s,−temps)の最小値を計算する。ステップ16
50はΔqφの値を最も負側の値として、つまり(0,
tempc,tempc+temps,temps)を
計算する。
【0081】具体的には、ステップ1050に入ると、
プログラムはΔpφ計算ステップ1610に進み、この
ステップではまずステップ1615が実行される。この
ブロックはΔpφの初期値をゼロに設定する。その後、
プログラムは判断ブロック1618に進み、tempc
の値が負かどうか、すなわちΔpφの初期値(=0)よ
りも小さいかどうかを調べる。tempcの値が負であ
る場合は、プログラムはYESパス1619を通ってブ
ロック1625に進む。このブロックはΔpφの現在値
をtempcの値に等しく設定してから判断ブロック1
628の実行に進む。一方、tempcの値が負でなけ
れば、判断ブロック1618はプログラムの実行をNO
パス1620を通って判断ブロック1628に回すだけ
である。この後者の判断ブロックはtempc−tem
psの値がΔpφの現在値よりも小さいかどうかを判断
する。tempc−tempsの値がΔpφの現在値よ
りも小さい場合は、判断ブロック1628はYESパス
1629を通って実行をブロック1635に進める。ブ
ロック1635はΔpφの現在値をtempc−tem
psの値に等しく設定する。次にプログラムは判断ブロ
ック1638に進む。この判断ブロックには、判断ブロ
ック1628がtempc−tempsの現在値はΔp
φの現在値以上であると判断したときにも実行が移る。
判断ブロック1638は−tempsの値がΔpφの現
在値よりも小さいかどうかを判断する。−tempsの
値がΔpφの現在値よりも小さい場合は、判断ブロック
1638はYESパス1639を通ってブロック164
5に進む。ブロック1645はΔpφの現在値を−te
mpsの値に等しく設定する。ここで実行はステップ1
610から出る。一方−tempsの値がΔpφの現在
値よりも大きいか等しい場合は、実行は判断ブロック1
638から出るNOパス1640を通ってステップ16
10から出るだけである。
【0082】ステップ1610が完全に実行されて現在
処理中のタイルに対するΔpφの現在値が決定される
と、ステップ1650はこのタイルに対するΔqφの値
を計算する。具体的には、ステップ1650に入るとプ
ログラムはブロック1655に進む。このブロックは実
行されると、Δqφの初期値をゼロに設定する。その
後、実行は判断ブロック1658に進む。これはtem
pcの値が負、すなわちΔqφの初期値(ゼロ)よりも
小さいかどうかを調べる。tempcの値が負の場合
は、実行はYESパス1659を通ってブロック166
5に進む。これはΔqφの現在値をtempcの値に等
しく設定し、判断ブロック1668に進む。
【0083】一方、tempcの値が負でない場合は、
判断ブロック1658はただNOパス1660を通って
実行を判断ブロック1668に進めるだけである。判断
ブロック1668はtempc+tempsの値がΔq
φの現在値よりも小さいかどうかを判断する。temp
c+tempsの値がΔqφの現在値よりも小さい場合
は、判断ブロック1668はYESパス1669を通っ
て実行をブロック1675に進める。ブロック1675
はΔqφの現在値をtempc+tempsに等しく設
定する。実行は次に判断ブロック1678に進む。この
判断ブロックには、判断ブロック1668がtempc
+tempsの現在値はΔqφの現在値以上であると判
断したときにも実行が移る。判断ブロック1678はt
empsの値がΔqφの現在値よりも小さいかどうかを
判断する。tempsの値がΔqφの現在値よりも小さ
い場合は、判断ブロック1678はYESパス1679
を通ってブロック1685に進む。ブロック1685は
Δqφの現在値をtempsの値に等しく設定する。こ
こで実行はステップ1650から出る。一方temps
の値がΔqφの現在値よりも大きいか等しい場合は、実
行は判断ブロック1678から出るNOパス1680を
通ってステップ1650から出るだけである。図18に
示したタイル処理ルーチン1000内で実行されるタイ
ル処理ステップ1060の高レベルのフローチャートを
図27に示す。既に述べたように、ステップ1060は
連続階調画像内の最初のタイルの開始点(ULC)を示
すように座標を初期化する。その後ループに入り、連続
する連続階調タイルを最初のものから順次処理して、出
力画像内の各出力ブロックを完全に出力ビットで埋め
る。連続階調画像内の連続する各タイルが処理される
と、次の連続階調タイルを処理するための準備としてス
テップ1060が適切なタイル座標を増加する。
【0084】具体的には、図27に示すように、ステッ
プ1060に入るとプログラムはまずブロック1710
に進む。このブロックは画像内の最初のタイルに対する
タイルごとの様々なパラメータを初期化する。その後プ
ログラムは2つのネスティングされたループ、外側ルー
プ1720と内側ループ1730を通って進み、連続階
調画像内のすべてのタイルを順次処理する。特に、外側
ループ1720は1列のタイル全部を1度に処理し、内
側ループ1730は各列の各タイルを処理する。ループ
1720と1730に入ると、プログラムはまず内側の
ループ内にあるブロック1740に進む。このブロック
は出力(ページ)バッファ内の現在の出力ブロックの位
置(block_p,block_q)を計算する。そ
の後プログラムはブロック1750に進む。このブロッ
クは現在処理されている連続階調タイルに固有の様々な
増分の値、すなわちΔp_block、Δq_bloc
k、Δk_block、Δl_block、Δu_bl
ock、Δv_block、Δx_blockおよびΔ
y_blockを計算する。これが行われると、プログ
ラムはブロック1760に進む。このブロックはこれら
の増分を使用して、現在処理中のタイルに固有の様々な
パラメータ、すなわちblock_k,block_
l、block_u,block_v、block_x
およびblock_yを初期化する。その後、以下に述
べるように現在の連続階調タイルを完全に処理するブロ
ック1770に実行が進む。現在の連続階調タイルがス
テップ1770により処理されると、プログラムはステ
ップ1780に進む。これは現在処理されている列内の
一連の連続階調タイルの次のタイルに対する様々な高速
スキャン用パラメータを増加する。これが行われると、
ステップ1770はこの連続階調タイルを処理し、その
後1列の連続階調タイルが全部処理されるまでこれを続
ける。このタイル処理が終わると実行は、内側のループ
から外側ループ1720内にあるブロック1790に移
る。このブロックは、連続階調画像内の連続する次の列
内の最初の連続階調タイルに向かう、様々な低速スキャ
ン用パラメータを増加する。これが行われると、実行は
内側のループ1730に戻ってこの列内のすべてのタイ
ルを処理し、以後これが繰り返される。連続階調タイル
のすべての列が処理されると、実行は外側ループ172
0から出て、更にタイル処理ステップ1060から出
る。
【0085】図27に示したタイル処理ステップ106
0の詳細なフローチャートを図29および図30に示
す。これに対するこれらの図の描画シートの正しい配置
を図28に示す。図27のブロック1710−1790
を構成する個々のステップを図29および図30に示
す。
【0086】ステップ1060に入ると、プログラムは
ブロック1710に進む。このブロックは画像内の最初
の連続階調タイルのパラメータtile_u、tile
_v、tile_x、tile_y、tile_p、t
ile_qの値をそれぞれimage_u、image
_v、image_x、image_y、image_
p、image_qに等しいとして設定する。ここで外
側および内側のループ1720および1730に入る。
次にブロック1740が実行されて、現在のブロックの
出力座標、すなわちblock_pおよびblock_
qを、tile_pおよびtile_qの現在値プラス
対応するオフセット値ΔpφおよびΔqφに設定する。
その結果は16ビット位置だけ右にシフトされて整数ブ
ロックアドレスを生成する。その後、ブロック1750
が実行されて、連続階調画像内の処理されている最初の
タイルに固有の増分Δp_block、Δq_bloc
k、Δk_block、Δl_block、Δu_bl
ock、Δv_block、Δx_blockおよびΔ
y_blockの値を計算する。これに関連して、Δp
_blockとΔq_blockはブロックアドレスの
小数アドレス部分となるものを構成する。残りのタイル
・ベースの増分の中で、Δk_block、Δl_bl
ock、Δu_blockおよびΔv_blockは、
連続階調画像回転角φのサインおよびコサイン、Δp_
blockとΔq_blockの値、タイルサイズ、お
よび連続階調およびレーザー周波数に基づいて計算され
る。残りの2つのタイル・ベースの増分Δx_bloc
kおよびΔy_blockの値は、スクリーン角θのサ
インおよびコサイン、Δp_blockとΔq_blo
ckの値、スクリーン基線およびレーザー周波数に基づ
いて計算される。ブロック1750によりこれらの増分
の値が決定されると、ブロック1760が実行されてタ
イル・ベースのパラメータblock_k,block
_l、block_u,block_v、block_
xおよびblock_yの初期値をこれらの増分に基づ
いて計算する。これらのパラメータもまた処理されてい
る現在の連続階調タイルに固有である。その後ブロック
1770が実行されて、直前のブロックで決定されたパ
ラメータで定義されたように、現在の連続階調タイルを
全部処理する。この連続階調タイルが完全に処理され、
現在の列内にまだ処理すべき連続階調タイルが残ってい
ると考えられる場合は、タイル・ベースのパラメータt
ile_u、tile_v、tile_x、tile_
y、tile_pおよびtile_qはブロック178
0内で、高速スキャン方向での適切なそれぞれのタイル
・ベースの増分Δtile_u_fast、Δtile
_v_fast、Δtile_x_fast、Δtil
e_y_fast、Δtile_p_fast、Δti
le_q_fastだけ増加されて、現在の列内の次の
連続階調タイルを定義する。タイル列カウンターCOL
にもまた1が加算される。この時点で少なくとも1つの
処理すべき連続階調タイルが現在の列に残っているとす
ると、実行はブロック1740にループ・バックしてそ
のタイルを処理する。もしも現在の列内のすべてのタイ
ルが処理されていれば、実行は内側ループ1730を出
てブロック1790に進む。少なくとも1つの処理すべ
き連続階調タイルの列が連続階調画像内に残っていると
すると、タイル・ベースのパラメータtile_u、t
ile_v、tile_x、tile_y、tile_
pおよびtile_qはブロック1790内で、低速ス
キャン方向での適切なそれぞれのタイル・ベースの増分
Δtile_u_slow、Δtile_v_slo
w、Δtile_x_slow、Δtile_y_sl
ow、Δtile_p_slowおよびΔtile_q
_slowだけ増加されて、次の列内の最初の連続階調
タイルを定義する。列カウンターROWにもまた1が加
算される。この時点で少なくとも1つの処理すべき連続
階調タイルの列が残っているとすると、実行はブロック
1740にループ・バックしてその列内の各連続階調タ
イルを順次処理し、以下同様に繰り返す。連続階調画像
内のタイル列がすべて処理されると、実行は外側ループ
1720から出てブロック1820に進む。このブロッ
クは連続階調画像が完全に処理されたことを示す信号を
発生する。これが行われた後で、実行はステップ106
0から出る。
【0087】図29および図30に示したタイル処理ス
テップ1060の一部として実行される処理タイル・ル
ーチン1770の高レベルのフローチャートを図31に
示す。既に述べたように、このルーチンは画像の回転、
拡大・縮小および/またはハーフトーン化を通じて1つ
のタイル全体を自由に処理する。
【0088】具体的には図に示すように、処理ルーチン
1770に入るとプログラムはまずブロック1910に
進む。このブロックは、生成中の現在の出力ブロック内
の、最初のピクセルに対するピクセル・ベースの様々な
パラメータの値を初期化する。これが行われると、実行
は判断ブロック1920に進む。このブロックは事前の
ユーザーによる入力にしたがって、各タイルを処理する
(タイルモード)か、それとも各ピクセルのシングル・
ラスターを処理するかを決定する。ピクセルのシングル
・ラスターは、通常、連続階調画像が回転されないとき
に処理される。タイルが処理されるときは、判断ブロッ
ク1920がそのYESパスを通って実行をブロック1
930に進め、このブロックはタイルのpカウンターを
初期化する。そうでない場合、ピクセルのシングル・ラ
スターが使用される時は、判断ブロック1920がその
NOパスを通って実行をブロック1940に進め、この
ブロックはラスターのpカウンターを初期化する。ブロ
ック1930または1940のどちらかが実行された後
で、プログラムは2つのネスティングされたループ、外
側ループ1950および内側ループ1960に入る。外
側ループはピクセルの1列を1度に処理し、内側ループ
は各列の各ピクセルを処理する。具体的には、ループ1
950および1960に入ると、実行はまず内側ループ
内にあるブロック1970に進む。このブロックは連続
階調平面およびハーフトーン基準平面の両方におけるク
リップされたサンプリングを通して、出力ブロック内の
現在アドレス指定されたピクセルに対するデータを得
て、その結果を出力ブロック内のそのピクセル位置に記
憶する。その後、実行はブロック1980に進む。この
ブロックは、その後出力ブロック内の現在の列内の次の
ピクセルに対する出力値の生成に使用するために、様々
なパラメータ(すなわちq、pixel_k、pixe
l_l、pixel_u、pixel_v、pixel
_x、およびpixel_y)の値を高速スキャン方向
で増加する。出力ブロック内の1列のピクセルが全部出
力ブロック内に書き込まれると、実行は内側ブロックか
ら外側ブロック内にあるブロック1990に移る。この
ブロックは、現在の出力ブロック内の次の列内の最初の
ピクセルに対する出力値の生成に使用するために、様々
なパラメータ、具体的にはp、pixel_k、pix
el_l、pixel_u、pixel_v、pixe
l_xおよびpixel_yの値を低速スキャン方向で
増加する。これが行われると、実行は内側ループ196
0に戻り、この列内のすべてのピクセルを処理し、以下
繰り返す。現在の出力ブロック内のすべてのピクセル列
が書き込まれると、実行は出力ループ1950から出
て、次にピクセル処理ルーチン1770から出る。
【0089】図31に示した処理タイルルーチン177
0の詳細なフローチャートを図32に示す。図31のブ
ロック1910−1990を構成する個々のステップを
図32に示す。
【0090】図に示したように、ステップ1770に入
ると、実行はブロック1910に進む。このブロックは
生成されている現在の出力ブロック内の最初のピクセル
に対するパラメータ:pixel_k、pixel_
l、pixel_u、pixel_v、pixel_x
およびpixel_yの値を決定する。その後、カウン
ターpがステップ1920−1940を通じて初期化さ
れ、タイルモードが使用されているかどうかにより、そ
れぞれゼロまたはblock_size−1の値にされ
る。これが行われると、実行は外側のループ1950お
よび内側ループ1960に入る。出力ブロック内の各列
内のすべてのピクセルに対して実行する内側ループ内で
は、実行はまずブロック1970に進み、処理ピクセル
ルーチンを通じて(以下に述べるように)、この列内の
現在のピクセルに対する出力値を生成し、この出力値を
その出力ブロック内のそのピクセルに記憶する。その
後、出力ブロック内の現在の列内の連続する次のピクセ
ルの出力値をあとで生成するのに使用するために、ブロ
ック1980がパラメータpixel_k、pixel
_l、pixel_u、pixel_v、pixel_
xおよびpixel_yの値を高速スキャン方向で、Δ
pixel_k_fast、Δpixel_l_fas
t、Δpixel_u_fast、Δpixel_v_
fast、Δpixel_x_fastおよびΔpix
el_y_fastだけ増加する。qカウンターの現在
の内容にもまた1が加算され、出力ブロック内の現在の
列の中の連続する次のピクセルを示す。この時点で少な
くとも1つの生成すべきピクセル値が出力ブロック(ま
たはラスター)内の現在の列に残っているとすると、実
行はブロック1970にループ・バックしてそのピクセ
ルに対する出力値を得て、以下同様に繰り返す。しか
し、もしも現在の列(またはラスター)内のすべてのピ
クセルの出力値が書き込まれた場合は、実行は内側ルー
プ1960から出て外側のループのブロック1990に
進む。出力ブロック内に書き込むべき少なくとも1つの
ピクセル列に対する出力値が残っていると仮定すると、
出力ブロック内の連続する次の列内の最初のピクセルの
出力値をあとで生成するのに使用するために、ピクセル
パラメータ、具体的にはpixel_k、pixel_
l、pixel_u、pixel_v、pixel_x
およびpixel_yの値が低速スキャン方向でステッ
プ1990を通して、対応する増分Δpixel_k_
slow、Δpixel_l_slow、Δpixel
_u_slow、Δpixel_v_slow、Δpi
xel_x_slowおよびΔpixel_y_slo
wだけ増加する。pカウンターの現在の内容にもまた1
が加算され、現在のブロック内の出力ピクセルの連続す
る次の列を示す。しかし、もしも出力ブロック内のすべ
てのピクセル列に対する出力値が書き込まれた場合は、
実行は外側ループ1950から出て、またルーチン17
70からも出る。
【0091】図32に示した処理タイルステップ197
0の一部として実行される処理ピクセルルーチンの高レ
ベルフローチャートを図33に示す。このルーチンは上
に述べたように、連続階調平面およびハーフトーン基準
平面の両方でのクリップされたサンプリングを通じて、
出力ブロック内の現在アドレス指定されているピクセル
に対するデータを得て、その結果をその出力ブロック内
のそのピクセル位置に記憶する。
【0092】具体的には図示したように、ルーチン19
70に入ると実行はまずブロック2110に進む。この
ブロックは2つのマスク、1つはノイズデータ列を評価
するため、もう1つは適切なハーフトーン基準データ列
を評価するためのものを、両方ともRAM717から設
定する(図11と14参照)。これらのマスクは、これ
らのデータ列のそれぞれをアドレス指定するのに使用す
るために、pixel_xおよびpixel_yアドレ
ス内の適切なビットを分離するために使用される。これ
らのマスクが設定されると、図33に示すように実行は
ブロック2115に進む。このブロックは現在のピクセ
ルアドレスpixel_k、pixel_l、pixe
l_uおよびpixel_vの整数部分を取り出す。そ
の後、ブロック2120が実行されてクリッピング変数
VALIDの現在値を決定し、それにより現在の出力ブ
ロック内に含めるために生成されている現在のピクセル
が対応する出力タイル内にあるかどうかを指定する。上
記したように、変数VALIDの値はこのピクセルのK
およびLクリッピング・アドレスの両方における最も低
次の整数ビットのみのAND結合で構成される。このビ
ットはpixel_xおよびpixel_yアドレスの
ANDをあらかじめ定義されたマスク(0x0001,
ここで0xは16進表示を定義する)で取ることにより
分離される。ブロック2120が完全に実行されると、
プログラムは判断ブロック2125に進む。この判断ブ
ロックは現在の整数ピクセルアドレスに基づいて、連続
階調画像内の現在サンプルされたピクセルがその画像の
縁に重なるかどうかを判断する。もしもそのような重な
り合いが起こると、判断ブロック2125がYESパス
2127を通って実行ブロック2130にプログラムを
進める。この実行ブロックは、このピクセルに対するサ
ンプルされた連続階調値を、白色に結び付いてあらかじ
め定義された数に設定する。一方もしも連続階調画像内
の現在のサンプルされたピクセルが画像内にある、すな
わち画像の縁と重なり合わない場合は、判断ブロック2
125はNOパス2129を通ってブロック2135に
プログラムを進める。この後者のブロックはこのピクセ
ルに対するサンプルされた連続階調タイル値をタイリン
グRAM742から得る(図11および14参照)。
【0093】その後図33に示したように、実行は判断
ブロック2140に進む。この判断ブロックは事前のユ
ーザーによる入力に基づいて、ハーフトーン・スクリー
ニングを行うか、すなわち「連続階調モード」が現在使
用されていないかどうかを判断する。もしもスクリーニ
ングを行わない場合は、ハーフトーンでなく連続階調値
が出力バッファに与えられてハーフトーン化された出力
画像でなく連続階調になるので、判断ブロック2140
はYESパス2142を通ってブロック2145に進
む。このブロックはサンプルされた連続階調値を、出力
バッファ内の現在のピクセルに対する出力データとして
供給するだけである。その後プログラムはルーチン19
70から出る。一方、もしもハーフトーン・スクリーニ
ングを行う場合は、判断ブロック2140はNOパス2
144を通って判断ブロック2150にプログラムを進
める。この後者の判断ブロックはクリッピング変数VA
LIDの現在値にしたがって、出力ブロック内の現在の
アドレス指定されたビットがゼロまたはスクリーンされ
た出力値に設定されるべきかによりそれぞれブロック2
155または2160に実行を進める。もしも現在の出
力ビットがある出力ブロックに結び付いた出力タイルの
外にある場合は、そのビットはゼロに設定される。その
場合、判断ブロック2150はNOパス2152を通っ
てブロック2155に実行を進める。この後者のブロッ
クは出力ビットをゼロに設定する。ブロック2170は
次にこのゼロの値を出力ブロック内の現在のビット位
置、具体的にはFIFO857内に書き込む(図14参
照)。ブロック2170が実行されると、次に図33に
示すように実行はルーチン1970から出る。
【0094】一方もしも現在の出力ビットが出力ブロッ
ク内の対応する出力タイルの中にある場合は、このビッ
トはスクリーンされた出力値を含むことになる。このよ
うにして、また図33に示すように、判断ブロック21
50はYESパス2154を通ってブロック2160に
実行を進める。この後者のブロックはハーフトーン基準
スタックを、この出力ビットに結び付いた現在の連続階
調値で選択された特定のセルで、アドレス指定されたノ
イズ値(以下に詳細に述べる)を使ってハーフトーン・
サンプリング・アドレスそれ自体を使用しかつ/または
変更するための特定のハーフトーン・スタック(フォン
ト)の選択を含み、適切にサンプルする。特に、RAM
717内のノイズデータ列はpixel_x、pixe
l_yアドレスのこれらのビットを使ってアドレス指定
される。このデータ列は事前に記憶された4ビットのノ
イズデータの継目のない疑似ランダムデータ列を含み、
これは16個の異なるハーフトーン基準スタック(フォ
ント)のうちの1つを選択するのに使用される。これら
のスタックは事前に定義された異なるハーフトーン・ド
ットパターンを記憶する。特定のパターンは重要ではな
い。しかし、ランダムなフォントの選択により、モアレ
・パターンのような空間的に繰り返される乱れが散らさ
れて現れない。このような乱れはこの方式で無ければ記
憶されたハーフトーン・ドットパターンに対する空間サ
ンプリング周波数のビートのために出力画像に現れるも
のである。フォントが選択されると、現在の出力ピクセ
ルに結び付いた現在の連続階調値がその中の対応するハ
ーフトーン基準平面を選択する。このハーフトーン基準
平面は現在の低次pixel_x、pixel_yアド
レスに基づいてサンプルされ、スクリーンされた出力ビ
ット生成する。ここで、ブロック2160が完全に実行
されて、出力ブロック内の現在アドレス指定されたピク
セルに対するスクリーンされた出力ビットを生成する
と、実行はブロック2170に進む。このブロックはこ
の値を出力ブロック内のビット位置、具体的にはFIF
O857内に書き込む(図14参照)。ブロック217
0が実行されると、図33に示されるように実行はルー
チン1970から出る。
【0095】図34は図33に示した処理ピクセルルー
チン1970の詳細なフローチャートを示す。図33の
ブロック2110−2170を構成する個々のステップ
を図34に示す。
【0096】具体的には、ブロック2110が2つのマ
スク、ノイズデータ列を評価するためのnoise_b
it_maskと、ハーフトーン基準データ列を評価す
るためのfont_bit_maskを、両方ともRA
M717から設定する(図11および14参照)。これ
らのマスクは、これらのデータ列のそれぞれををアドレ
ス指定するために使用されるpixel_x、pixe
l_yアドレス内の適切なビットを定義する。ブロック
2115内では、pixel_k、pixel_l、p
ixel_uおよびpixel_vの現在値が、対応す
る整数アドレスすなわちint_k、int_l、in
t_uおよびint_vを得るために、適切な数のビッ
ト位置だけ右にシフトされる。その後、ブロック212
0が1ビットのクリッピング変数VALIDの値を、整
数ピクセルアドレスint_kおよびint_lをマス
ク(0x0001,ここで0xは16進表示を定義す
る)で論理的に結合することにより決定する。その後、
連続階調画像内の現在のサンプルされたピクセルが連続
階調画像内の縁に重なるかどうかによって、ブロック2
125−2135が出力バッファ内の現在の出力ビット
に結び付いた連続階調値を白色に結び付いた値かまたは
サンプルされた連続階調値にそれぞれ設定する。もしも
連続階調モードが使用されている場合は、ブロック21
40および2145がサンプルされた連続階調値を返
し、実行はルーチン1970から出る。一方もしも連続
階調モードが使用されていない場合は、ハーフトーン化
を実行すべきなので、ブロック2150−2170がク
リッピング変数VALIDの状態に基づいて、現在の出
力ビットを、変数VALIDが偽(つまり0)であれば
ゼロに、あるいは変数VALIDが真(つまり1)であ
ればスクリーニングされた出力ビットに設定する。ハー
フトーン・ルーチンは、上に述べたように連続階調のp
ixel_x、pixel_y、noise_bit_
maskおよびfont_bit_maskパラメータ
の現在値を使って、現在の出力ビットに対するハーフト
ーン化データビットの値を決定する。noise_bi
t_maskの値は変数pixel_xおよびpixe
l_yの高次ビットを使って決定されるが、これが可変
連続階調の値でサンプルする特定のハーフトーン基準ス
タック(フォント)を疑似ランダム的に選択する。これ
により、font_bit_maskの値により指定さ
れるこのスタック内の特定のハーフトーン平面とpix
el_xおよびpixel_y内の低次ビットを選択
し、この平面内の特定のサンプリング位置を決定する。
この平面内のこのサンプリング位置に記憶されたシング
ルビット値はスクリーンされた出力データである。この
ビットは、ゼロであれスクリーンされた出力データであ
れ、ブロック2170によりFIFO857内の次の出
力位置に書き込まれる(図14参照)。その後図34に
示すように、実行はルーチン1970から出る。
【0097】E.タイルおよびピクセルプロセッサー
(TPP)740の専用ハードウェアによる実施例 図11および14に示したタイルおよびピクセルプロセ
ッサー(TPP)740の実施例の高レベルブロックダ
イヤグラムを図36および図37に示す。そのための描
画シートの正しい配列を図35に示す。
【0098】図示したように、TPP740はタイルレ
ジスター2310、タイルプロセッサー2320、ピク
セルプロセッサー2350および制御ロジック2380
で構成される。タイルおよびピクセルプロセッサーは、
各タイルに結び付いた各出力ブロックをもって、画像内
の各連続階調タイルおよび各ピクセルの処理のためのネ
スティングされたループを実行する。その結果タイルプ
ロセッサー2320は図31および32を参照して上に
述べたように、処理タイルルーチン1770を実行す
る。ピクセルプロセッサー2350は図33および34
を参照して上に述べたように、処理ピクセルルーチン1
970を実行する。TPPは望むべくはゲートアレイ、
ASICまたは他の容易にカスタム化できる大規模集積
回路素子を使って実現される。
【0099】単純な組合せロジックおよび/または有限
状態マシン:その具体的な実現は本技術分野に通じた人
には明白であろうが:で構成される制御ロジック238
0がTPP740の全体の動作を制御する。マイクロコ
ンピュータ713によって「処理開始」リード線817
上に供給されるパルスに反応して、図36および図37
に示した制御ロジック2380が、Do Next(次
に進む)リード線2384上にパルスを加えることによ
り、プロセッサー2320に現在のクロックパルスと同
期して、そのレジスターにリード線815上に乗ってい
る値をロードして、次に次のクロックパルスに同期し
て、連続階調画像における現在のタイルの処理を開始す
るように命令する。同時に、タイル処理が実行されてい
ることをマイクロコンピューターに知らせるために、制
御ロジック2380は状態情報リード線群819内にあ
るリード線2382「タイル終了」上に低レベル信号を
載せる。この処理が完了すると、タイルプロセッサー2
320は制御ロジック2380に適切に通知するために
リード線2386「タイル終了」上にパルスを載せる。
この制御ロジックは次にこの連続階調タイル処理が完全
に処理されたことをマイクロコンピューター713(図
14参照)に知らせるために、リード線2382「タイ
ル終了」上に高レベル信号を載せる。
【0100】TPP740の初期化中に、またリード線
817の上に乗った「処理開始」パルスに応答して、図
36および図37に示したレジスター2310に、この
情報すなわち処理すべき現在のタイルおよび適切なピク
セル増分値を指定するパラメータ値が、リード線群81
5(図14参照)を通じてマイクロコンピュータ713
により並列にロードされる。これらのパラメータには、
ブロックアドレス(block_k, block_
l、block_u, block_v、block_
xおよびblock_y)および高速および低速スキャ
ン方向でのピクセル増分(Δpixel_k_fas
t、Δpixel_l_fast、Δpixel_u_
fast、Δpixel_v_fast、Δpixel
_x_fast、Δpixel_y_fast;および
Δpixel_k_slow、Δpixel_l_sl
ow、Δpixel_u_slow、Δpixel_v
_slow、Δpixel_x_slow、Δpixe
l_y_slow)が含まれる。図36および図37に
示されたように、これらのブロックアドレスおよびタイ
ル増分は、制御ロジックによりリード線2312、23
14および2316を通して、タイルプロセッサー23
20内にある適当な加算器またはマルチプレクサに送ら
れる。
【0101】タイルプロセッサー2320は加算器23
22、加算器2325およびマルチプレクサ2328お
よび2330を含んでいる;これらすべては6回複製さ
れ(異なるピクセルパラメータのおのおのに対して1
回)、図示したように接続される。タイルプロセッサー
はまたピクセルレジスター2333と制御ロジック23
40を持っている。レジスターは6個の別々のレジスタ
ーを持っており、それぞれ6個のピクセルパラメータ
(pixel_k、pixel_l、pixel_u、
pixel_v、pixel_x、pixel_y)に
対応している。ピクセルレジスターは出力バッファ内の
現在のブロックの中の各ピクセルに対する出力値を発生
するために、6個のピクセルパラメータの値を保存す
る。制御ロジック2340はタイルプロセッサー232
0の全体の動作を制御し、特に図40に示され以下に詳
しく述べるフローチャート2600にしたがって、ピク
セルプロセッサーを構成するレジスター、加算器および
マルチプレクサのそれぞれの状態を制御する。
【0102】タイルプロセッサー2320の説明を簡単
にするために、加算器、マルチプレクサおよびピクセル
レジスターの6組の同じ組合せのうち1例として、pi
xel_kパラメータに対するもの1組だけについて説
明を行う。制御ロジック2340の制御により、またタ
イルプロセッサーの初期化の間に、マルチプレクサ23
30の入力I1リード線2310を通してblock_
kの開始アドレスをタイルレジスター2310から受け
取る。出力ブロックの最初の列内の最初のピクセルに対
して、制御ロジック2340は選択信号として適切なレ
ベルをリード線2344を通してマルチプレクサ233
0に送り、この開始アドレスをレジスター2333内の
pixel_kレジスターの入力に送る。その後、制御
ロジック2340がリード線2345に適切なロード信
号を送り、このレジスターに開始アドレスをpixel
_kパラメータとしてロードさせ、リード線群2335
に出力させる。リード線2335と2326の間の接続
のために、この値はまた加算器2322と2325の入
力に送り返される。Δpixel_k_fastおよび
Δpixel_k_slow増分が、加算器2322と
2325の他の入力にそれぞれ送られる。加算器232
2と2325によって発生される出力は、リード線23
24と2327を通してマルチプレクサ2328の対応
する入力に送られる。pixel_kレジスターの内容
がリード線2326を通して加算器2322と2325
の対応する入力に送り返されるので、これらの加算器は
連続する列内の各列の連続するピクセルに対してと同時
に最初のピクセルに対して指示するように、pixel
_kパラメータの前の値にΔpixel_k_fast
およびΔpixel_k_slow増分を繰り返し加算
する。pixel_kパラメータの値を増加して出力バ
ッファ内の現在の列の連続する次のピクセルを指示する
ために、制御ロジック2340は適切なレベルを選択信
号(S)としてリード線2342および2344に送
り、加算器2325の出力をマルチプレクサ2328お
よび2330を通してピクセルレジスター群2333内
のpixel_kレジスターに送る。その後制御ロジッ
クは適切なレベルをリード線2345に送り、加算器2
325により生成された累積値をピクセルレジスター群
2333内のpixel_kレジスターにロードする。
特に、加算器2325は高速スキャンpixel_kの
増分であるΔpixel_k_fastをpixel_
kパラメータの前の値に加算する。その結果の値は、現
在の列内の連続する次の出力ピクセル位置を示すため
に、制御ロジック2340の制御の下にpixel_k
レジスターにロードされ、以下繰り返される。列の終わ
りに達すると、加算器2325はオーバーフローしてそ
の列内の最初のピクセル位置を示すと共にそのキャリー
アウト(Co)出力上にパルスを発生する。Coはリー
ド線2347を通して制御ロジック2340に加えられ
る。これにより得られるピクセルアドレスは、マルチプ
レクサ2328および2330を通して、ピクセルレジ
スター群2333内のpixel_kレジスターにロー
ドされる。更に、得られたpixel_kパラメータの
値を修正して、連続する次の列内の最初のピクセルを示
すために、制御ロジック2340は適切なレベルを選択
信号としてリード線2342および2344を通してマ
ルチプレクサ2328および2330に入力し、増分Δ
pixel_k_slowを加算器2322を通して現
在のピクセルアドレスに加算して、連続する次の列内の
最初のピクセルを指すアドレスを発生させる。これによ
り得られるアドレスは、マルチプレクサ2330を通し
てレジスター群2333内のpixel_kレジスター
の入力に入力される。制御ロジック2340は次に適切
なパルスをリード線2345に乗せて、このアドレス値
をpixel_kレジスターにロードする。以後これを
繰り返してその列およびそれに続くすべての列の連続す
るピクセルに対するpixel_kパラメータの値を生
成する。出力ピクセル・アドレスの最後の列が生成され
ると、加算器2322はオーバーフローし、またそのキ
ャリーアウト(Co)出力上にパルスを発生する。この
パルスはリード線2323を通して制御ロジック234
0に加えられる。その結果、制御ロジック2340はリ
ード線2386上にレベル変化を引き起こし、制御ロジ
ック2380に現在ブロックが完全に処理されたことを
知らせる。他の5つのピクセル・パラメータ値も、対応
する初期ブロック値と高速および低速スキャン増分を使
って現在の出力ブロック内の連続する各ピクセルについ
て同様に増加される。
【0103】連続階調画像内の各ピクセルに対する適切
な出力データを生成するために、6個のピクセルパラメ
ータ(pixel_k、pixel_l、pixel_
u、pixel_v、pixel_x、pixel_
y)の現在値がリード線2336、2337および23
38を通してピクセル・プロセッサー2350に送られ
る。このプロセッサーは連続階調ロジック2354、ノ
イズアドレス・ロジック2358、ハーフトーン基準
(フォント)アドレスロジック2365およびクリッピ
ング・ロジック2370を含む。
【0104】動作においては、ピクセル・パラメータp
ixel_u、pixel_vが連続階調基準平面内で
の現在のサンプリング位置を指定する。連続階調ロジッ
ク2354は現在のサンプリング位置が連続階調画像の
縁と重なるかどうかを判断する。もしもそのような重な
り合いが起こると、ロジックにより、白色に対するあら
かじめ定義された連続階調値がリード線2366に乗せ
られる。一方現在のサンプリング位置が連続階調画像内
にあると、連続階調ロジック2354がパラメータpi
xel_u、pixel_vの値にしたがって、タイリ
ングRAM742に対して対応するメモリーアドレスを
発生する。このアドレスはリード線2355を通してタ
イリングRAMに加えられる。タイリングRAMはこれ
に対して、アドレス指定されたメモリー位置に記憶され
た連続階調値を読んで、その値をデータリード線235
7に送り出す。連続階調ロジック2354は次にこの値
をロジック2366に乗せる。連続階調ロジック235
4の動作と同時に、ノイズアドレス・ロジック2358
がリード線2338上に現れるアドレスpixel_
x、pixel_yに含まれる8つの高次アドレスビッ
トにしたがって、ノイズアドレスロジック2358がこ
れらのアドレスを組み合わせて、ノイズデータRAM7
17への16ビットメモリーアドレスを構成する。2つ
の8ビットの高次アドレスは、16ビットアドレスフィ
ールドを作るために単に一緒につなげられているだけで
ある。このアドレスフィールドはリード線2361を通
してノイズデータRAMに供給される。その中に記憶さ
れたノイズデータ列は、典型的には256×256個の
あらかじめ定義された4ビット疑似ランダム値の継目の
無い配列であり、そのおのおのが16個のハーフトーン
基準(フォント)スタックの内の対応する1つを選択す
る。これらのスタックは、それぞれ256個の64×6
4ハーフトーン基準平面により表されるドット・プロフ
ィールを含むが、ハーフトーン基準データRAM717
内に記憶される。その結果得られるノイズデータ、具体
的にはノイズデータRAM717から読み出されたFO
NT ID値は、リード線2362を通ってハーフトー
ン基準アドレスロジック2365に入力される。ロジッ
ク2365はFONT ID値を高次ビットとして使用
し、あとに低次アドレスビットpixel_x、pix
el_yを付けて、ハーフトーン基準データRAM71
7内にメモリーアドレスを構成する。アドレスはリード
線2367を通ってハーフトーン基準データRAM71
7に供給されるが、その結果アドレス指定されメモリー
から読み出された1ビット値はリ、ード線2369を通
ってクリッピング・ロジック2370に加えられる。ク
リッピング・ロジック2370は、リード線2336上
に現れるpixel_x、pixel_yパラメータの
現在値にしたがって、現在の出力ブロックに対する出力
ピクセル(そのためのハーフトーンデータがリード線2
369上に出力されている)が出力タイル内にあるかど
うかを判断する。このピクセルが対応する出力タイル内
にある場合は、クリッピング・ロジック2370はリー
ド線2369上に現れるシングルビットの値をFIFO
857内に記憶するために、出力データとして出力リー
ド線853上におくりだすだけである。一方このピクセ
ルが対応する出力タイルの外側にある場合は、クリッピ
ング・ロジックはゼロの値を出力データとしてリード線
853に送り出すだけである。適切なデータがリード線
853にに送り出されると、制御ロジック2380はリ
ード線2385を通して「有効出力データ」リード線8
19にレベル変更を行い、その時出力リード線853に
現れているデータが有効であることを知らせる。このレ
ベル変更はよく知られた方法で、出力データがFIFO
内に書き込まれるタイミングの制御に利用できる。図3
8は図36および図37に示したTPP内に含まれるタ
イルプロセッサー2320内にある複製された回路部分
2410のブロックダイヤグラムである。上で述べたよ
うに、この部分は6回(ピクセルパラメータのおのおの
について1回)複製される。
【0105】回路部分2410は加算器2412および
2416、マルチプレクサ2430およびピクセルレジ
スター2450を含む。回路を単純化するために、部分
2410は図36および図37に示したマルチプレクサ
2328および2330を図38に示した共通のマルチ
プレクサ2430にまとめている。図36および図37
に示したレジスター2404、2406および2408
はレジスター群2310内にあるが、共通ピクセルパラ
メータに対するそれぞれ初期、低速および高速の増加座
標値を保持する。これらのレジスターは図38に示した
ように、リード線2405、2407および2409を
通してマルチプレクサ2405のA入力および加算器2
412および2416に接続されている。リード線24
55上に現れるピクセルレジスター2450の出力はマ
ルチプレクサ2430のD入力に送り返され、そしてリ
ード線2417を通って加算器2412と2416のB
入力に加えられる。これらの加算器により生成されるキ
ャリーアウト(Co)出力はリード線2415および2
421を通って制御ロジック2340に送られる(図3
6および図37参照)。加算器2412と2416の出
力は図38に示したようにマルチプレクサ2430のB
およびC入力に送られる。このマルチプレクサの出力
(Z)はリード線2435を通ってピクセルレジスター
2450の入力に加えられる。
【0106】図39に示した真理値表2500はマルチ
プレクサ2430の動作状態を示すが、SoおよびS1
はこのマルチプレクサに入力された選択信号である。
【0107】図40に示した状態フローチャート260
0は、図38に示した複製された回路部分2410内で
行われる逐次動作を詳しく示している。特にこの回路が
取る最初の状態、すなわちSTATE1は待機状態であ
り、その間は何等能動的な動作は行われない。「処理開
始」パルスがリード線817上に現れるまでは、動作2
610と2615を通る連続ループおよびNOパス26
20で示されるように、回路はこの状態のままである
(図36および図37参照)。図40に示すように、こ
のパルスに応答して回路部分2410の状態が判断動作
2615から出るYES2625で示されるように、次
の状態つまりSTATE2に変化する。STATE2の
間、すべての初期値および増分値は適切なレジスターに
ロードされる。これが行われると、すなわち次のクロッ
クパルスで、次の状態STATE3に入る。この状態の
間、加算器2416はマルチプレクサ2430およびピ
クセルレジスター2450(すべて図38に示してあ
る)と共にレジスター2450に記憶されたピクセルパ
ラメータの値を、レジスター2408に記憶された高速
スキャン増分だけ増加してこのパラメータの順次増加す
る値の系列を生成する。順次加算して行くこのプロセス
はSTATE3の時に、判断動作2640から出るNO
パス2645で定義されるループを通して行われ、加算
器2416がそのキャリーアウト出力上にパルス(高速
キャリー)を出力するまで続けられる。これが行われる
と、このパルスはピクセルパラメータ値がその高速スキ
ャン方向で完全に増加されたことを示す。この増加が完
了すると、判断動作2640がYESパス2650を通
じて回路部分2410の状態を次の状態つまりSTAT
E4に変更する。この状態の間、加算器2412はマル
チプレクサ2430およびピクセルレジスター2450
(すべて図38に示してある)と共にレジスター245
0に記憶されたピクセルパラメータの値を、レジスター
2406に記憶された低速スキャン増分だけ増加する。
その後図40に示した判断動作2660が、加算器24
12がキャリーアウト(低速キャリー)パルスを発生し
たかどうかにしたがって、ピクセルパラメータが低速ス
キャン方向で完全に増加されたかどうかを判断する。も
しもこのパラメータが完全に増加されていない場合、す
なわち他の処理すべき列が残っている場合は、判断動作
2660がNOパス2665を通って回路部分2410
の状態をSTATE3に戻してこの列の処理を開始させ
る。一方もしも加算器2412がキャリーアウト(低速
キャリー)パルスを発生した場合は、判断動作2660
が回路部分2410の状態をYESパス2670を通っ
て動作2675に変更する。この動作は回路部分を完了
状態、すなわちSTATE5にするものである。これは
一時的な状態に過ぎず、そのあとで制御ロジック234
0が(図36および図37参照)回路部分2410の状
態を動作2610を通ってSTATE1に戻す。
【0108】図41は図36および図37参照に示した
ピクセルプロセッサー2350内に含まれる制御ロジッ
ク2354のブロックダイヤグラムを示す。図に示した
ように、連続階調ロジック2354にはアドレスジェネ
レーター2730、比較器2740および2750、A
NDゲート2760およびマルチプレクサ2770が含
まれる。アドレスジェネレーター2730はpixel
_uおよびpixel_vレジスター2710、272
0(両方とも図36および図37参照に示すようにピク
セルレジスター群2333に含まれている)の出力に接
続されており、これらのレジスターの内容を使ってパラ
メータpixel_u_fast、Δpixel_vの
値で定義される現在の連続階調サンプリング位置に対す
る適切なメモリーアドレスを生成する。このアドレスは
図41に示したリード線2355を通ってタイリングR
AM742のアドレス入力に加えられる。RAMから読
み出された連続階調データの値は、リード線2357を
通ってマルチプレクサ2770のA入力に加えられる。
このマルチプレクサへのもう1つの入力Bは、リード線
2768を通って、白色に対するあらかじめ定義された
連続階調値に接続されている。現在のサンプルされたピ
クセル位置が連続階調画像内にあるかどうかによって、
マルチプレクサ2770はタイリングRAMから読まれ
たサンプルされた連続階調値かまたはあらかじめ定義さ
れた白値を、サンプルされた連続階調データ2780と
して選択する。具体的には、レジスター2710および
2720内に含まれるパラメータpixel_u、pi
xel_vの値はまた、比較器2740および2750
の対応する入力に加えられる。連続階調画像の幅(W)
と高さ(H)を表す値は、リード線2712と2714
を通って、これらの比較器の対応する入力の他の組に加
えられる。比較器2740と2750は、現在のピクセ
ルサンプリング位置のアドレスが垂直および水平に画像
の範囲内である場合に、それぞれの出力リード線274
5と2755上に高レベル信号を出す。このサンプリン
グ位置が画像の範囲内であることを保証するために、リ
ード線2745と2755上の出力レベルはANDゲー
ト2760により論理的に結合されて選択信号を作り、
この選択信号をリード線2765を通してマルチプレク
サ2770の選択(So)入力に加えている。したがっ
て、もしも現在の連続階調サンプリング位置が連続階調
画像の範囲内にあれば、マルチプレクサ2770は、タ
イリングRAM742から読み出された対応するサンプ
ルされた連続階調値を、サンプル連続階調データ出力リ
ード線2776上にサンプルされた連続階調データ27
80として送り出す;上記の範囲内になければ、マルチ
プレクサはあらかじめ定義された白の値をデータ278
0としてこれらの出力リード線に送り出す。
【0109】図42に示した真理値表2800はマルチ
プレクサ2770の動作を示す。
【0110】図43は図36および図37に示したピク
セルプロセッサー2350内に含まれるクリッピング・
ロジック2370のブロックダイヤグラムを示す。具体
的には図43に示したように、このロジックはANDゲ
ート2930で構成される。このANDゲートはpix
el_kレジスター2910およびpixel_lレジ
スター2920内に含まれるpixel_k、pixe
l_lアドレスの両方の16番目ビットに接続されてい
る。これらのレジスターはどちらもピクセルレジスター
群2333の中にある(図36および図37参照)。こ
れらのビットのAND結合は図43に示したリード線2
935上に現れるが、マルチプレクサ2940の選択
(So)入力に接続されている。ハーフトーン基準RA
M717から読み出されたシングルビット・ハーフトー
ン・セルデータはリード線2369を通ってマルチプレ
クサ2940のA入力に加えられる。このマルチプレク
サの他のB入力にはゼロの値が入力される。これらのマ
ルチプレクサの出力(Z)は出力リード線853に接続
されてスクリーンされた出力データ2950を供給す
る。このようにして、もしもクリッピング・アドレスに
より現在のピクセルが対応する出力タイル内にあること
が示されれば、リード線2935に現れる信号は高レベ
ルとなり、リード線2369上に現れるハーフトーン・
セル出力データを出力データとして出力リード線853
に送るようにマルチプレクサ2940を動作させる。ピ
クセルがその範囲内になければ、マルチプレクサ294
0はゼロの値を出力データとして送る。
【0111】図44に示した真理値表3000はマルチ
プレクサ2940の動作を示す。
【0112】図45は、図36および図37に示したピ
クセルプロセッサー2350に含まれるノイズアドレス
・ロジック2358のブロックダイヤグラムを示す。こ
のロジックは、図45に示したpixel_xレジスタ
ー3110に含まれるpixel_xアドレスからの8
つのアドレスビット(ビット<23:16>)とpix
el_yレジスター3120に含まれる8つの対応する
アドレスビット(ビット<23:16>)を結合するこ
とにより、256×256位置のノイズデータRAM7
17へのメモリーアドレスを構成する。具体的には、レ
ジスター3110と3120はタイルプロセッサー23
20内のピクセルレジスター2333内にある(図36
および図37参照)。pixel_x、pixel_y
レジスター内に含まれる32ビットアドレスは図45に
示すように、それぞれのリード線3112および312
2を通ってANDゲート3140および3145の1つ
の入力に送られる。これらのANDゲートはノイズアド
レスロジック2358内に含まれる。Noise_Bi
t_Mask 3115はリード線3117を通ってこ
れらのANDゲートのおのおのの他の入力に加えられ
る。Noise_Bit_Maskの値をpixel_
xおよびpixel_yアドレスのおのおのと論理的に
結合することにより、リード線3142および3146
上に現るアドレスは、これらのアドレスのおのおのの8
ビット<23:16>となる。これらのビットは単につ
ながれて共に16ビットアドレスを構成するだけであ
る。その結果得られる16ビットアドレスはアドレスリ
ード線2361上に現れるが、ノイズデータRAM71
7内にある4ビットメモリー位置から1つを選択する。
この位置から読み出される4ビットの値はFONT I
D3130であるが、これはリード線2362を通って
ハーフトーン基準アドレスロジック2365に加えられ
る(図36および図37参照)。
【0113】最後に、図46は図36および図37に示
したピクセルプロセッサー2350に含まれるハーフト
ーン基準アドレスロジック2365のブロックダイヤグ
ラムを示す。このロジックはハーフトーン基準セルデー
タRAM717への24ビットのメモリーアドレスを構
成し、図46に示すようにANDゲート3225および
3230を含む。上に述べたように、FONT ID値
は16個のハーフトーン・スタック(フォント)から特
定の1つを選択する。サンプルされた連続階調データの
値はこのスタックを構成する256個のハーフトーン基
準平面の内から特定の1つを選択するが、pixel_
xおよびpixel_yレジスターのおのおのの6ビッ
トがまとまって、64×64ビットの選択されたハーフ
トーン基準平面内の現在のサンプリング位置を選択す
る。
【0114】具体的には、24ビットメモリーアドレス
の構成要素は、リード線2362上に現れる4ビットの
FONT IDアドレスと、その後に続くリード線23
66上の8ビットのサンプルされた連続階調値278
0、およびその後に続く6個のあらかじめ定義された低
次の対応する整数アドレスビット<15:10>(pi
xel_xおよびpixel_yレジスター3110お
よび3120のおのおのに含まれる)である。これらの
低次のアドレスビットは、ANDゲート3225および
3230により、レジスター3110および3120に
保持されるpixel_xおよびpixel_yアドレ
スの完全な現在値と、Font_Bit_Mask31
25の値を論理的に結合することにより構成される。こ
れに関連して、pixel_xおよびpixel_yレ
ジスター3110および3120の内容がそれぞれリー
ド線3210および3220を通って、ANDゲート3
225および3230の1つの入力に加える。Font
_Bit_Mask3125の値はリード線3128を
通ってこれらのゲートのおのおのの他の入力に加えられ
る。Font_Bit_Maskの値をpixel_x
およびpixel_yアドレスのそれぞれと論理的に結
合することにより、リード線3228および3233上
に現れるアドレスはこれらのアドレスのおのおのの6ビ
ット<15:10)となる。これらはアドレスリード線
2367を通ってハーフトーン基準データRAM717
に、24ビットメモリーアドレスの1部として入力され
る。RAM内のアドレス指定された位置に記憶されたデ
ータはシングルビット・ハーフトーンセルデータ236
9として供給され、これは以下に述べるように、リード
線2369を通って入力データとしてクリッピング・ロ
ジック2370(図36、図37および43参照)に送
られる。
【0115】これまでの説明により、この技術分野に詳
しいものであれば、本発明の2チップアーキテクチャー
は複数のタイルおよびピクセルプロセッサー(TPP)
740を共通の制御マイクロコンピュータと共に使用す
ることにより実現される並列処理の使用によって、処理
スループットを向上するように容易に拡張できることが
理解できるであろう。組み込まれるTPPの数を増やす
ことにより、並列処理の程度が向上し、それは画像の回
転、拡大・縮小およびハーフトーン化のスループットを
大幅に向上する。
【0116】具体的には、1個だけのTPPをマイクロ
コンピュータ713に接続するのでなく、図14に示す
ように、数個のTPPを例えばバスを介してマイクロコ
ンピュータに接続し、マイクロコンピュータで制御する
ようにできる。画像パラメータはすべてのTPPについ
て同じであるとしても、各TPPにマイクロコンピュー
タで適切な命令を与えて画像の特定の重なり合わない部
分(水平の帯部分など)を別々の開始点で処理させるこ
とが出来る。各TPPが初期化されると、マイクロコン
ピュータはそのTPPに画像部分を独立に処理するよう
に命令する。1つのTPPがその処理を実行している
間、マイクロコンピュータはその次のTPPを初期化
し、その後それに処理を開始するように命令し、以下同
様に他のTPPについて繰り返す。このようにして、す
べてのTPPがそれらの対応する画像部分をわずかづつ
時間をずらして、しかし本質的に並列的な仕方で処理す
ることができる。各TPPはそれ自身のタイリングRA
Mを持ち、このRAMにはそのTPPが使用する特定の
画像帯部分(または他の画像部分)をマイクロコンピュ
ータがロードする。更に、各TPPはその出力を例えば
FIFOのような別々のバッファに書き込むように設定
することができる。そのバッファの内容は次に共通の出
力バッファ内に、適切な時間にブロック転送される。各
TPPがその画像部分を処理している間、マイクロコン
ピュータは出力画像の対応する部分の位置を計算し、出
力画像内にはそのTPPにより現在供給されている出力
データが書き込まれる。TPPがその処理を終えると、
マイクロコンピュータはその出力データのその画像部分
へのブロック転送を開始する。それに加えて、TPPは
単なる帯ではなく別々のタイルを処理するように設定す
ることができる。更に各TPPは共通のタイリングRA
Mに対して動作することができ、一方TPPは時間をず
らすと同時に出力インターリーブ方式で連続する連続階
調値を処理し、データを出力画像内の対応する出力位置
に書き込む。例えば、4個のTPPが使用されるなら
ば、各TPPは4番目の出力位置ごとに書き込む:最初
のTPPが1番目、5番目、9番目・・などの出力位置
の出力データを書き込み、2番目のTPPは2番目、6
番目、10番目・・などの出力位置の出力データを書き
込み、のように出力画像を通じて他のTPPについても
行う。出力データが最初のTPPによって書き込まれる
と、次に2番目、3番目および4番目のTPPが順繰り
似続いて行う。したがって、共通の制御マイクロコンピ
ュータを通じての制御によりTPPを複製することによ
り、1つだけのTPPを使用する場合に比べて処理スル
ープットは大幅に向上することができる。
【0117】更に、ハーフトーン基準データを複数平面
のシングルビット・ハーフトーン・データの複数スタッ
クによって説明してきたが、各スタックの代わりに、シ
ングルビットハーフトーン・ドットの値でなく8ビット
しきい値の単一のマトリックスを使うことができる。こ
の場合、ハーフトーン基準アドレスロジック2365
(図36、図37および46参照)は、サンプルされた
連続階調のそれぞれの値をしきい値マトリックス内の対
応するサンプルされたしきい値と比較する比較器を持つ
ように容易に修正することができる。その比較の結果の
1ビット情報、すなわち連続階調値がその対応するしき
い値以上であれば高レベルビット、そうでなければ0ビ
ット、がシングルビット・ハーフトーンデータを構成す
る。ノイズデータは上に述べたと同様の仕方で、特定の
しきいマトリックスを16個のうちから1つ、疑似ラン
ダム的に選択するために使用できる。pixel_xお
よびpixel_yパラメータの現在値は読み出すべき
しきいマトリックスの位置を定義する。
【0118】更に、本発明のスクリーナーは、連続階調
サンプリング周波数が粗過ぎると思われるときには、連
続階調内挿を利用することができる。この場合、例えば
ブロック2135(図33および34参照)の中でパラ
メータpixel_uおよびpixel_vが、これら
のパラメータの小数部分の値に基づいて、まとめて内挿
される連続している連続階調値を選択し、中間連続階調
値を生成する。この中間連続階調値は出力データとして
送られるか、またはハーフトーン化が使用される場合は
ハーフトーン化プロセスに入力されてハーフトーン出力
データを生成する。
【0119】更に、本発明を2レベル(2値)出力を作
り出す印字エンジンと共に使用されるものとして述べて
きたが、複数ビット出力を作り出す印字エンジンも使用
することができる。その場合、わずかに異なるドットフ
ォントを提供する複数のスクリーナーが、同じ入力連続
階調値を使って並列に動作させられる。1ドットフォン
トは通常よりもわずかに大きなハーフトーン・ドットを
生成する;他のドットフォントは通常よりもわずかに小
さなハーフトーン・ドットを生成する。各スクリーナー
は他とは独立に動作する。もしも両方のスクリーナーが
同じ信号を発生するならば、印字エンジンは書き込みス
ポットを発生するかまたは正常の動作かっら外れてしま
う。しかし、もしも両方のスクリーナーが異なる出力信
号を発生するならば、印字エンジンは完全な黒と白の間
の事前に決められたレベルの中間密度を持つ書き込みス
ポットを発生する。その結果、3状態印字エンジンは縁
が滑らかになった、すなわちジャギーが抑えられたハー
フトーン・ドットを印字する。これらのドットは滑らか
にしないドットに比べて高周波成分がかなり減らされる
ので、いわゆる自己モアレパターンは十分に抑えること
ができる。自己モアレパターンは、上記の方法を用いな
い場合、理想的なハーフトーン・ドットパターンの空間
的な分布と印字エンジンが使用する印字パターンの間の
ビートにより発生するものである。ドットを更に滑らか
にし、自己モアレパターン抑制効果を高めるために、レ
ベルの数を増やした印字エンジンを使用することもでき
る。具合いの悪いことに、多レベル印字エンジンを複数
の2レベルスクリーナーと共に使用することは、システ
ムを複雑にし、コストを上昇させる。そのため、本方式
を実現する上で、許容可能な自己モアレの量と、結果と
して実現される画像処理システムのコストと複雑さの間
で設計上の妥協点を見いだすことになるであろう。
【0120】本発明の様々な実施例を示し、詳しく説明
したが、本発明の知見を利用したその他の多くの実施例
を、本技術分野に精通した者であれば容易に作ることが
出来るであろう。
【0121】工業的な応用と利点 本発明はディジタル画像処理システムにおいて、また特
にページ記述言語を組み込む処理システムの1部とし
て、有用である。本発明は画像の回転、拡大・縮小およ
びディジタルハーフトーン・スクリーニングを、きわめ
て正確、安価、高速および高いフレキシビリティをもっ
て実行することを有利に可能にする。したがって本発明
は印字出力装置(比較的低コストレーザープリンターを
含むがそれに限定されるものではない)に高度な画像処
理能力を与えるために、容易に応用することができるで
あろう。
【図面の簡単な説明】
【図1】本発明に基づく画像の回転、拡大・縮小および
ハーフトーン化機能を提供するページ記述言語を実現す
るためのシステム5の、非常に高レベルの単純化された
ブロックダイヤグラムを示す。
【図2】図3〜図6に対する描画シートの正しい配列を
示す。
【図3】図1内のシステム5における画像の回転、拡大
・縮小およびハーフトーン化機能を実現するために、発
明に関わるプロセスを共同して構成する種々のタイル方
式の操作を図形的に示す。
【図4】図1内のシステム5における画像の回転、拡大
・縮小およびハーフトーン化機能を実現するために、発
明に関わるプロセスを共同して構成する種々のタイル方
式の操作を図形的に示す。
【図5】図1内のシステム5における画像の回転、拡大
・縮小およびハーフトーン化機能を実現するために、発
明に関わるプロセスを共同して構成する種々のタイル方
式の操作を図形的に示す。
【図6】図1内のシステム5における画像の回転、拡大
・縮小およびハーフトーン化機能を実現するために、発
明に関わるプロセスを共同して構成する種々のタイル方
式の操作を図形的に示す。
【図7】空間的に対応する連続階調ボックスおよび出力
ブロックに対する連続階調サンプリングおよび出力デー
タ書き込みを図形的に示す。
【図8】単一の連続階調ボックスを詳細に示す。
【図9】出力ブロックを詳細に、また図8の連続階調ボ
ックスに対応させて示す。
【図10】出力ブロック内にある出力サンプリング位
置、対応するハーフトーン基準セル内にあるハーフトー
ンサンプリング位置、および対応する1つのタイル内に
ある連続階調サンプリング位置の間の線形の空間的対応
を図形的に示す。最後の2つは出力サンプリング位置に
よって指定される。
【図11】図12および図13に対する描画シートの正
しい配列を示す。
【図12】本発明の技術を利用した画像処理システム7
00の高レベルのブロックダイヤグラムを示す。
【図13】本発明の技術を利用した画像処理システム7
00の高レベルのブロックダイヤグラムを示す。
【図14】図12および図13に示したシステム700
で使用された本発明の技術の2−チップによる実施例
(マイクロコンピュータ713およびTPPプロセッサ
ー740)のブロックダイヤグラムを示す。
【図15】図16および図17の描画シートの正しい配
列を示す。
【図16】図14に示されたTTH回路800に示され
たマイクロコンピュータ713内で実行されるメインル
ープ900のフローチャートを示す。
【図17】図14に示されたTTH回路800に示され
たマイクロコンピュータ713内で実行されるメインル
ープ900のフローチャートを示す。
【図18】図16および図17に示されたメインループ
900内で行われるステップ925−945で構成され
るタイル処理ルーチン1000のフローチャートを示
す。
【図19】図18に示されたタイル処理ルーチン100
0内で実行されるブロックおよびタイルサイズ設定ステ
ップ1010のフローチャートを示す。
【図20】図18に示されたタイル処理ルーチン100
0内で実行されるタイル数計算ステップ1020のフロ
ーチャートを示す。
【図21】図18に示されたタイル処理ルーチン100
0内で実行される設定ピクセル座標変更ステップ103
0のフローチャートを示す。
【図22】図18に示されたタイル処理ルーチン100
0内で実行される設定タイル座標変更ステップ1040
のフローチャートを示す。
【図23】ある出力ブロックの辺とそれに対応するタイ
ルのコーナー間の、そのブロック内でのタイルの回転に
より生じたオフセット位置を図形的に示す。
【図24】図25および図26の描画シートの正しい配
列を示す。
【図25】図18に示されたタイル処理ルーチン100
0内で実行されるブロック位置オフセット計算ステップ
1050のフローチャートを示す。
【図26】図18に示されたタイル処理ルーチン100
0内で実行されるブロック位置オフセット計算ステップ
1050のフローチャートを示す。
【図27】図18に示されたタイル処理ルーチン100
0内で実行されるタイル処理ステップ1060の高レベ
ルのフローチャートを示す。
【図28】図29および図30の描画シートの正しい配
列を示す。
【図29】図27に示されたタイル処理ステップ106
0の詳細なフローチャートを示す。
【図30】図27に示されたタイル処理ステップ106
0の詳細なフローチャートを示す。
【図31】図29および図30に示されたタイル処理ス
テップ1060の一部として実行される処理タイルルー
チン1770の高レベルのフローチャートを示す。
【図32】図31に示された処理タイルルーチン177
0の詳細なフローチャートを示す。
【図33】図32に示された処理タイルステップ197
0の一部として実行される処理ピクセルルーチン197
0の高レベルのフローチャートを示す。
【図34】図33に示された処理ピクセルルーチン19
70の詳細なフローチャートを示す。
【図35】図36および図37の描画シートの正しい配
列を示す。
【図36】図11および14に示したタイルおよびピク
セルプロセッサー(TPP)740の実施例の高レベル
のブロックダイヤグラムを示す。
【図37】図11および14に示したタイルおよびピク
セルプロセッサー(TPP)740の実施例の高レベル
のブロックダイヤグラムを示す。
【図38】図36および図37に示したTPP内に含ま
れるタイルプロセッサー2320内にある複製回路部分
2410のブロックダイヤグラムを示す。
【図39】図38に示したタイルプロセッサーの複製回
路部分2410の中に含まれるマルチプレクサ2430
の真理値表2500を示す。
【図40】図38に示したタイルプロセッサーの複製回
路部分2410の中で行われる逐次操作を示す状態フロ
ーチャート2600を示す。
【図41】図36および図37に示したピクセルプロセ
ッサー2350に含まれる連続階調ロジック2354の
ブロックダイヤグラムを示す。
【図42】図41に示した連続階調ロジック2354に
含まれるマルチプレクサ2770の真理値表2800を
示す。
【図43】図36および図37に示したピクセルプロセ
ッサー2350に含まれるクリッピング・ロジック23
70のブロックダイヤグラムを示す。
【図44】図43に示したクリッピング・ロジック23
70に含まれるマルチプレクサ2940の真理値表30
00を示す。
【図45】図36および図37に示したピクセルプロセ
ッサー2350に含まれるノイズアドレス・ロジック2
358のブロックダイヤグラムを示す。
【図46】図36および図37に示したピクセルプロセ
ッサー2350に含まれるハーフトーン基準アドレス・
ロジック2365のブロックダイヤグラムを示す。分か
りやすくするために、異なる図に共通する同一の部品を
示す番号は出来る限り同じ参照番号を使用した。
【符号の説明】
1 ページ記述言語命令テキストデータ 2 入力連続階調画像 4 ページ記述言語(POL)処理回路 5 出力バッファ 6 プロセッサー 7 出力画像(1ビットビット/画素) 8 ラスタ式書き込みスポット 9 デジタルマーキングエンジン 10 出力画像 11 印字出力ページ
フロントページの続き (72)発明者 アンソニー ジェームス レオン三世 アメリカ合衆国 ニューヨーク州 14534 ピッツフォード イーストパークロード 34

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】 入力連続階調画像から回転、拡大・縮小
    およびハーフトーン化された出力画像を生成する方法で
    あって、 (A)ピクセル・サンプリング増分を定義するステップ
    であって、ピクセル・サンプリング増分は、出力画像の
    1つのブロック内での2つの隣接するピクセル位置の間
    の移動に対応して、連続階調画像内での連続階調タイル
    の中の連続するサンプリング位置の間の増加移動を指定
    するステップと、 (B)前記ピクセル・サンプリング増分の対応するもの
    への応答のステップであって、(i)ブロックを通して
    の増加移動を表すアドレスを生成して出力ピクセル位置
    の系列を作るステップと、(ii)前記連続階調画像を
    通してサンプリングして、アドレス指定された各出力ピ
    クセル位置に結び付いたサンプルされた連続階調値を生
    成し、複数のサンプルされた連続階調値を生成するステ
    ップと、(iii)前記のサンプルされた連続階調値の
    おのおのとあらかじめ定義されたパターンに対する応答
    として、前記系列内での各アドレス指定された出力ピク
    セル位置に対する対応するハーフトーン出力値を発生
    し、複数のハーフトーン出力値を生成するステップとを
    含むステップと、 (C)前記各ハーフトーン出力値が連続階調タイル内に
    あるピクセル位置に結びついている場合、ブロック内の
    対応してアドレス指定された出力ピクセル位置における
    ハーフトーン出力値のおのおのを書き込むステップとを
    含むことを特徴とする画像の回転、拡大・縮小およびデ
    ィジタルハーフトーン・スクリーニングをまとめて行う
    ためのタイル方式の処理方法。
  2. 【請求項2】 請求項1の方法において、前記画素サン
    プリング増分定義ステップはタイル増分を決定するステ
    ップを含み、前記タイル増分は前記連続階調画像内の連
    続する連続階調タイルの対応する位置の間の増加移動を
    指定し、前記出力画像は前記連続階調タイルの異なる1
    つにおのおの空間的に対応しかつそれに対する出力デー
    タを記憶するブロックの配列で構成され、かつ、 (A1)出力データへ印字すべき出力画像内の現在のブ
    ロックおよび処理すべき前記現在のブロックに対応する
    連続階調画像内の現在のタイルの開始位置を設定するス
    テップと、 (D)出力画像が、連続階調画像内のすべてのタイルを
    処理して得られる出力データで完全に構成されるまで、
    前記タイル増分に応答して、出力画像内の連続する各出
    力ブロックに対して現在ブロックとして、また前記連続
    階調画像内の連続する各タイルに対して現在タイルとし
    てステップ(A1)、(B)および(C)を繰り返すス
    テップとを含むことを特徴とする画像の回転、拡大・縮
    小およびディジタルハーフトーン・スクリーニングをま
    とめて行うためのタイル方式の処理方法。
  3. 【請求項3】 入力連続階調画像から回転、拡大・縮小
    及びハーフトーン化された出力画像を生成する方法であ
    って、 (A)ピクセルサンプリング増分を定義するステップで
    あって、ピクセルサンプリング増分は、出力画像の一つ
    のブロック内における隣接する二つのピクセル位置の間
    の移動を特定すると共に、連続階調画像内での連続階調
    タイル中の連続するサンプリング位置間の増加移動を特
    定するステップと、 (B)前記ピクセルサンプリング増分の対応するものへ
    応答するステップであって、(i)出力ピクセル位置の
    系列を生成するために、現在のブロックを通る増分の移
    動量を表すアドレスを生成するステップと、(ii)複
    数のサンプリングされた連続階調値を生成するために、
    前記連続階調画像を通じてサンプリングを行い、アドレ
    ス指定された各出力ピクセル位置に結びついたサンプル
    された連続階調値を生成するステップと、(iii)前
    記サンプリングされた連続階調値のそれぞれとあらかじ
    め定義されたパターンに応じて、前記系列内でのアドレ
    スされた出力ピクセル位置についての対応するハーフト
    ーン出力値を生成するステップと、 (C)前記各ハーフトーン出力値が連続階調タイル内に
    あるピクセル位置に結び付いている場合において、現ブ
    ロック内の対応するアドレスされた出力ピクセル位置に
    おけるそれぞれのハーフトーンアウトプット値を書き込
    む手段ステップと、 (D)出力画像が連続階調画像内の全てのタイルを処理
    して得られる出力データで完全に構成されるまで、前記
    タイル増分に応答して、出力画像内の連続する各出力ブ
    ロックに対して現ブロックとして、また前記連続階調画
    像内の連続する各タイルに対して現タイルとして、ステ
    ップ(A),(B)及び(C)を繰り返すステップと、 を含み、 前記(A)のピクセルサンプリング増分を定義するステ
    ップは、(i)タイル増分を定義するステップであっ
    て、前記タイル増分は前記連続階調画像における連続す
    る連続階調タイルの対応する位置と複数のブロックのア
    レイを構成する出力画像の間の移動増分を特定し、また
    上記ブロックは空間的に対応し、前記連続階調タイルの
    内の一つの出力値を記憶するステップと、(ii)出力
    データとともに書き込まれる出力画像中の現ブロックの
    開始位置を設定すると共に、処理される現ブロックに対
    応する連続階調画像中の現タイルの開始位置を設定する
    ステップと、(iii)連続階調画像の回転角度及び拡
    大・縮小関数に応じて、連続階調タイルのサイズを決定
    するステップであり、一つ一つの連続階調タイルは前記
    連続階調イメージの一部を含み、前記連続階調タイルの
    互いにオーバーラップすることのないものからなるアレ
    イに分解する工程と、(iv)拡大縮小関数及び回転角
    度に応じて、連続階調タイルのサイズを決定するステッ
    プと、 を含むと共に、 前記定義ステップは、拡大縮小関数、回転角度及びスク
    リーン角度に応じてピクセルサンプリング増分及びタイ
    ル増分を決定するステップであり、 これらステップによって処理を行うことを特徴とする画
    像の回転、拡大・縮小およびディジタルハーフトーン・
    スクリーニングをまとめて行うためのタイル方式の処理
    方法。
  4. 【請求項4】 請求項3の方法において、前記現在の連
    続階調タイルは現在の出力ブロックに関して前記回転角
    だけ回転され、前記ブロックの隣接もの同士が前記出力
    画像内で互いに、前記回転角に依存する重なり程度に重
    なり合うことを特徴とする画像の回転、拡大・縮小およ
    びディジタルハーフトーン・スクリーニングをまとめて
    行うためのタイル方式の処理方法。
  5. 【請求項5】 請求項4の方法において、前記定義ステ
    ップは前記出力ブロックの内の1つの縁の位置と前記連
    続階調タイル中の対応する1つの対応する隅との間のオ
    フセットを計算するステップからなり、前記開始位置設
    定ステップは現在タイルの開始位置をオフセット値で修
    正するステップからなる画像の回転、拡大・縮小および
    ディジタルハーフトーン・スクリーニングをまとめて行
    うためのタイル方式の処理方法。
  6. 【請求項6】 請求項5の方法において、前記アドレス
    発生および連続階調値サンプリングおよびハーフトーン
    出力値生成ステップは高速スキャン方向に沿って動作し
    て、現在のブロックに対する前記ハーフトーン出力値の
    前記系列を生成し、かつ低速スキャン方向に沿って動作
    して、現在のブロックに対するハーフトーン出力値の連
    続する列を生成する画像の回転、拡大・縮小およびディ
    ジタルハーフトーン・スクリーニングをまとめて行うた
    めのタイル方式の処理方法。
  7. 【請求項7】 請求項5の方法において、前記ピクセル
    サンプリング増分およびタイル増分もまたパターン中の
    連続する位置の間の増加移動を指定する、また前記ハー
    フトーン出力値生成ステップは、前記ピクセルサンプリ
    ング増分の内の対応する1つに応答し、かつ前記サンプ
    ルされた連続階調値のおのおのに応答して、パターンを
    通してサンプリングし、対応するハーフトーン出力値を
    生成するステップからなる画像の回転、拡大・縮小およ
    びディジタルハーフトーン・スクリーニングをまとめて
    行うためのタイル方式の処理方法。
  8. 【請求項8】 請求項5の方法において、前記ハーフト
    ーン出力値生成ステップは、前記サンプルされた連続階
    調値中の1つに応答して、1つのハーフトーン基準スタ
    ックを構成する複数の事前に定義されたハーフトーン基
    準平面の対応する1つを選択するステップで、前記平面
    のおのおのは1つのハーフトーン・ドットの異なる表現
    を記憶するものであり、前記ピクセルサンプリング増分
    の適切なものにより定義されるピクセル位置で選択され
    た前記ハーフトーン基準平面をサンプルして、ハーフト
    ーン出力値を生成する画像の回転、拡大・縮小およびデ
    ィジタルハーフトーン・スクリーニングをまとめて行う
    ためのタイル方式の処理方法。
  9. 【請求項9】 請求項8の方法において、前記ハーフト
    ーン・パターンのサンプリング・ステップは、 前記ピクセル・サンプリング増分の適切なものに応答し
    て、ピクセル位置で事前に定義されたしきい値マトリッ
    クスをサンプルしてサンプルされたしきい値を生成する
    ステップで、前記しきい値マトリックスはしきい値の事
    前に定義された配列を含むものであり、 前記サンプルされたしきい値を前記サンプルされた連続
    階調値の対応する1つと比較し、それに応答して対応す
    るハーフトーン出力値を生成するステップを含むことを
    特徴とする画像の回転、拡大・縮小およびディジタルハ
    ーフトーン・スクリーニングをまとめて行うためのタイ
    ル方式の処理方法。
  10. 【請求項10】 請求項8の方法において、前記アドレ
    ス発生、連続階調値サンプリングおよびハーフトーン出
    力値生成ステップは協調して行われてアドレス指定され
    た出力ピクセル位置、対応するサンプルされた連続階調
    値および対応するハーフトーン出力値を発生する画像の
    回転、拡大・縮小およびディジタルハーフトーン・スク
    リーニングをまとめて行うためのタイル方式の処理方
    法。
  11. 【請求項11】 請求項6の方法において、前記連続階
    調サンプリングおよび前記ハーフトーン出力値生成ステ
    ップは互いに独立に、かつそれぞれ第1および第2のサ
    ンプリング方向で行われる画像の回転、拡大・縮小およ
    びディジタルハーフトーン・スクリーニングをまとめて
    行うためのタイル方式の処理方法。
  12. 【請求項12】 請求項6の方法において、前記書き込
    みステップは、 前記各ハーフトーン出力値が現在の連続階調タイル内に
    あるピクセル位置に結び付いている場合に、ハーフトー
    ン出力値のおのおのをバッファに記憶するステップと、 現在のタイルが処理された後で、記憶されたハーフトー
    ン出力値を前記バッファから前記出力画像内の前記現在
    のブロックの位置によって定義されたページバッファ内
    の1つのブロックに転送するステップと、を含むことを
    特徴とする画像の回転、拡大・縮小およびディジタルハ
    ーフトーン・スクリーニングをまとめて行うためのタイ
    ル方式の処理方法。
  13. 【請求項13】 請求項6の方法において、前記書き込
    みステップは更に、 連続階調画像に結び付いたピクセル・サンプリング・ア
    ドレスの増加と共に第1および第2のクリッピング変数
    を増加し、第1および第2のクリッピング変数のおのお
    のは、そこにおける単位の距離が現在の連続階調タイル
    の1つの縁に沿った対応する距離に等しく、また前記変
    数のおのおのの整数値が現在のタイル内の1および現在
    タイル外のゼロまたは2に等しく、 現在の連続階調タイル内にある対応するピクセル位置に
    対して、両方のクリッピング変数の整数値が1に等しい
    場合に、出力バッファ内の対応するアドレス指定された
    出力ピクセル位置における前記各ハーフトーン出力値を
    記憶し、 前記クリッピング変数のうちの1つの整数値が1に等し
    くなく、ゼロの値が現在の連続階調タイルの外側にある
    ピクセル位置に結び付いた現在のブロック内のアドレス
    指定された出力ピクセル位置のおのおのに記憶されてい
    る場合に、対応するアドレス指定された出力ピクセル位
    置にゼロを記憶することを特徴とする画像の回転、拡大
    ・縮小およびディジタルハーフトーン・スクリーニング
    をまとめて行うためのタイル方式の処理方法。
  14. 【請求項14】 入力された連続階調画像から回転、拡
    大・縮小およびハーフトーン化された出力画像を作る装
    置であって、 ピクセルサンプリング増分を定義する手段で、前記ピク
    セルサンプリング増分は前記出力画像の1つのブロック
    内の2つの隣接するピクセル位置の間の移動に対応する
    前記連続階調画像内の連続階調タイルにおける連続する
    サンプリング位置の間の増加移動を指定手段と、 前記ピクセル・サンプリング増分の対応するものに応じ
    て、 (i)ブロックを通っての増加移動を表すアドレスを生
    成し、出力ピクセル位置の系列を生成する手段と、 (ii)前記連続階調画像を通ってサンプルして、各ア
    ドレス指定された出力ピクセル位置に結び付いたサンプ
    ルされた連続階調値を生成し、複数のサンプルされた連
    続階調値発生する手段と、 (iii)前記サンプルされた連続階調値のおのおのと
    事前に定義されたパターンに応じて、前記系列内のアド
    レス指定された出力ピクセル位置のおのおのに対する対
    応するハーフトーン出力値を生成し、複数のハーフトー
    ン出力値を作る手段と、 前記各ハーフトーン出力値が連続階調タイル内にあるピ
    クセル位置に結び付いている場合に、ブロック内の対応
    するアドレス指定された出力ピクセル位置におけるハー
    フトーン出力値のおのおのを書き込む手段と、を含むこ
    とを特徴とする画像の回転、拡大・縮小およびディジタ
    ルハーフトーン・スクリーニングをまとめて行うための
    タイル方式の処理方法。
  15. 【請求項15】 請求項14の装置において、前記定義
    手段はタイル増分を決定する手段からなり、前記タイル
    増分は前記連続階調画像内の連続する連続階調タイルの
    対応する位置と前記出力画像の間の増加移動を指定し、
    前記装置は更に、出力データで印字すべき出力画像内の
    現在のブロックの開始位置と、処理すべき前記現在のブ
    ロックに対応する連続階調画像内の現在のタイルの開始
    位置を設定する手段とを特徴とする画像の回転、拡大・
    縮小およびディジタルハーフトーン・スクリーニングを
    まとめて行うためのタイル方式の処理方法。
  16. 【請求項16】 入力連続階調画像から回転、拡大・縮
    小及びハーフトーン化された出力画像を生成する装置で
    あって、 (A)ピクセルサンプリング増分を定義する手段であっ
    て、ピクセルサンプリング増分は、出力画像の一つのブ
    ロック内における隣接する二つのピクセル位置の間の移
    動を特定すると共に、連続階調画像内での連続階調タイ
    ル中の連続するサンプリング位置間の増加移動を特定す
    る手段と、 (B)前記ピクセルサンプリング増分の対応するものへ
    応答する手段であって、(i)出力ピクセル位置の系列
    を生成するために、現在のブロックを通る増分の移動量
    を表すアドレスを生成する手段と、(ii)複数のサン
    プリングされた連続階調値を生成するために、前記連続
    階調画像を通じてサンプリングを行い、アドレス指定さ
    れた各出力ピクセル位置に結びついたサンプルされた連
    続階調値を生成する手段と、(iii)前記サンプリン
    グされた連続階調値のそれぞれとあらかじめ定義された
    パターンに応じて、前記系列内でのアドレスされた出力
    ピクセル位置についての対応するハーフトーン出力値を
    生成する手段と、 (C)前記各ハーフトーン出力値が連続階調タイル内に
    あるピクセル位置に結び付いいる場合において、現ブロ
    ック内の対応するアドレスされた出力ピクセル位置にお
    けるそれぞれのハーフトーンアウトプット値を書き込む
    手段手段と、 を含み、 前記(A)のピクセルサンプリング増分を定義する手段
    は、 (i)タイル増分を定義する手段であって、前記タイル
    増分は前記連続階調画像における連続する連続階調タイ
    ルの対応する位置と複数のブロックのアレイを構成する
    出力画像の間の移動増分を特定し、また上記ブロックは
    空間的に対応し、前記連続階調タイルの内の一つの出力
    値を記憶する手段と、 (ii)出力データとともに書き込まれる出力画像中の
    現ブロックの開始位置を設定すると共に、処理される現
    ブロックに対応する連続階調画像中の現タイルの開始位
    置を設定する手段と、 (iii)連続階調画像の回転角度及び拡大・縮小関数
    に応じて、連続階調タイルのサイズを決定する手段であ
    り、一つ一つの連続階調タイルは前記連続階調イメージ
    の一部を含み、前記連続階調タイルの互いにオーバーラ
    ップすることのないものからなるアレイに分解する工程
    と、 (iv)拡大縮小関数及び回転角度に応じて、連続階調
    タイルのサイズを決定する手段と、 を含むと共に、 前記定義手段は、拡大縮小関数、回転角度及びスクリー
    ン角度に応じてピクセルサンプリング増分及びタイル増
    分を決定する手段であり、 これら手段によって処理を行うことを特徴とする画像の
    回転、拡大・縮小およびディジタルハーフトーン・スク
    リーニングをまとめて行うためのタイル方式の処理装
    置。
  17. 【請求項17】 請求項17の装置において、前記現在
    の連続階調タイルは現在の出力ブロックに関して前記の
    回転角だけ回転され、前記ブロックの隣接するものが前
    記出力画像内で、重なり合いが前記回転角に依存する程
    度に、互いに重なり合う画像の回転、拡大・縮小および
    ディジタルハーフトーン・スクリーニングをまとめて行
    うためのタイル方式の処理方法。
  18. 【請求項18】 請求項17の装置において、前記定義
    手段は前記出力ブロックの1つの縁と前記連続階調タイ
    ルの対応する1つの対応する隅の位置の間のオフセット
    を計算する手段からなり、前記開始位置設定手段は現在
    のタイルの開始位置をオフセット値で修正する手段から
    なる画像の回転、拡大・縮小およびディジタルハーフト
    ーン・スクリーニングをまとめて行うためのタイル方式
    の処理方法。
  19. 【請求項19】 請求項18の装置において、前記アド
    レス発生および連続階調値サンプリング手段およびハー
    フトーン出力値生成手段は高速スキャン方向に沿って動
    作して、現在のブロックに対する前記ハーフトーン出力
    値の前記系列を生成し、かつ低速スキャン方向に沿って
    動作して、現在のブロックに対するハーフトーン出力値
    の連続する列を生成する画像の回転、拡大・縮小および
    ディジタルハーフトーン・スクリーニングをまとめて行
    うためのタイル方式の処理方法。
  20. 【請求項20】 請求項18の装置において、前記ピク
    セルサンプリング増分およびタイル増分もまたパターン
    中の連続する位置の間の増加移動を指定し、また前記ハ
    ーフトーン出力値生成手段は、前記ピクセルサンプリン
    グ増分の内の対応する1つに応答し、かつ前記サンプル
    された連続階調値のおのおのに応答して、パターンを通
    してサンプリングし、対応するハーフトーン出力値を生
    成する手段からなる画像の回転、拡大・縮小およびディ
    ジタルハーフトーン・スクリーニングをまとめて行うた
    めのタイル方式の処理方法。
  21. 【請求項21】 請求項18の装置において、前記ハー
    フトーン値生成手段は、 前記サンプルされた連続階調値中の1つに応じて、1つ
    のハーフトーン基準スタックを構成する複数の事前に定
    義されたハーフトーン基準平面の対応する1つを選択す
    る手段で、前記平面のおのおのはハーフトーン・ドット
    の1つの異なる表現を記憶する手段と、 前記ピクセルサンプリング増分の適切なものにより定義
    されるピクセル位置で選択された前記ハーフトーン基準
    平面をサンプルして、ハーフトーン出力値を生成する手
    段と、を含むことを特徴とする画像の回転、拡大・縮小
    およびディジタルハーフトーン・スクリーニングをまと
    めて行うためのタイル方式の処理方法。
  22. 【請求項22】 請求項21の装置において、前記ハー
    フトーン値生成手段は、 前記ピクセル・サンプリング増分の適切なものに応じ
    て、ピクセル位置で事前に定義されたしきい値マトリッ
    クスをサンプルして、サンプルされたしきい値を生成す
    る手段で、前記しきい値マトリックスはしきい値の事前
    に定義された配列を含む手段と、 前記サンプルされたしきい値を前記サンプルされた連続
    階調値の対応する1つと比較し、それに応じて対応する
    ハーフトーン出力値を生成する手段と、を含むことを特
    徴とする画像の回転、拡大・縮小およびディジタルハー
    フトーン・スクリーニングをまとめて行うためのタイル
    方式の処理方法。
  23. 【請求項23】 請求項21の装置において、前記アド
    レス発生、連続階調値サンプリング手段および前記ハー
    フトーン出力値生成手段は協調して行われてアドレス指
    定された出力ピクセル位置、対応するサンプルされた連
    続階調値および対応するハーフトーン出力値を発生する
    画像の回転、拡大・縮小およびディジタルハーフトーン
    ・スクリーニングをまとめて行うためのタイル方式の処
    理方法。
  24. 【請求項24】 請求項19の装置において、前記連続
    階調サンプリング手段および前記ハーフトーン出力値生
    成手段は互いに独立に、かつそれぞれ第1および第2の
    サンプリング方向で行われる画像の回転、拡大・縮小お
    よびディジタルハーフトーン・スクリーニングをまとめ
    て行うためのタイル方式の処理方法。
  25. 【請求項25】 請求項19の装置において、前記書き
    込み手段は、 前記各ハーフトーン出力値が現在の連続階調タイル内に
    あるピクセル位置に結び付いている場合に、ハーフトー
    ン出力値のおのおのをバッファに記憶する手段と、 現在のタイルが処理された後で、記憶されたハーフトー
    ン出力値を前記バッファから前記出力画像内の前記現在
    のブロックの位置によって定義されたページバッファ内
    の1つのブロックに転送する画像の回転、拡大・縮小お
    よびディジタルハーフトーン・スクリーニングをまとめ
    て行うためのタイル方式の処理方法。
  26. 【請求項26】 請求項19の手段において、前記書き
    込み手段は、 連続階調画像に結び付いたピクセル・サンプリング・ア
    ドレスの増加と共に第1および第2のクリッピング変数
    を増加する手段であって、第1および第2のクリッピン
    グ変数のおのおのは、そこにおける単位の距離が現在の
    連続階調タイルの1つの縁に沿った対応する距離に等し
    く、また前記変数のおのおのの整数値が現在のタイル内
    の1および現在タイル外のゼロまたは2に等しい手段
    と、 現在の連続階調タイル内にある対応するピクセル位置に
    対して、両方のクリッピング変数の整数値が1に等しい
    場合に、出力バッファ内の対応するアドレス指定された
    出力ピクセル位置における前記各ハーフトーン出力値を
    記憶する手段と、 前記クリッピング変数のうちの1つの整数値が1に等し
    くなく、ゼロの値が現在の連続階調タイルの外側にある
    ピクセル位置に結び付いた現在のブロック内のアドレス
    指定された出力ピクセル位置のおのおのに記憶されてい
    る場合に、対応するアドレス指定された出力ピクセル位
    置にゼロを記憶する手段と、を含むことを特徴とする画
    像の回転、拡大・縮小およびディジタルハーフトーン・
    スクリーニングをまとめて行うためのタイル方式の処理
    方法。
JP21053892A 1991-08-06 1992-08-06 画像の回転、拡大・縮小およびディジタルハーフトーン・スクリーニングをまとめて行うためのタイル方式の処理方法 Expired - Lifetime JP3224866B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/741,877 US5204916A (en) 1991-08-06 1991-08-06 Tile-oriented technique for collectively performing image rotation, scaling and digital halftone screening
US741877 1991-08-06

Publications (2)

Publication Number Publication Date
JPH05250466A true JPH05250466A (ja) 1993-09-28
JP3224866B2 JP3224866B2 (ja) 2001-11-05

Family

ID=24982583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21053892A Expired - Lifetime JP3224866B2 (ja) 1991-08-06 1992-08-06 画像の回転、拡大・縮小およびディジタルハーフトーン・スクリーニングをまとめて行うためのタイル方式の処理方法

Country Status (2)

Country Link
US (2) US5204916A (ja)
JP (1) JP3224866B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004057530A1 (ja) * 2002-12-20 2004-07-08 Jicoux Datasystems, Inc. 画像変換装置、画像変換方法、及びプログラム
JP2007080001A (ja) * 2005-09-14 2007-03-29 Ricoh Co Ltd 画像処理装置
JP2015513837A (ja) * 2012-02-24 2015-05-14 アップル インコーポレイテッド パラレルスケーラ処理

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69230053T2 (de) * 1991-07-09 2000-03-30 Canon Kk Verfahren und Vorrichtung für die Verarbeitung von Bildern
US5204916A (en) * 1991-08-06 1993-04-20 Eastman Kodak Company Tile-oriented technique for collectively performing image rotation, scaling and digital halftone screening
US5301036A (en) * 1992-04-06 1994-04-05 Xerox Corporation Image orientation control
JPH05292295A (ja) * 1992-04-14 1993-11-05 Canon Inc 画像処理方法及びその装置
US5526445A (en) * 1993-08-23 1996-06-11 Prepress Solutions, Inc. Spot function endtone noise and growth
US6118457A (en) * 1993-10-28 2000-09-12 Canon Kabushiki Kaisha Resolution conversion with preservation of fine lines and of hue
US5708763A (en) * 1993-12-21 1998-01-13 Lexmark International, Inc. Tiling for bit map image
US5519794A (en) * 1994-04-01 1996-05-21 Rotaventure L.L.C. Computer-generated autostereography method and apparatus
US5517584A (en) * 1994-08-09 1996-05-14 Unisys Corporation Method and apparatus for high-speed implementation of scaling, dithering, and data remapping operations with a single processor
CA2157066C (en) * 1994-10-21 1999-09-21 Nelson Botsford Iii Method for controlling a compressed data buffer
TW367447B (en) * 1994-12-21 1999-08-21 Canon Kk Block selection review and editing system
DE69600461T2 (de) 1995-01-17 1999-03-11 Eastman Kodak Co System und Verfahren zur Bewertung der Abbildung eines Formulars
US6243172B1 (en) * 1995-01-18 2001-06-05 Varis Corporation Method and system for merging variable text and images into bitmaps defined by a page description language
US5729665A (en) * 1995-01-18 1998-03-17 Varis Corporation Method of utilizing variable data fields with a page description language
US5793379A (en) * 1995-04-03 1998-08-11 Nvidia Corporation Method and apparatus for scaling images having a plurality of scan lines of pixel data
US5748860A (en) * 1995-06-06 1998-05-05 R.R. Donnelley & Sons Company Image processing during page description language interpretation
US5710835A (en) * 1995-11-14 1998-01-20 The Regents Of The University Of California, Office Of Technology Transfer Storage and retrieval of large digital images
US5852711A (en) * 1996-04-24 1998-12-22 Hewlett-Packard Company Efficient pattern use in printers
US5995724A (en) * 1996-11-01 1999-11-30 Mikkelsen; Carl Image process system and process using personalization techniques
US6269190B1 (en) 1996-09-24 2001-07-31 Electronics For Imaging, Inc. Computer system for processing images using a virtual frame buffer
US6786420B1 (en) 1997-07-15 2004-09-07 Silverbrook Research Pty. Ltd. Data distribution mechanism in the form of ink dots on cards
US5973734A (en) 1997-07-09 1999-10-26 Flashpoint Technology, Inc. Method and apparatus for correcting aspect ratio in a camera graphical user interface
US6618117B2 (en) 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
US6879341B1 (en) 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
US6948794B2 (en) 1997-07-15 2005-09-27 Silverbrook Reserach Pty Ltd Printhead re-capping assembly for a print and demand digital camera system
US6690419B1 (en) 1997-07-15 2004-02-10 Silverbrook Research Pty Ltd Utilising eye detection methods for image processing in a digital image camera
US7110024B1 (en) 1997-07-15 2006-09-19 Silverbrook Research Pty Ltd Digital camera system having motion deblurring means
US6624848B1 (en) 1997-07-15 2003-09-23 Silverbrook Research Pty Ltd Cascading image modification using multiple digital cameras incorporating image processing
US6487568B1 (en) * 1997-07-18 2002-11-26 Tesseron, Ltd. Method and system for flowing data to an arbitrary path defined by a page description language
US7302438B1 (en) 1997-07-18 2007-11-27 Tesseron Ltd. Method and system for flowing data to an arbitrary path defined by a page description language
US6833931B1 (en) * 1998-05-01 2004-12-21 Zac Bogart Method and apparatus for recording digital images on photosensitive material
US6377706B1 (en) * 1998-05-12 2002-04-23 Xerox Corporation Compression framework incorporating decoding commands
US6175653B1 (en) * 1998-05-12 2001-01-16 Xerox Corporation Fast decompression and rotation for devices with asymmetric resolution
KR100301009B1 (ko) * 1998-06-23 2001-09-06 윤종용 화상 데이터 처리장치
AUPP702098A0 (en) 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART73)
US7315979B1 (en) 1998-11-09 2008-01-01 Tesseron Ltd. Method and system for dynamic flowing data to an arbitrary path defined by a page description language
US6330374B1 (en) * 1998-11-13 2001-12-11 Ricoh Company, Ltd. Image manipulation for a digital copier which operates on a block basis
US6529643B1 (en) * 1998-12-21 2003-03-04 Xerox Corporation System for electronic compensation of beam scan trajectory distortion
US6317141B1 (en) 1998-12-31 2001-11-13 Flashpoint Technology, Inc. Method and apparatus for editing heterogeneous media objects in a digital imaging device
AUPQ056099A0 (en) * 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (pprint01)
US7315388B2 (en) * 2001-01-24 2008-01-01 Canon Kabushiki Kaisha Image input/output control apparatus, image processing apparatus, image processing method, data communication apparatus, and data communication method
JP4065503B2 (ja) * 2001-08-21 2008-03-26 キヤノン株式会社 画像処理装置、画像入出力装置、変倍処理方法、及びメモリ制御方法
JP4100210B2 (ja) * 2003-03-24 2008-06-11 富士ゼロックス株式会社 画像処理装置
US20060103677A1 (en) * 2004-11-18 2006-05-18 Lai Jimmy K L System and method for effectively performing arbitrary angle sprite rotation procedures
EP1875440B1 (en) * 2005-04-19 2008-12-03 Koninklijke Philips Electronics N.V. Depth perception
JP2007267197A (ja) * 2006-03-29 2007-10-11 Fujitsu Ltd 画像処理方法、画像処理装置、および印刷物
JP5079341B2 (ja) * 2006-06-01 2012-11-21 株式会社リコー 印刷データ処理装置
US7660486B2 (en) * 2006-07-10 2010-02-09 Aten International Co., Ltd. Method and apparatus of removing opaque area as rescaling an image
US9224145B1 (en) 2006-08-30 2015-12-29 Qurio Holdings, Inc. Venue based digital rights using capture device with digital watermarking capability
JP4831349B2 (ja) * 2007-01-23 2011-12-07 富士ゼロックス株式会社 画像処理装置、画像形成装置、画像形成システム、及びプログラム
US8139897B2 (en) * 2007-03-15 2012-03-20 Ricoh Company, Limited Detecting tilt in an image having different resolutions in different directions
JP5096776B2 (ja) * 2007-04-04 2012-12-12 キヤノン株式会社 画像処理装置及び画像検索方法
US8413151B1 (en) * 2007-12-19 2013-04-02 Nvidia Corporation Selective thread spawning within a multi-threaded processing system
US8086037B2 (en) * 2008-02-15 2011-12-27 Microsoft Corporation Tiling and merging framework for segmenting large images
US8959497B1 (en) 2008-08-29 2015-02-17 Nvidia Corporation System and method for dynamically spawning thread blocks within multi-threaded processing systems
US8615770B1 (en) 2008-08-29 2013-12-24 Nvidia Corporation System and method for dynamically spawning thread blocks within multi-threaded processing systems
US20100253699A1 (en) * 2009-04-01 2010-10-07 Henerlau Paul R Methods and Systems for Improved Processing of Digital Image Data
US8659620B2 (en) * 2009-04-13 2014-02-25 Accusoft Corporation Methods and apparatus for rendering images
JP5501041B2 (ja) * 2010-03-15 2014-05-21 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US9679356B2 (en) 2015-03-19 2017-06-13 Xerox Corporation Vectorized two stage tile-based scaling
US10535114B2 (en) * 2015-08-18 2020-01-14 Nvidia Corporation Controlling multi-pass rendering sequences in a cache tiling architecture
US9818051B2 (en) * 2016-01-29 2017-11-14 Ricoh Company, Ltd. Rotation and clipping mechanism
WO2017151498A1 (en) 2016-03-03 2017-09-08 3M Innovative Properties Company Depressed center grinding wheel
GB2551426B (en) * 2016-04-18 2021-12-29 Avago Tech Int Sales Pte Lid Hardware optimisation for generating 360° images

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6052472B2 (ja) * 1977-06-20 1985-11-19 旭 中野 領域情報処理装置
US4185304A (en) * 1977-07-07 1980-01-22 Xerox Corporation Electronic halftone screening
US4283765A (en) * 1978-04-14 1981-08-11 Tektronix, Inc. Graphics matrix multiplier
US4267573A (en) * 1978-06-14 1981-05-12 Old Dominion University Research Foundation Image processing system
US4394693A (en) * 1979-03-23 1983-07-19 International Business Machines Corporation System and method for generating enlarged or reduced images
FR2480545A1 (fr) * 1980-04-10 1981-10-16 Micro Consultants Ltd Dispositif et procede pour imprimer un deplacement angulaire a une image de television
EP0051294B1 (en) * 1980-10-31 1986-10-01 Kabushiki Kaisha Toshiba Picture size conversion circuit
JPS5776649A (en) * 1980-10-31 1982-05-13 Toshiba Corp Picture information display device
DE3177088D1 (en) * 1981-04-10 1989-09-21 Ampex Controller for system for spatially transforming images
US4413286A (en) * 1981-08-24 1983-11-01 Optronics International, Inc. Method and apparatus involving digital screen generation
US4477802A (en) * 1981-12-17 1984-10-16 The Bendix Corporation Address generator for generating addresses to read out data from a memory along angularly disposed parallel lines
JPS58159184A (ja) * 1982-03-17 1983-09-21 Nec Corp 画像回転装置
US4610026A (en) * 1982-04-30 1986-09-02 Hitachi, Ltd. Method of and apparatus for enlarging/reducing two-dimensional images
JPS59122080A (ja) * 1982-12-27 1984-07-14 Leo Giken:Kk 網点画像の発生方法
US4686580A (en) * 1983-02-10 1987-08-11 Canon Kabushiki Kaisha Method and apparatus for changing image size
US4602346A (en) * 1983-05-19 1986-07-22 Matsushita Electric Industrial Co., Ltd. Method and apparatus for processing image data using sum and subtract operations
JPS6064386A (ja) * 1983-09-20 1985-04-12 株式会社東芝 画像表示装置
US4545069A (en) * 1983-10-31 1985-10-01 Xerox Corporation Rotation of digital images
US4712140A (en) * 1983-12-30 1987-12-08 International Business Machines Corporation Image reduction method
JPS60231235A (ja) * 1984-04-27 1985-11-16 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション イメ−ジ処理システム
JPS619762A (ja) * 1984-06-25 1986-01-17 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション イメ−ジ処理装置
US4829452A (en) * 1984-07-05 1989-05-09 Xerox Corporation Small angle image rotation using block transfers
US4637057A (en) * 1984-07-30 1987-01-13 Xerox Corporation Rotation of digital images
US4611349A (en) * 1984-08-13 1986-09-09 Xerox Corporation Halftone image scaling
JPS6172327A (ja) * 1984-09-17 1986-04-14 Casio Comput Co Ltd 画像メモリのアドレス分配方式
US4885786A (en) * 1984-10-24 1989-12-05 International Business Machines Corporation Method for enlarging an image stored in run representation form
US4656664A (en) * 1984-10-24 1987-04-07 International Business Machines Corporation Method for reducing a binary image
US4631751A (en) * 1984-10-24 1986-12-23 Anderson Karen L Method for enlarging a binary image
EP0184547B1 (en) * 1984-12-07 1991-11-21 Dainippon Screen Mfg. Co., Ltd. Processing method of image data and system therefor
US4783838A (en) * 1984-12-26 1988-11-08 Konishiroku Photo Industry Co., Ltd. Image processing method and apparatus therefor
JPS61285867A (ja) * 1985-06-12 1986-12-16 Dainippon Screen Mfg Co Ltd 網点画像記録方法並びに装置
US4703515A (en) * 1985-08-26 1987-10-27 Xerox Corporation Image rotation
US4797945A (en) * 1985-12-13 1989-01-10 Canon Kabushiki Kaisha Image data coding apparatus
US4790028A (en) * 1986-09-12 1988-12-06 Westinghouse Electric Corp. Method and apparatus for generating variably scaled displays
US4903147A (en) * 1987-07-08 1990-02-20 Matsushita Electric Industrial Co., Ltd. Method and apparatus for processing an image
JPS6444681A (en) * 1987-08-12 1989-02-17 Fuji Photo Film Co Ltd Dot screen forming method
US4924301A (en) * 1988-11-08 1990-05-08 Seecolor Corporation Apparatus and methods for digital halftoning
US4977458A (en) * 1988-11-16 1990-12-11 Eastman Kodak Company Apparatus for addressing a font to suppress Moire patterns occurring thereby and a method for use therein
US4918622A (en) * 1988-11-16 1990-04-17 Eastman Kodak Company Electronic graphic arts screener
US4916545A (en) * 1988-11-16 1990-04-10 Eastman Kodak Company Electronic graphic arts screener that suppresses Moire patterns using pseudo-random font selection
JP2685548B2 (ja) * 1988-11-28 1997-12-03 株式会社日立製作所 ディジタル画像データの回転方法およびその装置
US4985779A (en) * 1989-09-19 1991-01-15 Intergraph Corporation Improved method and apparatus for generating halftone images
US5041920A (en) * 1989-11-15 1991-08-20 Xerox Corporation Image halftone generation by static RAM look-up table
US5204916A (en) * 1991-08-06 1993-04-20 Eastman Kodak Company Tile-oriented technique for collectively performing image rotation, scaling and digital halftone screening

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004057530A1 (ja) * 2002-12-20 2004-07-08 Jicoux Datasystems, Inc. 画像変換装置、画像変換方法、及びプログラム
JP2007080001A (ja) * 2005-09-14 2007-03-29 Ricoh Co Ltd 画像処理装置
JP2015513837A (ja) * 2012-02-24 2015-05-14 アップル インコーポレイテッド パラレルスケーラ処理

Also Published As

Publication number Publication date
JP3224866B2 (ja) 2001-11-05
US5297217A (en) 1994-03-22
US5204916A (en) 1993-04-20

Similar Documents

Publication Publication Date Title
JPH05250466A (ja) 画像の回転、拡大・縮小およびディジタルハーフトーン・スクリーニングをまとめて行うためのタイル方式の処理方法
US5463720A (en) Blue noise based technique for use in a halftone tile oriented screener for masking screener induced image artifacts
US5689343A (en) Area mapping employing reference clusters for high quality noninteger resolution conversion with enhancement
EP0527097A2 (en) Apparatus and method for collectively performing tile-based image rotation, scaling and digital halftone screening
JPH06225140A (ja) 画素画像の縁部平滑化方法及び装置
WO1996039681A1 (en) Method and apparatus for partitioning an image
US5745249A (en) Pipelined architecture for patterned halftone generation
US7480072B2 (en) Efficient and flexible multi-bit halftoning
JPH07236056A (ja) 画像改良回路
US7315402B2 (en) Image forming apparatus and method for selecting an optimal image space frequency for an output image
US5040080A (en) Electronic screening
US5742743A (en) Apparatus and method for generating a screen reproduction of a color image including dot shape rotation
JPS59167772A (ja) 画像デ−タ回転装置
JPH05258051A (ja) タイルベースイメージ回転、スケーリングおよびデジタル中間調スクリーニングの一括実行装置
JPH11168610A (ja) 画像処理装置
JP2807231B2 (ja) 画素密度変換方法及び装置
JPH0698154A (ja) 網点記録装置
JP2024087384A (ja) 画像処理モジュール
JP2000231631A (ja) 画像回転装置
JP3005014B2 (ja) 印刷装置
JP3039657B2 (ja) 画像処理装置
Wash et al. The Design Of A Graphic Arts Halftone Screening Computer
JPH0723208A (ja) 画像形成装置
JP2001088356A (ja) プリンタ制御装置
Kugler et al. A scalable halftoning coprocessor architecture

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070824

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080824

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080824

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090824

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110824

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110824

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 11

EXPY Cancellation because of completion of term