JP3880680B2 - ソース画像を宛先画像に変換するシステム - Google Patents
ソース画像を宛先画像に変換するシステム Download PDFInfo
- Publication number
- JP3880680B2 JP3880680B2 JP04310997A JP4310997A JP3880680B2 JP 3880680 B2 JP3880680 B2 JP 3880680B2 JP 04310997 A JP04310997 A JP 04310997A JP 4310997 A JP4310997 A JP 4310997A JP 3880680 B2 JP3880680 B2 JP 3880680B2
- Authority
- JP
- Japan
- Prior art keywords
- threshold
- register
- image
- source
- matrix
- 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.)
- Expired - Fee Related
Links
- 239000011159 matrix material Substances 0.000 claims description 109
- 238000000034 method Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 230000009467 reduction Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4055—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、第1の解像度の画像を第2の解像度の画像に変換する、特に、メモリ保護索引アレイの使用によって、受信された画像を宛先画像解像度にスケーリングするシステムに関連する。
【0002】
【従来の技術】
カラー及びグレー・レベルの画像は、画素(ピクセル)から成り、各ピクセルは、カラーかグレーのどちらかのレベルを定義する複数のビットによって表される。二階調(黒白)プリンタ上で、そのような画像を表すために、データは、まだグレー・レベルでないならば、グレー・レベルのマルチ・ビット構成(例えば8ビット/ピクセル)に変換され、個々のグレー・レベル・ピクセルは、スケーリングとディザリング(dithering)処理を使用して二進レベル・ピクセルに変換される。
【0003】
ピクセル画像毎のオリジナル・マルチ・ビット中のピクセルは、通常、二階調プリンタ解像度の解像度ではなく、プリンタ解像度に一致させるようにスケーリングをしなければならない。たとえば、多くの現代のプリンタが600ドット/インチ(dpi)解像度を表現できるが、コンピュータは、プリンタ解像度の1/6かそれ以下の解像度でデータを出力する。従って、二階調プリンタは、受信されたグレー・レベル・ピクセルがプリンタ解像度にスケーリングされるように要求される。それから結果として生ずるスケーリングされたグレー・レベル・ピクセルは、グレー・レベルを二階調データの最適なパターンに変換するように制御する閾値マトリックスと、比較される。この処理は、「ディザリング」と呼ばれる。
【0004】
グレー・レベルを表すために8ビットが使われているとき、256個のグレー・レベルを、表わすことができる。閾値マトリックスが、グレー・レベル・ピクセル値を二進ピクセル値に変換するように制御する複数の行配列されたグレー・レベル値を有する。本質的に、閾値マトリックスの各エントリは、画像グレー・レベル・ピクセル値が大きいならば、グレー・レベル画像ピクセルを黒ピクセルに変換する閾値グレー・レベル値である。コントラストによって、画像グレー・レベル・ピクセル値が、対応する閾値マトリックス・グレー・レベル値以下であるならば、それは「白」ピクセルに変換される。
【0005】
前述の処理は図1で示めされ、ソース・画像10が4×4マトリックスのグレー・レベル・ピクセル値から成っている。また、この例で、閾値マトリックス12は、4×4マトリックスのグレー・レベル閾値を含む。ソース画像10が2倍に拡大(スケーリング)されると仮定して、スケーリング処理は、スケーリングされた画像14の中で示された型式で、ソース画像10のオリジナル・グレー・レベル・ピクセル値の写しを作る。スケーリングすることがピクセル多重化手順によって達成され、スケーリングによって、ピクセルが空の空間を満たすために複写される。複線形スケーリングのような他の方法は、ソース・画像のオリジナル・グレー・レベル・ピクセル値の中で、グレー・レベル値を決めるために使用される。スケーリングによって空間が満されているとき、複線形スケーリングは、隣接したグレー・レベル・ピクセル値を考慮する。
【0006】
次に、スケーリングされた画像14の全部にかぶせるように、閾値マトリックス12が、「タイル」のように張られる。タイル張りにされた閾値マトリックス12は、図1の16のように示される。次に、比較モジュール20の比較処理によって、スケーリングされた画像14は、宛先二階調データ画像18に変換される。スケーリングされた画像14の各々のグレー・レベル・ピクセルが、タイル張り閾値マトリックス16の対応する位置にあるグレー・レベル値に対して比較され、スケーリングされた画像グレー・レベル・ピクセル値が、タイル張り閾値マトリックスより大きいか、又はそれ以下かに応じて、1又は0ビットを出力し、比較モジュール20は、宛先二階調データ画像18の対応するピクセル領域にそれを記憶する。
【0007】
図1の中で示される例において、上下左右対象に閾値マトリックス12が、タイル張りにされる。閾値マトリックスのどの部分から開始されるかは、閾値マトリックス「アンカ(anchor)」によって、ソース画像10とページの上で決められる。特に、アンカは、第2画像(即ち、閾値マトリックス)の指定されたポイントが置かれたある画像上のポイントを定義し、それによって、第1画像の既知の位置に第2画像をかぶせる。
【0008】
図2は、ソース・グレー・レベル画像22を示す。図3は、1.5倍に拡大されたグレー・レベル画像22の拡大バージョン24を示す。図4において、グレー・レベル画像26は、0.75倍に解像度が縮小されたことを示す。各場合において、従来技術は、水平入力索引アレイ(HIIA)と垂直入力索引アレイ(VIIA)の使用を通じて、そのようなスケーリングを達成した。これは、図5を参照することによって、より理解できる。図5において、ソース画像30が4×4マトリックスの16ピクセルを含む。ソース画像30が、2.5倍の解像度でスケーリングされた画像32に変換される。従って、スケーリングされた画像32は、10列のピクセルを含む。
【0009】
スケーリング作用を達成するために、プロセッサは、スケーリングされた画像32の各列のために、マルチ・ビット値を含むHIIA34を計算する。各々HIIA値は、ソース画像30へのオフセットを描写して、HIIA値に対応するピクセル位置でスケーリングされた画像32に挿入されるソース画像30からピクセルを識別する。各々HIIA値は、スケーリングされた画像32の対応する位置に正しいピクセルを挿入させるためのソース画像30に入るピクセルの数を示す。
【0010】
同じ概念は、垂直方向でも使用される。スケーリングされた画像の行が完了されたあと、VIIA索引ビットは、行がスケーリング係数に対応して複写されるかどうかを決定する。特に、VIIA36は、ソース画像30の第1行に索引を付けられる最初の2つの行を示す。スケーリングされた画像32の第2の2つの行は、ソース画像30の第2行から得られる。2.5のスケーリング係数は、一部のピクセルを3によって、他のピクセルを2によってスケーリングして得ることができる。
【0011】
図6は、典型的な複線形スケーリング・アルゴリズムを使用する画像のスケーリングに対するHIIA及びVIIAのアプリケーションを図示する。値をソース画像40からコピーしている間、ピクセルが満たされている場合、複線形スケーリング・アルゴリズムは、隣接したピクセルを見ている。図6で示された例で、第1行目において、第2列ピクセル値(15)は、ソース画像40の第1及び第2列ピクセルの平均結果である。HIIA42を検査することによって、ソース画像40の第1ピクセルがスケーリングされた画像44の第1ピクセルにコピーされていることが解る。ソース画像40の第2ピクセルは、スケーリングされた画像44の3番目のピクセルに移される。スケーリングされた画像44の第2ピクセルは、第1と3番目のピクセルの間に差し込まれた値である。図7において、縮小化例として、ソース画像46が、HIIA50及びVIIA52の使用を通じてスケーリングされた画像48に縮小化されることを示している。
【0012】
上記の従来技術のスケーリング手順の各々において、メモリの相当な量が、HIIAとVIIAを記憶するために必要とされる。例えば、600dpiプリンタの上の21.6cm(8.5インチ)幅シートのペーパでは、ライン毎に、およそ4,800ドットのエレメントが必要とされる。スケーリングされた画像の各列を正しくアドレスするために、全16ビットが、HIIAの各エレメントのために使用される。従って、HIIAデータに対応するために、9.6キロバイトが必要となる。また、垂直方向の行のスケーリングを容易にするために、VIIAが必要となる。600dpiプリンタ上の1枚の27.9cm(11インチ)の長さのシート・ペーパのために、垂直次元に、およそ6,000ドットが必要となる。また、16ビットが、各VIIA行エレメントをアドレスするために使用される(全部で12キロバイトを必要とする)。従って、全ページに対して、入力索引アレイを使用するために、合計21.6キロバイトのメモリが必要となる。
【0013】
スケーリングされるソース画像に対する閾値アレイ・マトリックスの調整とタイル張りに関して、従来技術の手順は、結果として生ずるタイル張りのような画像の中の各ピクセルの要求によって、コンピュータが使用する有効な時間を費やしている。それは、閾値マトリックスの各エレメントの索引を計算しなければならず、索引をつけられた特定のメモリ・エレメントを検索しなければならない。この結果、この手順は、コンピュータ処理の集中を招き、処理時間がかかるこことなる。従って、従来技術の画像変換手順では、ソフトウェア制御環境で画像を表現するのに時間がかかっている。そのような変換時間は、市場の要求を十分に満たすことができない。
【0014】
【発明が解決しようとする課題】
従って、本発明の目的は、グレー・レベル・ソース画像を二進中間調宛先画像に変換するための高速システムを提供することである。
【0015】
本発明の更なる目的は、グレー・レベル・ソース画像を二進中間調宛先画像に変換し、メモリ資源を保護するためのシステムを提供することである。
【0016】
本発明の他の目的は、第1の解像度のグレー・レベル・ソース画像を第2の解像度の二進宛先画像に変換するためのシステムを提供することである。
【0017】
本発明の他の目的は、グレー・レベル・ソース画像を二進中間調宛先画像に変換し、閾値マトリックスを、同期をとって高速に調整し、グレー・レベル宛先画像を並べてタイル張りにするシステムを提供することである。
【0018】
【課題を解決するための手段】
システムは、第1の解像度で配列されたソース・ピクセルを含むソース画像を、二進であって、第2の解像度で配列される宛先画像ピクセルに変換する。このシステムは、少なくともソース・グレー・レベル・ピクセルの一部と、各々の行が少なくともW個のピクセル値を含むグレー・レベル・ピクセル値の複数の行の閾値マトリックスの対応している行を記憶するメモリ含む。スケーリング・レジスタが、N個のグレー・レベル宛先画像ピクセル領域を一致させるためにスケーリングされたN個のソース・グレー・レベル・ピクセル値を記憶する。同時に、閾値レジスタが、W個の閾値ピクセル値のN個まで出力する。調整ロジックは、閾値ピクセル値を閾値レジスタに入れる。コントローラは、調整ロジックを、閾値レジスタの中のN個の隣接するストレージ位置にW個の閾値ピクセル値を入れるために、稼働する。そして、NよりWが大きいならば、コントローラは、(W−N)個の前に入れられた閾値ピクセル値が出力されたあと、閾値レジスタの中の隣接するストレージ位置にW個の閾値ピクセル値を越えた分を入れることができるようにする。比較器は、N個のソース・ピクセル値をN個の閾値ピクセル値の対応するものと比較して、その比較に応じて、N個の二進値を宛先画像に割り当てる。
【0019】
【発明の実施の形態】
図8において、システム60は、第1解像度で複数のグレー・レベル・ピクセル値を含んでいるソース画像を、第2解像度で二進ピクセル宛先画像に、変換する。システム60は、パーソナル・コンピュータ、プリンタ、パーソナル・コンピュータとプリンタの組合せ、又はグレー・レベル・ピクセル・データを異なる解像度の二進ピクセル・データに変換する他の組合せの装置に含まれる。
【0020】
システム60は、関連ダイナミックRAM(DRAM)64を有するプロセッサ62を含む。プロセッサ62は、外部ソースからのグレー・レベル・ソース画像66を受信するか、又は内部アプリケーションの処理の結果、グレー・レベル・ソース画像66を生成する。ソース画像66を二進宛先画像に変換するために、制御パラメータが必要となる。スケーリング係数68は、宛先画像ピクセルにソース画像ピクセルの比率を定義する。大部分のプリンタ・アプリケーションにおいて、宛先画像は、ソース画像66より本質的にハイ・レベル解像度である。従って、スケーリング係数68は、ソース画像ピクセルに対して複数の宛先ピクセルがあるのを意味する、2と10の間の値(例えば6.5)を、一般的に示す。
【0021】
更に上述したように、制御パラメーターは、位置的に対応する、スケーリングされるソース画像ピクセルを宛先画像の中で白か黒の何れかのドットに変換するように各々命令する閾値グレー・レベル・ピクセル値の複数の行を含む閾値マトリックス70を有する。閾値マトリックス70の構造は、宛先画像の二進データが宛先画像の解像度になるように画像グレー・レベル表示を提供することを保証するようなものである。色々な閾値マトリックス70が従来技術で知られており、これ以上の記述は必要ない。
【0022】
更に、DRAM64は、スケーリングされるソース画像を「タイル張り」にする前に最初に位置決めをされる閾値マトリックスを、スケーリングされるソース画像の中で定義する閾値マトリックス・アンカを含む。閾値マトリックス・アンカ72は、一般にスケーリングされるソース画像のコーナー・ピクセル値を定義する。画像アンカ74は、二進ピクセル宛先画像にスケーリングされ変換される個々の部分を、ソース画像の中で定義する。
【0023】
DRAM64は、以下に示す構造のRIIA(水平)76を記憶する。RIIA76は、画像宛先の各々の列のための1ビットを含む二進値索引ビットのアレイである。RIIA76は、プロセッサ62によってスケーリング係数68に従って計算される。手短に言えば、RIIA76は、ソース画像ピクセルを宛先画像の解像度にスケーリングするために使用される。従って、スケーリング係数68が6であるならば、各ソース・ピクセルに対して6つの宛先ピクセルが存在する。各々のRIIA索引ビットは、対応する宛先ピクセルが現在のソース・ピクセルか次のピクセルのためのものであるかを定義する。この方法によって、宛先画像の列毎の単一ビットは、最小限の索引ビットの使用で、ソース画像を宛先画像解像度に完全にスケーリングすることができる。
【0024】
同様のことが、RIIA(垂直)78によって実行されるが、RIIA78は、宛先画像データの次の行と同一か又は相違するかを決めるために利用される。索引ビット値から決定し得る関係を基にソース・ピクセル値を決めることができるように、RIIA(水平)76及びRIIA(垂直)78の両方が、「関連」入力索引アレイとなる。
【0025】
以下の記述で明白になるように、ソース画像64の宛先画像への変換は、特定用途向けIC(ASIC)80内に含まれる回路によって、同時に達成され、急速に普及している。ASIC80は、データ・バス82とバス・インターフェース84を通してプロセッサ62とDRAM64の両方と通信する。静的ランダム・アクセス・メモリ(SRAM)86が、ASIC80上にあり、ソース画像ピクセルの行の少なくとも一部を記憶する分割された領域88、90、92、94と、閾値マトリックスと、特定のソース画像のためのRIIA(水平)と、画像変換機能から生じる宛先画像二進データと、を含む。
【0026】
スケール・ディザ・モジュール96は、ソース画像ピクセルを宛先画像ピクセル解像度にスケーリングし、二進データへの変換を可能にするために、スケーリングされるソース画像ピクセルを対応する位置の閾値マトリックス・ピクセルと連続的に同期して比較する状態マシーン98を含む。SRAM86とスケール・ディザ・モジュール96のオペレーションは、コントローラ100に制御される。適切なソース画像データと、閾値マトリックス・データと、RIIA索引ビットとが、状態マシーン98内にあるレジスタにロードされたとき、クロック信号は、コントローラ100、及びスケール・ディザ・モジュール96と状態マシーン98に、同期して発生する。SRAM86、状態マシーン98、及びバス・インターフェース84の組合せにおけるコントローラ100の動作は、以下の説明によって理解することができる。
【0027】
図9は、本発明によって使われるいろいろなデータ・ソースの相互作用を示している論理フローチャートである。更に、図9は、本発明のオペレーションを制御するために状態マシーン98によって使用される複数のポインタを示す図である。SRAM86(図8)は、ソース・データ88、閾値マトリックス90、水平スケーリング情報92(RIIA)、及び宛先二階調データ94を記憶する。各ソース画像ピクセルがスケーリング論理モジュール102でスケーリングされるように、ソース・ポインタは、ソース画像ピクセルからソース画像ピクセルまで増加する。本発明の実施例において、グレー・レベル・ソース・ピクセル・データの4バイト(32ビット)は、スケーリング論理102に供給され、同時に、4つの索引ビットが水平スケーリング情報92から供給される。スケーリング・スタート・ポインタは、スケーリング論理102に供給されたスケーリング情報の次のサブセットを示す。
【0028】
図10において、フローチャートは、SRAMアクセスの手順を示す。「サイクル(周期)」によって示された各々のステップは、マシン・サイクルがタスクを達成するために使用されなければならないことを示す。一方、タスクは手順の実行に影響を及ぼすことなく達成される。サイクルが実行されるとき、SRAMの中の領域を示すポインタは、増加する。
【0029】
最初に、閾値データのアクセスが実行される(ステップ150)。ある種の状況(以下で記述される)の下では、出力タイル張り閾値は、無効で、無視される。ステップ152で、閾値データが有効であるならば、手順は下に続く。次に、追加ソース・データが必要ならば(ステップ154)、スケーリング論理102による使用のためにSRAMからのソース・データのアクセスが実行される(ステップ156)。それから、閾値データとスケーリング・ソース・データの比較が実行され、結果として生ずる二進宛先ピクセル値がラッチされる(ステップ158)。宛先ピクセルのニブル計数(nibble count)は、維持され、4つの宛先ピクセルがラッチされるたびに、増加する(ステップ160)。ニブル計数が8に等しくないならば、32個の宛先ピクセル値がまだラッチされなかったことを示し、手順が繰り返される(ステップ162)。一方、ラッチされた二階調宛先ピクセル・データが、SRAMに記憶され(ステップ164)、追加RIIAデータが、SRAMから読み出され(ステップ166)、ニブル計数が、クリアされ(ステップ168)、そして、手順が繰り返される。
【0030】
図9に戻って、スケーリング論理102内で、受け取られた索引ビットが、個々のソース画像ピクセルをスケーリング論理102からの4バイト出力の一つで切換えることを制御する。それらの出力は、比較ラッチ二階調データ・モジュール104に供給される。スケーリング・オペレーションが、一般に、ソース画像データから宛先画像データまでの解像度の相当な増加(例えば、6倍以上)を必要とするので、ピクセル多重化が使用されていると仮定して、各ソース・ピクセルは、しばしば、索引ビットの制御の下、6回以上の複写が行われる。更に、図11の記載から理解できるように、行単位上のソース画像ピクセル・データの重複化は、SRAM86への多くのアクセスを排除することができる。
【0031】
同時に、上述のスケーリング・オペレーションにおいて、行スタート・ポインタと、現在の領域ポインタと、行エンド・ポインタとの制御の下、閾値マトリックス・データ90は、閾値タイル張り論理モジュール106に与えられる。そこで、閾値マトリックスは、宛先画像解像度アンカ・ポイントに合わせられ、そして、閾値ピクセル値に対応した位置に置かれるタイル張り閾値マトリックスを生じるために、最後の宛先画像の各々のピクセル位置が複写される。同様に、スケーリング論理102の出力は、宛先画像の中の各ピクセル領域に対して1つのソース画像ピクセルがあるように宛先画像解像度を表す。
【0032】
スケーリングされるソース画像ピクセルと対応する位置のタイル張り閾値マトリックス画像ピクセル値の各々は、比較ラッチ二階調データ・モジュール104の中で比較される。ソース・ピクセル値が対応する閾値マトリックス・ピクセル値より大きいか、それ以下かに依存して、出力二進ビットがソース・ピクセル値の代わりに提供される。それらの二進ビットは、宛先二階調データ記憶域94に与えられる。二階調ポインタは、SRAM制御モジュール100がSRAM86内で宛先二進ビットを正しい宛先画像ピクセル位置に入れることができるようにする。
【0033】
図9は、本発明が原則として本質的に並列に独立してスケーリングと閾値タイル張りを実行することを示す図である。適当なデータが関連入力レジスタにロードされるならば、そのような両方の機能が、発生したクロック信号の制御の下で同期して実行される。さらに、宛先画像の各々の行が処理されるならば、RIIA(垂直)は、ソース画像のスケーリング係数が与えられ、次の行の対応するソース・ピクセルが以前の行の対応するピクセルに同一であるか否かを示すために使用される。そして、6以上のスケーリング係数が使われていていると仮定するならば、平均して、少くとも5つの後続する行が同一であり、ピクセル多重化プロトコルに使用される。
【0034】
画像変換機能を達成するために要求されるサイクルを減少するために(図11参照)、画像は、処理のために複数の垂直帯に区分化される。これは、垂直方向のスケーリング係数は、ソース・データが各々の次の行のためにアクセスされる必要が無く、連続した行のために使用されることができ、従って、関連メモリ・アクセス・サイクルが回避できるという、特徴を示すものである。
【0035】
図8を参照して、SRAM86は、(費用を理由に)単一ポートRAMが好まれる。本発明は、いろいろな論理モジュールによってSRAM86にアクセス割込みを行い(図9参照)、SRAM86がクロック・サイクル毎に正しい領域に単一アドレスでポイントできるようにしている。本発明が処理データである場合は、SRAM86は、各クロック・サイクルでアクティブとなる。
【0036】
画像がラスタライズされるタイミングで、SRAM86は、分割される。SRAM86の中に4つの可変サイズ・オブジェクト、即ち、閾値アレイ(画像から画像まで変化する場合がある)、RIIA、ソース・ピクセル・データ、及び宛先二階調データ、がある。単一SRAM86の使用を通じて、コントローラ100が、その区分化を成し遂げ、スケーリング係数と一定の閾値マトリックスが与えられ、その記憶容量の最も効果的な使用を成し遂げる。従って、図12に示されるように、スモール・スケーリング係数があるならば、コントローラ100は、宛先二階調データ(二階調データがピクセル毎に1ビットを含むのに対して、ソース画像データはピクセル毎に8ビットを含む)より本質的に多くのメモリ空間をソース画像データに対して割り当てる。コントラストによって、ラージ・スケーリング係数が使われているならば(図13参照)、本質的に、SRAM86のより大きい領域が、RIIAビットのストレージと二階調データのために割り当てられる。
【0037】
本発明の特定の実施例を記述する前に、関連入力索引アレイ(RIIA)を説明する。RIIAは、ソース画像グレー・レベル・データを宛先画像データの解像度にスケーリングすることを可能にする非常に効率的なデータ・アレイである。RIIAフォーマットは、図14に示されており、4バイト・ヘッダ・フィールド120と、ソース画像を宛先画像の解像度にスケーリングするために各スケーリング機能で使用されるソース画像ピクセルを定義する可変長入力索引フィールド122を含む。600dpiプリンタのために、水平RIIAの入力索引量122は、600dpi×8インチ(20.3cm)=4,800ビット又は600バイトである。
【0038】
ヘッダ120は、縮小化機能の中で使用される次のソース・ピクセルのサーチ毎に成長するソース・ピクセルの最小数を指定する8ビットDS索引フィールド124を含む。不変又は拡大機能において、このフィールドは、「O」である。srcスキップ・フィールド126は、スケーリングされるソース画像の第1ピクセルを見つけることを省略するためのピクセルの数を示す16ビットである。
【0039】
入力索引122は、宛先画像の単一ビット/列を含む。それは、スケーリングする際に使用され、宛先ビットマップの中で使用されていた現在のソース・ピクセルをポイントするソース・ピクセル・ポインタと関連する。ソース・ピクセル・ポインタが、srcスキップによって指定されたピクセルに初期化される。即ち、第1ピクセルは、スケーリングの間、装置によって考慮される。
【0040】
入力索引の2つの一般的な形式がある。
【0041】
不変又は拡大の場合:
そのような場合において、DS索引フィールド124は、0の値を含む。入力索引122のビット位置の中の「O」は、ソース・ピクセル・ポインタによって示されたピクセルが宛先画像の中で使用されることを示す。入力索引122のビット位置の中の「1」は、(ソース・ピクセル・ポインタ+1)によって示されたピクセルが宛先画像の中で使用され、ソース・ピクセル・ポインタが続いて増加することを示す。
【0042】
縮小化の場合:
この場合が、DS索引フィールド124が1〜255の間の値を含む場合を指定する。入力索引122の第1ビットの値に関係なく第1ソース・ピクセルは、第1宛先ピクセルとして使用される。アレイの中の次のエントリのために、「O」値は、対応している宛先ピクセルが(ソース・ピクセル・ポインタ+DS索引)によってポイントされたソース・ピクセルであることを示す。「1」は、対応している宛先ピクセルが(ソース・ピクセル・ポインタ+DS索引+1)によってポイントされたソース・ピクセルであることを示す。各々の場合において、ソース・ピクセル・ポインタは、使用される新しいソース・ピクセルに更新される。
【0043】
RIIA(垂直)は同じ方法で機能するが、列ピクセルの代わりに、行がスケーリングされる。
【0044】
上述の特定のビット及びバイトの長さが一実施例であり他のデータ長によって代用されることは、当業者にとって明白なことである。しかしながら、入力索引122は、常に、宛先画像行データの列毎に1ビットの位置しか持たない。
【0045】
図15において、RIIA(水平)の使用の例を示す。ソース画像データが拡大されると仮定して、DS索引124の値は0であり、宛先の中で使用するための次のソース・ピクセルを見つける毎に成長するソース・ピクセルの数は0であり、従って、srcスキップ=0である。そして、宛先画像を構築して使用される第1ソース・ピクセルは、第1ソース・ピクセルであり、何も省かれていない。
【0046】
最初の4つのソース・ピクセルが235、142、228及び250のグレー・レベルと等しい各々8ビットの値であると仮定して、ソース画像の中のそれらの位置が、図15の130で示される。RIIA132内で、宛先画像134中にあらゆるバイトのための入力索引ビットがある。上述の規則を以下に示すと、RIIA索引ビットが「0」であるならば、「現在の」ソース・ピクセルは、宛先画像に入れられ、そのソース・ピクセルは、現在のソース・ピクセルのままである。RIIA索引ビットが「1」であるならば、「次の」ソース・ピクセルが、宛先画像に入れられ、次のピクセルは、「現在の」ピクセルになる。図15において、RIIA132の中の最初の0は、235のソース・ピクセル値が最初の宛先ピクセル・データ位置に入れられることを示している。前述の規則を以下に示すと、現在のソース・ピクセルの位置が増加されなかったように、RIIA132の中の2番目の「0」は、宛先データ134に値235を置く。RIIA132の中の次の「1」値は、ソース画像ピクセルに対するポインタが1によって増加させられ、次の利用可能な宛先画像ピクセル位置にポイントされるピクセル値となることを示す。
【0047】
縮小化オペレーションは、上述された拡大化手順から明白なものである。
【0048】
本発明のさらに詳細な実施例を、図16の中で示し、以下において、処理時間当たり8ビット/ピクセル・データで4ピクセルの場合を考える。図示された位相は、いくつかのパラレル・ピクセルの数でデータ・ピクセル長を操作するためにスケーリングされる。
【0049】
図16において、コントローラ100(図8)によって、4つの8ビット・ソース・ピクセルが画像ソース・レジスタ200に挿入される。同様に、コントローラ100によって、複数のRIIA(水平)索引ビットがRIIレジスタ202に挿入される。また、SRAM86内の閾値マトリックスからの行が、閾値ステージング・レジスタ204に挿入される。システム内の次の処理の間、全ての出力データが次のクロック・サイクル上で有効であると保証する時に、コントローラ100は、レジスタ200、202へ及びSRAMからデータの書込みを達成する。この機能は、全システムが順に発生したクロック・パルスに従って同期して稼働することを保証する。従って、ソース・ピクセルの宛先解像度へのスケーリング及び閾値マトリックス・ピクセル値の調整とタイル張りは、同時に、発生したクロック信号でのロック・ステップの中で起こる。更に、閾値マトリックス・ピクセル値が比較器206に適用されるとき、スケーリングされた画像ソース・レジスタ208からのスケーリングされるソース画像ピクセルが存在し有効であることが、保証される。
【0050】
スケーリング及び閾値調整の機能が平行して稼働する間、図16のオペレーションが、最初にソース画像ピクセルのスケーリングを、次に、閾値マトリックス・ピクセル値の調整とタイル張りを示している。
【0051】
コントローラ100が画像変換処理を開始するならば、RIIレジスタ202に発生した各々のクロック信号によって、索引ビット値(4つのグループの中の)がマルチプレクサ210に出力される。マルチプレクサ210に入力される「選択」によって、スケーリング・スイッチ論理212の中の対応する列位置に4つの索引ビットが結合される。同時に、画像ソース・レジスタ200からの4つのソース・ピクセルが、スケーリング・スイッチ論理212に記録される。上述の規則に従って、適用された索引ビットによって、ソース・ピクセルのそれぞれが複数の出力ライン214に発生し、スケーリング画像ソース・レジスタ208に入力される。
【0052】
画像ソース・レジスタ200の中のソース・バイトが不足した場合、SRAMアクセスが要求される。画像ソース・レジスタ200の中に残っている残余ソース・ピクセル値が、RIIA索引ビットに応じてスケーリング画像ソース・レジスタ208にロードされる。次のサイクルで、追加ソース・ピクセルは、アクセスされ、画像ソース・レジスタ200にロードされる。
【0053】
6以上のスケーリング係数が使われており、ピクセル多重化がスケーリングの方法であると仮定するならば、一つの8ビット・ソース・ピクセルが、各々の出力ライン214上で複写され、同様に、スケーリング画像ソース・レジスタ208の4つのレジスタ位置の各々に入れられる。次のクロック信号によって、それらのソース・ピクセル値の各々が比較器206に出力される。
【0054】
上記のスケーリング作用と同時に、閾値マトリックス調整とタイル張りが起こる。閾値マトリックスの各行の中の閾値マトリックス・ピクセル値の数が、レジスタ208の中のスケーリングされる画像ソース・ピクセルの数に等しいならば、調整機能は簡単なものとなる。調整は、一対の閾値調整スイッチ216と218に「モード」信号を適用することによって達成される。しかしながら、閾値マトリックスの行の中の閾値マトリックス・ピクセル値の数がスケーリングされるソース画像ピクセルの数に等しいとき、閾値調整スイッチ216と218は、閾値マトリックス・ピクセル値が閾値パイプライン・レジスタ220を通じて流れ、ピクセル位置に対応する閾値レジスタ222の中に置かれるように処理される。
【0055】
閾値マトリックスの行の中の閾値マトリックス・ピクセル値の数(即ち、=W)が、スケーリング画像ソース・レジスタ208からのスケーリングされる画像ソース・ピクセルの数(即ち、N)と同じものでない場合、調整の問題は、より複雑である。そのような状況のでは、2つの連続する閾値マトリックス・ピクセル行入力からのエレメントが、スケーリングされるソース画像ピクセル値で閾値マトリックス行値の有効な調整を達成するのに使用されなければならない。これが、閾値レジスタ222に加えて閾値パイプライン・レジスタ220を含める理由である。各々の閾値調整スイッチ216と218は、多重型式の中で、スケーリングされる画像ソース値で閾値マトリックス・ピクセル値を調整するために、閾値マトリックス・ピクセル値を一定の方向に向けるように稼働する。閾値調整スイッチ216からの出力が閾値パイプライン・レジスタ220に供給されるだけでなく、直接、閾値調整スイッチ218に供給され、閾値パイプライン・レジスタ220を迂回することに留意されたい。
【0056】
閾値調整スイッチ216と218の各々が、前述のように、コントローラ100からのモード入力によって、制御される。図17〜20の中で示されるように、コントローラ100は、閾値マトリックス行の幅Wとレジスタ208からスケーリングされた画像ソース・データまでの関係に従って、N個の別個のモード信号を発生する。従って、図17の中で示されるように、WがN(Nはレジスタ208の中のスケーリングされた画像ソース・データのピクセルの数である)と等しいとき、モード0が使用される。図18、19、及び20で示されるように、他のモードの各々は、パイプライン型式で、SRAMからWとNの差分を考慮に入れた修正調整の中の閾値レジスタ222へ読み出された閾値ピクセル値の切換えを可能にする。
【0057】
いろいろなモード入力に対応して閾値調整スイッチ216と218の各々の中で起こる切換えは、図21を参照すると容易に理解することができる。閾値マトリックスが幅W=5を持つと仮定すると、それは最少の効率であり、システムが処理できる「最悪の場合」の状況である。それぞれの閾値ピクセル値(Wの閾値幅を含む)を、バイトA、B、C、D及びEとしてこの後参照する。図21に、閾値レジスタ222への調整と挿入の後の閾値ピクセル値の連続したバイトを示す。その後、それぞれの閾値ピクセル値は、比較器206の中でレジスタ208からのスケーリングされるソース画像ピクセルで比較される。
【0058】
図21は、閾値ステージング・レジスタ204、閾値パイプライン・レジスタ220、及び閾値レジスタ222の内容をクロック毎に示している。クロック・サイクル1と2の間で、コントローラ100は、閾値調整スイッチ216と218にモード=0を適用する。この結果、閾値マトリックス・ピクセル値のストレート・スルー・パイプライン化が、SRAMから閾値レジスタ220に起こる。
【0059】
閾値行のエンドのみが、ターゲットとなるモード変更であり、この場合、コントローラ100は、モード=0からモード=3へ移行する。そのような状況(クロック・サイクル3)の下に、閾値パイプライン・レジスタ210の中の各々のレジスタ位置が、閾値ピクセル・バイトDの値を受信し、A、B及びCの閾値ピクセル・バイトが、直接、閾値レジスタ222の中の3つの低位のバイト位置へ入力される。直前のクロック・サイクルから、閾値ピクセル・バイトEは、最も高位のバイト位置に常駐する。従って、後続するクロック・サイクルが起こるとき、閾値ピクセル値E、A、B及びCは、比較器206に書き込まれる。クロック・サイクル4の間、バイトDが、パイプライン閾値レジスタ220からパイプライン・レジスタ222に入れられ、そして、バイトE、A及びBは、直接SRAM204からロードされる。図示されるように、オペレーションは、クロック・サイクル5〜8の間、モード2と1を実行し、繰り返す。
【0060】
閾値マトリックスが宛先画像解像度と一致するためにタイル張りであるとき、エンド・バイトにオフセットがある(各々の閾値行が宛先画像の整数サブ並列でないならば)ことに留意する。そのような場合、SRAMの中の行エンドでの閾値マトリックス・バイト値は、閾値マトリックス行と宛先画像の両方の同時に起こる終了を保証するために「満たされる」。例えば、クロック・サイクル4の間、バイトAとBは、パイプライン・レジスタ222に入れられるワードを満たすために使用される。
【0061】
個別の欠落のため、閾値ピクセル値は閾値ピクセル行の最後の(5番目の)バイトを含んでいる4バイトと関連し、結果的にストリーム(即ち、閾値レジスタ222の内容)の欠陥が起こる。たとえば、クロック・サイクル4の終わりで、Cのバイトは、閾値パイプライン・レジスタ220内で全ての位置を占める。クロック・サイクル5の間にパイプライン・レジスタ222から生ずる有効ワード(4バイト)において、2つの高位バイトがCとDであるが、パイプライン・レジスタ222へロードするための閾値パイプライン・レジスタ220の中にDの値はない。この結果、パイプライン・レジスタ222にロードされたワードは、無効となる。無効なワードが比較器206に送り出されるとき、無効な二階調データが結果として得られる。しかしながら、コントローラ100が、二階調レジスタ230への二階調出力データのラッチングを禁止し、更に、スケーリングされた画像ソース・レジスタ208への新しいスケーリングされるソース・ピクセルの挿入を禁止する。次の有効ワードが閾値レジスタ222から生ずるとき、比較手順が再び始まる。
【0062】
再び、Wが5である閾値マトリックスが最少の効率の場合であり、他のクロック毎にモード信号が変わる。8つのクロック・サイクルの中の3つは、無効データをもたらす。Wの他の値のために、モード信号が変わらなく、有効閾値マトリックス4バイト・グループがクロック・サイクル毎に閾値レジスタ222から及びそれより長い閾値行から現れるとき、モード信号としての効率が、行境界上のみでよりよいものに変わる。大部分の共通の閾値マトリックスが16×16であり、そのマトリックスを使用し、そして、Wが4の倍数である他のマトリックスが、一定のモード信号オペレーションを引き起こす。
【0063】
図16を参照して、比較器206が、対応するバイトのそれぞれのグレー・レベル値を比較することによって、閾値レジスタ222とスケーリングされた画像ソース・レジスタ208からの出力に対応する。閾値レジスタ・ピクセル値よりスケーリングされた画像ソース・ピクセル値が大きいならば、1ビットがそれぞれの比較器から生ずる。他の状況では、0ビットは、それぞれの比較器から生じ、32ビット二階調レジスタ230へ入力される。32ビット二階調レジスタ230がフルであるとき、その内容が、記憶されるためにSRAM86に書かれる。
【0064】
システムは、WとNが2つの変数を使うことによってお互いに同じもの又は正確な倍数でないときに生成される無効なワードを、処理する。最初の変数は、上で論じられた「モード」であって、閾値ピクセル・データが閾値パイプライン・レジスタ220と閾値レジスタ222に切り換えられる方法を決める。2番目の変数が、「モード・デルタ」と呼ばれており、閾値行が終了し、閾値ピクセル・データの次の行が開始されたとき、「モード」変数を変更するための方法を示す。モード・デルタは、閾値行の最後のバイトが処理された後、「残っている」ワードのバイト数と同じにセットされる。モード・デルタ変数は、閾値行が「再開される」毎に適用される。
【0065】
前述の変数によって、閾値マトリックスが使われ、N個の無効なバイトが閾値レジスタ222にあることを決定する。ここで、WとNは等しくない。そのモードとモード・デルタ変数だけを使用して、無効なワードが図16の中で示された論理からいつ生成されるかを知ることができる。
【0066】
上述のように、モード・デルタは、閾値行に残った閾値ピクセルの数に等しい。モードの最大値は、N−1である。モード・デルタが閾値行のエンドでモードに追加され、そして、結果がN−1を越えるとき、閾値レジスタ222の中に常駐する最初のワード(例えば4バイト)は、新しい閾値マトリックス行の開始で、無効となる。上述の実施例において、4つのモードの値(即ち、0〜3)があり、モードの最大値が3(即ち、4−1=3)である。モードとモード・デルタの合計(モジュロN)は、次のモード値を決める。例えば、モード・デルタが2で、モードが3であるならば、その合計は1(モジュロ4)であり、モード1が次に適用される制御状態である。モード・デルタ値(即ち、=3)が現在のモード値に追加され、合計が3の値を越えるとき、閾値レジスタ222から出るワード(4バイト)は無効である。
【0067】
閾値行の再開始の場合、モードの値が0で、3のモード・デルタが0に追加されるならば、3の最大値を越えない。従って、モード3の場合に生成された最初のワードは有効である。しかしながら、モード・デルタ値が再びそれに追加されるとき、6という最大値を越える結果となるので、最初のワードは無効である。モード値はモジュロ4の機能の結果であるので、2になる。閾値行の初めでラップ(wrap)が生じるたびに、この処理が再び行われる。
【0068】
以下に、本発明の実施態様の例を示す。
【0069】
(1)行列の第1の解像度で配列され、各々がマルチ・ビット・グレー・レベル値を明示するソース・ピクセルを含むソース画像を、行列の第2の解像度で配列された二進ピクセルの宛先画像に変換するシステムにおいて、少なくとも前記ソース・ピクセルの行の一部と、マトリックス・ピクセル値の複数の行であって各々が1より大きい整数であるW個のマトリックス・ピクセル値を持つ前記行を有するマトリックスと、前記宛先画像の行の初期ピクセル領域を識別するアンカとを記憶するメモリ手段と、1より大きくWとは異なる整数であるN個のソース・マルチ・ビットグレー・レベル・ピクセル値を記憶するスケーリング・レジスタ手段と、W個のマトリックス・ピクセル値の行を記憶し、同時に、N個の前記マトリックス・ピクセル値上に出力する閾値レジスタ手段と、前記メモリ手段と前記閾値レジスタ手段との間に接続され、前記W個のマトリックス・ピクセル値の行を前記メモリ手段から前記閾値レジスタ手段へ入力する調整論理手段と、前記調整論理手段に接続され、前記WとNとの値に応じて、前記調整論理手段が前記W個のマトリックス・ピクセル値を前記閾値レジスタ手段のN個の隣接する記憶位置に入力するように制御し、もしW>Nならば、(W−N)個の前に入力されたマトリックス・ピクセル値を出力した後に、前記閾値レジスタ手段の隣接する記憶位置に前記W個のマトリックス・ピクセル値の後続を入力する制御手段と、を有する前記システム。
【0070】
(2)前記スケーリング・レジスタ手段が、N個のマルチ・ビット・グレー・レベル宛先画像ピクセル位置に一致させるためにスケーリングされるN個のソース・マルチ・ビット・グレー・レベル・ピクセル値を記憶し、更に、前記システムが、前記閾値レジスタ手段と前記スケーリング・レジスタ手段とに接続され、前記N個のソース・マルチ・ビット・グレー・レベル・ピクセル値を前記閾値レジスタ手段から出力された前記N個のマトリックス・ピクセル値の対応するものと比較し、その比較に応じて、前記宛先画像にN個の二進値を配列する、比較手段を有する、(1)記載のシステム。
(3)更に、前記メモリ手段が前記宛先画像の行の初期ピクセル位置を識別するアンカ値を記憶し、前記制御手段は、前記メモリ手段が前記閾値レジスタ手段に前記マトリックスの最初の行の第1のグレー・レベル閾値であるマトリックス・ピクセルを出力するように前記アンカ値を操作し、前記スケーリング・レジスタ手段に最初のソース・ピクセル値を配置する、(2)記載のシステム。
【0071】
(4)前記閾値レジスタ手段が、閾値パイプライン・レジスタと閾値レジスタとを有し、前記調整論理手段が、前記メモリ手段と前記閾値パイプライン・レジスタとの間に接続されている第1の論理スイッチと、前記閾値パイプライン・レジスタと前記閾値レジスタとの間に接続されている第2の論理スイッチとを有し、前記閾値パイプライン・レジスタと前記閾値レジスタの両方がN個の記憶位置を有し、前記制御手段が、連続するクロック周期の間、前記閾値パイプライン・レジスタと前記閾値レジスタとに前記メモリ手段から最初のN個のマトリックス・ピクセル値を入力するようにモード制御信号を適用し、前記制御手段が、次のクロック周期の間、前記閾値パイプライン・レジスタに前記メモリ手段から次の前記マトリックス・ピクセル値を入力するようにモード制御信号を適用し、もしW>Nであるならば、前記メモリ手段からの前記最初の閾値の残余の部分を前記閾値レジスタの隣接する位置に入力する、(2)記載のシステム。
【0072】
(5)前記最初のモード制御信号が、W=Nのとき前記制御手段によって発生され、前記第1と第2の論理スイッチが前記N個の閾値ピクセル値を前記閾値パイプライン・レジスタと前記閾値レジスタの両方に入力するようにする(4)記載のシステム。
(6)前記2番目のモード制御信号が、W=N+1のとき前記制御手段によって発生され、前記第1と第2の論理スイッチが前記N+1番目の閾値ピクセル値を前記閾値パイプライン・レジスタから前記閾値レジスタの高位の記憶位置に入力するようにし、N個のマトリックス・ピクセル値の次のセットの追加したものを前記閾値レジスタの低位の位置に入力するようにする(4)記載のシステム。
(7)前記閾値レジスタからの出力が無効データを示し、前記制御手段が前記システムからの前記無効データの出力を防止する(4)記載のシステム。
【0073】
(8)前記制御手段が、前記出力を防止する場合を決定するための2つの変数を持ち、第1の変数が、前記マトリックスの低位エンドに残存しているマトリックス・ピクセルのNより小さい数に等しく、第2の変数が、前記制御手段によって前記調整論理手段に適用されるスイッチ・ステータスの数の1つに等しく、前記制御手段は、前記第1の変数と第2の変数の合計が、前記スイッチ・ステータスの数よりも大きいとき、前記出力を禁止する、(7)記載のシステム。
(9)前記制御手段が、次のスイッチ・ステータスを設定するために前記合計を使用する(8)記載のシステム。
【0074】
【発明の効果】
上述のように、本発明によって、グレー・レベル・ソース画像を二進中間調宛先画像に変換し、メモリ資源を保護する高速システムを提供することができるようになった。
【図面の簡単な説明】
【図1】ソース画像をスケーリングし、スケーリングされたソース画像を一致させるために閾値マトリックスを整列させ、タイル張りにし、宛先二階調画像にするためにスケーリングされたソース画像とタイル張り閾値マトリックスを比較する処理を図示する概略図である。
【図2】複数のグレー・レベル・ピクセル値を持つソース画像の図である。
【図3】図2のソース画像を1.5倍に拡大した図である。
【図4】図2のソース画像を0.75倍に縮小した図である。
【図5】マルチ・ビット入力索引アレイとピクセル多重化手順を使用して、ソース画像を拡大する従来技術の方法を示す図である。
【図6】双直線スケーリング・アルゴリズムを含む、マルチ・ビット入力索引アレイを使用しているソース画像を拡大する従来技術の方法を示す図である。
【図7】マルチ・ビット入力索引アレイとサブサンプリング・アルゴリズムを使用してソース画像を縮小化する従来技術の方法を示す図である。
【図8】本発明のシステムのブロック図である。
【図9】グレー・レベル・ソース画像を二階調宛先画像に変換している間のいろいろなデータ・ソースの相互作用を示す本発明の論理フローチャートである。
【図10】SRAMアクセスを制御する方法を示すフローチャートである。
【図11】本発明によって処理される垂直帯を示す、ラスタ画像ページ表示の概略図である。
【図12】スモール・スケーリング係数がソース画像に使用される場合の、メモリ区分の概略図である。
【図13】ラージ・スケーリング係数がソース画像に使用される場合の、メモリ区分の概略図である。
【図14】「関連」入力索引アレイ・フォーマットを示す図である。
【図15】関連入力索引アレイの索引ビットの位置の値によって制御されるような、ソース・データと宛先データの間の関係を示す図である。
【図16】本発明に従って稼働する回路を示す詳細なブロック図である。
【図17】閾値マトリックス・レジスタと閾値出力レジスタの間の4モード制御相互接続を示す図である。
【図18】閾値マトリックス・レジスタと閾値出力レジスタの間の4モード制御相互接続を示す図である。
【図19】閾値マトリックス・レジスタと閾値出力レジスタの間の4モード制御相互接続を示す図である。
【図20】閾値マトリックス・レジスタと閾値出力レジスタの間の4モード制御相互接続を示す図である。
【図21】閾値マトリックス調整過程の実行処理を示す図である。
【符号の説明】
22 26 ソース・グレー・レベル画像
24 グレー・レベル画像の拡大バージョン
60 システム
80 ASIC
82 データ・バス
132 RIIA
200 画像ソース・レジスタ
202 RIIレジスタ
204 閾値ステージング・レジスタ
【発明の属する技術分野】
本発明は、第1の解像度の画像を第2の解像度の画像に変換する、特に、メモリ保護索引アレイの使用によって、受信された画像を宛先画像解像度にスケーリングするシステムに関連する。
【0002】
【従来の技術】
カラー及びグレー・レベルの画像は、画素(ピクセル)から成り、各ピクセルは、カラーかグレーのどちらかのレベルを定義する複数のビットによって表される。二階調(黒白)プリンタ上で、そのような画像を表すために、データは、まだグレー・レベルでないならば、グレー・レベルのマルチ・ビット構成(例えば8ビット/ピクセル)に変換され、個々のグレー・レベル・ピクセルは、スケーリングとディザリング(dithering)処理を使用して二進レベル・ピクセルに変換される。
【0003】
ピクセル画像毎のオリジナル・マルチ・ビット中のピクセルは、通常、二階調プリンタ解像度の解像度ではなく、プリンタ解像度に一致させるようにスケーリングをしなければならない。たとえば、多くの現代のプリンタが600ドット/インチ(dpi)解像度を表現できるが、コンピュータは、プリンタ解像度の1/6かそれ以下の解像度でデータを出力する。従って、二階調プリンタは、受信されたグレー・レベル・ピクセルがプリンタ解像度にスケーリングされるように要求される。それから結果として生ずるスケーリングされたグレー・レベル・ピクセルは、グレー・レベルを二階調データの最適なパターンに変換するように制御する閾値マトリックスと、比較される。この処理は、「ディザリング」と呼ばれる。
【0004】
グレー・レベルを表すために8ビットが使われているとき、256個のグレー・レベルを、表わすことができる。閾値マトリックスが、グレー・レベル・ピクセル値を二進ピクセル値に変換するように制御する複数の行配列されたグレー・レベル値を有する。本質的に、閾値マトリックスの各エントリは、画像グレー・レベル・ピクセル値が大きいならば、グレー・レベル画像ピクセルを黒ピクセルに変換する閾値グレー・レベル値である。コントラストによって、画像グレー・レベル・ピクセル値が、対応する閾値マトリックス・グレー・レベル値以下であるならば、それは「白」ピクセルに変換される。
【0005】
前述の処理は図1で示めされ、ソース・画像10が4×4マトリックスのグレー・レベル・ピクセル値から成っている。また、この例で、閾値マトリックス12は、4×4マトリックスのグレー・レベル閾値を含む。ソース画像10が2倍に拡大(スケーリング)されると仮定して、スケーリング処理は、スケーリングされた画像14の中で示された型式で、ソース画像10のオリジナル・グレー・レベル・ピクセル値の写しを作る。スケーリングすることがピクセル多重化手順によって達成され、スケーリングによって、ピクセルが空の空間を満たすために複写される。複線形スケーリングのような他の方法は、ソース・画像のオリジナル・グレー・レベル・ピクセル値の中で、グレー・レベル値を決めるために使用される。スケーリングによって空間が満されているとき、複線形スケーリングは、隣接したグレー・レベル・ピクセル値を考慮する。
【0006】
次に、スケーリングされた画像14の全部にかぶせるように、閾値マトリックス12が、「タイル」のように張られる。タイル張りにされた閾値マトリックス12は、図1の16のように示される。次に、比較モジュール20の比較処理によって、スケーリングされた画像14は、宛先二階調データ画像18に変換される。スケーリングされた画像14の各々のグレー・レベル・ピクセルが、タイル張り閾値マトリックス16の対応する位置にあるグレー・レベル値に対して比較され、スケーリングされた画像グレー・レベル・ピクセル値が、タイル張り閾値マトリックスより大きいか、又はそれ以下かに応じて、1又は0ビットを出力し、比較モジュール20は、宛先二階調データ画像18の対応するピクセル領域にそれを記憶する。
【0007】
図1の中で示される例において、上下左右対象に閾値マトリックス12が、タイル張りにされる。閾値マトリックスのどの部分から開始されるかは、閾値マトリックス「アンカ(anchor)」によって、ソース画像10とページの上で決められる。特に、アンカは、第2画像(即ち、閾値マトリックス)の指定されたポイントが置かれたある画像上のポイントを定義し、それによって、第1画像の既知の位置に第2画像をかぶせる。
【0008】
図2は、ソース・グレー・レベル画像22を示す。図3は、1.5倍に拡大されたグレー・レベル画像22の拡大バージョン24を示す。図4において、グレー・レベル画像26は、0.75倍に解像度が縮小されたことを示す。各場合において、従来技術は、水平入力索引アレイ(HIIA)と垂直入力索引アレイ(VIIA)の使用を通じて、そのようなスケーリングを達成した。これは、図5を参照することによって、より理解できる。図5において、ソース画像30が4×4マトリックスの16ピクセルを含む。ソース画像30が、2.5倍の解像度でスケーリングされた画像32に変換される。従って、スケーリングされた画像32は、10列のピクセルを含む。
【0009】
スケーリング作用を達成するために、プロセッサは、スケーリングされた画像32の各列のために、マルチ・ビット値を含むHIIA34を計算する。各々HIIA値は、ソース画像30へのオフセットを描写して、HIIA値に対応するピクセル位置でスケーリングされた画像32に挿入されるソース画像30からピクセルを識別する。各々HIIA値は、スケーリングされた画像32の対応する位置に正しいピクセルを挿入させるためのソース画像30に入るピクセルの数を示す。
【0010】
同じ概念は、垂直方向でも使用される。スケーリングされた画像の行が完了されたあと、VIIA索引ビットは、行がスケーリング係数に対応して複写されるかどうかを決定する。特に、VIIA36は、ソース画像30の第1行に索引を付けられる最初の2つの行を示す。スケーリングされた画像32の第2の2つの行は、ソース画像30の第2行から得られる。2.5のスケーリング係数は、一部のピクセルを3によって、他のピクセルを2によってスケーリングして得ることができる。
【0011】
図6は、典型的な複線形スケーリング・アルゴリズムを使用する画像のスケーリングに対するHIIA及びVIIAのアプリケーションを図示する。値をソース画像40からコピーしている間、ピクセルが満たされている場合、複線形スケーリング・アルゴリズムは、隣接したピクセルを見ている。図6で示された例で、第1行目において、第2列ピクセル値(15)は、ソース画像40の第1及び第2列ピクセルの平均結果である。HIIA42を検査することによって、ソース画像40の第1ピクセルがスケーリングされた画像44の第1ピクセルにコピーされていることが解る。ソース画像40の第2ピクセルは、スケーリングされた画像44の3番目のピクセルに移される。スケーリングされた画像44の第2ピクセルは、第1と3番目のピクセルの間に差し込まれた値である。図7において、縮小化例として、ソース画像46が、HIIA50及びVIIA52の使用を通じてスケーリングされた画像48に縮小化されることを示している。
【0012】
上記の従来技術のスケーリング手順の各々において、メモリの相当な量が、HIIAとVIIAを記憶するために必要とされる。例えば、600dpiプリンタの上の21.6cm(8.5インチ)幅シートのペーパでは、ライン毎に、およそ4,800ドットのエレメントが必要とされる。スケーリングされた画像の各列を正しくアドレスするために、全16ビットが、HIIAの各エレメントのために使用される。従って、HIIAデータに対応するために、9.6キロバイトが必要となる。また、垂直方向の行のスケーリングを容易にするために、VIIAが必要となる。600dpiプリンタ上の1枚の27.9cm(11インチ)の長さのシート・ペーパのために、垂直次元に、およそ6,000ドットが必要となる。また、16ビットが、各VIIA行エレメントをアドレスするために使用される(全部で12キロバイトを必要とする)。従って、全ページに対して、入力索引アレイを使用するために、合計21.6キロバイトのメモリが必要となる。
【0013】
スケーリングされるソース画像に対する閾値アレイ・マトリックスの調整とタイル張りに関して、従来技術の手順は、結果として生ずるタイル張りのような画像の中の各ピクセルの要求によって、コンピュータが使用する有効な時間を費やしている。それは、閾値マトリックスの各エレメントの索引を計算しなければならず、索引をつけられた特定のメモリ・エレメントを検索しなければならない。この結果、この手順は、コンピュータ処理の集中を招き、処理時間がかかるこことなる。従って、従来技術の画像変換手順では、ソフトウェア制御環境で画像を表現するのに時間がかかっている。そのような変換時間は、市場の要求を十分に満たすことができない。
【0014】
【発明が解決しようとする課題】
従って、本発明の目的は、グレー・レベル・ソース画像を二進中間調宛先画像に変換するための高速システムを提供することである。
【0015】
本発明の更なる目的は、グレー・レベル・ソース画像を二進中間調宛先画像に変換し、メモリ資源を保護するためのシステムを提供することである。
【0016】
本発明の他の目的は、第1の解像度のグレー・レベル・ソース画像を第2の解像度の二進宛先画像に変換するためのシステムを提供することである。
【0017】
本発明の他の目的は、グレー・レベル・ソース画像を二進中間調宛先画像に変換し、閾値マトリックスを、同期をとって高速に調整し、グレー・レベル宛先画像を並べてタイル張りにするシステムを提供することである。
【0018】
【課題を解決するための手段】
システムは、第1の解像度で配列されたソース・ピクセルを含むソース画像を、二進であって、第2の解像度で配列される宛先画像ピクセルに変換する。このシステムは、少なくともソース・グレー・レベル・ピクセルの一部と、各々の行が少なくともW個のピクセル値を含むグレー・レベル・ピクセル値の複数の行の閾値マトリックスの対応している行を記憶するメモリ含む。スケーリング・レジスタが、N個のグレー・レベル宛先画像ピクセル領域を一致させるためにスケーリングされたN個のソース・グレー・レベル・ピクセル値を記憶する。同時に、閾値レジスタが、W個の閾値ピクセル値のN個まで出力する。調整ロジックは、閾値ピクセル値を閾値レジスタに入れる。コントローラは、調整ロジックを、閾値レジスタの中のN個の隣接するストレージ位置にW個の閾値ピクセル値を入れるために、稼働する。そして、NよりWが大きいならば、コントローラは、(W−N)個の前に入れられた閾値ピクセル値が出力されたあと、閾値レジスタの中の隣接するストレージ位置にW個の閾値ピクセル値を越えた分を入れることができるようにする。比較器は、N個のソース・ピクセル値をN個の閾値ピクセル値の対応するものと比較して、その比較に応じて、N個の二進値を宛先画像に割り当てる。
【0019】
【発明の実施の形態】
図8において、システム60は、第1解像度で複数のグレー・レベル・ピクセル値を含んでいるソース画像を、第2解像度で二進ピクセル宛先画像に、変換する。システム60は、パーソナル・コンピュータ、プリンタ、パーソナル・コンピュータとプリンタの組合せ、又はグレー・レベル・ピクセル・データを異なる解像度の二進ピクセル・データに変換する他の組合せの装置に含まれる。
【0020】
システム60は、関連ダイナミックRAM(DRAM)64を有するプロセッサ62を含む。プロセッサ62は、外部ソースからのグレー・レベル・ソース画像66を受信するか、又は内部アプリケーションの処理の結果、グレー・レベル・ソース画像66を生成する。ソース画像66を二進宛先画像に変換するために、制御パラメータが必要となる。スケーリング係数68は、宛先画像ピクセルにソース画像ピクセルの比率を定義する。大部分のプリンタ・アプリケーションにおいて、宛先画像は、ソース画像66より本質的にハイ・レベル解像度である。従って、スケーリング係数68は、ソース画像ピクセルに対して複数の宛先ピクセルがあるのを意味する、2と10の間の値(例えば6.5)を、一般的に示す。
【0021】
更に上述したように、制御パラメーターは、位置的に対応する、スケーリングされるソース画像ピクセルを宛先画像の中で白か黒の何れかのドットに変換するように各々命令する閾値グレー・レベル・ピクセル値の複数の行を含む閾値マトリックス70を有する。閾値マトリックス70の構造は、宛先画像の二進データが宛先画像の解像度になるように画像グレー・レベル表示を提供することを保証するようなものである。色々な閾値マトリックス70が従来技術で知られており、これ以上の記述は必要ない。
【0022】
更に、DRAM64は、スケーリングされるソース画像を「タイル張り」にする前に最初に位置決めをされる閾値マトリックスを、スケーリングされるソース画像の中で定義する閾値マトリックス・アンカを含む。閾値マトリックス・アンカ72は、一般にスケーリングされるソース画像のコーナー・ピクセル値を定義する。画像アンカ74は、二進ピクセル宛先画像にスケーリングされ変換される個々の部分を、ソース画像の中で定義する。
【0023】
DRAM64は、以下に示す構造のRIIA(水平)76を記憶する。RIIA76は、画像宛先の各々の列のための1ビットを含む二進値索引ビットのアレイである。RIIA76は、プロセッサ62によってスケーリング係数68に従って計算される。手短に言えば、RIIA76は、ソース画像ピクセルを宛先画像の解像度にスケーリングするために使用される。従って、スケーリング係数68が6であるならば、各ソース・ピクセルに対して6つの宛先ピクセルが存在する。各々のRIIA索引ビットは、対応する宛先ピクセルが現在のソース・ピクセルか次のピクセルのためのものであるかを定義する。この方法によって、宛先画像の列毎の単一ビットは、最小限の索引ビットの使用で、ソース画像を宛先画像解像度に完全にスケーリングすることができる。
【0024】
同様のことが、RIIA(垂直)78によって実行されるが、RIIA78は、宛先画像データの次の行と同一か又は相違するかを決めるために利用される。索引ビット値から決定し得る関係を基にソース・ピクセル値を決めることができるように、RIIA(水平)76及びRIIA(垂直)78の両方が、「関連」入力索引アレイとなる。
【0025】
以下の記述で明白になるように、ソース画像64の宛先画像への変換は、特定用途向けIC(ASIC)80内に含まれる回路によって、同時に達成され、急速に普及している。ASIC80は、データ・バス82とバス・インターフェース84を通してプロセッサ62とDRAM64の両方と通信する。静的ランダム・アクセス・メモリ(SRAM)86が、ASIC80上にあり、ソース画像ピクセルの行の少なくとも一部を記憶する分割された領域88、90、92、94と、閾値マトリックスと、特定のソース画像のためのRIIA(水平)と、画像変換機能から生じる宛先画像二進データと、を含む。
【0026】
スケール・ディザ・モジュール96は、ソース画像ピクセルを宛先画像ピクセル解像度にスケーリングし、二進データへの変換を可能にするために、スケーリングされるソース画像ピクセルを対応する位置の閾値マトリックス・ピクセルと連続的に同期して比較する状態マシーン98を含む。SRAM86とスケール・ディザ・モジュール96のオペレーションは、コントローラ100に制御される。適切なソース画像データと、閾値マトリックス・データと、RIIA索引ビットとが、状態マシーン98内にあるレジスタにロードされたとき、クロック信号は、コントローラ100、及びスケール・ディザ・モジュール96と状態マシーン98に、同期して発生する。SRAM86、状態マシーン98、及びバス・インターフェース84の組合せにおけるコントローラ100の動作は、以下の説明によって理解することができる。
【0027】
図9は、本発明によって使われるいろいろなデータ・ソースの相互作用を示している論理フローチャートである。更に、図9は、本発明のオペレーションを制御するために状態マシーン98によって使用される複数のポインタを示す図である。SRAM86(図8)は、ソース・データ88、閾値マトリックス90、水平スケーリング情報92(RIIA)、及び宛先二階調データ94を記憶する。各ソース画像ピクセルがスケーリング論理モジュール102でスケーリングされるように、ソース・ポインタは、ソース画像ピクセルからソース画像ピクセルまで増加する。本発明の実施例において、グレー・レベル・ソース・ピクセル・データの4バイト(32ビット)は、スケーリング論理102に供給され、同時に、4つの索引ビットが水平スケーリング情報92から供給される。スケーリング・スタート・ポインタは、スケーリング論理102に供給されたスケーリング情報の次のサブセットを示す。
【0028】
図10において、フローチャートは、SRAMアクセスの手順を示す。「サイクル(周期)」によって示された各々のステップは、マシン・サイクルがタスクを達成するために使用されなければならないことを示す。一方、タスクは手順の実行に影響を及ぼすことなく達成される。サイクルが実行されるとき、SRAMの中の領域を示すポインタは、増加する。
【0029】
最初に、閾値データのアクセスが実行される(ステップ150)。ある種の状況(以下で記述される)の下では、出力タイル張り閾値は、無効で、無視される。ステップ152で、閾値データが有効であるならば、手順は下に続く。次に、追加ソース・データが必要ならば(ステップ154)、スケーリング論理102による使用のためにSRAMからのソース・データのアクセスが実行される(ステップ156)。それから、閾値データとスケーリング・ソース・データの比較が実行され、結果として生ずる二進宛先ピクセル値がラッチされる(ステップ158)。宛先ピクセルのニブル計数(nibble count)は、維持され、4つの宛先ピクセルがラッチされるたびに、増加する(ステップ160)。ニブル計数が8に等しくないならば、32個の宛先ピクセル値がまだラッチされなかったことを示し、手順が繰り返される(ステップ162)。一方、ラッチされた二階調宛先ピクセル・データが、SRAMに記憶され(ステップ164)、追加RIIAデータが、SRAMから読み出され(ステップ166)、ニブル計数が、クリアされ(ステップ168)、そして、手順が繰り返される。
【0030】
図9に戻って、スケーリング論理102内で、受け取られた索引ビットが、個々のソース画像ピクセルをスケーリング論理102からの4バイト出力の一つで切換えることを制御する。それらの出力は、比較ラッチ二階調データ・モジュール104に供給される。スケーリング・オペレーションが、一般に、ソース画像データから宛先画像データまでの解像度の相当な増加(例えば、6倍以上)を必要とするので、ピクセル多重化が使用されていると仮定して、各ソース・ピクセルは、しばしば、索引ビットの制御の下、6回以上の複写が行われる。更に、図11の記載から理解できるように、行単位上のソース画像ピクセル・データの重複化は、SRAM86への多くのアクセスを排除することができる。
【0031】
同時に、上述のスケーリング・オペレーションにおいて、行スタート・ポインタと、現在の領域ポインタと、行エンド・ポインタとの制御の下、閾値マトリックス・データ90は、閾値タイル張り論理モジュール106に与えられる。そこで、閾値マトリックスは、宛先画像解像度アンカ・ポイントに合わせられ、そして、閾値ピクセル値に対応した位置に置かれるタイル張り閾値マトリックスを生じるために、最後の宛先画像の各々のピクセル位置が複写される。同様に、スケーリング論理102の出力は、宛先画像の中の各ピクセル領域に対して1つのソース画像ピクセルがあるように宛先画像解像度を表す。
【0032】
スケーリングされるソース画像ピクセルと対応する位置のタイル張り閾値マトリックス画像ピクセル値の各々は、比較ラッチ二階調データ・モジュール104の中で比較される。ソース・ピクセル値が対応する閾値マトリックス・ピクセル値より大きいか、それ以下かに依存して、出力二進ビットがソース・ピクセル値の代わりに提供される。それらの二進ビットは、宛先二階調データ記憶域94に与えられる。二階調ポインタは、SRAM制御モジュール100がSRAM86内で宛先二進ビットを正しい宛先画像ピクセル位置に入れることができるようにする。
【0033】
図9は、本発明が原則として本質的に並列に独立してスケーリングと閾値タイル張りを実行することを示す図である。適当なデータが関連入力レジスタにロードされるならば、そのような両方の機能が、発生したクロック信号の制御の下で同期して実行される。さらに、宛先画像の各々の行が処理されるならば、RIIA(垂直)は、ソース画像のスケーリング係数が与えられ、次の行の対応するソース・ピクセルが以前の行の対応するピクセルに同一であるか否かを示すために使用される。そして、6以上のスケーリング係数が使われていていると仮定するならば、平均して、少くとも5つの後続する行が同一であり、ピクセル多重化プロトコルに使用される。
【0034】
画像変換機能を達成するために要求されるサイクルを減少するために(図11参照)、画像は、処理のために複数の垂直帯に区分化される。これは、垂直方向のスケーリング係数は、ソース・データが各々の次の行のためにアクセスされる必要が無く、連続した行のために使用されることができ、従って、関連メモリ・アクセス・サイクルが回避できるという、特徴を示すものである。
【0035】
図8を参照して、SRAM86は、(費用を理由に)単一ポートRAMが好まれる。本発明は、いろいろな論理モジュールによってSRAM86にアクセス割込みを行い(図9参照)、SRAM86がクロック・サイクル毎に正しい領域に単一アドレスでポイントできるようにしている。本発明が処理データである場合は、SRAM86は、各クロック・サイクルでアクティブとなる。
【0036】
画像がラスタライズされるタイミングで、SRAM86は、分割される。SRAM86の中に4つの可変サイズ・オブジェクト、即ち、閾値アレイ(画像から画像まで変化する場合がある)、RIIA、ソース・ピクセル・データ、及び宛先二階調データ、がある。単一SRAM86の使用を通じて、コントローラ100が、その区分化を成し遂げ、スケーリング係数と一定の閾値マトリックスが与えられ、その記憶容量の最も効果的な使用を成し遂げる。従って、図12に示されるように、スモール・スケーリング係数があるならば、コントローラ100は、宛先二階調データ(二階調データがピクセル毎に1ビットを含むのに対して、ソース画像データはピクセル毎に8ビットを含む)より本質的に多くのメモリ空間をソース画像データに対して割り当てる。コントラストによって、ラージ・スケーリング係数が使われているならば(図13参照)、本質的に、SRAM86のより大きい領域が、RIIAビットのストレージと二階調データのために割り当てられる。
【0037】
本発明の特定の実施例を記述する前に、関連入力索引アレイ(RIIA)を説明する。RIIAは、ソース画像グレー・レベル・データを宛先画像データの解像度にスケーリングすることを可能にする非常に効率的なデータ・アレイである。RIIAフォーマットは、図14に示されており、4バイト・ヘッダ・フィールド120と、ソース画像を宛先画像の解像度にスケーリングするために各スケーリング機能で使用されるソース画像ピクセルを定義する可変長入力索引フィールド122を含む。600dpiプリンタのために、水平RIIAの入力索引量122は、600dpi×8インチ(20.3cm)=4,800ビット又は600バイトである。
【0038】
ヘッダ120は、縮小化機能の中で使用される次のソース・ピクセルのサーチ毎に成長するソース・ピクセルの最小数を指定する8ビットDS索引フィールド124を含む。不変又は拡大機能において、このフィールドは、「O」である。srcスキップ・フィールド126は、スケーリングされるソース画像の第1ピクセルを見つけることを省略するためのピクセルの数を示す16ビットである。
【0039】
入力索引122は、宛先画像の単一ビット/列を含む。それは、スケーリングする際に使用され、宛先ビットマップの中で使用されていた現在のソース・ピクセルをポイントするソース・ピクセル・ポインタと関連する。ソース・ピクセル・ポインタが、srcスキップによって指定されたピクセルに初期化される。即ち、第1ピクセルは、スケーリングの間、装置によって考慮される。
【0040】
入力索引の2つの一般的な形式がある。
【0041】
不変又は拡大の場合:
そのような場合において、DS索引フィールド124は、0の値を含む。入力索引122のビット位置の中の「O」は、ソース・ピクセル・ポインタによって示されたピクセルが宛先画像の中で使用されることを示す。入力索引122のビット位置の中の「1」は、(ソース・ピクセル・ポインタ+1)によって示されたピクセルが宛先画像の中で使用され、ソース・ピクセル・ポインタが続いて増加することを示す。
【0042】
縮小化の場合:
この場合が、DS索引フィールド124が1〜255の間の値を含む場合を指定する。入力索引122の第1ビットの値に関係なく第1ソース・ピクセルは、第1宛先ピクセルとして使用される。アレイの中の次のエントリのために、「O」値は、対応している宛先ピクセルが(ソース・ピクセル・ポインタ+DS索引)によってポイントされたソース・ピクセルであることを示す。「1」は、対応している宛先ピクセルが(ソース・ピクセル・ポインタ+DS索引+1)によってポイントされたソース・ピクセルであることを示す。各々の場合において、ソース・ピクセル・ポインタは、使用される新しいソース・ピクセルに更新される。
【0043】
RIIA(垂直)は同じ方法で機能するが、列ピクセルの代わりに、行がスケーリングされる。
【0044】
上述の特定のビット及びバイトの長さが一実施例であり他のデータ長によって代用されることは、当業者にとって明白なことである。しかしながら、入力索引122は、常に、宛先画像行データの列毎に1ビットの位置しか持たない。
【0045】
図15において、RIIA(水平)の使用の例を示す。ソース画像データが拡大されると仮定して、DS索引124の値は0であり、宛先の中で使用するための次のソース・ピクセルを見つける毎に成長するソース・ピクセルの数は0であり、従って、srcスキップ=0である。そして、宛先画像を構築して使用される第1ソース・ピクセルは、第1ソース・ピクセルであり、何も省かれていない。
【0046】
最初の4つのソース・ピクセルが235、142、228及び250のグレー・レベルと等しい各々8ビットの値であると仮定して、ソース画像の中のそれらの位置が、図15の130で示される。RIIA132内で、宛先画像134中にあらゆるバイトのための入力索引ビットがある。上述の規則を以下に示すと、RIIA索引ビットが「0」であるならば、「現在の」ソース・ピクセルは、宛先画像に入れられ、そのソース・ピクセルは、現在のソース・ピクセルのままである。RIIA索引ビットが「1」であるならば、「次の」ソース・ピクセルが、宛先画像に入れられ、次のピクセルは、「現在の」ピクセルになる。図15において、RIIA132の中の最初の0は、235のソース・ピクセル値が最初の宛先ピクセル・データ位置に入れられることを示している。前述の規則を以下に示すと、現在のソース・ピクセルの位置が増加されなかったように、RIIA132の中の2番目の「0」は、宛先データ134に値235を置く。RIIA132の中の次の「1」値は、ソース画像ピクセルに対するポインタが1によって増加させられ、次の利用可能な宛先画像ピクセル位置にポイントされるピクセル値となることを示す。
【0047】
縮小化オペレーションは、上述された拡大化手順から明白なものである。
【0048】
本発明のさらに詳細な実施例を、図16の中で示し、以下において、処理時間当たり8ビット/ピクセル・データで4ピクセルの場合を考える。図示された位相は、いくつかのパラレル・ピクセルの数でデータ・ピクセル長を操作するためにスケーリングされる。
【0049】
図16において、コントローラ100(図8)によって、4つの8ビット・ソース・ピクセルが画像ソース・レジスタ200に挿入される。同様に、コントローラ100によって、複数のRIIA(水平)索引ビットがRIIレジスタ202に挿入される。また、SRAM86内の閾値マトリックスからの行が、閾値ステージング・レジスタ204に挿入される。システム内の次の処理の間、全ての出力データが次のクロック・サイクル上で有効であると保証する時に、コントローラ100は、レジスタ200、202へ及びSRAMからデータの書込みを達成する。この機能は、全システムが順に発生したクロック・パルスに従って同期して稼働することを保証する。従って、ソース・ピクセルの宛先解像度へのスケーリング及び閾値マトリックス・ピクセル値の調整とタイル張りは、同時に、発生したクロック信号でのロック・ステップの中で起こる。更に、閾値マトリックス・ピクセル値が比較器206に適用されるとき、スケーリングされた画像ソース・レジスタ208からのスケーリングされるソース画像ピクセルが存在し有効であることが、保証される。
【0050】
スケーリング及び閾値調整の機能が平行して稼働する間、図16のオペレーションが、最初にソース画像ピクセルのスケーリングを、次に、閾値マトリックス・ピクセル値の調整とタイル張りを示している。
【0051】
コントローラ100が画像変換処理を開始するならば、RIIレジスタ202に発生した各々のクロック信号によって、索引ビット値(4つのグループの中の)がマルチプレクサ210に出力される。マルチプレクサ210に入力される「選択」によって、スケーリング・スイッチ論理212の中の対応する列位置に4つの索引ビットが結合される。同時に、画像ソース・レジスタ200からの4つのソース・ピクセルが、スケーリング・スイッチ論理212に記録される。上述の規則に従って、適用された索引ビットによって、ソース・ピクセルのそれぞれが複数の出力ライン214に発生し、スケーリング画像ソース・レジスタ208に入力される。
【0052】
画像ソース・レジスタ200の中のソース・バイトが不足した場合、SRAMアクセスが要求される。画像ソース・レジスタ200の中に残っている残余ソース・ピクセル値が、RIIA索引ビットに応じてスケーリング画像ソース・レジスタ208にロードされる。次のサイクルで、追加ソース・ピクセルは、アクセスされ、画像ソース・レジスタ200にロードされる。
【0053】
6以上のスケーリング係数が使われており、ピクセル多重化がスケーリングの方法であると仮定するならば、一つの8ビット・ソース・ピクセルが、各々の出力ライン214上で複写され、同様に、スケーリング画像ソース・レジスタ208の4つのレジスタ位置の各々に入れられる。次のクロック信号によって、それらのソース・ピクセル値の各々が比較器206に出力される。
【0054】
上記のスケーリング作用と同時に、閾値マトリックス調整とタイル張りが起こる。閾値マトリックスの各行の中の閾値マトリックス・ピクセル値の数が、レジスタ208の中のスケーリングされる画像ソース・ピクセルの数に等しいならば、調整機能は簡単なものとなる。調整は、一対の閾値調整スイッチ216と218に「モード」信号を適用することによって達成される。しかしながら、閾値マトリックスの行の中の閾値マトリックス・ピクセル値の数がスケーリングされるソース画像ピクセルの数に等しいとき、閾値調整スイッチ216と218は、閾値マトリックス・ピクセル値が閾値パイプライン・レジスタ220を通じて流れ、ピクセル位置に対応する閾値レジスタ222の中に置かれるように処理される。
【0055】
閾値マトリックスの行の中の閾値マトリックス・ピクセル値の数(即ち、=W)が、スケーリング画像ソース・レジスタ208からのスケーリングされる画像ソース・ピクセルの数(即ち、N)と同じものでない場合、調整の問題は、より複雑である。そのような状況のでは、2つの連続する閾値マトリックス・ピクセル行入力からのエレメントが、スケーリングされるソース画像ピクセル値で閾値マトリックス行値の有効な調整を達成するのに使用されなければならない。これが、閾値レジスタ222に加えて閾値パイプライン・レジスタ220を含める理由である。各々の閾値調整スイッチ216と218は、多重型式の中で、スケーリングされる画像ソース値で閾値マトリックス・ピクセル値を調整するために、閾値マトリックス・ピクセル値を一定の方向に向けるように稼働する。閾値調整スイッチ216からの出力が閾値パイプライン・レジスタ220に供給されるだけでなく、直接、閾値調整スイッチ218に供給され、閾値パイプライン・レジスタ220を迂回することに留意されたい。
【0056】
閾値調整スイッチ216と218の各々が、前述のように、コントローラ100からのモード入力によって、制御される。図17〜20の中で示されるように、コントローラ100は、閾値マトリックス行の幅Wとレジスタ208からスケーリングされた画像ソース・データまでの関係に従って、N個の別個のモード信号を発生する。従って、図17の中で示されるように、WがN(Nはレジスタ208の中のスケーリングされた画像ソース・データのピクセルの数である)と等しいとき、モード0が使用される。図18、19、及び20で示されるように、他のモードの各々は、パイプライン型式で、SRAMからWとNの差分を考慮に入れた修正調整の中の閾値レジスタ222へ読み出された閾値ピクセル値の切換えを可能にする。
【0057】
いろいろなモード入力に対応して閾値調整スイッチ216と218の各々の中で起こる切換えは、図21を参照すると容易に理解することができる。閾値マトリックスが幅W=5を持つと仮定すると、それは最少の効率であり、システムが処理できる「最悪の場合」の状況である。それぞれの閾値ピクセル値(Wの閾値幅を含む)を、バイトA、B、C、D及びEとしてこの後参照する。図21に、閾値レジスタ222への調整と挿入の後の閾値ピクセル値の連続したバイトを示す。その後、それぞれの閾値ピクセル値は、比較器206の中でレジスタ208からのスケーリングされるソース画像ピクセルで比較される。
【0058】
図21は、閾値ステージング・レジスタ204、閾値パイプライン・レジスタ220、及び閾値レジスタ222の内容をクロック毎に示している。クロック・サイクル1と2の間で、コントローラ100は、閾値調整スイッチ216と218にモード=0を適用する。この結果、閾値マトリックス・ピクセル値のストレート・スルー・パイプライン化が、SRAMから閾値レジスタ220に起こる。
【0059】
閾値行のエンドのみが、ターゲットとなるモード変更であり、この場合、コントローラ100は、モード=0からモード=3へ移行する。そのような状況(クロック・サイクル3)の下に、閾値パイプライン・レジスタ210の中の各々のレジスタ位置が、閾値ピクセル・バイトDの値を受信し、A、B及びCの閾値ピクセル・バイトが、直接、閾値レジスタ222の中の3つの低位のバイト位置へ入力される。直前のクロック・サイクルから、閾値ピクセル・バイトEは、最も高位のバイト位置に常駐する。従って、後続するクロック・サイクルが起こるとき、閾値ピクセル値E、A、B及びCは、比較器206に書き込まれる。クロック・サイクル4の間、バイトDが、パイプライン閾値レジスタ220からパイプライン・レジスタ222に入れられ、そして、バイトE、A及びBは、直接SRAM204からロードされる。図示されるように、オペレーションは、クロック・サイクル5〜8の間、モード2と1を実行し、繰り返す。
【0060】
閾値マトリックスが宛先画像解像度と一致するためにタイル張りであるとき、エンド・バイトにオフセットがある(各々の閾値行が宛先画像の整数サブ並列でないならば)ことに留意する。そのような場合、SRAMの中の行エンドでの閾値マトリックス・バイト値は、閾値マトリックス行と宛先画像の両方の同時に起こる終了を保証するために「満たされる」。例えば、クロック・サイクル4の間、バイトAとBは、パイプライン・レジスタ222に入れられるワードを満たすために使用される。
【0061】
個別の欠落のため、閾値ピクセル値は閾値ピクセル行の最後の(5番目の)バイトを含んでいる4バイトと関連し、結果的にストリーム(即ち、閾値レジスタ222の内容)の欠陥が起こる。たとえば、クロック・サイクル4の終わりで、Cのバイトは、閾値パイプライン・レジスタ220内で全ての位置を占める。クロック・サイクル5の間にパイプライン・レジスタ222から生ずる有効ワード(4バイト)において、2つの高位バイトがCとDであるが、パイプライン・レジスタ222へロードするための閾値パイプライン・レジスタ220の中にDの値はない。この結果、パイプライン・レジスタ222にロードされたワードは、無効となる。無効なワードが比較器206に送り出されるとき、無効な二階調データが結果として得られる。しかしながら、コントローラ100が、二階調レジスタ230への二階調出力データのラッチングを禁止し、更に、スケーリングされた画像ソース・レジスタ208への新しいスケーリングされるソース・ピクセルの挿入を禁止する。次の有効ワードが閾値レジスタ222から生ずるとき、比較手順が再び始まる。
【0062】
再び、Wが5である閾値マトリックスが最少の効率の場合であり、他のクロック毎にモード信号が変わる。8つのクロック・サイクルの中の3つは、無効データをもたらす。Wの他の値のために、モード信号が変わらなく、有効閾値マトリックス4バイト・グループがクロック・サイクル毎に閾値レジスタ222から及びそれより長い閾値行から現れるとき、モード信号としての効率が、行境界上のみでよりよいものに変わる。大部分の共通の閾値マトリックスが16×16であり、そのマトリックスを使用し、そして、Wが4の倍数である他のマトリックスが、一定のモード信号オペレーションを引き起こす。
【0063】
図16を参照して、比較器206が、対応するバイトのそれぞれのグレー・レベル値を比較することによって、閾値レジスタ222とスケーリングされた画像ソース・レジスタ208からの出力に対応する。閾値レジスタ・ピクセル値よりスケーリングされた画像ソース・ピクセル値が大きいならば、1ビットがそれぞれの比較器から生ずる。他の状況では、0ビットは、それぞれの比較器から生じ、32ビット二階調レジスタ230へ入力される。32ビット二階調レジスタ230がフルであるとき、その内容が、記憶されるためにSRAM86に書かれる。
【0064】
システムは、WとNが2つの変数を使うことによってお互いに同じもの又は正確な倍数でないときに生成される無効なワードを、処理する。最初の変数は、上で論じられた「モード」であって、閾値ピクセル・データが閾値パイプライン・レジスタ220と閾値レジスタ222に切り換えられる方法を決める。2番目の変数が、「モード・デルタ」と呼ばれており、閾値行が終了し、閾値ピクセル・データの次の行が開始されたとき、「モード」変数を変更するための方法を示す。モード・デルタは、閾値行の最後のバイトが処理された後、「残っている」ワードのバイト数と同じにセットされる。モード・デルタ変数は、閾値行が「再開される」毎に適用される。
【0065】
前述の変数によって、閾値マトリックスが使われ、N個の無効なバイトが閾値レジスタ222にあることを決定する。ここで、WとNは等しくない。そのモードとモード・デルタ変数だけを使用して、無効なワードが図16の中で示された論理からいつ生成されるかを知ることができる。
【0066】
上述のように、モード・デルタは、閾値行に残った閾値ピクセルの数に等しい。モードの最大値は、N−1である。モード・デルタが閾値行のエンドでモードに追加され、そして、結果がN−1を越えるとき、閾値レジスタ222の中に常駐する最初のワード(例えば4バイト)は、新しい閾値マトリックス行の開始で、無効となる。上述の実施例において、4つのモードの値(即ち、0〜3)があり、モードの最大値が3(即ち、4−1=3)である。モードとモード・デルタの合計(モジュロN)は、次のモード値を決める。例えば、モード・デルタが2で、モードが3であるならば、その合計は1(モジュロ4)であり、モード1が次に適用される制御状態である。モード・デルタ値(即ち、=3)が現在のモード値に追加され、合計が3の値を越えるとき、閾値レジスタ222から出るワード(4バイト)は無効である。
【0067】
閾値行の再開始の場合、モードの値が0で、3のモード・デルタが0に追加されるならば、3の最大値を越えない。従って、モード3の場合に生成された最初のワードは有効である。しかしながら、モード・デルタ値が再びそれに追加されるとき、6という最大値を越える結果となるので、最初のワードは無効である。モード値はモジュロ4の機能の結果であるので、2になる。閾値行の初めでラップ(wrap)が生じるたびに、この処理が再び行われる。
【0068】
以下に、本発明の実施態様の例を示す。
【0069】
(1)行列の第1の解像度で配列され、各々がマルチ・ビット・グレー・レベル値を明示するソース・ピクセルを含むソース画像を、行列の第2の解像度で配列された二進ピクセルの宛先画像に変換するシステムにおいて、少なくとも前記ソース・ピクセルの行の一部と、マトリックス・ピクセル値の複数の行であって各々が1より大きい整数であるW個のマトリックス・ピクセル値を持つ前記行を有するマトリックスと、前記宛先画像の行の初期ピクセル領域を識別するアンカとを記憶するメモリ手段と、1より大きくWとは異なる整数であるN個のソース・マルチ・ビットグレー・レベル・ピクセル値を記憶するスケーリング・レジスタ手段と、W個のマトリックス・ピクセル値の行を記憶し、同時に、N個の前記マトリックス・ピクセル値上に出力する閾値レジスタ手段と、前記メモリ手段と前記閾値レジスタ手段との間に接続され、前記W個のマトリックス・ピクセル値の行を前記メモリ手段から前記閾値レジスタ手段へ入力する調整論理手段と、前記調整論理手段に接続され、前記WとNとの値に応じて、前記調整論理手段が前記W個のマトリックス・ピクセル値を前記閾値レジスタ手段のN個の隣接する記憶位置に入力するように制御し、もしW>Nならば、(W−N)個の前に入力されたマトリックス・ピクセル値を出力した後に、前記閾値レジスタ手段の隣接する記憶位置に前記W個のマトリックス・ピクセル値の後続を入力する制御手段と、を有する前記システム。
【0070】
(2)前記スケーリング・レジスタ手段が、N個のマルチ・ビット・グレー・レベル宛先画像ピクセル位置に一致させるためにスケーリングされるN個のソース・マルチ・ビット・グレー・レベル・ピクセル値を記憶し、更に、前記システムが、前記閾値レジスタ手段と前記スケーリング・レジスタ手段とに接続され、前記N個のソース・マルチ・ビット・グレー・レベル・ピクセル値を前記閾値レジスタ手段から出力された前記N個のマトリックス・ピクセル値の対応するものと比較し、その比較に応じて、前記宛先画像にN個の二進値を配列する、比較手段を有する、(1)記載のシステム。
(3)更に、前記メモリ手段が前記宛先画像の行の初期ピクセル位置を識別するアンカ値を記憶し、前記制御手段は、前記メモリ手段が前記閾値レジスタ手段に前記マトリックスの最初の行の第1のグレー・レベル閾値であるマトリックス・ピクセルを出力するように前記アンカ値を操作し、前記スケーリング・レジスタ手段に最初のソース・ピクセル値を配置する、(2)記載のシステム。
【0071】
(4)前記閾値レジスタ手段が、閾値パイプライン・レジスタと閾値レジスタとを有し、前記調整論理手段が、前記メモリ手段と前記閾値パイプライン・レジスタとの間に接続されている第1の論理スイッチと、前記閾値パイプライン・レジスタと前記閾値レジスタとの間に接続されている第2の論理スイッチとを有し、前記閾値パイプライン・レジスタと前記閾値レジスタの両方がN個の記憶位置を有し、前記制御手段が、連続するクロック周期の間、前記閾値パイプライン・レジスタと前記閾値レジスタとに前記メモリ手段から最初のN個のマトリックス・ピクセル値を入力するようにモード制御信号を適用し、前記制御手段が、次のクロック周期の間、前記閾値パイプライン・レジスタに前記メモリ手段から次の前記マトリックス・ピクセル値を入力するようにモード制御信号を適用し、もしW>Nであるならば、前記メモリ手段からの前記最初の閾値の残余の部分を前記閾値レジスタの隣接する位置に入力する、(2)記載のシステム。
【0072】
(5)前記最初のモード制御信号が、W=Nのとき前記制御手段によって発生され、前記第1と第2の論理スイッチが前記N個の閾値ピクセル値を前記閾値パイプライン・レジスタと前記閾値レジスタの両方に入力するようにする(4)記載のシステム。
(6)前記2番目のモード制御信号が、W=N+1のとき前記制御手段によって発生され、前記第1と第2の論理スイッチが前記N+1番目の閾値ピクセル値を前記閾値パイプライン・レジスタから前記閾値レジスタの高位の記憶位置に入力するようにし、N個のマトリックス・ピクセル値の次のセットの追加したものを前記閾値レジスタの低位の位置に入力するようにする(4)記載のシステム。
(7)前記閾値レジスタからの出力が無効データを示し、前記制御手段が前記システムからの前記無効データの出力を防止する(4)記載のシステム。
【0073】
(8)前記制御手段が、前記出力を防止する場合を決定するための2つの変数を持ち、第1の変数が、前記マトリックスの低位エンドに残存しているマトリックス・ピクセルのNより小さい数に等しく、第2の変数が、前記制御手段によって前記調整論理手段に適用されるスイッチ・ステータスの数の1つに等しく、前記制御手段は、前記第1の変数と第2の変数の合計が、前記スイッチ・ステータスの数よりも大きいとき、前記出力を禁止する、(7)記載のシステム。
(9)前記制御手段が、次のスイッチ・ステータスを設定するために前記合計を使用する(8)記載のシステム。
【0074】
【発明の効果】
上述のように、本発明によって、グレー・レベル・ソース画像を二進中間調宛先画像に変換し、メモリ資源を保護する高速システムを提供することができるようになった。
【図面の簡単な説明】
【図1】ソース画像をスケーリングし、スケーリングされたソース画像を一致させるために閾値マトリックスを整列させ、タイル張りにし、宛先二階調画像にするためにスケーリングされたソース画像とタイル張り閾値マトリックスを比較する処理を図示する概略図である。
【図2】複数のグレー・レベル・ピクセル値を持つソース画像の図である。
【図3】図2のソース画像を1.5倍に拡大した図である。
【図4】図2のソース画像を0.75倍に縮小した図である。
【図5】マルチ・ビット入力索引アレイとピクセル多重化手順を使用して、ソース画像を拡大する従来技術の方法を示す図である。
【図6】双直線スケーリング・アルゴリズムを含む、マルチ・ビット入力索引アレイを使用しているソース画像を拡大する従来技術の方法を示す図である。
【図7】マルチ・ビット入力索引アレイとサブサンプリング・アルゴリズムを使用してソース画像を縮小化する従来技術の方法を示す図である。
【図8】本発明のシステムのブロック図である。
【図9】グレー・レベル・ソース画像を二階調宛先画像に変換している間のいろいろなデータ・ソースの相互作用を示す本発明の論理フローチャートである。
【図10】SRAMアクセスを制御する方法を示すフローチャートである。
【図11】本発明によって処理される垂直帯を示す、ラスタ画像ページ表示の概略図である。
【図12】スモール・スケーリング係数がソース画像に使用される場合の、メモリ区分の概略図である。
【図13】ラージ・スケーリング係数がソース画像に使用される場合の、メモリ区分の概略図である。
【図14】「関連」入力索引アレイ・フォーマットを示す図である。
【図15】関連入力索引アレイの索引ビットの位置の値によって制御されるような、ソース・データと宛先データの間の関係を示す図である。
【図16】本発明に従って稼働する回路を示す詳細なブロック図である。
【図17】閾値マトリックス・レジスタと閾値出力レジスタの間の4モード制御相互接続を示す図である。
【図18】閾値マトリックス・レジスタと閾値出力レジスタの間の4モード制御相互接続を示す図である。
【図19】閾値マトリックス・レジスタと閾値出力レジスタの間の4モード制御相互接続を示す図である。
【図20】閾値マトリックス・レジスタと閾値出力レジスタの間の4モード制御相互接続を示す図である。
【図21】閾値マトリックス調整過程の実行処理を示す図である。
【符号の説明】
22 26 ソース・グレー・レベル画像
24 グレー・レベル画像の拡大バージョン
60 システム
80 ASIC
82 データ・バス
132 RIIA
200 画像ソース・レジスタ
202 RIIレジスタ
204 閾値ステージング・レジスタ
Claims (9)
- 第1の解像度で行および列に配列されるソース・ピクセルを含むソース画像を、第2の解像度で行および列に配列される2進ピクセルの宛先画像に変換するためのスケーリング・システムであって、それぞれのソース・ピクセルは、マルチ・ビットのグレー・レベル値を表しており、
少なくとも1行の前記ソース・ピクセルの一部と、少なくともW個のマトリックス・ピクセル値をそれぞれの行が有する複数の行のマトリックスと、前記宛先画像の或る行の初期ピクセル位置を特定するアンカー値と、を記憶するメモリ手段であって、該Wは1より大きい整数である、メモリ手段と、
N個のマルチ・ビット・グレー・レベルのソース・ピクセル値を記憶するスケーリング・レジスタ手段(200、212、208)であって、Nは1より大きい整数であり、かつWとは異なることのできる整数である、スケーリング・レジスタ手段と、
1行のW個のマトリックス・ピクセル値を記憶し、最大N個の該マトリックス・ピクセル値をパラレルに出力する閾値レジスタ手段(220、222)と、
前記メモリ手段および前記閾値レジスタ手段の間に連結され、前記メモリ手段からの前記1行のW個のマトリックス・ピクセル値を、前記閾値レジスタ手段に制御可能なように入力する調整論理手段(216,218)と、
前記調整論理手段に連結された制御手段であって、前記Wの値および前記Nの値に応じて、前記W個のマトリックス・ピクセル値を、前記閾値レジスタ手段のN個の連続した記憶位置に入力するよう前記調整論理手段を制御し、W>Nである場合には、前回入力された(W−N)個のマトリックス・ピクセル値が出力された後で、該W個のマトリックス・ピクセル値の超過部分を、前記閾値レジスタ手段の連続した記憶位置に入力するよう前記調整論理手段を制御する制御手段と、
を備える、システム。 - 前記スケーリング・レジスタ手段は、N個のマルチ・ビット・グレー・レベルの宛先画像ピクセルの位置と一致するようスケーリングされたN個のマルチ・ビット・グレー・レベルのソース・ピクセル値を記憶し、
前記閾値レジスタ手段および前記スケーリング・レジスタ手段に連結された比較手段(206)であって、前記N個のマルチ・ビット・グレー・レベルのソース・ピクセル値を、前記閾値レジスタ手段から出力された前記N個のマトリックス・ピクセル値の対応するものと比較し、該比較に従って、N個の2進値を前記宛先画像に割り当てる比較手段をさらに備える、請求項1に記載のシステム。 - 前記メモリ手段は、さらに、前記宛先画像の或る行における初期ピクセル位置を特定するアンカー値を記憶し、
前記制御手段は、前記アンカー値を用いることにより、前記マトリックスの第1の行にある、第1のグレー・レベル閾値であるマトリックス・ピクセルを、前記メモリ手段から前記閾値レジスタ手段に出力させ、該マトリックス・ピクセルが、前記スケーリング・レジスタ手段における第1のソース・ピクセル値に位置合わせされるようにする、請求項2に記載のシステム。 - 前記閾値レジスタ手段は、閾値パイプライン・レジスタ(220)および閾値レジスタ(222)を備えており、
前記調整論理手段は、前記メモリ手段と前記閾値パイプライン・レジスタの間に連結された第1の論理スイッチと、該閾値パイプライン・レジスタと前記閾値レジスタの間に連結された第2の論理スイッチを有しており、
前記閾値パイプライン・レジスタおよび前記閾値レジスタの両方は、N個の記憶位置を有しており、
前記制御手段は、サイクルごとに、第1のマトリックス・ピクセル値のうちのN個が、前記メモリ手段から、前記閾値パイプライン・レジスタに入力され、その後に前記閾値レジスタに入力されるように、モード制御信号を印加し、
前記制御手段は、さらなるクロック・サイクル中に、さらなる前記マトリックス・ピクセル値を、前記メモリ手段から前記閾値パイプライン・レジスタに入力されるようにし、W>Nである場合には、前記メモリ手段からの前記第1のマトリックス値の超過部分が、前記閾値レジスタの連続した位置に入力されるように、モード制御信号を印加する、請求項2に記載のシステム。 - W=Nである場合、第1のモード制御信号が前記制御手段により印加され、前記第1および第2の論理スイッチによって、前記N個のマトリックス・ピクセル値を前記閾値パイプライン・レジスタおよび前記閾値レジスタの両方に入力されるようにする、請求項4に記載のシステム。
- W=N+1である場合、第2のモード制御信号が前記制御手段により印加され、前記第1および第2の論理スイッチにより、(N+1)番目のマトリックス・ピクセル値が、前記閾値パイプライン・レジスタから、前記閾値レジスタの高位側の記憶位置に入力されるようにし、N個のマトリックス・ピクセル値の次のセットは、前記閾値レジスタの低位側の記憶位置に入力されるようにする、請求項4に記載のシステム。
- 前記閾値レジスタからの出力は、無効データを表すことがあり、前記制御手段は、該システムからの該無効データの出力を禁止する、請求項4に記載のシステム。
- 前記制御手段は、2つの変数を用いて、前記出力を禁止する場合を判断し、第1の変数は、前記マトリックスの行の終わりに残留するマトリックス・ピクセルの数(<N)に等しく、第2の変数は、前記調整論理手段に前記制御手段によって印加されうる切換状態値のうちの1つに等しく、
前記制御手段は、前記第1の変数および前記第2の変数の合計が、前記印加されうる切換状態値の数を超えた時、前記出力を禁止する、請求項7に記載のシステム。 - 前記制御手段は、前記合計を用いて、次の切換状態を始める、請求項8に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US610,683 | 1996-03-04 | ||
US08/610,683 US5781308A (en) | 1996-03-04 | 1996-03-04 | High speed system for threshold matrix alignment and tiling, during creation of a binary half-tone image |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH103537A JPH103537A (ja) | 1998-01-06 |
JP3880680B2 true JP3880680B2 (ja) | 2007-02-14 |
Family
ID=24446007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04310997A Expired - Fee Related JP3880680B2 (ja) | 1996-03-04 | 1997-02-27 | ソース画像を宛先画像に変換するシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5781308A (ja) |
EP (1) | EP0794654B1 (ja) |
JP (1) | JP3880680B2 (ja) |
DE (1) | DE69635368T2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6052113A (en) * | 1997-05-30 | 2000-04-18 | Hewlett-Packard Company | Methods and apparatus for processing data values representative of an image with efficient dither matrices |
US6930800B1 (en) * | 1998-09-09 | 2005-08-16 | Fuji Xerox Co., Ltd. | Halftone generation system and halftone generation method |
JP2000253215A (ja) * | 1999-03-02 | 2000-09-14 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
US8200020B1 (en) * | 2011-11-28 | 2012-06-12 | Google Inc. | Robust image alignment using block sums |
US8446481B1 (en) | 2012-09-11 | 2013-05-21 | Google Inc. | Interleaved capture for high dynamic range image acquisition and synthesis |
US8866927B2 (en) | 2012-12-13 | 2014-10-21 | Google Inc. | Determining an image capture payload burst structure based on a metering image capture sweep |
US9087391B2 (en) | 2012-12-13 | 2015-07-21 | Google Inc. | Determining an image capture payload burst structure |
US8866928B2 (en) | 2012-12-18 | 2014-10-21 | Google Inc. | Determining exposure times using split paxels |
US9247152B2 (en) | 2012-12-20 | 2016-01-26 | Google Inc. | Determining image alignment failure |
US8995784B2 (en) | 2013-01-17 | 2015-03-31 | Google Inc. | Structure descriptors for image processing |
US9686537B2 (en) | 2013-02-05 | 2017-06-20 | Google Inc. | Noise models for image processing |
US9117134B1 (en) | 2013-03-19 | 2015-08-25 | Google Inc. | Image merging with blending |
US9066017B2 (en) | 2013-03-25 | 2015-06-23 | Google Inc. | Viewfinder display based on metering images |
US9077913B2 (en) | 2013-05-24 | 2015-07-07 | Google Inc. | Simulating high dynamic range imaging with virtual long-exposure images |
US9131201B1 (en) | 2013-05-24 | 2015-09-08 | Google Inc. | Color correcting virtual long exposures with true long exposures |
US9615012B2 (en) | 2013-09-30 | 2017-04-04 | Google Inc. | Using a second camera to adjust settings of first camera |
US10788420B2 (en) * | 2018-04-25 | 2020-09-29 | Yokogawa Electric Corporation | Gas analyzer |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4246614A (en) * | 1979-12-26 | 1981-01-20 | Xerox Corporation | Binary graphic printer system having an electronic screen with shift control suited for rescreening |
JPS57171337A (en) * | 1981-04-14 | 1982-10-21 | Dainippon Screen Mfg Co Ltd | Production of halftone plate picture |
US4701808A (en) * | 1983-11-01 | 1987-10-20 | Canon Kabushiki Kaisha | Image processing apparatus with variable magnification and gray level processing |
JPS60165873A (ja) * | 1984-02-09 | 1985-08-29 | Dainippon Screen Mfg Co Ltd | 網点発生器のアドレス発生方法 |
AU605298B2 (en) * | 1987-05-29 | 1991-01-10 | Digital Equipment Corporation | System for producing dithered images on asymmetric grids |
US5289293A (en) * | 1989-03-14 | 1994-02-22 | Canon Kabushiki Kaisha | Pixel density conversion and processing |
US5297289A (en) * | 1989-10-31 | 1994-03-22 | Rockwell International Corporation | System which cooperatively uses a systolic array processor and auxiliary processor for pixel signal enhancement |
EP0740458B1 (en) * | 1991-02-08 | 2002-06-19 | Adobe Systems Inc. | Method of controlling dot size in digital halftoning with multi-cell threshold arrays |
US5124803A (en) * | 1991-02-25 | 1992-06-23 | Ecrm | Method and apparatus for generating digital, angled halftone screens using pixel candidate lists and screen angle correction to prevent moire patterns |
EP0529965A3 (en) * | 1991-08-23 | 1993-12-08 | Levien Raphael L | High speed screening of images |
US5438431A (en) * | 1992-05-21 | 1995-08-01 | Ostromoukhov; Victor B. | Method and apparatus for generating digital halftone images using a rotated dispersed dither matrix |
US5526445A (en) * | 1993-08-23 | 1996-06-11 | Prepress Solutions, Inc. | Spot function endtone noise and growth |
US5422742A (en) * | 1993-09-08 | 1995-06-06 | Ostromoukhov; Victor B. | Method and apparatus for generating halftone images by discrete one-to-one dither tile rotation |
-
1996
- 1996-03-04 US US08/610,683 patent/US5781308A/en not_active Expired - Lifetime
- 1996-08-26 EP EP96113636A patent/EP0794654B1/en not_active Expired - Lifetime
- 1996-08-26 DE DE69635368T patent/DE69635368T2/de not_active Expired - Fee Related
-
1997
- 1997-02-27 JP JP04310997A patent/JP3880680B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0794654A3 (en) | 2003-05-14 |
DE69635368D1 (de) | 2005-12-08 |
DE69635368T2 (de) | 2006-08-03 |
EP0794654A2 (en) | 1997-09-10 |
US5781308A (en) | 1998-07-14 |
JPH103537A (ja) | 1998-01-06 |
EP0794654B1 (en) | 2005-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3880680B2 (ja) | ソース画像を宛先画像に変換するシステム | |
JP3224866B2 (ja) | 画像の回転、拡大・縮小およびディジタルハーフトーン・スクリーニングをまとめて行うためのタイル方式の処理方法 | |
JP2796329B2 (ja) | 表示メモリとそれを備えた画像処理装置 | |
US5781201A (en) | Method for providing improved graphics performance through atypical pixel storage in video memory | |
JP2733696B2 (ja) | ハーフ・トーン・ピクセル・プロセッサ | |
KR100438246B1 (ko) | 스케일링시스템 | |
US5771105A (en) | High speed system for grey level image scaling, threshold matrix alignment and tiling, and creation of a binary half-tone image | |
US6633975B1 (en) | Data processing system having plurality of processors and executing series of processings in prescribed order | |
JPH04252562A (ja) | 画像処理装置 | |
JPH10229496A (ja) | 多グレーレベルのハーフトーン画像にグレーレベルを追加する方法及び装置 | |
EP0797150B1 (en) | DMA controller | |
US8466928B2 (en) | Image processing apparatus and method | |
US5553204A (en) | Image output apparatus for gradation image data | |
JP3714840B2 (ja) | データ転送方法とデータ転送制御装置 | |
JP2004021645A (ja) | 画像処理装置およびその制御方法 | |
JP2000231631A (ja) | 画像回転装置 | |
US7145700B1 (en) | Image processing system including synchronous type processing unit and asynchronous type processing unit and image processing method | |
JPH10208031A (ja) | 画像処理装置 | |
JPH11168610A (ja) | 画像処理装置 | |
JPH0563959A (ja) | 画像処理方法および装置 | |
JPH1027130A (ja) | 画像処理装置およびその処理方法 | |
JP3203024B2 (ja) | 画像処理装置及び画像処理方法 | |
JPH06113125A (ja) | 画像処理装置 | |
JP3365068B2 (ja) | 画像処理装置 | |
JPS62150447A (ja) | 画像デ−タ記憶制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060927 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061010 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061108 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |