JPS63503529A - エラー項平均化を用いるビットマップ像の解像度交換法 - Google Patents

エラー項平均化を用いるビットマップ像の解像度交換法

Info

Publication number
JPS63503529A
JPS63503529A JP61503761A JP50376186A JPS63503529A JP S63503529 A JPS63503529 A JP S63503529A JP 61503761 A JP61503761 A JP 61503761A JP 50376186 A JP50376186 A JP 50376186A JP S63503529 A JPS63503529 A JP S63503529A
Authority
JP
Japan
Prior art keywords
output
value
pixels
pixel
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP61503761A
Other languages
English (en)
Other versions
JP2635034B2 (ja
Inventor
アーウィン,キャスリン
Original Assignee
ウォング・ラボラトリーズ・インコーポレーテッド
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 ウォング・ラボラトリーズ・インコーポレーテッド filed Critical ウォング・ラボラトリーズ・インコーポレーテッド
Publication of JPS63503529A publication Critical patent/JPS63503529A/ja
Application granted granted Critical
Publication of JP2635034B2 publication Critical patent/JP2635034B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • 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/40068Modification of image resolution, i.e. determining the values of picture elements at new relative positions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 発明の名称 エラー項平均化を用いるビットマツプ像の解像度変換性技術分野 本発明はデジタル画像処理に関するものであり、特に一方の解像度から他方の解 像度へビットマツプ(bitaIap)像を変換することに関する。
背景技術 画像のデジタル表示の一形態はビットマツプである。ビットマツプで画像を表示 する場合、画像は画素(ビクセル)のあるアレイに分割され、画素とデジタル記 憶′装置とを1対1で対応させる。最も単純な形態においては、各画素に対して 1ビツトの記憶装置がある。これは2進ビツトマツプであって、各画素が2つの 値の中の一方である場合(典型的には白黒で表示され、屡々「オフ」および「オ ン」と称せられる)の画像を表示する。ビットマツプが各画素に対して複数のビ ットを含むとすれば、画素は異なった色、あるいはグレイレベルである0例えば 一画素に対して4ビツトの場合、各画素は16の値の中の1個を有し、16の値 の画素は16のグレイレベル、16の異なった色、あるいは色の濃さや色のいず れか16の組合せとして表示しうる。
像のビットマツプ表示は、ビデオディスプレイのリフレッシュ、プリンタへの出 力、RAMあるいはディスクファイルでの記憶、画像の質の向上あるいは像の組 合せのための画像処理のような各種の要領で使用しうる。
ビットマツプが画像毎に値を有する場合よりもグレイレベルが多い画像をビット マツプ形態で表示することが可能である。
最も単純な場合はグレイスケールを有する像を表示するために2進ビツトマツプ を用いる場合である。この場合、各画素は黒または白のいずれかであるにもかか わらず、複数の画素を囲む像領域は、該領域における白の画素の数の黒の数に対 する比率に対応する明確なグレイスケールを有する。
ビットマツプ像の解像度を変換(即ち画像を表示するために使用されたビットマ ツプのアレイのサイズを変える)することが望ましいことがよくある。これは、 各種解像度(即ちインチ当りのドツトの種々のプリント数)の出力装置を調整し たり、あるいは所定のスペースに適合するよう像のサイズを変える(この場合の 操作はスケーリングと称しうる)ために望ましいことであろう。
解像度を低下させる一方法は各出力画素を入力画素の1個の値にセットし、他の 入力画素は無視することである。この方法は、入力対出力のビットマツピングが 画像のドツトパターンと相関する場合人工的手段となる0例えば、2:1に縮小 されるべき画像が、その他の各画素が「オン」である領域を有する場合。
(入力において50%のグレイレベルとして現われる)領域は出力において全て rオン」あるいは全て「オフ」のいずれかとなる(即ち0%または100%のグ レイレベル)。
解像度変換を行う別の方法は入力画素の出力画素へのマツピングを規定すること を含み、全ての画素が使用され、複数の入力画素が単一の出力画素にマツピング される。出力画素の値はマツピングされた入力画素の値の平均により決定される 。この方法は、出力画素がデジタル値で表示されるので、出力画素は一般的に対 応する入力画素の値の平均を正確に表示できないために限度がある。水平方向に 2=1、垂直方向に2:1の変換が一例となる。この場合、各出力画素に対して 24個の入力画素があり、したがって、単一の出力画素に対応する入力画素の平 均は5つの値の中の1つを有することができる(一時に0.1.2゜3あるいは 4個のrオン」の画素がありうる。しかも各出力画素は2つの値の中の1つのみ を有することができる。出力画素の値は以下のように決定できる。0−2のrオ ン」の入力画素により出力画素を「オフ」とし、かつrオン」である3−4の入 力画素は出力画素を「オン」とする、もしこの方法が用いられるとすれば、′へ のrオン」画素を有していた入力像の領域が「オン」の画素を何ら有しない出力 像の対応する領域を発生させ、かつrオン」の3への画素を有する入力像の領域 が、全ての画素が「オン」である出力像の対応する領域とつくる。このことは、 ダレイスクール表示の中のあるものが喪失されることを意味する。
グレイスクールが巨視的に表現される場合、換言すれば(例えは特に難しい。
本発明の目的はグレイスクールが巨視的に表示された場合であってもグレイスク ールを保持しながら解像度変換を達成することである。
発明の開示 本発明によれば、入力ビツトマツプが、入力ビツトマツプと異なる解像度を有す る出力ビツトマツプに変換される。その作業において、出力画素の値はマツピン グされた入力画素を基準に決定されるのみならず、1個以上の先行する出力画素 決定からけた上げされたエラー(誤まり)項を基準に決定される。
本発明は、エラー環を使用せずに達成されるものよりはるかに大きい精度で、平 均の入力画素密度に対応する平均出力画素密度を得るために各種の出力画素の決 定したものを結合する。
マツピングは入力画素と出力画素との間で規定され、最も単純な場合は複数の入 力画素を各出力画素にマツピングする。各出力画素の値は以下のように決定され る。エラー環の現在値をマツピングされた入力画素の値の平均の表示に加えるこ とにより試験値を決定する。もし試験値がしきい値より大きいとすれば、出力画 素を1の値にセットし、エラー環からオフセット値を差引く、もし試験値がしき い値より小さいとすれば、出力画素を0の値にセットし、エラー環を試験値と等 しくなるよう更新する。
図面の簡単な説明 本発明は請求の範囲において詳しく示される9本発明の前記およびその他の利点 は図面に関連した以下の詳細な説明を参照すればよく理解できる。
第1図は本発明を用いた画像変換システムの論理要素間の関係を示す。
第2A図、第2C図および第2D図は、本発明により入カビットマップから出力 ビツトマツプへ変換するのに含まれる計算を示し、一方第2B図は本発明を採用 しない場合に得られる出力ビツトマツプを示す。
第3A図と第3B図とは、水平方向に2=1および垂直方向に4:1の解像度変 換のための;入力ビットマツプ(第2A図)から出力ビツトマツプ(第2B図) へのマツピングを示す。
第4A図、第4B図、第5A図、第5B図、第6A図および第6B図はその他の 解像度変換比のための入力ビツトマツプから出力ビツトマツプへのマツピングを 示す、そして第7A図、第7B図および第7C図はそれぞれ、入力ビツトマツプ のセクション、出力ビツトマツプのセクションおよび入力ビツトマツプのセクシ ョン上への出力ビツトマツプのセクションを重ねたものを示す。
例示の実施態様の詳細な説明 第1図において、画像変換システムは、入力ビツトマツプ12の像を出力ビツト マツプ14の画像へ変換するための画像変換器10を有するものとして示されて いる0画像変換器10はエラー環16、エラー項初期化装置20、試験値発生器 22、しきい値比較器24、エラー環16の値を更新する更新手段26、および 出力ビツトマツプ14において画素値をセットする出力手段28とを含む。
エラー環16は、更新手段26により発生した値が次の試験値と比較するために 試験値発生器22が使用できるようにその値を記憶する6、エラー環の値の記憶 の専用の記憶位置が必ずしもある訳ではない、実際には、エラー環はその中心的 役割の故に出来る限り1個以上の内部CPUレジスタに保持される。
エラー項初期化装置20はビットマツプの最初の画素の変換に先立ってエラー環 の値をセットするよう配設されている8次いで、エラー環の値は更新手段26に より制御され、該更新手段は出力画素がセットされる毎にエラー環16の値を調 整する。
試験値発生器22は入力ビツトマツプ12の画素から出カビ・ノドマツプ14の 画素へのマツピングを規定するよう配設されている。
(一連の)出力ビツトマツプにおける各画素に対して、試験値発生器22はエラ ー環の現在値に、出力画素に対応する入力ビツトマツプの画素の値を加える。こ の合計はしきい値比較器24へ通される試験値である。
しきい値比較器24(よ現在の試験値がしきい値より大きいか、あるいは小さい かを検出する。ある状況においてはしきい値を変えることはある利点があるかも しれないが、本実施例ではしきい値は固定している。しきい値比較を単純な演算 とするために、しきい値は零とする。このためしきい値比較演算を試験値の記号 の試験演算まで低下させる(即ち、マイナス記号はしきい値より小さいことを、 プラスの記号はしきい値より大きいことを示す、) しきい値比較の結果はエラー環の更新の制御に用いられるしきい値を上廻ると、 (即ち試験値の記号がプラスであれば)、次いで更新手段26がエラー環が試験 値からオフセット値を引いたものに等しいようにする。しきい値を上廻るのでな ければ、次いで更新手段26はエラー環が現在の試験値と等しくなるようにする 。実際には、この場合試験値はエラー環に対して試験値発生器が用いるレジスタ に記憶されるので何ら特別の動作を必要としない。
オフセット値は、単一の出力画素にマツピングされた入力画素の値の可能最大合 計に等しい、詳しくは、入力画素が1個以上の出力画系に対してマツピングされ ないような77じ7グと有する2進ビツトマツプに対しては、オフセット値は出 力画素にマツピングされた入力画系の数に等しい。
しきい値比較の結果はまた出力画素値のセツティングの制御のためにも使用され る。もししきい値を上廻るとすれば、出力手段28は出力画素の値を1となるよ うセットする。さもなければ出力画素の値は0である。
エラー環は一連の出力画系の検出を結合するよう作用する。
このことは、各出力画素値が多の出力画素の値と独立して決定される場合よりも 、出力ビツトマツプにおける「オフ」画素に対する[オンj画素の比が、入力ビ ツトマツプにおける比に、より近く対応するという利点を提供する。
本発明の前述の特徴は第2A図、第2B図、第2C図および第2D図に示す例か ら判る。第2A図は画素の3八が「オン」である一連の入力画素を示す。3:1 の変換比に対する出力画素への入力画素のマツピングは3個の画素毎により太い 線により第2A図で示されている。第2B図は本発明をtuLシ二ur輩出力画 素を示す、第2C図は本発明による出力画素を示す、第2A図、第2B図および 第2C図において、「オン」画素は「XJの介在により指示され、「オフ」の画 素は「X」が介在しないことにより指示される。第2D図は第2A図の入力ビツ トマツプから第2C図の出力ビツトマツプへの変換において計算された値を示す 。
第2B図においては、出力画素にマツピングされる入力画素の半分以上が各出力 画素に対して「オン」であるため全ての画素は「4ン」でゐる。
第2C図は本発明を用いて達成しうるグレイレベルの保存を示す。出力画系の3 八がrオン」であって、入力画系と同じ比率である。
第2D図は第2A図から第2C図への変換を達成する上で計算された値を示す、 この変換に対して、3個の入力画素が各出力画素へマツピングされる。したがっ て、「オン」出力画素が発生する毎に3のオフセット値が差引かれる。したがっ て、エラー環は−1,5の値(「オン」画素に対応する量の半分)に初期化され る。各試験値は「オン」画素の数と、エラー環の先行する値との和である。(第 1、第2および第4の出力画素の場合のように)試験値がOを上廻ると、出力値 は1であって、エラー環は試験値から3を引いたものとなるよう更新される。試 験値が(第3の出力画素の場合のように)O以下である場合、出力値は0であっ て、エラー環は試験値と等しくなるよう更新される。
前述の例では図示を簡略化するために、一定のグレイレベルを有する入力像から 始めた。一般的に、グレイレベルは一定ではなく、画像にわたって変化する。本 発明によりつくられる出力ビツトマツプは必ずしも入力ビツトマツプにおけるも のと同じグレイレベルを正確に表示するものとは限らない、それにもかかわらず 、出力ビツトマツプにおけるグレイレベルは平均的な入力ビツトマツプのグレイ レベルに追従する。
デジタル計算機を用いて計算を行う場合操作された値を整数に限定することが望 ましいことが多い。前述の例は2種類の要領で整数計算に用いるよう修正可能で ある。エラー類の初期値を整数値に丸めることができる(これは初期計算に保か な効果はあるが永続的な効果ではない)。事実、0のような都合のよい値を初期 値として用いて、永続的な効果はないものの最初の数個の画素の理想的な選択を もたらす位である。理想的でない効果の程度はオフセットの半分である理想的な 初期値から初期値がどれ位置れているかにより、あるいは(2)全ての計算を2 倍にできく即ちエラー類の初期値が−3であり、各々の「オン」画素に対して2 の値が加えられ、かつrオン」の出力画素が発生すれば常に6のオフセット値が 差引かれる)。
図示実施例において、本発明は、特に8086アセンブリ言語で書かれ、以下詳 細に説明する解像度変換サブルーチンを含む各種の画像操作ソフトウェアを有す るマイクロコンピュータシステムを用いて実施される。
解像度変換サブルーチンは、一連の変換−比率−特定のルーチンが続く初期化部 分を含む。初期化部分は入力パラメータをあるCPUレジスタヘロードし、次い で必要な変換比を扱うよう構成された変換−比率−特定ルーチンへ分岐する。入 力パラメータは入力ビツトマツプの典型的な数個の列の各々並びに1列以上の出 力ビツトマツプを記憶すべき場所へのポインタを含む0例えば3:IX3:1の 変換ポインタに対しては入力3列及び出力1列が提供される。3:2X3:2の 変換ポインタに対しては入力3列及び出力2列が提供される。
解像度変換サブルーチンへの各呼出しによりある像にわたって1回の変換バスを 行う。そのような各パスは典型的にはある入力ラインを「消費」し、1個以上の 出力ラインを発生させる。
もっとも前記ラインの数は変換比率によって左右される。このルーチンは一般的 に全体の像を変換するために繰返し呼出される。
変換−比率−特定のルーチンの中の4個を以下詳細に説明する。以下の4例から 判るように、変換速度を適正化したいという願望と、種々の変換比により必要と される種々タイプのマツピングとにより変換−比率−特定ルーチンの間で差を生 ぜしめる。
4個の典型的な変換−比率−特定ルーチンにより規定されるマツピングは第3A 図から第6B図までに示す、第3A図、第4A図、第5A図と第6A図とは入力 ビツトマツプを示す、第3B図、第4B図、第5B図および第6B図は対応する 出力ビツトマツプを示す、入力ビツトマツプと出力ビツトマツプとの双方におい て、個々の画素は細い線により限定される。入力ビツトマツプにおいて、画素群 を画定するためにより太い線が用いられる。各群は出力ビツトマツプにおける単 一の画素に対応する。各群は英数字表示を含む、同一の表示が、入力画素群がマ ツピングされた出力ビツトマツプにおける画素に現われる。第5A図と第6A図 のマツピングにおいて、入力画素のあるものはいずれの出力画素に対してもマツ ピングされない、これらのマツピングされていない画素を「X」の表示で示す、 前記表示の英数字の順序は出力画素値が発生する順序に対応する(A、B、C, D等と、A + 、 A 2 、 A 3 、 A 4 、 B + 、 B  2 、 B 3 、 B 4等)。これはエラー類が伝播される順序である。
以下は、4個の変換−比率−特定のルーチンを説明するためれた行動の拡大され た記述である。
−左縁部の単一文字あるいは番号ラベルは文が分岐する点を指示する。
以下の説明において、「ブロック」という用語は、それにより変換が達成される 基本的な繰返しパターンである長方形グループの入力画素を参照する。単純なマ ツピングに対して、ブロック内の画素は全て単一の出力画素ヘマッピングされる 。より複雑なマツピングに対しては、2個以上の出力画素が単一の入力ブロック から発生する。
入力ビツトマツプはNストリームのバイトとして表示される。
Nは垂直方向の変換比によって左右される。出力ビツトマツプはMストリームの バイトとして表示される0Mは垂直方向の変換比によって左右される。
出力マスクはバイト、即ち単一ビットのセットを備えたワード、である。このビ ットは現在の出力画素に対応するビット位置に来るべくシフトされる。特定の出 力バイトにおいていずれかの出力画素の値を検出する前にバイトは零にセットさ れる。
出力の値が1であると検出されると、出力マスクは出力バイトでOR化され、出 力値が零であると検出すると出力バイトに対する作用は何ら必要とされない。
2:IX4:1 第3A図と第3B図とには、水平方向2:1、垂直方向4:1の解像度減少のた めのマツピングが示されている。この変換のためのルーチンのある種の特徴は以 下の通りである。
(1)全て1あるいは全てOを有するバイトの特殊な場合であって、バイトの個 々のビットの処理が必要とされない場合について試験が行われる。
(2)入力画素の値の加算がシフトおよびテストにより行われる。
2:IX4:1の変換は一般的に以下の構造化英語で示すように達成される。
一エラー項を−4まで初期化する L 4ラインの各々の次の16ビツトのワードをロードする(水平方向2:1と は1個の入力ワードが1個の出力バイトに対応することを意味する。水平方向4 :1とは4個の入力ラインが1個の出力ラインを計算するために必要とされるこ とを意味する) −もし4ワード(語)が相互に等しいとすれば−もし4ワードが0に等しいとす れば 全てOのバイトを出力し、Lへ分岐する(次のセットの4ワードをロードする) (エラー類は不変)−6し4ワードが全て1に等しいとすれば一全で1のバイト を出力してLへ分岐する(4ワードの次のセットをロードする)(エラー類は不 変)−出力マスクを初期化し、かつ(零へ)出力バイトを初期化する B 次のブロックのビットをエラー類に加える。即ち一4個の入力ワードの各々 に対して 一ワードを循環させ、けた上げをエラー類に加えるーワードを再び循環させ、け た上げをエラー類に加える−もしエラー類がプラスであれば 一次の出力ビットをセットする(即ち出力マスクを出力バイトでOR化する) 一エラー項から8を差引く −出力マスクを廻す −もし出力マスクが完全に循環しく回り)きらないとすれば(即ち、8個の出力 ビットが未完了である)−Bへ分岐して(次のブロックを行う)−出力バイトを 記憶する 一人カデータの終りにないとすれば −Lへ分岐する(4入力ワードの次のセットをロードする) える、もし、最初のラインからのバイトが第2のラインがらの対応するバイトに 等しいとすれば、そのバイトはエラー類に何ら変化をもたらすことなく、かつバ イトの個々のビットを処理する必要なく出力される。
3:IX3:1 水平方向3:1、垂直方向3:1の解像度減少に対するマツピングを第4A図と 第4B図とに示す、この変換のためのルーチンのある種の特徴は以下の通りであ る。
(1)入力画素の加算は「マスクおよび探索」により行われる。
(2)整数演算を用いるために、エラー類の初期値は−4,5の理想値から決め られ、および (3) ブロックはバイトの境界をまたぐことができる。
解像度変換ルーチンに対するいずれかの呼出しの前に、単一バイトの値0−25 5の各における1を計数することにより256の入口の探索テーブルを発生させ るサブルーチンの実行を含む各種システムの初期化操作が行われる。前記の探索 (ルックアップ)テーブルは「オン」の画素を計数するために以下説明のルーチ ンにより用いられる。
3:IX3:1の変換は一般的に以下のように実施される。
−出力マスクを初期化する 一出力バイトを零に初期化する 一零とされた入力ビット(現在の入力ワードにより処理すべく残されたビット) のカウントを初期化するーエラー項を−5に初期化する L 8を残されたビットに加える 一3個の入力ワードの各々に対して(3個の入力ラインの各々に1個のワード) 一次の入力バイトの8ビツトを、処理すべく残されたいずれかのビットに続く入 力ワードにおけるビット位置へ入れる B −3個の入力ワードの各々に対して一3個の最下位ビットの値をエラー類に 加える、即ち、−3個の最下位ビットを除いて全てマスクアウトする−これを探 索テーブルへのインデックスとして用い、探索テーブルへのインデックスにおけ る1の数であるテーブルからの値を検索する −この数をエラー類に加える 一人カワードを3ビツト分シフトする −もしエラー類がプラスであるとすれば一次の出力ビットをセットする 一エラー項から9を差引く 一出力マスクを循環させる −もし出力マスクが完全に循環されたとすれば一出力バイトを記憶する 一出力バイトを零へ初期化する −残ったビットがら3を差引く 一依然として(入力ワードの現在のセットにおいて処理すべく)3個以上のビッ トが残っているとすれば−Bへ分岐する(次のブロックを処理する)−もし入力 データの終りでないとすれば−Lへ分岐する(次の8ビツトを入力ワードの各々 へロートする) 一出口 水平方向3:2で垂直方向3:1の解像度減少に対するマ・ンピングを第5A図 と第5B図とに示す。この変換のルーチンの特徴は複素マツピングが使用される ことである。その中で(1) 入力画素のブロックに対して2個の出力画素があ る(2)単一の出力画素にマツピングされる入力画素のセ・ントは長方形のアレ イの形態でない、かつ (3)全ての入力画素が出力画素にマ・ノビングされる訳ではない。
3:2X3:1の変換は一般的に次のように行われる。
−出力マスクを初期化する 一エラー項目を−2に初期化する 一出力バイトを零に初期化する 一パターンフラッグを1に初期化する(新しい入力バイトが検索された後処理パ ターンが3個の入力ビツト毎に繰返される。これは継続すべき処理パターンの個 所を指示する。このフラッグは3個の可能な値1.2または3を有する) L 3個の入力ラインの各々の次のバイトをロードする− ビットカウンタを8 にセットする(8個の入力ビットは別のロードが要求される前に処理される)− パターンフラッグの値により1.2または3へ分岐する1 処理パターンの3分 の1を処理する、即ち一最初のバイトをシフトし、けな上げをエラー類に加え− 第2のバイトをシフトし、けた上げをエラー類に加える 一第3のバイトをシフトし、けた上げをエラー類に加える 一ビツトカウンタを減分する −もしビットカウンタが零でないならば−2へ分岐する 一パターンフラッグを2にセットする −さらに多くの入力データがあるとすれば−Lへ分岐する ー出口 2 処理パターンの次の3分の1を処理する、即ち、−最初のバイトをシフトし けた上げをエラー類に加える−もしエラー類がプラスであれば、 −出力ビットをセットする 一エラー項から4を差引く 一第2のバイトをシフトする(およびけな上げを無視する−この出力ビットは出 力画素に何らマツピングされないので出力に対する作用は何らない一第5A図参 照)−出力マスクを循環させる 一第3のバイトをシフトし、けな上げをエラー類に加える一ビツトカウンタを減 分する −もしビットカウンタが零でないならば−3へ分岐する 一パターンフラッグを3にセラ斗する −もしさらに入力データがあれば −Lへ分岐する。
一出口 3 処理パターンの最後の1八を処理する。即ち一3番のバイトをシフトし、け た上げをエラー類に加える一2番のバイトをシフトし、けた上げをエラー類に加 える一1番のバイトをシフトし、けた上げをエラー類に加える−もしエラー類が プラスであれば 一出力ビットをセットする 一エラー項から4を差引く 一出力マスクを循環させる(回す) −もし出力マスクが完全に循環させられると一出力バイトを記憶する 一出力バイトを零に初期化する 一ビツトカウンタを減分する 一パターンフラッグを1にセットする −さらに多くの入力データがあるとすれば−りへ分岐する 水平方向3:2 垂直方向3:2の解像度減少に対するマツピングを第6A図お よび第6B図に示す、この変換のルーチンの特徴は複素マツピングが使用される ことであって、(1) 入力画素のブロック毎に4個の出力画素がある(2)  単一の出力画素にマツピングする入力画素のマツピングが長方形アレイの形態で ない、 (3)全ての入力画素が出力画素にマツピングされない、および (4)出力画素の2本のラインが1回のパス(各パスは3ラインの入力画素を使 用する)の間発生される。
3:2X3:2変換は一般的に次のように達成される。
−出力マスクを初期化する 一エラー項を−1に初期化する 一出力バイトを零に初期化する(−処理パスにおいて、2出カラインに対して出 力が発生する) −パターンフラッグを1に初期化する(新しい入力バイトが検索された後3人カ ビット毎に処理パターンを繰返す。
これは処理パターンにおいて継続すべき個所を示す。このフラッグは3個の可能 な値、1.2または3を有する)L 3ラインの各々の次の入力バイトをロード する一ビツトカウンタを8にセットする(8入力ビットは別のロードを必要とす る前に処理される) −パターンフラッグの値に応じて2.1.2または3へ分岐する 1 処理パターンの1八を処理する、即ち一第2のバイトをシフトし、けた上げ をエラー類に加える一第3のバイトをシフトし、けな上げをエラー類に加える− もしエラー類がプラスであれば 一第2の出力ラインの出力ビットをセットするーエラー類から2を差引く −第1のバイトをシフトしけた上げをエラー類に加える一ビツトカウンタを減分 する −もしビットカウンタが零でないならば−2へ分岐する。
一パターンフラッグを2にセットする −りへ分岐する 一出口 2 処理パターンの次の1八を処理する、即ち一第1のバイトをシフトし、けな 上げをエラー類に加えるーもしエラー類がプラスとすれば 一最初の出力ラインに対して出力ビットをセットする一エラー項から2を差引く 一第2のバイトをシフトしくかつけた上げを無視する−この入力ビットは出力画 素にマツピングされていないので出力に対して何ら影響しない、) 一出力マスクを循環させる(回す) −第3のバイトをシフトし、 の位響で番な 番を舌 しくエラー類が伝播され る出力画素における順序が第6B図に示されるように伝播される) 一ビツトカウンタを減分する 一ビツトカウンタが零でないとすれば −3へ分岐する 一パターンフラッグを3にセットする −もしさらに入力データがあるとすれば−りへ分岐する 一出口 3 処理パターンの最後の1八を処理する、即ち一第1のバイトをシフトし、け た上げをエラー環に加える。
−第2のバイトをシフトし、エラー環にけな上げを加える−もしエラー環がプラ スであれば 一最初の出力ラインの出力ビットをセットする。
−エラー環から2を差引く m一時的に記憶したけた上げをエラー環に加える一3番のバイトをシフトし、け な上げをエラー環に加える−もしエラー環がプラスとすれば 一第2の出力ラインに出力ビットをセットする一エラー項から2を差引く 一出力マスクを循環させる(回す) −もし出力マスクが全て循環させる(回る)と−出力バイトを記憶する 一2個の出力バイトを零に初期化する 一ビツトカウンタを減分する 一パターンフラッグ31にセットする −もしさらに入力データがあるとすれば−りへ分岐する ー出口 前述のマツピング法に対する対案は、1個以上の出力画素に対しである入力画素 をマツピングし、重み付き平均を用いることを含む。M:RによるNeoの形態 の変換を想定する。各々N×Mのサイズの画素の長方形のセクションのアレイへ 入力ビツトマツプを論理的に分解することから開始する。(そのようなセクショ ンの中の1個をN=M=3の場合に関して第7A図に示す)。また各々QXRの サイズの画素の長方形セクションのアレイに出力ビツトマツプを論理的に分解す る(そのようなセクションの1個をQ=R=2の場合に関して第7B図に示す) 。
長方形の入力セクションの各々における入力画素は対応する出力セクションにお ける出力画素にマツピングされる(これまでのところ、これは前述のマツピング 方法と同じである)、3:2×3=2の縮小の場合に関して第7C図に示すよう にNXMアレイの上にQXRアレイを重ねる。入力画素は、それらが重なってい る出力画素にマツピングされる。詳しくは、第7A図、第7B図および第7C図 から入力画素a、b、d、eは全出力画素にマツピングされることが判る。しか しながら、入力画素の重なり量が異なることに注目し、かつ入力画素eは4個の 出力画素(A。
B、C,およびD)にマツピングし、入力画素aは単一の出力画素(A)にマツ ピングすることに注目されたい。
前節で説明したマツピングが用いられる場合、入力画素が計算される要領を調整 することが望ましい、特に、所定の出力画素に対して合計を計算する場合、各入 力画素は、その入力画素が出力画素と重なる程度に比例するところまでは合計に 寄与すべきである。第7A図、第7B図および第7C図に示す場合に出力画素A の合計を計算する場合、入力画素aは入力画素すとdの2倍の重みをつけるべき で、入力画素aは入力画素eの4倍の重みをつけるべきである。整数算術を用い るために、出力画素Aに対する合計は次のように計算すべきである。
4Va+2Vb+2Vd+Ve V a 、 V b 、 V dおよびVeは対応する入力画素の値である。出 力画素が2進値を有する場合、出力画素がセットされている場合差引くべきオフ セット分はりであるべきで、エラー環の初期の値は−4,5であるべきである( もっとも整数算術を用いるには−5が十分近似している)。
入力画素が種々の数の出力画素にマツピングされる場合のマツピングは前述のよ うに画素に重みをつけることなく使用できる。
これは計算上より簡単であるという利点を有するが、出力像の質を低下しかねな いという欠点がある。
前述の例に記載のように、エラー環は一行のビットマツプに対して1回初期化さ れる。代替的に、エラー環は多少頻繁に初期化しうる0例えば、エラー環はビッ トマツプ毎に1回初期化しうる。
前述の変換例において、全て解像度の減少をもたらしている。
即ち入力ビツトマツプにおけるより出力ビツトマツプにおける画素の方が少ない 。本発明はまた、解像度を増加する場合にも有用である。2:3X1:1の変換 は解像度の増加の例である。
処理パターンは3個の出力画素毎に繰返される(2個の入カ画第1と第2の入力 画素はそれぞれ1の重みを付した第2の出力画素とマツピングされ、第2の入力 画素がこの重みを付した第3の出力画素にマツピングされるように使用できる。
そのような重み付けにより、エラー環は−1に理想的に初期化され「オン」した 各出力画素に対して2のオフセット分が差引かれる。
前述の例において、エラー環はビットマツプにわたって水平パスを通してけた上 げされる。代替的にエラー環を2方向に、即ち垂直方向と水平方向とにけた上げ してもよい。エラー環はビットマツプにおける各コラムに対して初期化しうる。
(処理は行別を基準になされるので、一時に全ての行に対してエラー環をつくる 必要はない)。各出力画素に対して、マツピングされた入力画素の値は行のエラ ー環と、および適当なコラムのエラー環との和に加えられる。更新されたエラー 環が計算されると、その半分は更新されたコラムのエラー環となるよう、かつ別 の半分は更新された行のエラー環となるよう割当てられる。
前述の例において、入力および出力ビツトマツプの双方において画素当り1個の ビットがある0本発明はまた、入力ビツトマツプあるいは出力ビツトマツプのい ずれかにおける各画素が1個以上のビットにより表示される場合と、入力ビツト マツプと出力ビツトマツプとが画素当り異なる数のビットを用いる場合を含み採 用しうる。
前述の説明は「グレイレベル」に関してのものであるが、画素値は実際に色を表 示することも可能である。さらに、カラー像に対して用いられるとすれば、代替 的に各色に対して1個の複数のエラー環を用いてもよい0.これは入力ビツトマ ツプと同じ出力ビツトマツプにおける各種の色の相対比率を保つ上で有用である 。
前述の説明は本発明の特定の実施例に限定してきた。付加的な利点や修正は当該 技術分野の専門家には明らかである。したがって、本発明は本明細書に示し、か つ説明した特定の詳細、代表的装置および図示例に限定されるものではない、む しろ、本発明の真正な精神や範囲に入る全ての変更や修正を網羅することが請求 の範囲の目的とするところである。
新規なものとし、米国特許により確保したいと願うことは以下の通りである。
2:I FIG、 3A FIG、 4A FIG、 6A FIG、 7A FIG、 7B 国際調査報告

Claims (1)

  1. 【特許請求の範囲】 1.入力ビットマップの像を出力ビットマップの像へ変換する方法において、 (A)入力ビットマップにおける画素と出力ビットマップにおける画素との間の マッピングを画定し、(B)エラー項の記憶を提供し、 (C)出力ビットマップの各画素に対して、出力値を以下の通り決定すること、 即ち (1)エラー項と現在の出力画素にマッピングされた入力画素との組合せから試 験値を決定し、 (2)試験値から出力値を決定し、および(3)試験値と出力値とに基づきエラ ー項を更新することを 含む入力ビットマップの像を出力ビットマップの像に変換する方法。 2.請求項1に記載の方法において、出力値と更新されたエラー項とが、 もし試験値がしきい値より大きければ、(a)出力値は1し決定され、かつ (b)更新されたエラー項はオフセット値を試験値から差引いた値であり、 もし試験値がしきい値より大きくないとすれば、(a)出力値は0と決定され、 かつ (b)更新されたエラー項は試験値に等しいというように決定される、像を変換 する方法。 3.請求項1に記載の方法において、試験値がエラー項と、そのために出力値が 決定されつつある出力画素にマッピングされた入力画素の合計を示す値との和で ある、像を変換する方法。 4.請求項2に記載の方法において、試験値がエラー項と、そのために出力値が 決定されつつある出力画素にマッピングされた入力画素の合計を示す値との和で ある像を変換する方法。 5.請求項1に記載の方法において、出力ビットマップにおける各画素が複数の 行の中の1つと関連しており、かつ各行に対してエラー項が行の最初の出力画素 を発生させるために初期化され、かつ当該行の後続の画素の各々に対してエラー 項が先行する出力画素の値に基づいて更新される、像を変換する方法。 6.請求項1に記載の方法において、最初の出力値を発生させるべくエラー項が 初期化され、かつ後続の出力値の各々に対してエラー項が先行する出力値に基づ いて更新される、像を変換する方法。 7.請求項4に記載の方法において、出力ビットマップにおける各画素が複数の 行の中の1つと関連し、かつ各行に対して当該行の最初の出力画素を発生させる べくエラー項が初期化され、かつ当該行の後続の画素の各々に対して、先行する 出力画素の値に基づいてエラー項が更新される、像を変換する方法。 8.請求項4に記載の方法において、最初の出力値を発生させるべくエラー項が 初期化され、後続の出力値の各々に対して、エラー項が先行する出力値に基づい て更新される、像を変換する方法。 9.請求項4に記載の方法において、−入力画素が、1個以上の出力画素に入力 画素が何らマッピングされず、複数の入力画素が各出力画素にマッピングされる ように出力画素にマッピングされ、−オフセット値が、そのために出力値が決定 されつつある出力画素にマッピングされた入力画素の数に等しく、かつ −合計を表示する値が、そのために出力値が決定されつつある出力画素に対して マッピングされた、1の値を有する入力画素の数のカウントである、 像を変換する方法。 10.請求項4に記載の方法において、−入力画素の少なくとも若干が複数の出 力画素にそれぞれマッピングされるように入力画素が出力画素にマッピングされ 、かつ −合計を表示する値が、そのために出力値が決定されつつある出力画素にマッピ ングされた、1の値を有する入力画素の重みをつけたカウントであつて、各入力 画素に対する重みが、それがマッピングされる出力画素の数に逆比例する、 像を変換する方法。 11.入力ビットマップの像を出力ビットマップの像に変換する像変換器におい て、 (A)エラー項を記憶する手段と、 (B)エラー項と入力ビットマップにおける複数の画素の組合せから出力ビット マップにおける画素用の試験値を決定する手段と、 (C)試験値と、結果的な出力値とに基づいてエラー項を更新し、かつその出力 画素用の試験値から出力ビットマップの画素用の出力値を決定する手段とを含む 入力ビットマップの像を出力ビットマップの像に変換する像変換器。 12.請求項11に記載の像変換器において、エラー項を更新し、出力値を決定 する手段が、 (1)試験値がしきい値より大きいか否か検出する比較手段と、 (2)前記比較手段に応答し、 もし試験値がしきい値より大きければ、(a)出力値が1であると決定し、かつ (b)エラー項を試験値からオフセット値を差引いた値にセットし、かつ もし試験値がしきい値より大きくなければ、(a)出力値が0であると決定し、 かつ(b)エラー項をその試験値にセットする手段とを含む、像の変換器。 13.請求項11に記載の変換器において、試験値を決定する手段が、入力ビッ トマップの画素と出力ビットマップの画素との間のマッピングを画定し、エラー 項と、そのために試験値が決定されつつある出力画素ヘマッピングする入力ビッ トマップの画素の合計を示す値とを計算する手段を含む、像の変換器。 14.請求項12に記載の変換器において、試験値を決定する手段が入力ビット マップの画素と出力ビットマップの画素との間のマッピングを画定し、かつエラ ー項と、そのために試験値が決定されつつある出力画素ヘマッピングされる入力 ビットマップの画素の合計を示す値との和を計算する手段を含む像変換器。 15.請求項11に記載の変換器において、出力ビットマップの各画素が複数の 行の1つと関連し、像変換器がさらに、当該行の最初の出力画素値を決定する前 にエラー項を初期化する手段を含み、かつエラー項を更新する手段が、前記行に おける後続の画素の出力値の決定の前にエラー項の値を決定する像変換器。 16.請求項11に記載の変換器において、最初の出力画素の値の決定前にエラ ー項を初期化する手段をさらに含み、エラー項を更新する手段が、出力ビットマ ップにおけるビットマップの後続の画素の出力値の決定前にエラー項の値を決定 する、像変換器。 17.請求項14に記載の変換器において、出力ビットマップの各画素は複数の 行の1つと関連しており、像変換器はさらに当該列の最初の出力画素値を決定す る前にエラー項を初期化する手段を含み、エラー項を更新する手段が当該行にお ける後続の画素の出力値の決定前にエラー項の値を決定する、像変換器。 18.請求項14に記載の変換器において、最初の出力画素の値を決定する前に エラー項を初期化する手段をさらに含み、エラー項を更新する手段が出力ビット マップにおける後続の画素の出力値の決定前にエラー項の値を決定する、像変換 器。 19.請求項14に記載の変換器において、−出力画素への入力画素のマッピン グは1個以上の出力画素には入力画素が何らマッピングされず、複数の入力画素 が各出力画素にマッピングされるものであり、−オフセット値が、そのために試 験値が決定されつつある出力画素ヘマッピングされる入力画素の数であり、かつ −合計を表示する値が、そのために試験値が決定されつつある出力画素ヘマッピ ングされる、1の値を有する入力画素の数である、 像変換器。 20.請求項14に記載の変換器において、−出力画素への入力画素のマッピン グが、入力画素の少なくともあるものがそれぞれ複数の出力画素にマッピングさ れるようなものであり、 −合計を表示する値が、そのために試験値が決定されつつある出力画素ヘマッピ ングされる、1の値を有する入力画素の重みを付したカウントであり、各入力画 素の重みがそれがマッピングされる出力画素の数に反比例する、像変換器。
JP61503761A 1986-06-26 1986-06-26 エラー項平均化を用いるビットマップ像の解像度交換法 Expired - Lifetime JP2635034B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1986/001365 WO1988000377A1 (en) 1986-06-26 1986-06-26 Resolution conversion of bitmap images using error term averaging

Publications (2)

Publication Number Publication Date
JPS63503529A true JPS63503529A (ja) 1988-12-22
JP2635034B2 JP2635034B2 (ja) 1997-07-30

Family

ID=22195555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61503761A Expired - Lifetime JP2635034B2 (ja) 1986-06-26 1986-06-26 エラー項平均化を用いるビットマップ像の解像度交換法

Country Status (7)

Country Link
US (1) US4742553A (ja)
EP (1) EP0270534B1 (ja)
JP (1) JP2635034B2 (ja)
AU (1) AU646002B2 (ja)
CA (1) CA1274021A (ja)
DE (1) DE3687460T2 (ja)
WO (1) WO1988000377A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093872A (en) * 1987-11-09 1992-03-03 Interand Corporation Electronic image compression method and apparatus using interlocking digitate geometric sub-areas to improve the quality of reconstructed images
US5150461A (en) * 1988-05-25 1992-09-22 Sun Electric Corporation Fixed point method of video display scaling
JP3018337B2 (ja) * 1988-09-17 2000-03-13 ブラザー工業株式会社 画像処理装置
US5065149A (en) * 1989-11-09 1991-11-12 Document Technologies, Inc. Scanned document image resolution enhancement
JP2523222B2 (ja) * 1989-12-08 1996-08-07 ゼロックス コーポレーション 画像縮小/拡大方法及び装置
US5148497A (en) * 1990-02-14 1992-09-15 Massachusetts Institute Of Technology Fractal-based image compression and interpolation
WO1991012591A1 (en) * 1990-02-14 1991-08-22 Massachusetts Institute Of Technology Fractal-based image compression and interpolation
JP2844575B2 (ja) * 1990-04-19 1999-01-06 キヤノン株式会社 印刷装置
US5555557A (en) * 1990-04-23 1996-09-10 Xerox Corporation Bit-map image resolution converter with controlled compensation for write-white xerographic laser printing
US5226094A (en) * 1990-10-19 1993-07-06 Xerox Corporation Method for making image conversions with error diffusion
US5282051A (en) * 1991-07-29 1994-01-25 Xerox Corporation Apparatus and method for performing resolution conversion on image data with auto correlation
US5572234A (en) * 1991-09-20 1996-11-05 Intel Corporation Display element density conversion
US5245678A (en) * 1991-12-20 1993-09-14 Xerox Corporation Image conversion with lossy adaptive error diffusion
US5237432A (en) * 1991-12-23 1993-08-17 Xerox Corporation Image scaling apparatus
US5363213A (en) * 1992-06-08 1994-11-08 Xerox Corporation Unquantized resolution conversion of bitmap images using error diffusion
US5559930A (en) * 1992-08-03 1996-09-24 Hewlett-Packard Company Method for reducing pixel density along a plurality of axes of a multiple dimension image representation
US5270836A (en) * 1992-11-25 1993-12-14 Xerox Corporation Resolution conversion of bitmap images
JP3262414B2 (ja) * 1993-07-19 2002-03-04 キヤノン株式会社 画像処理装置及び画像処理方法
CA2129092C (en) * 1993-10-04 1999-10-19 Leon C. Williams Image interpolation apparatus
US5528704A (en) * 1993-11-15 1996-06-18 Xerox Corporation Image resolution conversion using a plurality of image registrations
US5440343A (en) * 1994-02-28 1995-08-08 Eastman Kodak Company Motion/still electronic image sensing apparatus
CA2148177A1 (en) * 1994-05-16 1995-11-17 Kent E. Biggs Method and apparatus for stretching bitmaps to non-integer multiples
KR960036647A (ko) * 1995-03-20 1996-10-28 배순훈 스캐닝을 이용한 비트플랜 압축전송장치
KR0181048B1 (ko) * 1995-03-28 1999-05-01 배순훈 삼각형 블럭을 이용한 비트플랜 압축전송장치
US5689343A (en) * 1995-05-26 1997-11-18 Xerox Corporation Area mapping employing reference clusters for high quality noninteger resolution conversion with enhancement
JP2973899B2 (ja) * 1995-11-17 1999-11-08 富士ゼロックス株式会社 画像処理装置
EP0970439B1 (de) * 1997-03-27 2002-04-10 Océ Printing Systems GmbH Verfahren und schaltungsanordnung zum erzeugen von gestauchten oder gedehnten bildern sowie drucker mit einer derartigen schaltungsanordnung
US6430321B1 (en) * 1998-09-28 2002-08-06 Hewlett-Packard Company Text enhancement
US7123277B2 (en) * 2001-05-09 2006-10-17 Clairvoyante, Inc. Conversion of a sub-pixel format data to another sub-pixel data format
US7184087B2 (en) * 2001-05-22 2007-02-27 Fuji Photo Film Co., Ltd. On-screen device for subject of interest in portable electronic device, and method of controlling same
US8498468B1 (en) * 2003-09-30 2013-07-30 Kla-Tencor Corporation Mask inspection

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4275450A (en) * 1979-08-01 1981-06-23 Xerox Corporation Magnification/demagnification apparatus and method
JPS5676683A (en) * 1979-11-28 1981-06-24 Ricoh Co Ltd Processing method for picture deformation
DE3036711C2 (de) * 1980-09-29 1985-08-01 Siemens AG, 1000 Berlin und 8000 München Verfahren zum Verkleinern von grafischen Mustern
JPS58127466A (ja) * 1982-01-26 1983-07-29 Fuji Xerox Co Ltd 画像拡大縮小方式
US4528693A (en) * 1982-09-30 1985-07-09 International Business Machines Corporation Apparatus and method for scaling facsimile image data
US4602346A (en) * 1983-05-19 1986-07-22 Matsushita Electric Industrial Co., Ltd. Method and apparatus for processing image data using sum and subtract operations
US4633503A (en) * 1984-03-19 1986-12-30 The United States Of America As Represented By The Secretary Of The Navy Video zoom processor
US4628534A (en) * 1984-07-06 1986-12-09 Honeywell Information Systems Inc. Method for changing the resolution of compressed image data

Also Published As

Publication number Publication date
EP0270534A1 (en) 1988-06-15
EP0270534B1 (en) 1993-01-07
WO1988000377A1 (en) 1988-01-14
AU6803890A (en) 1991-03-14
EP0270534A4 (en) 1990-01-23
DE3687460D1 (de) 1993-02-18
US4742553A (en) 1988-05-03
AU646002B2 (en) 1994-02-03
DE3687460T2 (de) 1993-04-29
CA1274021A (en) 1990-09-11
JP2635034B2 (ja) 1997-07-30

Similar Documents

Publication Publication Date Title
JPS63503529A (ja) エラー項平均化を用いるビットマップ像の解像度交換法
Ward Real pixels
EP0435527B1 (en) Picture element encoding
JP2780193B2 (ja) デイザー装置
US5412766A (en) Data processing method and apparatus for converting color image data to non-linear palette
US4718024A (en) Graphics data processing apparatus for graphic image operations upon data of independently selectable pitch
US5155478A (en) Method and apparatus for converting gray scale
CN1012302B (zh) 彩色图像显示系统
US6437793B1 (en) System for rapidly performing scan conversion with anti-aliasing upon outline fonts and other graphic elements
US5596767A (en) Programmable data processing system and apparatus for executing both general purpose instructions and special purpose graphic instructions
US4835526A (en) Display controller
US5077678A (en) Graphics data processor with window checking for determining whether a point is within a window
US4933877A (en) Bit map image processing apparatus having hardware window function
US20020109702A1 (en) Color display method and semiconductor integrated circuit using the same
AU594724B2 (en) Emulation attribute mapping for a colour video display
US4996653A (en) Line generation in a display system
US5375198A (en) Process for performing a windowing operation in an array move, a graphics computer system, a display system, a graphic processor and a graphics display system
US6008796A (en) Software-based dithering method and apparatus using ramp probability logic
US5488698A (en) Rasterization of line segments using difference vectors
US20110221775A1 (en) Method for transforming displaying images
EP0597791A2 (en) Method and apparatus for the efficient generation of high quality images in a computer system
US20020167530A1 (en) Anti-alias font generator
EP0441874A1 (en) Digital vector generator apparatus for providing mathematically precise vectors and symmetrical patterns
US20030071817A1 (en) Controlling an output device
CN111275793B (zh) 一种文字渲染方法、装置、电子设备及存储介质