JPH06233120A - 中間階調タイル方式のスクリーナで使用するためのスクリーナ誘発性画像不良をマスクするためのブルーノイズ方式の方法 - Google Patents

中間階調タイル方式のスクリーナで使用するためのスクリーナ誘発性画像不良をマスクするためのブルーノイズ方式の方法

Info

Publication number
JPH06233120A
JPH06233120A JP5241710A JP24171093A JPH06233120A JP H06233120 A JPH06233120 A JP H06233120A JP 5241710 A JP5241710 A JP 5241710A JP 24171093 A JP24171093 A JP 24171093A JP H06233120 A JPH06233120 A JP H06233120A
Authority
JP
Japan
Prior art keywords
block
output
image
tile
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5241710A
Other languages
English (en)
Inventor
Edward M Granger
エム グランガー エドワード
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 JPH06233120A publication Critical patent/JPH06233120A/ja
Pending 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/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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

(57)【要約】 【目的】 連続階調濃度値で構成される入力画像から、
視覚的に目立つ画像不良を低減した中間階調画像を生成
する。 【構成】 任意の濃度値に対してスクリーニングされた
中間階調ドットパタンを生成するに当たり、ブルーノイ
ズ相関性の均一に分散した整数値の二次元シームレスマ
トリクスを使用し、任意の中間階調濃度値に対して生成
された複数の異なる中間階調ドットフォントの1つを選
択する。マトリクスのブルーノイズの量は、振幅と周波
数応答の双方が整形され、すべての低周波画像不良を本
質的に抑制し、生成するスクリーニング誤差を十分高い
空間周波数に配置し、これらの誤差を本質的に人間の目
に見えなくする。同一濃度値で、これらのフォントは、
対称なエッジ変形と、一定のドット面積とドット中心位
置を含み、画像の粒状化も防止される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、中間階調タイル方式の
ディジタルスクリーナで使用し、複数の異なる中間階調
ドットフォントをブルーノイズ方式により選択すること
により、スクリーナ誘発性画像不良を抑制するための技
法に関する。
【0002】
【従来の技術】読者に情報を伝達する効率的な方法とし
て、常に画像が文書に取り込まれてきたが、多様化しつ
つある画像関係用途のコンピュータ化と組合せたパーソ
ナルコンピュータの使用が広まり、画像をディジタル形
式で処理する必要性が増加してきた。これらの処理は、
特に、スケーリング、回転、中間階調処理を含む場合が
多い。
【0003】数年前に始まり、現在に至るまでその使用
が増加しつつあるが、文書中の画像は、いわゆるページ
記述言語を使用して、コンピュータによって処理される
場合が多い。このような言語により、使用者は、印刷ペ
ージに出現する画像のような対象を定義することが可能
となり、これらの対象が所望の様式で処理され、相互に
正確に配置され、ページ全体を適切に構成することが可
能となる。ディジタル画像の処理に際し、使用者に最大
限の柔軟性をもたらすため、ページ記述言語は、浮動小
数点精度で、有限領域内の任意倍率の一様な画像スケー
リング及び歪を伴う画像スケーリングの両方のスケーリ
ングと、任意の角度による画像回転と、任意のスクリー
ン角度とスクリーン線数による中間階調処理とを、サポ
ートする必要がある。文書中の画像が、ページ内の他の
対象と適切に“組み合う”のを確実にするため、これら
の画像処理機能は、非常に正確に実行されなければなら
ず、さもないと、印刷の際、不良やその他の誤差がペー
ジ上に出現してしまう。
【0004】いくつかの異なったページ記述言語が現在
使用されているが、従来これらの言語を実施し、特に画
像スケーリングと回転を実施するための2つの基本的な
方法には、重大な限界が存在している。
【0005】詳細には、当該技術で広く使用されている
1つの基本的な方法は、全体画像をランダムアクセスフ
レームメモリ内に記憶し、次いでそこに配置された画像
の個々のビットを操作するという方法に基づいている。
以後“フルフレームメモリ”法と呼ぶこの方法は、画像
をビット毎に順次読み込むステップを含み、適切な、増
大するメモリアドレスを使用して、適切に回転画像デー
タを生成し、回転画像を生成する。当該技術で周知のよ
うに、スケーリングは、たとえば、メモリ上の選択され
た画素位置にデータを追加したり、この画素位置からデ
ータを削除するステップを含み、画像のスケールを所望
どおりに変更する。この全体的な方法は、比較的高速の
読み書きランダムアクセスも可能な、十分に大きなフレ
ームメモリを必要とする。残念ながら、現在使用可能な
出力ライタ、たとえばレーザプリンタで容易に得ること
のできる、300ドット/インチ(約118ドット/c
m)の解像度で印刷された8×10インチ(約20×2
5cm)の連続階調画像に対しては、フレームメモリは
約7Mバイト必要となる。このサイズのメモリは、特
に、現在使用可能な高速のランダムアクセスメモリ(R
AM)回路から製造する場合、非常に高価なものとなる
傾向がある。概して、このようなフレームメモリの法外
な価格により、低価格プリンタへの使用が妨げられてし
まう。さらに、このような大型の高速のメモリによって
も、画像スケーリングと画像回転は、マイクロプロセッ
サ上で実行する、ソフトウェアに基づいた処理によって
実施される場合が多く、全体画像に対しては、比較的低
速となる傾向がある。
【0006】実際のメモリの限界を鑑み、当該技術は、
時として、スケーリングと回転は、別法として“タイル
方式の”方法によっても実施できることを教示してい
る。ここでは、画像はまず、“タイル”と呼ばれる小さ
な均一領域に分割され、次いで、これらのそれぞれが別
々に適切に処理される。通常、タイルは全体画像よりも
非常に小さい。タイルが処理されて出力タイルを生成す
ると、次いで、すべてのこのようなタイルに対し、この
出力タイルが出力バッファ中の空間的に対応する領域に
書き込まれ、全体画像が出力タイルによって構成され
る。
【0007】これらの2つの方法を考慮すると、タイリ
ングはいくつかの明確な利点を有する。第1に、タイル
のサイズを全体画像のサイズから大幅に低減させること
により、高速フレームメモリのメモリ必要量は本質的に
低減され、たとえば、全体画像を記憶するのに必要な7
Mバイトから、現在処理中の単一のタイルを記憶するに
は10Kバイト程度となる。これによって、大型のフル
サイズ高速フレームメモリの必要性がなくなり、単純化
し、システムメモリの費用を大幅に削減することができ
る。依然として画像サイズ出力バッファは必要である
が、このバッファは高速ランダムアクセスメモリとして
機能する必要はないため、比較的低速で低価格のメモリ
回路から製造することができる。さらに、一度に一個の
タイルを処理することにより、フレームメモリを必要と
するデータ転送は、“フルフレームメモリ”法のような
全体画像のデータでなく、特定のタイルにだけ必要なデ
ータに低減される。その結果、これらのメモリ転送を実
施するのに必要な操作は、大幅に単純化され、単に、全
体的なタイル方式の処理の同一部分となる。さらに、一
度に比較的少量のデータだけを処理することにより、専
用のハードウェア回路を容易に製造することができ、す
べてのタイルを迅速に処理し、全画像が“フルフレーム
メモリ”法に伴って回転されたり、スケーリングされる
速度を加速する。最後に、タイル方式は、パイプライン
及びパラレル処理で容易に利用する傾向があり、適切な
タイル処理ハードウェアが複製され、この複製された各
処理ハードウェアはパラレルでかつ所定の時間差をもっ
て駆動され、複数のタイルを同時に一括して処理するこ
とが可能となる。これによって、画像スケーリングと画
像回転の全体的な処理をさらに加速する。このような態
様は、好適に、容易に、より大きなサイズにスケーリン
グ可能であり、コストパフォーマンスを維持し、所望の
スループットレベルを実現する。
【0008】残念ながら、タイル方式のスケーリング及
び回転によって示されるすべての利点を実現するには、
特に中間階調処理に使用される場合、タイル方式では、
各出力タイルが、出力バッファに非常に正確に配置され
なければならず、さもないと、目に見える不良が画像に
発生する。詳細には、50%淡彩ファクタの中間階調画
像の場合、中間階調パタンにおける隣接タイル間の1つ
の画素のオフセットは、目に見える不良が画像に出現す
る原因となる。これらの不良は、画像全体に渡るタイル
境界に沿って発生する“ジグザグ”ラインの形をとる。
その結果、画像が本質的に中間階調である場合、これら
のタイルについての選別操作が必要となり、出力バッフ
ァから各タイルを取得し、当該タイルをスクリーニング
し、当該タイルを出力バッファに1ビットの精度で配置
し直す。このような高精度を全中間階調処理に渡って実
現し、維持することは、実用上極めて困難であることが
明らかとなっている。
【0009】一見、この精度は緩和でき、“ジグザグ”
パタンは、中間階調タイルの境界を適切にスムージング
することによって除去することが可能であると考えるか
も知れない。特に、ローパス空間フィルタリングによっ
て実現されるこのようなスムージングは、丸め誤差と、
その結果生成するタイルの誤配置の視覚的なインパクト
を低減する。これらは通常、浮動小数点アドレス値が正
の実整数アドレスに切り捨てられ、中間階調タイルが構
成される出力バッファをアドレス指定するのに用いられ
る際に生成する。このようなフィルタリングは、明らか
に目に見えるタイルの誤配置を低減するが、残念なが
ら、このフィルタリングは、画像中の基礎となる中間階
調ドットの構造を乱し、崩してしまう。したがって、タ
イル境界のフィルタリングは、実行可能な解決法を提供
するものではなく、タイル方式の画像処理においては、
1ビットの精度を維持する必要がある。
【0010】さらに、タイリングとは別に、市販のスク
リーナは高価で、非常に大量のメモリを要し、画像スケ
ーリングと回転の双方またはどちらか一方を実行する性
能を有していない場合が多い。
【0011】また、画像スケーリングと回転は、現在利
用可能な処理装置を“フロントエンド”操作として、す
なわち、画像処理回路網における画像スキャナに近接配
置された回路において実施される場合が多いが、スクリ
ーニング“バックエンド”操作として、すなわち、出力
ライタに付随する回路においても実行される。いずれの
操作も、一般にもう一方をほとんど認識しないか、まっ
たく認識しない場合が多く、その結果、不良及びその他
の有害な結果が画像中に発生する場合が多い。ページ記
述言語は後処理を実施する。すなわち、これらの言語
は、画像を“見い出し”て処理するため、これらの言語
は、“フロントエンド”のスケーリングまたは回転のよ
うな、以前に実施された操作に対して画像を最適化する
手段は一切提供しない。したがって、現在使用されてい
るこれらの言語を特に実施しても、モアレパタン及びエ
イリアシングといった、有害な影響を除去することはで
きない。これらは、たとえばサンプリング周波数や画素
配置といった、これらの“フロントエンド”操作の様々
な特性間の干渉に起因し、中間階調処理と出力ライタに
付随する同様の対応する特性を有している。
【0012】さらに、市販のスクリーナは、非常に低速
となりがちである。したがって、このようなスクリーナ
がページ記述言語の実施に使用されると、その結果とし
て生じるスループットは、ページ/分(ppm)とし
て、概して、現在使用できる70ppm程度の出力ライ
タの速度より遅く、重大な障害となる。異常な低速度は
使用者にフラストレーションを与えがちであり、これら
の画像のそれぞれが処理されて印刷されるのに要する時
間を待てずに、結局、画像を文書中に取り込むのを断念
してしまう。
【0013】上記の基本的な欠点はあるものの、特に、
フレームバッファのサイズと費用を削減できることによ
るタイル方式に固有の利点は、その使用を強く支持する
ものである。
【0014】したがって、後処理環境において非常に正
確に、低費用で画像回転、スケーリング、中間階調処理
を実施できるタイル方式の技法の当該技術に、一般的な
必要性が存在する。さらに、ページ記述言語のスループ
ットを大幅に加速し、現在利用できる出力ライタのスル
ープットに近づけるような方式でタイル方式のスケーリ
ング、回転、中間階調処理を実施するという特定の必要
性が存在する。このような技法を出力ライタに取り入れ
ることにより、文書中画像の使用を好適に著しく促進す
るであろう。
【0015】さらに、ディジタルスクリーナを使用して
生成され、1つ以上のマーキングレーザを備えたレーザ
プリンタのようなディジタル出力ライタ上に印刷される
出力中間階調画像は、好ましくない、視覚的に不快なモ
アレパタン(及びその他の同様の不良)を含む傾向があ
る。これらのパタン、すなわち、いわゆる“スクリーン
誘発性”モアレの一因は、スクリーニング処理自体にお
いて、出力スポットが出力ライタによって生成される二
次元パタンで生じる周期的な二次元サンプリング間で発
生する空間干渉に起因する。特に、ディジタルスクリー
ナの通常の方式は、中間階調参照セルまたはあらかじめ
定められたスレッショルドマトリクスといった定義済み
のパタンを、格子状のパタン(すなわち“中間階調サン
プリング”グリッド)上に周期的にサンプリングし、中
間階調ドットパタンを生成するというものである。ディ
ジタル出力ライタの方式は、出力スポットを、これもま
たあらかじめ定められた格子状パタン(すなわち、“ラ
イティング”グリッド)に生成するものであり、ただ
し、この場合、グリッド上の各ポイントは明るいか暗
く、二次元のライティング領域において所定ドットの位
置に空間的に対応している。ライティンググリッド上の
隣接点すなわち画像中の隣接ドット間の空間は、出力ラ
イタの出力解像度によって決まる。いずれの出力ライタ
の場合も、ライティンググリッドは、解像度と方向が固
定されている(その軸が印刷ページの垂直方向と水平方
向に平行となる)のに対し、“中間階調サンプリング”
グリッドは、使用者の所望通り、解像度と角方向の双方
が意図的に変化され、解像度はスクリーン線数によって
決定され、角方向はスクリーン角度によって決定され
る。中間階調ドットは、通常、ライティングスポットの
複数の連続した水平方向のラスタによって構成される。
このようなラスタにおいて暗く(黒く)することによっ
て、(中間階調)ドットを形成する個々のライティング
スポットの数(密度)は、そこに置かれる連続階調値の
大きさ(及び、中間階調参照セルが使用される場合は、
付随する中間階調参照セル)によって決定される。中間
階調サンプリンググリッドとライティンググリッドは、
異なったエレメンタルスペーシング(解像度)と、異な
った角方向を有するので、中間階調サンプリンググリッ
ドによって生成されてサンプリングされたデータはライ
ティンググリッドと干渉し、出力画像に、モアレパタン
のような明確なビートパタンを生成する。さらに、ディ
ジタル中間階調画像では、モアレパタン(及び同様の画
像不良)は、複数の異なる原因に起因しており、スクリ
ーナ誘発性モアレはその1つに過ぎない。これに関して
は、モアレパタンは、原色(シアン、マゼンタ、黄、黒
−−C、Y、M、K)中間階調分離を重ね合せ、中間階
調カラー画像を生成することによっても発生する。特
に、モアレパタンは、オーバレイ分離における中間階調
ドットパタンの部分的干渉によって生成される場合があ
る。このような部分的干渉が十分に強い場合、実際の原
因に関わらず、生成するモアレパタンはきわめて目立
ち、視覚的に不快である。スクリーナ誘発性モアレの存
在は画像モアレの原因を追加するだけでなく、使用者に
対して画像モアレの原因をカモフラージュし、中間階調
カラー画像からすべての画像モアレを除去するのが非常
に複雑で困難なものとなる。一見、モアレパタンがスク
リーニングされた中間階調画像に発生した場合、使用者
は単にスクリーン線数とスクリーン角度の双方またはい
ずれか一方を、ビート周波数をほとんど見分けられない
モアレパタンにシフトさせる値に変更すればよいように
思われる。残念ながら、このような操作は、特に2つ
(またはそれ以上)のモアレパタンの原因が同時に存在
する場合、極端に退屈で、時間と労力のかかるプロセス
となる。
【0016】
【発明が解決しようとする課題】したがって、タイル方
式の画像処理装置に採用される技法の当該技術には、モ
アレパタンのようなスクリーナ誘発性の不良を本質的に
抑制(マスキング)して中間階調処理を実施する、特定
の必要性が存在する。ディジタル出力ライタで生成され
るディジタル方式の中間階調画像からこれらの不良の一
因を本質的に除去することにより、その結果生成する画
像の質は向上し、文書中画像の使用をさらに促進及び拡
大することになる。
【0017】本発明は以上のような問題に鑑みなされた
ものであり、その目的は、タイル方式画像処理システム
に使用されるとき、スクリーナ誘発性の画像不良を、完
全に除去しないまでも、本質的に抑制可能な装置と、そ
れに付随する方法を提供することである。
【0018】
【課題を解決するための手段】一般的に、本目的及びそ
の他の目的は、本発明の内容によって、複数の異なるフ
ォントを使用し、あらかじめ定められた“ブルーノイ
ズ”値に基づいて、これらのフォントを選択して所定の
スクリーニングされた中間階調ドットの生成に使用する
ことにより、実現することができる。詳細には、任意の
濃度値に対してスクリーニングされた中間階調ドットパ
タンを生成するに当たり、ブルーノイズ方式の整数値が
使用され、各中間階調濃度値に対して、生成する中間階
調ドット用に生成される、複数の異なる中間階調ドット
フォントの内の1つを選択する。これらの値におけるブ
ルーノイズの量は、振幅と周波数応答の双方が特別に整
形され、すべての低周波画像不良を本質的に抑制し、生
成するスクリーニング誤差を、十分に高い空間周波数に
配置し、これらの誤差を、本質的に人間の目に見えなく
する。同一の濃度値では、これらのフォントは、たとえ
ば対称なエッジ変形と、一定のドット中心点を含んでい
る。“ブルーノイズ”方式のフォント選択を使用するこ
とにより、知覚できる画像の粒状化の進行は好適に防止
される。
【0019】特に、本発明者は、モアレパタン等のスク
リーナ誘発性の画像不良は、格子状の連続階調サンプリ
ングとディジタル格子状出力ライティング処理の干渉に
よって生成する場合があることを見い出している。これ
らの不良を、画像の粒状化を助長せずに適切に且つ本質
的に抑制(マスク)するため、本発明者は、特別な二次
元シームレス“ブルーノイズ”方式のフォント選択マト
リクス(配列)を開発した。本マトリクスは、たとえ
ば、4ビット値を含み、これらはすべてブルーノイズ相
関性の一様に分散した整数値で、それぞれの値がたとえ
ば16個の異なる中間階調ドットフォントの内の任意の
1つを選択する。特定のマトリクス要素自体は、スクリ
ーニング中に生成される高位画素アドレスビットによっ
て選択される。本マトリクスを使用してフォントの選択
をランダマイズしてノイズを生成する中間階調画像に伝
えると、このノイズは適切な量で、フォントエッジが適
切に移動して導入され、低周波不良を適切に分解し、生
成する画像不良に対し、好適に、これらの分解した不良
を十分に高い空間周波数に配置し、これらの不良を人間
の観察者の目には見えなくする。こうして、このノイズ
を使用することにより、連続階調値の範囲全体に渡り、
スクリーナ誘発性の画像不良が単一カラー中間階調分解
において出現するのを好適に抑制する。
【0020】当該技術において一般に知られているよう
に、ノイズデータを使用して、生成される中間階調ドッ
トの各境界内のエッジ位置を無作為に変更するのではな
く、本発明によって考案されたように、ノイズデータを
使用して、たとえば16といった、複数の形状の異なる
中間階調ドットの内から、使用される1つを選択し、当
該の特定ドットをスクリーニングされた中間階調分解に
完全に書き込む。これらのフォントのそれぞれは、基本
となる通常の中間階調ドットフォント、たとえばダイア
モンド型ドットとはわずかに異なり、変形型であること
が好ましい。変形はドット中心の周囲で対称であり、各
フォントが使用されて全体のドットを生成するので、基
本となるドット構造は、ノイズをスクリーニング処理に
付加しても崩れることはなく、均一な濃度の領域では、
ドットエッジはドットからドットへと適切にシフトし、
十分に無作為の高周波の変動により、スクリーナ誘発性
画像不良を十分に抑制する。
【0021】
【作用】以下の説明を読めば、当業者には、本発明の技
法が、たとえばレーザプリンタのようなディジタルスク
リーナ及びディジタルマーキングエンジンに基づいた、
広範囲のディジタル画像処理用途において出現する、ス
クリーナ誘発性の不良を抑制するのに使用できることが
容易に理解できるであろう。このようなスクリーナは、
中間階調ドットパタンの生成に使用される、異なるフォ
ントまたはスレッショルドマトリクスのような他の画像
処理構造を選択するものを包含する。本発明の技法を使
用することにより、本来ならば、生成するスクリーニン
グされた画像に現れるモアレパタンのような不良を本質
的に低減するが、基本的な画像構造、、すなわち中間階
調ドットを崩すことはない。
【0022】本発明の技法は特に、ディジタル画像処理
システム、すなわち、内部に搭載された、たとえば本シ
ステムを構成する先行する画像処理装置でなく、本シス
テムで使用される出力ライタにおける後処理環境におい
て動作するページ記述言語を使用して高品質の中間階調
カラー画像を生成するシステムにおいて使用するのに最
適である。
【0023】
【実施例】したがって、簡略化するため、本発明はこの
趣旨に沿って説明する。本発明の内容は、以下の詳細な
説明を、添付の図面と共に検討することにより、容易に
理解されるであろう。本発明の重要でしかも詳細な理解
を読者にもたらすため、以下の説明は様々な段階で進行
する。まず初めに、ページ記述言語(PDL)を実行す
るための画像処理システムの簡単な概論を説明する。次
に、種々の図面を使用して、集合的に画像スケーリン
グ、回転、中間階調処理を実行するプロセスを紹介す
る。次いで、本プロセスを含む実際の画像処理システム
の実施例を詳細に説明し、次に本プロセスの2つのチッ
プ(たとえばマイクロコンピュータ/ASIC)の態様
について詳細に説明する。後者の説明はまず、双方のチ
ップによって実行される、高級スードコード(擬コー
ド)による操作の機能的な説明を提供するものであり、
次に、たとえばASIC(特定用途集積回路)チップで
特に使用され、本プロセスの際立った部分を実行する専
用ハードウェア回路の説明となる。それまでのすべての
説明を踏まえ、次に本発明を、そのプロセスと、特にマ
イクロコンピュータ/ASICの態様において説明す
る。
【0024】A.ページ記述言語実行システム 図1は、画像スケーリング、回転、中間階調処理機能を
実行し、本発明の技法を使用するページ記述言語(PD
L)を実施する画像処理システム5の非常に高次のブロ
ック図である。図示したように、入力データはリード7
を介して画像処理システム5に入る。このデータは、そ
れぞれが対応するテクスチャ画像データまたは連続階調
画像データを伴う、一連のPDLコマンドより構成され
ている。それぞれのこのようなコマンドは、近接して連
続するデータが処理され、出力ページに現れる様式を指
定する。対応するデータに伴い、連続して発生するPD
Lコマンドは、集合的にデータストリームを構成する。
このデータストリームは、リード7を介し、プロセッサ
10に入る。プロセッサ10は、PDL処理回路13と
出力バッファ17を含み、対応する画像処理操作を付随
するデータに関して実施することにより、PDL処理回
路を介してこのようなコマンドのそれぞれを実行し、次
いで生成する処理画像データを出力バッファ17に書き
込む。次いでこの出力バッファ17の内容がラスタライ
ズ形式で読み出され、リード21を介し、ディジタルマ
ーキング(ライティング)エンジン25に印加される。
ディジタルマーキングエンジン25は、最も単純な形式
で、その入力に印加されたそれぞれの対応するビットに
対し、単一のライティングスポット(出力ビット)を出
力ページに書き込む。通常、ディジタルマーキングエン
ジン25は、300ドット/インチ(約118ドット/
cm)以上の垂直及び水平の出力ライティングピッチを
有するレーザプリンタである。印刷ページ30は、通常
紙のハードコピー出力であり、ディジタルマーキングエ
ンジン25によって生成され、出力バッファ17の内容
を反映する。
【0025】PDLにより、使用者は、印刷ページ30
上に出現する画像のような対象(オブジェクト)を定義
することが可能となり、これらの対象が所望の様式で処
理され、相互に正確に配置され、ページ全体を適切に構
成することが可能となる。ディジタル画像の処理に際
し、使用者に最大限の柔軟性をもたらすため、ページ記
述言語は、浮動小数点精度で、有限領域内の任意倍率の
一様な画像スケールング及び歪を伴う画像スケーリング
の両方のスケーリングと、任意の角度による画像回転
と、任意のスクリーン角度とスクリーン線数による中間
階調処理とを、サポートする必要がある。文書中の画像
が、ページ内の他の対象と適切に“組み合う”のを確実
にするため、これらの画像処理機能は、非常に正確に実
行されなければならず、さもないと、印刷の際、不良や
その他の誤差がページ上に出現してしまう。
【0026】たとえば、一連のPDLコマンドは、入力
連続階調画像8が各方向に0.5倍にスケーリングさ
れ、約45゜で回転され、中間階調処理され、出力ペー
ジの中央に配置され、印刷ページ30上に配置される出
力画像33を生成するように指定する。これらのコマン
ドは、テキスト文字“A”と“b”が出力画像33の両
側に配置し、文字“A”が水平及び垂直方向に2倍にス
ケーリングされるようにも指定する。これらのPDLコ
マンドと付随するデータの処理の際、ページ記述言語
(PDL)処理回路13は、以下に詳細に説明するよう
に、連続階調画像データについて動作し、スケーリング
と、回転と、中間階調処理とが所望どおりなされた出力
画像を生成し、その結果は出力バッファ17に書き込ま
れる。PDL処理回路13は、PDLコマンドによって
定義されるように、テクスチャデータについても動作す
る。出力バッファ17は十分に大きく、中間階調画像デ
ータを、ディジタルマーキングエンジン25のライティ
ング解像度で、全体の出力ページを少なくとも1つ通常
は複数ページ記憶する。
【0027】本発明は、PDLにおいて使用される特定
のコマンドによるものではなく、各PDLコマンドとそ
れに付随するデータが生成される様式のものでもなく、
画像スケーリング、回転、中間階調機能が実施され、こ
れらの機能をPDLに伝達する形式のものである。した
がって、以下の説明は、画像スケーリング、回転、中間
階調処理の説明を中心とする。
【0028】B.タイル方式の画像回転、スケーリング
及び中間階調処理 タイル方式の回転、スケーリング、中間階調処理につ
き、図2〜5、3、4、5に関して、総合的な定性様式
についてまず説明する。画像処理システム5において画
像スケーリング、回転、中間階調処理を実行する本プロ
セスを集合的に構成する、種々のタイル方式の操作が、
図2〜5に示されている。種々の実例の、空間的に対応
する連続階調ボックスと出力ブロックに対する連続階調
サンプリングと出力データライティングは、図6に示さ
れている。単一の連続階調ボックスの詳細図は図7に、
対応する出力ブロックの詳細図は図8に、それぞれ示さ
れている。以下の説明においては、これらすべての図を
同時に参照されたい。
【0029】本プロセスは、まず、入力連続階調画像全
体を、なめらかに隣接する同一サイズのタイルに分割す
るステップに基づいている。図6に示された連続階調画
像平面301は、連続階調画像全体に渡って水平及び垂
直に広がる連続階調タイル3101 、3102 、310
3 、...に分割される。図2に示された210は、3
×3マトリクスに配列された9個の連続階調タイル21
1 、2152 、...、2159 によって構成される
画像部分215を示している。この画像が分割される
と、次いで各連続階調タイルは連続的に処理され、たと
えば中間階調の、出力ビット値を生成し、これらの出力
値は、このような各タイルに対し、それ自体が出力バッ
ファの対応する平方ブロックの位置にタイルとして書き
込まれる。これに関しては、図6に示された出力バッフ
ァ17のブロック3711 、3712 3713 、...
は、なめらかに隣接し、集合的に出力画像33を構成す
る、対応する出力タイル3751 、3752 、37
3 、...に対する出力ビット値を含む。各出力タイ
ルは、単一の対応する連続階調タイルに対する出力デー
タを含む。下記の説明を進めるに当り、連続階調タイル
とは、集合的に連続階調画像を構成するタイルのことで
あり、出力タイルとは、出力バッファ17に形成される
出力画像を集合的に構成するタイルのことであることに
留意しなくてはならない。
【0030】出力バッファの各ブロックは固定サイズ
で、たとえば32×32の位置にある。別々のブロック
が、各連続階調タイルに対して存在する。連続階調画像
が出力ページに対して所望の角度φで回転されるとき、
これらのタイルは出力ブロックに対して角度φだけ傾け
られる。これは、図2に示された210において、空間
的に対応するタイルに重ね合わされている出力ブロック
と、図6において、傾けられた出力画像33によって認
められる。
【0031】以下に詳細に説明するように、初期化の間
に、各タイルのサイズが、出力ブロック内に合う最大の
サイズとなるように設定される。各タイルのサイズは、
低速走査方向と高速走査方向におけるスケールファクタ
(α及びβ)と、連続階調画像が回転される角度(φ)
と、たとえば32×32の出力位置に固定された出力ブ
ロックのサイズという、3つのファクタによって決定さ
れる。各出力タイルはそれぞれが対応するブロック内で
回転されるため、隣接する連続階調タイル2151 と2
152 に対する出力データを含む、図2に示された21
1 と2172のような隣接ブロックは、出力バッファ
において重複する。隣接ブロック間との重複の程度は、
連続階調画像が回転される角度の大きさによって決定さ
れる。角度が大きくなるほど、重複の程度も大きくな
る。出力ブロック2171 内の重複領域は、斜線部分2
19に発生する。同様の領域が、他のブロックのそれぞ
れに発生する。この重複により、すべての隣接タイルが
なめらかに、相互に適切に配列するのを確実にする。
【0032】220は、このような例の、対応する出力
ブロック、たとえば2177 に重複される、連続階調タ
イル、たとえば連続階調タイル2157 を示している。
図から明らかなように、このタイルは回転角度φによ
り、ブロックに対し、方向づけされる。
【0033】連続階調タイルがこのように定義され、ブ
ロックに対して角度がつけられると、連続階調画像は二
次元的にサンプリングされ、その結果、各ブロックに必
要な連続階調データが対応する連続階調タイルから取得
することができる。サンプリングは連続階調平面、たと
えば図6に示した連続階調画像平面301において実施
されるため、高速走査方向と低速走査方向の二次元サン
プル増分(v及びu)が設定され、以下に詳細に説明す
るように、初期化の間に、異なる、連続的な連続階調サ
ンプルが、連続階調画像のタイルに対する出力データを
含むことになるすべての出力ブロックにおける、各出力
位置すべてに対して生成される。その結果、連続階調画
像の連続階調値の領域(出力ブロックと区別するため、
以後連続階調ボックスという)は、あらかじめ定められ
た増分でラスタ形式で完全にサンプリングされ、複数の
連続的な連続階調サンプルを形成する。これらの連続的
な連続階調サンプルは、中間階調処理などによって処理
されると、出力画像中の空間的に対応する出力ブロック
を完全に満たすのに十分な数の連続的な出力値を生成す
る。このようなサンプリングされた連続階調値のそれぞ
れが生成及び処理され、その結果生成するそれぞれの中
間階調出力値は、出力ブロックの対応する出力位置に書
き込まれる。この点に関しては、連続階調ボックス32
1 、3202 、3203 、...は、それぞれ連続階
調タイル3101 、3102 、3103 、...を含
み、それぞれが連続的にラスタ方式でサンプリングさ
れ、このようなボックスのそれぞれに対して一連の連続
階調サンプルを生成する。これらのサンプルは、次いで
中間階調スクリーニングにより、各ボックスに対して処
理され、一連の対応する中間階調ビット(ライティング
スポット)を生成する。これらの中間階調ビットは、対
応する出力ブロック、たとえば出力ブロック3711
3712 、3713 、...の適切な連続位置に書き込
まれる。図6は、連続階調ボックスとそれに対応する出
力ブロックの空間的な対応を示している。詳細には、そ
れぞれの連続階調ボックス3201 、3202 、320
3 に対してサンプリングされた連続階調値は、それぞ
れ、ライン331、332、333によって示されるよ
うに、中間階調スクリーナ340に印加される。これら
のラインは、これらの3つの連続階調ボックスのそれぞ
れ1個に対して生成された連続階調サンプルを視覚的に
区別することを目的とする。中間階調スクリーナ340
は、これらのボックスのそれぞれに対して生成された連
続階調サンプルについて動作し、下記に説明するような
方式で、これらに対し、別々の中間階調ビットパタンを
供給する。ライン331、332、333上に出現する
連続階調サンプルから生成する中間階調ビットパタン
は、それぞれのライン341、342、343を介して
中間階調スクリーナ340を通過し、クリッピング論理
350に到達する。本クリッピング論理によって供給さ
れる出力ビットは、下記で説明するよう、出力バッファ
17、詳細には、それぞれライン361、362、36
3で示されるように、対応する出力ブロック3711
3712 、3713 に書き込まれる。連続階調ボックス
3201 、3202 、3203 のそれぞれから生成する
連続階調サンプルは、対応する一連のスクリーニングさ
れた出力値を生成し、これらの出力値は、対応する出力
ブロック3711 、3712 、3713 に書き込まれ
る。連続階調画像平面301の各連続階調ボックスは、
順次処理され、すべての出力ブロックが満たされるま
で、出力データを対応する出力ブロックに書き込む。
【0034】出力データは、出力バッファの各ブロック
において、対応する連続階調タイルに付随する領域を満
たすだけでよい。連続階調タイルは、回転の角度に基づ
いて、連続階調ボックスを完全には占有しないため、下
記に定義するようなクリッピングが使用され、処理され
る連続階調タイル内に配置される連続階調サンプルを形
成し、効果的に無視される連続階調ボックスの残りの連
続階調サンプルから、出力ブロックの出力タイル内に記
憶される出力値を生成する。これらの後者の値は隣接出
力ブロックに対する重複領域に対する出力データを生成
するため、対応する出力位置において、ゼロ値が出力バ
ッファに書き込まれる。最も単純な形式では、クリッピ
ングは、中間階調ビット値またはゼロ値を印加して、出
力ブロックの各出力位置に書き込む、単純なスイッチと
見なすことができる。スイッチ351、352、353
は、次いでライン341、342、または343に出現
する中間階調ビット値か、ライン345に印加されるゼ
ロ値かのいずれかをそれぞれのライン361、362、
363に送出することにより、出力ブロック3711
712 、3713 にクリッピング機能を実行する。出力
ブロックに対する中間階調ビットかゼロ値かの選択(ス
イッチ設定)は、直交クリッピング座標の同時に発生す
る値(K及びL)に基づいてなされる。これらの座標
は、現在のタイルサイズを考慮し、変数KとLの“単
位”距離が連続階調タイルのエッジに沿った距離と等し
くなるよう、決定され、スケーリングされる。詳細に
は、KとLは、連続階調タイル内では双方とも値1に等
しく、連続階調タイル外では、ゼロまたは2に等しい。
これらのクリッピング変数は、効果的に各連続階調タイ
ルの境界を囲み、対応する出力タイルによって占有され
る各出力ブロックの領域を出力データが満たすのを可能
にし、ゼロ値を各ブロックの残りの領域すべてに書き込
む。処理された連続階調サンプルデータ、たとえば中間
階調ビットは、ブロック内の空間的に対応する出力位
置、つまり、KとLの値が双方とも1に等しい、すなわ
ち、出力ブロック内に含まれる出力タイル内のみに書き
込まれ、重複領域内には書き込まれない。KとLの値
も、現在の出力ブロックに書き込まれる現在の出力位置
に対するアドレスと同様に、ラスタ方式で適切に増分さ
れる。
【0035】図2の220に示された連続階調サンプリ
ングライン223によって示される連続階調サンプリン
グ方向は、出力バッファの水平方向と垂直方向に適合す
るよう方向づけされるが、連続階調画像の回転のため、
各連続階調タイルに対して角度がある。これは実際にサ
ンプリングされる入力連続階調値であるため、連続階調
サンプリングライン2231 、2232 、22
3 、...、223n による角度のついたサンプリン
グが、適切なサンプリング増分で入力連続階調画像に対
して実施され、各連続階調ボックスにおいて、連続階調
タイル2157 のような各画像タイルからデータを取得
する。十分な連続階調サンプリングがラスタ方式で実施
されると、各出力ブロックのすべての出力位置に対して
データを生成するため、サンプリングは各タイルの周囲
外に拡張し、連続階調ボックス全体を満たす。この点に
関しては、連続階調サンプリングライン2231 、22
2 、2233 、...、223n (集合的に連続階調
サンプリングライン223を形成する)は、図7に示さ
れた、連続階調タイル3102 を含む連続階調ボックス
3202 において、それぞれが“X”でマークされる連
続階調サンプルを生成する。生成するサンプリング値
は、図8に示された、周辺領域377を含む、出力ブロ
ック3713 のような出力ブロック全体を満たすのに十
分な出力データを供給する。出力ブロック3713 のよ
うな出力ブロックは、ラスタ方式により、軸p及びqで
示された方向で満たされ、データは、ブロックの左上方
隅から始まり、ブロックの右下まで続く、32×32の
固定された出力位置(それぞれ黒点で示される)のそれ
ぞれに書き込まれる。クリッピングのため、このブロッ
ク内ではゼロ値は、周辺領域377(容易に識別できる
よう、斜線で示した)内の出力位置に書き込まれ、中間
階調ビット値は、出力タイル3753 内の残りの位置に
対して書き込まれる。同様に、図2に示された220
は、連続階調タイル2157 に対する連続階調サンプリ
ングと、このタイルと出力ブロック2177 との間の空
間的な対応を示している。
【0036】連続階調画像に対しては、サンプリング
は、出力画像の再上部の出力ブロックに対応する連続階
調ボックスの左上方隅(ULC)から始まり、ボックス
に沿って垂直下方に継続する。このブロックは、それ自
体が出力画像のULCに配置される。各連続階調ボック
スがサンプリングされた後、次に連続する連続階調ボッ
クスのULCでサンプリングが始まる。適切な変数が使
用され、現在の連続階調ボックスに対するULCアドレ
スを保持し、高速走査増分と低速走査増分によって適切
に増分され、それぞれの連続する連続階調ボックスにお
いてサンプリングを開始する。このように出力データが
生成され、図2に示された出力画像部分217を形成す
る出力ブロック2171 、2172 、2173 のような
連続する出力ブロックを満たす。したがって、出力画像
はブロック毎に構成され、出力データは、このようなブ
ロックそれぞれに対するデータの出力タイルを供給す
る。
【0037】図3の230は、二次元連続階調サンプリ
ングを非常に詳細に示している。実例として示した2つ
の連続階調サンプリングライン2231 、223l+1
詳細に示されている。変数pixel_vとpixel
_uは、連続階調画像における現在のサンプリング位置
のアドレスを、座標uとvで記憶する。これらの変数
は、画素サンプリング増分Δpixel_u_fas
t、Δpixel_v_fast、Δpixel_u_
slow、Δpixel_v_slow(Δu_fas
t、Δv_fast、Δu_slow、Δv_slow
とも表す)により、高速方向と低速走査方向に適切に増
分する。これらの増分、すなわち、これらすべての
“Δ”値は初期化の間に設定され、連続階調サンプリン
グポイントの正しい数が生成され、各連続階調ボックス
を満たす。230に示されたように、連続階調サンプリ
ングは連続階調サンプリングライン2231 のような連
続階調サンプリングラインの左開始点から始まり、高速
走査v及びuの画素サンプリング増分Δpixel_v
_fast及びΔpixel_u_fastによってサ
ンプリングアドレスを連続的に増分し、このラインに沿
って1つの位置から次の位置へと進行し、等しく分散さ
れた一連の連続階調サンプリングポイント2311 、2
312 、2313 、2314 、2315 を生成する。た
とえば、連続階調サンプリングポイント2315 のよう
な、ライン上の最後のサンプリング位置に到達すると、
サンプリングアドレスは低速走査画素サンプリング増分
Δv_slowとΔu_slowによって増分され、次
の連続するサンプリングライン、すなわち、223l+1
上の最も左の位置からサンプリングを開始し、以後同様
に継続される。生成する連続階調サンプリングポイント
は、各サンプリングライン上に位置する“X”で示され
ている。
【0038】図3に示された240に示されているよう
に、それぞれのサンプリングされた連続階調値は、単に
フォントメモリ、すなわち中間階調参照スタックに対す
るアドレスとして働き、特定の中間階調参照セルを選択
する。中間階調参照スタック242は、メモリ(図示せ
ず)内に記憶され、あらかじめ定められた数、たとえば
256の異なるセルを記憶する。各セルは、たとえば6
4×64の画素で構成される、特定の中間階調ドットの
ビットマップを保持している。ドットプロファイル24
5に示されたように、中間階調参照スタック242内
で、ドットのサイズは、セル2420 のゼロサイズのド
ットからセル242255 の100%のドット(セルを完
全に満たすもの)まで、徐々に変化する。実例として示
したセル24247と242181 は、それぞれ中間サイズ
のドット24547と245181 とを記憶する。これらの
ドットパタンはなめらかなものとして示されているが、
これらは、実際には量子化されている。所望のセルが選
択されると、そのセルはスクリーン角度θによって決定
される方向でサンプリングされ、スクリーン角度とスク
リーン線数と出力ライティング(レーザ)周波数によっ
て決定される二次元の高速及び低速走査増分を使用し
て、出力ブロックが適切な数の中間階調ドットを含むよ
うになる。
【0039】連続階調の中間階調ドットサンプリング
は、サンプリングされた中間階調ドット値を生成する、
すべてのサンプリングされた連続階調値によって探索テ
ーブルにおいて進行する。しかしながら、中間階調サン
プリングが実施される方向と増分は、連続階調サンプリ
ングが実施される方向と増分とは完全に無関係である。
ここで、説明のため、現在の連続階調サンプルの値が中
間階調参照セル24547を選択するものと仮定する。ま
た、スクリーン角度θは約10゜であると仮定する。図
4の250に示されたように、中間階調部分スクリーン
248のような中間階調ドットスクリーンは、シームレ
スの2倍周期の二次元中間階調ドットパタンを含む。こ
の図は、中間階調部分スクリーン248に重複された出
力ブロック、具体的にはブロック2177 を示してい
る。中間階調ドットサンプリングは、スクリーン上を二
次元ラスタ方式で高速及び低速走査方向に進行する。こ
れらの方向は出力バッファと同様である。しかしなが
ら、サンプリングが実際に実施されるのは選択中間階調
ドットセル内であるため、角度がつけられたサンプリン
グは、セル内で、スクリーン角度の負数に等しい方向で
実施される。スクリーンパタンの周期のため、サンプリ
ングラインが図5の260に示された中間階調セルのエ
ッジ251、252、253、254に達すると、その
ラインは単に反対側のエッジに折り畳まれ、次のサンプ
リングラインを開始し、そこからサンプリングを再開
し、以後同様に継続される。
【0040】この点に関しては、実例として示した中間
階調サンプリングライン257m と257m+1 が中間階
調参照セル24247を縦断し、各ラインに沿って一連の
中間階調サンプリングポイントを生成する。連続階調サ
ンプリングについて実施されるのと同様にして、中間階
調参照セルサンプリングが軸x及びyに沿い、サンプリ
ングラインに沿って増分しながら実施される。2つの変
数pixel_xとpixel_yが、中間階調参照セ
ルにおける現在のサンプリング位置のアドレスを、x及
びy座標で記憶する。これらの変数は、画素サンプリン
グ増分Δpixel_x_fast、Δpixel_y
_fast、Δpixel_x_slow、Δpixe
l_y_slow(Δx_fast、Δy_fast、
Δx_slow、Δy_slowとも表す)により、高
速方向と低速走査方向に適切に増分する。これらの増分
は初期化の間に設定され、中間階調ドットサンプリング
ポイントの正しい数が生成され、各出力ブロックを満た
す。260に示されたように、中間階調サンプリングは
中間階調サンプリングライン257m のような中間階調
サンプリングラインの左開始点から始まり、高速走査y
及びxの画素サンプリング増分Δpixel_y_fa
st及びΔpixel_x_fastによってサンプリ
ングアドレスを連続的に増分し、このラインに沿って1
つの位置から次の位置へと進行し、たとえば、26
1 、2612 、2613 、2614 などのような、等
しく分散された一連の中間階調サンプリングポイントを
生成する。ライン上で最後のサンプリング位置に到達す
ると、サンプリングアドレスは低速走査画素サンプリン
グ増分Δy_slowとΔx_slowによって増分さ
れ、次の連続するサンプリングライン、すなわち、中間
階調サンプリングライン257m+1 上の最も左の位置か
らサンプリングを開始し、以後同様に継続される。生成
する中間階調サンプリングポイントは、各サンプリング
ライン上に位置する“X”で示されている。このような
サンプリングポイントが参照セル内に配置された中間階
調ドット上または中間階調ドット内にある場合、それに
対応する中間階調出力値は単に1であり、その他の場
合、出力値は単にゼロである。生成する1とゼロの出力
値は、クリッピング論理によって出力バッファ内に出力
画像に対するライティングスポットの値として記憶され
るスクリーニングされた中間階調ビットである。
【0041】中間階調サンプリングのプロセスは周知の
ものであり、たとえば、参考文献に含まれる本発明者の
米国特許第4,918,622号(1990年4月19
日E.M.Granger等に発行され、本発明の被譲
渡人に譲渡された−−以後’622Granger等の
特許と呼ぶ)に開示されている。したがって、本プロセ
スをさらに詳しく調べる場合には、’622Grang
er等の特許を参照されたい。このような特定の中間階
調処理の使用は必須ではなく、所望ならば、様々な他の
周知の中間階調処理の1つを使用することも可能であ
る。
【0042】最後に、中間階調スクリーナによって生成
される中間階調ビットは、図5に示された270に示さ
れるように、クリッピング論理を通して印加される。前
述のように、クリッピングが使用され、“妥当な”中間
階調ビット、すなわち、出力ブロックの出力タイル上ま
たは出力タイル内に配置されたものを区別し、出力バッ
ファに書き込まれる。270内に示されたように、スク
リーニングされた中間階調ビットはリード274を介し
てスイッチ275の1つの入力に印加される。ゼロ値は
リード278を介してこのスイッチの他の入力に印加さ
れる。ANDゲート273によってリード276上に生
成され、スイッチ275の制御入力に印加される、クリ
ッピング変数KとLの論理積の組合せの値に応じて、こ
のスイッチは中間階調スクリーニングビットまたはゼロ
値を出力リード277に送出する。出力リード277上
に発生するビットは、出力バッファの現在の出力ブロッ
ク内のシーケンシャルアドレスに記憶される。出力リー
ド271上に発生するクリッピング変数K及びLの値が
双方とも1である場合、スクリーニングされた中間階調
ビットは妥当であり、ANDゲート273の出力はこれ
らのビットに対しては高く、その他の場合はゼロであ
る。
【0043】前述のように、連続階調サンプリングとス
クリーニング操作はロックステップにより、すなわち協
調して実施され、それぞれが対応するサンプリングポイ
ントを同時に生成する。連続階調画像と中間階調参照平
面と出力画像平面(出力バッファ)とにおいて同時に起
る増分画素移動と、生成する画素位置間との対応を明確
に視覚化するため、図9に示されたように、これらの平
面を縦に並べて検討する。連続階調画像平面630と中
間階調参照平面620の双方で増分サンプリング距離が
適切に選択され、連続階調画像回転角度φ、中間階調ス
クリーン角度θ、スケールファクタ(α及びβ)を与え
ると、出力画像平面の現在の出力位置に沿った、連続階
調画像平面と中間階調参照平面の、対応する現在のサン
プリング位置は、常に、これら3つの平面と直交する共
通のライン685上にある。サンプリングがこれら2つ
の平面のそれぞれにおいて他のポイントに進むと、ライ
ン685は、単にその位置を移動し、これら3つの平面
のそれぞれに1つずつの垂直に配列する点の別の組合せ
と直交し、以後同様に継続される。
【0044】出力タイル661及び664に対する出力
データを含むブロック651及び654のような出力画
像640の任意のブロックに対し、中間階調処理が動作
し、二点鎖線670によって示されるように、対応する
データのボックス、たとえば連続階調画像平面のボック
ス633及び中間階調参照平面の623をサンプリング
する。破線683で示されたように、生成するサンプリ
ングされた連続階調値が使用され、特定の中間階調参照
平面を選択し、これがサンプリングされる。破線687
で示されたように、サンプリングされた中間階調ビット
が使用され、出力画像平面610の対応する出力タイル
661と664内の出力位置を満たす。本プロセスは、
出力画像640の左上隅のブロックから開始され、出力
画像平面の連続するブロックを満たすことによって進行
し、連続階調参照平面と中間階調参照平面のデータの対
応するボックスを処理することにより、出力画像640
の右下隅に進み、この画像が完全に書き込まれる。
【0045】C.本発明の技法を利用する画像処理シス
テム 画像回転、スケーリング、中間階調プロセスを定性的に
説明してきた。次に、図10及び11は、集合的に、画
像処理機能の一部としてこの処理を実行する画像処理シ
ステム700の高次ブロック図を示す。
【0046】図示したように、画像処理システム700
は、コマンド制御プロセッサ710と、画像データデコ
ンプレッサ720と、画像処理パイプライン730と、
出力バッファメモリ管理ユニット760と、から構成さ
れ、これらはすべて相互接続バス750によって相互に
接続されている。画像処理システム700は入力画像デ
ータを適切なヘッダを有するパケットの形で、入力バス
705において受け取る。これらのパケットのそれぞれ
は、対応する画像データに付随する1つ以上の特定の画
像処理命令を含んでおり、この画像データは通常圧縮さ
れた形式である。命令制御プロセッサ710は画像処理
システム700の総合的な制御を行う。この点に関して
は、命令制御プロセッサ710は、各入力パケットのヘ
ッダを読み取り、さらに処理するため、このパケットを
適切な宛先に送出する。この処理は、画像回転、スケー
リング、中間階調処理のような場合にはプロセッサ71
0自体の中で開始され、あるいは、デコンプレッサ72
0内、または画像処理パイプライン730内などの別の
場所で開始される。出力バッファメモリ管理ユニット7
60は、ランダムアクセスメモリ(RAM)の複数ペー
ジを提供し、処理された画像データを一時的に記憶した
り、あるいは、局所的に使用するか、またはフレームメ
モリとしてマーキングエンジン用の出力画像データを保
持する。
【0047】命令制御処理プロセッサ710はレジスタ
711と、マイクロコンピュータ713と、読み取り専
用メモリ(ROM)715と、RAM717とを含み、
これらはすべてローカルバス716によって相互接続さ
れている。このバスは、図示はしていない適切な回路に
よって、入力バス705と相互接続バス719と750
とインタフェースされる。レジスタ711は、入力バス
705に印加される外部コマンドを使用してロード及び
読み込みが可能で、種々のパラメータを記憶し、画像処
理システム700を総合的に制御したり、画像処理シス
テム700を上流の画像操作や処理システムにインタフ
ェースする際に使用する状態情報を供給する。マイクロ
プロセッサ713は、種々の標準的な市販のシングルチ
ップマイクロコンピュータの1つである。ROM715
はプログラムと一定のデータを記憶する。RAM717
は、下記で説明するように、複数のレベルの中間階調参
照(フォント)データ、具体的には、16種類の、25
6のレベルの中間階調参照セルスタックと、あらかじめ
定められたノイズデータを記憶する。このRAMは、シ
ステムの初期化の間に、入力バス705上に発生するフ
ォントデータ及びノイズデータを使用して読み込まれ
る。
【0048】デコンプレッサ720は入力画像データを
受け取り、周知の方式でこれらのデータを解凍し、解凍
データを生成する。解凍データは一時的に画像処理シス
テム700内に記憶され、後で処理される。
【0049】画像処理パイプライン730は、解凍され
た画像データについて専用の画像処理を実行する。画像
処理パイプライン730は、三次元線形補間器733
と、RAM731及び735と、タイル画素プロセッサ
(TPP)740と、タイリングRAM742とから成
る。入力される24ビットの画像データ(24D)は、
三次元線形補間器733の入力とTPP740に印加さ
れる。詳細には、トリ線形補間器733は、テーブル探
索と補間操作を使用して様々な周知の色変換を三次元的
に実行し、入力される赤、緑、青(R,G,B)値を原
色のシアン、黄、マゼンタ、黒(C,Y,M,K)値に
変換する。RAM731は、三次元線形補間器733に
よって使用された種々の探索アップテーブルを記憶す
る。これらの探索テーブルは複雑であり、“参照”出力
ライタを使用して生成される。三次元線形補間器733
は、12ビットの出力データ(15)値を供給し、この
出力データは、RAM735内に記憶される探索テーブ
ルに送出される。この後者の探索テーブルは比較的単純
であり、特に現在使用されている出力ライタに対し、ド
ット利得効果などに関してC,Y,M,K値をさらに補
償し、12ビットの出力データを8ビット形式に変換す
る。異なる出力ライタ(マーキングエンジン)が使用さ
れ、RAM735に記憶されたテーブルは適切に変更さ
れ、その出力ライタの出力特性を反映する。RAM73
5の探索テーブルを変更することにより、RAM731
に記憶された複雑な三次元補間テーブルに対しては、何
も変更を加える必要はない。24ビットカラー入力デー
タでなく、8ビット(連続階調)が三次元線形補間器7
33に印加されると、連続階調データが未変更のまま三
次元線形補間器733とRAM735を通過し、TPP
740に達する。
【0050】RAM735によって供給される8ビット
のデータは連続階調値で、TPP740に印加される。
TPP740は、マイクロコンピュータ713と共に、
以下に詳細に説明するように、前述の技法を実行し、タ
イル方式の画像回転、スケーリング、中間階調スクリー
ニングを実施する。TPP740はマイクロコンピュー
タ713によって適切に構成され、連続階調データのす
べてのタイルを一括処理し、たとえば中間階調出力ビッ
トを生成する。タイル開始座標と受け取るなどしてTP
Pが構成されると、TPPは、マイクロプロセッサ71
3とは無関係に完全な連続階調タイルを処理する。この
ように、マイクロコンピュータ713は、連続階調画像
全体をタイリングし、各タイルに対する開始点、すなわ
ちULCの座標と、連続階調及び中間階調参照サンプリ
ングに対する増分サンプリング距離とを計算し、この情
報をTPPに供給し、次いでTPPに最初の連続階調タ
イルの処理を開始するよう命令する。TPPがこのタイ
ルを完全に処理すると、マイクロプロセッサは開始タイ
ルの座標を次の連続階調タイルに更新し、TPPによっ
て当該タイルの処理を開始する。連続階調画像全体が処
理されるまで、それぞれの連続する連続階調画像タイル
に対して同様に処理する。タイリングRAM742は、
通常128Kバイト×8ビットで、TPP740に使用
される連続階調画像の“N”個の完全なライン、すなわ
ち、“ストリップ”を記憶する。タイリングRAM74
2は、高速のRAMによって構成されるが、比較的小さ
いサイズであるため、同等の速度のフルサイズフレーム
バッファに比べ、非常に安価で、実施も複雑でない。タ
イリングRAM742内に記憶された連続階調画像ライ
ンの実際の数“N”に基づき、TPP740は、高速走
査方向と低速走査方向のそれぞれにおいて、Nから1/
Nの範囲内で画像スケーリングを実行する。
【0051】出力バッファメモリ管理ユニット760
は、アドレス生成器762と、メモリコントローラ76
9と、出力バッファ766を含む。出力情報は、たとえ
ば画像処理パイプライン730から、バス747及び相
互接続バス750によって出力バッファメモリ管理ユニ
ット760に印加される。本ユニット内で、この情報の
アドレス部分がバス761を介してアドレス生成器76
2に送出され、アドレス生成器762は、当該アドレス
をブロックアドレスに変換し、当該ブロックアドレスを
リード763を介してメモリコントローラ769に送出
する。メモリコントローラ769は、ブロックアドレス
を適切なメモリアドレスに変換し、リード767を介
し、このアドレスを出力バッファ766のアドレス入力
に送出する。出力情報のデータ部分は、バス761を介
して出力バッファ766のデータ入力に送出される。こ
れらのバッファはRAM768の複数ページを含む。こ
れらのページは2つの同じサイズのグループ768A
768B とに区分されており、ページバッファは周知の
“ピンポン”方式で協調して操作され、データを別のグ
ループ、たとえば768B から読み込んでいる間に、出
力データをもう1つのグループ、たとえば768A に書
き込むことができる。バッファ768から読み込まれる
出力データは、出力データリード772を介し、2進
(“2値”)マーキング(ライティング)エンジンに供
給される。
【0052】図12は、図10及び11に示された画像
処理システム700で使用される画像回転、スケーリン
グ、中間階調処理の2つのチップの態様(マイクロコン
ピュータ713とTPPプロセッサ740)のブロック
図を示している。この態様は集合的にタイル変換中間階
調(TTH)回路800と呼ぶ。
【0053】TTH回路800は、マイクロコンピュー
タ713と、TPP740と、出力バッファメモリ管理
ユニット760とから構成される。前述のように、マイ
クロコンピュータ713は、連続階調画像の各タイルの
開始点と増分サンプリング距離とを計算する。マイクロ
コンピュータは、回転角度φとスクリーン角度θのサイ
ン値とコサイン値とを計算するが、これらの機能をソフ
トウェアで実行するため、TPPにおいて実行するより
も非常に容易である。TPP740は、ゲートアレイま
たは特定用途向け集積回路(ASIC)を使用して構成
された専用のハードウェア回路か、その他の容易にカス
タマイズ可能な大型の集積回路装置であり、連続階調平
面及び中間階調平面の双方において定義済み領域をサン
プリングすることにより、各タイルを処理する。
【0054】マイクロコンピュータとその制御プログラ
ムは、TPPと共に、2つのネスト型ループを実行す
る。ネスト型ループの1つは外側ループで、マイクロプ
ロセッサ内で最初に実行され、画像の各連続階調タイル
を処理し、もう一方は内側ループで、TPP内のみで実
行され、このようなタイルのそれぞれの中の各画素を処
理する。下記に詳細に説明するように、マイクロコンピ
ュータは適切にTPPを構成し、各連続階調タイルを処
理し、次いで当該タイルを完全に処理するようにTPP
に命令する。さらに、マイクロコンピュータは、下記に
説明するように、画面全体に対して存在する、スケーリ
ングパラメータ、回転パラメータ、中間階調処理パラメ
ータなどに対する種々のパラメータ値を設定する。これ
らのパラメータは、設定されると画像全体に渡って一定
に保たれる。
【0055】図12に示されるように、入力(連続階
調)データはリード803を介してマイクロプロコンピ
ュータ713に印加され、ジョブ制御データ(コマンド
情報)はリード805を介して印加される。種々の監視
制御信号もリード807を介してマイクロコンピュータ
に印加され、画像処理を調節制御する。マイクロコンピ
ュータは、使用可能/使用中といった状態情報をリード
811に供給し、入力フロー制御信号をリード809に
供給する。状態情報は上流の回路(図示せず)に接続さ
れ、TTH回路800の現在の状態について知らせる。
フロー制御信号は、マイクロコンピュータが一度に受け
取る入力連続階調データの量を調節するために使用され
る。マイクロコンピュータ713は、リード813を介
して構成情報を、リード815を介してタイル情報を、
リード817を介して種々の制御信号を、TPP740
に供給する。構成情報とタイル情報は数値パラメータ値
で、TPPによって、画像のそれぞれの連続する連続階
調タイルを処理するよう命令される。構成情報は画像に
対して1回適用されるが、タイル情報はそれぞれの連続
する連続階調タイルに対して更新される。TPP740
は、マイクロコンピュータに使用可能/使用中といった
状態情報を供給する。リード819によって供給される
状態情報をモニタリングすることにより、マイクロコン
ピュータは連続する連続階調タイルに対するパラメータ
値を計算したり、TPPが現在のタイルに対してサンプ
リング操作を行っている間に他のタスクを実行すること
ができる。さらに、TPPが処理を終了し、その状態を
変更すると、マイクロコンピュータは、単純なハンドシ
ェークプロトコルと共に、即座に次の連続する連続階調
タイルに対するパラメータ値を有するTPPをロード
し、次いでタイル処理を開始してTPPの待ち時間を最
小限に押さえ、システムのスループットを増大させる。
下記に詳細に説明するように、TPPは、RAM717
からの、中間階調スクリーニングの際に使用する適切な
中間階調フォントとノイズデータにアクセスする。これ
を行うために、TPPは、リード841を介して適切な
アドレス情報(現在のx,yサンプリング位置のアドレ
ス)をRAM717に印加し、リード843を介して生
成する中間階調データとノイズデータを受け取る。タイ
リングRAM742はアドレスリード831とデータリ
ード833を介してTPP740に接続され、現在処理
中の連続階調タイルの“N”ラインストリップに対する
連続階調データを記憶する。それぞれの先行するストリ
ップが完全に処理されてからロードされるそれぞれの連
続するストリップに対するデータをタイル処理する以前
に、連続階調データの最初のストリップはマイクロコン
ピュータ713によってRAM742にロードされる。
RAM742に記憶されるデータは、TPPによってサ
ンプリングされる。
【0056】TPPが出力画像の現在のブロックに対し
て各出力ビットを生成すると、当該ビットはFIFO
(先読み先出し)ファイル857内に記憶される。こう
して、FIFOファイルは、生成される現在の出力ブロ
ックに対するデータを蓄積する。本FIFOは、通常、
非同期式コントローラにより、バッファ読み出しによっ
て実行されるため、破線で示されている。
【0057】TPPが出力画像データの各ブロックを生
成し、マイクロコンピュータ713に対してこのイベン
トを最上位とした後、再びハンドシェークプロトコル
と、リード819に出現する状態情報を変更することに
より、マイクロコンピュータ713はリード823を介
して、出力画像内の当該ブロックの座標をアドレス生成
器762に供給する。アドレス生成器762はブロック
転送(“BLTing”)プロセッサで、画像ブロック
座標を出力バッファ766内の真のブロックアドレスに
変換する。その後、アドレス生成器は真のブロックアド
レスをコントローラに印加し、マイクロコンピュータに
より、FIFOファイル857から出力バッファ766
への出力データの現在のブロックのブロック転送を開始
する。リード722上に出現する出力バッファ766の
内容は、マーキングエンジンに印加され、出力画像のハ
ードコピーを印刷する。
【0058】D.マイクロコンピュータ713とTPP
740によって実行される操作のスードコード(擬コー
ド)の記述 図12に示されたTTH回路800に示されたマイクロ
コンピュータ713内で実行されるメインループ900
のフローチャートが図13及び14に示されている。本
ループは画像全体を処理し、TPP740の操作を構成
及び調整し、連続階調画像の各タイルを処理する役割を
担う。
【0059】詳細には、メインループ900に入ると、
まずブロック905が実行され、周知のパワーアップ初
期化シーケンスを実行する。次いで、ブロック910が
実行され、下記に説明するように、任意の連続階調画像
を処理する際にTTH回路800を“セットアップ”す
るのに使用される種々のパラメータの初期値を取得及び
計算する。これが実行されると、実行は判断ブロック9
15へと進む。本ブロックはTTH回路800が連続階
調画像の処理を開始するよう命令されているか否かを判
断する。TTH回路800がまだ画像を処理するよう命
令されていない場合は、実行は本判断ブロックを出てN
Oパス917を経由し、ブロック920に進む。ブロッ
ク920は、実行されると最新の画像処理コマンドに対
して入力されるジョブ制御データを読み込む。次いで実
行ループは判断ブロック915に戻り、この命令を解読
する。TTH回路800が入力される連続階調画像を処
理するように命令されている場合は、実行は判断ブロッ
ク915を出てYESパス916を経由し、ブロック9
25に進む。ブロック925は、下記に説明するよう
に、実行されると、現在処理中の画像全体に対して一定
の種々のパラメータの初期値を計算する。
【0060】ブロック925が完全に実行されると、ブ
ロック930が実行され、下記に説明するように種々の
パラメータの初期値を計算し、現在処理中の画像の連続
階調タイルを指定する。次いでブロック930はこれら
のパラメータをTPP740にロードする。その後、ブ
ロック935が実行され、TPP740に対し、連続階
調画像のこのタイルを処理するよう命令する。次いで、
TPP740がこのタイルを処理している間に、実行は
ブロック940に進む。ブロック940は、実行される
と、TPP740によって連続階調タイルに対してデー
タが現在生成されている出力画像の現在のブロックのア
ドレスに対し、(x,y)座標値を生成する。次いで、
図13及び14に示したように実行は判断ブロック94
5に進む。本判断ブロックは、単に、TPP740が現
在の連続階調タイルの処理を終了するまで、実行にNO
パス946をループさせてマイクロコンピュータを待機
させるだけである。TPP740が現在のタイルの処理
を終了すると、実行は判断ブロック945を出てYES
パス947を経由し、ブロック950に進む。ブロック
950は、実行されるとアドレス生成器762(図12
参照)に(x,y)ブロック座標値を供給し、アドレス
生成器762からハンドシェークを受信して、本アドレ
スの受信を確認し、TPP740に対し、このタイルに
対して現在保持されているブロック出力データのFIF
O857から出力バッファ766へのブロック転送を開
始するよう命令する。ブロック950が完全に実行され
ると、図13及び14に示されたように、実行は判断ブ
ロック955に進む。本判断ブロックは、連続階調画像
が完全に処理されたか、すなわち、処理する連続階調タ
イルが残っていないかどうかを判断する。この画像が完
全に処理されていない場合は、判断ブロック955はN
Oパス958を経由して実行をブロック930に戻し、
この画像の次の連続する連続階調タイルに対するパラメ
ータ値を計算し、以後同様に継続する。連続階調画像が
完全に処理されている場合は、判断ブロック955はY
ESパス959を経由して実行を判断ブロック915に
戻し、入力命令を待ち、次の画像を処理し、以後同様に
継続する。
【0061】スードコード(擬コード)について詳細な
説明を進める前に、今後の理解を容易にし、参照を容易
にするため、以下の用語、座標、変数を定義する。
【0062】用語 定義 delta −増分を表す fast/slow −高速走査方向及び低速走査方向を表す。高速走査方向は通常ペー ジ、タイル、中間階調参照セルを横切る。低速走査方向は高速走査 方向に直交し、通常ページ、タイル、中間階調参照セルに沿って下 向きである。
【0063】 k, l −クリッピング座標 u, v −連続階調サンプリングアドレス座標 x, y −中間階調参照セルサンプリング座標 p, q −出力画像(ページ)アドレス変数 定義 Δtile*u*slow, Δtile*v*slow −連続階調画像平面における低速及び高速 Δtile*u*fast, Δtile*v*fast 走査方向のタイルからタイルへの移動に 対する増分 tile*u, tile*v −現在の連続階調タイル位置 Δtile*x*slow, Δtile*y*slow −中間階調参照セル(スクリーニング)の Δtile*x*fast, Δtile*y*fast 低速及び高速走査方向のタイルからタイ ルへの移動に対する増分 tile*x, tile*y −現在の中間階調参照セルタイル位置 Δtile*p*slow, Δtile*q*slow −低速及び高速走査方向の出力バッファの Δtile*p*fast, Δtile*q*fast タイルからタイルへの移動に対する増分 tile*p, tile*q −出力バッファにおける現在のタイル位置 p*tile*start (=0) −出力バッファにおけるタイルオフセット q*tile*start (=0) (通常タイリングに対してはゼロ) Δp φ, Δq φ −出力ブロックのエッジとそれに対応する 連続階調タイルの隅の間の位置におけるオ フセット Δpixel*x*slow, Δpixel*y*slow −中間階調参照セルの低速及び高速走査方 Δpixel*x*fast, Δpixel*y*fast 向の移動に対する画素サンプリング増分 pixel*x, pixel*y −中間階調参照セルのブロック内の現在の画 素サンプリング位置 Δpixel*u*slow, Δpixel*v*slow −連続階調画像の低速及び高速走査方向の Δpixel*u*fast, Δpixel*v*fast 移動に対する画素サンプリング増分 pixel*u, pixel*v −連続階調画像の連続階調ボックス内の現在 の画素サンプリング位置 Δpixel*k*slow, Δpixel*l*slow −連続階調画像の低速及び高速走査方向に Δpixel*k*fast, Δpixel*l*fast おけるクリッピング変数の増分画素移動 pixel*k, pixel*l −連続階調画像で処理中の現在の連続階調ボ ックスにおける、画素に対する現在のクリ ッピング位置 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ビットに数をシフトす るのに使用される定数(216) 上記のこれらの定義を念頭に置き、スードコード(擬コ
ード)の詳細な説明を行う。
【0064】図15は、図13及び14に示されたメイ
ンループ900で実行されるステップ925〜945で
構成される、タイル処理ルーチン1000のフローチャ
ートを示している。前述の画像回転、スケーリング、中
間階調処理により、ルーチン1000は、集合的に連続
階調画像を構成するタイルを連続的に処理し、回転さ
れ、スケーリングされ、さらに中間階調処理された出力
画像か、中間階調処理だけがなされた出力画像を生成す
る。本ルーチンは種々の画像パラメータを設定し、次い
で連続階調画像の“最初の”タイルに対する種々のパラ
メータを設定し、その後で最初の連続階調タイルを処理
し、それぞれの連続する連続階調タイルに特定なパラメ
ータ値を適切に増分し、連続階調画像全体が処理される
まで、それぞれの連続するタイルを処理する。
【0065】詳細には、ルーチン1000に入ると、実
行は“画像”設定パラメータステップ925に進み、種
々のいわゆる画像パラメータ、すなわち、連続階調画像
全体に渡って一定なパラメータ値を設定する。これらの
パラメータ値は、たとえば連続階調回転角度φ、アナモ
フィックスケールファクタα及びβ、スクリーン角度
θ、スクリーン線数に基づいて計算される。特に、ステ
ップ925に入ると、ブロック1010が実行され、ブ
ロック及びタイルサイズを設定する。ブロックサイズは
タイルが回転される角度、すなわち、連続階調画像回転
角度φに基づき、最大タイルサイズを32として設定さ
れる。ブロックサイズが設定されると、それに従ってタ
イルサイズが設定される。次いで、実行はブロック10
20に進み、連続階調画像で処理されるタイルの数が、
各行のタイルの数とタイルの列の数で、決定される。こ
れが実施されるとブロック1030が実施され、クリッ
ピング変数に対する画素移動と、連続階調サンプリング
及び中間階調参照セルのサンプリングとに対する増分座
標値(適切な“Δ”値)を計算する。次いで、ブロック
1040が実行され、連続階調画像平面と中間階調参照
セルと出力バッファの連続するタイル間の移動に対する
増分座標値(適切な“Δ”値)を計算する。これが実施
されると、“画像”パラメータ設定ステップ925が終
了する。
【0066】この時点で、実行は“タイル”パラメータ
設定ステップ930に進む。本ステップに入ると、まず
ブロック1050を実行し、対応するブロックに伴う連
続階調タイルの回転によって起る出力ブロックの位置に
おけるオフセットΔpφ及びΔqφを計算する。これら
のオフセットが計算されると、実行はブロック1060
に進む。本ブロックの最初の部分はステップ930内に
あり、座標を、連続階調画像の最初のタイルの開始(U
LC)の点に初期化する。次いで、ループに入り、最初
の連続階調タイルが処理され、次いで次々と連続する連
続階調タイルのそれぞれが処理され、出力バッファの連
続する画素位置に書き込まれる出力ビットを生成する。
この点に関しては、出力画像全体が構成されるまで、各
出力ブロックは連続する出力画素のタイルで満たされ
る。連続階調画像のそれぞれの連続するタイルが処理さ
れた後、次の連続階調タイルの処理に備えて適切なタイ
ル座標が増分され、以後同様に継続される。すべての連
続階調タイルが処理された後、実行はステップ1060
とタイル処理ルーチン1000から出る。
【0067】図16は、図15に示されたタイル処理ル
ーチン1000内で実行されるブロックサイズ及びタイ
ルサイズ設定ステップ1010のフローチャートを示し
ている。本ステップは前述のように、適切なブロック及
びタイルサイズを決定する。詳細には、ステップ101
0に入ると、実行は判断ブロック1110に進む。本ブ
ロックは実行されると、連続階調画像のいずれかの方向
に沿って縮小スケーリングが実施されるか、すなわち、
スケールファクタαまたはβの値が1未満であるか否か
を判断する。これらのファクタの双方が1より大きい場
合には、実行は判断ブロック1110を出てNOパス1
115を経由し、ブロック1140に進む。ブロック1
140は、実行されると各次元に沿ってブロックサイズ
を32に設定し、すなわち、32×32の出力画素位置
を有するブロックを生成する。縮小スケーリングがいず
れか一方の次元に沿って実施される場合は、実行は判断
ブロック1110から出てYESパス1120を経由
し、ブロック1130に進む。ブロック1130は、実
行されるとスケールファクタ及び連続階調回転角度φに
基づいてブロックサイズを設定する。ブロック1130
と1150に見られる絶対値関数に付属するサブスクリ
プト“f”は、絶対値関数が適切な浮動小数点精度で計
算されることを示す。ブロックサイズが決定されると、
ブロック1130または1140を経由し、実行はブロ
ック1150に進む。ブロック1150は、実行される
とタイルサイズを計算する。このタイルサイズはブロッ
クサイズと、連続階調画像回転角度φのサイン及びコサ
インに基づいており、最大でブロックサイズより1画素
小さい。ブロック1150が実行されると、実行はステ
ップ1010を出る。
【0068】図17は、図15に示されたタイル処理ル
ーチン1000内で実行されるタイル数計算ステップ1
020のフローチャートを示している。前述のように、
ステップ1020は現在の連続階調が像で処理されるタ
イルの数を、各行のタイルの数とこのようなタイルの列
の数で決定する。
【0069】詳細には、図示したように、ステップ10
20に入ると、実行はブロック1210に進む。ブロッ
ク1210は、実行されると、連続階調画像を構成する
画像タイルの行の数MAX_ROWを、連続階調画像の
高さH(インチ)と、高速走査方向のアナモフィックス
ケール(α)と、レーザライティング(1インチ当たり
のライティングスポット)と、連続階調周波数(1イン
チ当たりの連続階調サンプル)と、タイルサイズと、の
関数として計算する。これが実行されると、実行はブロ
ック1220に進む。ブロック1220は、実行される
と、連続階調画像を構成する画像の列の数MAX_CO
Lを、連続階調画像の幅W(再びインチ)と、低速走査
方向のアナモフィックスケール(β)と、レーザライテ
ィングと、連続階調周波数と、タイルサイズと、の関数
として計算する。ブロック1220が実行されると、実
行はステップ1020を出る。
【0070】図18は、図15に示されたタイル処理ル
ーチン1000内で実行される画素座標変更設定ステッ
プ1030のフローチャートを示している。前述のよう
に、ステップ1030は、クリッピング変数に対する画
素移動と、連続階調サンプリング及び中間階調参照セル
のサンプリングとに対する増分座標値(適切な“Δ”
値)を計算する。これらの値は現在処理中の連続階調画
像全体で一定である。
【0071】詳細には、図示したように、ステップ10
30に入ると、実行はブロック1310に進む。ブロッ
ク1310は、実行されると、クリッピング変数k及び
lにおける増分画素移動に対するパラメータ値、すなわ
ち、Δpixel_k_fast、Δpixel_l_
fast、Δpixel_k_slow、Δpixel
_l_slowを、連続階調画像回転角度φのサイン及
びコサインと、タイルサイズ及びブロックサイズに基づ
いて計算する。これらのすべての増分値が計算される
と、実行はブロック1320に進む。ブロック1320
は、実行されると、連続階調平面の画素サンプリング増
分に対するパラメータを計算する。これらのパラメータ
値、Δpixel_u_fast、Δpixel_v_
fast、Δpixel_u_slow、Δpixel
_v_slowは、アナモフィックスケールファクタ
と、連続階調及びレーザ周波数と、連続階調画像回転角
度φのサイン及びコサインと、ブロックサイズと、に基
づいて決定される。これらのパラメータがすべて決定さ
れた後、実行はブロック1330に進む。ブロック13
30は、実行されると、中間階調参照平面の画素サンプ
リング増分に対するパラメータ値、すなわち、Δpix
el_x_fast、Δpixel_y_fast、Δ
pixel_x_slow、Δpixel_y_slo
wを計算する。これらの増分は、スクリーン線数と、レ
ーザ周波数と、スクリーン角度θと、ブロックサイズ
と、に基づいている。これらのパラメータ値が計算され
ると、実行はステップ1030を出る。
【0072】図19は、図15に示されたタイル処理ル
ーチン1000内で実行されるタイル座標変更設定ステ
ップ1040のフローチャートを示している。前述のよ
うに、ステップ1040は、連続階調画像平面と中間階
調参照セルと出力バッファとの連続するタイル間の移動
に対する増分座標値(適切な“Δ”値)を計算する。こ
れらの値は、現在処理中の連続階調画像全体に渡って一
定である。
【0073】詳細には、図示したように、ステップ10
40に入ると、実行はブロック1410に進む。ブロッ
ク1410は、実行されると、出力バッファにおける連
続するタイル間の移動に対するパラメータ値、すなわ
ち、Δtile_p_fast、Δtile_q_fa
st、Δtile_p_slow、Δtile_q_s
lowを、連続階調画像回転角度φのサイン及びコサイ
ンと、タイルサイズに基づいて計算する。これらのすべ
ての値が計算されると、ブロック1420が実行され、
連続階調画像平面の連続するタイル間の移動に対するパ
ラメータ値を計算する。パラメータ値Δtile_u_
fast及びΔtile_v_slowは双方共初期に
はゼロに等しく設定される。残るパラメータ値Δtil
e_v_fast、Δtile_u_slowは、アナ
モフィックスケールファクタと、連続階調及びレーザ周
波数と、タイルサイズに基づいて決定される。これらの
パラメータ値すべてが実行されると、実行はブロック1
430に進む。ブロック1430は、実行されると、中
間階調参照セルの連続するタイル間の移動に対するパラ
メータ値、すなわち、Δtile_x_fast、Δt
ile_y_fast、Δtile_x_slow、Δ
tile_y_slowを計算する。これらの増分は、
スクリーン角度θのサイン及びコサインと、中間階調参
照平面のタイルサイズ及び画素サンプリング増分に基づ
いている。これらのパラメータ値が計算されると、実行
はステップ1040を出る。
【0074】前述のように、整数ブロックアドレス処理
に付随するタイル回転と切り捨てのため、連続する出力
ブロックと対応する連続階調タイルのエッジの間で、オ
フセットが生じる。連続階調画像におけるサンプリング
が、出力バッファの正しい整数位置に一致するのを確実
にするため、タイルの“真の”連続階調サンプリング位
置と、対応する、出力ブロックに対する整数画素アドレ
スの間のオフセットが、連続階調タイルに対して決定さ
れなければならない。これらのオフセット値は、一度決
定されるだけでよく、後に、各連続階調タイルに対する
初期サンプリング位置を補償するのに使用される。これ
を実施するに当たり、各ブロックの左上隅は、浮動小数
点精度で容易に決定可能である。しかしながら、整数サ
ンプリングアドレスは、切り捨てのため、約1ビットほ
どばらつきが大きく、このため、各タイルの位置におい
て、1ビット上方及び左にシフトする。オフセットを決
定し、その結果、オフセットの値により、それぞれすべ
ての連続階調タイルに対する初期サンプリング位置を修
正することにより、サンプリング誤差は生じずに、各連
続階調タイルがサンプリングされ、すべての連続階調タ
イルは正確に配列される。
【0075】この点に関し、図20は、ブロック内のタ
イルの回転によって発生する、出力ブロック2177
エッジと対応する連続階調タイル2157 の角との間に
位置するオフセット位置を図示している。ブロック21
7 は、エッジ1515、1530、1540、155
0が直角である。タイル2157 は、ブロック内で最大
に適合するよう大きさが調節され、連続階調回転角度φ
を考慮して方向づけされ、サンプリング座標(0,0)
のULC1545が、ブロックの左エッジ1550に配
列される。タイルの他の3つの角1520、1525、
1535の位置がタイルのULC、すなわち、(p,
q)軸上の座標(0,0)を参照し、座標(−temp
s,tempc)と、(tempc−temps,te
mpc+temps)と、(tempc,temps)
によって与えられる。図21及び22に示されるよう
に、位置サンプリングオフセットΔpφはmin(0,
temps,tempc−temps,−temps)
として定義され、位置サンプリングオフセットΔqφは
min(0,tempc,tempc+temps,t
emps)として定義される。距離tempcはタイル
サイズによって定義され、tempsは連続階調回転角
度φのコサイン及びサインで定義される。
【0076】オフセットのこの説明に基づき、図21及
び22は、図15に示されたタイル処理ルーチン100
0内で実行され、オフセットの値Δpφ及びΔqφを計
算する、ブロック位置オフセット計算ステップ1050
のフローチャートを集合的に示している。ステップ10
50は、Δpφ計算ステップ1610と、Δqφ計算ス
テップ1650とから構成される。ステップ1610
は、Δpφの値を、最も負の値、すなわち、(0,te
mps,tempc−temps,−temps)の最
小値として計算し、ステップ1650は、Δqφの値
を、最も負の値、すなわち、(0,tempc,tem
pc+temps,temps)の最小値として計算す
る。
【0077】詳細には、ステップ1050に入ると、実
行はΔpφ計算ステップ1610に進み、まずブロック
1615が実行される。ブロック1615は、Δpφの
初期値をゼロに設定する。次いで、実行は判断ブロック
1618に進み、値tempcが負であるか、すなわ
ち、Δpφの初期値ゼロ未満であるかをテストする。値
tempcが負の場合、実行はYESパス1619を経
由し、ブロック1625に進む。ブロック1625は、
実行されると、Δpφの現在の値を、値tempcに等
しく設定し、実行を判断ブロック1628に進める。値
tempcが負でない場合、判断ブロック1618は、
NOパス1620を経由し、単に実行を判断ブロック1
628に進める。判断ブロック1628は、値temp
c−tempsがΔpφの現在の値未満であるかを判断
する。値tempc−tempsがΔpφの現在の値未
満である場合、判断ブロック1628は、YESパス1
629を経由し、実行をブロック1635に進める。ブ
ロック1635は、Δpφの現在の値を、値tempc
−tempsに等しく設定する。次いで、実行は判断ブ
ロック1638に進む。判断ブロック1628が、te
mpc−tempsの現在の値がΔpφの現在の値以上
であると判断した場合も、実行は判断ブロック1638
に到達する。判断ブロック1638は、値−temps
がΔpφの現在の値未満であるかを判断する。値−te
mpsがΔpφの現在の値未満である場合、判断ブロッ
ク1638は、YESパス1639を経由し、実行をブ
ロック1645に進める。ブロック1645は、Δpφ
の現在の値を、値−tempsに等しく設定する。次い
で、実行はステップ1610から出る。−tempsの
値がΔpφの現在の値以上である場合、実行はNOパス
1640を経由し、単に判断ブロック1638から出
る。
【0078】ステップ1610が完全に実行され、処理
中の現在のタイルに対するΔpφの現在の値を決定する
と、ステップ1650が実行され、このタイルに対する
Δqφの値を計算する。詳細には、ステップ1650に
入ると、実行はブロック1655に進む。ブロック16
55は、実行されると、Δqφの初期値をゼロに設定す
る。次いで、実行は判断ブロック1658に進み、値t
empcが負であるか、すなわち、Δqφの初期値ゼロ
未満であるかをテストする。値tempcが負の場合、
実行はYESパス1659を経由し、ブロック1665
に進む。ブロック1665は、実行されると、Δqφの
現在の値を、値tempcに等しく設定し、実行を判断
ブロック1668に進める。値tempcが負でない場
合、判断ブロック1658は、NOパス1660を経由
し、単に実行を判断ブロック1668に進める。判断ブ
ロック1668は、値tempc+tempsがΔqφ
の現在の値未満であるかを判断する。値tempc+t
empsがΔqφの現在の値未満である場合、判断ブロ
ック1668は、YESパス1669を経由し、実行を
ブロック1675に進める。ブロック1675は、Δq
φの現在の値を、値tempc+tempsに等しく設
定する。次いで、実行は判断ブロック1678に進む。
判断ブロック1668が、tempc+tempsの現
在の値がΔqφの現在の値以上であると判断した場合
も、実行は判断ブロック1678に到達する。判断ブロ
ック1678は、値tempsがΔqφの現在の値未満
であるかを判断する。値tempsがΔqφの現在の値
未満である場合、判断ブロック1678は、YESパス
1679を経由し、実行をブロック1685に進める。
ブロック1685は、Δqφの現在の値を値temps
に等しく設定する。次いで、実行はステップ1650か
ら出る。tempsの値がΔqφの現在の値以上である
場合、実行は単にNOパス1680を経由し、判断ブロ
ック1678から出て、ステップ1650を出る。
【0079】図15に示されたタイル処理ルーチン10
00内で実行されるタイル処理ステップ1060の高次
フローチャートが、図23に示されている。前述のよう
に、ステップ1610は、座標を、連続階調画像の最初
のタイルの開始点(ULC)に初期化し、次いで、ルー
ピングにより、最初の連続階調タイル、続いて、連続す
る連続階調タイルを順次処理し、出力画像のそれぞれの
対応する出力ブロックを、出力ビットによって完全に満
たす。さらに、連続階調画像のそれぞれの連続するタイ
ルが処理された後、ステップ1060は、次の連続する
連続階調タイルの処理に備え、適切なタイル座標を増分
する。
【0080】詳細には、ステップ1060に入ると、実
行はまずブロック1710に進む。ブロック1710
は、実行されると、画像の最初のタイルに対する種々の
タイルパラメータを初期化する。その後、実行は2つの
ネスト型ループ、外側ループ1720及び内側ループ1
730を経由し、連続階調画像のすべてのタイルそれぞ
れを順次処理する。特に、外側ループ1720は、タイ
ルの全体の行を同時に処理し、内側ループは各行の各タ
イルを処理する。外側ループ1720及び内側ループ1
730に入ると、実行はまず内側ループ内にあるブロッ
ク1740に進む。ブロック1740は、実行される
と、出力(ページ)バッファの現在の出力ブロックの位
置(block_p,block_q)を計算する。次
いで、実行はブロック1750に進む。ブロック175
0は、実行されると、処理中の現在の連続階調タイルに
特有の種々の増分の値、すなわち、Δp_block、
Δq_block、Δk_block、Δl_bloc
k、Δu_block、Δv_block、Δx_bl
ock、Δy_blockを計算する。これが実行され
ると、実行はブロック1760に進む。ブロック176
0は、実行されると、これらの増分を使用し、処理中の
現在のタイルに特有の種々のパラメータの値、すなわ
ち、block_k、block_l、block_
u、block_v、block_x、block_y
を初期化する。その後、実行はブロック1770に進
む。ブロック1770は、下記に説明するように、現在
の連続階調タイルを完全に処理する。現在の連続階調タ
イルがステップ1770によって処理されると、実行は
ステップ1780に進む。ステップ1780は、処理中
の現在の行の次の連続する連続階調タイルに対し、種々
の高速走査方式のパラメータを増分する。これが実行さ
れると、ステップ1770は、この連続階調タイルを処
理し、連続階調タイルの行全体が処理されるまで同様に
継続される。このタイル処理ガ終了すると、実行は、内
側ループから、外側ループ1720内のブロック179
0に進む。ブロック1790は、連続階調画像の次の連
続する行の最初の連続階調タイルの位置に種々の低速走
査パラメータを増分する。これが実行されると、実行は
内側ループ1730に戻り、この行のすべてのタイルを
処理し、以後同様に継続する。連続階調タイルのすべて
の行が処理されると、次いで実行は外側ループ1720
とタイル処理ステップ1060から出る。
【0081】図23に示されたタイル処理ステップ10
60の詳細なフローチャートは、図24及び25に集合
的に示されている。図23のブロック1710〜179
0を構成する個々のステップは、図24及び25に示さ
れている。
【0082】図示したように、ステップ1060に入る
と、実行はブロック1710に進む。ブロック1710
は、画像の最初の連続階調タイルに対するパラメータ値
tile_u、tile_v、tile_x、tile
_y、tile_p、tile_qを、それぞれ、パラ
メータ値image_u、image_v、image
_x、image_y、p_tile_start、q
_tile_startに等しいものとして決定する。
次いで、外側ループ1720と、内側ループ1730に
入る。次いでブロック1740が実行され、現在のブロ
ックの出力座標、すなわち、block_p及びblo
ck_qを、tile_pプラス対応するオフセット値
Δpφと、tile_qプラス対応するオフセット値Δ
qφに設定し、結果を右16ビット位置へシフトし、整
数ブロックアドレスを生成する。その後、ブロック17
50が実行され、連続階調画像の、処理中の最初の連続
階調タイルに特有の、Δp_blockと、Δq_bl
ockと、Δk_blockと、Δl_blockと、
Δu_blockと、Δv_blockと、Δx_bl
ockと、Δy_blockと、の増分値を計算する。
この点に関しては、Δp_blockとΔq_bloc
kとは、ブロックアドレスの分数アドレス部分となるも
のによって構成される。残りのタイルの増分のうち、Δ
k_blockと、Δl_blockと、Δu_blo
ckと、Δv_blockとは、連続階調画像回転角度
φのサイン及びコサインと、タイルサイズと、連続階調
及びレーザ周波数とに基づいて計算される。残る2つの
タイルの増分Δx_blockとΔy_blockと
は、スクリーン角度θと、Δp_block及びΔq_
blockの値と、スクリーン線数と、レーザ周波数と
に基づいて計算される。これらの増分値がブロック17
50によって決定されると、ブロック1760が実行さ
れ、タイルパラメータblock_kとblock_l
とblock_uとblock_vとblock_xと
block_yに対する初期値を、これらの増分に基づ
いて計算する。これらのパラメータも、処理中の現在の
連続階調タイルに特有である。次いで、ブロック177
0が実行され、直前のブロックによって決定されたパラ
メータ値によって定義されたように、現在の連続階調タ
イルを全体的に処理する。この連続階調タイルが完全に
処理され、現在の行において、連続階調タイルがさらに
処理される場合、タイルパラメータ、tile_u、t
ile_v、tile_x、tile_y、tile_
p、tile_qは、ブロック1780において、適切
な、それぞれの高速走査方向のタイル増分、すなわち、
Δtile_u_fast、Δtile_v_fas
t、Δtile_x_fast、Δtile_y_fa
st、Δtile_p_fast、Δtile_q_f
ast、によって増分され、現在の行における次の連続
階調タイルを定義する。タイル列カウンタcolも、1
だけ増分される。この時点で、現在の行において最低1
つの連続階調タイルがさらに処理される場合、実行はブ
ロック1740に戻り、当該タイルを処理し、以後同様
に継続する。一方、現在の行のすべてのタイルが処理さ
れると、実行は内側ループ1730を出て、ブロック1
790に進む。連続階調画像において最低1つの連続階
調タイルの行がさらに処理される場合、タイルパラメー
タ、tile_u、tile_v、tile_x、ti
le_y、tile_p、tile_qは、ブロック1
790において、適切な、それぞれの低速走査方向のタ
イル増分、すなわち、Δtile_u_slow、Δt
ile_v_slow、Δtile_x_slow、Δ
tile_y_slow、Δtile_p_slow、
Δtile_q_slow、によって増分され、次の連
続する行の最初の連続階調タイルを定義する。行列カウ
ンタrowも、1だけ増分される。この時点で、連続階
調タイルの行が最低1つさらに処理される場合、実行は
ブロック1740に戻り、当該行におけるそれぞれの連
続階調タイルを連続して処理し、以後同様に継続する。
連続階調画像におけるタイルのすべての行が処理される
と、実行は外側ループ1720から出て、ブロック18
20に進む。ブロック1820は、連続階調画像が完全
に処理されたという、適切な信号を生成する。これが実
行された後、実行はステップ1060を出る。
【0083】図24及び25に示されたタイル処理ステ
ップ1060の一部として実行されるタイル処理ルーチ
ン1770の高次フローチャートが図26に示されてい
る。前述のように、本ルーチンは、回転、スケーリン
グ、中間階調処理により、タイル全体を所望通りに処理
する。
【0084】詳細には、図示したように、タイル処理ル
ーチン1770に入ると、実行はまずブロック1910
に進む。ブロック1910は、実行されると、生成中の
現在の出力ブロックにおける最初の画素に対する種々の
画素パラメータの値を初期化する。これが実行される
と、実行は判断ブロック1920に進む。判断ブロック
1920は、これに先立つ使用者の入力に基づき、タイ
ル(すなわち、タイルモード)または、画素の単一ラス
タが処理されるかを判断する。画素の単一ラスタは、通
常、連続階調画像が回転されない場合に処理される。タ
イルが処理される場合、決定ブロック1920は、YE
Sパスを経由し、実行をブロック1930に進める。ブ
ロック1930は、実行されると、タイルに対するpカ
ウンタを初期化する。画素の単一ラスタが使用される場
合、決定ブロック1920は、NOパスを経由し、実行
をブロック1940に進める。ブロック1940は、実
行されると、ラスタに対するPカウンタを初期化する。
ブロック1930と1940のいずれかが実行される
と、実行は2つのネスト型ループ、外側ループ1950
及び内側ループ1960に入る。外側ループは、画素の
行全体を同時に処理し、内側ループは、各行のそれぞれ
の画素を処理する。詳細には、外側ループ1950と内
側ループ1960に入ると、実行はまず、内側ループ内
のブロック1970に進む。ブロック1970は、実行
されると、連続階調及び中間階調参照平面の双方におけ
るクリッピングされたサンプリングにより、出力ブロッ
クに現在アドレスされた画素に対するデータを取得し、
出力ブロックの画素位置にその結果を記憶する。その
後、実行はブロック1980に進む。ブロック1980
は、実行されると、種々のパラメータ(すなわち、q、
pixel_k、pixel_l、pixel_u、p
ixel_v、pixel_x、pixel_y)の値
を高速走査方向に増分し、これらは、後に、出力ブロッ
クの現在の行における、次の連続する画素に対する出力
値を生成する際に使用される。画素の行全体が出力ブロ
ックに書き込まれると、実行は、内側ループから、外側
ループ1950内のブロック1990に進む。ブロック
1990は、現在の出力ブロックの次の連続する行の最
初の画素に対する出力値の生成に使用するため、種々の
パラメータ、詳細には、p、pixel_k、pixe
l_l、pixel_u、pixel_v、pixel
_x、pixel_yを、低速走査方向に増分する。こ
れが実行されると、実行は内側ループ1960に戻り、
この行のすべての画素を処理し、以後同様に継続する。
現在の出力ブロックの画素のすべての行が書き込まれる
と、次いで実行は外側ループ1950と、タイル処理ル
ーチン1770から出る。
【0085】図26に示されたタイル処理ルーチン17
70の詳細なフローチャートが図27に示されている。
図26のブロック1910〜1990を構成する個々の
ステップは、図27に示されている。
【0086】図示したように、ステップ1770に入る
と、実行はブロック1910に進む。
【0087】詳細には、図示したように、タイル処理ル
ーチン1770に入ると、実行はまブロック1910
は、生成中の現在の出力ブロックにおける最初の画素に
対するパラメータの値、pixel_k、pixel_
l、pixel_u、pixel_v、pixel_
x、pixel_yを決定する。次いで、ステップ19
20〜1940を経由し、カウンタpが、タイルモード
が使用されるか否かに基づいて、値ゼロまたは値blo
ck_size−1のいずれかにそれぞれ初期化され
る。これが実行されると、実行は外側ループ1950及
び内側ループ1960に入る。出力ブロックの各行にお
けるすべての画素に対して実行される内側ループ内で、
実行は最初にブロック1970に進み、画素処理ルーチ
ン(下記に詳細に説明する)により、この行における現
在の画素に対する出力値を生成し、この出力値を出力ブ
ロックの画素に記憶する。次いで、ブロック1980
は、パラメータpixel_k、pixel_l、pi
xel_u、pixel_v、pixel_x、pix
el_yの値を、Δpixel_k_fast、Δpi
xel_l_fast、Δpixel_u_fast、
Δpixel_v_fast、Δpixel_x_fa
st、Δpixel_y_fastをそれぞれ使用し
て、高速走査方向に増分し、これらは、後に、出力ブロ
ックの現在の行における、次の連続する画素に対する出
力値を生成する際に使用される。qカウンタの現在の内
容も、出力ブロックの現在の行における次の連続する画
素の点に1だけ増分される。この時点で、さらに最低1
つの画素値が出力ブロック(またはラスタ)の現在の行
で生成される場合、実行はブロック1970に戻り、当
該画素に対する出力値を取得し、以後同様に継続する。
一方、現在の行(またはラスタ)のすべての画素に対す
る出力値が書き込まれた場合、実行は内側ループ196
0を出て、外側ループのブロック1990に進む。出力
ブロックにおいて、さらに最低1つの、画素の行に対す
る出力値が書き込まれる場合、画素パラメータ、詳細に
は、pixel_k、pixel_l、pixel_
u、pixel_v、pixel_x、pixel_y
は、ステップ1990により、対応する増分Δpixe
l_k_slow、Δpixel_l_slow、Δp
ixel_u_slow、Δpixel_v_slo
w、Δpixel_x_slow、Δpixel_y_
slowを使用して、低速走査方向で増分され、後に、
出力ブロックの次の連続する行の最初の画素に対する出
力値を生成するのに使用される。pカウンタの現在の内
容も、現在のブロックにおける出力画素の次の連続する
行の点に、1だけ増分される。出力値が、出力ブロック
の画素のすべての行に対して書き込まれると、実行は外
側ループ1950とタイル処理ルーチン1770から出
る。
【0088】図27に示されたタイル処理ステップ17
70の一部として実行される画素処理ルーチン1970
の高次フローチャートが、図28に示されている。画素
処理ルーチン1970は、前述のように、連続階調及び
中間階調参照平面の双方におけるクリッピングされたサ
ンプリングにより、出力ブロックにおいて現在アドレス
された画素に対するデータを取得し、その結果を当該出
力ブロックの画素位置に記憶する。
【0089】詳細には、図示されたように、ルーチン1
970に入ると、実行はまずブロック2110に進む。
ブロック2110は、実行されると、2つのマスクを設
定する。このうちの1つはノイズデータ配列にアクセス
するもの、もう一方は、適切な中間階調参照データ配列
にアクセスするものであり、双方共RAM717(図7
及び8参照)からアクセスする。これらのマスクそれぞ
れは、これらの配列のそれぞれをアドレスするのに使用
される、pixel_xアドレス及びpixel_yア
ドレス内の適切なビットを隔離するのに使用される。こ
れらのマスクが設定されると、図28に示されたよう
に、実行はブロック2115に進む。ブロック2115
は、実行されると、現在の画素アドレスpixel_
k、pixel_l、pixel_u、pixel_v
の整数部分を抽出する。次いで、ブロック2120が実
行され、クリッピング変数VALIDの現在の値を決定
し、生成中の現在の画素が、対応する出力タイル内にあ
る現在の出力ブロック内に含まれるか否かを指定する。
前述のように、変数VALIDの値は、この画素に対す
るKクリッピングアドレス及びLクリッピングアドレス
の双方における、最低位整数ビットのみの論理積の組合
せから構成されている。このビットは、pixel_x
アドレスとpixel_yアドレスをあらかじめ定めら
れたマスク、すなわち、“0x001”によって“AN
Ding”することによって隔離される。ここで、“0
x”は16進表記を定義する。ブロック2120が完全
に実行されると、実行は判断ブロック2125に進む。
ブロック2125は、実行されると、現在の整数画素ア
ドレスに基づき、連続階調画像において現在のサンプリ
ングされた画素が、当該画像の端に重複するか否かを判
断する。このような重複が発生する場合、判断ブロック
2125は、YESパス2127を経由して、実行を実
行ブロック2130に進める。ブロック2130は、実
行されると、この画素に対する、サンプリングされた連
続階調値を、白色に対応するあらかじめ定められた数に
設定する。一方、連続階調画像の現在のサンプリングさ
れた画素が画像内にある場合、すなわち、画像の端に重
複しない場合、判断ブロック2125はNOパスを経由
して、実行をブロック2135に進める。ブロック21
35は、この画素に対するサンプリングされた値を、タ
イリングRAM742(図7及び8参照)から取得す
る。
【0090】次いで、図28に示したように、実行は判
断ブロック2140に進む。判断ブロック2140は、
これに先立つ使用者の入力に基づき、中間階調スクリー
ニングを実施するか、すなわち、“連続階調モード”が
現在使用されていないかどうかを判断する。中間階調ス
クリーニングが実施される場合、中間階調値ではなく、
連続階調値が出力バッファに供給され、中間階調出力画
像ではなく、連続階調出力画像が生成し、次いで、判断
ブロック2140は、YESパス2142を経由し、実
行をブロック2145に進める。ブロック2145は、
実行されると、サンプリングされた連続階調値を、出力
バッファにおける現在の画素に対する出力データとして
単に供給する。次いで、実行は画素処理ルーチン197
0を出る。一方、中間階調スクリーニングが実行される
場合、判断ブロック2140は、NOパス2144を経
由し、実行を判断ブロック2150に進める。判断ブロ
ック2150は、クリッピング変数VALIDの現在の
値に基づいて、出力ブロックにおける現在のアドレスさ
れたビットがゼロに設定される場合は、実行をブロック
2155に進め、出力ブロックにおける現在のアドレス
されたビットがスクリーニングされた出力値に設定され
る場合は、実行をブロック2160に進める。現在の出
力ビットが出力ブロックに対応する出力タイルの外側に
ある場合、当該ビットはゼロに設定される。この場合、
判断ブロック2150は、NOパス2152を経由し、
実行をブロック2155に進める。ブロック2155
は、出力ビットをゼロに設定する。次いで、ブロック2
170が実行され、このゼロ値を出力ブロック、詳細に
はFIFO857(図12参照)内の現在のビット位置
に書き込む。ブロック2170が実行されると、図28
に示されたように、実行は画素処理ルーチン1970を
出る。
【0091】一方、現在の出力ビットが出力ブロックの
対応する出力タイル内にある場合、このビットは、スク
リーニングされた出力値を含むことになる。この場合、
図28に示したように、判断ブロック2150はYES
パス2154を経由し、実行をブロック2160に進め
る。ブロック2160は、実行されると、中間階調参照
スタック−−この出力ビットに対応する現在の連続階調
値によって選択される特定のセルを適切にサンプリング
し、また、特定の中間階調スタック(フォント)を選択
し、アドレスされたノイズ値を使用して中間階調サンプ
リングアドレス自体を変更するのに使用する(下記に詳
細に説明する)。特に、RAM717内のノイズデータ
配列は、pixel_xアドレス及びpixel_yア
ドレスのビットを使用してアドレスされる。この配列
は、16の異なる中間階調参照スタック(フォント)の
1つを選択するのに使用される記憶済みの4ビットノイ
ズデータのシームレス擬似乱数配列を含む。これらのス
タックは、異なるあらかじめ定められたドットパタンを
記憶する。特定のパタンが必須というわけではない。し
かしながら、本来なら、記憶された中間階調ドットパタ
ンに対する空間サンプリング周波数のうなりのために、
出力画像に表示される、空間的に反復するモアレパタン
のような不良が、無作為フォント選択により、分解され
て出現しない。フォントが選択されると、現在の出力画
素に対応する現在の連続階調値は、対応する中間階調参
照平面を選択する。次いで、本中間階調参照平面は、現
在の低位pixel_xアドレス及びpixel_yア
ドレスに基づいてサンプリングされ、スクリーニングさ
れた出力ビットを生成する。次いで、ブロック2160
が完全に実行され、出力ブロックにおいて現在アドレス
された画素に対するスクリーニングされた出力ビットを
生成すると、実行はブロック2170に進む。ブロック
2170は、当該値を出力ブロック、詳細にはFIFO
857(図12参照)内のビット位置に書き込む。ブロ
ック2170が実行されると、図28に示されたよう
に、実行は画素処理ルーチン1970を出る。
【0092】図29は、図28に示された画素処理ルー
チン1970の詳細なフローチャートを示している。図
28のブロック2110〜2170を構成する個々のス
テップは、図29に示されている。
【0093】詳細には、図示したように、ブロック21
10は2つのマスク、ノイズデータ配列にアクセスする
noise_bit_maskと、中間階調参照データ
配列にアクセスするfont_bit_maskを設定
する。アクセスは、共にRAM717(図7及び8参
照)から行われる。これらのマスクは、pixel_x
アドレス及びpixel_yアドレス内で、これらの配
列のそれぞれをアドレスするのに使用する適切なビット
を定義する。ブロック2115内では、pixel_
k、pixel_l、pixel_u、pixel_v
の現在の値が、それぞれビット位置の適切な数によって
右にシフトされ、対応する整数アドレス、すなわち、i
nt_k、int_l、int_u、int_vを取得
する。次いで、ブロック2120は、整数画素アドレス
int_k、int_lをマスク“0x0001”と論
理的に結合させることにより、1ビットのクリッピング
変数VALIDの値を決定する。ここで、“0x”は1
6進表記を定義する。次いで、ブロック2125〜21
35は、連続階調画像において現在のサンプリングされ
た画素が連続階調画像の端に重複するか否かに基づい
て、出力バッファにおける現在の出力ビットに対応する
連続階調値を、白色に対応する値か、またはサンプリン
グされた連続階調値のいずれかにそれぞれ設定する。連
続階調モードが使用されている場合、ブロック2140
及び2145ガ実行され、サンプリングされた連続階調
値を戻し、画素処理ルーチン1970から出る。一方、
連続階調モードが使用されておらず、中間階調処理が実
施されている場合、ブロック2150〜2170は、ク
リッピング変数VALIDの状態に基づき、変数VAL
IDが偽(すなわちゼロ)である場合、現在の出力ビッ
トをゼロに設定し、変数VALIDが真(すなわち1)
である場合、現在の出力ビットをスクリーニングされた
出力ビットに設定する。中間階調処理ルーチンは、前述
のように、パラメータcontone、pixel_
x、pixel_y、noise_bit_mask、
font_bit_maskの現在の値を使用して、現
在の出力ビットに対する中間階調データビットの値を決
定する。変数pixel_x及びpixel_yの高位
ビットを使用して決定されたnoise_bit_ma
skの値は、特定の中間階調参照スタック(フォント)
を擬似乱数的に選択し、font_bit_maskの
値によって指定されたように本スタックの特定の中間階
調平面と、pixel_x及びpixel_yの低位ビ
ットを選択する可変連続階調の値によってサンプリング
し、本平面における特定のサンプリング位置を決定す
る。本平面の本サンプリング位置にある、記憶された単
一ビット値は、スクリーニングされた出力データであ
る。本ビットは、ゼロである場合も、スクリーニングさ
れた出力データである場合も、ブロック2170によっ
て、FIFO857(図12参照)内の次の出力位置に
書き込まれる。次いで、図29に示したように、実行は
画素処理ルーチン1970を出る。
【0094】E.タイル画素プロセッサ(TPP)74
0の専用ハードウェア実施例 図7及び8に示されたタイル画素プロセッサ(TPP)
740の実施例の高次ブロック図が、集合的に図30及
び31に示されている。
【0095】図示したように、TPP740は、タイル
レジスタ2310と、タイルプロセッサ2320と、画
素プロセッサ2350と、制御論理2380とから構成
されている。タイルプロセッサと画素プロセッサは、集
合的に、ネスト型ループを増分し、画像中の各連続階調
タイルと各画素を、各タイルに付随する各出力ブロック
によって処理する。実際には、タイルプロセッサ232
0は、図26及び20と共に詳細に説明したように、タ
イル処理ルーチン1770を増分し、画素プロセッサ2
350は、図28及び29と共に詳細に説明したよう
に、画素処理ルーチン1970を増分する。TPPは、
ゲートアレイ、ASICまたは、その他の容易にカスタ
マイズ可能な大型集積回路装置を使用して実施されるの
が好ましい。 制御論理2380は、単純な組合せ論理
と有限状態マシンの双方またはいずれか一方−−これら
の詳細な態様は、当業者にとっては明白である−−であ
り、TPP740の総合的な操作を制御する。マイクロ
コンピュータ713(図12参照)によって供給され
る、“処理開始”リード817上のパルスに反応して、
図30及び31に示された制御論理2380は、パルス
を“次実行”リード2384に印加することによってタ
イルプロセッサ2320に適切な命令を下し、現在のク
ロックパルスと一致して、その時点でリード815に出
現している値のレジスタをロードし、次いで、次のクロ
ックパルスに一致して、連続階調画像中の現在のタイル
の処理を開始する。同時に、制御論理2380は、低レ
ベルを、状態情報リード819内に位置する“タイリン
グ完了”リード2382に置き、タイル処理がアクティ
ブに実施されていることを、マイクロコンピュータに正
しく伝える。この処理が完了すると、タイルプロセッサ
2320は、“タイリング完了”リード2386のパル
スを印加し、制御論理2380に正しく伝える。本制御
論理は、次いで高レベルを、“タイリング完了”リード
2382に印加し、本連続階調タイルが完全に処理され
たことをマイクロコンピュータ713(図12参照)に
正しく伝える。
【0096】TPP740の初期化の間に、リード81
7上に出現する“処理開始”パルスに反応し、図30及
び31に示されたタイルレジスタ2310が、リード8
15(図12参照)を介し、マイクロコンピュータ71
3により、タイル情報、すなわち、処理される現在のタ
イルと適切な増分画素値を指定するパラメータ値と同時
にロードされる。これらのパラメータには、ブロックア
ドレス(block_k,block_l,block
_u,block_v,block_x,block_
y)と、高速走査方向及び低速走査方向双方の画素増分
(Δpixel_k_fast,Δpixel_l_f
ast,Δpixel_u_fast,Δpixel_
v_fast,Δpixel_x_fast,Δpix
el_y_fast,Δpixel_k_slow,Δ
pixel_l_slow,Δpixel_u_slo
w,Δpixel_v_slow,Δpixel_x_
slow,Δpixel_y_slow)とが含まれ
る。図30及び31に示されたように、これらのブロッ
クアドレス及びタイル増分は、タイルレジスタ2310
により、リード2312、2314、2316を介し、
制御論理2380による制御の下、タイルプロセッサ2
320内の適切な加算器またはマルチプレクサに送られ
る。
【0097】タイルプロセッサ2320は、加算器23
22と、加算器2325と、マルチプレクサ2328及
び2330とを含む。これらのすべては、6回反復され
る。すなわち、異なる画素パラメータのそれぞれに対し
て1回、そして、図示したように結合される。タイルプ
ロセッサはまた、画素レジスタ2333と制御論理23
40とを含んでいる。画素レジスタ2333は、6個の
画素パラメータ(pixel_k,pixel_l,p
ixel_u,pixel_v,pixel_x,pi
xel_y)のそれぞれに対して1つずつ、計6個の別
々のレジスタを含んでいる。画素レジスタは、6個の画
素パラメータの値を保持し、出力バッファの現在のブロ
ックにおける各画素に対する出力値を生成する。制御ロ
ジック2340は、タイルプロセッサ2320の総合的
な操作を制御する。具体的には、図34に示され、下記
に詳細に説明するフローチャート2600に従い、画素
プロセッサを構成するレジスタそれぞれの状態と、加算
器と、マルチプレクサとを制御する。
【0098】タイルプロセッサ2320の説明を単純化
するため、加算器と、マルチプレクサと、画素レジスタ
との6個の同一のセットの内の1個について、例として
pixel_kパラメータの場合につき、詳細に説明す
る。この点に関して、制御論理2340の制御下及びタ
イルプロセッサの初期化中、マルチプレクサ2330の
入力I1 は、リード2316を介し、タイルレジスタ2
310から、block_kの開始アドレスを受信す
る。出力ブロックの第1の行における第1の画素に対
し、制御論理2340は、適切なレベルを選択信号とし
て、リード2344を介してマルチプレクサ2330に
印加し、本開始アドレスを、画素レジスタ2333内の
pixel_kレジスタの入力に送る。次いで、制御論
理2340は、適切なロード信号をリード2345に印
加し、この特定のレジスタに、本開始アドレスにおいて
pixel_kパラメータ値としてロードさせ、これを
リード2335に印加させる。リード2335とリード
2326が接続しているため、この値はまた、加算器2
322及び2325の入力にフィードバックされる。増
分Δpixel_k_fastは加算器2322の別の
入力に、増分Δpixel_k_slowは加算器23
25の別の入力に、それぞれ印加される。加算器232
2及び2325によって生成された出力は、リード23
24及び2327を介し、マルチプレクサ2328の対
応する入力に送られる。pixel_kレジスタの内容
はリード2326を介して加算器2322及び2325
の対応する入力にフィードバックされるため、これらの
加算器は、それぞれ増分Δpixel_k_fastと
Δpixel_k_slowを先行するpixel_k
パラメータ値に加え、各行の連続する画素と、連続する
行の第1の画素を示す。pixel_kパラメータ値を
増分させ、出力バッファの現在の行における次の連続す
る画素を示すため、制御論理2340は、適切なレベル
を選択(S)信号として、リード2342及び2344
に印加し、加算器2325の出力を、マルチプレクサ2
328及び2330を介し、画素レジスタ2333内の
pixel_kレジスタに送る。次いで、制御論理は、
適切なレベルをリード2345に印加し、加算器232
5によって生成され、蓄積された値を、画素レジスタ2
333内のpixel_kレジスタにロードする。特
に、加算器2325は、高速走査pixel_k増分Δ
pixel_k_fastを、先行するpixel_k
パラメータ値に加算し、その結果生成する値は、制御論
理2340の制御下で、pixel_kレジスタにロー
ドされ、現在の行の次の連続する出力画素位置をさし示
し、以後同様に継続される。行の末端に到達すると、加
算器2325はオーバーフローし、当該の行における第
1の画素位置をさし示し、さらに完了(CO )出力上に
パルスを生成する。このパルスは、リード2347を介
して制御論理2340に印加される。その結果生成する
画素アドレスは、マルチプレクサ2328及び2330
により、画素レジスタ2333内のpixel_kレジ
スタ内に送られ、ロードされる。さらに、生成したpi
xel_kパラメータ値を修正して次の行の第1の画素
を示すため、制御論理2340は、適切なレベルを選択
信号とし、リード2342及び2344を介してマルチ
プレクサ2328及び2330に印加し、加算器232
2を介し、増分Δpixel_k_slowを現在の画
素アドレスに加算し、次の連続する行の第1の画素を示
すアドレスを生成する。その結果生成するアドレスは、
マルチプレクサ2330により、画素レジスタ2333
内のpixel_kレジスタの入力に送られ、印加され
る。次いで制御論理2340は、リード2345を介し
て適切なパルスを印加し、このアドレス値をpixel
_kレジスタにロードし、以後同様に継続して、当該の
行において連続する画素と、続くすべての行に対し、p
ixel_kパラメータ値を生成する。出力画素アドレ
スの最後の行が生成された後、加算器2322はオーバ
ーフローし、さらにその完了(CO )出力上にパルスを
生成する。このパルスは、リード2323を介して制御
論理2340に印加される。その結果、制御論理234
0はリード2386上にレベル変化を生じ、制御論理2
380に対し、現在のブロックが完全に処理されたこと
を知らせる。その他の5つの画素パラメータ値は、対応
する初期ブロック値と高速走査増分及び低速走査増分を
使用し、現在の出力ブロックのそれぞれの連続する画素
に対し、同様に増分される。
【0099】連続階調画像の各画素に対して適切な出力
データを生成するため、6つの画素パラメータ(pix
el_k,pixel_l,pixel_u,pixe
l_v,pixel_x,pixel_y)の現在の値
が、リード2336、2337、2338を介し、画素
プロセッサ2350に送られる。画素プロセッサ235
0は、連続階調論理2354と、ノイズアドレス論理2
358と、中間階調参照(フォント)アドレス論理23
65と、クリッピング論理2370とを含んでいる。
【0100】操作においては、画素パラメータpixe
l_u及びpixel_vの現在の値が、連続階調参照
平面の現在のサンプリング位置を指定する。連続階調論
理2354は、この現在のサンプリング位置が、連続階
調画像の端と重複するか否かを判断する。このような重
複が生じる場合、本論理は、白色に対するあらかじめ定
められた連続階調値をリード2366上に供給する。一
方、この現在のサンプリング位置が連続階調画像内にあ
る場合、連続階調論理2354は、pixel_u及び
pixel_vパラメータ値に基づき、タイリングRA
M742に対して対応するメモリアドレスを生成する。
このアドレスは、リード2355を介してタイリングR
AMに印加され、タイリングRAMはアドレスされたメ
モリに記憶された連続階調値を読み取り、生成する値を
データリード2357上に供給する。次いで、連続階調
論理2354は、この値をリード2366に印加する。
連続階調論理2354の動作と同時に、ノイズアドレス
論理2358は、リード2338上に出現するpixe
l_x及びpixel_yと共に含まれる8個の高位ア
ドレスビットに基づいて、これらのアドレスを結合し、
ノイズデータRAM717に対する16ビットメモリア
ドレスを構成する。2つの8ビット高位アドレスが、単
に合わされ、16ビットアドレスフィールドを構成す
る。次いで、本アドレスフィールドは、リード2361
を介し、ノイズデータRAM717に印加される。ここ
に記憶されるノイズデータ配列は、通常256×256
の定義済み4ビットの擬似乱数値のシームレス配列であ
り、それぞれが、16個の中間階調参照(フォント)ス
タックの内の対応する1つを選択する。これらのスタッ
クは、256のそれぞれの64×64の中間階調参照平
面によって表されるドットプロファイルをそれぞれが含
んでおり、中間階調参照RAM717内に記憶される。
その結果生成する、ノイズデータRAM717から読み
込まれたノイズデータ、特にFONT ID値は、リー
ド2362を介し、中間階調参照アドレス論理2365
に印加される。中間階調参照アドレス論理2365は、
FONT ID値を高位ビットとして使用し、次いで低
位のpixel_x及びpixel_yアドレスビット
を使用して、メモリアドレスから中間階調参照データR
AM717を構成しする。このアドレスは、リード23
67を介し、中間階調参照データRAM717に印加さ
れ、その結果生成する、メモリから読み込まれ、アドレ
スされた単一ビット値は、リード2369を介し、クリ
ッピング論理2370に印加される。クリッピング論理
2370は、リード2336上に出現するpixel_
k及びpixel_lパラメータの現在の値に基づき、
現在の出力ブロックに対する出力画素が、出力タイル内
にあるか否かを判断する。なお、本出力画素に対する中
間階調処理されたデータは、リード2369上に出現し
ている。この画素が対応する出力タイル内にある場合、
クリッピング論理2370は、リード2369上に出現
する単一ビットの値を出力データとして、単に出力リー
ド853に送り、FIFO857に記憶する。一方、こ
の画素が対応する出力タイル外にある場合、クリッピン
グ論理は、単にゼロ値を出力データとして出力リード8
53に印加する。適切なデータ値が出力リード853に
印加されると、制御論理2380は、リード2385を
介し、“適切出力データ”リード819に対してレベル
変化を印加し、その時点で出力リード853に出現して
いるデータが適切であることを知らせる。このレベル変
化は、周知の方式で使用され、出力データがFIFOに
書き込まれるタイミングを制御する。
【0101】図32は、図30及び31に示されたTP
P740内に含まれるタイルプロセッサ2320内にあ
る、反復回路部分2410のブロック図を示している。
前述のように、この部分は、画素パラメータのそれぞれ
に対して1回、計6回反復される。
【0102】反復回路部分2410は、加算器2412
及び2416と、マルチプレクサ2430と、画素レジ
スタ2450とを含む。回路を単純化するため、反復回
路部分2410は、図30及び31に示されたマルチプ
レクサ2328及び2330を組み合せ、図32に示さ
れた共通のマルチプレクサ2430を構成する。レジス
タ2404、2406、2408は、詳細には図30及
び31に示されたタイルレジスタ2310内にあり、そ
れぞれが、共通の画素パラメータに対する初期座標値
と、低速増分座標値と、高速増分座標値を保持する。こ
れらのレジスタは図32に示したように、リード240
5、2407、2409により、マルチプレクサ243
0と、加算器2412及び2416の、対応する“A”
入力に接続されている。リード2455上に出現する画
素レジスタ2450の出力は、マルチプレクサ2430
への“D”入力にフィードバックされ、リード2417
を介して加算器2412及び2416の“B”入力にフ
ィードバックされる。これらの加算器によって生成され
る完了(CO )出力は、リード2415及び2421を
介し、制御論理2340(図30及び31参照)に送ら
れる。加算器2412及び2416の出力(O)は、図
32に示されたように、マルチプレクサ2430への
“B”入力及び“C”入力に送られる。本マルチプレク
サの出力(Z)は、リード2435を介し、画素レジス
タ2450の入力に印加される。
【0103】図33に示した真理値表は、“S0 ”及び
“S1 ”を選択信号として印加し、マルチプレクサ24
30の動作を指定する。
【0104】図34に示した状態フローチャート260
0は、図32に示した反復回路部分2410内で順次実
行される操作の詳細を示している。特に、回路が想定す
る第1の状態、すなわち、STATE1は待ち状態ある
いはスタンバイ状態で、この間には何もアクティブな操
作は実施されない。操作2610及び2615とNOパ
ス2620を経由する連続するループによって示される
ように、本回路は、“処理開始”パルスがリード817
(図30及び31参照)上に出現するまで、この状態に
止まる。図34に示されたように、本パルスに反応し
て、反復回路部分2410の状態は、判断操作2615
から出るYESパス2625によって示されるように、
次の状態、STATE2に変化する。STATE2の
間、すべての初期値及び増分値は、適切なレジスタにロ
ードされる。これが実行されると、次のクロックパルス
につき、次の状態、すなわちSTATE3に入る。この
状態の間、加算器2416は、図32に示したマルチプ
レクサ2430は、同じく図32に示した画素レジスタ
2450と共に、レジスタ2450に記憶された画素パ
ラメータ値を、レジスタ2408に記憶された高速走査
増分により継続して連続的に増分し、このパラメータに
対し、一連の連続的に増加する値を生成する。この連続
的な加算処理は、加算器2416が、その完了出力上に
パルス(高速完了)を生成する時点まで、判断操作26
40から出るNOパス2645によって定義されたルー
プを経由して、STATE3に対して実行される。本パ
ルスは、生成すると、画素パラメータ値が高速走査方向
に完全に増分されたことを示す。この増分が完了する
と、判断操作2640は、YESパス2650を経由
し、反復回路部分2410の状態を、次の状態、すなわ
ちSTATE4に変更する。この状態の間、加算器24
12は、図32に示したマルチプレクサ2430及び画
素レジスタ2450と共に、レジスタ2406に記憶さ
れた低速走査増分により、レジスタ2450に記憶され
た画素パラメータの値を1回増分する。次いで、図34
に示された判断操作2660は、加算器2412が完了
(低速完了)パルスを生成したか否かに基づき、画素パ
ラメータが低速走査方向に完全に増分されたか否かを判
断する。本パラメータが完全に増分されていない場合、
すなわち、さらに別の対応する行が処理される場合、判
断操作2660は、NOパス2665を経由し、反復回
路部分2410の状態をSTATE3に戻し、この行の
処理を開始する。一方、加算器2412が完了(低速完
了)パルスを生成した場合、判断操作2660は、YE
Sパス2670を経由し、反復回路部分2410の状態
を、操作2675に変更し、操作2675は、反復回路
部分2410を完了状態、すなわちSTATE5にす
る。これは単に一時的な状態であり、次いで、制御論理
2340(図30及び31参照)が、操作2610を介
し、反復回路部分2410をSTATE1に戻す。
【0105】図35は、図30及び31に示された画素
プロセッサ2350内に含まれる連続階調論理2354
のブロック図を示している。図示されたように、連続階
調論理2354は、アドレス生成器2730と、比較器
2740及び2750と、ANDゲート2760と、マ
ルチプレクサ2770とを含んでいる。アドレス生成器
2730は、双方共図30及び31に示された画素レジ
スタ内に含まれているpixel_uレジスタ2710
及びpixel_vレジスタ2720の出力に接続され
ており、これらのレジスタの内容を使用して、パラメー
タpixel_u及びpixel_vの値によって定義
される現在の連続階調サンプリング位置に対して、適切
なメモリアドレスを生成する。本アドレスは、図35に
示されたリード2355を介し、タイリングRAM74
2のアドレス入力に印加される。タイリングRAM74
2から読み込まれた連続階調データ値は、リード235
7を介し、マルチプレクサ2770の入力“A”に供給
される。本マルチプレクサへのその他の入力、すなわ
ち、入力“B”は、リード2768を介し、白色に対す
るあらかじめ定められた連続階調値に接続されている。
現在のサンプリングされた画素位置が連続階調画像内に
あるか否かに基づき、マルチプレクサ2770は、タイ
リングRAMから読み込まれた、サンプリングされた連
続階調値か、あらかじめ定められた白色値のいずれか
を、サンプリング連続階調データ2780として選択す
る。詳細には、レジスタ2710内に含まれるパラメー
タpixel_uの値は、比較器2740の入力に印加
され、レジスタ2720内に含まれるパラメータpix
el_vの値は、比較器2750の入力に印加される。
連続階調画像の幅(W)を表す値は、リード2712を
介し、比較器2740の入力に印加され、連続階調画像
の高さ(H)を表す値は、リード2714を介し、比較
器2750の入力に印加される。比較器2740及び2
750は、現在の画素サンプリング位置が垂直にも水平
にも画像内にある場合、それぞれの出力リード2745
及び2755上に、高レベルを生成する。本サンプリン
グ位置が画像内にあるのを確実にするため、リード27
45及び2755上の出力レベルは、ANDゲート27
60によって論理的に結合されて選択信号を供給し、本
選択信号は、リード2765を介してマルチプレクサ2
770への選択(S0 )入力に印加される。したがっ
て、現在の連続階調サンプリング位置が連続階調画像内
にある場合、マルチプレクサ2770は、対応するサン
プリングされた連続階調値を、サンプリング連続階調デ
ータ出力リード2366に、サンプリング連続階調デー
タ2780として導出する。一方、現在の連続階調サン
プリング位置が連続階調画像内にない場合、マルチプレ
クサ2770は、あらかじめ定められた白色値を、サン
プリング連続階調データ出力リード2366に、サンプ
リング連続階調データ2780として印加する。
【0106】図36に示した真理値表2800は、マル
チプレクサ2770の動作を指定する。
【0107】図37は、図30及び31に示した画素プ
ロセッサ2350内に含まれるクリッピング論理237
0のブロック図を示している。詳細には、図37に示さ
れたように、クリッピング論理2370は、pixel
_kレジスタ2910内に含まれるpixel_kアド
レスとpixel_lレジスタ2920内に含まれるp
ixel_lアドレスの双方の16番目のビットに接続
されているANDゲート2930から成る。これらのレ
ジスタは、双方共画素レジスタ2333(図30及び3
1参照)内にある。図37に示されたリード2935上
に出現するこれらのビットのAND結合は、マルチプレ
クサ2940への選択(SO )入力に接続されている。
中間階調参照RAM717から読み込まれた単一ビット
中間階調セルデータは、リード2369を介し、マルチ
プレクサ2940への“A”入力に印加される。ゼロ値
が他の入力、すなわち、マルチプレクサ2940への
“B”入力に印加される。これらのマルチプレクサの出
力(Z)は、出力リード853に接続され、スクリーニ
ング出力データ2950を供給する。こうして、クリッ
ピングアドレスが、現在の画素が対応する出力タイル内
にあることを示すと、リード2935上に出現する信号
は高く、これによって、マルチプレクサ2940は、リ
ード2369上に出現した中間階調セル出力データを、
出力データとして出力リード853に送る。現在の画素
が対応する出力タイル内にない場合、マルチプレクサ2
940は、ゼロ値を、出力データとして出力リード85
3に送る。 図38に示された真理値表3000は、マ
ルチプレクサ2940の動作を指定する。
【0108】図39は、図30及び31に示された画素
プロセッサ2350内に含まれるノイズアドレス論理2
358のブロック図を示している。ノイズアドレス論理
2358は、図39に示されたように、pixel_x
レジスタ3110に含まれるpixel_xアドレスの
8個のアドレスビット、ビット<23:16>を、pi
xel_yレジスタ3120に含まれる8個の対応する
アドレスビット、ビット<23:16>に結合させるこ
とにより、256×256の位置ノイズデータRAM7
17に対するメモリアドレスを構成する。詳細には、p
ixel_xレジスタ3110及びpixel_yレジ
スタ3120は、タイルプロセッサ2320(図30及
び31参照)の画素レジスタ2333内にある。図39
に示されたように、pixel_xレジスタ内に含まれ
る32ビットアドレスは、リード3112を介してAN
Dゲート3140の1つの入力に送られ、pixel_
yレジスタ内に含まれる32ビットアドレスは、リード
3122を介してANDゲート3145の1つの入力に
送られる。これらのANDゲートは、ノイズアドレス論
理2358内に含まれている。noise_bit_m
ask 3115は、リード3117を介して、これら
のANDゲートのそれぞれの他方の入力に印加される。
noise_bit_maskの値をpixel_xア
ドレス及びpixel_yアドレスのそれぞれと論理的
に結合することにより、リード3142及び3146に
出現するアドレスは、これらのアドレスのそれぞれの8
個のビット<23:16>である。これらのビットは、
単に結合され、16ビットアドレスを構成する。生成す
る16ビットアドレスは、アドレスリード2361に出
現し、ノイズデータRAM717に位置する4ビットメ
モリ位置の1つを選択する。この位置から読み込まれて
生成する4ビット値は、FONT ID 3130で、
これはリード2362を介し、中間階調参照アドレス論
理2365(図30及び31参照)に印加される。
【0109】最後に、図40は、図30及び31に示さ
れた画素プロセッサ2350内に含まれる中間階調参照
アドレス論理2365のブロック図を示している。中間
階調参照アドレス論理2365は、中間階調参照セルデ
ータRAM717に対して24ビットメモリアドレスを
構成し、図40に示したように、ANDゲート3225
及び3230を含んでいる。前述のように、FONT_
ID値は、16個の中間階調スタック(フォント)の内
の特定の1つを選択する。サンプリングされた連続階調
データ値は、本スタックを形成する256個の中間階調
参照平面の内の特定の1つを選択し、pixel_xレ
ジスタ及びpixel_yレジスタのそれぞれの6ビッ
トが、集合的に、64×64ビットの選択された中間階
調参照平面内の現在のサンプリング位置を選択する。
【0110】詳細には、24ビットメモリアドレスは、
リード2362上に出現する4ビットFONT ID
アドレスと、続いてリード2366上に出現する8ビッ
トサンプリング連続階調値2780と、それに続く、p
ixel_xレジスタ3110及びpixel_yレジ
スタ3120のそれぞれに含まれる、6個の定義済み低
位対応整数アドレスビット<15:10>に基づく12
ビットアドレスとから成る。これらの低位アドレスビッ
トは、ANDゲート3225及び3230によって、p
ixel_xレジスタ3110に保持されたpixel
_xと、pixel_yレジスタ3120に保持された
pixel_yとの、現在の値すべてを、font_b
it_mask 3215の値と論理的に結合すること
により、構成される。この点に関しては、pixel_
xレジスタ3110の内容が、リード3210を介して
ANDゲート3225の1つの入力に印加され、及びp
ixel_yレジスタ3120の内容が、リード322
0を介してANDゲート3230の1つの入力に印加さ
れる。font_bit_mask 3215の値は、
リード3218を介し、これらのゲートのそれぞれの他
方の入力に印加される。font_bit_maskの
値を、pixel_xアドレス及びpixel_yアド
レスのそれぞれと論理的に結合することにより、リード
3228及び3233に出現するアドレスはこれらのア
ドレスのそれぞれの6個のビット<15:10>であ
り、これらは、アドレスリード2367を介し、24ビ
ットメモリアドレスとして、中間階調参照データRAM
717に印加される。本RAM内のアドレス位置に記憶
されたデータは、単一ビット中間階調セルデータとして
供給され、前記にて詳述したように、リード2369を
介し、入力データとしてクリッピング論理2370(図
30、31、37参照)に送られる。
【0111】F.スクリーナ誘発性画像不良の抑制 これまでに説明したスクリーナでは、スクリーナ誘発性
画像不良(格子状の連続階調サンプリングと出力ライテ
ィング処理の干渉の結果生成するモアレパタンなど)が
発生する可能性がある。適切に、且つ本質的にこれらの
不良を抑制(マスク)するため、本発明者は、RAM7
17内に記憶されるノイズデータとして使用するため
の、特別なニ次元シームレス“ブルーノイズ”相関性均
一分散フォント選択マトリクス(配列)を開発した。本
マトリクスを使用してフォントの選択をランダマイズ
(ランダム化)することによってノイズを画像に伝える
が、適度な量で、フォントエッジの適切な移動によって
導入されたこのノイズは、低周波不良を適度に分解し、
生成する画像不良に対し、これらの後者の不良を、十分
に高い空間周波数で好適に配置し、これらを、人間の観
察者にとって本質的に目に見えなくする。こうして、こ
のノイズを使用することにより、単色中間階調分解にお
けるスクリーナ誘発性画像不良の発生を、連続階調値の
全範囲に渡って好適に抑制する。
【0112】当該技術において一般に知られているよう
に、書き込まれる特定の中間階調ドット内のエッジ位置
を無作為に変動させるためにノイズデータを使用するの
ではなく、本発明の考案により、前述したように、その
特定の中間階調ドットを全体的に生成するのに用いられ
る、異なった形状の中間階調フォントの番号の1つ、た
とえば16を選択するためにノイズデータが使用され
る。これらのフォントのそれぞれは、基礎となる従来型
の中間階調フォント、たとえばダイアモンド型ドットと
はわずかに異なった、変形型である。さらに、変形はド
ット中心の周囲で対称であり、異なる濃度レベルそれぞ
れに対して、ドット面積は本質的に一定であり、所定の
連続階調値に対して、すべてのフォントについて一定の
中間階調濃度を保持する。また、各フォントがドット全
体を生成するのに使用されるため、スクリーニング処理
に対してノイズが加わっても、濃度が一様な領域では、
基本となるドット構造が崩れず、ドットエッジはドット
からドットへと適切にシフトし、スクリーナ誘発性画像
不良を十分に抑制する。
【0113】さらに、本発明者によれば、中間階調ドッ
トフォントが完全に無作為に選択された場合、すなわ
ち、完全に一様となるように選択された場合(“ホワイ
ト”ノイズ −− すべての周波数に渡って一定の電力
振幅を有するノイズを使用する)、モアレパタンのよう
なスクリーナ誘発性不良は確かに減少するが、残念なが
ら、画像の粒状性が増し、視覚的に不快な程度にまでな
り得ることが確認されている。この点に関しては、これ
らのモアレパタンの振幅が、完全な無作為フォント選択
によって減少するにつれ、通常ホワイトノイズによって
発生する低周波の画像の粒状性が次第に明確になる。こ
の粒状性を防止するため、フォント選択に使用されるノ
イズは、特に人間の視覚系が知覚可能な空間周波数にお
いて低周波数の内容を抑制するような特別な形態でなけ
ればならず、それによって、中間階調画像において、
“粗雑な”外観でなく、“きめ細かい”外観を生成す
る。
【0114】この点に関しては、図41が、曲線332
0の人間の視覚系の一般的な空間周波数応答特性(一次
元)と、曲線3310のマスキングスクリーナ誘発性画
像不良に対する所望の“ブルーノイズ”空間フィルタの
空間周波数応答特性(τ(fx ,fy )で示した)をグ
ラフによって示している。図から明らかなように、“ブ
ルーノイズ”(低周波内容が抑制されたノイズ)の応答
特性は、人間の視覚系の応答のほぼ逆形の形状となり
(すなわち、人間の視覚が鋭敏な範囲内の空間周波数を
減衰し、この範囲外の周波数を強調または通過させ
る)、このノイズによって誘発される不良は、比較的高
い空間周波数において存在し、そのため、人間の観察者
にとって容易には明確とならない。一般的に、人間の視
覚系は3つの別々の応答チャネルがある。それは、2つ
のクロミナンスチャネル(特に色差)と、1つの輝度チ
ャネルである。輝度チャネルは、典型的な帯域通過応答
を示し、通常の視覚距離においてピークは約1ライン/
mm、電力半値点は約0.5ライン/mmである。クロ
ミナンスチャネル(通常“赤−緑”及び“青−黄”チャ
ネルと見なされる)は、それぞれ典型的な低域通過応答
を有し、最大応答がゼロ周波数にあり、別にニーポイン
ト及び指数フォールオフを有する。曲線3320は、3
つのチャネルすべての応答の大体の合計を図示してい
る。いわゆるホワイトノイズ(すなわち、すべての周波
数に渡って一定振幅の電力スペクトルを有するノイズ)
が使用された場合には、比較的大きい低周波の縞が画像
にクロマティックノイズとして出現し、視覚的に不快と
なる。しかしながら、ノイズの低周波内容を低減するこ
とにより、すなわち、通常曲線3310で示されるよう
な応答を有する“ブルーノイズ”を使用することによ
り、このノイズが原因となるスクリーニング誤差(画像
不良など)は、通常好適に、通常の視覚が鋭敏な範囲外
の周波数で明確となるため、人間の観察者にとっては本
質的に目に見えなくなる。
【0115】図42は、図41において曲線3310に
よって二次元形式で示した“ブルーノイズ”空間フィル
タの空間周波数応答特性3400を、三次元表面342
0として、グラフによって示している。前述のように、
本フィルタの特性は、ほとんどの高空間周波数におい
て、最大の結合度に達し、周波数空間の隅と中心におい
て低減する。フィルタはゼロ空間周波数(すなわち、隅
3415のようなすべての4つの隅)において最低の応
答を有しており、人間の視覚系の感度が最も低い空間周
波数において結合度が上昇する。フィルタは、ガウス型
が好ましい。低周波特性は、τLF(fx ,fy )で示
す。本発明者の経験的な知見によれば、中間階調画像に
おいて、“ブルーノイズ”方式のフォント選択によって
誘発される高周波のうなりに起因する低周波反復パタン
(また、特に、下記に説明するような、サンプリングさ
れたデータと、存在する他の高周波パタンとのうなりの
非反復関数のフーリエ変換によって生成する高周波から
発生するもの)の発生を防止するには、表面3420
は、中央の円形の低下3410(τHF(fx ,fy )で
表される高周波特性を有する)を含むような形状であ
る。この低下の深さ、すなわちパラメータαは、単に経
験的に“調整”され、本来ならば生成する中間階調画像
において生成される残存低周波うなりパタンを適切に抑
制するものである。
【0116】これを念頭に置くと、ブルーノイズフィル
タの特性、すなわち、総合的なフィルタ関数は、以下の
方程式(1〜3)で示すことができる。
【0117】
【数1】
【数2】 ここで、σL は、電力半値点における低周波ロールオフ
である。
【0118】
【数3】 ここで、σH は、電力半値点における高周波ロールオフ
である。
【0119】こうして、このフィルタの関数を考慮する
と、適切な“ブルーノイズ”特性をもたらすためには、
4つのファクタを適切に調整する必要がある。それら
は、τLF、すなわち低周波カットオフの幅と、τHF、す
なわち高周波カットオフの幅と、fcut 、すなわち低周
波カットオフの位置と、α、すなわち、高周波特性の深
さである。前述のように、これらのファクタは経験的に
調整され、所望のフィルタ特性を実現する。
【0120】さらに、ノイズデータは二次元的にシーム
レスであり、スクリーニング中に各タイルから次へと二
次元の画像移動が起るため、本質的に、不連続性などの
不良が画像にはもたられない。最後に、ノイズの特定の
形状に関わらず、このノイズを使用することにより、0
から15まで一様に分散された整数が生成し、これらは
フォント選択データとしてノイズデータRAM717に
記憶され、16の異なるフォントスタックの内の特定の
1つを選択することができる。
【0121】これを念頭に置き、ノイズデータRAM7
17に保存されたノイズ(フォント選択)データが生成
される方式について説明する。この説明のため、読者
は、図43、44、45、46を同時に参照されたい。
図43及び44は、フォント選択データを選択する処理
3500を集合的に示し、図45は、処理3500で用
いられるガウスから整数へのマッピング処理を示し、及
び46は、通常の50%中間階調ドットの例における2
つの典型的な変形ドットフォントを示している。フォン
ト選択データ処理3500の一部分3510は、一般に
システムの製造中に実行される。この部分によって生成
するのは、以下に説明するように、それぞれの異なるス
クリーン線数に対する適切なスクリーン角度(適切な分
解間の回転を有する)の集合であり、これによって最小
のスクリーナ誘発性不良を有する中間階調画像が生成さ
れる。システムの駆動中に、このような集合の1つが、
フォント選択データ処理3500のステップ3560に
より、所望のスクリーン線数に基づいて単にアクセスさ
れ、次いでスクリーニング中に使用される。
【0122】まず、フォント選択データを生成するた
め、フォント選択データ処理3500に示されたよう
に、部分3510が実行される。部分3510は、ステ
ップ3515から開始される。ステップ3515によ
り、ノイズマトリクスのサイズがまず定義される。前述
のように、このマトリクスのサイズは、使用される最大
のスクリーン線数によって決定される。特に、マトリク
スのサイズ選択は、175ライン/インチ(約68.9
ライン/cm)スクリーンに対するエラーの量が最小の
ブルーノイズフィルタ関数を生成するように行われる。
175ライン/インチの線数が、画像処理システム5
(図1を参照)で実際に使用される最大の線数であるた
め、この特定のスクリーン線数に対する大きさは、より
少ない線数と比較して選択される。この最大線数を使用
するには、ノイズが隣接するサンプリングポイント間の
最も遠い距離にある中間階調ドットのエッジの位置を変
化させ、次第に粗くなるスクリーン線数に対して発生す
るこのような距離と比較してこのような点を“捕獲”す
る必要がある。本発明者は、256×256のマトリク
スが良好な結果を生成することを見い出した。
【0123】次いで、ステップ3520に示したよう
に、本マトリクスは、ガウス分散(すなわち通常に分散
した)データによって満たされる。ガウス関数は、多く
の確率変数の合計は、ガウス確率分布を有する新たな確
率変数を生成するという、統計学の中心極限定理を用
い、容易に生成することができる。この点に関しては、
計算器に使用されるものを含むほとんどのディジタルコ
ンピュータが、乱数発生器を有している。本発明者は、
6個の乱数の合計が、ほぼガウス型に分散した乱数を生
成するのには十分であることを見い出している。したが
って、本発明者は、この方法により、256×256の
マトリクスの値を生成した。その結果、生成するマトリ
クスは、ゼロ平均と単位標準偏差を有する非相関性のノ
イズ値を含んでいる。
【0124】このマトリクスは、生成されると、ステッ
プ3525に示されたように、たとえば、離散フーリエ
変換(ディスクリートフーリエ変換、DFT)または離
散コサイン変換(ディスクリートコサイン変換、DC
T)のいずれかを用いて周波数領域(ドメイン)に変換
され、変換データによって構成される周波数応答特性を
供給する。次いでこの変換データは、ステップ3530
に示されたように、前述のようにフィルタ関数を使用し
てその応答を整形することにより、適切な形状に整形さ
れ、所望の“ブルーノイズ”を反映する。次いで、ステ
ップ3535に示されたように、整形された周波数デー
タは、ガウス領域(ドメイン)に逆変換される。この時
点で、生成するガウスデータは、所望の周波数特性を有
する、すなわち、“ブルーノイズ”方式の非整数のマト
リクスであが、一様に分散している整数ではない。した
がって、ステップ3540が実行され、この“周波数
型”マトリクスのガウスデータを、0〜15以内の値の
一様に分散した整数値のマトリクスへとマッピングす
る。このマッピングは、図45に示したように、すべて
がガウス曲線として表されるそれぞれの周波数型ガウス
分散値曲線をガウス誤差関数(累積確率曲線)3620
によってマッピングすることによって実施される。した
がって、このガウス誤差関数は、適切にスケーリングさ
れると、曲線3610上の値を、フォント選択番号とし
て使用される0〜15の間で一様に分散された関数にマ
ッピングする。適切な整数決定ポイント、たとえばポイ
ント3613及び3616が選択され、同等の確率の整
数値を生成する。その結果、各“周波数型”マトリクス
値は、ブルーノイズ相関性のディスクリート均一分散値
にマッピングされる。それぞれの変形中間階調フォント
が同等の確率で選択され、他のすべての同様の変形フォ
ントと同じ回数だけ出現させるために、このような一様
に分散された値が必要となる。次いで、生成する整数
は、画像処理システム5(図10)通常ROM715、
またはその他の不揮発性メモリ(図示せず)に記憶され
る。
【0125】前述の処理によって生成されたブルーノイ
ズ相関性の通常に分散する整数値(フォント選択デー
タ)の実例の16×16マトリクスを表1に示す。
【0126】
【表1】 すべての整数フォント選択値が記憶されると、適切な変
形ビットマップ中間階調ドットフォントパタンが作成さ
れ、記憶される。それぞれの異なる非変形中間階調ドッ
トに対し、このようなパタンが15個作成される。非変
形50%中間階調ドット3720に対する2つの実例の
変形中間階調ドットパタン、すなわちパタン3740及
び3750が、図46に示されている。スクリーニング
された画像内の不測のドットの移動、または不測の中間
階調濃度変化を防止するため、各ドットのエッジは、各
ドットの中央(O)の周囲で、ドット面積を保持して対
称的に変形される。この変形では、フォントエッジの位
置を、1つのフォントから次へと対称的に変化させ、そ
の間、それぞれの異なる連続階調値に対し、すべての変
形ドットフォントで、ドット面積を保持(本質的に一定
に維持する)この種の変化では、好適に、ノイズをドッ
トフォントエッジ位置に導入するため、本来ならば目立
ち易い低周波画像不良を分解し、均一な階調の画像領域
で一定の中間階調濃度値を維持する。その結果、中間階
調ドットは、スクリーニング中に、知覚できるような、
好ましくない移動または中間階調濃度変化を示さない。
中間階調ドット3740及び3750は、例として、破
線で示した対応する非変形ドット3726及び3728
と比較して、それぞれのドット中心部から、相対する対
のドットエッジが内側に湾曲し、もう1対が外側に湾曲
した、対称エッジ変形を含んでいる。変形中間階調ドッ
トフォントを形成するのに使用される変形の程度は重要
ではなく、これは経験的に定められる。すべての変形パ
タンに対するビットマップが作成されると、これらのビ
ットマップも、画像処理システム5(図10参照)内の
ROM715またはその他の不揮発性メモリ(図示せ
ず)内に適切に記憶される。
【0127】次いで、システムの製造中に、ステップ3
550に示されたように、それぞれの所望の公称スクリ
ーン線数(たとえば133、150、175ライン/イ
ンチのスクリーン −− それぞれ、約52.4、5
9、68.9ライン/cm)に対する“ブルーノイズ”
フォント選択データを使用して、複数のテストカラー中
間階調画像が作成される。各カラー中間階調画像は、た
とえば、シアンの分解と黒の分解の間で30゜角度オフ
セット、マゼンタの分解と黄色の分解との間で15゜の
角度オフセットといった、適切な分解間の回転のC,
Y,M,K分解の集合から作成される。しかしながら、
それぞれの集合は、他のこのような集合に対して、わず
かに回転されるだけである。たとえば、連続する集合
が、たとえば14.7゜、15゜、14.9゜、14.
85゜など(あるいは、他のわずかに異なる数)の対応
する角度でシアンの分解を含み、それぞれのこのような
集合内のすべての分解間では、適切な回転オフセットを
維持する。さらに、これらのテスト画像は、各分解に対
する実際のスクリーン線数が所望の公称値とはわずかに
異なる変動を含んで作成されることもある。たとえば、
公称150ライン/インチ(約59ライン/cm)のス
クリーン線数に対しては、テスト中間階調画像は、各分
解に対し、たとえば、149.83、150.14、1
49.95、151.32など(あるいは、他のわずか
な変数)で作成される。さらに、任意の1つのテスト画
像に対し、分解自体が、わずかに異なる線数でスクリー
ニングされる。分解のそれぞれのこのような集合に対す
るスクリーン角度の各変動の量と、このような集合にお
けるスクリーン線数の分解間の差異は、単に経験に基づ
いて決定される。
【0128】これらのすべての画像が作成されると、こ
れらは、150ライン/インチといったそれぞれの所望
の公称線数に対し、4つの分解すべてに対する、4つの
実際のスクリーン角度(たとえば、C,K,M,Yに対
して14.7゜、44.7゜、74.7゜、89.7
゜)と、対応する実際のスクリーン線数(たとえば、C
に対して151.7、Kに対して151.3、Mに対し
て151.2、Yに対して150.9)の集合のいずれ
が、中間階調濃度範囲全体に渡って最小のスクリーナ誘
発性不良を含む中間階調画像を生成するかを識別するた
めに検査される。それぞれの所望の公称スクリーン線数
に対して生成する実際のスクリーン角度とスクリーン線
数は、次いで、画像処理システム5(図10参照)内の
ROM715または他の不揮発性メモリ(図示せず)に
記憶される。これらの値が決定されて記憶されると、フ
ォント選択データ処理3500は完了する。
【0129】次いで、TTH回路800の初期化ステッ
プ905(図13及び14参照)の間、記憶されたフォ
ント選択値と、すべてのフォントスタックのすべての中
間階調ドットパタンは、それぞれ、一括して、RAM7
17にダウンロードされ、スクリーニング中に、ノイズ
(フォント選択)及び中間階調参照データとして後で使
用される。
【0130】次いで、操作上、画像のスクリーニングに
先立ち、使用者は、所望の公称スクリーン線数を入力す
る。ステップ3560に示されたように、C,Y,M,
Kの分解に対する実際のスクリーン線数とスクリーン角
度の適切な集合がアクセスされ、次いで、たとえば使用
者に表示され、場合によっては適切なレジスタにロード
され、前述のように、次の入力画像の対応するそれぞれ
の分解に対して、内部的にスクリーニング処理を構成す
る。
【0131】明らかに、2チップアーキテクチャを容易
に拡張し、多重タイル画素プロセッサ(TPPs)74
0を通常の制御マイクロコンピュータと併用することに
よって実現されるパラレル処理を使用することにより、
処理スループットを上昇させることが可能であること
を、当業者は容易に理解できるであろう。実施において
TPPsの数を増加させることにより、パラレル処理の
度合が増し、回転処理され、スケーリングされ、さらに
中間階調処理された画像のスループットを本質的に上昇
させる。
【0132】詳細には、図12に示されたように、1つ
のみのTPPをマイクロコンピュータ713に接続する
代わりに、複数のTPPsを、たといばバスを介してマ
イクロコンピュータに接続することができ、マイクロコ
ンピュータによって制御することができる。画像パラメ
ータはすべてのTPPsに対して同一であるが、各TP
Pは、マイクロコンピュータによって適切に命令され、
別の開始点を有する、画像の水平ストリップのような特
定の非重複部分を処理する。各TPPが初期化される
と、マイクロコンピュータは、TPPに対し、独立して
その画像部分を処理するよう命令する。1つのTPPが
その処理を行っている間、マイクロコンピュータは、次
に続くTPPを初期化し、次いで処理を開始するよう命
令し、以後、他のTPPsに対しても同様に命令するこ
とが可能である。こうして、すべてのTPPsは、わず
かに時間がずれるものの、本質的にパラレル方式で、対
応する画像部分を処理することができる。各TPPは、
当該TPPによって使用される特定の画像ストリップ
(または他の画像部分)と共に、マイクロコンピュータ
によってロードされる、それぞれ専用のタイリングRA
Mを有している。さらに、各TPPは、その出力を、F
IFOのような別々のバッファに書き込むように構成す
ることができ、その内容は、次いで適切な時間に、通常
の出力バッファにブロック転送される。各TPPがそれ
ぞれの画像部分を処理している間、マイクロコンピュー
タは、当該TPPによって現在供給されている出力デー
タが書き込まれる、出力画像の対応部分の位置を計算す
る。当該TPPがその処理を完了すると、マイクロコン
ピュータは、当該出力データの画像部分へのブロック転
送を開始する。さらに、TPPsは、ストリップだけで
なく、別々のタイルを処理するようにも構成することが
できる。また、TPPsは、通常のタイリングRAMに
よっても動作し、この場合、TPPsは、連続する連続
階調値を処理し、データを出力画像の対応する出力位置
に時間をずらして書き込み、インタリーブ方式で出力す
る。たとえば、4つのTPPsが使用されている場合、
各TPPは4つおきの出力位置を書き込む。すなわち、
第1のTPPは第1、第5、第9、...の出力位置を
書き込み、第2のTPPは第2、第6、第10、...
の出力位置を書き込み、以後、出力画像全体に渡り、他
のTPPsに対しても同様に動作する。出力データは第
1のTPPによって書き込まれ、続いて、連続的に第
2、第3、第4のTPPsによって、反復するラウンド
ロビン方式で書き込まれる。したがって、通常の制御マ
イクロコンピュータによってTPPsを複製することに
より、単一のTPPだけを使用するよりも、処理スルー
プットを本質的に上昇させることができる。
【0133】さらに、中間階調参照データについては、
多重平面の単一ビット中間階調データの多重スタックに
ついて説明してきたが、各スタックは、単一ビット中間
階調ドット値ではなく、8ビットスレッショルド値の単
一マトリクスに代えることも可能である。この場合、中
間階調参照アドレス論理2365(図30、31、32
参照)は、当業者には明らかな方式で修正され、それぞ
れのサンプリングされた連続階調値を、スレッショルド
マトリクスで、対応するサンプリングされたスレッショ
ルド値に対して比較する比較器を含む。この比較、すな
わち、連続階調値が、対応するスレッショルド値またゼ
ロビットと同等かそれを上回る場合生成する単一ビット
は、単一ビット中間階調出力データを構成する。ノイズ
データが前述と同様に使用され、擬似乱数的に、16の
中の1つのような特定のスレッショルドマトリクスを選
択し、一度に使用する。現在のpixel_x及びpi
xel_yパラメータ値が、読み込まれるスレッショル
ドマトリクスの位置を定義する。
【0134】さらに、本“ブルーノイズ”方式の技法に
つき、TTH回路で実施されるスクリーニング処理につ
いて説明してきたが、本技法は、ディジタルスクリーナ
及びディジタル出力ライタを利用するほとんどすべての
画像処理システムとの使用に容易に適用可能であり、ス
クリーナ誘発性画像不良を完全に除去できないまでも、
これを本質的に抑制する。また、通常の非変形中間階調
ドットフォントの変形エッジバージョンを使用するもの
として本技法を説明してきたが、本技法は通常に使用で
きることが予想され、事実、ドット中心の位置がすべて
のフォントで保持されていれば、全く異なった形状(た
とえば、任意の所定の中間階調ドットサイズに対して、
ある1つのフォントに付随する中間階調ドットが四角形
であったり、別のフォントでは円形であったり、第三の
フォントではダイアモンド型であったり等)であるよう
な、それ自体非常に異なる中間階調ドットフォントを利
用することができる。
【0135】さらに、連続階調サンプリング周波数が粗
過ぎる場合には、スクリーナは連続階調補間を使用でき
る。この場合、たとえば、ブロック2135(図28及
び29参照)内で、パラメータpixel_u及びpi
xel_vは、連続する連続階調値を選択し、これらの
パラメータは、これらのパラメータの分数値に基づいて
一括して補間され、中間連続階調値を生成し、この値が
出力データとして送られるか、あるいは、中間階調が使
用される場合には、中間階調処理に入力として印加さ
れ、中間階調出力データを生成する。
【0136】さらに、本発明は2値(2進)出力を生成
するライティングエンジンと共に使用するものとして説
明してきたが、多重ビット出力を生成するライティング
エンジンも使用することができる。この例では、わずか
に異なるドットフォントを供給する多重スクリーナが、
同一の入力連続階調値を使用してパラレルで駆動され
る。1つのドットフォントが通常よりわずかに大きい中
間階調ドットを生成し、他のドットフォントが通常より
わずかに小さい中間階調ドットを生成する。それぞれの
スクリーナは、その他から独立して動作する。双方のス
クリーナが同一の信号を生成した場合、ライティングエ
ンジンは、通常の方式で、ライティングスポットを生成
するか、全く生成しない。しかしながら、スクリーナが
異なる出力信号を生成すると、ライティングエンジン
は、中間濃度、すなわち、完全に黒か白の間のあらかじ
め定められたレベルを有するライティングスポットを生
成する。したがって、生成する3状態ライティングエン
ジンは、なめらかなエッジの、すなわち、いわゆる“ジ
ャギー”(ぎざぎざ)が抑制された中間階調ドットを書
き出す。これらのドットは、なめらかでないドットにお
いて高周波内容が大幅に低減されているため、本来なら
ば、理想的な中間階調ドットパタンの空間分散とライテ
ィングエンジンによって使用されるライティングパタン
との間で生成するうなりに起因する、いわゆる自動モア
レパタンが本質的に抑制される。多くのレベルを有する
ライティングエンジンも使用することが可能で、よりな
めらかなドットと自動モアレパタンの抑制も可能とな
る。残念ながら、多重2値スクリーナを有する多値ライ
ティングエンジンは、特にシステムの複雑さとコストを
助長する。したがって、この方法を実現するには、許容
できる自動モアレの量と引き換えに、製造される画像処
理システムにおいて許容できるコストと複雑さにおい
て、設計上の妥協が必要となる。
【0137】本発明の様々な実施例を示し、詳細に説明
してきたが、当業者により、本発明の内容を含んだ他の
多くの実施例が容易に構成できる。
【0138】
【発明の効果】本発明は、ディジタル画像中間階調スク
リーナにおいて有用であり、たとえばモアレパタンのよ
うなスクリーナ誘発性画像不良を本質的に抑制(マス
ク)し、生成する画像に出現する、基礎となる中間階調
ドットの構造には悪影響を及ぼさない。したがって、本
発明を使用して、ディジタル方式で中間階調処理され、
ディジタル出力ライタ上に生成される画像から、このよ
うな不良の1つの原因を本質的に除去することにより、
生成する画像の品質は好適に向上し、文書中の画像の使
用が促進され、拡大されることになろう。
【図面の簡単な説明】
【図1】画像スケーリング、回転、中間階調機能を実行
し、本発明の技法を使用するページ記述言語(PDL)
を実施する画像処理システム5の非常に高次の略ブロッ
ク図である。
【図2】図1に示された画像システム5において、画像
スケーリング、回転、中間階調を実施するプロセスを集
合的に形成する、種々のタイル方式の操作を示す図であ
る。
【図3】図1に示された画像システム5において、画像
スケーリング、回転、中間階調を実施するプロセスを集
合的に形成する、種々のタイル方式の操作を示す図であ
る。
【図4】図1に示された画像システム5において、画像
スケーリング、回転、中間階調を実施するプロセスを集
合的に形成する、種々のタイル方式の操作を示す図であ
る。
【図5】図1に示された画像システム5において、画像
スケーリング、回転、中間階調を実施するプロセスを集
合的に形成する、種々のタイル方式の操作を示す図であ
る。
【図6】様々な実例の、空間的に対応する連続階調ボッ
クスと出力ブロックに対する連続階調サンプリングと出
力データライティングを示す図である。
【図7】単一の連続階調ボックスの詳細図である。
【図8】図7に示された連続階調ボックスに対応する出
力ブロックの詳細図である。
【図9】出力ブロック内に配置された出力サンプリング
位置と、対応する中間階調参照セル内に配置された中間
階調サンプリング位置と、対応するタイル内にある連続
階調サンプリング位置の直線的な空間的対応を示した図
であり、中間階調サンプリング位置と連続階調サンプリ
ング位置は、出力サンプリング位置によって指定され
る。
【図10】画像処理システム700の高次ブロック図で
ある。
【図11】画像処理システム700の高次ブロック図で
ある。
【図12】図10および11に示された画像処理システ
ム700で使用される、画像回転、スケーリング、中間
階調処理を実施するための2つのチップの態様(マイク
ロコンピュータ713とTPPプロセッサ740)のブ
ロック図である。
【図13】図12に示されたTTH回路800に示され
たマイクロコンピュータ713内で実行されるメインル
ープ900のフローチャートである。
【図14】図12に示されたTTH回路800に示され
たマイクロコンピュータ713内で実行されるメインル
ープ900のフローチャートである。
【図15】図13および14に示されたメインループ9
00で実行されるステップ925〜945で構成され
る、タイル処理ルーチン1000のフローチャートであ
る。
【図16】図15に示されたタイル処理ルーチン100
0内で実行されるブロックサイズおよびタイルサイズ設
定ステップ1010のフローチャートである。
【図17】図15に示されたタイル処理ルーチン100
0内で実行されるタイル数計算ステップ1020のフロ
ーチャートである。
【図18】図15に示されたタイル処理ルーチン100
0内で実行される画素座標変更設定ステップ1030の
フローチャートである。
【図19】図15に示されたタイル処理ルーチン100
0内で実行されるタイル座標変更設定ステップ1040
のフローチャートである。
【図20】ブロック内のタイルの回転によって発生す
る、出力ブロックのエッジと対応するタイルの角との間
に位置するオフセット位置のブロック図である。
【図21】図15に示されたタイル処理ルーチン100
0内で実行され、オフセットの値ΔpφおよびΔqφを
計算する、ブロック位置オフセット計算ステップ105
0のフローチャートである。
【図22】図15に示されたタイル処理ルーチン100
0内で実行され、オフセットの値ΔpφおよびΔqφを
計算する、ブロック位置オフセット計算ステップ105
0のフローチャートである。
【図23】図15に示されたタイル処理ルーチン100
0内で実行されるタイル処理ステップ1060の高次フ
ローチャートである。
【図24】図23に示されたタイル処理ステップ106
0の詳細なフローチャートである。
【図25】図23に示されたタイル処理ステップ106
0の詳細なフローチャートである。
【図26】図24および25に示されたタイル処理ステ
ップ1060の一部として実行されるタイル処理ルーチ
ン1770の高次フローチャートである。
【図27】図26に示されたタイル処理ルーチン177
0の詳細なフローチャートである。
【図28】図27に示されたタイル処理ステップ177
0の一部として実行される画素処理ルーチン1970の
高次フローチャートである。
【図29】図28に示された画素処理ルーチン1970
の詳細なフローチャートである。
【図30】図7および8に示されたタイル画素プロセッ
サ(TPP)740の実施例の高次ブロック図である。
【図31】図7および8に示されたタイル画素プロセッ
サ(TPP)740の実施例の高次ブロック図である。
【図32】図30および31に示されたTPP740内
に含まれるタイルプロセッサ2320内にある、反復回
路部分2410のブロック図である。
【図33】図32に示されたタイルプロセッサ反復回路
部分2410内に含まれるマルチプレクサ2430に対
する真理値図表2500である。
【図34】図32に示されたタイルプロセッサ反復回路
部分2410内で順次実行される動作を示す状態フロー
チャート2600である。
【図35】図30および31に示された画素プロセッサ
2350内に含まれる連続階調論理2354のブロック
図である。
【図36】図35に示した連続階調論理2354内に含
まれるマルチプレクサ2770に対する真理値表280
0である。
【図37】図30および31に示した画素プロセッサ2
350内に含まれるクリッピング論理2370のブロッ
ク図である。
【図38】図37に示したクリッピング論理2370内
に含まれるマルチプレクサ2940に対する真理値表3
000である。
【図39】図30および31に示された画素プロセッサ
2350内に含まれるノイズアドレス論理2358のブ
ロック図である。
【図40】図30および31に示された画素プロセッサ
2350内に含まれる中間階調参照アドレス論理236
5のブロック図である。
【図41】人間の視覚系の一般的な空間周波数応答特性
と、マスキングスクリーナ誘発性画像不良に対する所望
の“ブルーノイズ”空間フィルタの空間周波数応答特性
のグラフ図である。
【図42】“ブルーノイズ”空間フィルタの一般的な空
間周波数応答特性の三次元のグラフ図である。
【図43】図30、31、31に示されたノイズデータ
RAM717内に記憶されるノイズ(整数フォント選
択)データと、これに対応する、スクリーン線数と、ス
クリーン角度との適切な値を生成する高次処理3500
と、これらの値を考慮して、後にこれらの値が使用され
る方式を示すフローチャートである。
【図44】図30、31、31に示されたノイズデータ
RAM717内に記憶されるノイズ(整数フォント選
択)データと、これに対応する、スクリーン線数と、ス
クリーン角度との適切な値を生成する高次処理3500
と、これらの値を考慮して、後にこれらの値が使用され
る方式を示すフローチャートである。
【図45】“ブルーノイズ”空間フィルタの確率濃度関
数と、この確率濃度関数を、フォント選択用に0〜15
の一様な整数範囲にマッピングするのに用いられるガウ
ス誤差関数のグラフ図である。
【図46】通常のダイアモンド型の50%中間階調ドッ
トと、種々の変形ドットの実例を示す図である。
【符号の説明】
5 画像処理システム 7 リード 8 入力連続階調画像 10 プロセッサ 13 ページ記述言語(PDL)処理回路 17 出力バッファ 21 リード 25 ディジタルマーキング(ライティング)エンジン 30 印刷ページ 33 出力画像 215 画像部分 2151 、2152 、...、2159 連続階調タイ
ル 217 出力画像部分 2171 、2172 、...、2179 出力ブロック 219 重複領域 223、2231 、2232 、2233 、2236 連続階調サンプリングライン 2311 、2312 、2313 、2314 、2315 連続階調サンプリングポイント 242 中間階調参照スタック 24247、245 中間階調参照セル 248 中間階調部分スクリーン 257m 、257m+1 中間階調サンプリングライン 2611 、2612 、2613 、2614 中間階調サンプリングポイント 273 ANDゲート 274 リード 275 スイッチ 276 リード 277 出力リード 278 リード 301 連続階調画像平面 3101 、3102 、3103 、... 連続階調タイ
ル 3201 、3202 、3203 、... 連続階調ボッ
クス 331、332、333 ライン 340 中間階調スクリーナ 341、342、343、345 ライン 350 クリッピング論理 351、352、353 スイッチ 361、362、363 ライン 3711 、3712 、3713 、... 出力ブロック 3751 、3752 、3753 、... 出力タイル 377 周辺領域 610 出力画像平面 620 中間階調参照平面 630 連続階調画像平面 640 出力画像 651、654 出力ブロック 661、664 出力タイル 700 画像処理システム 705 入力バス 710 コマンド制御プロセッサ 711 レジスタ 713 マイクロコンピュータ 715 読み取り専用メモリ(ROM) 716 ローカルバス717 RAM(ノイズデータR
AM、中間階調参照データRAM) 719 相互接続バス 720 画像データデコンプレッサ 722 リード 730 画像処理パイプライン 731 RAM 733 三次元線形補間器 735 RAM 740 タイル画素プロセッサ(TPP) 742 タイリングRAM 747 バス 750 相互接続バス 760 出力バッファメモリ管理ユニット 761 バス 762 アドレス生成器 763 リード 766 出力バッファ 767 リード 768 バッファ 768A 、768B ページバッファ 769 メモリコントローラ 800 タイル変換中間階調(TTH)回路 803、805、807、809、811、813、8
15、817、819、 823 リード 831 アドレスリード 833 データリード 841、843 リード 853 出力リード 857 FIFOファイル 900 メインループ 905 パワーアップ初期化の実行 910 適切なパラメータの初期値を取得してTTH回
路を“セットアップ”する 915 新たな画像を処理? 916 YES(ジョブ制御データが画像処理命令を含
む) 917 NOパス 920 入力されるジョブ制御データの読み込み 925 適切なパラメータの初期値を計算し、現在の画
像を“セットアップ”する 930 適切なパラメータの初期値を計算し、“現在の
連続階調タイル”となる次の連続階調タイルを“セット
アップ”し、これらの値をTPP740にロードする 935 タイル画素プロセッサ740により、現在の連
続階調タイルを処理 940 (x,y)座標データを生成し、現在の連続階
調タイルに対する画像中の開始位置を決定 945 TPPによる現在の連続階調タイルの処理は完
了? 946 NO 947 YES 950 アドレス生成器762に(x,y)座標データ
を供給し、ハンドシェークによってこの確認に応答し、
TPP740に対して、現在処理され、FIFO857
に保持されている現在の連続階調タイルに対する出力デ
ータの出力バッファ766へのブロック転送を開始する
よう命令 955 現在の画像の処理終了? 958 NO(現在の画像の次の連続するタイルを処
理) 959 YES 1000 タイル処理ルーチン 1010 ブロックタイルサイズ設定ステップ:連続階
調タイル回転を考慮し、タイルサイズが32以下となる
ようにブロックサイズを設定し、タイルサイズを設定 1020 タイル数計算ステップ:処理されるタイルの
数を計算 1030 画素座標変更設定ステップ:画素に対するす
べての座標の変更を設定 1040 タイル座標変更設定ステップ:連続階調タイ
ルに対するすべての座標の変更を設定 1050 ブロック位置オフセット計算ステップ:タイ
ルの回転によって起るブロック位置オフセットを計算 1060 タイル処理ステップ:画像の最初の連続階調
タイルに対してタイル座標を初期化ループ:画像のすべ
ての連続階調タイルを処理し、完了の信号を送る。 1110 判断ブロック 1115 NOパス 1120 YESパス 1130 スケールファクタおよび連続階調回転角度φ
に基づいてブロックサイズを設定 1140 ブロックサイズを32に設定 1150 連続階調画像回転角度φのサインおよびコサ
インに基づいてタイルサイズを計算 1210 画像タイルの行の数MAX_ROWを計算 1220 各行のタイルの最大数MAX_COLを計算 1310 クリッピング変数kおよびlにおける増分画
素移動に対するパラメータ値を計算 1320 連続階調平面の画素サンプリング増分に対す
るパラメータを計算 1330 中間階調参照平面の画素サンプリング増分に
対するパラメータ値を計算 1410 出力バッファの連続するタイル間の移動に対
するパラメータ値を計算 1420 連続階調画像平面の連続するタイル間の移動
に対するパラメータ値を計算 1430 中間階調参照セルの連続するタイル間の移動
に対するパラメータ値を計算 1515 エッジ 1520、1525 タイルの角 1530 エッジ 1535 タイルの角 1540 エッジ 1545 サンプリング座標(0,0)のULC 1550 エッジ 1550 ブロックの左エッジ 1610 Δpφ計算ステップ 1615 Δpφの初期値をゼロに設定 1618 tempc<Δpφ? 1619 YESパス 1620 NOパス 1625 Δpφの現在の値を値tempcに等しく設
定 1628 (tempc−temps)<Δpφ? 1629 YESパス 1635 Δpφの現在の値を値tempc−temp
sに等しく設定 1638 −temps<Δpφ? 1639 YESパス 1640 NOパス 1645 Δpφの現在の値を値−tempsに等しく
設定 1650 Δqφ計算ステップ 1655 Δqφの初期値をゼロに設定 1658 tempc<Δqφ? 1659 YESパス 1660 NOパス 1665 Δqφの現在の値を値tempcに等しく設
定 1668 (tempc+temps)<Δqφ? 1669 YESパス 1675 Δqφの現在の値を値tempc+temp
sに等しく設定 1678 temps<Δqφ? 1679 YESパス 1680 NOパス 1685 Δqφの現在の値を値tempsに等しく設
定 1710 第1のタイルに対する種々のタイル方式パラ
メータを初期化 1720 外側ループ 1730 内側ループ 1740 出力(ページ)バッファの現在の出力ブロッ
クの位置(block_p,block_q)を計算 1750 連続階調タイル特有の種々の増分の値、Δp
_block、Δq_block、Δk_block、
Δl_block、Δu_block、Δv_bloc
k、Δx_block、Δy_blockを計算 1760 タイル特有の種々のパラメータの値、blo
ck_k、block_l、block_u、bloc
k_v、block_x、block_yを初期化 1770 タイル処理ルーチン:現在の連続階調タイル
を完全に処理 1780 列カウンタを増分:種々の高速走査パラメー
タを増分 1790 行カウンタを増分:種々の低速走査パラメー
タを増分 1820 連続階調画像処理終了の信号を生成 1910 生成中の現在の出力ブロックにおける最初の
画素に対する種々の画素パラメータの値を初期化 1920 タイルモードの判断 1930 タイルに対するpカウンタを初期化 1940 ラスタに対するpカウンタを初期化 1950 外側ループ:画素の行全体を同時に処理 1960 内側ループ:各行のそれぞれの画素を処理 1970 画素処理ルーチン:画素を処理し、ブロック
に結果を記憶 1980 種々のパラメータの値を高速走査方向に増分 1990 種々のパラメータを低速走査方向に増分 2110 ノイズ参照データおよび中間階調参照データ
に対するマスクの設定 2115 現在の画素アドレスpixel_k、pix
el_l、pixel_u、pixel_vの整数部分
を抽出 2120 クリッピング変数VALIDの現在の値を決
定し、生成中の現在の画素が、処理中の現在の連続階調
タイル内に含まれるか否かを指定 2125 現在のサンプリングされた画素が、当該画像
のエッジに重複するか否かを判断 2127 YESパス 2129 NOパス 2130 サンプリングされた連続階調値を、白色に対
応するあらかじめ定められた数に設定 2135 連続階調値をタイリングRAM742から取
得 2140 “連続階調モード”使用中? 2142 YESパス 2144 NOパス 2145 サンプリングされた連続階調値を出力データ
として供給 2150 判断ブロック 2152 NOパス 2154 YESパス 2155 出力データビットをゼロに設定 2160 出力データビットを中間階調処理ルーチンで
決定された値に設定 2170 出力データビットの現在の値をFIFO85
7に書き込む 2310 タイルレジスタ 2312、2314、2316 リード 2320 タイルプロセッサ 2322 加算器 2323、2324 リード 2325 加算器 2326、2327 リード 2328、2330 マルチプレクサ 2333 画素レジスタ 2335 リード 2340 制御論理 2342、2344、2345、2347 リード 2350 画素プロセッサ 2354 連続階調論理 2355、2357 リード 2358 ノイズアドレス論理 2361 アドレスリード 2362 リード 2365 中間階調参照(フォント)アドレス論理 2366 リード(サンプリング連続階調データ出力リ
ード) 2367 リード(アドレスリード) 2369 リード 2370 クリッピング論理 2380 制御論理 2382 “タイリング完了”リード 2384 “次実行”リード 2385 リード 2386 “タイリング完了”リード 2404 レジスタ 2405 リード 2406 レジスタ 2407 リード 2408 レジスタ 2409 リード 2410 反復回路部分 2412 加算器 2415 リード 2416 加算器 2417 リード 2421 リード 2430 マルチプレクサ 2435 リード 2450 画素レジスタ 2455 リード 2500 真理値表 2600 状態フローチャート 2610 STATE1:待ち状態 2615 開始? 2620 NOパス 2625 YESパス 2630 STATE2:初期値および増分値をロード 2635 STATE3:高速加算 2640 高速完了? 2645 NOパス 2650 YESパス 2660 低速完了? 2665 NOパス 2670 YESパス 2675 STATE5:完了 2710 pixel_uレジスタ 2712、2714 リード 2720 pixel_vレジスタ 2730 アドレス生成器 2740 比較器 2745 出力リード 2750 比較器 2755 出力リード 2760 ANDゲート2760 2765、2768 リード 2770 マルチプレクサ 2780 サンプリング連続階調データ 2800 真理値表 2910 pixel_kレジスタ 2920 pixel_lレジスタ 2930 ANDゲート 2935 リード 2940 マルチプレクサ 2950 スクリーニング出力データ 3000 真理値表 3110 pixel_xレジスタ 3112 リード 3115 noise_bit_mask 3117 リード 3120 pixel_yレジスタ 3122 リード 3130 FONT ID 3140 ANDゲート 3142 リード 3145 ANDゲート 3146 リード 3225、3230 ANDゲート 3215 font_bit_mask 3220 リード 3218 リード 3228 リード 3233 リード 3310 マスキングスクリーナ誘発性画像不良に対す
る所望の“ブルーノイズ”空間フィルタの空間周波数応
答特性 3320 人間の視覚系の一般的な空間周波数応答特性 3410 中央の円形の低下 3415 ゼロ空間周波数 3420 表面 3500 フォント選択データ処理 3510 最小のスクリーナ誘発性不良を有する中間階
調画像を生成 3515 ノイズ(フォント選択)マトリクスのサイズ
(たとえば256×256)を設定 3520 ガウス分散(通常分散)の数により、マトリ
クスを満たす 3525 ガウス分散のマトリクスを、たとえば、ディ
スクリートフーリエ変換またはディスクリートコサイン
変換を用いて周波数領域(ドメイン)に変換し、変換デ
ータを生成 3530 ブルーノイズフィルタ関数により、変換され
たデータの周波数スペクトルを変更(フィルタリング)
し、所望のブルーノイズをこのデータに与え、整形され
た周波数データを生成 3535 整形された周波数データを、ガウス空間に逆
変換し、非整数ブルーノイズマトリクスデータを生成 3540 非整数ブルーノイズデータをスケーリング
し、非直線的にマッピングし、フォント選択データとし
て使用するための、0〜15の間に一様に分散した整数
のマトリクスを生成 3545 各非変形中間階調ドットパタンに対し、対称
的な境界変形を有する、15の異なる中間階調ドットフ
ォントパタンを生成し、適切なフォントスタックに記憶
する 3550 それぞれの所望の公称スクリーンルーリング
に対し、わずかに異なるスクリーン線数およびスクリー
ン角度で出力画像を生成し、すべての4つの分解(C,
Y,M,K)について、全濃度範囲およびすべてのフォ
ントに対してスクリーナ誘発性不良を最小限にする実際
のスクリーン角度およびスクリーン線数の組合せを見い
出す。 3560 使用者が選択した公称スクリーン線数に基づ
き、実際のスクリーン角度およびスクリーン線数の対応
する(C,Y,M,K分解に対する)組合せを読み込
み、それに従って、画像をスクリーニングし、これらの
分解をスクリーニングする 3610 曲線 3613、3616 整数決定ポイント 3620 ガウス誤差関数(累積確率曲線) 3720 非変形50%中間階調ドット 3726、3728 非変形ドット 3740、3750 変形中間階調ドットパタン

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数の連続階調濃度値で構成される入力
    画像から、視覚的に目立つ画像不良の量が低減された出
    力中間階調画像を生成する方法において、 前記出力中間階調画像を生成する方法が、 中間階調セルにおける現在の画素サンプリング位置を表
    す画素サンプリングアドレスを生成するステップと、 あらかじめ定められたノイズマトリクスへの探索操作に
    よって、前記画素サンプリングアドレスを選択値に変換
    するステップと、 前記選択値によって識別される中間階調パタンの内の特
    定の1つに反応して、前記入力画像の入力連続階調濃度
    に対して前記出力画像に中間階調出力値を生成するステ
    ップと、 前記中間階調出力値を、前記出力中間階調画像を記憶す
    るバッファの空間的に対応する画素位置に書き込むステ
    ップと、 を含み、 前記画素サンプリングアドレスを選択値に変換するステ
    ップにおいて、前記ノイズマトリクスがあらかじめ定め
    られたブルーノイズ相関性の一様に分散した整数値を含
    み、前記整数値のそれぞれが複数のあらかじめ定められ
    た前記中間階調パタンの内の異なる1つを識別し、前記
    パタンのそれぞれが異なる形状を有し、前記整数値が、
    人間の視覚感度に対応する空間周波数の範囲内にある空
    間周波数を本質的に抑制する高周波通過特性のあらかじ
    め定められた周波数応答特性を有するブルーノイズを示
    すことを特徴とする出力中間階調画像を生成する方法。
JP5241710A 1992-09-28 1993-09-28 中間階調タイル方式のスクリーナで使用するためのスクリーナ誘発性画像不良をマスクするためのブルーノイズ方式の方法 Pending JPH06233120A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/932,205 US5463720A (en) 1992-09-28 1992-09-28 Blue noise based technique for use in a halftone tile oriented screener for masking screener induced image artifacts
US932,205 1992-09-28

Publications (1)

Publication Number Publication Date
JPH06233120A true JPH06233120A (ja) 1994-08-19

Family

ID=25461946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5241710A Pending JPH06233120A (ja) 1992-09-28 1993-09-28 中間階調タイル方式のスクリーナで使用するためのスクリーナ誘発性画像不良をマスクするためのブルーノイズ方式の方法

Country Status (3)

Country Link
US (1) US5463720A (ja)
EP (1) EP0590600A3 (ja)
JP (1) JPH06233120A (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341228A (en) 1990-12-04 1994-08-23 Research Corporation Technologies Method and apparatus for halftone rendering of a gray scale image using a blue noise mask
US5535020A (en) * 1992-10-15 1996-07-09 Digital Equipment Corporation Void and cluster apparatus and method for generating dither templates
JP3554034B2 (ja) * 1994-09-02 2004-08-11 キヤノン株式会社 カラー印刷装置及びその方法
DE19514293A1 (de) * 1995-04-24 1996-10-31 Hell Ag Linotype Verfahren zur Montage von Ganzseitenbögen
SE9602696L (sv) * 1996-07-01 1998-01-02 Forskarpatent I Linkoeping Ab Snabbt rastreringsförfarande
US6097502A (en) * 1996-12-18 2000-08-01 Seiko Epson Corporation Multilevel screening for color laser printer
US6211919B1 (en) * 1997-03-28 2001-04-03 Tektronix, Inc. Transparent embedment of data in a video signal
US6208431B1 (en) 1998-03-31 2001-03-27 International Business Machines Corporation Method of eliminating artifacts in display devices
US6124946A (en) * 1998-04-30 2000-09-26 Hewlett-Packard Company Multi-pass pseudo random masking system and method of using same
KR100301009B1 (ko) * 1998-06-23 2001-09-06 윤종용 화상 데이터 처리장치
JP4155634B2 (ja) * 1998-09-21 2008-09-24 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置及び画像形成システム並びにコンピュータ読み取り可能な記録媒体
US6433891B1 (en) * 1998-12-14 2002-08-13 Oak Technology, Inc. Stochastic screening method with dot pattern regularity control and dot growth
US6363177B1 (en) * 1998-12-30 2002-03-26 Xerox Corporation Systems and methods for rotating high addressability images
JP3663967B2 (ja) * 1999-04-05 2005-06-22 富士ゼロックス株式会社 画像処理方法及び画像処理装置
JP3846133B2 (ja) * 1999-11-17 2006-11-15 セイコーエプソン株式会社 画像処理装置および印刷装置
US6774916B2 (en) * 2000-02-24 2004-08-10 Texas Instruments Incorporated Contour mitigation using parallel blue noise dithering system
US6833932B1 (en) * 2000-03-31 2004-12-21 Sharp Laboratories Of America, Inc. Method for elimination of spatial artifacts in digital imaging
US7253921B2 (en) * 2000-10-11 2007-08-07 True Color Technology Gmbh Process and target for calibration of digital input devices
US20040234733A1 (en) * 2001-02-28 2004-11-25 Roland Bachmann Painting sheet and a method for producing the same
US20040205662A1 (en) * 2002-05-30 2004-10-14 Brad Anderson Image preservation and reconstruction
KR100538227B1 (ko) * 2003-07-26 2005-12-21 삼성전자주식회사 완전시차를 이용한 3차원 영상표시장치에서의 모아레 패턴제거 방법
US8332449B2 (en) * 2003-09-23 2012-12-11 The Directv Group, Inc. Sample generation method and system for digital simulation processes
US7467170B1 (en) * 2003-09-23 2008-12-16 The Directv Group, Inc. Sample generation method and system for digital simulation processes
US7454088B2 (en) * 2003-11-20 2008-11-18 Microsoft Corporation Estimating orientation angle and translation values of a scanned image
US7773270B2 (en) * 2004-01-07 2010-08-10 Hewlett-Packard Development Company, L.P. Image scanner feature detection
US8237989B2 (en) * 2004-07-09 2012-08-07 Kabushiki Kaisha Toshiba Method to improve a halftone by combining halftoning with algorithmic processing
KR100725538B1 (ko) * 2005-06-27 2007-06-08 삼성전자주식회사 모아레 패턴이 발생하지 않는 스크린간의 주파수 비율 및각도 차이 설정방법
US20070139412A1 (en) * 2005-12-19 2007-06-21 Microsoft Corporation Automatic font control value determination
US20100128046A1 (en) * 2008-11-26 2010-05-27 Microsoft Corporation Parallel poisson disk sampling
GB2506037B (en) * 2011-06-22 2017-06-21 Hewlett Packard Development Co Lp Processing image data strips in columnar regions
US9135532B2 (en) 2011-10-07 2015-09-15 Hewlett-Packard Development Company, L.P. Processing image data strips
AU2012244383A1 (en) * 2012-11-05 2014-05-22 Canon Kabushiki Kaisha Real-time line feed measurement of inkjet printer
US10535114B2 (en) * 2015-08-18 2020-01-14 Nvidia Corporation Controlling multi-pass rendering sequences in a cache tiling architecture
CN108602355B (zh) * 2016-02-05 2020-06-09 株式会社理光 图像记录装置和图像记录方法
CN106780746B (zh) * 2016-11-28 2020-03-27 中国科学院自动化研究所 基于简单互斥操作的蓝噪声采样方法

Family Cites Families (48)

* 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
DE3175423D1 (en) * 1980-10-31 1986-11-06 Toshiba Kk Picture size conversion circuit
JPS5776649A (en) * 1980-10-31 1982-05-13 Toshiba Corp Picture information display device
US4449150A (en) * 1981-01-19 1984-05-15 Ricoh Company, Ltd. Method of processing medium tone picture
WO1982003712A1 (en) * 1981-04-10 1982-10-28 Gabriel Steven Allen 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
US4686580A (en) * 1983-02-10 1987-08-11 Canon Kabushiki Kaisha Method and apparatus for changing image size
US4752822A (en) * 1983-03-08 1988-06-21 Canon Kabushiki Kaisha Color halftone image processing apparatus producing various screen angles and having an adaptive color image data conversion look-up table and a small-capacity masking memory
DE3418624A1 (de) * 1983-05-19 1984-11-22 Matsushita Electric Industrial Co., Ltd., Kadoma, Osaka Verfahren und einrichtung zur bilddatenverarbeitung unter anwendung von additions- und subtraktionsvorgaengen
JPS6064386A (ja) * 1983-09-20 1985-04-12 株式会社東芝 画像表示装置
US4545069A (en) * 1983-10-31 1985-10-01 Xerox Corporation Rotation of digital images
ATE29815T1 (de) * 1983-11-14 1987-10-15 Hell Rudolf Dr Ing Gmbh Verfahren und einrichtung zur herstellung gerasterter druckformen.
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 画像メモリのアドレス分配方式
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
US4885786A (en) * 1984-10-24 1989-12-05 International Business Machines Corporation Method for enlarging an image stored in run representation form
DE3584718D1 (de) * 1984-12-07 1992-01-02 Dainippon Screen Mfg Bilddatenverarbeitungsverfahren und system dafuer.
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
US4790028A (en) * 1986-09-12 1988-12-06 Westinghouse Electric Corp. Method and apparatus for generating variably scaled displays
AU605298B2 (en) * 1987-05-29 1991-01-10 Digital Equipment Corporation System for producing dithered images on asymmetric grids
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
US4916545A (en) * 1988-11-16 1990-04-10 Eastman Kodak Company Electronic graphic arts screener that suppresses Moire patterns using pseudo-random font selection
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
US5053887A (en) * 1989-06-27 1991-10-01 Ibm Corporation Technique for producing a fine grained dithered halftone image having an increased number of gray levels
JPH0393354A (ja) * 1989-09-05 1991-04-18 Eastman Kodatsuku Japan Kk 擬似階調発生装置
US4985779A (en) * 1989-09-19 1991-01-15 Intergraph Corporation Improved method and apparatus for generating halftone images
US4959730A (en) * 1990-01-02 1990-09-25 Eastman Kodak Company False density contour suppression using randomly modified input signals for comparison to threshold values
US5111310A (en) * 1990-12-04 1992-05-05 Research Technologies Corporation, Inc. Method and apparatus for halftone rendering of a gray scale image using a blue noise mask
US5341228A (en) * 1990-12-04 1994-08-23 Research Corporation Technologies Method and apparatus for halftone rendering of a gray scale image using a blue noise mask
US5313309A (en) * 1992-06-05 1994-05-17 Eastman Kodak Company Method and apparatus for printing halftones with a gray level printer with contour suppression and/or minimization of moire patterns

Also Published As

Publication number Publication date
EP0590600A2 (en) 1994-04-06
US5463720A (en) 1995-10-31
EP0590600A3 (en) 1994-05-18

Similar Documents

Publication Publication Date Title
JPH06233120A (ja) 中間階調タイル方式のスクリーナで使用するためのスクリーナ誘発性画像不良をマスクするためのブルーノイズ方式の方法
JP3224866B2 (ja) 画像の回転、拡大・縮小およびディジタルハーフトーン・スクリーニングをまとめて行うためのタイル方式の処理方法
US5917962A (en) Method and apparatus for partitioning an image
US5689343A (en) Area mapping employing reference clusters for high quality noninteger resolution conversion with enhancement
US20070081192A1 (en) Gray level halftone processing
JP2002112026A (ja) 調整可能しきい値設定によるエッジ向上処理プロセッサ及びその方法
US6331902B1 (en) System and method for digital color image processing
JPH06311366A (ja) 画像処理システム
EP0527097A2 (en) Apparatus and method for collectively performing tile-based image rotation, scaling and digital halftone screening
JP3306855B2 (ja) 中間調画像において、ウォームを減少させるためのディザアレイを生成する改良方法、および装置
Chandu et al. Direct multi-bit search (DMS) screen algorithm
US6141121A (en) Method and apparatus for color halftoning
US6498868B1 (en) Image scaling using pattern matching to select among scaling algorithms
JP4089862B2 (ja) 画像形成装置、画像形成方法および記録媒体
EP2884730A1 (en) Binary periodic to multibit aperiodic halftone and resolution conversion
US9036212B2 (en) Halftone screen generation mechanism
US5040080A (en) Electronic screening
JP6540056B2 (ja) 選択的な向上のあるデジタル画像ハーフトーン変換
US20030020935A1 (en) Image processing method and apparatus
US9578205B2 (en) Method and system for forming a halftone screen
JP3669081B2 (ja) 画像処理装置
Trager et al. A GPU based implementation of Direct Multi-bit Search (DMS) screen algorithm
JP4517288B2 (ja) 画像処理装置、画像処理方法及びそのプログラム
JPH05258051A (ja) タイルベースイメージ回転、スケーリングおよびデジタル中間調スクリーニングの一括実行装置
JP2977583B2 (ja) 網点の閾値発生方法