JPH05242238A - 所与の拡大率によって画像を拡大する方法及び装置 - Google Patents

所与の拡大率によって画像を拡大する方法及び装置

Info

Publication number
JPH05242238A
JPH05242238A JP4224211A JP22421192A JPH05242238A JP H05242238 A JPH05242238 A JP H05242238A JP 4224211 A JP4224211 A JP 4224211A JP 22421192 A JP22421192 A JP 22421192A JP H05242238 A JPH05242238 A JP H05242238A
Authority
JP
Japan
Prior art keywords
image
series
control symbols
sequence
compiling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4224211A
Other languages
English (en)
Inventor
Raphael L Levien
エル.レヴィーン ラファエル
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JPH05242238A publication Critical patent/JPH05242238A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4055Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 画像拡大、あるいは中間調スクリーンととも
に記憶画像の高速スクリーニングに使用できる高速スク
リーニング技術を実施化した方法および装置を提供す
る。 【構成】 入力拡大率に応じてマイクロコンパイラがカ
スタムプログラムコードを生成する。カスタムプログラ
ムコードは所定の入力拡大率に対して入力画像の中間調
スクリーニングを行う。一般に個々の異なった拡大率に
対して異なったカスタムプログラムコードが生成され
る。従って、スクリーニングプロセスのパラメータであ
りマイクロコンパイラに入力される拡大率は、カスタム
プログラムコードのランタイム中の入力ではなく、入力
パラメータを除去してコード自体に埋込まれているの
で、カスタムプログラムコードは高速で走る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に画像の中間調
(halftone) のスクリーニング(screening)に関し、特
に画像の中間調のスクリーニングに有用な記憶画像の拡
大に関する。
【0002】
【従来の技術】原画像の各画素の階調(tone) の値を表
わした画像は典型的にはメモリに記憶されている。黒白
画像の記憶された画素は各画素のグレースケール(gray
scale) 値を表わしている。カラー画像について各々の
カラープレーン(color plane)は各プレーン毎に画像の
各画素の中間調値を表わす画素の配列として記憶されて
いる。例えば、黒白画像の各画素を8ビットデジタルワ
ードで表わすと、所定の画素の中間調値は黒レベルと白
レベルとの間の256個の値のひとつである。
【0003】大抵のプリンタはプリント画像を表わすの
に通常紙の上にインクがあるかないかで表わしており、
連続階調画像を良好にプリントしない。中間調(プリン
トインクの有無の中間に存在する陰影)を表わすため
に、原画像をスクリーニングして、人間の目には中間調
の画像として現れる可変寸法のドットのようなパターン
をつくっている。
【0004】中間調の画像をつくるスクリーニングは周
知である。スクリーンはドットあるいは中間調セルの配
列より構成され、各ドットは原画像の連続階調の一区間
を可変寸法および可変形状の単一のドットとして表わ
す。中間調セルの場合はより小さなスクリーンセルの配
列より構成され、各セルには個々の値が与えられ、原画
像から抽出した入力画素と比較される。通常スクリーン
は極めて小さいパターンの繰返しとして記憶される。画
像の画素の値がスクリーンセルの対応する値よりも大き
いとマークエンジン(mark engine)によってマークが生
成され、画像画素の値がスクリーンセルの値よりも小さ
いか等しいとマークエンジンはマークを生成しない、マ
ーク生成は上記した大小関係と逆の場合もある。
【0005】従来技術において、多種類の特定中間調ス
クリーニングパターンと多種類のスクリーン角度を用い
た画像の機械的電気的スクリーニング技術は当業者に周
知である。一般に中間調スクリーンは原画像よりもかな
り精細である。すなわち、中間調を無地の色の可変形状
のドットで表わすために、中間調セルは通常原画像ピク
セルよりも多いスクリーンセルを有している。出力装置
とスクリーンは普通同一の空間分解能を有しているが、
原画像は通常その寸法を拡大する必要がある。例えば、
出力装置の一走査ラインが8000画素でも原画像は2
000画素しか走査されていなかった。従って、拡大率
4を用いる必要がある。拡大画像がスクリーンが有する
スクリーンセルと同数の画素を有するような拡大率を用
いて原画像を拡大することが一般に必要である。また、
入力画像の一部をプリントする場合には、このプリント
する部分を拡大してスクリーンと最終画像寸法に適合さ
せる必要がある。通常、画像の拡大とスクリーニングと
は同一プロセスで行なわれる。拡大率は常にほとんど1
より大きい。もし、拡大率が1より小さいと、スクリー
ニング前のいずれかのプロセスで縮少が行なわれる。
【0006】画像を拡大するには、同一画素を繰返し用
いる。例えば、画像を4倍に拡大するには、各画素は垂
直と水平の各方向に4回繰返される。画像を2.5倍に
拡大するには、各画素は半分の時間で2回繰返され、後
の半分の時間で3回繰返されて、2.5倍に平均化して
いる。拡大は所望拡大比の逆数に等しい数をレジスタに
加えることによって通常行なわれている。レジスタがオ
ーバフローするまで前の画素値が繰返され、その後次の
画素がレジスタが再度オーバフローするまで繰返され
る。スクリーニング(画素の比較)は拡大(画素の繰返
し)と同時に行われる。逆数をレジスタに加えオーバフ
ローを検出するたびに、そこで入力された画素は適当な
スクリーンセルと比較されてスクリーニングした後の画
像を生成している。
【0007】
【発明が解決しようとする課題】画像スクリーニングの
重要な性能尺度は速度である。精細なスクリーンは高画
質をもたらすが、スクリーンセルが多ければ多い程、画
像スクリーニングにより長い時間がかかる。さらにカラ
ー分離では、黄、マゼンタ(magenta)、シアン(cyan)
および黒の4個のスクリーンが必要である。従って、多
くの画像スクリーニング装置は通常スクリーニングのス
テップをハードウェアで構成しており、ハードウェアは
一般にソフトウェアで構成した対応するアプリケーショ
ンよりも高速である。本発明は従来技術の方法よりも実
用的で高速なソフトウェアによって行うものである。
【0008】
【課題を解決するための手段】画像を拡大でき、あるい
は中間調スクリーンと組合せて記憶した画像の高速スク
リーニングに使用できる方法と装置において高速スクリ
ーニング技術を実施している。本発明はハードウェアあ
るいはソフトウェアで実行できるか、特にソフトウェア
の実行に有利である。
【0009】本発明の方法と装置は、入力拡大率に応じ
てカスタムプログラムコードを生成するマイクロコンパ
イラを有する。カスタムプログラムコードは特定の所望
の拡大率に対して入力画像の中間調スクリーニングを行
う。一般に、各々異なった拡大率に対して、異なったカ
スタムプログラムコードが生成される。従って、マイク
ロコンパイラに入力されるスクリーニングプロセスのパ
ラメータである拡大率は、カスタムプログラムコードに
対する入力ではないので、入力パラメータが取除かれコ
ード自体に組込まれており、より高速でカスタムプログ
ラムコードは走ることができる。
【0010】本発明では各々異なった拡大率に対して、
マイクロコンパイラが画像スクリーニングに用いる新し
いカスタムプログラムコードを再度コンパイルする。し
かし、入力画像の各ラインは同一拡大率で拡大されるの
で、マイクロコンパイラは全体の画像に対して一度だけ
カスタムプログラムコードを生成するだけでよい。すな
わち、繰返し画素のパターンは画像の各ライン及び同一
画像の各カラー分離に対して同一である。従って、中間
調スクリーニングのような繰返しプロセスにとっては、
マイクロコンパイルによるオーバヘッドが画像のライン
数に応じて分散される。スクリーニングで制約した時間
はマイクロコンパイルで失なわれた時間より大幅に大き
い。ソフトウェアで構成した従来技術の方法が画素当た
り10命令あるいは動作を必要とするのと比較して、本
発明は画素当たり2命令を少し超える位であり速度向上
は5対1である。特に、486タイプ・インテル(Inte
l)マイクロプロセッサを用いた33MHz コンピュータシ
ステムでは画素当りの処理速度は約135ナノセコンド
である。本発明はハードウェアでも構成でき、従来技術
のハードウェア技術に比較して同様のスクリーニング速
度の向上が得られる。
【0011】さらに、本発明は垂直方向に画像を拡大し
スクリーニングするのにも用いることができる。しか
し、垂直方向では前の画素を繰返すか否かの決定はライ
ン毎に1回行う。従って、垂直方向のスクリーニング速
度は臨界的ではなく、従来技術を使用してもよい。
【0012】
【実施例】システム全体のブロック図を図1に示す。入
力拡大率30に応じてマイクロコンパイラ32はカスタ
ムスクリーニングコード38を生成する。次にカスタム
スクリーニングコード38は入力スクリーン36を用い
て原画像34を処理して、スクリーニングされた中間調
出力画像40をつくる。
【0013】図2に示すカスタムマイクロコード生成プ
ロセスの第1のステップはステップ12での拡大率であ
る有理数の入力である。次のステップ14では、スクリ
ーニングにおいて画像の各ラインを拡大するのに使用す
る繰返し画素の全体パターンを計算する。繰返し画素の
全体パターン(スクリーニング後の最終画像のビット数
と同一ビット数を有する)は、制限された数のより小さ
なパターン、例えば各々16ビット、を有するものとし
て同定される。これら小さなパターンをある順番で繰返
して全体のパターンを形成する。本発明者は、所与の拡
大率に対する全体パターンは各々16ビットの17個の
パターンによって定義された17個以下のセグメントで
記述できることを見出した。17個のパターンが生成さ
れるステップ14の一部として、これらパターンが用い
られる範囲(次元を意味する)を決定する。パターンは
ビット列として記述され、このビット列は実際では一連
の制御記号(control symbol) である。この一連の制御
記号に1が現れると新しい入力画素が取込まれ、0が現
れると先の画素が繰返される。
【0014】決定された17個のパターンの各々はカス
タムコードのセグメントを定義する。範囲とパターンが
わかるとステップ16でこれらセグメント間のリンクが
決定される。各セグメントに対してマイクロコンパイラ
はコードの一部をコンパイルする。各セグメントに対応
する実際のプログラムコードはステップ18で生成さ
れ、セグメント間の決定されたリンクに基づいたブラン
チコードがステップ20で生成される。このように、生
成されたパターンと範囲、ならびにパターン間のリンク
を用いて、画像の各ラインに対してアセンブルされたマ
イクロコードが走ることによって繰返し画素の全体パタ
ーンが再生される。
【0015】次にステップ22、24および26で原画
像のスクリーニングを行い、画像領域の最終を示す画像
の最終ラインがステップ28で検出されてプロセスを終
了する。詳しくは、原画像の中間調データの個々のライ
ンがステップ22で入力される。生成されたコードのセ
グメントはステップ24で適当なシーケンスでコールさ
れ、スクリーニングされた走査ラインデータのラインが
ステップ26で出力される。
【0016】従来技術方法による1本の走査ラインのス
クリーニングは以下の擬似コードで表わされる。
【数1】 ここでeは拡大率を示す実数、fはeの逆数の有理数、
rem は拡大を制御する有理数、iは結果としての配列の
インデックス、jは入力配列のインデックス、kはスク
リーン配列のインデックス、gは入力の現在点の中間調
の値、mは結果としての現在点のバイナリ値、nは出力
配列の画素数、pはスクリーン配列の周期、input
〔 〕は入力画素の中間調値配列、screen〔 〕はスク
リーン画素の中間調値配列、そしてresult〔 〕は結果
としての画素のバイナリ値配列である。
【0017】このプログラムは拡大率の逆数に等しい有
理数を加えてオーバフローを検出している。このプログ
ラムを直接構築するとアルゴリズムは遅すぎる。fと r
emをQ16フォーマットで記憶するのが通常であり、す
なわち、実際の値は2∧(−16)*16ビットレジス
タの絶対値である。このことはfとrem の両者が共に0
と1の間の値をとるので可能である。結果としての配列
は殆んど常にパックした形で記憶される。すなわち画素
が1バイトにパックされる(あるいは16画素1ワード
にパックされる)。これによって result 〔i〕:=m
のステップで非常に複雑なビットとなる。
【0018】本発明においては、アルゴリズムを構成す
る実際のコードは所与の拡大率毎にカスタム化される。
マイクロコンパイラプログラムの機能は第2のプログラ
ムを生成することであり、この第2のプログラムの機能
は所与の拡大率に対してスクリーニングアルゴリズムを
構成することである。結果としてのコードは17個のセ
グメントに分割され、各セグメントは16個の出力画素
をスクリーニングする。従って、上述した画素のパック
問題を簡略化するとともにオーバヘッドを劇的に減少さ
せる。各セグメントは元のスクリーニングアルゴリズム
の16個の反復と等価であり、各セグメントは16個の
出力画素を生成する。結果としてのコードのメインルー
プは合計 n/16回の反復であり、各反復において17個
のセグメントのひとつを選んで実行する。このようにし
て、結果としての全コードは完全に元のアルゴリズムと
等価である(一般性を犠牲にすることなくnは16の倍
数と仮定できる)。
【0019】上述したように、各々16ビットの最大1
7個のパターンが可能であり、これらパターンがある順
番で繰返されて全体パターンを形成する。上述のアルゴ
リズムが16回反復実行されると16ビットの値が生成
され第1のパターンを形成する。例えば、拡大率が4で
あるとすると、代表的パターンは1000100010
001000(2進表示)であろう。0は前の画素が繰
返されることを意味し、1は次の画素を使用することを
意味する。繰返し部分のパターン1000は各画素が4
回繰返されることを意味する。
【0020】一定の拡大率が与えられた場合、パターン
に影響するのはrem の初期値のみである。変数としての
rem は周期パターンの位相に類似している。拡大率4の
場合、4個の異なったrem の初期値に対応した4個の異
なったパターンがあることがわかる。 パターン 範 囲 0001000100010001 0<=rem < .25 0010001000100010 .25<=rem < .5 0100010001000100 .5<=rem < .75 1000100010001000 .75<=rem <1
【0021】一般的には(拡大率が2のべき乗でない場
合)、ちょうど17個の異なったパターンがあり、rem
の17個の範囲に対応している。以下に示すコードにお
いて、所与の拡大率に対するこれらの範囲とパターンと
を決定するサブルーチンがある。4倍の拡大は4個のパ
ターンしかないので縮重(degenerate) した場合であ
り、いずれの初期位相あるいはrem の値に対しても、こ
れらのパターンの1個のみが繰返されて全パターンのス
クリーニングを行う。
【0022】拡大率3.1459のさらに一般的な場合
を以下に示す。拡大率の逆数は0.3178である。1
6ビットでは0.3178×16=5.0859とな
る。整数5を除くとセグメント間の位相増加は0.08
59となる。16進表示ではセグメント位相増分は16
00である。17個のセグメントのパターンと位相(re
m)の範囲を以下の表に各々にセグメントに対して示す。
【0023】 位相範囲 位相範囲 セグメント の先頭 の幅 パターン 次のセグメント 0 0000 0BE0 1249 1, 2 1 0BE0 0BE0 2249 2, 3 2 17C0 0BE0 2449 3, 4 3 23A0 0BE0 2489 4, 5 4 2F80 0BE0 2491 5 5 3B60 21E0 2492 5, 6, 7 6 5D40 0BE0 4492 7, 8 7 6920 0BE0 4892 8, 9 8 7500 0BE0 4912 9, 10 9 80E0 0BE0 4922 10 10 8CC0 21E0 4924 10, 11, 12 11 AEA0 0BE0 8924 12, 13 12 BA80 0BE0 9124 13, 14 13 C660 0BE0 9224 14, 15 14 D240 0BE0 9244 15, 16 15 DE20 0BE0 9248 16 16 EA00 1600 9249 0, 1
【0024】上記表は画像を拡大しスクリーニングする
ために全パターンを計算する従来の手段を用いてつくら
れる。第1欄はセグメント番号、第2欄と第3欄は対応
するパターンが使用される位相(rem)の範囲、そして最
後の欄は次のセグメントへのリンクを、各々示してい
る。これら17個のパターンは以下に説明するようにコ
ードセグメントの生成に用いられ、他の欄はコードセグ
メントを適切な順番で実行するのに必要なプログラムリ
ンクを生成するのに用いられる。
【0025】例えば初期位相が零と仮定する。これは1
249のパターンが、セグメント0で行なわれる拡大と
スクリーニングの初期パターンを意味する。セグメント
位相増分を初期位相に加算して次のセグメントのコード
を見つけて実行する。すなわち、セグメント11が入力
される時は、位相はAEA0から始まって幅0BE0を
有する範囲、すなわちAEA0からBA80までの範囲
にある。セグメント位相増分をAEA0からBA80の
範囲にある位相に加えると、セグメント11が入力され
た時の位相に応じてセグメント12あるいは13にある
新しい位相となる。このようにして、17個のパターン
に対応した17個のコードセグメントが原画像を拡大し
てスクリーニングするために結合される。
【0026】スクリーニングを行うコードの例を以下に
示す。セグメントのパターンは、セグメント11のパタ
ーン、1000100100100100、すなわち1
6進数で8924とする。言語は8086アセンブリ言
語であり中間調の値は各々16ビット(2バイト)であ
る。右側のコメントフイールドは所望パターンに対応す
るビットを示す。
【0027】--- ビット割当て--- AX:結果としてのワード(mの16値に対応) DX:入力中間調(gに対応) SI:原画像の入力配列(input 〔 〕に対応) DI:スクリーン配列(screen〔 〕に対応) DP:rem に対応(位相に等しく初期値は零) (1=次の画素にインクリメント) (0=現在の画素の繰返し)
【数2】
【0028】このコードでは“ mov dx, o[si]”命令等
は元のアルゴリズムの“g:= input[j]"に対応してい
る。同様に、“cmp dx, o[di]"命令は元のアルゴリズム
の "g>=screen[K]"テストを行って、8086プロセ
ッサのC(キャリー)フラグをセットする。最後に "ad
c ax, ax" 命令は ax レジスタを1ビット左に同時にシ
フトし、低位ビットをキャリーフラグと等しく設定する
ことによって、比較結果を ax レジスタに記憶できる。
【0029】この時点のコードでは、 ax は1ワードに
パックされた結果としての16個の画素を含んでいる。
このワードは直接マークエンジンに出力するか、あるい
は、将来使用するためにメモリに記憶することができ
る。次に、全体のループカウントをチェックしてメイン
ループが正しい反復数を行えるようにする。このことは
ループカウンタに印加されるデクリメント命令とそれに
続くアルゴリズムの終了部分への条件付き分岐によって
行なわれる。
【0030】繰返しスクリーン この部分はスクリーンのモジュロPアドレシング、すな
わちスクリーンの繰返しパターンのチェックを構成して
いる。
【0031】このモジュロP計算は従来技術のアルゴリ
ズムのように各画素毎に行なわれるのではなく、16個
の画素の各群に対して行なわれる。この結果、上述のコ
ードでは di レジスタ(スクリーンを指示する)がスク
リーンの終了後を指示できる。
【0032】しかしこの問題の解決は容易である。すな
わち、スクリーンの通常の終了後にスクリーンの初めか
らさらに15個の値を加える。これによって、たとえ、
diレジスタがスクリーンの終了後を指示しても、その
指示は有効なスクリーンの値を指示している。
【0033】全体のモジュロアドレシングは以下のコー
ドで構成される。 cmp dx,end of screen jb screen ok sub dx,period of screen screen ok: ここで、end of screenはスクリーンの開始アドレス
+2* Pに等しく,period of screenは2* Pに等し
い。また因数2は各中間調値が2バイトで表わされてい
るからである。
【0034】たの時点でどのセグメントが次の16画素
のスクリーニングをするのが決定する必要がある。次の
画素はrem の値によって一義的に決まる。従って、次セ
グメントを決定する第1ステップはrem の値を更新する
ことである。
【0035】この例ではrem はQ16フオーマットで b
p レジスタに記憶されているこの値を更新するには bp
に(16*フロア(65536*f))のモジュロ65
536を加える必要がある。例えば、拡大率か3.14
59であると、fは0.3178であり、フロア(65
536*f)は20832であり、これを16倍すると
333312であり、この値のモジュロ65536は5
682すなわち16進数で1600となる。従って結果
としてのコードは次の命令を含んでいる。 add bp, 5682
【0036】次に一連の比較とジャンプ命令によって、
どのセグメントが bp の結果としての値を含んでいるが
決定できる。
【0037】しかし、 bp を17個すべての範囲と比較
する必要はない。なぜなら可能な値の範囲は現セグメン
トの範囲によって制限されるからである。
【0038】この例ではセグメントは44704(AE
A0、16進)<= bp <47744(BA80、16
進)の条件で入力されている。従って、この点では50
386(C4A0、16進)<= bp <53426(D
080、16進)である。本例ではこのことは bp は2
個の他のセグメントにのみ入る。事実、 bp <5078
4(C660、16進)ならば、これらセグメントの内
の初めのセグメントに入り、さもなくば第2のセグメン
トに入る。これは以下のコードによって容易に構成でき
る。 cmp bx, 50784 jb Seg 13 jmp Seg 14
【0039】ここで1セグメントに対するコード例が終
わる。範囲とパターンを決めるプログラムは以下に与え
られている。このプログラムはマイクロソフトのクイッ
クベーシック、第4.5版で書かれている。
【数3】
【0040】範囲のパターンは奇妙な特性を持ってい
る。いかなる所与の拡大率に対しても最大3個のきわだ
った範囲の幅を有する。さらにセグメントの最大個数は
17である。これら特性の理論的根拠はわからないが、
実験的には確められた。これらプログラムは特定個数の
セグメント(17個)を仮定しているが、例えば拡大率
が2のべき乗のように実際は17個より少ないセグメン
トでも結果としてのコードは正確かつ効率的に動作す
る。
【0041】以下のサブルーチンはあるセグメントから
次のセグメントへのリンクを決定する。各セグメントに
対して、どのセグメントが順次続くことができるかを決
定することは有用である。これは現リンクに対する Fiv
stLink〔 〕と NumLink〔〕によって表わされ、各々第
1のリンクのセグメント番号と全リンク数を表わしてい
る。
【0042】このフオーマットでリンクを決定する、ク
イックベーシックで書かれたサブルーチンを以下に示
す。
【数4】
【0043】リンクのパターンはいくつかの奇妙な特性
を有し、プログラム構成に興味のある点である。最初
に、各リンクに対して NumbLinks〔 〕を合計すると3
3となる。これは最終コードのコードサイズを決定する
のに有用である。次に、iのいかなる値に対しても Fiv
stLink〔i〕+ NumbLink 〔i〕<=17である。この
ことによってラップアラウンドコードを使用しなくとも
リンクを計算し処理できる。
【0044】8086アセンブリ言語で書かれた図2の
ブロック32に相当し、結果として得たコードをコンパ
イルするプログラムを以下に示す。このプログラムは引
数として有理数をとり、最終のコンパイルされたコード
をリターンする。ルーチン GetEnlargePatとFindEnlarg
eLinksは上述のベーシックコードの2個の部分に対応し
ている。
【数5】
【数6】
【数7】
【数8】
【数9】
【数10】
【数11】
【数12】
【0045】同一技術は8086系以外のコンピュータ
にも使用でき、68000、88000、およびスパー
ク(Sparc)タイプのコンピュータにも同様に効果的であ
る。アルゴリズムの特徴は80486のようなかなり大
きな内部キヤシュ(例えば8キロバイト)を有したCP
Uでかなり高速なことである。33MHz 80486での
未加工スクリーニング速度の測定値は毎秒750万ピク
セルであった。
【0046】各々のラインには同じセグメントが連続し
て存在することに注意されたい。別な実施例として、 b
p レジスタをチェックするコードを省略して次セグメン
トへ条件付き分岐することも可能である。この場合ルー
プ終了のチェックを省略してbp と cx レジスタを交互
に解放的に使用することが可能である。各セグメントは
サブルーチンにパックされる。即ち各ルーチンはリター
ン命令で終了する。次にメイン制御ループは各セグメン
トに対する一連のコール命令となる。
【0047】もしライン当たりの画素数が大であると、
上述の別の方法は許容以上の多数のコール命令となる。
詳しくは、コードがキャッシュに収まり切らず多くのキ
ャッシュミスが発生して動作を遅くする。従って、全体
のシーケンスをサブルーチン階層に分割したマクロに分
離するのが最良である。メインシーケンサは順次マクロ
をコールし、マクロは直接セグメントを順次コールす
る。すべてのマクロが展開した時、このシーケンスは元
のシーケンスと同一となるが使用するコードスペースは
ずっと少ない。マクロシーケンスの選択には、レブ−ツ
ェンペル−ベルヒ(Lev-Zempel-Welch) 、データ圧縮方
法の変形等いくつかの周知技術を使用できる。
【図面の簡単な説明】
【図1】本発明の実施例のスクリーニング装置のブロッ
ク図である。
【図2】本発明の実施例のプログラムを示すフローチャ
ートである。
【符号の説明】
30 拡大率 32 マイクロコンピュータ 34 画像 36 スクリーン 38 発生したスクリーニングコード 40 スクリーニングした中間調

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 所与の拡大率によって画像を拡大する方
    法において、 該画像を原画素の配列として記憶すること、 該拡大率に応じて該記憶された画像の各々の画素を繰返
    す一連の命令をコンパイルすること、そして該一連の命
    令を実行して該画像を処理すること、を具備する方法。
  2. 【請求項2】 該拡大率に応じて該記憶された画像の各
    々の画素を繰返す一連の命令をコンパイルする前記ステ
    ップは、 該拡大率に対応した一連の制御記号を該記憶された画像
    の少なくとも一ラインに対して生成すること、 該一連の制御記号をこの一連の制御記号の各部分に対応
    する複数のパターンに分離すること、 該複数のパターンに対応する複数のプログラムセグメン
    トをコンパイルすること、そして該一連の制御記号に対
    応して該複数のプログラムセグメントを結合する複数の
    リンクを決定すること、を具備する請求項1の方法。
  3. 【請求項3】 所与の拡大率によって画像を拡大するス
    テップを含み、該画像を所定のスクリーンを介してスク
    リーニングする方法において、 該画像を原画素の配列として記憶すること、 該拡大率に応じて該記憶された画像の各々の画素を繰返
    し、かつ該拡大された画像の各々の画素と該スクリーン
    とを比較する一連の命令をコンパイルすること、そして
    該一連の命令を実行して該画像を処理すること、を具備
    し、 これによって該画像は該所与の拡大率で拡大され該所定
    のスクリーンと比較される方法。
  4. 【請求項4】 該拡大率に応じて該記憶された画像の各
    々の画素を繰返しかつ該拡大された画像の各々の画素と
    該スクリーンとを比較する一連の命令をコンパイルする
    前記ステップは、 該拡大率に対応した一連の制御記号を該記憶された画像
    の少なくとも一ラインに対して生成すること、 該一連の制御記号をこの一連の制御記号の各部分に対応
    する複数のパターンに分離すること、 該記憶された画像の各部分を該スクリーンによってスク
    リーニングするために該複数のパターンに対応する複数
    のプログラムセグメントをコンパイルすること、そして
    該一連の制御記号に対応させて該複数のプログラムセグ
    メントを結合する複数のリンクを決定すること、を具備
    する請求項3の方法。
  5. 【請求項5】 入力パラメータに応じて一連の制御記号
    を生成し該入力パラメータに従って入力データを処理す
    るプログラム装置の実行速度を上げる方法において、 該入力パラメータに対応する該一連の制御記号を生成す
    ること、 該入力データを処理する前に、該入力パラメータに対応
    する該一連の制御記号に従って一連の命令をコンパイル
    すること、そして該コンパイルされた一連の命令を用い
    て該入力データを処理することを具備する方法。
  6. 【請求項6】 該入力データを処理する前に、該入力パ
    ラメータに対応する該一連の制御記号に従って一連の命
    令をコンパイルする前記ステップは、 該入力パラメータに対応する一連の制御記号を生成する
    こと、 該一連の制御記号をこの一連の制御記号の各部分に対応
    する複数のパターンに分離すること、 該複数のパターンに対応する複数のプログラムセグメン
    トをコンパイルすること、そして、 該一連の制御記号に対応して該複数のプログラムセグメ
    ントを結合する複数のリンクを決定すること、を具備す
    る請求項5の方法。
  7. 【請求項7】 所与の拡大率によって画像を拡大する装
    置において、 該画像を原画素の配列として記憶する手段と、 該拡大率に応じて該記憶された画像の各々の画素を繰返
    す一連の命令をコンパイルする手段と、 該一連の命令を実行して該画像を処理する手段と、を具
    備する装置。
  8. 【請求項8】 該拡大率に応じて該記憶された画像の各
    々の画素を繰返す一連の命令をコンパイルする前記手段
    は、 該拡大率に対応した一連の制御記号を該記憶された画像
    の少なくとも一ラインに対して生成する手段と、 該一連の制御記号をこの一連の制御記号の各部分に対応
    する複数のパターンに分離する手段と、 該複数のパターンに対応する複数のプログラムセグメン
    トをコンパイルする手段と、 該一連の制御記号に対応して該複数のプログラムセグメ
    ントを結合する複数のリンクを決定する手段と、を具備
    する請求項7の装置。
  9. 【請求項9】 所与の拡大率によって画像を拡大する手
    段を含み、該画像を所定のスクリーンを介してスクリー
    ニングする装置において、 該画像を原画素の配列として記憶する手段と、 該拡大率に応じて該記憶された画像の各々の画素を繰返
    しかつ該拡大された画像の各々の画素と該スクリーンと
    を比較する一連の命令をコンパイルする手段と、 該一連の命令を実行して該画素を処理する手段とを具備
    し、 これによって該画像は該所与の拡大率で拡大され該所定
    のスクリーンと比較される装置。
  10. 【請求項10】 該拡大率に応じて該記憶された画像の
    各々の画素を繰返しかつ該拡大された画像の各々の画素
    と該スクリーンとを比較する一連の命令をコンパイルす
    る前記手段は、 該拡大率に対応した一連の制御記号を該記憶された画像
    の少なくとも一ラインに対して生成する手段と、 該一連の制御記号をこの一連の制御記号の各部分に対応
    する複数のパターンに分離する手段と、 該記憶された画像の各部分を該スクリーンによってスク
    リーニングするために該複数のパターンに対応する複数
    のプログラムセグメントをコンパイルする手段と、 該一連の制御記号に対応して該複数のプログラムセグメ
    ントを結合する複数のリンクを決定する手段と、を具備
    する請求項9の装置。
  11. 【請求項11】 入力パラメータに応じて一連の制御記
    号を生成し該入力パラメータに従って入力データを処理
    するプログラム装置の実行速度を上げる装置において、 該入力パラメータに対応する該一連の制御記号を生成す
    る手段と、 該入力データを処理する前に該入力パラメータに対応す
    る該一連の制御記号に従って一連の命令をコンパイルす
    る手段と、 該コンパイルされた一連の命令を用いて該入力データを
    処理する手段と、を具備する装置。
  12. 【請求項12】 該入力データを処理する前に該入力パ
    ラメータに対応する該一連の制御記号に従って一連の命
    令をコンパイルする前記手段は、 該入力パラメータに対応する一連の制御記号を生成する
    手段と、 該一連の制御記号をこの一連の制御記号の各部分に対応
    する複数のパターンに分離する手段と、 該複数のパターンに対応する複数のプログラムセグメン
    トをコンパイルする手段と、 該一連の制御記号に対応させて該複数のプログラムセグ
    メントを結合する複数のリンクを決定する手段と、を具
    備する請求項11の装置。
JP4224211A 1991-08-23 1992-08-24 所与の拡大率によって画像を拡大する方法及び装置 Pending JPH05242238A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US74894891A 1991-08-23 1991-08-23
US748948 1991-08-23

Publications (1)

Publication Number Publication Date
JPH05242238A true JPH05242238A (ja) 1993-09-21

Family

ID=25011584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4224211A Pending JPH05242238A (ja) 1991-08-23 1992-08-24 所与の拡大率によって画像を拡大する方法及び装置

Country Status (3)

Country Link
US (1) US5365602A (ja)
EP (1) EP0529965A3 (ja)
JP (1) JPH05242238A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303334A (en) * 1992-03-05 1994-04-12 Adobe Systems Incorporated System for generating a rasterized graphic image
JPH07143332A (ja) * 1993-11-19 1995-06-02 Fuji Photo Film Co Ltd 画像データの拡大処理方法
US5781308A (en) * 1996-03-04 1998-07-14 Hewlett-Packard Company High speed system for threshold matrix alignment and tiling, during creation of a binary half-tone image
US5771105A (en) * 1996-03-04 1998-06-23 Hewlett-Packard Company High speed system for grey level image scaling, threshold matrix alignment and tiling, and creation of a binary half-tone image
US7092119B1 (en) * 1999-08-20 2006-08-15 International Business Machines Corporation Method, system, and program for managing calibration files in a printing system
US7009739B1 (en) 2000-10-30 2006-03-07 Xerox Corporation Color to black and white converter
US7453468B2 (en) * 2000-11-29 2008-11-18 Xerox Corporation Intelligent color to texture converter
JP2004248152A (ja) * 2003-02-17 2004-09-02 Ricoh Co Ltd 画像圧縮装置、画像伸張装置、画像圧縮方法、画像伸張方法、プログラム、及び記録媒体
JP4349816B2 (ja) * 2003-02-17 2009-10-21 株式会社リコー 画像処理装置、画像圧縮装置、画像処理方法、画像圧縮方法、プログラム、及び記録媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4149194A (en) * 1977-07-07 1979-04-10 Xerox Corporation Variable angle electronic halftone screening
GB2006567B (en) * 1977-08-25 1982-08-25 Dainippon Screen Mfg Machine for and method of image production with variable reproduction scale
JPS6055767A (ja) * 1983-08-25 1985-04-01 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション イメージのビット数を減少する方法及び装置
EP0143533B1 (en) * 1983-09-29 1993-04-07 Matsushita Electric Industrial Co., Ltd. Image data expanding and/or contracting method and apparatus
JP2509563B2 (ja) * 1986-03-28 1996-06-19 株式会社東芝 イメ―ジサイズ変換回路
JPH0810462B2 (ja) * 1986-05-08 1996-01-31 日本電気株式会社 画像処理装置
JP2797435B2 (ja) * 1989-05-26 1998-09-17 ヤマハ株式会社 表示コントローラ

Also Published As

Publication number Publication date
EP0529965A3 (en) 1993-12-08
US5365602A (en) 1994-11-15
EP0529965A2 (en) 1993-03-03

Similar Documents

Publication Publication Date Title
JPH06180758A (ja) ラスタ化図形画像を生成するシステム及び方法
KR20030005277A (ko) 형상 프로세서
JPH05242238A (ja) 所与の拡大率によって画像を拡大する方法及び装置
EP0314289B1 (en) Multiple pixel generator
JPH06186956A (ja) コンパイルされたラスタ演算コードを生成するための方法および装置
JP2004355597A (ja) ベクトルデータのアドレス参照方法およびベクトルプロセッサ
JP2010287110A (ja) 情報処理装置、情報処理方法、プログラム及び記録媒体
US7647368B2 (en) Data processing apparatus and method for performing data processing operations on floating point data elements
JP2008535419A (ja) 高速でfm格子点の発生を可能にする方法および装置
US6005988A (en) Method and apparatus for rapid digital image resizing
EP0790577A2 (en) Operations on images
US6757079B1 (en) Method and apparatus for forming multi-level dither images from an input digital image
JPH05207266A (ja) 画像編集処理装置
JP3542685B2 (ja) マルチトーンをもつバイナリ画像の圧縮及び復元のための装置及び方法
WO1998029799A1 (en) System and method for reordering lookup table entries when table address bits are reordered
CA2124030C (en) Method for colour image scaling and other geometrical transformations
JPH0589234A (ja) 画像処理方法及びその装置
JP3724868B2 (ja) イメージ処理方法
JP3710208B2 (ja) 画像処理方法及び装置
JP3211519B2 (ja) 画像処理装置
JP2004110250A (ja) 逐次データ処理装置、画像読取装置、画像形成装置、プログラム及び記憶媒体
KR19990031097A (ko) 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기
KR0140283B1 (ko) 화상편집장치의 화상 회전방법
JP2006050299A (ja) ディザリング装置
Kugler et al. A scalable halftoning coprocessor architecture

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20001018