JP3359140B2 - ブロック並列誤差拡散方法と装置 - Google Patents

ブロック並列誤差拡散方法と装置

Info

Publication number
JP3359140B2
JP3359140B2 JP00138694A JP138694A JP3359140B2 JP 3359140 B2 JP3359140 B2 JP 3359140B2 JP 00138694 A JP00138694 A JP 00138694A JP 138694 A JP138694 A JP 138694A JP 3359140 B2 JP3359140 B2 JP 3359140B2
Authority
JP
Japan
Prior art keywords
input
pixel
line
error diffusion
error
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
Application number
JP00138694A
Other languages
English (en)
Other versions
JPH06301364A (ja
Inventor
ウエブ マイケル
ロス ブラウン デビッド
クラーク ネイラー ジュニア. ウィリアム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JPH06301364A publication Critical patent/JPH06301364A/ja
Application granted granted Critical
Publication of JP3359140B2 publication Critical patent/JP3359140B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
    • H04N1/4052Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はカラーコンピュータ・デ
ィスプレイやカラープリンタ等のカラー表示装置に関
し、特に、ラスタカラー表示装置等においてカラー画像
を表示する際に適用される並列誤差拡散方法及び装置に
関するものである。
【0002】
【従来の技術】図1〜図3を参照して、従来例を説明す
る。図1はCRTディスプレイにおける1ビットを表
し、図2は色立体を表し、図3はフロイド(Floyd) とス
タインバーグ(Steinberg) の誤差拡散処理の概念図であ
る。カラーラスタ・グラフィック・ディスプレイは、こ
の分野で良く知られており、これらの装置におけるカラ
ー画像の表示は、通常、画素マップにより達成されてい
る。この画素マップは通常個々の画素からなり、各画素
は、表示装置上の画素の色を表すビットの集合からなっ
ている。このビット集合で取り得るビット数は、表示装
置に表示される色の種類の数と、その装置が与えられた
画像を表示できる解像度に関連している。通常のカラー
システムでは、1画素当たり8或いは24ビットが記憶
されているが、このビット数はこれに限るものでなく、
種々の変形例が存在している。
【0003】カラー表示装置は画素に対応する色を、時
には高解像度で表示する。通常のスクリーン画面は、各
画素が最大224の色を有している1280×1024の
異なる画素を表示できる。
【0004】色はしばしば所定のモデルに従ってコンピ
ュータ・ディスプレイ上に表示される。赤、緑及び青
(RGB)カラーモデルは、カソード・レイ・チューブ
(CRT)及びカラーラスタ表示装置で一般的に使用さ
れているものの1つである。他のカラー表示ディスプレ
イモデルとしては、しばしばカラープリント装置で使用
されるシアン、マゼンタ、及びイエロー(CMY)系が
ある。RGBモデルの一例としては、コンピュータ・デ
ィスプレイと共に使用されるNTSC表示規格のものが
ある。この規格では、各画素要素は3つの個々のサブグ
ループに分割され、これら個々のサブグループは、それ
ぞれ与えられた画素の赤、緑、青色部分を表している。
【0005】図1を参照すると、カラーCRTの表示画
面は密接して配置された画素1を有しており、各画素は
赤(R)、緑(G)及び青(B)の蛍光ドット(輝点)
或いは画素要素を構成している。これらドットは非常に
小さいので、個々のドットより発光される光は、対応す
る3つの色が混じりあったものとして観察者に認識され
る。これら励起される各ドットの強度を変更することに
より、種々の色を広い範囲に亙って作成することができ
る。又、各蛍光ドットが励起される強度は、その画素の
サブグループのそれぞれの値にいくらか比例するので、
画素を変換するための構成(図示せず)が、通常備えら
れている。一例として、1画素24ビットのカラー表示
システムの24ビットは8ビットに分割され、各8ビッ
トは赤、緑、青を表している。このことは、赤、緑、青
の各強度レベルが28 或いは256であることを示し、
全体として224の色値を取り得ることになる。このよう
に多くの色を表示できるカラー表示により、あらゆる目
的のために、連続した階調表示ができるとみなせる程度
に、ほぼ連続した階調の画像を表示することができる。
【0006】このような手法により印刷される色の範囲
を概念的に説明するために、図2に示すような色立体
に、これらの色をマッピングするのが有効である。ある
点における3つの個々のサブグループが一緒に加算され
ることにより、目的とする色が再生される。例えば、各
原色が同じ量を有する、色立体の対角線は黒(0,0,
0)から白(1,1,1)の種々のグレイレベル(grey
levels) 或いはグレイスケールを表している。
【0007】多くの表示装置は、例えば24ビットの入
力画素で供給された色のフルレンジを実際に表示するこ
とができない。例えば、モノクロ(白黒)のラスタ画像
は、主に白と黒の2色のみを表示できる2値レベルの装
置として知られている。他のカラー表示装置は、各原色
の一定数の離散的な強度レベルを表示できるだけであ
る。他の例によれば、2値レベルの強誘電性液晶表示装
置のようなカラー2値レベル装置では、スクリーン上の
各画素要素は、完全にオンとなるかオフになるかの2つ
の強度レベルだけを取り得る。例えば、表示装置が赤、
緑、青及び白の原色を表示できるとすると、各画素が表
示できる色の種類の合計数は、24 =16種類となる。
【0008】表示装置の入力が多くの強度レベルを含む
とすると、表示したい正確な画素値と実際に表示された
近似値との間の差で表される、表示された色における誤
差が発生するであろう。2値レベルのカラー表示装置の
ような個々のカラー表示装置に表示できる色の数を増や
すための手法が開発されてきている。これに用いられる
手法は中間調処理として一般的に知られており、この中
間調処理の種々の態様の説明として、MITプレス(MIT
Press) により1991年に発行されたロバート・ユー
リックニー(Robert Ulichney )による“デジタル中間
調処理(DigitalHalftoning)を参照する。
【0009】表示される画像の質を向上させるためにユ
ーリックニーにより説明された1つの手法は誤差拡散と
よばれている。この処理は、単一色(白と黒)の表示の
ためにフロイド(floyd) とスタインバーグ(Stainberg)
により開発され、1975,36の情報表示ササイアテ
イ(Society for Infomation Display)技術報告のダイジ
ェスト(Symposium Digest of Technical Papers)197
5の“空間グレイスケールのための適応アルゴリズム(A
n Adaptive Algorithm for Spatial Gray Scale )”で
説明されている。このフロイドとスタインバーグのアル
ゴリズムによれば、各画素値に関連した誤差が、指示さ
れた注目画素の周辺画素のいくつかの値に加算され、こ
れら加算の合計がその画素値に関連した誤差に等しくな
る。これにより、目的とする画像におけるいくつかの画
素に亙る誤差を展開或いは拡散して画質を向上できると
いう効果がある。この処理の一例が図3に示されてお
り、この例では、注目画素3に関連した誤差を展開する
ための決定がなされている。即ち、誤差の2/8が注目
画素3の右側の画素4に割り当てられ、1/8は隣接画
素5に、2/8は注目画素3の下側の画素6に、そして
1/8が、それぞれ7,8,9の記号が付された画素に
割り当てられている。
【0010】カラー表示に適用できるように誤差拡散を
3次元にまで拡張した既知の手法の1つとして、198
2年7月にコンピュータ・グラフィックス(Computer Gr
aphics) より発行された、ポール・ヘックバート(Paul
Heckbert) による“フレームバッファ表示のためのカラ
ー画像量子化(Color image Quantization for FrameBuf
fer Display) ”16巻、No.3のページ297〜3
04があり、これはまた、1986年8月発行の“IB
M技術報告書(IBM Technical Disclosure Bulletin) ”
の29巻、No.3のページ1329〜1334に開示
されている。
【0011】このハックバートの処理では、表示装置の
種々の出力可能な出力値が、表示できる色の全域の代表
色として選択される。最も近い表示できる値と注目入力
色の値との距離を表す3次元色空間におけるベクトルが
計算され、この値が、フロイドとスタインバーグの処理
を用いて隣接画素に加算される。
【0012】
【発明が解決しようとする課題】一般に使用されている
高解像度表示装置は、1280×1024=1,31
0,720オーダの画素の解像度で、60Hzオーダの
リフレッシュ・レートを有している。上述したように、
各画素はそのカラー値に関連した24ビットを有してい
る。
【0013】従って、画素の処理がなされなければなら
ないとすると、この処理を高速で実施するために画素が
高速に入力される必要がある。
【0014】上述の例では、1秒当たり合計235メガ
バイト以上の容量が表示入力データを処理したいシステ
ムによって扱われなければならない。誤差拡散は高速の
処理を必要とする処理の一例であり、各画素が調べら
れ、誤差が隣接画素に拡散されなければならない。更
に、誤差拡散処理は、ある画素要素の誤差拡散が、処理
されるべき後続の全ての要素に影響するので、シリアル
以外の方法で実施するのが困難である。
【0015】注目画素の下側或いは右側に隣接している
画素を選択することにより、画像全体に亙って上部より
下部に誤差拡散が実施され、注目画素から拡散された誤
差が後続の画素にのみ影響を与える。
【0016】本発明の目的は、並列処理を用いることに
より、高速の画素レートで画像の誤差拡散を行うことが
できる方法と装置を提供することを目的とする。また、
通常の誤差拡散処理を入力ラインの異なるエリアに並行
して実施するとともに、これらのエリアの境界に位置し
ている画素に対し、誤差拡散を行う画素及び重み付けの
係数の調整を行うことにより、つまりエリアの境界部分
で誤差拡散マトリクスの形状を変化させることにより、
誤差を完全に保存することができ、高画質な出力画像を
高速に得ることができる方法と装置を提供することを目
的とする。
【0017】
【課題を解決するための手段】上記目的を達成するため
に本発明の並列誤差拡散方法は以下の様な工程を備え
る。即ち、誤差拡散を並行して実施する誤差拡散方法で
あって、入力画像に対応する入力データのラインを入力
する工程と、その入力した画像を複数の領域に分割する
分割工程と、各領域の現ラインの注目画素に誤差を拡散
し、出力値とそれに関連した誤差値を作成する工程と、
その関連した誤差値を注目画素と同じ領域の隣接画素、
或いは他の領域の注目ラインでないラインの画素に加算
する加算工程とを有する。
【0018】上記目的を達成するために本発明の並列誤
差拡散装置は以下の様な構成を備える。即ち、表示され
る画像データを入力するための画像入力手段と、前記画
像入力手段により入力された画像データを複数の領域に
記憶する入力記憶手段と、それぞれが、前記入力記憶手
段から注目ラインの入力画素を受け取る画素入力手段
と、入力画素のそれぞれに誤差を拡散し、出力画素と誤
差拡散データを作成する誤差拡散手段と、前記誤差拡散
データをまず対応する領域内の入力画素に隣接する画素
に加算し、次に隣接領域の注目ラインでないラインの画
素に加算する誤差展開手段とを含む誤差拡散ユニットと
を有する。
【0019】
【作用】以上の構成において、入力画像に対応する入力
データのラインを入力して、その入力した画像を複数の
領域に分割し、各領域の現ラインの注目画素に誤差を拡
散して、出力値とそれに関連した誤差値を作成する。そ
して、その関連した誤差を他の領域の注目ラインでない
ラインの画素、或いは注目画素と同じ領域の隣接する画
素に加算するように動作する。
【0020】
【実施例】以下、添付図面を参照して本発明の好適な実
施例を詳細に説明する。
【0021】この実施例では、実時間の誤差拡散処理
が、多くの誤差拡散処理動作が同時に行われるように、
誤差拡散処理を並行して実行することにより達成され、
これにより、入力画像を扱うのに要求されるスピードを
低下させることができる。
【0022】上述したように、図3は、フレームバッフ
ァにおける入力画像の1ラインに対する、通常のフロイ
ドとスタインバーグの誤差拡散処理を示す図である。こ
の処理では、注目画素3は使用される誤差拡散処理に従
って閾値処理され、隣接画素に分散するために誤差量に
加算して出力色(O)が求められる。この誤差は、図示
したような状態で隣接画素4,5,6,7,8,9の値
に加算され、この処理の結果、これらの画素の値が変更
される。
【0023】本実施例では、図4に示すように、入力画
像フレームバッファ23は、要求される並行処理の度合
いに応じて所定数の領域10,11,12等に分割され
る。記号13,14,15で示された多重誤差拡散処理
は、入力フレームバッファの各異なる領域に対して並行
して開始され、各処理は図示したように、隣接する要素
にその誤差を拡散して、図示のような隣接画素への拡散
のための対応する誤差値とともに、出力装置に表示する
ための出力値(O)を作成する。この誤差拡散処理は、
注目ラインの隣接画素に誤差を拡散し続ける。
【0024】図5を参照すると、各処理がその領域の4
番目の画素に誤差を拡散する時の入力ラインの状態を示
している。これらの処理は、それら各領域の最後に処理
が到達するまで続けられる。
【0025】次に図6を参照すると、2番目の最後の画
素に到達すると、その領域の2番目の最後の画素を画素
16に誤差拡散したいという問題が生じる。しかしなが
ら、これは不可能である。なぜなら、この画素16は既
に誤差が拡散されており、その出力値が決定されてい
る。その代わりに、画素16の誤差値は次のライン上の
画素17に加算される。
【0026】図7に示すように、所定の領域の最後の画
素18を誤差を拡散したいときに、更なる問題が発生す
る。通常は、画素18に関連した誤差を画素16,21
に拡散することが要求される。しかしながら、これら画
素の出力値は、その前に誤差拡散処理14(図4)で決
定されている。画素16,21に加算されるであろう値
は、その代わりに画素17及び22に加算される。よっ
て、画素17は、画素18の誤差の1/8だけを受け取
るのではなく、画素18に関連する誤差の3/8が割り
当てられる。他の誤差拡散処理(例えば14)は、これ
ら各領域のエッジで同様の問題に遭遇し、これらの問題
は同様の原理を使用して解決される。
【0027】上述の説明から明らかなように、多重誤差
拡散処理を用いることにより、高速のデータ入力レート
を維持しながら並列に誤差拡散を行なうことができる。
そして、通常の誤差拡散処理を入力ラインの異なるエリ
アに並行して実施するとともに、これらのエリアの境界
に位置している画素に対し、誤差拡散を行う画素及び重
み付けの係数の調整を行うことにより、つまりエリアの
境界部分で誤差拡散マトリクスの形状を変化させること
により、誤差を完全に保存することができ、高画質な出
力画像を高速に得ることができる。
【0028】図23は本実施例のFLCD表示システム
の構成を示すブロック図で、コンピュータ装置201と
表示システム203とはケーブル202で接続されてい
る。この表示システム203は、コンピュータ装置20
1より受け取った画像データをFLCD表示装置5に表
示できるフォーマットの信号に変換している。表示コン
トローラ204はFLCD表示装置205を制御してお
り、FLCD表示装置205の各画素のための4つの色
チャネルの情報の形式で入力データを受け取っている。
この実施例では、FLCD表示装置205の各画素は2
値の赤、緑、青及び白を表示できる。よって、表示コン
トローラ204への入力は、その関連する表示位置と制
御情報に加えて、4ビットの色情報を含んでいる。各画
素の色は2値レベル、オン又はオフのいずれかで表示さ
れるので、表示できる色の数は2×2×2×2=16色
である。
【0029】図8は図23の表示システム3の一構成を
示すブロック図で、上述した原理を実行するブロック並
列誤差拡散装置24が示されている。入力画素25は7
0MHzのレートで一度に2つずつ供給され、各画素
は、その画素の赤、緑、青のそれぞれの色情報として8
ビットを有し、全体として24ビットの長さを有してい
る。入力画素25は入力デマルチプレクサ26で分配
(デマルチプレクス)され、ブロック並列誤差拡散装置
24の残りの部分は、4つの画素ブロックのグループ
に、入力周波数の半分の35MHzで作動する。
【0030】ブロック並列誤差拡散装置24の出力デー
タバス33は4ビットの画素データの4つのグループの
形式で、出力画素は2値レベルの赤、緑、青及び白の
(RGBW)画素を表示できる装置に表示するのに使用
される。そして、各4ビット画素データの1ビットは、
RGBWの1つの色を表示するのに使用される。
【0031】この入力画素25は並列に入力補正ユニッ
ト27に送られ、対応する入力画素が入力補正ユニット
27に入力されるとき、前の入力画素ラインから拡散さ
れた誤差が注目画素ラインに加算される。この拡散され
た誤差は、0〜4の番号が付された5個のセグメント誤
差拡散ブロック(SEDB)28より送られてくる。入
力データの補正の際には、各画素に対する入力補正の結
果は、要求されたSEDBに書込まれる。
【0032】このSEDB28で実行される3次元フル
カラー誤差拡散方法は、1982年7月にコンピュータ
・グラフィックス(Computer Graphics) 社より発行され
た,ポール・ハックバート(Paul Heckbert) 「フレーム
バッファ表示のためのカラー画像量子化」(Color Image
Quantization for Frame Buffer Display, Volume 16,
Number 3) の297〜304頁に開示されている。
【0033】この上述したハックバート(Heckbert)の論
文に開示された3次元誤差拡散技術を、画像の5つのセ
グメントに並列に適用することにより、表示装置のため
の画像処理を、より速度を低下させて行なうことができ
る。
【0034】図9を参照すると、1つのSEDB28が
より詳細に示されている。各SEDBは256×27ビ
ットのRGBラインメモリ39と、並列の3次元誤差拡
散ユニット(P3DEDU)40と、256×4ビット
のRGBWラインメモリ41とで構成され、256×2
7ビットのラインメモリ39の各入力27ビットは、誤
差及び入力補正データのための正及び負の値を表わすこ
とができるように、赤、緑及び青のそれぞれに対する9
ビット値を表わしている。
【0035】各SEDB28は、入力ラインの1/5の
ラインセグメントに作用し、それぞれは中間データの2
56画素を格納するのに十分なメモリ容量を備えてい
る。各SEDB28は、入力補正ユニット27からの入
力補正データを受取るために入力ライン周期の1/5を
要し、入力ライン周期の残りの4/5で、このデータに
関する誤差拡散を完了している。これらSEDBは、各
セグメントの入力データを利用できるように、1つのラ
インに関して千鳥状に作用している。この誤差拡散処理
により、各画素のRGBWの値の形式で、対応するRG
BW出力が作成され、これらは、SEDB28が次のラ
インの入力補正データを要求するのと同時に、各RGB
WからRGBW出力30上に送り出される。こうして、
SEDB28の入力と出力との間で、正確に1ライン周
期の遅延が生じることになる。
【0036】図8及び図9を参照すると、SEDB28
は2段階で動作している。第1段階では、P3DEDU
40はアイドル状態で、256×27ビットのRGBメ
モリ39は1サイクル当たり4つのサンプルを入力補正
ユニット27(図8)に供給し、各サイクルごとに4つ
の補正されたサンプルを受取っている。これと同時に、
256×4ビットのRGBWラインメモリ41は各サイ
クル毎に4つのサンプルでアクセスされ、その結果を図
8に示された出力ラッチ32に送っている。この段階は
入力ライン周期の約1/5の間続き、これは所定のセグ
メントのデータがブロック並列誤差拡散装置24に入力
される時間に相当している。
【0037】第2の段階では、SEDB28は誤差拡散
アルゴリズムを、256×27ビットRGBラインメモ
リ39の各サンプルに順番に適用して、結果として生じ
た誤差を256×27ビットRGBラインメモリ39の
次のラインに書込み、RGBW出力を256×4ビット
のRGBWラインメモリ41に書込む。この段階は、入
力ライン周期の残りの4/5の間続く。
【0038】入力補正ユニット27からデータを受取る
と同時に、各SEDB28はまたSEDBバス31への
SEDBを介して、隣接するSEDBとの間でデータを
入替えて、セグメントの境界に亙って適正に拡散を行な
い、これにより境界の画素要素は適正に更新されるよう
にしている。
【0039】SEDB28からの出力データはラスター
順に出力され、この出力データは出力ラッチ32にラッ
チされる。そして、表示或は記憶のためにバス33に送
られる前に同期が取られる。この出力データは、入力ク
ロックレートの半分で、4つの並列サンプルとしてブロ
ック並列誤差拡散装置24より送り出される。
【0040】データシーケンサ34は垂直及び水平情報
信号35を画素クロック情報とともに受取り、SEDB
28と制御出力発生器37への制御信号36を発生して
いる。この制御出力発生器37は、後続の装置で必要と
されるであろうフレーム、ライン及び画素の有効信号を
発生している。
【0041】特定の係数や、誤差拡散処理が注目画素に
関連した誤差を割当てる画素の選択は実質的に変更で
き、これはこの分野で良く知られていることである。
【0042】ブロック並列誤差拡散装置24の実時間処
理を理解するために、動作の詳細な例が図8及び図9に
加えて、図10〜図13に示されている。
【0043】図10は入力ライン(m)の開始時点にお
ける5個のSEDBの状態を示しており、256×7ビ
ットRGBラインメモリ39は前のライン(m−1)の
データを含んでいる。このラインの最初のセグメントに
対して、256×7ビットRGBラインメモリ39はラ
イン(m−1)からライン(m)に拡散された誤差を含
んでいる。このセグメントは完全に誤差が拡散されてし
まっている。最初のセグメントのための256×4ビッ
トRGBWラインメモリ41は、出力されるのを待って
いるライン(m−1)のためのデータを含み、他のライ
ンセグメントの全ては部分的に誤差が拡散されているだ
けである。これらセグメントのそれぞれに対して、25
6×7ビットRGBラインメモリ39は誤差拡散された
画素のための誤差データと、残りの画素のためのライン
(m−1)より誤差拡散されるのを待っている補正され
た入力データを含んでいる。各セグメントに対して、誤
差拡散された画素のそれぞれのためのRGBWデータが
256×4ビットRGBWラインメモリ41の中に記憶
されている。図10から明らかなように、入力ライン
(m)の開始時点で、SEDB1は2番目のラインセグ
メントの3/4に誤差拡散を完了しており、SEDB2
は3番目のラインセグメントの1/2に誤差拡散を完了
しており、SEDB3は4番目のラインセグメントの1
/4に誤差拡散を完了しており、SEDB4は5番目と
最後のラインセグメントにちょうど誤差拡散を開始する
ところである。
【0044】図11は、ブロック並列誤差拡散装置24
にライン(m)の1/5(20%)が入力されてしまっ
た後の状態を示している。最初のラインセグメントが入
力されている間、SEDB0のためのP3DEDU40
はアイドル状態にある。入力補正ユニット27は256
×4ビットRGBWラインメモリ39より最初のセグメ
ントのための誤差を読出し、同じメモリの補正されたラ
インmに書き戻している。同時に、出力ラッチ32は、
最初のセグメントのために、256×4ビットRGBW
ラインメモリ41からのデータを読出し、それをブロッ
ク並列誤差拡散装置24から送り出している。この入力
補正ユニット27と出力ラッチ32の両方は、フルデー
タレート、即ち、最大1秒当たり140Mサンプルで、
ラインメモリをアクセスしている。最初のラインセグメ
ントが入力されている間、2番目、3番目、4番目、5
番目の各セグメントのための4個のP3DEDU40ユ
ニットは、記憶されているデータを処理しながら、それ
ら各セグメントの1/4に対して誤差拡散を完了する。
入力ラインが1/5完了するまでに、SEDB0は誤差
拡散のために用意され、ライン(m)のための補正され
た入力データの完全なセグメントを含んでおり、SED
B1はライン(m−1)の拡散を完了して、入力補正ユ
ニット27と出力ラッチ32はその動作を開始してい
る。そしてSEDB2とSEDB3とSEDB4とは、
更にセグメントの1/4分、処理を前方に進めているこ
とになる。
【0045】図12は5個のSEDBの状態、より詳細
には入力ライン(m)における状態を示し、入力補正ユ
ニット27は4番目のセグメントに、ライン(m)の入
力データを書込んでおり、出力ラッチ32は、同じセグ
メントよりのライン(m−1)の拡散結果を読出してい
る。SEDB3のP3DEDUユニットはアイドル状態
にある。最初の3つのセグメントに対するP3DEDU
ユニットは、全てライン(m)のための、前以て入力補
正ユニット27により書込まれている補正入力データを
処理している。ライン(m)のRGBWデータは、最初
の3つのセグメントの256×4ビットRGBWライン
メモリ41に構築される。SEDB4のP3DEDU
は、最後のセグメントでライン(m−1)への誤差拡散
を完了する。
【0046】図13は、全データが1ライン先に進んだ
以外は、ライン(m)の開始時点と同様にライン(m)
が完了した状態を示し、これらSEDBがライン(m+
1)の入力待ちの状態にあるのを示している。
【0047】上述の説明で注目すべき2つの重要な点が
ある。第1に、各SEDBの各P3DEDUユニット
は、入力ライン周期の1/5の間アイドル状態にあり、
これにより入力補正ユニット27と出力ラッチ32とが
排他的に、ラインメモリのそのセグメントをアクセスで
きる。従って、各P3DEDUユニットは、ライン時間
の残りの4/5で、そのセグメントに対する誤差拡散を
完了しなければならない。このことは、ライン周期の4
/5で、そのラインの1/5に誤差拡散するために、P
3DEDUユニットが入力データレートの1/4で動作
することを意味している。
【0048】注目すべき第2の点は、入力補正ユニット
27と出力ラッチ32の両方が、1秒当たり140メガ
個のサンプルの最大データレートでラインメモリをアク
セスすることにある。ブロック並列誤差拡散装置24の
内部クロックレートは入力データレートの1/4である
ため、入力補正ユニット27と出力ラッチ32は一度に
4個のサンプルで、ラインメモリをアクセスする。これ
は、入力補正ユニット27がアクセスする時、1サイク
ル毎に、256×27ビットRGBラインメモリ39よ
り読出され、また書込まれるデータが108ビットであ
ることを表している。
【0049】次に図14を参照すると、図8の入力補正
ユニット27がより詳しく示されている。入力補正ユニ
ット27は、1つのラインの誤差を次のラインの入力デ
ータに加算することにより、画像のライン間に誤差を拡
散するのに必要な演算を実行している。入力補正ユニッ
ト27は、1秒当たり最大140メガ個のサンプルを扱
うことができ、ラインからの入力データ43を、一度に
4サンプル入力して処理することができる。SEDBs
よりのSEDB誤差データ44と入力データは、入力補
正ユニット27に送られ、その結果である入力補正デー
タ45がSEDBsに戻される。
【0050】入力補正ユニット27は12個の同等の9
ビット並列誤差拡散(PED)加算器46と、加算結果
を保持するための12個の9ビットラッチ47とで構成
されている。各PED加算器46は入力データ43の1
ロットと、SEDB入力インターフェースよりのSED
B誤差データ44の1ロットとを受け取る。ラッチされ
た加算結果は、SEDB出力インターフェースに送られ
る。PED加算器46は、9ビットのPEDの数値系を
使用するように特別に設計されている。これは、特別な
数値系のために変更されたオーバーフロー条件を備え
た、標準的な9ビットの2の補数加算器を使用すること
により達成される。加算器がオーバーフローすると、そ
の結果は適当な正或いは負の範囲内に抑えられる。この
PEDの数値系では、上位の2ビットが“1”にセット
されていると入力が負であり、そうでない時は正であ
る。このPED加算器46のアルゴリズムは、以下のよ
うである。
【0051】 a ,b ,c : 9ビットのPED値 c out : 1ビットのキャリイ出力 c=a+b ; {キャリ出力c outがオンの時に戻る} if (a(8)=0 OR a(7)=0) AND (b(8)=0 OR b(7)=0) {入力a,bが共に正} if (c out=1) OR (c(8)=1 AND c(7)=1) {キャリイ出力或いは結果が負} c=101111111; {正の最大値} if (a(8)=1 AND a(7)=1) AND (b(8)=1 OR b(7)=1) {入力a,bが共に負} if (c(8)=0 OR c(7)=0) c=110000000; {負の最大値} 再度、図8及び図9を参照すると、256×27ビット
RGBラインメモリ39が、データシーケンサ34、入
力補正ユニット27及び同じSEDB28内のP3DE
DU40にインターフェースされて示されている。
【0052】図15を参照すると、256×27ビット
RGBラインメモリ39の構成がより詳しく示されてい
る。この256×27ビットRGBラインメモリ39は
SEDB28の一部であり、種々のアドレス発生回路を
含み、2つのモード、即ち、1サイクル毎に108ビッ
ト或いは27ビットを読み書きできるモードの内の1つ
のモードで、FIFOとしてアクセスされる。108ビ
ットモードでは、256×27ビットRGBラインメモ
リ39は、入力補正ユニット27よりの読出し及び書込
みを行う。27ビットモードでは、256×27ビット
RGBラインメモリ39は、同じSEDBのP3DED
U40よりの読出し及び書込みを行う。いずれのモード
においてもアクセスは、図8のデータシーケンサ34よ
りの制御信号により初期化される。
【0053】256×27ビットRGBラインメモリ3
9は、別々の読出しポートと書込みポートを有する64
ワード×108ビットメモリアレイを含み、メモリへの
書込みポート49は入力補正ユニット27或いは関連す
るP3DEDU40のいずれかよりのデータを取り込
み、書込み制御モジュール50により制御されている。
メモリアレイ48のデータ読出しポート51よりのデー
タは、読出し制御モジュール52の制御の下に、いずれ
かのインターフェースに送られている。
【0054】入力選択ユニット53は、データ源を選択
する信号54により制御され、もしデータが入力補正ユ
ニット27のインターフェースより送られてくる時は、
そのデータはそのまま通過する。もしデータがP3DE
DUインターフェースから入力される時は、3つの連続
するサンプルがラッチされ、後続の1サンプルと結合さ
れて、4サイクル毎に一度書き込まれる108ビットの
書込みデータを作成する。
【0055】書込み制御モジュール50は、データシー
ケンサ34(図8)よりのEN IC 信号55と、P3DE
DUインターフェースよりのP3DEDU VALID信号56とを
受け取る。EN IC 信号55が出力されると、入力補正ユ
ニット27のデータが書込みのために選択され、各サイ
クル毎に、メモリアレイのある場所に書き込まれる。P3
DEDU VALID信号56が出力されると、P3DEDUより
のデータが書込みのために選択され、4サイクル毎に、
メモリアレイのある場所に書き込まれる。これらいずれ
の信号も出力されない時は、書込みが行われず、書込み
アドレスがリセットされる。
【0056】256×27ビットRGBラインメモリ3
9は、メモリアレイ48のデータを入力補正ユニット2
7に送り出すためのトライステートバッファ57を備え
ており、このトライステートバッファ57は、EN IC 信
号55が出力されたときに、読出し制御モジュール52
によってイネーブルにされる。
【0057】出力マルチプレクサ58はメモリアレイの
出力から、P3DEDUインターフェースに出力される
27ビットを選択している。アレイ出力を構成している
4つの27ビットグループは、順次選択される。
【0058】読出し制御モジュール52は、データシー
ケンサ34よりのEN IC 信号とEN P3DEDU 信号55を取
り込む。EN IC 信号55が出力されると、トライステー
トバッファ57がイネーブルになり、メモリアレイ48
が各サイクルで一度読出される。EN P3DEDU 信号が出力
されると、読出し制御モジュール52が4サイクル毎に
1つの場所を読出し、出力マルチプレクサ58を切り換
え、IC VALID信号59をP3DEDUインターフェース
に送り出す。いずれの信号も出力されないときは、読み
出しが行われず、読出しアドレスがリセットされる。
【0059】図8及び図9を参照すると、P3DEDU
40への、或いはよりのデータは、各クロックサイクル
で各方向への3つの9ビットの数値形式である。P3D
EDU40へのデータは、そのセグメントにおける各R
GB画素ための入力補正された成分を表している。P3
DEDU40から256×27ビットRGBラインメモ
リ39へのデータは、各画素に対して次のラインに拡散
されるべき誤差値を表している。次に図16を参照する
と、P3DEDU40がより詳細に示されている。この
P3DEDU40は、内部P3DEDUレジスタ61
と、注目ライン画素パイプライン(CLPP)62と、
3次元ルックアップユニット(3DLU)及び次ライン
誤差パイプライン(NLEP)64とを備える4つの主
な部分で構成されている。
【0060】補正された入力データ65は、256×2
7ビットRGBラインメモリ39よりCLPP62に送
られる。このCLPP62は、入力データと、以前の誤
差結果、そしてある時には、内部P3DEDUレジスタ
61の内容に基づいて注目ライン上の画素のための補正
値を発生している。
【0061】各注目ラインの画素値が計算されると、そ
れは3次元のルックアップユニット(3DLU)63に
送られる。このルックアップユニット63は、画素値に
最も近いRGBWの頂点(vertex) を探し、RGB空間
で、この頂点の座標値を見出し、ハックバート(Heckber
t)処理に従って、画素値と頂点のRGB座標との間の差
である誤差を求める。この誤差値はラッチされ、3DL
U63で1サイクルだけ遅延される。この頂点のRGB
W出力42は、256×4ビットRGBWラインメモリ
41に出力され、頂点のRGB値とラッチされた誤差と
がCLPP62に帰還されている間、注目ラインの次の
画素値の計算に使用される。
【0062】次ライン誤差パイプライン(NLEP)6
4は、3DLU63より、ラッチされた誤差値を入力し
ている。このパイプライン64は、連続した画素の誤差
の重み付け加算を行って、各画素値における次のライン
に送られる誤差値を計算している。又ときには、内部P
3DEDUレジスタ61からの値が、この計算に使用さ
れる。この加算結果は、ライン65を介して256×2
7ビットRGBラインメモリ39と、ライン31を介し
て隣接するP3DEDU送られる。
【0063】制御信号(例えば66)はデータとともに
各ユニットを通過し、各インターフェース部では、デー
タは、そのインターフェース部のデータが有効であると
きにいつも出力されるVALID信号を伴っている。こ
れら制御信号は各モジュール内で局部的な制御信号を発
生したり、全てのインターフェース部で制御信号を発生
するのに使用される。
【0064】図17を参照すると、内部P3DEDUレ
ジスタ61がより詳しく示されており、簡略化するため
に、赤色のチャネルのデータパスのみが示されている
が、他の青、緑色のデータパスも同様である。内部P3
DEDUレジスタ61はP3DEDU40の一部を形成
している。各色に対して4個の内部P3DEDUレジス
タ61があり、その出力(赤チャネルに対して)は、R
IPP1,R IPP0,R IPN1,R IPN0で示されている。R IPP
1,R IPP0は前のセグメントよりの内部P3DEDUの
誤差を表わし、PREV VALID IN 信号が出力されたとき、
PREVよりの順にロードされる。R IPN1,R IPN0
は次のセグメントよりの内部P3DEDUの誤差を表わ
し、NEXT VALID IN 信号が出力されたとき、R NEX
Tよりの順にロードされる。
【0065】図16を参照すると、P3DEDU40は
SEDBよりSEDBバス31を通して2つの隣接する
P3DEDUからのデータを交換している。3つの9ビ
ット信号が隣接するP3DEDUのそれぞれより入力さ
れる。更に、P3DEDU誤差信号が隣接するP3DE
DUのそれぞれに送られ、隣接するP3DEDUよりの
データは、隣接セグメントより注目セグメントへのP3
DEDU誤差拡散を表わしている。P3DEDU40で
処理された完全なセグメントのそれぞれのために、2つ
の値が前のセグメントより入力され、次のセグメントよ
り2つの値が入力される。同様に、P3DEDUの誤差
出力は、2つのサンプルを前のセグメントに、2つのサ
ンプルを次のセグメントに送るのに使用される。
【0066】P3DEDUレジスタ61よりのデータ
は、注目ラインの次の画素を計算するためにCLPP6
2で使用される場合がある。
【0067】図18を参照すると、ここには注目ライン
画素パイプライン(CLPP)62がより詳細に示され
ている。ここでもまた、簡略化するために赤チャネルの
データパスのみが示されている。
【0068】CLPP62は、CLPP制御ユニット7
2と、3入力P3DEDU加算器67と、2入力P3D
EDU減算器68と、加算器入力を選択するためのマル
チプレクサ69と、2つのラッチ70,71を備えてい
る。入力される画素データR ICはラッチ70にラッチ
され、P3DEDU加算器67に送られる。このP3D
EDU加算器67の他の入力は、ラッチされたCLPP
出力R CLPPと、CLPP制御ユニット72の制御
の下に3DLU63の誤差出力R 3DLUと2つの内
部P3DEDUレジスタ61よりのR IPP0,R
IPP1のいずれかを選択するマルチプレクサの出力で
ある。この加算器の出力は、直接P3DEDU減算器6
8に送られ、そこで3DLU63の頂点選択出力R
ERがそれから引かれる。
【0069】R 3DLUは2つ前の位置の画素より注
目画素に拡散された誤差を表わしており、前の画素より
の誤差は、(R CLPP−R VER)となる。R
VERよりラッチ71へのパスを出来るだけ早くしなが
ら、注目画素にこれら2つの誤差を拡散するために加算
器と減算器とが組み合されている。
【0070】マルチプレクサ69による選択、ラッチ7
0,71のリセット信号は、IC VALID入力より得
られたCLPP制御ユニット72よりの信号により制御
されている。これら制御信号により、CLPP62がラ
インセグメントの開始時点で正確に起動するのを確実に
している。特に、R CLPPはセグメントの最初の画
素が計算されている間“0”にセットされ、これにより
VERを順に強制的に“0”にする。CLPP制御
ユニット72はまたR CLPP出力上に有効データが
あることを示すCLPP VALID信号を出力してい
る。
【0071】CLPP62の完全なアルゴリズムは以下
のようである。
【0072】画素0: R SUM(0)=R IC(0)+ R IPP0 +
(2/8)×R CLPP - (2/8)×R VER=R IC(0)+ R IPP0 since
R CLPP = R VER = 0 画素1: R SUM(1)=R IC(1)+ R IPP1 + (2/8)×R CLPP
- (2/8)×R VER 画素n(1<n<N−1):R SUM(n)=R IC(n)+ (1/8)
×R 3DLU+ (2/8) ×R CLPP - (2/8)×R VER 図19を参照する。ここには3次元ルックアップユニッ
ト(3DLU)63が詳しく示されている。この3DL
U63は、CLPP62で計算がされるともに、各注目
ライン画素を受取っている。3DLU63は、計算され
ると注目画素を取出し、その画素値に最も近いRGBW
の頂点を探す。そして、RGB空間内で、その頂点の座
標を見つける処理に進む。そして、次に誤差を処理す
る。
【0073】入力画素の3つの成分は、最初にその値を
0から255に限定し、それから32で割って、その結
果を丸めることにより、それぞれ73から3ビットに減
少されている。その結果の9ビットが、FLCDパネル
に表示できる16個のRGBWの値の1つを選択する選
択ROM74をアドレスするのに使用されている。この
選択された頂点は、ラッチ78を介して256×4ビッ
トRGBWラインメモリ41に送られる。
【0074】選択されたRGBWの頂点はまた、頂点変
換ユニット75によってRGB空間に変換され、この頂
点変換ユニット75は、RGB空間におけるRGBW頂
点の座標を特定する6個のレジスタ、WPRed,RP
Red,WPGreen,GPGreen,WPBlu
e,BPBlue(図示せず)を使用している。この変
換により生じるRGB頂点は、3DLU63に送られ
る。それはまた、入力画素値より差し引かれ、3DLU
63より出力される前にラッチ77にラッチされる3D
LU誤差値を与えている。3DLU誤差値とRGB頂点
値は、注目ライン上の次の画素値を計算するCLPP6
2に帰還される。3DLU VALIDは有効な3DL
U63誤差データを示すために出力される。
【0075】図20を参照する。ここには次ライン誤差
パイプライン(NLEP)64が詳細示されており、こ
こでもまた、簡略化のために赤チャネルのみが示されて
いる。
【0076】NLEPは、3DLU63からの各画素の
ための計算された誤差を取り込み、内部のP3DEDU
データとともに、次のラインの各画素に拡散されるべき
誤差の合計を発生している。NLEP64は3DLU6
3からの誤差データのためのパイプライン79と、5入
力加算器80と、加算器の入力を選択するためのマルチ
プレクサ81と制御回路82とを備えている。
【0077】NLEP64の動作は、入力信号3DLU
VALIDに基づいている。この信号は、最初の有効
誤差がR 3DLUに表われる時に3DLU63により
出力され、そのセグメントの最後の有効誤差まで出力さ
れている。R 3DLU上のデータは、3つのラッチ7
9を通して並列になっているため、3DLU63よりの
4つの最も最近の誤差値が何時でも利用できるようにな
っている。3DLU63より有効な誤差データが転送さ
れていないとき(即ち、3DLU VALIDが出力さ
れていないとき)は、R 3DLUは常に0である。
【0078】その動作の大部分で、マルチプレクサ81
が選択され、加算器80は次の計算を行なう。
【0079】RSUM=(1/8)×R 3DLU+ (1/8) ×R 3DLU1+
(2/8)×R 3DLU2+ (1/8)×R 3DLU3 NLEP64によって作成された最初の出力は、前のセ
グメントに送られるべき2つの誤差値である。これらの
誤差値の最初は、そのセグメントの最初の画素の誤差R
3DLU(0)がR 3DLU上にあるときに作成さ
れ、2番目の誤差値は1クロックサイクル後に作成され
る。PREV VALID OUT信号は、これら前の
セグメントの誤差が出力R ERR上にあるときに出力
され、その値は以下のようである。
【0080】サイクル2 R ERR = (1/8) ×R 3D
LU(0) (加算器の他の入力は0) サイクル1 R ERR = (1/8) ×R 3DLU(1)+ (1/8)
×R 3DLU(0) (加算器の他の入力は0) 後続のサイクルでは、ERR VALID信号が出力さ
れ、次のラインの注目セグメントのための誤差が出力に
表われ始める。
【0081】サイクル0 R ERR = (1/8) ×R 3D
LU(2)+ (1/8)×R 3DLU(1) + (2/8)×R 3DLU(0) サイクルK(1<n<N−3)R ERR = (1/8) ×R 3DLU
(n+2)+ (1/8)×R 3DLU(n+1)+(2/8) ×R 3DLU(n) +(1/8)
×R 3DLU(n-1) サイクルN−2では、そのセグメントの2番目の最後の
画素のために次ライン誤差が作成される。DATA
ALID信号は、転送されるべき誤差がないので出力さ
れなくなる。このサイクルでは、マルチプレクサ81は
内部P3DEDU誤差レジスタの、次にセグメントから
次のラインの画素N−2に拡散されるべき誤差を表わす
IPN1(図17)を選択するように切り換えられ
る。
【0082】サイクルN−2 R ERR = R IPN1 +(1/
8) ×R 3DLU(N-1) +(2/8)×R 3DLU(N-2) + (1/8) ×R 3
DLU(N-3) 次のサイクルでは、マルチプレクサ81は他の内部P3
DEDU誤差レジスタのR IPN0を選択するように
切り換えられる。3DLU63よりの0となった誤差
は、今迄にパイプラインを伝播している。
【0083】サイクルN−1 R ERR = R IPN0 + 0 +
(2/8)×R 3DLU(N-1) +(1/8)×R 3DLU(N-2) サイクルN−1に続いて、ERR VALID信号が出
力され、NEXT VALID OUTが出力される。
この段階で、R 3DLU(N−1)を保持しているR
3DLU2とR 3DLU(N−2)を保持している
3DLU3と共に、誤差パイプラインは一時的にホ
ールドされる。最終的な2つの出力は、次のセグメント
に拡散される誤差で、それらは下記のように表わされ
る。 サイクルN R ERR = (2/8) ×R 3DLU(N-1)+ (1/
8)×R 3DLU(N-2) サイクルN+1 R ERR = (2/8) ×R 3DLU(N-1) NLEP64は、次のライン上の各画素位置に伝播され
るべき累積誤差を256×27ビットRGBラインメモ
リ39に送り出し、次のライン上の隣接セグメントに伝
播されるべき誤差を、他のP3DEDUsに出力してい
る。
【0084】図21を参照すると、ここには256×4
ビットRGBラインメモリ41がより詳しく示されてい
る。図10に示すように、256×4ビットRGBライ
ンメモリ41はSEDB28の一部を形成しており、デ
ータシーケンサ34と、P3DEDU40と出力ラッチ
32にインターフェースされている。このラインメモリ
41は書込み制御回路84と読出し制御回路85とを有
し、これにより2つのモードの内の1つのモードで、各
サイクルで4ビットを書込み、或は各サイクルごとに1
6ビットを読出す、FIFOとしてアクセス出来るよう
になっている。4ビット書込みモードでは、256×4
ビットRGBWラインメモリ41は、同じSEDBのP
3DEDU40により書込まれ、16ビットの読出しモ
ードでは、256×4ビットRGBWラインメモリ41
は出力ラッチ32により読出される。あるモード或は他
のモードでのアクセスは、データシーケンサ34とP3
DEDU40よりの制御信号により初期化される。
【0085】256×4ビットRGBWラインメモリ4
1は、独立した読出しポートと書込みポートを備える6
4ワード×16ビットメモリアレイ86を含んでいる。
メモリ書込みポートはP3DEDUインターフェースよ
りのデータを取り込み、書込み制御回路84により制御
されている。読出しポートのデータは、読出し制御回路
85の制御の下に、トライステートバッファ87を介し
て出力ラッチ32のインターフェースに送られる。
【0086】入力ラッチ88はP3DEDU40からの
4ビットデータを組み立てて、メモリアレイに書込むた
めの16ビットワードを作成する。3つの連続したサン
プルがラッチされ、後続のサンプルと組み合されて、4
サイクルに一度ずつメモリアレイに書込まれる16ビッ
ト書込みデータを作成する。
【0087】書込み制御回路84はP3DEDU VA
LID信号を取り込み、入力ラッチ制御信号を発生し、
メモリアレイへの書込み制御を行なっており、これによ
りP3DEDU VALID信号が出力されている間
に、4サイクル毎にメモリアレイの1つのロケーション
にデータが書込まれる。このVALID信号が出力され
ないときは、書込みは行なわれず、書込みアドレスはリ
セットされている。
【0088】トライステートバッファ87はメモリアレ
イよりのデータを、出力ラッチインターフェースに出力
している。これらバッファ87は、EN READ信号
が出力されているときに読出し制御回路85によりイネ
ーブルにされる。
【0089】トライステートバッファ87は、データシ
ーケンサ34からのEN READ信号を取り込み、そ
れが出力されているときトライステートバッファ87は
イネーブルされ、メモリアレイ86は各サイクル毎に一
度だけ読み出される。EN READ信号が出力されない
ときは、読出しは行なわれず、読出しアドレスはリセッ
トされる。データシーケンサ34からの制御信号は、2
56×4ビットラインメモリ41の読出しモードにおけ
る動作を初期化する。
【0090】図22を参照すると、データシーケンサ3
4が詳細に示されており、このデータシーケンサ34は
ブロック並列誤差拡散装置24の全ての他のモジュール
の動作を制御している。このシーケンサ34は、包括的
に他のモジュールの動作を制御する構成(configuratio
n) レジスタ89を含んでいる。このシーケンサはま
た、他のモジュール、特にSEDBsの順序を制御する
のに使用されるラインカウンタ90、画素カウンタ91
を含んでいる。
【0091】1つのフレームに対するデータシーケンサ
34の動作は、ブロック並列誤差拡散装置24へのVS
YNC入力信号のアクティブなエッジが検出されると開
始され、これによりラインカウンタ90にMinLin
eレジスタ93より値がロードされる。このラインカウ
ンタ90は、ブロック並列誤差拡散装置24に入力され
るHSYNCのアクティブエッジが表われる毎にインク
リメントされる。このHSYNCのアクティブエッジに
より、またMinPixelレジスタ94より画素カウ
ンタ91に値がロードされ、この画素カウンタ91はP
CLKサイクル毎に4ずつカウントアップされる。
【0092】このラインカウンタ90は0、及びMax
Lineレジスタ95と比較され、ブロック並列誤差拡
散装置24が各ラインの有効部分を処理しているかが判
断される。この比較の結果は、構成レジスタ89の内容
とともに、一般的な制御ブロック96に送られる。この
一般的な制御ブロックは96は、包括的なリセット信号
やイネーブル信号や、ブロック並列誤差拡散装置24の
他のモジュールのテスト信号などを生成している。この
ブロック96はまた、SEDB順序信号を発生するデー
タシーケンサ34の残りの機能を制御している。
【0093】SEDBセグメントカウンタ92は主に3
つのカウンタからなり、クロックをN/4サイクルに分
割する2つのカウンタがある。ここでNは、セグメント
長レジスタ97の値を示している。カウンタは交互のラ
インに使用され、最初の4個のSEDBのための制御信
号を作成している。3番目のカウンタは、クロックをL
/4に分割しており、ここでLは最後のセグメント長レ
ジスタ98の値である。このカウンタは各サイクルごと
に使用され、SEDB4のための制御信号を作成してい
る。
【0094】図23を参照する。この図23には、SE
DBよりのデータを取り込んで、出力データバス33に
出力する前に、それをフォーマットする出力ラッチ32
が示されている。カラーの場合には、これは単にデータ
を1サイクル分遅延させるだけである。出力ラッチ32
はまたフレーム、ライン及び画素有効出力信号をラッチ
しており、これによりこれらの信号が出力データととも
に段階に留まることができる。
【0095】SEDBよりのデータは各クロックサイク
ル毎に4つの4ビット形式であり、4つの連続する画素
のRGBW或は白黒の値を表わしている。
【0096】出力ラッチ32は実質的に2つのフリップ
フロップのバンクであり、第1のバンクはPCLKの立
ち下がりでクロックされ、有効(VALID) 信号は各サイク
ル毎にラッチされる。第2のラッチされたバンクは、P
CLKの立ち上がりエッジでクロックされ、出力を駆動
している。
【0097】前述の説明より、今まで説明した並列化処
理の採用による高速処理が要求される方法及び装置が明
らかになったが、この処理の分割及びその境界を変更す
ることにより、その劣化を最小にできたならば、誤差拡
散された画像の質をより向上させることができるであろ
う。
【0098】上述の説明は単に本発明の好適な実施例を
説明しただけで、当業者に容易に想到できる本発明の変
更は、本発明の趣旨から逸脱することなく、これに含ま
れるものである。例えば、本発明は大きな変更なく、多
くの異なるカラーモデルにも適用でき、処理速度を低下
するために、セグメントの数を増大してもよい。
【0099】
【発明の効果】以上説明したように本発明によれば、並
列処理を用いることにより、高速の画素レートで画像の
誤差拡散を行うことができる効果がある。
【図面の簡単な説明】
【図1】CRTタイプの表示装置の従来の単一画素を示
す図である。
【図2】単一の色立体を表す図である。
【図3】フロイドとスタインバーグによる誤差拡散処理
を表す図である。
【図4】本実施例の初期状態における入力画像フレーム
バッファの分割状態を示す図である。
【図5】本実施例の各領域の4番目の画素に誤差拡散を
行っている時の入力ラインの状態を示す図である。
【図6】各誤差拡散処理が、その領域の最後から2番目
の画素に達した時の本発明の好適な実施例の状態を示す
図である。
【図7】各誤差拡散処理が、その領域の最後の画素に達
した時の本発明の好適な実施例の状態を示す図である。
【図8】本実施例の表示システムの構成の一部を示すブ
ロック図である。
【図9】図8のセグメント誤差拡散ブロック(SED
B)のブロック図である。
【図10】入力ライン(m)の開始時点における本実施
例のSEDBの状態を示す図である。
【図11】入力ライン(m)の20%が入力された後の
SEDBの状態を示す図である。
【図12】入力ライン(m)の70%が入力された後の
SEDBの状態を示す図である。
【図13】入力ライン(m)の入力が完了した時のSE
DBの状態を示す図である。
【図14】図8の入力補正ユニットの構成を示すブロッ
ク図である。
【図15】図9の256×27ビットRGBラインメモ
リ39のブロック図である。
【図16】図9の並列3次元誤差拡散ユニット(P3D
EDU)のブロック図である。
【図17】図16の内部並列3次元誤差拡散ユニット(I
nter-P3DEDU)61のブロック図である。
【図18】図16の注目ライン画素パイプライン(CL
PP)のブロック図である。
【図19】図16の3次元ルックアップユニット(3D
LU)のブロック図である。
【図20】図16の次ライン誤差パイプライン(NLE
P)のブロック図である。
【図21】図16の256×4ビットRGBWラインメ
モリ41のブロック図である。
【図22】図8のデータシーケンサ34のブロック図で
ある。
【図23】図8の出力ラッチ32のブロック図である。
【図24】本実施例のFLCD表示システム全体を構成
を示すブロック図である。
【符号の説明】
27 入力補正ユニット 28 セグメント誤差拡散ブロック(SEDB) 32 出力ラッチ 34 データシーケンサ 39 256×27ビットRGBラインメモリ 40 3次元誤差拡散ユニット(P3DEDU) 41 256×4ビットRGBWラインメモリ 48 64ワード×108ビットメモリアレイ 62 注目ライン画素パイプライン(CLPP) 63 3次元ルックアップユニット(3DLU) 64 次ライン誤差パイプライン(NLEP) 201 コンピュータ装置 203 表示システム 204 FLCD表示コントローラ 205 FLCD表示装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウィリアム クラーク ネイラー ジュ ニア. オーストラリア国, ニュー サウス ウェールズ 2080, マウント クリン グ・ガイ, ヤング ストリート 12 (56)参考文献 特開 平6−98165(JP,A) 特開 昭61−63893(JP,A) 米国特許5271070(US,A) (58)調査した分野(Int.Cl.7,DB名) G09G 3/00 - 5/42 G06T 5/00 H04N 1/40,1/46

Claims (13)

    (57)【特許請求の範囲】
  1. 【請求項1】 誤差拡散を並行して実施する誤差拡散方
    法であって、 入力画像に対応する入力データのラインを入力する工程
    と、 その入力した画像を複数の領域に分割する分割工程と、 各領域の現ラインの注目画素に誤差を拡散し、出力値と
    それに関連した誤差値を作成する工程と、 その関連した誤差を他の領域の注目ラインでないライン
    の画素、或いは注目画素と同じ領域の隣接する画素に加
    算する加算工程と、を有することを特徴とする並列誤差
    拡散方法。
  2. 【請求項2】 前記分割工程は、前記領域を境界領域と
    非境界領域とに分割する工程を有し、前記加算工程は、
    境界領域の画素における関連した誤差を、他の境界領域
    の注目ラインでないラインの画素に加算することを特徴
    とする請求項1に記載の並列誤差拡散方法。
  3. 【請求項3】 前記境界領域の画素に関連した誤差は、
    隣接する領域の次ラインの画素に加算されることを特徴
    とする請求項2に記載の並列誤差拡散方法。
  4. 【請求項4】 前記分割工程は、各入力画像ラインの所
    定の部分を同じ領域に割り当てる工程を含むことを特徴
    とする請求項1に記載の並列誤差拡散方法。
  5. 【請求項5】 前記加算工程は、フロイド−スタインバ
    ーグ(Floyd-Steinberg) 係数を用いて実行されることを
    特徴とする請求項1に記載の並列誤差拡散方法。
  6. 【請求項6】 前記入力データは、赤、緑及び青色デー
    タのための情報の個別のチャネルを含むことを特徴とす
    る請求項1に記載の並列誤差拡散方法。
  7. 【請求項7】 前記誤差拡散は前記領域のそれぞれで同
    時に行われることを特徴とする請求項1に記載の並列誤
    差拡散方法。
  8. 【請求項8】 表示される画像データを入力するための
    画像入力手段と、 前記画像入力手段により入力された画像データを複数の
    領域に記憶する入力記憶手段と、 複数の誤差拡散ユニットであって、それぞれが、前記入
    力記憶手段から注目ラインの入力画素を受け取る画素入
    力手段と、入力画素のそれぞれに誤差を拡散して出力画
    素と誤差拡散データを作成する誤差拡散手段と、前記誤
    差拡散データをまず対応する領域内の入力画素に隣接す
    る画素に加算し、次に隣接領域の注目ラインでないライ
    ンの画素に加算する誤差展開手段とを含む差拡散ユニッ
    トと、を有することを特徴とする並列誤差拡散装置。
  9. 【請求項9】 出力記憶手段に出力画素を出力する画素
    出力手段を更に有し、前記出力記憶手段は前記誤差拡散
    手段からの出力画素を受取り、表示のために前記出力画
    素を記憶することを特徴とする請求項8に記載の並列誤
    差拡散装置。
  10. 【請求項10】 前記隣接領域の注目ラインでないライ
    ンは隣接領域の次のラインであることを特徴とする請求
    項8に記載の並列誤差拡散装置。
  11. 【請求項11】 前記入力画像は複数のラインを含み、
    前記入力記憶手段は入力画像を複数の領域に分割し、各
    領域は入力ラインの同じ部分を含むことを特徴とする請
    求項8に記載の並列誤差拡散装置。
  12. 【請求項12】 画素ラインからなる画像を誤差拡散す
    るための並列誤差拡散装置であって、 入力画像をライン単位に入力し、周辺画素よりの誤差拡
    散の一部を各画素に加算する入力補正手段と、 あるラインの異なるセグメントにほぼ独立に並行して作
    用し、各セグメントの境界で画素のための誤差拡散デー
    タを交換する複数の誤差拡散ユニットと、を有すること
    を特徴とする並列誤差拡散装置。
  13. 【請求項13】 前記誤差拡散ユニットは、同時に並行
    して動作することを特徴とする請求項12に記載の並列
    誤差拡散装置。
JP00138694A 1993-01-11 1994-01-11 ブロック並列誤差拡散方法と装置 Expired - Fee Related JP3359140B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU6761 1993-01-11
AUPL676193 1993-01-11

Publications (2)

Publication Number Publication Date
JPH06301364A JPH06301364A (ja) 1994-10-28
JP3359140B2 true JP3359140B2 (ja) 2002-12-24

Family

ID=3776648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00138694A Expired - Fee Related JP3359140B2 (ja) 1993-01-11 1994-01-11 ブロック並列誤差拡散方法と装置

Country Status (4)

Country Link
US (1) US5519791A (ja)
EP (1) EP0606987B1 (ja)
JP (1) JP3359140B2 (ja)
DE (1) DE69415180T2 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3524250B2 (ja) * 1995-11-27 2004-05-10 キヤノン株式会社 デジタル画像処理プロセッサ
JPH09163162A (ja) * 1995-12-08 1997-06-20 Canon Inc 画像処理方法及び装置
US5835687A (en) * 1996-10-21 1998-11-10 Vidar Systems Corporation Methods and apparatus for providing digital halftone images with random error diffusion dithering
US5892851A (en) * 1997-05-23 1999-04-06 Hewlett-Packard Company Parallelized error diffusion
US6002804A (en) * 1998-03-26 1999-12-14 Hewlett-Packard Company Tone dependent variable halftoning with adjustable algorithm selection
US6307978B1 (en) 1998-06-03 2001-10-23 Wellesley College System and method for parallel error diffusion dithering
EP0989537B1 (en) 1998-09-22 2007-06-27 Matsushita Electric Industrial Co., Ltd. Improved multilevel image display method
JP2000175034A (ja) 1998-12-04 2000-06-23 Ricoh Co Ltd 画像処理装置
US6697666B1 (en) 1999-06-22 2004-02-24 Board Of Regents, The University Of Texas System Apparatus for the characterization of tissue of epithelial lined viscus
JP3995868B2 (ja) * 2000-06-12 2007-10-24 シャープ株式会社 誤差拡散演算装置
JP3661624B2 (ja) * 2000-10-06 2005-06-15 セイコーエプソン株式会社 画像処理装置
TWI223164B (en) * 2003-06-24 2004-11-01 Realtek Semiconductor Corp Error prediction method of halftone processing
KR100508936B1 (ko) * 2003-08-12 2005-08-17 삼성에스디아이 주식회사 고속 동작이 가능한 오차 확산 방법 및 그 방법을 이용한플라즈마 디스플레이 패널 구동 장치
JP4039395B2 (ja) 2003-09-18 2008-01-30 セイコーエプソン株式会社 画像処理方法および画像処理装置、画像処理プログラム、並びにプリンタ、印刷指示端末、画像処理システム。
US7450270B2 (en) * 2004-01-16 2008-11-11 Hewlett-Packard Development Company, L.P. Image data processing methods, hard imaging devices, and articles of manufacture
JP3792238B2 (ja) 2004-07-16 2006-07-05 シャープ株式会社 映像信号線駆動回路およびそれを備える表示装置
US20060171602A1 (en) * 2005-01-31 2006-08-03 International Business Machines Corporation Method and system for using a look-up table for a linear operation in image processing
KR100765509B1 (ko) * 2006-01-13 2007-10-10 엘지전자 주식회사 플라즈마 디스플레이 패널의 화상 처리 장치 및 방법
US7830569B2 (en) * 2006-03-31 2010-11-09 Eastman Kodak Company Multilevel halftone screen and sets thereof
US7626730B2 (en) * 2006-03-31 2009-12-01 Eastman Kodak Company Method of making a multilevel halftone screen
GB2433371B (en) * 2006-11-15 2007-11-14 Light Blue Optics Ltd Data processing apparatus
JP5812587B2 (ja) 2010-08-30 2015-11-17 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
WO2013019219A1 (en) 2011-08-02 2013-02-07 Hewlett-Packard Development Company, L. P. Inter-block data management
CN103402042B (zh) * 2013-07-31 2016-03-02 浙江大学 基于分块式误差扩散的半色调图像生成方法
US9007659B1 (en) 2013-12-16 2015-04-14 Xerox Corporation Re-ordered error diffusion for fast implementation
CN105224538B (zh) * 2014-05-29 2018-06-29 展讯通信(上海)有限公司 图像的抖动处理方法与装置
US9262704B1 (en) 2015-03-04 2016-02-16 Xerox Corporation Rendering images to lower bits per pixel formats using reduced numbers of registers
US10592790B1 (en) 2018-11-08 2020-03-17 Hewlett-Packard Development Company, L.P. Parallel image processes

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6163893A (ja) * 1984-09-06 1986-04-02 株式会社日立製作所 デイスプレイ装置における擬似中間調画像の表示方法
US4890167A (en) * 1986-10-17 1989-12-26 Matsushita Electric Industrial Co., Ltd. Apparatus for processing image signal
DE3838730C2 (de) * 1987-11-16 1994-07-28 Canon Kk Verfahren und Vorrichtung zur Bildverarbeitung
US5121447A (en) * 1989-04-27 1992-06-09 Canon Kabushiki Kaisha Apparatus for performing gradation processing on image data
US5070413A (en) * 1989-10-10 1991-12-03 Eastman Kodak Company Color digital halftoning with vector error diffusion
JPH04119763A (ja) * 1990-09-11 1992-04-21 Toshiba Corp 画像処理装置
US5351312A (en) * 1990-10-09 1994-09-27 Matsushita Graphic Communication Systems, Inc. Spatial filter of an image signal processor providing alternating line images without moire
US5208871A (en) * 1990-10-19 1993-05-04 Xerox Corporation Pixel quantization with adaptive error diffusion
US5388167A (en) * 1991-03-12 1995-02-07 Hitachi, Ltd. Document image processing system and document image processing method
JPH0562011A (ja) * 1991-09-03 1993-03-12 Konica Corp 画像処理装置
US5271070A (en) * 1992-11-06 1993-12-14 Xerox Corporation Multi-dimensional error diffusion technique

Also Published As

Publication number Publication date
EP0606987A3 (en) 1994-08-17
DE69415180D1 (de) 1999-01-28
JPH06301364A (ja) 1994-10-28
EP0606987A2 (en) 1994-07-20
DE69415180T2 (de) 1999-06-02
US5519791A (en) 1996-05-21
EP0606987B1 (en) 1998-12-16

Similar Documents

Publication Publication Date Title
JP3359140B2 (ja) ブロック並列誤差拡散方法と装置
US5844532A (en) Color display system
JP3406934B2 (ja) 並列誤差拡散方法
JPH0728995A (ja) 範囲クリッピング方法及びその装置及び表示装置
US5196924A (en) Look-up table based gamma and inverse gamma correction for high-resolution frame buffers
JPS6163893A (ja) デイスプレイ装置における擬似中間調画像の表示方法
JPH0695273B2 (ja) デイスプレイ制御装置
JPS6025794B2 (ja) カラ−図形表示装置
JPH04220695A (ja) コンピュータグラフィックスシステムにおいて画素値データをガンマ修正する装置
JPH0651752A (ja) ビジュアルデータ処理装置
JPH04288590A (ja) Cymk−rgbのramdac方法及び装置
EP0951694B1 (en) Method and apparatus for using interpolation line buffers as pixel look up tables
JP3577455B2 (ja) 画像処理方法、装置、および画像処理プログラムを記録した記録媒体
JP2003208606A (ja) 3dカラースペースにおけるカラー変換
JPH0237479A (ja) スターバーストプロセッサ
US6747661B1 (en) Graphics data compression method and system
EP0721724A1 (en) System and method for halftoning using an overlapping threshold array
JP3690860B2 (ja) 画像処理装置
JP2003076341A (ja) シーケンシャル・カラー・ディスプレイ装置
JPH0793536A (ja) 表示システムのための雑音抑制方法及びその装置
AU673556B2 (en) Colour display system
JP2002287709A (ja) 液晶表示装置
JP3172450B2 (ja) 画像情報処理装置
AU674552B2 (en) Parallel error diffusion method and apparatus
JP2898569B2 (ja) コンピュータゲーム開発用ビデオアクセラレータボード

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020913

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

Free format text: PAYMENT UNTIL: 20071011

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081011

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091011

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091011

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101011

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101011

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111011

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111011

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121011

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20131011

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees