JPH11224331A - ラスタ画像生成装置およびラスタ画像生成方法 - Google Patents
ラスタ画像生成装置およびラスタ画像生成方法Info
- Publication number
- JPH11224331A JPH11224331A JP10025295A JP2529598A JPH11224331A JP H11224331 A JPH11224331 A JP H11224331A JP 10025295 A JP10025295 A JP 10025295A JP 2529598 A JP2529598 A JP 2529598A JP H11224331 A JPH11224331 A JP H11224331A
- Authority
- JP
- Japan
- Prior art keywords
- image
- partial
- space
- raster
- memory
- 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
Links
- 238000000034 method Methods 0.000 title claims description 74
- 230000015654 memory Effects 0.000 claims abstract description 221
- 238000012545 processing Methods 0.000 claims abstract description 50
- 230000009467 reduction Effects 0.000 claims abstract description 49
- 238000006243 chemical reaction Methods 0.000 claims description 113
- 230000009466 transformation Effects 0.000 claims description 56
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 33
- 238000001514 detection method Methods 0.000 claims description 16
- 238000009877 rendering Methods 0.000 claims description 5
- 238000013519 translation Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims description 2
- 239000000872 buffer Substances 0.000 abstract description 24
- 238000010586 diagram Methods 0.000 description 29
- 238000005070 sampling Methods 0.000 description 15
- 229920000740 poly(D-lysine) polymer Polymers 0.000 description 14
- 238000007906 compression Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000002441 reversible effect Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 235000010724 Wisteria floribunda Nutrition 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 241000255777 Lepidoptera Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
- Storing Facsimile Image Data (AREA)
- Editing Of Facsimile Originals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
(57)【要約】
【課題】 スキャンドイメージの処理に必要なメモリを
大幅に削減し、低価格なラスタ画像生成装置および方法
を提供する。 【解決手段】 スキャンドイメージの回転、拡縮、アフ
ィン変換、クリッピング処理、イメージ上へのラインア
ートの重ね書き処理等において、ソース画像入力時に、
ソース画像を必要に応じて縮小し、部分画像に分割し、
デバイス画像の描画に寄与する部分のみを符号化するこ
とでデータ量を縮小する。デバイス画像のラスタスキャ
ンの際に逆サンプリングを用いて部分画像の参照順を決
定し、ラスタスキャンと同期を取り、参照順に従って部
分画像の符号を復号してラスタスキャンの際に必要な部
分画像のみを保持し、それらに対して逆サンプリングを
行ってアフィン変換とスキャンドイメージの輪郭内部の
画素出力を行う。
大幅に削減し、低価格なラスタ画像生成装置および方法
を提供する。 【解決手段】 スキャンドイメージの回転、拡縮、アフ
ィン変換、クリッピング処理、イメージ上へのラインア
ートの重ね書き処理等において、ソース画像入力時に、
ソース画像を必要に応じて縮小し、部分画像に分割し、
デバイス画像の描画に寄与する部分のみを符号化するこ
とでデータ量を縮小する。デバイス画像のラスタスキャ
ンの際に逆サンプリングを用いて部分画像の参照順を決
定し、ラスタスキャンと同期を取り、参照順に従って部
分画像の符号を復号してラスタスキャンの際に必要な部
分画像のみを保持し、それらに対して逆サンプリングを
行ってアフィン変換とスキャンドイメージの輪郭内部の
画素出力を行う。
Description
【0001】
【発明の属する技術分野】本発明は、プリンタあるいは
ラスタ出力装置用のラスタ画像データの生成方法あるい
は描画を行うための画像描画装置に関する。特に、ラス
タ入力画像に関して、画像にアフィン変換を施し、任意
の形状に切り抜き、出力画像上の任意の場所に描画する
ためのラスタ画像生成装置およびラスタ画像生成方法に
関する。
ラスタ出力装置用のラスタ画像データの生成方法あるい
は描画を行うための画像描画装置に関する。特に、ラス
タ入力画像に関して、画像にアフィン変換を施し、任意
の形状に切り抜き、出力画像上の任意の場所に描画する
ためのラスタ画像生成装置およびラスタ画像生成方法に
関する。
【0002】
【従来の技術】文字データの他に、直線、曲線、多角形
等のグラッフィックデータ(これらをラインアートと呼
ぶ)や、写真、手書き文書、印刷物等をスキャン入力し
たスキャンドイメージをプリンタ等に出力するための画
像記述方法としてページ記述言語(以下ではPDLと略
記する)が広く用いられている。代表的なPDLとして
Xerox社のInterpress(Xerox社の
登録商標)、AdobeSystems社のPostS
cript(Adobe Systems社の登録商
標)が知られている。Interpressの詳細につ
いては、S.J.HarrigtonとR.R.Buc
kley著「INTERPRESS:The Sour
ce Book−The Document and
PageDescription Language
for PerformancePrinting−」
Brendy(1988),邦訳「インタープレス−電
子出版のためのページ記述言語−」丸善(1989)に
記載されている。PostScriptの詳細について
は、Adobe Systems著「PostScri
pt Language Reference Man
ual Second Edition」Addiso
n−Wesley(1990),邦訳「ページ記述言語
PostScriptリファレンス・マニュアル第2
版」アスキー(1991)に記載されている。
等のグラッフィックデータ(これらをラインアートと呼
ぶ)や、写真、手書き文書、印刷物等をスキャン入力し
たスキャンドイメージをプリンタ等に出力するための画
像記述方法としてページ記述言語(以下ではPDLと略
記する)が広く用いられている。代表的なPDLとして
Xerox社のInterpress(Xerox社の
登録商標)、AdobeSystems社のPostS
cript(Adobe Systems社の登録商
標)が知られている。Interpressの詳細につ
いては、S.J.HarrigtonとR.R.Buc
kley著「INTERPRESS:The Sour
ce Book−The Document and
PageDescription Language
for PerformancePrinting−」
Brendy(1988),邦訳「インタープレス−電
子出版のためのページ記述言語−」丸善(1989)に
記載されている。PostScriptの詳細について
は、Adobe Systems著「PostScri
pt Language Reference Man
ual Second Edition」Addiso
n−Wesley(1990),邦訳「ページ記述言語
PostScriptリファレンス・マニュアル第2
版」アスキー(1991)に記載されている。
【0003】スキャンドイメージ部分の画像は、画素の
2次元集合であるラスタで表現される。ラスタは直交座
標上に画素を配置したデータ構造である。ラスタの入出
力は、画素をまずX軸方向に走査しながら1行分入力あ
るいは出力し、次いで走査をY軸方向に1行ずらして同
様に1行分入力あるいは出力する。これを全ての行につ
いて行うことで画像の入力あるいは出力を達成する。X
軸方向の走査を主走査、Y軸方向の走査を副走査ともい
う。
2次元集合であるラスタで表現される。ラスタは直交座
標上に画素を配置したデータ構造である。ラスタの入出
力は、画素をまずX軸方向に走査しながら1行分入力あ
るいは出力し、次いで走査をY軸方向に1行ずらして同
様に1行分入力あるいは出力する。これを全ての行につ
いて行うことで画像の入力あるいは出力を達成する。X
軸方向の走査を主走査、Y軸方向の走査を副走査ともい
う。
【0004】PDLでは、画像出力デバイスの解像度と
は独立にラインアートとスキャンドイメージの画像デー
タを取り扱うことが出来るよう設計されている。例え
ば、PostScriptではユーザが定義した任意の
空間(ユーザ空間)でラインアートを記述でき、Pos
tScript処理系がIOTの解像度に依存したデバ
イス空間に変換する。スキャンドイメージデータについ
ては任意の解像度のラスタを入力しそれをデバイス空間
に変換する。スキャンドイメージとして入力されるラス
タ画像をソース画像とも呼び、PDLでは任意の数のソ
ース画像を1枚の出力画像(デバイス画像と呼ぶ)に描
画することができる。
は独立にラインアートとスキャンドイメージの画像デー
タを取り扱うことが出来るよう設計されている。例え
ば、PostScriptではユーザが定義した任意の
空間(ユーザ空間)でラインアートを記述でき、Pos
tScript処理系がIOTの解像度に依存したデバ
イス空間に変換する。スキャンドイメージデータについ
ては任意の解像度のラスタを入力しそれをデバイス空間
に変換する。スキャンドイメージとして入力されるラス
タ画像をソース画像とも呼び、PDLでは任意の数のソ
ース画像を1枚の出力画像(デバイス画像と呼ぶ)に描
画することができる。
【0005】PostScriptには3つの空間、す
なわち、ユーザ空間,デバイス空間,ソース空間が有
る。PostScriptは無限のサイズと精度のユー
ザ空間に対して描画を行う。デバイス空間はイメージを
出力するデバイスに依存した有限の範囲と精度を有する
空間である。ユーザ空間からデバイス空間への写像はア
フィン変換を用いて定義され、その変換マトリクスをM
1とする。ソース空間は画素が1辺の長さ1の正方形と
なるように定義された空間で、ユーザ空間との関係はユ
ーザ空間からソース空間へのアフィン変換M2を用いて
定義される。従ってソース空間からデバイス空間へのア
フィン変換Mは、まずソース空間からユーザ空間へアフ
ィン変換M2-1を行い(アフィン変換M2-1は変換M2
の逆変換である)、次いでユーザ空間からデバイス空間
へアフィン変換M1を行えばよい。したがって、ソース
空間からデバイス空間へのアフィン変換Mは、M2-1お
よびM1によって下式のように表現される。
なわち、ユーザ空間,デバイス空間,ソース空間が有
る。PostScriptは無限のサイズと精度のユー
ザ空間に対して描画を行う。デバイス空間はイメージを
出力するデバイスに依存した有限の範囲と精度を有する
空間である。ユーザ空間からデバイス空間への写像はア
フィン変換を用いて定義され、その変換マトリクスをM
1とする。ソース空間は画素が1辺の長さ1の正方形と
なるように定義された空間で、ユーザ空間との関係はユ
ーザ空間からソース空間へのアフィン変換M2を用いて
定義される。従ってソース空間からデバイス空間へのア
フィン変換Mは、まずソース空間からユーザ空間へアフ
ィン変換M2-1を行い(アフィン変換M2-1は変換M2
の逆変換である)、次いでユーザ空間からデバイス空間
へアフィン変換M1を行えばよい。したがって、ソース
空間からデバイス空間へのアフィン変換Mは、M2-1お
よびM1によって下式のように表現される。
【0006】
【数1】M=M1・M2-1 である。
【0007】また、ソース空間の座標(x,y)とデバ
イス空間の座標(X,Y)は下記に示す式で結び付けら
れる。
イス空間の座標(X,Y)は下記に示す式で結び付けら
れる。
【0008】
【数2】(X,Y,1)T=M・(x,y,1)T (x,y,1)T=M-1・(X,Y,1)T なお、ここで(v1,v2,v3)Tはベクトル(v1,
v2,v3)の転置を意味する。
v2,v3)の転置を意味する。
【0009】アフィン変換マトリクスMの具体的な内容
は、下式に示すものである。
は、下式に示すものである。
【0010】
【数3】
【0011】であり、各要素は任意の値(ただし逆行列
M-1が存在せねばならない)を取りうる。
M-1が存在せねばならない)を取りうる。
【0012】拡大/縮小,回転は要素a,b,c,dに
より表現され、平行移動は要素u,vで表現される。
より表現され、平行移動は要素u,vで表現される。
【0013】
【数4】X=ax+by+u Y=cx+dy+v
【0014】
【数5】下記の条件、 ad−bc≠0
【0015】が成立する時には逆変換マトリクスM-1が
存在し、逆変換マトリクスM-1の各要素を下記の様に、
存在し、逆変換マトリクスM-1の各要素を下記の様に、
【0016】
【数6】
【0017】と書くと、それぞれの要素は下記に示すよ
うに記述できる。
うに記述できる。
【0018】
【数7】a’= d/(ad−bc) b’=−b/(ad−bc) c’=−c/(ad−bc) d’= a/(ad−bc) u’=(bv−du)/(ad−bc) v’=(cu−av)/(ad−bc)
【0019】したがってデバイス空間の座標(X,Y)
から、ソース空間上の対応する座標(x,y)を容易に
求めることができる。
から、ソース空間上の対応する座標(x,y)を容易に
求めることができる。
【0020】
【数8】x=a’X+b’Y+u’ y=c’X+d’Y+v’
【0021】デバイス画像の座標(X,Y)の画素を決
定するためには上式を用いてソース画像の座標(x,
y)を求めてその画素を読み出せばよい。これを逆サン
プリングと呼ぶ。
定するためには上式を用いてソース画像の座標(x,
y)を求めてその画素を読み出せばよい。これを逆サン
プリングと呼ぶ。
【0022】PDLで記述された画像表現を描画処理し
画像出力デバイスに出力する為の画素情報を作る技術
は、例えば、小野澤らにより著された「複数のページ記
述言語に対応するデコンポーザ」富士ゼロックステクニ
カルレポート,No.8,pp.61−68,(199
3)や、堀らにより発明され特開平5−224637号
公報において公開された技術がある。
画像出力デバイスに出力する為の画素情報を作る技術
は、例えば、小野澤らにより著された「複数のページ記
述言語に対応するデコンポーザ」富士ゼロックステクニ
カルレポート,No.8,pp.61−68,(199
3)や、堀らにより発明され特開平5−224637号
公報において公開された技術がある。
【0023】これらの技術は一般に計算機システム上で
処理ステップを記述したソフトウェアを用いて実施する
ことが可能である。
処理ステップを記述したソフトウェアを用いて実施する
ことが可能である。
【0024】特開平5−224637号公報に開示され
る技術では、PDLを入力部にて入力し、インタプリタ
でPDLを解釈実行する。その結果、描画情報はデバイ
ス空間の走査線上のセグメント情報として記憶手段に格
納される。走査線上の連続画素が同一属性を持つ線分を
セグメントとする。ラインアートで描画されるデバイス
画素に関しては、画素が同じ色を有するとき同一属性と
する。スキャンドイメージで描画されるデバイス画素に
関しては、同一のソース画像に由来する場合同一属性と
する。セグメント情報は、C言語風に記述すると、例え
ば次のような結合リスト構造を有するデータ構造を持
つ。
る技術では、PDLを入力部にて入力し、インタプリタ
でPDLを解釈実行する。その結果、描画情報はデバイ
ス空間の走査線上のセグメント情報として記憶手段に格
納される。走査線上の連続画素が同一属性を持つ線分を
セグメントとする。ラインアートで描画されるデバイス
画素に関しては、画素が同じ色を有するとき同一属性と
する。スキャンドイメージで描画されるデバイス画素に
関しては、同一のソース画像に由来する場合同一属性と
する。セグメント情報は、C言語風に記述すると、例え
ば次のような結合リスト構造を有するデータ構造を持
つ。
【0025】
【数9】
【0026】走査線上のセグメントは左(X座標値の小
さいほう)から右(X座標値の大きいほう)へ結合リス
トで表現されている。セグメント1個が結合リストのノ
ード1個で表現される。セグメントはX座標X0からX
1までの範囲に存在し、ポインタppでその画素値は指
し示される。あるセグメントのノードのnextフィー
ルドは右隣のセグメントのノードを指している。走査線
上の右端のノードでは、右端であることを示すためにn
extフィールドに特別な値、例えばNULL(=0)
を入れる。dpフィールドはセグメントがラインアート
の描画に由来するか、スキャンドイメージの描画に由来
するかを示す。スキャンドイメージの場合、セグメント
の左端画素はポインタppで示されるアドレス、その右
隣の画素はpp+1のアドレス、更に右隣の画素はpp
+2のアドレスという形で画素をアクセスする。
さいほう)から右(X座標値の大きいほう)へ結合リス
トで表現されている。セグメント1個が結合リストのノ
ード1個で表現される。セグメントはX座標X0からX
1までの範囲に存在し、ポインタppでその画素値は指
し示される。あるセグメントのノードのnextフィー
ルドは右隣のセグメントのノードを指している。走査線
上の右端のノードでは、右端であることを示すためにn
extフィールドに特別な値、例えばNULL(=0)
を入れる。dpフィールドはセグメントがラインアート
の描画に由来するか、スキャンドイメージの描画に由来
するかを示す。スキャンドイメージの場合、セグメント
の左端画素はポインタppで示されるアドレス、その右
隣の画素はpp+1のアドレス、更に右隣の画素はpp
+2のアドレスという形で画素をアクセスする。
【0027】デバイス画像は複数の走査線で構成され
る。デバイス画像の高さすなわち走査線数をHDとす
る。デバイス画像全体表現するためには、上記データ構
造へのポインタから構成される要素数HDの配列dev
Imageを設け、Y番目の配列要素がデバイス空間の
Y座標がYの走査線の左端のセグメントのノードへのポ
インタとなるように配列devImageを設定する。
この配列の定義をC言語ふうに記述すると以下のように
なる。
る。デバイス画像の高さすなわち走査線数をHDとす
る。デバイス画像全体表現するためには、上記データ構
造へのポインタから構成される要素数HDの配列dev
Imageを設け、Y番目の配列要素がデバイス空間の
Y座標がYの走査線の左端のセグメントのノードへのポ
インタとなるように配列devImageを設定する。
この配列の定義をC言語ふうに記述すると以下のように
なる。
【0028】
【数10】struct edge_list* de
vImage[HD];
vImage[HD];
【0029】特開平5−224637号公報に記載の技
術では、ビデオ信号生成部でセグメントの情報を走査順
に読み出し、画素へのポインタを用いて出力画素を読み
出し、出力部へ送る。ここの一般的な処理手順をC言語
ふうに記述すると以下のようになる。
術では、ビデオ信号生成部でセグメントの情報を走査順
に読み出し、画素へのポインタを用いて出力画素を読み
出し、出力部へ送る。ここの一般的な処理手順をC言語
ふうに記述すると以下のようになる。
【0030】
【数11】
【0031】ソース画像をイメージ変換部にてイメージ
変換後、デバイス画像用に変換されたスキャンドイメー
ジ画像はページメモリにサイズがWD×HD画素の画像
として走査順に格納されている。スキャンドイメージの
セグメントのノードのppはページメモリに格納された
画素を指している。その画素は該セグメントの左端画素
に対応する画素である。
変換後、デバイス画像用に変換されたスキャンドイメー
ジ画像はページメモリにサイズがWD×HD画素の画像
として走査順に格納されている。スキャンドイメージの
セグメントのノードのppはページメモリに格納された
画素を指している。その画素は該セグメントの左端画素
に対応する画素である。
【0032】特開平5−224637号公報で開示され
る従来技術では、イメージ変換部で拡大、縮小と、回転
といったアフィン変換を含む変形処理を行う。ラスタ画
像のアフィン変換については既に多くの技術が知られて
いるが、大まかに下記4種類に分類できる。
る従来技術では、イメージ変換部で拡大、縮小と、回転
といったアフィン変換を含む変形処理を行う。ラスタ画
像のアフィン変換については既に多くの技術が知られて
いるが、大まかに下記4種類に分類できる。
【0033】A)斜交軸変換と、90°回転と、拡大/
縮小とを組み合せたもの。例えば特開昭62−1776
75に開示され、ソース画像を90°回転し、縮小をと
もなった斜交軸変換を行い、−90°回転し、拡大をと
もなった斜交軸変換を行うことで、任意の拡大/縮小と
回転を実現する。上記一連の処理において、処理ステッ
プ間では各処理の入力側の画像と出力側の画像ををそれ
ぞれバッファメモリに格納する必要がある。従って、す
くなくとも画像2面分のページメモリを設ける必要があ
る。
縮小とを組み合せたもの。例えば特開昭62−1776
75に開示され、ソース画像を90°回転し、縮小をと
もなった斜交軸変換を行い、−90°回転し、拡大をと
もなった斜交軸変換を行うことで、任意の拡大/縮小と
回転を実現する。上記一連の処理において、処理ステッ
プ間では各処理の入力側の画像と出力側の画像ををそれ
ぞれバッファメモリに格納する必要がある。従って、す
くなくとも画像2面分のページメモリを設ける必要があ
る。
【0034】B)ソース画像の画素をデバイス画像上の
対応する場所にコピーするもの。ソース座標からデバイ
ス座標を決定することを順サンプリングと呼ぶ。具体的
には図22aに示すように、ソース画像の画素座標
(x,y)を変換マトリクスMで線形変換してデバイス
空間の座標(X,Y)を求め、デバイス空間の画素位置
にソース画像の該画素をコピーするものである。例えば
特開昭61−88374、特開昭62−20074、特
開昭62−139082、特開昭63−184878、
特開平4−55986、特開平5−250466等に開
示されている。この技術では、入力画像の走査順に処理
できるので、処理済画像用のページメモリを設ける必要
がある。
対応する場所にコピーするもの。ソース座標からデバイ
ス座標を決定することを順サンプリングと呼ぶ。具体的
には図22aに示すように、ソース画像の画素座標
(x,y)を変換マトリクスMで線形変換してデバイス
空間の座標(X,Y)を求め、デバイス空間の画素位置
にソース画像の該画素をコピーするものである。例えば
特開昭61−88374、特開昭62−20074、特
開昭62−139082、特開昭63−184878、
特開平4−55986、特開平5−250466等に開
示されている。この技術では、入力画像の走査順に処理
できるので、処理済画像用のページメモリを設ける必要
がある。
【0035】C)デバイス座標に対応するソース座標を
求めソース画像を読みデバイス画像の画素を得るもの。
デバイス座標からソース座標を決定することを逆サンプ
リングと呼ぶ。具体的には図22bに示すように、デバ
イス空間の画素座標(X,Y)を逆変換マトリクスM-1
で線形変換してソース空間での座標(x,y)を求め、
ソース画像の該画素をデバイス空間(X,Y)にコピー
するものである。例えば特開昭62−145483、特
開昭62−256089、特開63−116193、特
開昭63−129476、特開平4−64177等に開
示されている。この技術では処理前画像用ページメモリ
が必要である。更に、特開平5−224637の技術に
組合わせるためには別のページメモリが必要なので、合
計画像2面分のページメモリを設ける必要がある。
求めソース画像を読みデバイス画像の画素を得るもの。
デバイス座標からソース座標を決定することを逆サンプ
リングと呼ぶ。具体的には図22bに示すように、デバ
イス空間の画素座標(X,Y)を逆変換マトリクスM-1
で線形変換してソース空間での座標(x,y)を求め、
ソース画像の該画素をデバイス空間(X,Y)にコピー
するものである。例えば特開昭62−145483、特
開昭62−256089、特開63−116193、特
開昭63−129476、特開平4−64177等に開
示されている。この技術では処理前画像用ページメモリ
が必要である。更に、特開平5−224637の技術に
組合わせるためには別のページメモリが必要なので、合
計画像2面分のページメモリを設ける必要がある。
【0036】D)拡大/縮小を行うステップと、回転を
行うステップとの2ステップでアフィン変換を行う。、
処理ステップ間では各処理の入力側の画像と出力側の画
像ををそれぞれページメモリに格納する必要があるた
め、画像2面分のページメモリを設ける必要がある。
行うステップとの2ステップでアフィン変換を行う。、
処理ステップ間では各処理の入力側の画像と出力側の画
像ををそれぞれページメモリに格納する必要があるた
め、画像2面分のページメモリを設ける必要がある。
【0037】上記いずれの技術を用いても画像全体を格
納するページメモリを少なくとも1個必要とする。
納するページメモリを少なくとも1個必要とする。
【0038】
【発明が解決しようとする課題】特開平5−22463
7の技術では、描画情報をセグメントで表現することに
よりデバイス画像形成に必要なメモリのサイズを削減で
きるが、削減に有効な部分はラインアートとして描画さ
れた部分のみである。スキャンドイメージの描画の為に
は、アフィン変換の為と画像そのものを保持するために
少なくとも画像1面分のメモリ(これをページメモリと
呼ぶ)が必要である。例えば解像度600SPIでA4
サイズのフルカラーラスタデータを1画素をシアン、マ
ゼンタ、イエロー、ブラックの4色計4Byteで表現
するとデデータ量は約140MByteとなる。
7の技術では、描画情報をセグメントで表現することに
よりデバイス画像形成に必要なメモリのサイズを削減で
きるが、削減に有効な部分はラインアートとして描画さ
れた部分のみである。スキャンドイメージの描画の為に
は、アフィン変換の為と画像そのものを保持するために
少なくとも画像1面分のメモリ(これをページメモリと
呼ぶ)が必要である。例えば解像度600SPIでA4
サイズのフルカラーラスタデータを1画素をシアン、マ
ゼンタ、イエロー、ブラックの4色計4Byteで表現
するとデデータ量は約140MByteとなる。
【0039】ページメモリは一般に半導体メモリ特にD
RAM(ダイナミック・ランダム・アクセス・メモリ)
を用いて構成される。DRAMを用いるのは半導体メモ
リの中では安価なメモリデバイスであるからである。し
かし、A4サイズ画像で140MByte、A3サイズ
画像で280MByteものメモリを設けることはDR
AMを用いてもたいへん高価である。
RAM(ダイナミック・ランダム・アクセス・メモリ)
を用いて構成される。DRAMを用いるのは半導体メモ
リの中では安価なメモリデバイスであるからである。し
かし、A4サイズ画像で140MByte、A3サイズ
画像で280MByteものメモリを設けることはDR
AMを用いてもたいへん高価である。
【0040】計算機において、大きなデータをそのデー
タサイズよりも小さなメモリを用いて処理する技術とし
て仮想記憶が知られている。仮想記憶の一般原理につい
てはJohn L.Hennessy & David
A.Patterson両氏によるテキストブック
“Computer Architecture AQ
uantitative Approach”,Sec
ond Edition;1996;Morgan K
aufmann Publishers,Inc.の
5.7章に記載されているので説明を省略する。ページ
メモリを仮想記憶技術を用いて構成すると、A4サイズ
で140MByteのデータを主記憶と2次記憶を構成
する磁気ディスクとの間で転送することになるが、磁気
ディスクの読み書きのスピードはたかだか10MByt
e/secなので、主記憶と2次記憶間の往復の転送に
要する時間は28秒以上かかる。仮想記憶の導入により
半導体メモリをより安価な磁気ディスクに置き換えるこ
とでコストは改善されるが処理速度が低下するという別
の問題が発生する。
タサイズよりも小さなメモリを用いて処理する技術とし
て仮想記憶が知られている。仮想記憶の一般原理につい
てはJohn L.Hennessy & David
A.Patterson両氏によるテキストブック
“Computer Architecture AQ
uantitative Approach”,Sec
ond Edition;1996;Morgan K
aufmann Publishers,Inc.の
5.7章に記載されているので説明を省略する。ページ
メモリを仮想記憶技術を用いて構成すると、A4サイズ
で140MByteのデータを主記憶と2次記憶を構成
する磁気ディスクとの間で転送することになるが、磁気
ディスクの読み書きのスピードはたかだか10MByt
e/secなので、主記憶と2次記憶間の往復の転送に
要する時間は28秒以上かかる。仮想記憶の導入により
半導体メモリをより安価な磁気ディスクに置き換えるこ
とでコストは改善されるが処理速度が低下するという別
の問題が発生する。
【0041】特開昭62−154152、特開平7−1
21690に開示される技術では、画像をブロックに分
割して小画像を作成し小画像毎に圧縮して磁気ディスク
に記憶し、処理に必要な部分を伸張して画素として主記
憶に格納する。これにより2次記憶との間のデータ転送
量を減すことが可能になるが、新たな画像領域が主記憶
に無く、かつ、主記憶にその領域をロードする空き領域
が無い場合には、まず現在使用中の領域の一つを選び、
選ばれた領域を圧縮し、圧縮データを2次記憶に送るこ
とで主記憶に新たな画像領域のためのスペースを作り、
2次記憶より該領域の圧縮データを読み出し、それを伸
張して画像に戻し、それを主記憶の該エリアに書き込
む。その後、主記憶での画像領域不在により中断してい
た処理を再開する。したがって、画像の圧縮と伸張処理
をシーケンシャルに行わねばならない為、処理時間が長
くなるという問題が発生する。また、画像処理のシーケ
ンスによっては特定の小画像について圧縮/伸張を何度
も繰り返すケースも発生するため、その部分の画像は画
像の圧縮/伸張にともない画質が劣化する問題もある。
なぜならば画像を効率よく圧縮するためしばしば非可逆
圧縮が用いられるためである。
21690に開示される技術では、画像をブロックに分
割して小画像を作成し小画像毎に圧縮して磁気ディスク
に記憶し、処理に必要な部分を伸張して画素として主記
憶に格納する。これにより2次記憶との間のデータ転送
量を減すことが可能になるが、新たな画像領域が主記憶
に無く、かつ、主記憶にその領域をロードする空き領域
が無い場合には、まず現在使用中の領域の一つを選び、
選ばれた領域を圧縮し、圧縮データを2次記憶に送るこ
とで主記憶に新たな画像領域のためのスペースを作り、
2次記憶より該領域の圧縮データを読み出し、それを伸
張して画像に戻し、それを主記憶の該エリアに書き込
む。その後、主記憶での画像領域不在により中断してい
た処理を再開する。したがって、画像の圧縮と伸張処理
をシーケンシャルに行わねばならない為、処理時間が長
くなるという問題が発生する。また、画像処理のシーケ
ンスによっては特定の小画像について圧縮/伸張を何度
も繰り返すケースも発生するため、その部分の画像は画
像の圧縮/伸張にともない画質が劣化する問題もある。
なぜならば画像を効率よく圧縮するためしばしば非可逆
圧縮が用いられるためである。
【0042】今日のゼログラフィ技術を用いた画像出力
装置は、富士ゼロックス株式会社が製造販売するDoc
u Color 4040画像出力装置のように1秒に
40枚のフルカラー出力が可能なものがある。このよう
な高速の画像出力装置を効率よく利用するためにはPD
L処理側も1枚あたり1.5秒以下で処理を行うことが
望まれる。すなわちスキャンドイメージの描画も1.5
秒以下で処理する必要がある。
装置は、富士ゼロックス株式会社が製造販売するDoc
u Color 4040画像出力装置のように1秒に
40枚のフルカラー出力が可能なものがある。このよう
な高速の画像出力装置を効率よく利用するためにはPD
L処理側も1枚あたり1.5秒以下で処理を行うことが
望まれる。すなわちスキャンドイメージの描画も1.5
秒以下で処理する必要がある。
【0043】ラスタは2次元構造を持った画素の集合体
であるが、計算機システムのメモリは1次元構造を取っ
ている。そこで、ラスタをメモリに格納する際には、通
常、主走査方向に1行分の画素をメモリの連続する場所
に格納し、そこに連続する場所に次の行の画素を1行分
格納し、それ以降の行も同様に格納する。このため、あ
る画素(ただし画像の左右両端を除く)の左右にある画
素はメモリ上でも隣接するアドレスに格納されるが、あ
る画素の上下にある画素は画素1行分に相当するアドレ
ス(これをAWとする)離れた場所に格納される。解像
度600SPIのA4サイズの画像では1行は約500
0画素(横長配置の場合)あるいは約7000画素(縦
長配置の場合)となる。従って1画素を4Byteとす
るとAWは縦置きの場合約20000Byte相当、横
置きの場合約28000Byte相当となる。
であるが、計算機システムのメモリは1次元構造を取っ
ている。そこで、ラスタをメモリに格納する際には、通
常、主走査方向に1行分の画素をメモリの連続する場所
に格納し、そこに連続する場所に次の行の画素を1行分
格納し、それ以降の行も同様に格納する。このため、あ
る画素(ただし画像の左右両端を除く)の左右にある画
素はメモリ上でも隣接するアドレスに格納されるが、あ
る画素の上下にある画素は画素1行分に相当するアドレ
ス(これをAWとする)離れた場所に格納される。解像
度600SPIのA4サイズの画像では1行は約500
0画素(横長配置の場合)あるいは約7000画素(縦
長配置の場合)となる。従って1画素を4Byteとす
るとAWは縦置きの場合約20000Byte相当、横
置きの場合約28000Byte相当となる。
【0044】±90°回転のアフィン変換は、y軸方向
に順次画素を読み出しx軸方向に画素を書き込むあるい
は出力することで実現できる。メモリからの画素の読み
出しはアドレスAW分のとびとびの場所に発生する。
に順次画素を読み出しx軸方向に画素を書き込むあるい
は出力することで実現できる。メモリからの画素の読み
出しはアドレスAW分のとびとびの場所に発生する。
【0045】±N×180°(Nは整数)を除く任意の
角度の回転を伴うアフィン変換では、ソース画像上で走
査線に沿って画素を読み出し座標変換後のデバイス画像
に格納する場合の書き込み先アドレス、あるいはデバイ
ス画像上で走査線に沿った画素を逆変換を用いてソース
画像から読み出す場合の読み出し先アドレスは、メモリ
上ではとびとびの場所に発生する。書き込み先アドレス
あるいは読み出し先アドレス距離は角度に依存するがお
おむねAWのオーダーである。
角度の回転を伴うアフィン変換では、ソース画像上で走
査線に沿って画素を読み出し座標変換後のデバイス画像
に格納する場合の書き込み先アドレス、あるいはデバイ
ス画像上で走査線に沿った画素を逆変換を用いてソース
画像から読み出す場合の読み出し先アドレスは、メモリ
上ではとびとびの場所に発生する。書き込み先アドレス
あるいは読み出し先アドレス距離は角度に依存するがお
おむねAWのオーダーである。
【0046】今日の高性能計算機のCPUは300MH
z以上すなわちサイクルタイム3.3ns以下で動作
し、複数(2〜3)命令を1サイクルで実行することが
できる。このようなCPUでは約1サイクルに1回メモ
リアクセス命令を実行することになる。一方メインメモ
リを構成するDRAMのロウ・アドレス・サイクルタイ
ムは100ns程度、カラム・アドレス・アクセスタイ
ムは高速ページモードのDRAMで40ns程度、ED
O(Extended Data Output)モー
ドのDRAMで25ns程度、Synchromous
DRAMの場合10ns程度である。CPUのメモリ
アクセスレートとDRAMのレートとの間には大きな開
きがあり、CPUがいくら高速でもDRAMのアクセス
時には待ちが発生し処理速度は大幅に低下してしまう。
この問題を解決するために今日の計算機ではキャッシュ
メモリを用いた階層化記憶機構を採用している。キャッ
シュメモリの一般原理についてはJohn L.Hen
nessy & DavidA.Patterson両
氏によるテキストブック“Computer Arch
itecture A Quantitative A
pproach”,Second Edition;1
996;Morgan KaufmannPublis
hers,Inc.の5.2章に記載されているので説
明を省略するが、一般にCPUのメモリアクセスパター
ンには、ある時刻にアクセスしたメモリ・ロケーション
をその後アクセスする確率は高いという時間的局所性
と、あるメモリロケーションをアクセスしたらその近傍
をアクセスする確率は高いという空間的局所性がある。
一方、半導体メモリには、小容量のメモリはアクセスタ
イムが小さいすなわち速いが、大容量のメモリはアクセ
スタイムが大きいすなわち遅いという性質がある。CP
UとDRAMの間に小容量の高速メモリを1層もしくは
複数層に配置し、CPUが参照するデータを小容量高速
メモリに置くよう制御する。この小容量高速メモリをキ
ャッシュメモリと呼ぶ。CPUがアクセスを要求するデ
ータがキャッシュメモリにあればキャッシュメモリから
データを供給する。データがキャッシュメモリに無い場
合はDRAMで構成されるメインメモリを読み、CPU
が読み出し要求した語とその近傍の語からなるブロック
をまとめてキャッシュメモリに書き込み、CPUへ読み
出した語を返す。今日の高性能計算機ではCPUチップ
上にCPUと同じクロックで動作する1’stキャッシ
ュメモリを設け、チップ外にCPUよりも遅いクロック
で動作する2’ndキャッシュを設けることが多い。
1’stキャッシュのサイズは16KByte〜64K
Byte程度、2’ndキャッシュは1’stキャッシ
ュよりも大きく256KByte〜1MByte程度で
ある。
z以上すなわちサイクルタイム3.3ns以下で動作
し、複数(2〜3)命令を1サイクルで実行することが
できる。このようなCPUでは約1サイクルに1回メモ
リアクセス命令を実行することになる。一方メインメモ
リを構成するDRAMのロウ・アドレス・サイクルタイ
ムは100ns程度、カラム・アドレス・アクセスタイ
ムは高速ページモードのDRAMで40ns程度、ED
O(Extended Data Output)モー
ドのDRAMで25ns程度、Synchromous
DRAMの場合10ns程度である。CPUのメモリ
アクセスレートとDRAMのレートとの間には大きな開
きがあり、CPUがいくら高速でもDRAMのアクセス
時には待ちが発生し処理速度は大幅に低下してしまう。
この問題を解決するために今日の計算機ではキャッシュ
メモリを用いた階層化記憶機構を採用している。キャッ
シュメモリの一般原理についてはJohn L.Hen
nessy & DavidA.Patterson両
氏によるテキストブック“Computer Arch
itecture A Quantitative A
pproach”,Second Edition;1
996;Morgan KaufmannPublis
hers,Inc.の5.2章に記載されているので説
明を省略するが、一般にCPUのメモリアクセスパター
ンには、ある時刻にアクセスしたメモリ・ロケーション
をその後アクセスする確率は高いという時間的局所性
と、あるメモリロケーションをアクセスしたらその近傍
をアクセスする確率は高いという空間的局所性がある。
一方、半導体メモリには、小容量のメモリはアクセスタ
イムが小さいすなわち速いが、大容量のメモリはアクセ
スタイムが大きいすなわち遅いという性質がある。CP
UとDRAMの間に小容量の高速メモリを1層もしくは
複数層に配置し、CPUが参照するデータを小容量高速
メモリに置くよう制御する。この小容量高速メモリをキ
ャッシュメモリと呼ぶ。CPUがアクセスを要求するデ
ータがキャッシュメモリにあればキャッシュメモリから
データを供給する。データがキャッシュメモリに無い場
合はDRAMで構成されるメインメモリを読み、CPU
が読み出し要求した語とその近傍の語からなるブロック
をまとめてキャッシュメモリに書き込み、CPUへ読み
出した語を返す。今日の高性能計算機ではCPUチップ
上にCPUと同じクロックで動作する1’stキャッシ
ュメモリを設け、チップ外にCPUよりも遅いクロック
で動作する2’ndキャッシュを設けることが多い。
1’stキャッシュのサイズは16KByte〜64K
Byte程度、2’ndキャッシュは1’stキャッシ
ュよりも大きく256KByte〜1MByte程度で
ある。
【0047】回転を伴うアフィン変換の逆サンプリング
におけるキャッシュメモリの動作を説明する。ここでは
回転角を90°とする。この場合1デバイス画素毎にソ
ース座標上をΔx=0,Δy=1移動して画素を逆サン
プリングする。ある画素の逆サンプリングの際には以下
に示す動作が生じる。その画素はそれ以前にアクセスさ
れていないのでキャッシュミスが発生し、メインメモリ
のDRAMに読み出しが発生し、その間CPUは停止す
る。キャッシュの制御システムは該画素と隣接アドレス
に格納されているその左右(x軸方向)の画素も読み出
しキャッシュメモリに格納する。CPUは次の画素(デ
バイス空間上での右隣り)の逆サンプリングとしてソー
ス空間上1行下の画素をアクセスする。その画素はまだ
キャッシュに格納されていないので再びキャッシュミス
が発生し、CPUはDRAMからの読み出しを待つ。デ
バイス空間の走査線上を逆サンプリングする過程ではこ
のように全画素のアクセスにおいてキャッシュがミス
し、CPUはDRAMの動作を待つことになる。CPU
は次いでデバイス空間上1行下の走査線の逆サンプリン
グを行う。この場合の逆サンプリング先の画素は上行の
走査線の画素の逆サンプリングの際にキャッシュメモリ
に格納された。しかし、キャッシュメモリのサイズは有
限であり、1走査線上の画素は通常キャシュのエントリ
数(ブロックの数)よりも多いため、一旦キャッシュに
格納された画素はその後のキャッシュミスによりキャッ
シュメモリから追い出されてしまいこの時点ではキャッ
シュに存在しない。従って、再びキャッシュミスが発生
する。この走査線上の画素全てに同様なキャッシュミス
が発生し、逆サンプリングの度にDRAMから画素を読
むことになる。以上述べたことは全走査線に発生し、C
PUはキャッシュから直ちに画素値を受け取れず、遅い
DRAMを待って処理を進めることになる。1走査線分
に相当するアドレス上の距離ではDRAMはカラムアド
レスのみを変える高速モードが使えるアドレス範囲を越
えている為DRAMアクセス毎にロウアドレスを新たに
あたえねばならない。その場合のDRAMの動作速度は
たかだか10MHz程度である。CPUは300MHz
のクロックで動作可能だが逆サンプリング過程ではキャ
ッシュメモリが全く働かないため、実質10MHzのD
RAMの動作スピードで全体の処理がすすむ。
におけるキャッシュメモリの動作を説明する。ここでは
回転角を90°とする。この場合1デバイス画素毎にソ
ース座標上をΔx=0,Δy=1移動して画素を逆サン
プリングする。ある画素の逆サンプリングの際には以下
に示す動作が生じる。その画素はそれ以前にアクセスさ
れていないのでキャッシュミスが発生し、メインメモリ
のDRAMに読み出しが発生し、その間CPUは停止す
る。キャッシュの制御システムは該画素と隣接アドレス
に格納されているその左右(x軸方向)の画素も読み出
しキャッシュメモリに格納する。CPUは次の画素(デ
バイス空間上での右隣り)の逆サンプリングとしてソー
ス空間上1行下の画素をアクセスする。その画素はまだ
キャッシュに格納されていないので再びキャッシュミス
が発生し、CPUはDRAMからの読み出しを待つ。デ
バイス空間の走査線上を逆サンプリングする過程ではこ
のように全画素のアクセスにおいてキャッシュがミス
し、CPUはDRAMの動作を待つことになる。CPU
は次いでデバイス空間上1行下の走査線の逆サンプリン
グを行う。この場合の逆サンプリング先の画素は上行の
走査線の画素の逆サンプリングの際にキャッシュメモリ
に格納された。しかし、キャッシュメモリのサイズは有
限であり、1走査線上の画素は通常キャシュのエントリ
数(ブロックの数)よりも多いため、一旦キャッシュに
格納された画素はその後のキャッシュミスによりキャッ
シュメモリから追い出されてしまいこの時点ではキャッ
シュに存在しない。従って、再びキャッシュミスが発生
する。この走査線上の画素全てに同様なキャッシュミス
が発生し、逆サンプリングの度にDRAMから画素を読
むことになる。以上述べたことは全走査線に発生し、C
PUはキャッシュから直ちに画素値を受け取れず、遅い
DRAMを待って処理を進めることになる。1走査線分
に相当するアドレス上の距離ではDRAMはカラムアド
レスのみを変える高速モードが使えるアドレス範囲を越
えている為DRAMアクセス毎にロウアドレスを新たに
あたえねばならない。その場合のDRAMの動作速度は
たかだか10MHz程度である。CPUは300MHz
のクロックで動作可能だが逆サンプリング過程ではキャ
ッシュメモリが全く働かないため、実質10MHzのD
RAMの動作スピードで全体の処理がすすむ。
【0048】以上述べたケースはCPUのキャシュメモ
リが作用できない特別なケースではない。Δy≠0のと
きにはメインメモリ上のとびとびのメモリロケーション
にアクセスが発生するので同様にキャッシュメモリの効
果は無い。唯一Δy=0のときのみは連続するアドレス
方向にアクセスが発生するので、キャッシュメモリの先
読み効果(空間的局所性)が有効に作用する。しかし、
一般のプログラム実行時のキャッシュ動作に比較すると
キャッシュミスははるかに多い。
リが作用できない特別なケースではない。Δy≠0のと
きにはメインメモリ上のとびとびのメモリロケーション
にアクセスが発生するので同様にキャッシュメモリの効
果は無い。唯一Δy=0のときのみは連続するアドレス
方向にアクセスが発生するので、キャッシュメモリの先
読み効果(空間的局所性)が有効に作用する。しかし、
一般のプログラム実行時のキャッシュ動作に比較すると
キャッシュミスははるかに多い。
【0049】解像度600SPI,A4サイズの画像で
は、逆サンプリングのキャッシュミスに伴う35×10
6回のメインメモリへの読み出しが発生する。DRAM
のロウ・アドレス・サイクルタイムは100ns(mi
n)程度なのでDRAMアクセスのみで合計3.4秒か
かる。ほかにDRAMのコントローラのオーバヘッド時
間とシステムバスのオーバーヘッド時間とがかかるので
CPUの待ち時間の総和は更に長くなる。CPUは他の
処理のためにも時間を要する。したがって画像出力装置
に見合った性能すなわち1.5秒/枚で画像を処理でき
ない。DRAMのアクセスがボトルネックとなっている
のでマルチプロセッサ技術を用いてCPUの数を増やし
ても改善できない。
は、逆サンプリングのキャッシュミスに伴う35×10
6回のメインメモリへの読み出しが発生する。DRAM
のロウ・アドレス・サイクルタイムは100ns(mi
n)程度なのでDRAMアクセスのみで合計3.4秒か
かる。ほかにDRAMのコントローラのオーバヘッド時
間とシステムバスのオーバーヘッド時間とがかかるので
CPUの待ち時間の総和は更に長くなる。CPUは他の
処理のためにも時間を要する。したがって画像出力装置
に見合った性能すなわち1.5秒/枚で画像を処理でき
ない。DRAMのアクセスがボトルネックとなっている
のでマルチプロセッサ技術を用いてCPUの数を増やし
ても改善できない。
【0050】
【課題を解決するための手段】上述したような従来技術
の有する様々な課題を解決するために、本発明のラスタ
画像生成装置およびラスタ画像生成方法は、以下に説明
するような構成を有することを特徴とする。
の有する様々な課題を解決するために、本発明のラスタ
画像生成装置およびラスタ画像生成方法は、以下に説明
するような構成を有することを特徴とする。
【0051】本発明のラスタ画像生成方法は、ラスタ画
像を複数の部分画像に分割する画像分割ステップと、画
像分割ステップにおいて得られた部分画像を符号化し該
部分画像の符号を得る符号化ステップと、符号化ステッ
プにおいて得られた部分画像の符号の復号順を決定する
復号順決定ステップと、復号順決定ステップにおいて決
定された順番に従って、部分画像の符号を復号し、部分
画像をメモリ手段に格納する復号ステップと、第1の座
標空間で表現された幾何情報を第2の座標空間に変換す
る座標空間変換ステップと、第2の座標空間での幾何位
置に対応するメモリ手段上のアドレスを生成するアドレ
ス生成ステップと、アドレス生成ステップにおいて生成
されたアドレスを用いてメモリ手段を読み出すステップ
とを有することを特徴とする。
像を複数の部分画像に分割する画像分割ステップと、画
像分割ステップにおいて得られた部分画像を符号化し該
部分画像の符号を得る符号化ステップと、符号化ステッ
プにおいて得られた部分画像の符号の復号順を決定する
復号順決定ステップと、復号順決定ステップにおいて決
定された順番に従って、部分画像の符号を復号し、部分
画像をメモリ手段に格納する復号ステップと、第1の座
標空間で表現された幾何情報を第2の座標空間に変換す
る座標空間変換ステップと、第2の座標空間での幾何位
置に対応するメモリ手段上のアドレスを生成するアドレ
ス生成ステップと、アドレス生成ステップにおいて生成
されたアドレスを用いてメモリ手段を読み出すステップ
とを有することを特徴とする。
【0052】また、本発明のラスタ画像生成方法におい
て、第1の座標空間はデバイス空間であり、第2の座標
空間はソース空間であって、座標空間変換ステップは、
デバイス空間上でのスキャンドイメージの描画幾何形状
を形成するラスタスキャン情報をソース空間へ逆変換
し、ソース空間での幾何情報すなわちラスタスキャン情
報を得るステップであり、アドレス生成ステップは、座
標空間変換ステップにおいて得たソース空間上でのラス
タスキャン情報を用いてデバイス空間のスキャンドイメ
ージの画素に対応するメモリ手段上の部分画像の画素の
アドレス情報を生成するステップであり、該アドレス情
報を用いて順にメモリ手段から画素を読み出してデバイ
ス空間でのスキャンドイメージの画素を順に獲得する構
成を有することを特徴とする。
て、第1の座標空間はデバイス空間であり、第2の座標
空間はソース空間であって、座標空間変換ステップは、
デバイス空間上でのスキャンドイメージの描画幾何形状
を形成するラスタスキャン情報をソース空間へ逆変換
し、ソース空間での幾何情報すなわちラスタスキャン情
報を得るステップであり、アドレス生成ステップは、座
標空間変換ステップにおいて得たソース空間上でのラス
タスキャン情報を用いてデバイス空間のスキャンドイメ
ージの画素に対応するメモリ手段上の部分画像の画素の
アドレス情報を生成するステップであり、該アドレス情
報を用いて順にメモリ手段から画素を読み出してデバイ
ス空間でのスキャンドイメージの画素を順に獲得する構
成を有することを特徴とする。
【0053】また、本発明のラスタ画像生成方法は、さ
らに画像分割ステップにおいて得られた部分画像と、ラ
スタ画像生成装置に入力される描画情報から得られる幾
何形状との重なり合いを調べる重なり検出ステップと、
重なり検出ステップでの重なり検出結果に応じて、デバ
イス画像の描画に寄与する部分画像を選択する部分画像
選択ステップとを有し、符号化ステップは、部分画像選
択ステップにおいて選択された部分画像についてのみ符
号化し部分画像の符号を得るステップであることを特徴
とする。
らに画像分割ステップにおいて得られた部分画像と、ラ
スタ画像生成装置に入力される描画情報から得られる幾
何形状との重なり合いを調べる重なり検出ステップと、
重なり検出ステップでの重なり検出結果に応じて、デバ
イス画像の描画に寄与する部分画像を選択する部分画像
選択ステップとを有し、符号化ステップは、部分画像選
択ステップにおいて選択された部分画像についてのみ符
号化し部分画像の符号を得るステップであることを特徴
とする。
【0054】また、本発明のラスタ画像生成方法におい
て、重なり検出ステップは、描画情報からスキャンドイ
メージの輪郭情報を読み出し、読み出されたスキャンド
イメージの描画の際に指定されたアフィン変換の逆変換
を実行して、輪郭情報をスキャンドイメージのソース空
間に写像し、該写像されたソース空間の輪郭の内側部分
あるいは該輪郭上に重なる部分画像の領域を検出するス
テップであることを特徴とする。
て、重なり検出ステップは、描画情報からスキャンドイ
メージの輪郭情報を読み出し、読み出されたスキャンド
イメージの描画の際に指定されたアフィン変換の逆変換
を実行して、輪郭情報をスキャンドイメージのソース空
間に写像し、該写像されたソース空間の輪郭の内側部分
あるいは該輪郭上に重なる部分画像の領域を検出するス
テップであることを特徴とする。
【0055】さらに、本発明のラスタ画像生成方法は、
ラスタ画像の縮小を実行して縮小ラスタ画像を生成する
縮小ラスタ画像生成ステップを有し、画像分割ステップ
は、該縮小ラスタ画像生成ステップにおいて生成された
縮小ラスタ画像について部分画像への分割を実行するこ
とを特徴とする。
ラスタ画像の縮小を実行して縮小ラスタ画像を生成する
縮小ラスタ画像生成ステップを有し、画像分割ステップ
は、該縮小ラスタ画像生成ステップにおいて生成された
縮小ラスタ画像について部分画像への分割を実行するこ
とを特徴とする。
【0056】また、本発明のラスタ画像生成装置は、ラ
スタ画像を複数の部分画像に分割する画像分割手段と、
画像分割手段によって生成された部分画像を符号化し部
分画像の符号を得る符号化手段と、符号化手段によって
生成された部分画像の符号を復号しメモリ手段に格納す
る復号手段と、第1の座標空間で表現された幾何情報を
第2の座標空間に変換する座標空間変換手段と、第2の
座標空間での幾何位置に対応するメモリ手段上のアドレ
スを生成するアドレス変換手段と、符号化手段によって
生成された部分画像の符号を復号する復号順を決定する
復号順決定手段とを備え、復号順決定手段により決定し
た復号順に従って復号された部分画像をメモリ手段に格
納し、第1の座標空間の幾何情報を座標変換手段に与え
その出力をアドレス変換手段に供給して得たメモリアド
レスを用いてメモリ手段に格納された部分画像の画素を
読み出す構成を有することを特徴とする。
スタ画像を複数の部分画像に分割する画像分割手段と、
画像分割手段によって生成された部分画像を符号化し部
分画像の符号を得る符号化手段と、符号化手段によって
生成された部分画像の符号を復号しメモリ手段に格納す
る復号手段と、第1の座標空間で表現された幾何情報を
第2の座標空間に変換する座標空間変換手段と、第2の
座標空間での幾何位置に対応するメモリ手段上のアドレ
スを生成するアドレス変換手段と、符号化手段によって
生成された部分画像の符号を復号する復号順を決定する
復号順決定手段とを備え、復号順決定手段により決定し
た復号順に従って復号された部分画像をメモリ手段に格
納し、第1の座標空間の幾何情報を座標変換手段に与え
その出力をアドレス変換手段に供給して得たメモリアド
レスを用いてメモリ手段に格納された部分画像の画素を
読み出す構成を有することを特徴とする。
【0057】また、本発明のラスタ画像生成装置におい
て、第1の座標空間はデバイス空間であり、第2の座標
空間はソース空間であって、座標空間変換手段は、デバ
イス空間上でのスキャンドイメージの描画幾何形状を形
成するラスタスキャン情報をソース空間へ逆変換し、ソ
ース空間での幾何情報すなわちラスタスキャン情報を得
る手段であり、アドレス変換手段は、座標空間変換手段
において得たソース空間上でのラスタスキャン情報を用
いてデバイス空間のスキャンドイメージの画素に対応す
るメモリ手段上の部分画像の画素のアドレス情報を生成
する手段であり、アドレス変換手段によって生成された
アドレス情報を用いて順にメモリ手段から画素を読み出
してデバイス空間でのスキャンドイメージの画素を順に
獲得する構成を有することを特徴とする。
て、第1の座標空間はデバイス空間であり、第2の座標
空間はソース空間であって、座標空間変換手段は、デバ
イス空間上でのスキャンドイメージの描画幾何形状を形
成するラスタスキャン情報をソース空間へ逆変換し、ソ
ース空間での幾何情報すなわちラスタスキャン情報を得
る手段であり、アドレス変換手段は、座標空間変換手段
において得たソース空間上でのラスタスキャン情報を用
いてデバイス空間のスキャンドイメージの画素に対応す
るメモリ手段上の部分画像の画素のアドレス情報を生成
する手段であり、アドレス変換手段によって生成された
アドレス情報を用いて順にメモリ手段から画素を読み出
してデバイス空間でのスキャンドイメージの画素を順に
獲得する構成を有することを特徴とする。
【0058】また、本発明のラスタ画像生成装置は、さ
らに画像分割手段において生成された部分画像と、ラス
タ画像生成装置に入力される描画情報から得られる幾何
形状との重なり合いを検出する重なり検出手段を有し、
重なり検出手段での重なり検出結果に応じて、デバイス
画像の描画に寄与する部分画像を選択して、該選択され
た部分画像についてのみ符号化手段によって符号化し部
分画像の符号を得ることを特徴とする。
らに画像分割手段において生成された部分画像と、ラス
タ画像生成装置に入力される描画情報から得られる幾何
形状との重なり合いを検出する重なり検出手段を有し、
重なり検出手段での重なり検出結果に応じて、デバイス
画像の描画に寄与する部分画像を選択して、該選択され
た部分画像についてのみ符号化手段によって符号化し部
分画像の符号を得ることを特徴とする。
【0059】さらに本発明のラスタ画像生成装置は、画
像分割手段において生成された部分画像と、ラスタ画像
生成装置に入力される描画情報から得られる幾何形状と
の重なり合いを検出する重なり検出手段を有し、重なり
検出手段での重なり検出結果に応じて部分画像を選択的
に分割手段で読み出して、該読み出された部分画像につ
いて符号化手段で符号化することを特徴とする。
像分割手段において生成された部分画像と、ラスタ画像
生成装置に入力される描画情報から得られる幾何形状と
の重なり合いを検出する重なり検出手段を有し、重なり
検出手段での重なり検出結果に応じて部分画像を選択的
に分割手段で読み出して、該読み出された部分画像につ
いて符号化手段で符号化することを特徴とする。
【0060】さらに本発明のラスタ画像生成装置におい
て、重なり検出手段は、描画情報からスキャンドイメー
ジの輪郭情報を読み出し、読み出されたスキャンドイメ
ージの描画の際に指定されたアフィン変換の逆変換を実
行して、輪郭情報をスキャンドイメージのソース空間に
写像し、該写像されたソース空間の輪郭の内側部分ある
いは該輪郭上に重なる部分画像の領域を検出する構成を
有することを特徴とする。
て、重なり検出手段は、描画情報からスキャンドイメー
ジの輪郭情報を読み出し、読み出されたスキャンドイメ
ージの描画の際に指定されたアフィン変換の逆変換を実
行して、輪郭情報をスキャンドイメージのソース空間に
写像し、該写像されたソース空間の輪郭の内側部分ある
いは該輪郭上に重なる部分画像の領域を検出する構成を
有することを特徴とする。
【0061】さらに本発明のラスタ画像生成装置は、ラ
スタ画像の縮小を実行して縮小ラスタ画像を生成する縮
小手段を有し、画像分割手段は、縮小手段において生成
された縮小ラスタ画像について部分画像への分割を実行
することを特徴とする。
スタ画像の縮小を実行して縮小ラスタ画像を生成する縮
小手段を有し、画像分割手段は、縮小手段において生成
された縮小ラスタ画像について部分画像への分割を実行
することを特徴とする。
【0062】さらに本発明のラスタ画像生成装置は、復
号手段を用いて実行される部分画像の復号タイミング位
置と、座標変換手段において変換が実行される第1の座
標空間の変換タイミング位置とを同期させて動作する構
成としたことを特徴とする。
号手段を用いて実行される部分画像の復号タイミング位
置と、座標変換手段において変換が実行される第1の座
標空間の変換タイミング位置とを同期させて動作する構
成としたことを特徴とする。
【0063】さらに本発明のラスタ画像生成装置は、ア
ドレス変換手段に第2の座標空間とメモリアドレスとを
関係づけるテーブルを持ち、該テーブルは、入力ラスタ
画像ごと、個々に独立したテーブルによって構成されて
いることを特徴とする。
ドレス変換手段に第2の座標空間とメモリアドレスとを
関係づけるテーブルを持ち、該テーブルは、入力ラスタ
画像ごと、個々に独立したテーブルによって構成されて
いることを特徴とする。
【0064】請求項1、2および5に記載の発明では、
ソースラスタ画像をそのままあるいは縮小した上で複数
の所定の大きさの部分画像に分割する。ここで分割され
た部分画像を部分画像毎に符号化し、元の部分画像より
もデータ量が小さな符号を得る。符号をメモリ手段に格
納する。デバイス画像をラスタ順に走査した場合に前記
部分画像が走査上に出現する順番を調べ、その順を部分
画像符号の復号順とする。この復号順に従い、符号を復
号し部分画像を再生しメモリ手段の所定の場所に格納す
る。デバイス空間を第1の座標空間、ソース空間を第2
の座標空間とする。デバイス空間上でのスキャンドイメ
ージの描画幾何形状を形成するラスタスキャン情報をソ
ース空間へ逆変換し、ソース空間での幾何情報すなわち
ラスタスキャン情報を得る。ここで得たソース空間上で
のラスタスキャン情報を用いてデバイス空間のスキャン
ドイメージの画素に対応するメモリ手段上の部分画像の
画素のアドレス情報を生成する。このアドレス情報を用
いて順にメモリ手段より画素を読み出してデバイス空間
でのスキャンドイメージの画素を順に得る。
ソースラスタ画像をそのままあるいは縮小した上で複数
の所定の大きさの部分画像に分割する。ここで分割され
た部分画像を部分画像毎に符号化し、元の部分画像より
もデータ量が小さな符号を得る。符号をメモリ手段に格
納する。デバイス画像をラスタ順に走査した場合に前記
部分画像が走査上に出現する順番を調べ、その順を部分
画像符号の復号順とする。この復号順に従い、符号を復
号し部分画像を再生しメモリ手段の所定の場所に格納す
る。デバイス空間を第1の座標空間、ソース空間を第2
の座標空間とする。デバイス空間上でのスキャンドイメ
ージの描画幾何形状を形成するラスタスキャン情報をソ
ース空間へ逆変換し、ソース空間での幾何情報すなわち
ラスタスキャン情報を得る。ここで得たソース空間上で
のラスタスキャン情報を用いてデバイス空間のスキャン
ドイメージの画素に対応するメモリ手段上の部分画像の
画素のアドレス情報を生成する。このアドレス情報を用
いて順にメモリ手段より画素を読み出してデバイス空間
でのスキャンドイメージの画素を順に得る。
【0065】請求項3、4および5の発明では、ソース
ラスタ画像をそのままあるいは縮小した上で複数の所定
の大きさの部分画像に分割する。ソース画像がデバイス
空間上で描画される部分の幾何形状を求め、この幾何形
状と部分画像とが重なり合う関係にあるか否かを調べ
る。重なり合い関係にある部分画像についてはそれらを
部分画像毎に符号化し、元の部分画像よりもデータ量が
小さな符号を得る。符号をメモリ手段に格納する。デバ
イス画像をラスタ順に走査した場合に前記部分画像が走
査上に出現する順番を調べ、その順を部分画像符号の復
号順とする。この復号順に従い、符号を復号し部分画像
を再生しメモリ手段の所定の場所に格納する。デバイス
空間を第1の座標空間、ソース空間を第2の座標空間と
する。デバイス空間上でのスキャンドイメージの描画幾
何形状を形成するラスタスキャン情報をソース空間へ逆
変換し、ソース空間での幾何情報すなわちラスタスキャ
ン情報を得る。ここで得たソース空間上でのラスタスキ
ャン情報を用いてデバイス空間のスキャンドイメージの
画素に対応するメモリ手段上の部分画像の画素のアドレ
ス情報を生成する。このアドレス情報を用いて順にメモ
リ手段より画素を読み出してデバイス空間でのスキャン
ドイメージの画素を順に得る。
ラスタ画像をそのままあるいは縮小した上で複数の所定
の大きさの部分画像に分割する。ソース画像がデバイス
空間上で描画される部分の幾何形状を求め、この幾何形
状と部分画像とが重なり合う関係にあるか否かを調べ
る。重なり合い関係にある部分画像についてはそれらを
部分画像毎に符号化し、元の部分画像よりもデータ量が
小さな符号を得る。符号をメモリ手段に格納する。デバ
イス画像をラスタ順に走査した場合に前記部分画像が走
査上に出現する順番を調べ、その順を部分画像符号の復
号順とする。この復号順に従い、符号を復号し部分画像
を再生しメモリ手段の所定の場所に格納する。デバイス
空間を第1の座標空間、ソース空間を第2の座標空間と
する。デバイス空間上でのスキャンドイメージの描画幾
何形状を形成するラスタスキャン情報をソース空間へ逆
変換し、ソース空間での幾何情報すなわちラスタスキャ
ン情報を得る。ここで得たソース空間上でのラスタスキ
ャン情報を用いてデバイス空間のスキャンドイメージの
画素に対応するメモリ手段上の部分画像の画素のアドレ
ス情報を生成する。このアドレス情報を用いて順にメモ
リ手段より画素を読み出してデバイス空間でのスキャン
ドイメージの画素を順に得る。
【0066】請求項6,7および11に記載の発明で
は、ソース空間のラスタ画像を分割手段を用いてそのま
まあるいは所定の縮小率で縮小した上で、所定の大きさ
の複数の部分画像に分割する。各々の部分画像を符号化
手段に供給し部分画像の符号を得る。符号化することで
データ量を小さくする。部分画像の符号をメモリ手段に
格納する。復号順決定手段はデバイス画像をラスタ順に
走査した場合に前記部分画像が走査上に出現する順番を
調べ、その順を部分画像符号の復号順とする。復号手段
は復号順決定手段が決定した復号順に従って、部分画像
の符号を復号し部分画像を作る。その部分画像はメモリ
手段の所定の場所に格納される。デバイス空間を第1の
座標空間、ソース空間を第2の座標空間とする。座標変
換手段は、デバイス空間で表現されたスキャンドイメー
ジの描画幾何形状を形成するラスタスキャン情報を入力
し、ソース空間へ逆変換し、ソース空間での幾何情報す
なわちラスタスキャン情報を出力する。アドレス生成手
段は、ソース空間でのラスタスキャン情報を入力し、デ
バイス空間のスキャンドイメージの画素に対応するメモ
リ手段上の部分画像の画素のアドレス情報を生成する。
このアドレス情報を用いてメモリ手段に格納された部分
画像の画素を順次読み出すことで、デバイス画像のスキ
ャンドイメージ部の画素を得る。
は、ソース空間のラスタ画像を分割手段を用いてそのま
まあるいは所定の縮小率で縮小した上で、所定の大きさ
の複数の部分画像に分割する。各々の部分画像を符号化
手段に供給し部分画像の符号を得る。符号化することで
データ量を小さくする。部分画像の符号をメモリ手段に
格納する。復号順決定手段はデバイス画像をラスタ順に
走査した場合に前記部分画像が走査上に出現する順番を
調べ、その順を部分画像符号の復号順とする。復号手段
は復号順決定手段が決定した復号順に従って、部分画像
の符号を復号し部分画像を作る。その部分画像はメモリ
手段の所定の場所に格納される。デバイス空間を第1の
座標空間、ソース空間を第2の座標空間とする。座標変
換手段は、デバイス空間で表現されたスキャンドイメー
ジの描画幾何形状を形成するラスタスキャン情報を入力
し、ソース空間へ逆変換し、ソース空間での幾何情報す
なわちラスタスキャン情報を出力する。アドレス生成手
段は、ソース空間でのラスタスキャン情報を入力し、デ
バイス空間のスキャンドイメージの画素に対応するメモ
リ手段上の部分画像の画素のアドレス情報を生成する。
このアドレス情報を用いてメモリ手段に格納された部分
画像の画素を順次読み出すことで、デバイス画像のスキ
ャンドイメージ部の画素を得る。
【0067】請求項8、10および11の発明では、ソ
ース空間のラスタ画像を分割手段を用いてそのままある
いは所定の縮小率で縮小した上で、所定の大きさの複数
の部分画像に分割する。重なり検出手段は、ソース画像
がデバイス空間上で描画される部分の幾何形状を求め、
この幾何形状と部分画像とが重なり合う関係にあるか否
かを調べる。符号化手段は、重なり検出手段で重なり合
いを検出した部分画像について、各々の部分画像を入力
し符号化を行い部分画像の符号を得る。符号化すること
でデータ量を小さくする。部分画像の符号をメモリ手段
に格納する。復号順決定手段はデバイス画像をラスタ順
に走査した場合に前記部分画像が走査上に出現する順番
を調べ、その順を部分画像符号の復号順とする。復号手
段は復号順決定手段が決定した復号順に従って、部分画
像の符号を復号し部分画像を作る。その部分画像はメモ
リ手段の所定の場所に格納される。デバイス空間を第1
の座標空間、ソース空間を第2の座標空間とする。座標
変換手段は、デバイス空間で表現されたスキャンドイメ
ージの描画幾何形状を形成するラスタスキャン情報を入
力し、ソース空間へ逆変換し、ソース空間での幾何情報
すなわちラスタスキャン情報を出力する。アドレス生成
手段は、ソース空間でのラスタスキャン情報を入力し、
デバイス空間のスキャンドイメージの画素に対応するメ
モリ手段上の部分画像の画素のアドレス情報を生成す
る。このアドレス情報を用いてメモリ手段に格納された
部分画像の画素を順次読み出すことで、デバイス画像の
スキャンドイメージ部の画素を得る。
ース空間のラスタ画像を分割手段を用いてそのままある
いは所定の縮小率で縮小した上で、所定の大きさの複数
の部分画像に分割する。重なり検出手段は、ソース画像
がデバイス空間上で描画される部分の幾何形状を求め、
この幾何形状と部分画像とが重なり合う関係にあるか否
かを調べる。符号化手段は、重なり検出手段で重なり合
いを検出した部分画像について、各々の部分画像を入力
し符号化を行い部分画像の符号を得る。符号化すること
でデータ量を小さくする。部分画像の符号をメモリ手段
に格納する。復号順決定手段はデバイス画像をラスタ順
に走査した場合に前記部分画像が走査上に出現する順番
を調べ、その順を部分画像符号の復号順とする。復号手
段は復号順決定手段が決定した復号順に従って、部分画
像の符号を復号し部分画像を作る。その部分画像はメモ
リ手段の所定の場所に格納される。デバイス空間を第1
の座標空間、ソース空間を第2の座標空間とする。座標
変換手段は、デバイス空間で表現されたスキャンドイメ
ージの描画幾何形状を形成するラスタスキャン情報を入
力し、ソース空間へ逆変換し、ソース空間での幾何情報
すなわちラスタスキャン情報を出力する。アドレス生成
手段は、ソース空間でのラスタスキャン情報を入力し、
デバイス空間のスキャンドイメージの画素に対応するメ
モリ手段上の部分画像の画素のアドレス情報を生成す
る。このアドレス情報を用いてメモリ手段に格納された
部分画像の画素を順次読み出すことで、デバイス画像の
スキャンドイメージ部の画素を得る。
【0068】請求項9、10および11の発明では、ソ
ース空間のラスタ画像を分割手段を用いてそのままある
いは所定の縮小率で縮小した上で、所定の大きさの複数
の部分画像に分割する。重なり検出手段は、ソース画像
がデバイス空間上で描画される部分の幾何形状を求め、
この幾何形状と部分画像とが重なり合う関係にあるか否
かを調べる。分割手段は、重なり検出手段で重なりを検
出した部分画像について部分画像作り、部分画像を符号
化手段へ出力する。符号化手段は、各々の部分画像を入
力し符号化を行い部分画像の符号を得る。符号化するこ
とでデータ量を小さくする。部分画像の符号をメモリ手
段に格納する。復号順決定手段はデバイス画像をラスタ
順に走査した場合に前記部分画像が走査上に出現する順
番を調べ、その順を部分画像符号の復号順とする。復号
手段は復号順決定手段が決定した復号順に従って、部分
画像の符号を復号し部分画像を作る。その部分画像はメ
モリ手段の所定の場所に格納される。デバイス空間を第
1の座標空間、ソース空間を第2の座標空間とする。座
標変換手段は、デバイス空間で表現されたスキャンドイ
メージの描画幾何形状を形成するラスタスキャン情報を
入力し、ソース空間へ逆変換し、ソース空間での幾何情
報すなわちラスタスキャン情報を出力する。アドレス生
成手段は、ソース空間でのラスタスキャン情報を入力
し、デバイス空間のスキャンドイメージの画素に対応す
るメモリ手段上の部分画像の画素のアドレス情報を生成
する。このアドレス情報を用いてメモリ手段に格納され
た部分画像の画素を順次読み出すことで、デバイス画像
のスキャンドイメージ部の画素を得る。
ース空間のラスタ画像を分割手段を用いてそのままある
いは所定の縮小率で縮小した上で、所定の大きさの複数
の部分画像に分割する。重なり検出手段は、ソース画像
がデバイス空間上で描画される部分の幾何形状を求め、
この幾何形状と部分画像とが重なり合う関係にあるか否
かを調べる。分割手段は、重なり検出手段で重なりを検
出した部分画像について部分画像作り、部分画像を符号
化手段へ出力する。符号化手段は、各々の部分画像を入
力し符号化を行い部分画像の符号を得る。符号化するこ
とでデータ量を小さくする。部分画像の符号をメモリ手
段に格納する。復号順決定手段はデバイス画像をラスタ
順に走査した場合に前記部分画像が走査上に出現する順
番を調べ、その順を部分画像符号の復号順とする。復号
手段は復号順決定手段が決定した復号順に従って、部分
画像の符号を復号し部分画像を作る。その部分画像はメ
モリ手段の所定の場所に格納される。デバイス空間を第
1の座標空間、ソース空間を第2の座標空間とする。座
標変換手段は、デバイス空間で表現されたスキャンドイ
メージの描画幾何形状を形成するラスタスキャン情報を
入力し、ソース空間へ逆変換し、ソース空間での幾何情
報すなわちラスタスキャン情報を出力する。アドレス生
成手段は、ソース空間でのラスタスキャン情報を入力
し、デバイス空間のスキャンドイメージの画素に対応す
るメモリ手段上の部分画像の画素のアドレス情報を生成
する。このアドレス情報を用いてメモリ手段に格納され
た部分画像の画素を順次読み出すことで、デバイス画像
のスキャンドイメージ部の画素を得る。
【0069】請求項12の発明では、復号手段が復号順
決定手段が決定した復号順に従って部分画像の符号を復
号し部分画像を復元しメモリ手段に格納するタイミング
と、第1の座標空間すなわちデバイス空間での描画情報
を走査線順に読み出し座標変換手段で第2の座標空間す
なわちソース空間へ逆変換し座標変換手段が更に該座標
値をメモリ手段の該アドレスに変換しメモリ手段をアク
セスする一連の処理のタイミングとを同期させる。
決定手段が決定した復号順に従って部分画像の符号を復
号し部分画像を復元しメモリ手段に格納するタイミング
と、第1の座標空間すなわちデバイス空間での描画情報
を走査線順に読み出し座標変換手段で第2の座標空間す
なわちソース空間へ逆変換し座標変換手段が更に該座標
値をメモリ手段の該アドレスに変換しメモリ手段をアク
セスする一連の処理のタイミングとを同期させる。
【0070】請求項13の発明では、アドレス変換手段
はソース画像毎に独立したアドレス変換テーブルを参照
して、第2の座標空間すなわちソース空間での該部分画
像位置からメモリ手段での該部分画像の格納場所を得
て、該画素のアドレスを計算し、該画素の値を得る。
はソース画像毎に独立したアドレス変換テーブルを参照
して、第2の座標空間すなわちソース空間での該部分画
像位置からメモリ手段での該部分画像の格納場所を得
て、該画素のアドレスを計算し、該画素の値を得る。
【0071】
【発明の実施の形態】以下本発明のラスタ画像生成方法
およびラスタ画像生成装置の詳細を3つの実施例により
説明する。
およびラスタ画像生成装置の詳細を3つの実施例により
説明する。
【0072】[実施例1]まず、第1の実施例のラスタ
画像生成方法およびラスタ画像生成装置の処理の手順を
図1を用いて説明する。処理は途中でプロセスをフォー
クし、複数のプロセスが同期を取りつつ協調動作して処
理を行う。
画像生成方法およびラスタ画像生成装置の処理の手順を
図1を用いて説明する。処理は途中でプロセスをフォー
クし、複数のプロセスが同期を取りつつ協調動作して処
理を行う。
【0073】処理手順の最初のステップS01では、描
画情報が記述されたPDLを入力する。次にステップS
02で、入力されたPDLをインタプリタで解釈実行す
る。インタプリタがスキャンドイメージの描画要求を検
出すると、ステップS10からS13までの一連の処理
からなるプロセスをフォークし、そのプロセスはS03
以降のステップと並行に動作する。
画情報が記述されたPDLを入力する。次にステップS
02で、入力されたPDLをインタプリタで解釈実行す
る。インタプリタがスキャンドイメージの描画要求を検
出すると、ステップS10からS13までの一連の処理
からなるプロセスをフォークし、そのプロセスはS03
以降のステップと並行に動作する。
【0074】ステップS10ではスキャンドイメージの
画像を入力する。画像はラスタデータあるいはデータ圧
縮のため符号の形式で入力される。後者の場合、ここの
ステップで符号を復号しラスタデータにする。以降この
ラスタデータをソース画像とする。ステップS11では
ソース画像を、64×64画素の正方形の部分画像でタ
イル状に分割する。なお、分割の際にインタープリタの
指示により、ソース画像を縮小したうえで64×64画
素の部分画像に分割することもある。縮小を行った場合
は、縮小後の画像を以降ソース画像と見なして処理す
る。ステップS12では部分画像毎に画像を符号化す
る。その際に、後述のステップS20にて作られた重な
り情報を参照し、該部分画像の符号化条件がTRUEの
時のみ符号化を行う。ここで作られた符号は、ステップ
13にて部分画像の場所に応じたメモリロケーションに
書き込まれる。各部分画像の符号化と符号の書き込みが
全て完了したら、このプロセスは終了する。
画像を入力する。画像はラスタデータあるいはデータ圧
縮のため符号の形式で入力される。後者の場合、ここの
ステップで符号を復号しラスタデータにする。以降この
ラスタデータをソース画像とする。ステップS11では
ソース画像を、64×64画素の正方形の部分画像でタ
イル状に分割する。なお、分割の際にインタープリタの
指示により、ソース画像を縮小したうえで64×64画
素の部分画像に分割することもある。縮小を行った場合
は、縮小後の画像を以降ソース画像と見なして処理す
る。ステップS12では部分画像毎に画像を符号化す
る。その際に、後述のステップS20にて作られた重な
り情報を参照し、該部分画像の符号化条件がTRUEの
時のみ符号化を行う。ここで作られた符号は、ステップ
13にて部分画像の場所に応じたメモリロケーションに
書き込まれる。各部分画像の符号化と符号の書き込みが
全て完了したら、このプロセスは終了する。
【0075】ステップS02におけるインタープリタの
実行の結果、PDLの描画情報に応じて各種の描画指
令、例えば文字の描画、直線の描画、曲線の描画、閉空
間の塗りつぶし等の指令がステップS03に送られる。
ステップS03では前記描画指令に基づいてデバイス空
間での描画情報が形成される。実施例では特開平5−2
24637号公報において開示される技術と同様の技術
を用いており、描画情報はデバイス空間の走査線上のセ
グメント情報として生成され記録される。インタープリ
タが1ページ分の描画の終了を検出すると、3つのプロ
セスをフォークする。一つはステップS20からS21
までの一連の処理からなるプロセスで、二つめはステッ
プS22からS24までの一連の処理からなるプロセス
で、三つめはステップS30からS34までの一連の処
理からなるプロセスである。
実行の結果、PDLの描画情報に応じて各種の描画指
令、例えば文字の描画、直線の描画、曲線の描画、閉空
間の塗りつぶし等の指令がステップS03に送られる。
ステップS03では前記描画指令に基づいてデバイス空
間での描画情報が形成される。実施例では特開平5−2
24637号公報において開示される技術と同様の技術
を用いており、描画情報はデバイス空間の走査線上のセ
グメント情報として生成され記録される。インタープリ
タが1ページ分の描画の終了を検出すると、3つのプロ
セスをフォークする。一つはステップS20からS21
までの一連の処理からなるプロセスで、二つめはステッ
プS22からS24までの一連の処理からなるプロセス
で、三つめはステップS30からS34までの一連の処
理からなるプロセスである。
【0076】ステップS20では、ソース画像を分割し
た各部分画像がデバイス画像のスキャンドイメージ部分
の描画に寄与するかを調べる。PostScriptの
ようなPDLでは、ソース画像をアフィン変換した後に
任意の図形形状で切り抜いた上でデバイス画像上に描画
する。更に、デバイス画像上に描画した後に、スキャン
ドイメージ画像上に任意のラインアートを重ね書きする
こともある。このため、デバイス空間でのスキャンドイ
メージ部分の輪郭形状は任意の形状となる。この輪郭形
状の内側あるいは輪郭形状と交差する部分画像に存在す
る画素のみがデバイス画像の描画に貢献する。描画に無
効な部分画像をステップS12にて符号化しステップS
13にてメモリに書きこんでも意味がない。そこで有効
な部分画像すなわち部分画像と任意の形状の閉領域との
重ね合わせを検出し、それを符号化条件すなわち重なり
情報としてステップS12に通知する。
た各部分画像がデバイス画像のスキャンドイメージ部分
の描画に寄与するかを調べる。PostScriptの
ようなPDLでは、ソース画像をアフィン変換した後に
任意の図形形状で切り抜いた上でデバイス画像上に描画
する。更に、デバイス画像上に描画した後に、スキャン
ドイメージ画像上に任意のラインアートを重ね書きする
こともある。このため、デバイス空間でのスキャンドイ
メージ部分の輪郭形状は任意の形状となる。この輪郭形
状の内側あるいは輪郭形状と交差する部分画像に存在す
る画素のみがデバイス画像の描画に貢献する。描画に無
効な部分画像をステップS12にて符号化しステップS
13にてメモリに書きこんでも意味がない。そこで有効
な部分画像すなわち部分画像と任意の形状の閉領域との
重ね合わせを検出し、それを符号化条件すなわち重なり
情報としてステップS12に通知する。
【0077】ステップS21では有効な部分画像の集合
をデバイス画像に写像し、デバイス空間の走査線を上か
ら下へ走査した際に、走査線上に新たに出現する部分画
像を調べる。走査線毎に新規出現部分画像の一覧を記載
した表を用意する。この表では部分画像は走査線順にソ
ートされ並んでいる。デバイス画像の出力では走査線順
にスキャンし画素を出力するので、この表を利用し、走
査線Yの出力の前に走査線Yにて新規に出力する部分画
像を復号すればよい。従って、この表の作成が復号順の
決定となる。復号順情報はステップS22に伝えられ
る。ステップS21が完了したらこのプロセスは終了す
る。
をデバイス画像に写像し、デバイス空間の走査線を上か
ら下へ走査した際に、走査線上に新たに出現する部分画
像を調べる。走査線毎に新規出現部分画像の一覧を記載
した表を用意する。この表では部分画像は走査線順にソ
ートされ並んでいる。デバイス画像の出力では走査線順
にスキャンし画素を出力するので、この表を利用し、走
査線Yの出力の前に走査線Yにて新規に出力する部分画
像を復号すればよい。従って、この表の作成が復号順の
決定となる。復号順情報はステップS22に伝えられ
る。ステップS21が完了したらこのプロセスは終了す
る。
【0078】ステップS22ではステップS21で作成
された復号順情報を用いて、ステップS13にてメモリ
書き込まれた部分画像の符号をメモリより読み出す。ス
テップS23では符号を復号し部分画像を復元し、ステ
ップ24で部分画像をメモリに書き込む。復号順情報に
記載された部分画像全てに関して符号のメモリ読み出し
/復号/画像のメモリ書き込みの処理が完了したらこの
プロセスは完了する。
された復号順情報を用いて、ステップS13にてメモリ
書き込まれた部分画像の符号をメモリより読み出す。ス
テップS23では符号を復号し部分画像を復元し、ステ
ップ24で部分画像をメモリに書き込む。復号順情報に
記載された部分画像全てに関して符号のメモリ読み出し
/復号/画像のメモリ書き込みの処理が完了したらこの
プロセスは完了する。
【0079】ステップS30とS33は描画情報である
画素セグメントにより選択的に起動される。画素セグメ
ントがラインアートのものの場合は、ステップS33に
て1+X1−X0個(ただし、X0はセグメント左端の
X座標、X1は右端)の同じ色の画素を作り、ステップ
S34で出力する。画素セグメントがスキャンドイメー
ジの場合は、まずステップS30にてデバイス空間での
セグメントの始点から終点までの各画素の座標をソース
空間に座標変換しソース空間上での該画素の座標を得
る。次いでステップS31で各ソース座標値を該画素の
メモリ上でのアドレスに変換し、そのアドレスを用いて
ステップS32にてメモリより画素を読み出し、ステッ
プS34にて出力する。ステップS34にてメモリより
読み出す画素はステップS24にてメモリに書き込まれ
た画素である。以上の処理を1ページ分、すなわち、最
初の走査線から最後の走査線まで、走査線上の左端のセ
グメントから順に右端のセグメントについて行う。1ペ
ージ分の処理が完了したらこのプロセスは終了する。
画素セグメントにより選択的に起動される。画素セグメ
ントがラインアートのものの場合は、ステップS33に
て1+X1−X0個(ただし、X0はセグメント左端の
X座標、X1は右端)の同じ色の画素を作り、ステップ
S34で出力する。画素セグメントがスキャンドイメー
ジの場合は、まずステップS30にてデバイス空間での
セグメントの始点から終点までの各画素の座標をソース
空間に座標変換しソース空間上での該画素の座標を得
る。次いでステップS31で各ソース座標値を該画素の
メモリ上でのアドレスに変換し、そのアドレスを用いて
ステップS32にてメモリより画素を読み出し、ステッ
プS34にて出力する。ステップS34にてメモリより
読み出す画素はステップS24にてメモリに書き込まれ
た画素である。以上の処理を1ページ分、すなわち、最
初の走査線から最後の走査線まで、走査線上の左端のセ
グメントから順に右端のセグメントについて行う。1ペ
ージ分の処理が完了したらこのプロセスは終了する。
【0080】本発明の第1の実施例の全体のブロック図
を図2に示す。本実施例では、CPU1とI/O手段2
とメモリ4とをバス3で接続した計算機システム上に構
成されている。CPU1はメモリ4に格納されたプログ
ラムの命令語を読み出し実行する。プログラムの実行の
過程で、メモリ4に格納された各種データがCPU1に
ロードされ、プログラムに従って各種演算が行われ、結
果がメモリ4に格納される。I/O手段2は、キーボー
ド、CRTディスプレイ、磁気ディスク、フロッピィデ
ィスクドライブ、CD−ROMドライブ、ネットワーク
I/F等である。キーボードとCRTディスプレイはオ
ペレータが計算機システムを操作するために用いられ
る。磁気ディスクは各種データをファイルとして長期的
あるいは一時的に格納するために用いる。フロッピィデ
ィスクドライブはフロッピィディスクを読み書きするた
めに用い、主な利用目的はシステムの初期化や故障診断
の為のプログラムをロードすることである。CD−RO
MドライブはCD−ROMを読む為に用い、各種のアプ
リケーションプログラム等をインストールするために使
う。
を図2に示す。本実施例では、CPU1とI/O手段2
とメモリ4とをバス3で接続した計算機システム上に構
成されている。CPU1はメモリ4に格納されたプログ
ラムの命令語を読み出し実行する。プログラムの実行の
過程で、メモリ4に格納された各種データがCPU1に
ロードされ、プログラムに従って各種演算が行われ、結
果がメモリ4に格納される。I/O手段2は、キーボー
ド、CRTディスプレイ、磁気ディスク、フロッピィデ
ィスクドライブ、CD−ROMドライブ、ネットワーク
I/F等である。キーボードとCRTディスプレイはオ
ペレータが計算機システムを操作するために用いられ
る。磁気ディスクは各種データをファイルとして長期的
あるいは一時的に格納するために用いる。フロッピィデ
ィスクドライブはフロッピィディスクを読み書きするた
めに用い、主な利用目的はシステムの初期化や故障診断
の為のプログラムをロードすることである。CD−RO
MドライブはCD−ROMを読む為に用い、各種のアプ
リケーションプログラム等をインストールするために使
う。
【0081】メモリ4は計算機システムの主記憶であ
る。PDLのインタープリタ10はプログラムの形態で
メモリ4に格納されている。描画情報生成手段11、重
なり検出手段12、復号順決定手段13も同様にプログ
ラムの形態でメモリ4に格納されている。これらはCP
U1によって実行され。
る。PDLのインタープリタ10はプログラムの形態で
メモリ4に格納されている。描画情報生成手段11、重
なり検出手段12、復号順決定手段13も同様にプログ
ラムの形態でメモリ4に格納されている。これらはCP
U1によって実行され。
【0082】ネットワークI/Fを用いてPDLで記述
した画像情報を受信し、磁気ディスクに格納する。それ
を磁気ディスクから読み出しメモリ4に格納する。イン
タープリタ10はメモリ4上のPDL記述を解釈し実行
する。インタープリタ10は実行の結果として、描画指
令を描画情報生成手段11に与える。描画情報生成手段
11は、各種描画指令をデバイス空間の解像度の描画情
報に変換する。フォント、グラフィクス、スキャンドイ
メージの描画指令は、特開平5−224637に開示さ
れる技術を用いて、デバイス空間の走査線に沿ったセグ
メント情報に変換され、描画情報16としてメモリ4に
格納される。本実施例では特開平5−224637とは
異なり、スキャンドイメージの外接矩形の処理は行う
が、スキャンドイメージそのものについてはここでは処
理しない。
した画像情報を受信し、磁気ディスクに格納する。それ
を磁気ディスクから読み出しメモリ4に格納する。イン
タープリタ10はメモリ4上のPDL記述を解釈し実行
する。インタープリタ10は実行の結果として、描画指
令を描画情報生成手段11に与える。描画情報生成手段
11は、各種描画指令をデバイス空間の解像度の描画情
報に変換する。フォント、グラフィクス、スキャンドイ
メージの描画指令は、特開平5−224637に開示さ
れる技術を用いて、デバイス空間の走査線に沿ったセグ
メント情報に変換され、描画情報16としてメモリ4に
格納される。本実施例では特開平5−224637とは
異なり、スキャンドイメージの外接矩形の処理は行う
が、スキャンドイメージそのものについてはここでは処
理しない。
【0083】重なり検出手段12は、メモリ4に格納さ
れた描画情報16を読み出し、スキャンドイメージの輪
郭情報と部分画像との重なりを検出し、部分画像毎の重
なり情報14をメモリ4に格納する。重なり検出の詳細
については後段で詳細に説明する。
れた描画情報16を読み出し、スキャンドイメージの輪
郭情報と部分画像との重なりを検出し、部分画像毎の重
なり情報14をメモリ4に格納する。重なり検出の詳細
については後段で詳細に説明する。
【0084】復号順決定手段13は、メモリ4に格納さ
れた重なり情報14を読み出し、部分画像の符号を復号
する際の復号順を決定し、復号順情報15をメモリ4に
格納する。復号順の決定の詳細については後段で詳細に
説明する。
れた重なり情報14を読み出し、部分画像の符号を復号
する際の復号順を決定し、復号順情報15をメモリ4に
格納する。復号順の決定の詳細については後段で詳細に
説明する。
【0085】ネットワークI/Fを用いてスキャンドイ
メージの画像データを入力し、一旦磁気ディスクに格納
する。それを磁気ディスクから読み出し、バス3を経由
し、画像入力手段20に与える。画像入力手段20は縮
小手段21と行バッファ24と結合している。行バッフ
ァ手段24は更に分割手段22と結合している。分割手
段22の出力は符号化手段23に供給されるよう構成さ
れている。符号化手段23の出力である部分画像の符号
17はメモリ4に格納される。縮小手段21はラスタ画
像を行バッファ24に書き込む際に画像を縮小する。符
号化手段23は、符号化の際にメモリ4に格納された重
なり情報14を参照して、符号化すべき部分画像につい
てのみ符号化を行う。
メージの画像データを入力し、一旦磁気ディスクに格納
する。それを磁気ディスクから読み出し、バス3を経由
し、画像入力手段20に与える。画像入力手段20は縮
小手段21と行バッファ24と結合している。行バッフ
ァ手段24は更に分割手段22と結合している。分割手
段22の出力は符号化手段23に供給されるよう構成さ
れている。符号化手段23の出力である部分画像の符号
17はメモリ4に格納される。縮小手段21はラスタ画
像を行バッファ24に書き込む際に画像を縮小する。符
号化手段23は、符号化の際にメモリ4に格納された重
なり情報14を参照して、符号化すべき部分画像につい
てのみ符号化を行う。
【0086】復号手段25は、メモリ4に格納された復
号順情報15に基づいて、メモリ4に格納された該部分
画像の符号17をバス3を経由し入力し、復号し、該部
分画像を作り、それをメモリ28に格納する。
号順情報15に基づいて、メモリ4に格納された該部分
画像の符号17をバス3を経由し入力し、復号し、該部
分画像を作り、それをメモリ28に格納する。
【0087】座標変換手段26はメモリ4に格納されて
いる描画情報16のスキャンドイメージに関連するセグ
メント情報を入力し、デバイス空間で表現されたセグメ
ント上の画素の座標をソース空間上の線分上の画素の座
標に変換する。ラインアートに関連するセグメント情報
は座標変換手段26とアドレス変換手段27とメモリ2
8を通らず直接画像出力手段29に供給される。座標変
換手段26の出力であるソース空間の座標情報はアドレ
ス変換手段27に供給される。アドレス変換手段27
は、ソース空間の座標情報をメモリ28上の該当する部
分画像の該当する画素のアドレスに変換し、アドレスを
メモリ手段28に送る。メモリ手段28は、アドレス変
換手段27から与えられたアドレスでメモリ上の部分画
像の画素を読み出し、読み出した画素を画像出力手段2
9に供給する。画像出力手段29はラインアートのセグ
メント情報からラインアートの画素を生成し、スキャン
ドイメージの画素と組み合せて出力画像としてIOT
(Image OutputTerminal:画像出
力装置)へ出力する。
いる描画情報16のスキャンドイメージに関連するセグ
メント情報を入力し、デバイス空間で表現されたセグメ
ント上の画素の座標をソース空間上の線分上の画素の座
標に変換する。ラインアートに関連するセグメント情報
は座標変換手段26とアドレス変換手段27とメモリ2
8を通らず直接画像出力手段29に供給される。座標変
換手段26の出力であるソース空間の座標情報はアドレ
ス変換手段27に供給される。アドレス変換手段27
は、ソース空間の座標情報をメモリ28上の該当する部
分画像の該当する画素のアドレスに変換し、アドレスを
メモリ手段28に送る。メモリ手段28は、アドレス変
換手段27から与えられたアドレスでメモリ上の部分画
像の画素を読み出し、読み出した画素を画像出力手段2
9に供給する。画像出力手段29はラインアートのセグ
メント情報からラインアートの画素を生成し、スキャン
ドイメージの画素と組み合せて出力画像としてIOT
(Image OutputTerminal:画像出
力装置)へ出力する。
【0088】次に第1の実施例の各手段についてより詳
細に説明する。
細に説明する。
【0089】描画情報生成手段11は、インタープリタ
10が指示したフォント、グラフィクス、スキャンドイ
メージの輪郭等を、デバイス空間の解像度での形状に変
換し、デバイス空間の走査線上のセグメントで表現す
る。実施例の描画情報生成手段11は、従来技術で説明
したデータ構造に類似した構造を用いてデバイス画像の
全走査線上の全セグメントを表現し、描画情報16とし
てメモリ4に格納する。本実施例では描画情報の生成は
特開平5−224637に開示される技術と同様の技術
で行う。
10が指示したフォント、グラフィクス、スキャンドイ
メージの輪郭等を、デバイス空間の解像度での形状に変
換し、デバイス空間の走査線上のセグメントで表現す
る。実施例の描画情報生成手段11は、従来技術で説明
したデータ構造に類似した構造を用いてデバイス画像の
全走査線上の全セグメントを表現し、描画情報16とし
てメモリ4に格納する。本実施例では描画情報の生成は
特開平5−224637に開示される技術と同様の技術
で行う。
【0090】その結果、例えば図3に示すデバイス画像
の走査線Y1に関する描画情報16は図4に例示する様
なかたちで表現される。全走査線は配列devImag
e[]よりアクセス可能である。配列devImage
[]は走査線数HDの要素を持ち、各配列要素は各走査
線の左端セグメントのノードへのポインタである。走査
線Y1について走査する場合はまずdevImage
[Y1]を読み出し、走査線左端のセグメントのノード
へのポインタを得る。次にそのポインタを用いて左端の
セグメントのノードを得る。X座標が0からX1−1ま
での左端セグメントSeg1の色はラインアートの白で
あり、ノード内のポインタppは白い画素をさし、dp
は0、nextは右隣のセグメントのノードを指す。左
から2番目のセグメントSeg2は文字「A」の一部で
あり、X座標はX1からX2−1まで、ラインアートに
由来し、色は灰色である。左から3番目のセグメントS
eg3はX座標X2からX3−1までを占め文字「A」
の背景部分でラインラートで色は白である。左から4番
目のセグメントSeg4はX座標X3からX4−1まで
を占め文字「A」の一部でラインラートで色は灰色であ
る。左から5番目のセグメントSeg5はX座標X4か
らX5−1までを占めラインラートで色は白である。左
から6番目のセグメントSeg6はX座標X5からX6
−1までを占めスキャンドイメージに由来する。左から
7番目のセグメントSeg7は右端のセグメントであり
X座標X6からWD−1までを占めラインラートで色は
白である。描画情報16には各セグメントの情報すなわ
ち、セグメントの左端と右端のX座標値(それぞれx0
とx1)、セグメントの色情報等へのポインタpp、セ
グメントがラインアートあるいはスキャンドイメージに
由来することを示すフラグdp、右隣りのセグメントの
ノードへのポインタnextが該セグメントのノードに
格納されている。従来技術ではポインタppは画素デー
タへのポインタであったが、実施例ではppはラインア
ートのセグメントでは画素データへのポインタ、スキャ
ンドイメージのセグメントでは後述のテーブルへのポイ
ンタである。セグメントSeg1,Seg3,Seg
5,Seg7はラインアート由来の白のセグメントなの
で、それぞれのノードのppは白い画素値のデータを格
納するエリアへのポインタを有し、dpには0が入る。
セグメントSeg2とSeg4はラインラート由来の灰
色のセグメントなので、それぞれのノードのppには灰
色の画素値を格納するエリアへのポインタを有し、dp
には0が入る。セグメントSeg6はスキャンドイメー
ジに由来するセグメントであり、ppにはメモリ28に
格納される部分画像へのポインタのテーブルへのポイン
タが格納され、dpにはスキャンドイメージのセグメン
トを示す為1が設定される。右端のセグメントSeg7
にはnextにNULLが設定される。
の走査線Y1に関する描画情報16は図4に例示する様
なかたちで表現される。全走査線は配列devImag
e[]よりアクセス可能である。配列devImage
[]は走査線数HDの要素を持ち、各配列要素は各走査
線の左端セグメントのノードへのポインタである。走査
線Y1について走査する場合はまずdevImage
[Y1]を読み出し、走査線左端のセグメントのノード
へのポインタを得る。次にそのポインタを用いて左端の
セグメントのノードを得る。X座標が0からX1−1ま
での左端セグメントSeg1の色はラインアートの白で
あり、ノード内のポインタppは白い画素をさし、dp
は0、nextは右隣のセグメントのノードを指す。左
から2番目のセグメントSeg2は文字「A」の一部で
あり、X座標はX1からX2−1まで、ラインアートに
由来し、色は灰色である。左から3番目のセグメントS
eg3はX座標X2からX3−1までを占め文字「A」
の背景部分でラインラートで色は白である。左から4番
目のセグメントSeg4はX座標X3からX4−1まで
を占め文字「A」の一部でラインラートで色は灰色であ
る。左から5番目のセグメントSeg5はX座標X4か
らX5−1までを占めラインラートで色は白である。左
から6番目のセグメントSeg6はX座標X5からX6
−1までを占めスキャンドイメージに由来する。左から
7番目のセグメントSeg7は右端のセグメントであり
X座標X6からWD−1までを占めラインラートで色は
白である。描画情報16には各セグメントの情報すなわ
ち、セグメントの左端と右端のX座標値(それぞれx0
とx1)、セグメントの色情報等へのポインタpp、セ
グメントがラインアートあるいはスキャンドイメージに
由来することを示すフラグdp、右隣りのセグメントの
ノードへのポインタnextが該セグメントのノードに
格納されている。従来技術ではポインタppは画素デー
タへのポインタであったが、実施例ではppはラインア
ートのセグメントでは画素データへのポインタ、スキャ
ンドイメージのセグメントでは後述のテーブルへのポイ
ンタである。セグメントSeg1,Seg3,Seg
5,Seg7はラインアート由来の白のセグメントなの
で、それぞれのノードのppは白い画素値のデータを格
納するエリアへのポインタを有し、dpには0が入る。
セグメントSeg2とSeg4はラインラート由来の灰
色のセグメントなので、それぞれのノードのppには灰
色の画素値を格納するエリアへのポインタを有し、dp
には0が入る。セグメントSeg6はスキャンドイメー
ジに由来するセグメントであり、ppにはメモリ28に
格納される部分画像へのポインタのテーブルへのポイン
タが格納され、dpにはスキャンドイメージのセグメン
トを示す為1が設定される。右端のセグメントSeg7
にはnextにNULLが設定される。
【0091】デバイス画像におけるスキャンドイメージ
部分は、図5の512×512画素の正方形のソース画
像abcdをアフィン変換し、図6に示すようなデバイ
ス空間上の平行四辺形ABCDを得て、それを長方形E
FGHでクリッピングし、内側をデバイス画像上に描画
したものである。
部分は、図5の512×512画素の正方形のソース画
像abcdをアフィン変換し、図6に示すようなデバイ
ス空間上の平行四辺形ABCDを得て、それを長方形E
FGHでクリッピングし、内側をデバイス画像上に描画
したものである。
【0092】ソース画像abcdは8×8個の部分画像
に分割出来る。部分画像をデバイス空間に写像すると図
6に示す8×8個の平行四辺形になる。
に分割出来る。部分画像をデバイス空間に写像すると図
6に示す8×8個の平行四辺形になる。
【0093】ソース画像がBx×By個の部分画像に分
割出来る場合、重なり情報14は図7に示すようにBx
×By個の要素を持つテーブルとして構成され、メモリ
4に格納されている。テーブルのエントリは1(真)ま
たは0(偽)の論理値を格納する。
割出来る場合、重なり情報14は図7に示すようにBx
×By個の要素を持つテーブルとして構成され、メモリ
4に格納されている。テーブルのエントリは1(真)ま
たは0(偽)の論理値を格納する。
【0094】重なり検出手段12は、まず重なり情報1
4のテーブルの全エントリを0にする。その後、重なり
検出手段12は、メモリ4に格納された描画情報16よ
りスキャンドイメージの輪郭情報を読み出し、それを該
スキャンドイメージの描画の際に指定されたアフィン変
換の逆変換を施し、輪郭情報をスキャンドイメージのソ
ース空間に写像する。デバイス画像のスキャンドイメー
ジ部分の描画に貢献する画素は逆変換された輪郭形状の
内側にある。従って、逆変換された外形形状の内側に存
在する部分画像あるいは輪郭上に存在する部分画像のみ
がデバイス画像の描画に寄与する。従って、重なり検出
手段12はそのような部分画像を選べばよい。部分画像
の選択は次のように行う。描画情報16中のスキャンド
イメージのセグメントを順次読み出し、該セグメントを
逆変換し、ソース空間に写像する。セグメントはデバイ
ス空間で幅X1−X0、高さ1の長方形なので、逆変換
するとソース空間上では平行四辺形となる。この平行四
辺形と重なる部分画像を見つける。これは部分画像の解
像度で平行四辺形を描画すること、すなわち、平行四辺
形を部分画像の精度で解像度変換することに等しい。図
形の解像度変換については多くの技術が知られており、
例えばJames D.FoleyとAndries
Van Dam共著のテキストブック「コンピュータ・
グラフクス」の11章に代表的な技術が記載されてい
る。本実施例では11.7章に記載されているスキャン
・ライン・アルゴリズムを用いて解像度変換を行う。解
像度変換の結果、該平行四辺形のと重なる部分画像が検
出される。図8は図5のソース画像の部分画像において
逆変換された輪郭形状efghと重なる部分画像をグレ
ーで示している。細長い平行四辺形はデバイス空間のセ
グメントを逆変換したものである。セグメントの平行四
辺形毎に部分画像との重なりを検出し、重なっていた部
分画像の和集合をとればよい。重なり検出手段12は、
重なり情報14のテーブルにおいて、検出された部分画
像に対応するエントリに1を書き込む。重なり検出手段
12は描画情報16の全スキャンドイメージ由来のセグ
メントに関して以上の処理を行う。処理終了後、重なり
情報14にはデバイス画像に寄与する部分画像全てのエ
ントリに1が書き込まれている。図5のソース画像にア
フィン変換とクリッピングを行い図6のデバイス画像と
した場合の重なり情報14を図9に例として示す。
4のテーブルの全エントリを0にする。その後、重なり
検出手段12は、メモリ4に格納された描画情報16よ
りスキャンドイメージの輪郭情報を読み出し、それを該
スキャンドイメージの描画の際に指定されたアフィン変
換の逆変換を施し、輪郭情報をスキャンドイメージのソ
ース空間に写像する。デバイス画像のスキャンドイメー
ジ部分の描画に貢献する画素は逆変換された輪郭形状の
内側にある。従って、逆変換された外形形状の内側に存
在する部分画像あるいは輪郭上に存在する部分画像のみ
がデバイス画像の描画に寄与する。従って、重なり検出
手段12はそのような部分画像を選べばよい。部分画像
の選択は次のように行う。描画情報16中のスキャンド
イメージのセグメントを順次読み出し、該セグメントを
逆変換し、ソース空間に写像する。セグメントはデバイ
ス空間で幅X1−X0、高さ1の長方形なので、逆変換
するとソース空間上では平行四辺形となる。この平行四
辺形と重なる部分画像を見つける。これは部分画像の解
像度で平行四辺形を描画すること、すなわち、平行四辺
形を部分画像の精度で解像度変換することに等しい。図
形の解像度変換については多くの技術が知られており、
例えばJames D.FoleyとAndries
Van Dam共著のテキストブック「コンピュータ・
グラフクス」の11章に代表的な技術が記載されてい
る。本実施例では11.7章に記載されているスキャン
・ライン・アルゴリズムを用いて解像度変換を行う。解
像度変換の結果、該平行四辺形のと重なる部分画像が検
出される。図8は図5のソース画像の部分画像において
逆変換された輪郭形状efghと重なる部分画像をグレ
ーで示している。細長い平行四辺形はデバイス空間のセ
グメントを逆変換したものである。セグメントの平行四
辺形毎に部分画像との重なりを検出し、重なっていた部
分画像の和集合をとればよい。重なり検出手段12は、
重なり情報14のテーブルにおいて、検出された部分画
像に対応するエントリに1を書き込む。重なり検出手段
12は描画情報16の全スキャンドイメージ由来のセグ
メントに関して以上の処理を行う。処理終了後、重なり
情報14にはデバイス画像に寄与する部分画像全てのエ
ントリに1が書き込まれている。図5のソース画像にア
フィン変換とクリッピングを行い図6のデバイス画像と
した場合の重なり情報14を図9に例として示す。
【0095】復号順決定手段13は、まず、部分画像の
4個の頂点のうち、デバイス空間に変換した際にY座標
値が最小となる頂点を選び出し、それを部分画像の代表
点とする。復号順決定手段13はメモリ4に格納された
重なり情報14よりデバイス画像の描画に寄与する全部
分画像(xB,yB)について、代表点の座標(64・
xB+xoff,64・yB+yoff)をアフィン変
換し、Y座標値Y(xB,yB)と部分画像番号(x
B,yB)の組を得る。ここで、xoffとyoffは
次のように与えられる。
4個の頂点のうち、デバイス空間に変換した際にY座標
値が最小となる頂点を選び出し、それを部分画像の代表
点とする。復号順決定手段13はメモリ4に格納された
重なり情報14よりデバイス画像の描画に寄与する全部
分画像(xB,yB)について、代表点の座標(64・
xB+xoff,64・yB+yoff)をアフィン変
換し、Y座標値Y(xB,yB)と部分画像番号(x
B,yB)の組を得る。ここで、xoffとyoffは
次のように与えられる。
【0096】
【表1】
【0097】次に、各部分画像のY(xB,yB)の値
に関して昇順にソートし、結果を復号順情報15として
メモリ4に格納する。
に関して昇順にソートし、結果を復号順情報15として
メモリ4に格納する。
【0098】以上の過程を、図5のソース画像にアフィ
ン変換とクリッピングを施し図6に示す様にデバイス画
像に描画する場合を例に説明する。この例では部分画像
の左上頂点が部分画像の代表点となる。従ってアフィン
変換後の代表点のY座標値Y(xB,yB)は、
ン変換とクリッピングを施し図6に示す様にデバイス画
像に描画する場合を例に説明する。この例では部分画像
の左上頂点が部分画像の代表点となる。従ってアフィン
変換後の代表点のY座標値Y(xB,yB)は、
【0099】
【数12】Y(xB,yB)=64・c・xB+64・
dy・B+v となる。ここでc,d,vはアフィン変換のパラメータ
である。
dy・B+v となる。ここでc,d,vはアフィン変換のパラメータ
である。
【0100】デバイス画像のスキャンドイメージの描画
寄与する部分画像は図8に灰色で示した部分であり、こ
れらのY(xB,yB)をそれぞれ計算し、昇順に並べ
た時の部分画像の順番は、(2,0),(1,1),
(0,2),(3,0),(2,1),(1,2),
(0,3),.....となる。復号順決定手段13
は、この順番に従って、Y(xB,yB)の値と部分画
像番号(xB,yB)を図11に示すような形で復号順
情報15としてメモリ4に格納する。
寄与する部分画像は図8に灰色で示した部分であり、こ
れらのY(xB,yB)をそれぞれ計算し、昇順に並べ
た時の部分画像の順番は、(2,0),(1,1),
(0,2),(3,0),(2,1),(1,2),
(0,3),.....となる。復号順決定手段13
は、この順番に従って、Y(xB,yB)の値と部分画
像番号(xB,yB)を図11に示すような形で復号順
情報15としてメモリ4に格納する。
【0101】デバイス画像の出力時の走査はY=0の走
査線より始まり、Yの値を1づづ増し、HD−1に達す
るまで行う。従って、出力時の走査において、デバイス
画像に貢献する部分画像が走査線と交差する最初の点は
部分画像の代表点である。また、Y(xB,yB)が小
さな値をとる部分画像より順に走査線上に現れる。従っ
て部分画像の代表点のY(xB,yB)値で昇順にソー
トした順に部分画像の符号を復号して部分画像に戻し、
走査線Yのスキャンを行う前に部分画像が復元されてい
るように制御する。これにより、走査線Yのスキャン時
荷はスキャンドイメージの画素を直ちに得ることができ
る。図10を例にすると、デバイス空間の走査線Yを0
から順に走査する場合、まずY=Y(1,1)までに部
分画像(1,1)の符号を復号しておく。Y=Y(0,
2)までに部分画像(0,2)を復号しておく以下同様
に部分画像(3,0),(2,1),(1,2),
(0,3),....をそれぞれY=Y(xB,yB)
になる前に復号しておく。このように、Y(xB,y
B)でソートした順に部分画像の符号を復号すること
で、デバイス画像の走査時までに部分画像を用意するが
可能となる。
査線より始まり、Yの値を1づづ増し、HD−1に達す
るまで行う。従って、出力時の走査において、デバイス
画像に貢献する部分画像が走査線と交差する最初の点は
部分画像の代表点である。また、Y(xB,yB)が小
さな値をとる部分画像より順に走査線上に現れる。従っ
て部分画像の代表点のY(xB,yB)値で昇順にソー
トした順に部分画像の符号を復号して部分画像に戻し、
走査線Yのスキャンを行う前に部分画像が復元されてい
るように制御する。これにより、走査線Yのスキャン時
荷はスキャンドイメージの画素を直ちに得ることができ
る。図10を例にすると、デバイス空間の走査線Yを0
から順に走査する場合、まずY=Y(1,1)までに部
分画像(1,1)の符号を復号しておく。Y=Y(0,
2)までに部分画像(0,2)を復号しておく以下同様
に部分画像(3,0),(2,1),(1,2),
(0,3),....をそれぞれY=Y(xB,yB)
になる前に復号しておく。このように、Y(xB,y
B)でソートした順に部分画像の符号を復号すること
で、デバイス画像の走査時までに部分画像を用意するが
可能となる。
【0102】画像入力手段20は、入力された画像デー
タが符号化されたデータの時には画像の符号を復号しラ
スタデータの形式にし、スキャン順に画素を縮小手段に
供給する。実施例においてはスキャンドイメージの圧縮
にしばしば用いられるJPEG符号用のデコーダを備え
ている。
タが符号化されたデータの時には画像の符号を復号しラ
スタデータの形式にし、スキャン順に画素を縮小手段に
供給する。実施例においてはスキャンドイメージの圧縮
にしばしば用いられるJPEG符号用のデコーダを備え
ている。
【0103】ソース画像のサイズを幅WS,高さHSと
する。縮小後のソース画像のサイズを幅Wi,高さHi
とする。x軸方向の画像の縮小率をnx、y軸方向の画
像の縮小率をnyとする。nxが3の場合画像はx軸方
向に1/3のサイズに縮小される。nyが2の場合画像
はy軸方向に1/2のサイズに縮小される。
する。縮小後のソース画像のサイズを幅Wi,高さHi
とする。x軸方向の画像の縮小率をnx、y軸方向の画
像の縮小率をnyとする。nxが3の場合画像はx軸方
向に1/3のサイズに縮小される。nyが2の場合画像
はy軸方向に1/2のサイズに縮小される。
【0104】縮小手段21と分割手段22と行バッファ
24は互いに結合しており、これらをまとめてブロック
図12に示す。行バッファ24はRAMで構成されてお
り、縮小手段21にて生成された書き込みアドレスのメ
モリ位置に入力画素を書き込む。書き込みは縮小手段2
1にて生成されたライトイネーブル信号WEにより制御
される。読み出しアドレスは分割手段22よりRAMに
供給され、該画素が出力され、画素は符号化手段23に
送られる。行バッファは縮小後のソース画像の走査線を
64本格納することができる。実施例では合計512K
×4バイトのSRAMを用いており、1行の長さは最大
8K(8192)画素となっている。1画素は4バイト
で4色成分までサポートできる。
24は互いに結合しており、これらをまとめてブロック
図12に示す。行バッファ24はRAMで構成されてお
り、縮小手段21にて生成された書き込みアドレスのメ
モリ位置に入力画素を書き込む。書き込みは縮小手段2
1にて生成されたライトイネーブル信号WEにより制御
される。読み出しアドレスは分割手段22よりRAMに
供給され、該画素が出力され、画素は符号化手段23に
送られる。行バッファは縮小後のソース画像の走査線を
64本格納することができる。実施例では合計512K
×4バイトのSRAMを用いており、1行の長さは最大
8K(8192)画素となっている。1画素は4バイト
で4色成分までサポートできる。
【0105】縮小手段21には、ソース画像の画素のx
座標位置をカウントするxSカウンタ210、y座標位
置をカウントするySカウンタ211、nxカウンタ2
12、nyカウンタ213、縮小後のソース画像のx座
標位置をカウントするxiカウンタ214、縮小後のソ
ース画像のy座標位置をカウントするyiカウンタ21
5、ANDゲート216、アドレス生成器217とが備
えられている。
座標位置をカウントするxSカウンタ210、y座標位
置をカウントするySカウンタ211、nxカウンタ2
12、nyカウンタ213、縮小後のソース画像のx座
標位置をカウントするxiカウンタ214、縮小後のソ
ース画像のy座標位置をカウントするyiカウンタ21
5、ANDゲート216、アドレス生成器217とが備
えられている。
【0106】図13に示す縮小手段の動作のタイミング
図とともに縮小手段21の動作を説明する。
図とともに縮小手段21の動作を説明する。
【0107】xsカウンタ210は画素を入力するごと
に0からWS−1まで1つづつ増加する。WS−1に達
した時に新たな画素を入力すると0に戻る。これはソー
ス画像を1行入力終えたことを意味し、1行入力終了は
ySカウンタ211とnyカウンタに通知される。
に0からWS−1まで1つづつ増加する。WS−1に達
した時に新たな画素を入力すると0に戻る。これはソー
ス画像を1行入力終えたことを意味し、1行入力終了は
ySカウンタ211とnyカウンタに通知される。
【0108】ySカウンタ211はソース画像を1行入
力するごとに0からHS−1まで1つづつ増加する。H
S−1のときに1行入力が完了したら0にもどる。これ
はソース画像の入力の完了を意味する。
力するごとに0からHS−1まで1つづつ増加する。H
S−1のときに1行入力が完了したら0にもどる。これ
はソース画像の入力の完了を意味する。
【0109】nxカウンタ212は1画素入力するごと
に0からnx−1までカウントアップし、nx−1に達
したら画素入力で再び0に戻る。nxカウンタの値が0
を示すとき、それxiカウンタ214とANDゲート2
16に通知される。nxカウンタはソース画像のx方向
縮小の際に画素を間引くタイミングを示す。nxカウン
タの値が0以外の時には画素を間引く。例えば、nx=
2の場合nxカウンタが1の時には画素を間引く。従っ
てソース画像はx軸方向に1/2に縮小する。nx=3
の場合nxカウンタが1〜2の時には画素を間引く。こ
れによりソース画像はx軸方向に1/3に縮小する。ソ
ース画像の縮小を行わない時にはnxとして1を設定す
る。この場合nxカウンタは常に0を保つのでx軸方向
の画素間引きは発生せず、ソース画像のx軸方向の縮小
は生じない。
に0からnx−1までカウントアップし、nx−1に達
したら画素入力で再び0に戻る。nxカウンタの値が0
を示すとき、それxiカウンタ214とANDゲート2
16に通知される。nxカウンタはソース画像のx方向
縮小の際に画素を間引くタイミングを示す。nxカウン
タの値が0以外の時には画素を間引く。例えば、nx=
2の場合nxカウンタが1の時には画素を間引く。従っ
てソース画像はx軸方向に1/2に縮小する。nx=3
の場合nxカウンタが1〜2の時には画素を間引く。こ
れによりソース画像はx軸方向に1/3に縮小する。ソ
ース画像の縮小を行わない時にはnxとして1を設定す
る。この場合nxカウンタは常に0を保つのでx軸方向
の画素間引きは発生せず、ソース画像のx軸方向の縮小
は生じない。
【0110】xiカウンタ214はnxカウンタ=0の
通知毎に0からWi−1まで1つづつ増加する。Wi−
1の時にnxカウンタ=0の通知を受けたら0に戻る。
これは縮小後のソース画像の1行が終わったことを意味
し、これはアドレス生成器217に通知される。
通知毎に0からWi−1まで1つづつ増加する。Wi−
1の時にnxカウンタ=0の通知を受けたら0に戻る。
これは縮小後のソース画像の1行が終わったことを意味
し、これはアドレス生成器217に通知される。
【0111】nyカウンタ213はソース画像1行入力
するごとに0からny−1までカウントアップし、ny
−1に達したらソース画像1行の入力の通知で再び0に
戻る。nyカウンタの値が0を示す時、それはyiカウ
ンタ215とANDゲート216に通知される。nyカ
ウンタはソース画像のy方向縮小の際に画素を間引くタ
イミングを示す。nyカウンタの値が0以外の時には画
素を間引く。例えば、ny=2の場合nyカウンタが1
の時には走査線を間引く。従ってソース画像はy軸方向
に1/2に縮小する。ny=3の場合nyカウンタが1
〜2の時には走査線を間引く。これによりソース画像は
y軸方向に1/3に縮小する。ソース画像の縮小を行わ
ない時にはnyとして1を設定する。この場合nyカウ
ンタは常に0を保つのでy軸方向の走査線の間引きは発
生せず、ソース画像のy軸方向の縮小は生じない。
するごとに0からny−1までカウントアップし、ny
−1に達したらソース画像1行の入力の通知で再び0に
戻る。nyカウンタの値が0を示す時、それはyiカウ
ンタ215とANDゲート216に通知される。nyカ
ウンタはソース画像のy方向縮小の際に画素を間引くタ
イミングを示す。nyカウンタの値が0以外の時には画
素を間引く。例えば、ny=2の場合nyカウンタが1
の時には走査線を間引く。従ってソース画像はy軸方向
に1/2に縮小する。ny=3の場合nyカウンタが1
〜2の時には走査線を間引く。これによりソース画像は
y軸方向に1/3に縮小する。ソース画像の縮小を行わ
ない時にはnyとして1を設定する。この場合nyカウ
ンタは常に0を保つのでy軸方向の走査線の間引きは発
生せず、ソース画像のy軸方向の縮小は生じない。
【0112】yiカウンタ214はnyカウンタ=0の
通知毎に0からHi−1まで1つづつ増加する。Hi−
1の時にnyカウンタ=0の通知を受けたら0に戻る。
これはソース画像入力の完了を意味する。yiカウンタ
214は更に、64行毎の入力完了も検出する。64行
毎の入力完了およびソース画像の入力完了は分割手段2
2に通知される。
通知毎に0からHi−1まで1つづつ増加する。Hi−
1の時にnyカウンタ=0の通知を受けたら0に戻る。
これはソース画像入力の完了を意味する。yiカウンタ
214は更に、64行毎の入力完了も検出する。64行
毎の入力完了およびソース画像の入力完了は分割手段2
2に通知される。
【0113】ANDゲート216はnxカウンタ=0か
つnyカウンタ=0の条件を検出する。この条件が真の
とき該入力画素はxおよびy方向のいずれにも間引かな
い画素である。したがってANDゲート216の出力を
行バッファ24のRAMへのライトイネーブル信号WE
として供給する。WE信号荷より、RAMはこの時の入
力画素を書き込む。その際の書き込み先アドレスについ
ては以下で詳細に説明する。
つnyカウンタ=0の条件を検出する。この条件が真の
とき該入力画素はxおよびy方向のいずれにも間引かな
い画素である。したがってANDゲート216の出力を
行バッファ24のRAMへのライトイネーブル信号WE
として供給する。WE信号荷より、RAMはこの時の入
力画素を書き込む。その際の書き込み先アドレスについ
ては以下で詳細に説明する。
【0114】アドレス生成器217は、xiカウンタ2
14の値とyiカウンタ215の値を利用し、下記に示
す様にアドレスを生成する。
14の値とyiカウンタ215の値を利用し、下記に示
す様にアドレスを生成する。
【0115】
【数13】書き込みアドレス=8192×(yiカウン
タの値%64)+xiカウンタの値
タの値%64)+xiカウンタの値
【0116】ここで「%」は剰余を取る演算を意味す
る。行バッファのRAMの連続する8K語を縮小後のソ
ース画像の1行に固定的に割当てている。行バッファの
RAMにおける画素の割当てを図14に模式的に示す。
RAMの最初の8192語には、縮小後のソース画像の
1行目、65行目、129行目、193行目...が格
納される。2行目、66行目等はその次の8192語に
格納される。以下同様に64行目、128行目等がRA
Mの最後の8192語に格納される。従って図14から
わかるように行バッファのRAMには横1列分の部分画
像が格納される。
る。行バッファのRAMの連続する8K語を縮小後のソ
ース画像の1行に固定的に割当てている。行バッファの
RAMにおける画素の割当てを図14に模式的に示す。
RAMの最初の8192語には、縮小後のソース画像の
1行目、65行目、129行目、193行目...が格
納される。2行目、66行目等はその次の8192語に
格納される。以下同様に64行目、128行目等がRA
Mの最後の8192語に格納される。従って図14から
わかるように行バッファのRAMには横1列分の部分画
像が格納される。
【0117】分割手段22にはアドレス生成器220と
xBカウンタ221とyBカウンタ222とが設けられ
ている。
xBカウンタ221とyBカウンタ222とが設けられ
ている。
【0118】アドレス生成器は、yiカウンタ214の
64行の入力完了の通知を受けることで起動され、行バ
ッファのRAMの画素アドレスを生成する。生成された
アドレスはRAMに供給され、RAMから画素を読み出
し、出力画素として符号化手段23に送る。画素の読み
出しは符号化手段23から供給される画素出力ストロー
ブ信号によって同期するよう制御される。画素ストロー
ブ信号はアドレス生成器220に与えられるよう構成さ
れており、アドレス生成器220は画素ストローブ信号
がアサートされている時のみ画素読み出しアドレスを更
新する。アドレス生成器220はRAMに格納された部
分画像を左から右へ(図14参照)、部分画像について
は部分画像内の64個の8×8画素ブロックを図15a
に示すような順に、8×8画素ブロック内の画素につい
ては図15bに示すような順で読み出す様にアドレスを
生成する。すなわち、読み出しアドレスは、
64行の入力完了の通知を受けることで起動され、行バ
ッファのRAMの画素アドレスを生成する。生成された
アドレスはRAMに供給され、RAMから画素を読み出
し、出力画素として符号化手段23に送る。画素の読み
出しは符号化手段23から供給される画素出力ストロー
ブ信号によって同期するよう制御される。画素ストロー
ブ信号はアドレス生成器220に与えられるよう構成さ
れており、アドレス生成器220は画素ストローブ信号
がアサートされている時のみ画素読み出しアドレスを更
新する。アドレス生成器220はRAMに格納された部
分画像を左から右へ(図14参照)、部分画像について
は部分画像内の64個の8×8画素ブロックを図15a
に示すような順に、8×8画素ブロック内の画素につい
ては図15bに示すような順で読み出す様にアドレスを
生成する。すなわち、読み出しアドレスは、
【0119】
【数14】読み出しアドレス=64xB+Offset
1(x’,y’)+Offset2(x”,y”) となる。
1(x’,y’)+Offset2(x”,y”) となる。
【0120】ここでxBは部分画像のx座標方向の番号
であり、x’,y’はそれぞれ8×8画素ブロックの
x,y座標方向のブロック番号、x”,y”はそれぞれ
8×8画素ブロック内の座標位置とすると、Offse
t1(x’,y’)とOffset2(x”,y”)は
それぞれ、
であり、x’,y’はそれぞれ8×8画素ブロックの
x,y座標方向のブロック番号、x”,y”はそれぞれ
8×8画素ブロック内の座標位置とすると、Offse
t1(x’,y’)とOffset2(x”,y”)は
それぞれ、
【0121】
【数15】 Offset1(x’,y’)=65536y’+8
x’ Offset2(x”,y”)=8192y”+x” である。
x’ Offset2(x”,y”)=8192y”+x” である。
【0122】変数xB,x’,y’,x”,y”の制御
アルゴリズムをC言語風に記述すると下記の様になる。
アルゴリズムをC言語風に記述すると下記の様になる。
【0123】
【数16】
【0124】この様な順番で画素を読み出すことで、部
分画像内部の画素を後述の符号化手段23のためのラス
タ・ブロック変換して読み出すことができる。
分画像内部の画素を後述の符号化手段23のためのラス
タ・ブロック変換して読み出すことができる。
【0125】xBカウンタ221はyiカウンタ214
の64行入力完了通知により0にクリアされる。xBの
カウントアップはxBカウンタ221が行う。部分画像
内の64×64画素を読み出すたびにxBの値は1増加
する。xBの値は0から縮小後のソース画像の1走査線
上に乗る部分画像数Bxより1つ小さな値までインクリ
メントされる。最後にxB=Bxとなる時に、横1列分
の部分画像を出力し終えたことをyBカウンタ222に
通知する。xB=Bxのときには読み出しアドレスの生
成は行われない。その後yiカウンタ214の64行入
力完了通知がきて0にクリアされる。
の64行入力完了通知により0にクリアされる。xBの
カウントアップはxBカウンタ221が行う。部分画像
内の64×64画素を読み出すたびにxBの値は1増加
する。xBの値は0から縮小後のソース画像の1走査線
上に乗る部分画像数Bxより1つ小さな値までインクリ
メントされる。最後にxB=Bxとなる時に、横1列分
の部分画像を出力し終えたことをyBカウンタ222に
通知する。xB=Bxのときには読み出しアドレスの生
成は行われない。その後yiカウンタ214の64行入
力完了通知がきて0にクリアされる。
【0126】yBカウンタ222はソース画像の入力の
際に0にクリアされ、xBカウンタ221が横1列分の
部分画像を出力し終えたことを通知する毎に値を+1イ
ンクリメントする。
際に0にクリアされ、xBカウンタ221が横1列分の
部分画像を出力し終えたことを通知する毎に値を+1イ
ンクリメントする。
【0127】図16に示すように縮小後のソース画像の
左上を原点として一致させて部分画像が配置される。部
分画像は縮小後のソース画像を覆う様に配置される。す
なわち、BxはWi−1<64Bxを満たす最小の整数
となる。同様にByはHi−1<64Byを満たす最小
の整数となる。部分画像切り出しの順は左上隅の部分画
像よりまず横方向に切り出していき、右端まで達したら
1行下の部分画像を同様にきりだし、以降同様に最終行
まで行う。
左上を原点として一致させて部分画像が配置される。部
分画像は縮小後のソース画像を覆う様に配置される。す
なわち、BxはWi−1<64Bxを満たす最小の整数
となる。同様にByはHi−1<64Byを満たす最小
の整数となる。部分画像切り出しの順は左上隅の部分画
像よりまず横方向に切り出していき、右端まで達したら
1行下の部分画像を同様にきりだし、以降同様に最終行
まで行う。
【0128】xBカウンタとyBカウンタは部分画像
(xB,yB)の座標番号を示しており、出力画素とと
もに符号化手段23に送られる。
(xB,yB)の座標番号を示しており、出力画素とと
もに符号化手段23に送られる。
【0129】符号化手段23は、JPEG(Joint
Photographic Expert Grou
p)のベースライン・プロセス・アルゴリズムを用い
る。このアルゴリズムは画像を8×8画素のブロックに
分割し、ブロックに離散コサイン変換を施した後に量子
化をしハフマン符号化するものである。アルゴリズムと
実施の詳細に関しては例えばCQ出版発行の月刊誌イン
ターフェースの1991年12月号160〜182ペー
ジに記載されているのでここでは説明を省略する。JP
EGはスキャンドイメージの標準的な圧縮/伸張アルゴ
リズムであり、符号化することでデータ量を平均1/1
0に削減することができる。分割手段22により行バッ
ファ24より図15に示す順に読み出された画素は符号
化手段13に入力する。符号化手段は8×8画素ブロッ
ク単位に離散コサイン変換と量子化とハフマン符号化を
行う。符号出力はメモリ4に書き込まれる。メモリ4上
には図17に示すように部分画像の座標番号(xB,y
B)のテーブルが設けられている。符号はlink部分
と符号格納部から構成される結合リスト構造のデータ構
造に格納される。このデータ構造のlink部は4バイ
トで次のノードへのポインタが格納される。末端のノー
ドのlink部には末端を示すマークとしてNULLが
格納される。符号格納部は60バイトである。1個のノ
ードの符号格納部に格納しきれない符号はlink部が
指す次のノードの符号格納部に格納される。末端のノー
ドの符号格納部には未使用部分があるかもしれない。部
分画像符号の末端には符号の終わりを示す為のEOC
(End Of Code)符号が入る。符号化手段2
3は部分画像(xB,yB)の符号の生成の際に以下の
様に動作し、符号をメモリ4に格納していく。
Photographic Expert Grou
p)のベースライン・プロセス・アルゴリズムを用い
る。このアルゴリズムは画像を8×8画素のブロックに
分割し、ブロックに離散コサイン変換を施した後に量子
化をしハフマン符号化するものである。アルゴリズムと
実施の詳細に関しては例えばCQ出版発行の月刊誌イン
ターフェースの1991年12月号160〜182ペー
ジに記載されているのでここでは説明を省略する。JP
EGはスキャンドイメージの標準的な圧縮/伸張アルゴ
リズムであり、符号化することでデータ量を平均1/1
0に削減することができる。分割手段22により行バッ
ファ24より図15に示す順に読み出された画素は符号
化手段13に入力する。符号化手段は8×8画素ブロッ
ク単位に離散コサイン変換と量子化とハフマン符号化を
行う。符号出力はメモリ4に書き込まれる。メモリ4上
には図17に示すように部分画像の座標番号(xB,y
B)のテーブルが設けられている。符号はlink部分
と符号格納部から構成される結合リスト構造のデータ構
造に格納される。このデータ構造のlink部は4バイ
トで次のノードへのポインタが格納される。末端のノー
ドのlink部には末端を示すマークとしてNULLが
格納される。符号格納部は60バイトである。1個のノ
ードの符号格納部に格納しきれない符号はlink部が
指す次のノードの符号格納部に格納される。末端のノー
ドの符号格納部には未使用部分があるかもしれない。部
分画像符号の末端には符号の終わりを示す為のEOC
(End Of Code)符号が入る。符号化手段2
3は部分画像(xB,yB)の符号の生成の際に以下の
様に動作し、符号をメモリ4に格納していく。
【0130】1) まず未使用のノードを1個取り出
し、そのアドレスを前記テーブルの場所(xB,yB)
に格納する。 2) そのノードの符号格納部に符号を順に書き込んで
いく。 3) もし符号格納部にEOC符号を書きおえたら、ノ
ードのlink部にNULLを書き込み部分画像(x
B,yB)の符号符号書き込みは終了する。 4) もしEOC符号を書きおえる前に符号格納部が一
杯になったら、新しい未使用ノードを1個とりだし、そ
のアドレスを現ノードのlink部に書き込み、以降新
しいノードについてステップ2)へ行き処理を繰り返
す。
し、そのアドレスを前記テーブルの場所(xB,yB)
に格納する。 2) そのノードの符号格納部に符号を順に書き込んで
いく。 3) もし符号格納部にEOC符号を書きおえたら、ノ
ードのlink部にNULLを書き込み部分画像(x
B,yB)の符号符号書き込みは終了する。 4) もしEOC符号を書きおえる前に符号格納部が一
杯になったら、新しい未使用ノードを1個とりだし、そ
のアドレスを現ノードのlink部に書き込み、以降新
しいノードについてステップ2)へ行き処理を繰り返
す。
【0131】このようにすることで、可変長符号を効率
よくメモリ4に格納出来、かつ、簡単に部分画像の符号
を読み出すことができる。
よくメモリ4に格納出来、かつ、簡単に部分画像の符号
を読み出すことができる。
【0132】符号化手段23は、更に、部分画像(x
B,yB)の符号化を行う際にはメモリ4に格納された
重なり情報14のテーブル(図7参照)を参照し、(x
B,yB)に対応する要素が1の時すなわち論理的に真
の時にのみ符号化を行い、0すなわち偽のときには分割
手段22から供給される画素を捨てる。この場合図8に
示されるテーブルの該当箇所には符号が無いことを意味
するNULLが書き込まれる。
B,yB)の符号化を行う際にはメモリ4に格納された
重なり情報14のテーブル(図7参照)を参照し、(x
B,yB)に対応する要素が1の時すなわち論理的に真
の時にのみ符号化を行い、0すなわち偽のときには分割
手段22から供給される画素を捨てる。この場合図8に
示されるテーブルの該当箇所には符号が無いことを意味
するNULLが書き込まれる。
【0133】復号化手段25は、走査線番号Yを参照
し、メモリ4に格納された復号順情報15の該走査線に
関連する部分画像番号(xB,yB)を読み出す。メモ
リ4に格納された部分画像の符号17のテーブル(図1
7参照)から(xB,yB)を利用して該部分画像の符
号の結合リスト構造体をアクセスする。結合リスト構造
体のノード部分の符号格納部より符号を読み、JPEG
ベースライン・アルゴリズムの復号器に符号を供給す
る。ノードのlink部がNULLならば符号格納部の
60バイトを復号器に供給した後、該部分画像の符号の
復号を終える。ノード部がNULLではないならば符号
格納部の60バイト全てを復号器に供給した後、lin
k部をたどり次のノードについて同様の処理を行う。l
ink部がNULLの場合復号器は符号格納分の60バ
イトのデコード途中でEOC符号を発見する。復号器は
EOC符号後のデータを捨てる。復号化手段25は64
×64画素の部分画像の画素を得て、メモリ28に格納
する。
し、メモリ4に格納された復号順情報15の該走査線に
関連する部分画像番号(xB,yB)を読み出す。メモ
リ4に格納された部分画像の符号17のテーブル(図1
7参照)から(xB,yB)を利用して該部分画像の符
号の結合リスト構造体をアクセスする。結合リスト構造
体のノード部分の符号格納部より符号を読み、JPEG
ベースライン・アルゴリズムの復号器に符号を供給す
る。ノードのlink部がNULLならば符号格納部の
60バイトを復号器に供給した後、該部分画像の符号の
復号を終える。ノード部がNULLではないならば符号
格納部の60バイト全てを復号器に供給した後、lin
k部をたどり次のノードについて同様の処理を行う。l
ink部がNULLの場合復号器は符号格納分の60バ
イトのデコード途中でEOC符号を発見する。復号器は
EOC符号後のデータを捨てる。復号化手段25は64
×64画素の部分画像の画素を得て、メモリ28に格納
する。
【0134】座標変換手段26の構成を図18に示す。
図18に示すように座標変換手段26は、4個の乗算器
2601,2602,2603,2604と、6個の加
算器2605,2606,2607,2608,261
3,2614と、2個のセレクタ2609,2610
と、2個のレジスタ2611,2612と、減算器26
15と、ダウンカウンタ2616と、制御回路2617
とを備えている。座標変換手段26は、逆変換すなわち
デバイス空間からソース空間への座標変換のパラメータ
(a’,b’,c’,d’,u’,v’)を入力する。
これらパラメータはインタプリタ10がアフィン変換の
パラメータより計算して座標変換手段26に供給する。
座標変換手段26は、更に、セグメントのY座標値Y、
セグメントの左端X座標値X0、右端X座標値X1を入
力する。
図18に示すように座標変換手段26は、4個の乗算器
2601,2602,2603,2604と、6個の加
算器2605,2606,2607,2608,261
3,2614と、2個のセレクタ2609,2610
と、2個のレジスタ2611,2612と、減算器26
15と、ダウンカウンタ2616と、制御回路2617
とを備えている。座標変換手段26は、逆変換すなわち
デバイス空間からソース空間への座標変換のパラメータ
(a’,b’,c’,d’,u’,v’)を入力する。
これらパラメータはインタプリタ10がアフィン変換の
パラメータより計算して座標変換手段26に供給する。
座標変換手段26は、更に、セグメントのY座標値Y、
セグメントの左端X座標値X0、右端X座標値X1を入
力する。
【0135】乗算器2601,2602と加算器260
5,2607とは図11に示す様に接続されており、こ
れらを用いて、
5,2607とは図11に示す様に接続されており、こ
れらを用いて、
【0136】
【数17】x0=a’・X0+b’・Y+u’ を求める。
【0137】また、乗算器2603,2604と加算器
2606,2608とは図18に示す様に接続されてお
り、これらを用いて、
2606,2608とは図18に示す様に接続されてお
り、これらを用いて、
【0138】
【数18】y0=c’・X0+d’・Y+v’ を求める。(x0,y0)はセグメントの左端点(X
0,Y)をソース空間上に逆変換した座標である。
0,Y)をソース空間上に逆変換した座標である。
【0139】制御回路2617は、セグメントの左端点
(X0,Y)が入力され(x0,y0)が計算された時
に、セレクタ2609と2610を制御し、x0とy0
の値をそれぞれレジスタ2611と2612にロードす
るよう制御する。レジスタ2611は座標変換後のソー
ス空間のx座標、レジスタ2612は座標変換後のソー
ス空間のy座標を保持し、それぞれの出力をアドレス変
換手段27へ出力する。デバイス空間での右方向への1
画素の移動すなわちベクトル(1,0)の移動は、ソー
ス空間ではベクトル(a’,c’)の移動に相当する。
そこで、加算器2613を用いてレジスタ2611の値
とa’とを加えることで次の画素のx座標値を、加算器
2614を用いてレジスタ2612の値と’とを加える
ことで次の画素の座標値を求めることできる。
(X0,Y)が入力され(x0,y0)が計算された時
に、セレクタ2609と2610を制御し、x0とy0
の値をそれぞれレジスタ2611と2612にロードす
るよう制御する。レジスタ2611は座標変換後のソー
ス空間のx座標、レジスタ2612は座標変換後のソー
ス空間のy座標を保持し、それぞれの出力をアドレス変
換手段27へ出力する。デバイス空間での右方向への1
画素の移動すなわちベクトル(1,0)の移動は、ソー
ス空間ではベクトル(a’,c’)の移動に相当する。
そこで、加算器2613を用いてレジスタ2611の値
とa’とを加えることで次の画素のx座標値を、加算器
2614を用いてレジスタ2612の値と’とを加える
ことで次の画素の座標値を求めることできる。
【0140】減算器2615はX1とX0を入力し、セ
グメントの両端のX座標値の差を取り、セグメント長に
関する情報X1−X0を得、ダウンカウンタ2616に
供給する。ダウンカウンタ2616は値を調べ、値が0
より大きい間カウンタの値を1づつ減らしていき、0の
場合には信号zeroに1を出力し、値を0のまま保
つ。ダウンカウンタ2616はセグメント上の画素数分
の繰り返しを制御するために用いる。信号zero=1
の時はセグメントの右端画素を処理していることを意味
し、制御回路は新たなセグメントのデータが入力される
まで処理をxとyの生成を停止するよう制御信号を生成
する。
グメントの両端のX座標値の差を取り、セグメント長に
関する情報X1−X0を得、ダウンカウンタ2616に
供給する。ダウンカウンタ2616は値を調べ、値が0
より大きい間カウンタの値を1づつ減らしていき、0の
場合には信号zeroに1を出力し、値を0のまま保
つ。ダウンカウンタ2616はセグメント上の画素数分
の繰り返しを制御するために用いる。信号zero=1
の時はセグメントの右端画素を処理していることを意味
し、制御回路は新たなセグメントのデータが入力される
まで処理をxとyの生成を停止するよう制御信号を生成
する。
【0141】座標変換手段26は、0からHD−1まで
1づつ増加する走査線番号Yを受けて、各走査線毎にメ
モリ4に格納された描画情報16から該走査線に関連す
るセグメント情報を、走査線の左端のセグメントから右
隣のセグメントへ順次読み出す。走査線上のセグメント
情報は既に説明したように結合リスト形式のデータ構造
で表現されており、左セグメントから右セグメントへポ
インタで結合している。配列devImageは走査線
番号をインデックスとしてアクセスする配列で、各要素
にはその走査線の左端のセグメントに関連するノードへ
のポインタが格納されている。走査線上のセグメントの
座標変換手段は以下の手順で動作する。
1づつ増加する走査線番号Yを受けて、各走査線毎にメ
モリ4に格納された描画情報16から該走査線に関連す
るセグメント情報を、走査線の左端のセグメントから右
隣のセグメントへ順次読み出す。走査線上のセグメント
情報は既に説明したように結合リスト形式のデータ構造
で表現されており、左セグメントから右セグメントへポ
インタで結合している。配列devImageは走査線
番号をインデックスとしてアクセスする配列で、各要素
にはその走査線の左端のセグメントに関連するノードへ
のポインタが格納されている。走査線上のセグメントの
座標変換手段は以下の手順で動作する。
【0142】1.走査線番号Yを用いてdevImag
e[Y]を読み出し左端のセグメントのノードのアドレ
スを得る。
e[Y]を読み出し左端のセグメントのノードのアドレ
スを得る。
【0143】2.該ノードのアドレスを利用し該ノード
の内容を読む。これによりノードの左端X座標X0、右
端X座標X1、ポインタpp、フラグdp、右隣のノー
ドへのポインタnextを得る。
の内容を読む。これによりノードの左端X座標X0、右
端X座標X1、ポインタpp、フラグdp、右隣のノー
ドへのポインタnextを得る。
【0144】3.フラグdpが0ならば、該ノードはラ
インアートのノードであり、ポインタppでメモリ4を
アクセスして画素の値Pを得て、データのセット(X1
−X0+1,P)を画像出力手段29に供給する。X1
−X0+1はセグメント長である。
インアートのノードであり、ポインタppでメモリ4を
アクセスして画素の値Pを得て、データのセット(X1
−X0+1,P)を画像出力手段29に供給する。X1
−X0+1はセグメント長である。
【0145】フラグdpが0でないならば、該ノードは
スキャンドイメージのノードであるので、既に説明した
手段でデバイス空間座標からソース空間座標に変換した
X1−X0+1個の座標値をアドレス変換手段27に供
給し、ポインタppの値もアドレス変換手段27に供給
する。
スキャンドイメージのノードであるので、既に説明した
手段でデバイス空間座標からソース空間座標に変換した
X1−X0+1個の座標値をアドレス変換手段27に供
給し、ポインタppの値もアドレス変換手段27に供給
する。
【0146】4. ポインタnextを調べる。NUL
Lならば右側にセグメントは無いので処理を終了する。
NULLでないならばnetxtの値を新たなノードの
アドレスとし、上記処理ステップ2へ行く。
Lならば右側にセグメントは無いので処理を終了する。
NULLでないならばnetxtの値を新たなノードの
アドレスとし、上記処理ステップ2へ行く。
【0147】1本の走査線上のセグメントの座標変換が
終わったら、座標変換手段26は走査線信号Yにより次
の走査線に関するセグメントの座標変換を指示されるの
を待つ。
終わったら、座標変換手段26は走査線信号Yにより次
の走査線に関するセグメントの座標変換を指示されるの
を待つ。
【0148】メモリ28にはデバイス画像の出力中の走
査線と重なり合う部分画像が格納される。図19に示す
ようにメモリ28には更に部分画像の座標(xB,y
B)と部分画像が格納されているアドレスを結び付ける
アドレス変換テーブル280が格納されている。アドレ
ス変換テーブル280はxBとyBを用いてアクセスす
るテーブルで、そこにはメモリ28に格納されている部
分画像(xB,yB)のアドレスが格納されている。ア
ドレス変換手段27は、座標変換手段26より、デバイ
ス空間の画素毎にポインタppの値と座標変換後のソー
ス空間での座標値(x,y)とを入力する。画素の座標
(x,y)から該画素が属する部分画像(xB,yB)
を決定するのは容易である。x,yをそれぞれ64で割
って商をxB,yBとすればよい。部分画像内の画素の
座標位置(xoffset,yoffset)はx,y
をそれぞれ64で割ったときの余りをxoffset,
yoffsetとする。具体的には、xの下位6bit
をxoffsetとし、残りの上位bitをxBとす
る。同様にyの下位6bitをyoffsetとし、残
りの上位bitをyBとする。
査線と重なり合う部分画像が格納される。図19に示す
ようにメモリ28には更に部分画像の座標(xB,y
B)と部分画像が格納されているアドレスを結び付ける
アドレス変換テーブル280が格納されている。アドレ
ス変換テーブル280はxBとyBを用いてアクセスす
るテーブルで、そこにはメモリ28に格納されている部
分画像(xB,yB)のアドレスが格納されている。ア
ドレス変換手段27は、座標変換手段26より、デバイ
ス空間の画素毎にポインタppの値と座標変換後のソー
ス空間での座標値(x,y)とを入力する。画素の座標
(x,y)から該画素が属する部分画像(xB,yB)
を決定するのは容易である。x,yをそれぞれ64で割
って商をxB,yBとすればよい。部分画像内の画素の
座標位置(xoffset,yoffset)はx,y
をそれぞれ64で割ったときの余りをxoffset,
yoffsetとする。具体的には、xの下位6bit
をxoffsetとし、残りの上位bitをxBとす
る。同様にyの下位6bitをyoffsetとし、残
りの上位bitをyBとする。
【0149】描画情報生成手段11はスキャンドイメー
ジのセグメントのノードのポインタppにアドレス変換
テーブル280のアドレスを格納するよう動作する。従
ってアドレス変換手段27は座標変換手段により渡され
たポインタppを用いてメモリ28内のアドレス変換テ
ーブルの場所を知る。(x,y)より得た(xB,y
B)を用いてアドレス変換テーブルの該エントリを読み
出し、メモリ28にある該部分画像のベースアドレスを
得る。ベースアドレスと(xoffset,yoffs
et)を用いて該画素のアドレスを決定し、メモリ28
の該アドレスを読み出す。読み出された画素は画像出力
手段29に送られる。
ジのセグメントのノードのポインタppにアドレス変換
テーブル280のアドレスを格納するよう動作する。従
ってアドレス変換手段27は座標変換手段により渡され
たポインタppを用いてメモリ28内のアドレス変換テ
ーブルの場所を知る。(x,y)より得た(xB,y
B)を用いてアドレス変換テーブルの該エントリを読み
出し、メモリ28にある該部分画像のベースアドレスを
得る。ベースアドレスと(xoffset,yoffs
et)を用いて該画素のアドレスを決定し、メモリ28
の該アドレスを読み出す。読み出された画素は画像出力
手段29に送られる。
【0150】図19は、走査線Y上のスキャンドイメー
ジのセグメントが部分画像(0,2),(1,2),
(1,1),(2,1),(2,0)を通る時のメモリ
28の内容を模式的に示している。
ジのセグメントが部分画像(0,2),(1,2),
(1,1),(2,1),(2,0)を通る時のメモリ
28の内容を模式的に示している。
【0151】画像出力手段29は、セグメントがスキャ
ンドイメージに由来する場合、アドレス変換手段28に
よってメモリ28から読み出された画素をそのまま出力
する。セグメントがラインアートに由来する場合、画像
変換手段26から得た画素情報Pとセグメントの長さL
を用いて、画素値PをL回出力する。画像出力手段29
からはデバイス画像の画素がラスタスキャン順に出力さ
れ、出力画素はIOTに送られ、紙やCRT上に画像を
形成する。
ンドイメージに由来する場合、アドレス変換手段28に
よってメモリ28から読み出された画素をそのまま出力
する。セグメントがラインアートに由来する場合、画像
変換手段26から得た画素情報Pとセグメントの長さL
を用いて、画素値PをL回出力する。画像出力手段29
からはデバイス画像の画素がラスタスキャン順に出力さ
れ、出力画素はIOTに送られ、紙やCRT上に画像を
形成する。
【0152】ここで改めて縮小手段21の用途を説明す
る。図21のaに示すようなソース画像を仮定する。説
明のためにこのソース画像は8×8画素のサイズとす
る。このソース画像を−45°の回転とx,y両方向と
も1/(2√2)の縮小を行いデバイス画像に描画する
ものとする。その際のデバイス空間での走査線を逆変換
した直線が図21aの斜めの直線である。直線上の黒点
はデバイス空間の画素の位置、すなわち、逆サンプリン
グの際にデバイス画像のセグメントを逆変換しソース画
像の画素をサンプリングする場所である。この例のよう
に縮小率が1/2よりも大きい場合、ソース画像上の飛
び飛びの位置の画素のみが読み出される。図21aの例
では、ソース画像には合計64画素あるが、サンプリン
グされてデバイス画像の形成に寄与する画素は8画素の
みである。全画素の7/8は無駄である。これら無駄な
画素を沢山含む部分画像を行バッファ24から読み出し
符号化手段23で符号化し符号をメモリ4に格納する
と、行バッファ24からの読み出し時間が余分にかか
り、符号化手段23での処理時間が長くなり、符号サイ
ズも大きくなるのでメモリ4への書き込み時間も長くな
り、部分画像の符号17格納の為の領域も多く必要であ
る。また、メモリ4からの符号の読み出し時間も長くな
り、復号化手段25での処理時間も長くなる。また、走
査線上のスキャンドイメージのセグメントはより多くの
部分画像と重なる為、メモリ28にはより多くの部分画
像を格納せねばならず、メモリ28のサイズを大きくせ
ねばならない。すなわち、メモリサイズが大きくなりコ
ストが増大するという問題と処理時間が長くなるという
問題が発生する。この問題はアフィン変換の縮小率が大
きいほど深刻になる。
る。図21のaに示すようなソース画像を仮定する。説
明のためにこのソース画像は8×8画素のサイズとす
る。このソース画像を−45°の回転とx,y両方向と
も1/(2√2)の縮小を行いデバイス画像に描画する
ものとする。その際のデバイス空間での走査線を逆変換
した直線が図21aの斜めの直線である。直線上の黒点
はデバイス空間の画素の位置、すなわち、逆サンプリン
グの際にデバイス画像のセグメントを逆変換しソース画
像の画素をサンプリングする場所である。この例のよう
に縮小率が1/2よりも大きい場合、ソース画像上の飛
び飛びの位置の画素のみが読み出される。図21aの例
では、ソース画像には合計64画素あるが、サンプリン
グされてデバイス画像の形成に寄与する画素は8画素の
みである。全画素の7/8は無駄である。これら無駄な
画素を沢山含む部分画像を行バッファ24から読み出し
符号化手段23で符号化し符号をメモリ4に格納する
と、行バッファ24からの読み出し時間が余分にかか
り、符号化手段23での処理時間が長くなり、符号サイ
ズも大きくなるのでメモリ4への書き込み時間も長くな
り、部分画像の符号17格納の為の領域も多く必要であ
る。また、メモリ4からの符号の読み出し時間も長くな
り、復号化手段25での処理時間も長くなる。また、走
査線上のスキャンドイメージのセグメントはより多くの
部分画像と重なる為、メモリ28にはより多くの部分画
像を格納せねばならず、メモリ28のサイズを大きくせ
ねばならない。すなわち、メモリサイズが大きくなりコ
ストが増大するという問題と処理時間が長くなるという
問題が発生する。この問題はアフィン変換の縮小率が大
きいほど深刻になる。
【0153】縮小手段21は、アフィン変換の縮小率が
大きい場合に用いる。図21bは縮小手段21にnx=
2,ny=2を設定し図21aのソース画像をx方向に
1/2、y方向に1/2に縮小して得た縮小後のソース
が像である。縮小手段21で縮小を行った場合、インタ
プリタ10と描画情報生成手段11は縮小手段21での
縮小を考慮し、縮小後のソース画像をあたかもソース画
像と見なして描画情報16等を作成し、座標変換手段2
6に供給する逆変換パラメータ(a’,b’,c’,
d’,u’,v’)を決定する。図21bの縮小画像で
は合計16個の画素の内8個の画素がデバイス画像の描
画に寄与する。このため、ソース画像の縮小を行わない
場合に比べ、処理時間は短縮し、符号と部分画像を格納
するためのメモリ領域も小さくすることができる。
大きい場合に用いる。図21bは縮小手段21にnx=
2,ny=2を設定し図21aのソース画像をx方向に
1/2、y方向に1/2に縮小して得た縮小後のソース
が像である。縮小手段21で縮小を行った場合、インタ
プリタ10と描画情報生成手段11は縮小手段21での
縮小を考慮し、縮小後のソース画像をあたかもソース画
像と見なして描画情報16等を作成し、座標変換手段2
6に供給する逆変換パラメータ(a’,b’,c’,
d’,u’,v’)を決定する。図21bの縮小画像で
は合計16個の画素の内8個の画素がデバイス画像の描
画に寄与する。このため、ソース画像の縮小を行わない
場合に比べ、処理時間は短縮し、符号と部分画像を格納
するためのメモリ領域も小さくすることができる。
【0154】[実施例2]第2の実施例のブロック図を
図20に示す。本実施例はIIT(画像入力装置)で入
力したラスタ画像を0°もしくは90°回転し、拡大/
縮小してIOTに出力する為の装置(複写機)に実施し
たものである。本実施例は第1の実施例と似ているが、
入力画像は直接画像入力手段20に供給される。また、
メモリ4には描画情報生成手段11と符号順決定手段1
3のためのプログラムが格納されている。CPUが前者
のプログラムを実行すると、描画情報16がメモリ4に
格納される。CPU1が後者プログラムを実行すると、
復号順情報15が作成され、メモリ4に格納される。
図20に示す。本実施例はIIT(画像入力装置)で入
力したラスタ画像を0°もしくは90°回転し、拡大/
縮小してIOTに出力する為の装置(複写機)に実施し
たものである。本実施例は第1の実施例と似ているが、
入力画像は直接画像入力手段20に供給される。また、
メモリ4には描画情報生成手段11と符号順決定手段1
3のためのプログラムが格納されている。CPUが前者
のプログラムを実行すると、描画情報16がメモリ4に
格納される。CPU1が後者プログラムを実行すると、
復号順情報15が作成され、メモリ4に格納される。
【0155】拡大/縮小率と回転角は複写機のパネルの
ボタンによって指定される。これら情報はI/O手段2
を通じて入力しする。
ボタンによって指定される。これら情報はI/O手段2
を通じて入力しする。
【0156】描画情報生成手段11は拡大/縮小率と回
転角をもとに出力画像の形状を計算し、セグメント情報
を作成し描画情報16としてメモリ4に格納する。第2
の実施例では、デバイス画像には、上下左右のマージン
部分の白い領域とデバイス画像中央部に位置する入力し
たスキャンドイメージとが描画される。上マージンと下
マージン部分のの各走査線には幅がWDの白セグメント
が1個のみ存在する。それ以外の部分の各走査線には、
3個のセグメントが存在し、左端セグメントは左マージ
ンの幅を持った白セグメント、真ん中のセグメントは入
力画像として入力したスキャンドイメージのセグメン
ト、右端セグメントは右マージンの幅を持った白セグメ
ントである。描画情報生成手段11は、更に、拡大/縮
小率と回転角とから縮小手段の縮小率nxとnyと逆変
換パラメータ(a’,b’,c’,d’,u’,v’)
を計算し、nxとnyを縮小手段21に設定し、逆変換
パラメータを座標変換手段26に設定する。
転角をもとに出力画像の形状を計算し、セグメント情報
を作成し描画情報16としてメモリ4に格納する。第2
の実施例では、デバイス画像には、上下左右のマージン
部分の白い領域とデバイス画像中央部に位置する入力し
たスキャンドイメージとが描画される。上マージンと下
マージン部分のの各走査線には幅がWDの白セグメント
が1個のみ存在する。それ以外の部分の各走査線には、
3個のセグメントが存在し、左端セグメントは左マージ
ンの幅を持った白セグメント、真ん中のセグメントは入
力画像として入力したスキャンドイメージのセグメン
ト、右端セグメントは右マージンの幅を持った白セグメ
ントである。描画情報生成手段11は、更に、拡大/縮
小率と回転角とから縮小手段の縮小率nxとnyと逆変
換パラメータ(a’,b’,c’,d’,u’,v’)
を計算し、nxとnyを縮小手段21に設定し、逆変換
パラメータを座標変換手段26に設定する。
【0157】復号順決定手段13は回転角をもとに復号
順を決定する。0°の回転の場合、まずBx個の部分画
像(n,0)(n=0からBx−1まで)を復号し、そ
の後順次各64ライン間にBx個の部分画像(n,1)
(n=0からBx−1まで)、部分画像(n,2)(n
=0からBx−1まで)、部分画像(n,3)(n=0
からBx−1まで)、を復号し、最後に部分画像(n,
By−1)(n=0からBx−1まで)を復号するの
で、以上の順番と走査線番号とを復号順情報15として
メモリ手段4に格納する。90°の回転の場合、まずB
y個の部分画像(Bx−1,n)(n=0からBy−1
まで)を復号し、その後順次各64ライン間にBy個の
部分画像(Bx−2,n)(n=0からBy−1ま
で)、部分画像(Bx−3,n)(n=0からBy−1
まで)、部分画像(Bx−4,n)(n=0からBy−
1まで)、を復号し、最後に部分画像(0,n)(n=
0からBy−1まで)を復号するので、以上の順番と走
査線番号とを復号順情報15としてメモリ手段4に格納
する。
順を決定する。0°の回転の場合、まずBx個の部分画
像(n,0)(n=0からBx−1まで)を復号し、そ
の後順次各64ライン間にBx個の部分画像(n,1)
(n=0からBx−1まで)、部分画像(n,2)(n
=0からBx−1まで)、部分画像(n,3)(n=0
からBx−1まで)、を復号し、最後に部分画像(n,
By−1)(n=0からBx−1まで)を復号するの
で、以上の順番と走査線番号とを復号順情報15として
メモリ手段4に格納する。90°の回転の場合、まずB
y個の部分画像(Bx−1,n)(n=0からBy−1
まで)を復号し、その後順次各64ライン間にBy個の
部分画像(Bx−2,n)(n=0からBy−1ま
で)、部分画像(Bx−3,n)(n=0からBy−1
まで)、部分画像(Bx−4,n)(n=0からBy−
1まで)、を復号し、最後に部分画像(0,n)(n=
0からBy−1まで)を復号するので、以上の順番と走
査線番号とを復号順情報15としてメモリ手段4に格納
する。
【0158】IITにて原稿をスキャンして作ったラス
タデータは入力画像として画像入力手段20に供給され
る。画像入力手段20は入力した画像データを縮小手段
21に供給する。縮小手段21と行バッファ24と分割
手段22は第1の実施例で説明したのと同様に作用し、
部分画像を切り出し画素を符号化手段23に順次供給す
る。
タデータは入力画像として画像入力手段20に供給され
る。画像入力手段20は入力した画像データを縮小手段
21に供給する。縮小手段21と行バッファ24と分割
手段22は第1の実施例で説明したのと同様に作用し、
部分画像を切り出し画素を符号化手段23に順次供給す
る。
【0159】符号化手段23は部分画像を無条件に符号
化し部分画像の符号17をメモリ4に格納する。複写機
では入力したスキャンドイメージの全てを出力すること
が殆どなので、選択的に部分画像の符号化を行っても符
号化を省略できる部分画像はほとんど無い。そこで、第
2の実施例の符号化手段23では選択的な符号化を行わ
ない。符号化アルゴリズムおよび符号のメモリ4への書
き込み方は第1の実施例で説明したのと同じである。
化し部分画像の符号17をメモリ4に格納する。複写機
では入力したスキャンドイメージの全てを出力すること
が殆どなので、選択的に部分画像の符号化を行っても符
号化を省略できる部分画像はほとんど無い。そこで、第
2の実施例の符号化手段23では選択的な符号化を行わ
ない。符号化アルゴリズムおよび符号のメモリ4への書
き込み方は第1の実施例で説明したのと同じである。
【0160】復号手段25、座標変換手段26、アドレ
ス変換手段27、メモリ28、画像出力手段29は第1
の実施例と同じ構成を持ち、これらは第1の実施例と同
様に動作する。すなわち、復号順情報15を読み、デバ
イス画像の出力用走査線番号Yに同期して部分画像の符
号を復号しメモリ28に格納する。同時に走査線番号Y
の走査線上のセグメントの情報を描画情報16より読み
出し、座標変換手段27でセグメントをソース空間での
画素座標に変換し、アドレス変換手段27で画素座標を
メモリ28のアドレスに変換し、そのアドレスを用いて
メモリ28に格納されている部分画像の画素を読み出し
画像出力手段29に供給し、出力画像としてIOTに出
力する。
ス変換手段27、メモリ28、画像出力手段29は第1
の実施例と同じ構成を持ち、これらは第1の実施例と同
様に動作する。すなわち、復号順情報15を読み、デバ
イス画像の出力用走査線番号Yに同期して部分画像の符
号を復号しメモリ28に格納する。同時に走査線番号Y
の走査線上のセグメントの情報を描画情報16より読み
出し、座標変換手段27でセグメントをソース空間での
画素座標に変換し、アドレス変換手段27で画素座標を
メモリ28のアドレスに変換し、そのアドレスを用いて
メモリ28に格納されている部分画像の画素を読み出し
画像出力手段29に供給し、出力画像としてIOTに出
力する。
【0161】[実施例3]第3の実施例では、図23に
示すようにメモリ28にソース画像毎にアドレス変換テ
ーブルを設ける。図24の走査線Y1上のセグメントは
図25に例示するような形で描画情報としてメモリ4に
格納されている。
示すようにメモリ28にソース画像毎にアドレス変換テ
ーブルを設ける。図24の走査線Y1上のセグメントは
図25に例示するような形で描画情報としてメモリ4に
格納されている。
【0162】第3の実施例の座標変換手段26のブロッ
ク図を図26に示す。新たにCAM(Content
Address Memory)手段2618が設けら
れている。CAM手段2618の入力には描画情報16
から読み出したセグメントのノードのppの値(アドレ
ス変換テーブルのアドレス)が入力し、CAM手段26
18の出力から逆変換パラメータ(a’,b’,c’,
d’,u’,v’)が供給されるよう構成されている。
CAM手段のエントリのタグ部にはソース画像に対応す
るアドレス変換テーブルのアドレスが格納され、データ
部には逆変換パラメータが格納されている。CAM手段
は入力されたppの値と各エントリのタグ部との一致を
調べ、一致したエントリのデータ部を出力する。
ク図を図26に示す。新たにCAM(Content
Address Memory)手段2618が設けら
れている。CAM手段2618の入力には描画情報16
から読み出したセグメントのノードのppの値(アドレ
ス変換テーブルのアドレス)が入力し、CAM手段26
18の出力から逆変換パラメータ(a’,b’,c’,
d’,u’,v’)が供給されるよう構成されている。
CAM手段のエントリのタグ部にはソース画像に対応す
るアドレス変換テーブルのアドレスが格納され、データ
部には逆変換パラメータが格納されている。CAM手段
は入力されたppの値と各エントリのタグ部との一致を
調べ、一致したエントリのデータ部を出力する。
【0163】インタプリタ10と描画情報生手段とは、
ソース画像ごとのアドレス変換テーブルのアドレスと逆
変換パラメータとを座標変換手段26のCAM手段に格
納する。
ソース画像ごとのアドレス変換テーブルのアドレスと逆
変換パラメータとを座標変換手段26のCAM手段に格
納する。
【0164】座標変換手段26はセグメントのノードを
読み出し、ppの値でCAM手段を読み出し逆変換パラ
メータを得る。ソース画像毎にアドレス変換テーブルが
存在するので、ppの値はソース画像毎にユニークな値
となる。従って、ソース画像毎に逆変換パラメータを得
ることが出来、座標変換手段26はソース画像毎に異な
る逆変換を実施出来る。逆変換で得たソース座標値とp
pの値はアドレス変換手段27に渡される。
読み出し、ppの値でCAM手段を読み出し逆変換パラ
メータを得る。ソース画像毎にアドレス変換テーブルが
存在するので、ppの値はソース画像毎にユニークな値
となる。従って、ソース画像毎に逆変換パラメータを得
ることが出来、座標変換手段26はソース画像毎に異な
る逆変換を実施出来る。逆変換で得たソース座標値とp
pの値はアドレス変換手段27に渡される。
【0165】アドレス変換手段27は、ppの値を用い
てソース画像毎にユニークなアドレス変換テーブルを用
いてメモリ28での画素のアドレスをえる。画素のアド
レスの作り方は第1の実施例で説明したので省略する。
てソース画像毎にユニークなアドレス変換テーブルを用
いてメモリ28での画素のアドレスをえる。画素のアド
レスの作り方は第1の実施例で説明したので省略する。
【0166】[他の実施形態]以上説明した実施例では
行バッファ24とメモリ4とメモリ28とを備えている
が、本発明ではこれらは物理的に分離したメモリ手段で
ある必要はなく、1個あるいは2個のメモリ手段を共有
していてもよい。
行バッファ24とメモリ4とメモリ28とを備えている
が、本発明ではこれらは物理的に分離したメモリ手段で
ある必要はなく、1個あるいは2個のメモリ手段を共有
していてもよい。
【0167】以上説明した実施例では、縮小手段は整数
単位縮小しかできないが、本発明はこれに限定されるも
のではなく、任意の割合の縮小を行うように縮小手段を
構成してもよい。また、その際に隣接画素を用いた補間
を行うように縮小手段と行バッファと分割手段を構成す
ることもできる。このように構成すると縮小に伴う画質
劣化(例えばジャギーやモアレ)を減らすことができ
る。
単位縮小しかできないが、本発明はこれに限定されるも
のではなく、任意の割合の縮小を行うように縮小手段を
構成してもよい。また、その際に隣接画素を用いた補間
を行うように縮小手段と行バッファと分割手段を構成す
ることもできる。このように構成すると縮小に伴う画質
劣化(例えばジャギーやモアレ)を減らすことができ
る。
【0168】以上説明した実施例では、アドレス変換手
段は逆変換で得たソース空間の座標値の直近の画素をメ
モリ28より読み出し画像出力手段に供給するよう構成
されているが、本発明はこれに限定されるものではな
く、ソース空間の座標値に隣接する画素を補完して画素
値を得るように構成してもよい。このように構成すると
アフィン変換に伴う画質劣化(例えばジャギー)を減ら
すことができる。
段は逆変換で得たソース空間の座標値の直近の画素をメ
モリ28より読み出し画像出力手段に供給するよう構成
されているが、本発明はこれに限定されるものではな
く、ソース空間の座標値に隣接する画素を補完して画素
値を得るように構成してもよい。このように構成すると
アフィン変換に伴う画質劣化(例えばジャギー)を減ら
すことができる。
【0169】以上説明した実施例では、描画情報16は
デバイス画像の走査線のセグメントとして描画情報を保
持し座標変換手段26は線分の座標変換を行うよう構成
されているが、本発明はこれに限定されるものではな
く、例えば、走査線に並行な台形、長方形、三角形を描
画情報の保持に用いてもよい。
デバイス画像の走査線のセグメントとして描画情報を保
持し座標変換手段26は線分の座標変換を行うよう構成
されているが、本発明はこれに限定されるものではな
く、例えば、走査線に並行な台形、長方形、三角形を描
画情報の保持に用いてもよい。
【0170】以上説明した実施例では、部分画像をサイ
ズ64×64画素の正方形としたが、本発明はこれに限
定されるものではなく、正方形を長方形としてもよく、
またサイズを変えてもよい。部分画像のサイズを2のべ
き乗とすると、ソース空間の座標値からの部分画像の番
号と部分画像内の画素位置の計算が容易になるの。部分
画像のサイズを大きくすると、各種テーブルのサイズを
小さく出来るが、メモリ28にて部分画像を保持するた
めのエリアが大きくなる。一方、部分画像のサイズを小
さくすると、各種テーブルのサイズは大きくなるが、メ
モリ28にて部分画像を保持するためのエリアは小さく
なる。600SPIのA4〜A3サイズの画像を扱う場
合には64×64画素の部分画像がコストと性能の点で
好ましい。
ズ64×64画素の正方形としたが、本発明はこれに限
定されるものではなく、正方形を長方形としてもよく、
またサイズを変えてもよい。部分画像のサイズを2のべ
き乗とすると、ソース空間の座標値からの部分画像の番
号と部分画像内の画素位置の計算が容易になるの。部分
画像のサイズを大きくすると、各種テーブルのサイズを
小さく出来るが、メモリ28にて部分画像を保持するた
めのエリアが大きくなる。一方、部分画像のサイズを小
さくすると、各種テーブルのサイズは大きくなるが、メ
モリ28にて部分画像を保持するためのエリアは小さく
なる。600SPIのA4〜A3サイズの画像を扱う場
合には64×64画素の部分画像がコストと性能の点で
好ましい。
【0171】
【発明の効果】上述したように、この発明によれば、ス
キャンドイメージの回転、拡大縮小、あるいはより一般
的なアフィン変換処理や、スキャンドイメージの任意の
外形形状によるクリッピング処理や、スキャンドイメー
ジの上にラインアートを重ね書きする処理等において、
ソース画像入力時に、ソース画像を必要に応じて縮小し
たうえでソース画像を部分画像に分割し、デバイス画像
の描画に寄与する部分画像のみを符号化することでデー
タ量を縮小して保持し、デバイス画像のラスタスキャン
の際に逆サンプリングを用いて部分画像を参照する順を
決定しておき、ラスタスキャンと同期を取りつつ前記順
に従って部分画像の符号を復号することで、画像のラス
タスキャンの際に必要な部分画像のみを画像として保持
し、それらに対して逆サンプリングを行うことで、アフ
ィン変換とスキャンドイメージの輪郭内部の画素の出力
を行う。こうすることで、スキャンドイメージの処理に
必要なメモリを大幅に削減することができ低価格な処理
装置をうることができる。また、符号化によりスキャン
ドイメージのデータ量を減らすことで転送時間を減らす
ことができるので、前記画像処理を高速に実行できる。
また、部分画像は1回符号化され1回復号されるだけな
ので、非可逆圧縮アルゴリズムを用いても画像の劣化を
最小限に押さえることができる。
キャンドイメージの回転、拡大縮小、あるいはより一般
的なアフィン変換処理や、スキャンドイメージの任意の
外形形状によるクリッピング処理や、スキャンドイメー
ジの上にラインアートを重ね書きする処理等において、
ソース画像入力時に、ソース画像を必要に応じて縮小し
たうえでソース画像を部分画像に分割し、デバイス画像
の描画に寄与する部分画像のみを符号化することでデー
タ量を縮小して保持し、デバイス画像のラスタスキャン
の際に逆サンプリングを用いて部分画像を参照する順を
決定しておき、ラスタスキャンと同期を取りつつ前記順
に従って部分画像の符号を復号することで、画像のラス
タスキャンの際に必要な部分画像のみを画像として保持
し、それらに対して逆サンプリングを行うことで、アフ
ィン変換とスキャンドイメージの輪郭内部の画素の出力
を行う。こうすることで、スキャンドイメージの処理に
必要なメモリを大幅に削減することができ低価格な処理
装置をうることができる。また、符号化によりスキャン
ドイメージのデータ量を減らすことで転送時間を減らす
ことができるので、前記画像処理を高速に実行できる。
また、部分画像は1回符号化され1回復号されるだけな
ので、非可逆圧縮アルゴリズムを用いても画像の劣化を
最小限に押さえることができる。
【0172】復号手段25の部分画像の復号タイミング
と、座標変換手段26とアドレス変換手段27の走査線
に関するタイミングとの同期を取ることで、座標変換手
段26とアドレス変換手段27が部分画像を必要とする
直前に復号手段25で復号しメモリ28に格納できるた
め、メモリ28の部分画像の格納の為に必要なエリアの
サイズを最小限にすることができ、装置のコストを下げ
ることが出来る。復号手段25と座標変換手段26およ
びアドレス変換手段27とは同時に動作可能なように構
成されているて、更に、出力走査時に走査線をスキャン
するときには部分画像が復元されてメモリ28に格納さ
れているので、座標変換手段26とアドレス変換手段2
7は直ちにメモリ28を読むことが可能となり、処理を
高速化することができる。
と、座標変換手段26とアドレス変換手段27の走査線
に関するタイミングとの同期を取ることで、座標変換手
段26とアドレス変換手段27が部分画像を必要とする
直前に復号手段25で復号しメモリ28に格納できるた
め、メモリ28の部分画像の格納の為に必要なエリアの
サイズを最小限にすることができ、装置のコストを下げ
ることが出来る。復号手段25と座標変換手段26およ
びアドレス変換手段27とは同時に動作可能なように構
成されているて、更に、出力走査時に走査線をスキャン
するときには部分画像が復元されてメモリ28に格納さ
れているので、座標変換手段26とアドレス変換手段2
7は直ちにメモリ28を読むことが可能となり、処理を
高速化することができる。
【0173】縮小手段21を用いてあらかじめソース画
像を縮小した上で部分画像を作ることができるので、部
分画像画像の数を減らすことが出来る。これにより、メ
モリ4に格納する部分画像の符号の総量を減らすことが
可能となる。また、メモリ28に格納すべき部分画像数
を減らすことが出来るのでメモリ28の部分画像の格納
の為に必要なエリアのサイズを最小限にすることができ
る。これらメモリサイズの減少により、装置のコストを
下げることが出来る。また、部分画像のデータの総量も
減るため、データ転送時間が減り、処理を高速化するこ
とができる。
像を縮小した上で部分画像を作ることができるので、部
分画像画像の数を減らすことが出来る。これにより、メ
モリ4に格納する部分画像の符号の総量を減らすことが
可能となる。また、メモリ28に格納すべき部分画像数
を減らすことが出来るのでメモリ28の部分画像の格納
の為に必要なエリアのサイズを最小限にすることができ
る。これらメモリサイズの減少により、装置のコストを
下げることが出来る。また、部分画像のデータの総量も
減るため、データ転送時間が減り、処理を高速化するこ
とができる。
【0174】メモリ28にソース画像毎にアドレス変換
テーブルを格納し、描画情報16におけるスキャンドイ
メージのセグメントにはのアドレス変換テーブルへのポ
インタには該セグメントに関連するアドレス変換テーブ
ルへのポインタを格納するようにした。アドレス変換手
段27は、ソース画像毎にアドレス変換を行うことがで
きる。これにより、デバイス画像に任意の数のソース画
像を同時に描画する場合においても、メモリの使用量を
減らしてコストを削減でき、処理を高速化でき、像の劣
化を最小限に押さえることができる。
テーブルを格納し、描画情報16におけるスキャンドイ
メージのセグメントにはのアドレス変換テーブルへのポ
インタには該セグメントに関連するアドレス変換テーブ
ルへのポインタを格納するようにした。アドレス変換手
段27は、ソース画像毎にアドレス変換を行うことがで
きる。これにより、デバイス画像に任意の数のソース画
像を同時に描画する場合においても、メモリの使用量を
減らしてコストを削減でき、処理を高速化でき、像の劣
化を最小限に押さえることができる。
【図1】 本発明の実施例1の処理のステップを示すフ
ローチャートを示す図である。
ローチャートを示す図である。
【図2】 本発明の実施例1のブロック図を示す図であ
る。
る。
【図3】 デバイス画像の例を示す図である。
【図4】 図2における走査線Y1の描画情報の内部表
現を示す図である。
現を示す図である。
【図5】 ソース画像の例を示す図である。
【図6】 デバイス空間上でのソース画像とデバイス画
像の関係を示す図である。
像の関係を示す図である。
【図7】 重なり情報の表現形式を示す図である。
【図8】 部分画像と輪郭形状の重なりを示す図であ
る。
る。
【図9】 重なり情報の例を示す図である。
【図10】 復号の順番を説明する図である。
【図11】 復号順情報の例を示す図である。
【図12】 縮小手段と分割手段と行バッファの構成を
示すブロック図を示す図である。
示すブロック図を示す図である。
【図13】 縮小手段と分割手段と行バッファの動作を
示すタイミング図である。
示すタイミング図である。
【図14】 行バッファ内のアドレスと使い方を示す図
である。
である。
【図15】 画素の読み出し順序を示す図である。
【図16】 部分画像の切り出し順序を示す図である。
【図17】 部分画像の符号のメモリ内での格納を示す
図である。
図である。
【図18】 座標変換手段のブロック図である。
【図19】 アドレス変換テーブルと部分画像の関係を
示す図である。
示す図である。
【図20】 本発明の第2の実施例のブロック図であ
る。
る。
【図21】 縮小手段の作用の説明図である。
【図22】 アフィン変換と逆変換の説明図である。
【図23】 第3の実施例でのアドレス変換テーブルと
部分画像の関係を示す図である。
部分画像の関係を示す図である。
【図24】 デバイス画像の例を示す図である。
【図25】 図23における走査線Y1の描画情報の内
部表現を示す図である。
部表現を示す図である。
【図26】 第3の実施例での座標変換手段の実施例を
示す図である。
示す図である。
1 CPU、2 I/O手段、3 バス、4 メモリ、
10 インタープリタ、11 描画情報生成手段、12
重なり検出手段、13 復号順決定手段、14 重な
り情報、15 復号順情報、16 描画情報、17 分
割画像の符号、20 画像入力手段、21 縮小手段、
22 分割手段、23 符号化手段、24 行バッフ
ァ、25 復号手段、26 座標変換手段、27 アド
レス変換手段、28 メモリ、29 画像出力手段、2
601,2602,2603,2604 乗算器、26
05,2604,2607,2608,2613,26
14 加算器、2609,2610 セレクタ、261
1,2612 レジスタ、2615 減算器、2616
ダウンカウンタ、2617 制御回路
10 インタープリタ、11 描画情報生成手段、12
重なり検出手段、13 復号順決定手段、14 重な
り情報、15 復号順情報、16 描画情報、17 分
割画像の符号、20 画像入力手段、21 縮小手段、
22 分割手段、23 符号化手段、24 行バッフ
ァ、25 復号手段、26 座標変換手段、27 アド
レス変換手段、28 メモリ、29 画像出力手段、2
601,2602,2603,2604 乗算器、26
05,2604,2607,2608,2613,26
14 加算器、2609,2610 セレクタ、261
1,2612 レジスタ、2615 減算器、2616
ダウンカウンタ、2617 制御回路
Claims (13)
- 【請求項1】 ラスタ画像生成装置におけるラスタ画像
生成方法であり、 ラスタ画像を複数の部分画像に分割する画像分割ステッ
プと、 前記画像分割ステップにおいて得られた部分画像を符号
化し該部分画像の符号を得る符号化ステップと、 前記符号化ステップにおいて得られた部分画像の符号の
復号順を決定する復号順決定ステップと、 前記復号順決定ステップにおいて決定された順番に従っ
て、前記部分画像の符号を復号し、前記部分画像をメモ
リ手段に格納する復号ステップと、 第1の座標空間で表現された幾何情報を第2の座標空間
に変換する座標空間変換ステップと、 前記第2の座標空間での幾何位置に対応する前記メモリ
手段上のアドレスを生成するアドレス生成ステップと、 前記アドレス生成ステップにおいて生成されたアドレス
を用いてメモリ手段を読み出すステップとを有すること
を特徴とするラスタ画像生成方法。 - 【請求項2】 前記第1の座標空間はデバイス空間であ
り、前記第2の座標空間はソース空間であって、 前記座標空間変換ステップは、デバイス空間上でのスキ
ャンドイメージの描画幾何形状を形成するラスタスキャ
ン情報をソース空間へ逆変換し、ソース空間での幾何情
報すなわちラスタスキャン情報を得るステップであり、 前記アドレス生成ステップは、前記座標空間変換ステッ
プにおいて得たソース空間上でのラスタスキャン情報を
用いてデバイス空間のスキャンドイメージの画素に対応
する前記メモリ手段上の部分画像の画素のアドレス情報
を生成するステップであり、 該アドレス情報を用いて順に前記メモリ手段から画素を
読み出してデバイス空間でのスキャンドイメージの画素
を順に獲得する構成を有することを特徴とする請求項1
に記載のラスタ画像生成方法。 - 【請求項3】 前記ラスタ画像生成方法は、さらに、 前記画像分割ステップにおいて得られた部分画像と、前
記ラスタ画像生成装置に入力される描画情報から得られ
る幾何形状との重なり合いを調べる重なり検出ステップ
と、 前記重なり検出ステップでの重なり検出結果に応じて、
デバイス画像の描画に寄与する部分画像を選択する部分
画像選択ステップとを有し、 前記符号化ステップは、前記部分画像選択ステップにお
いて選択された部分画像についてのみ符号化し部分画像
の符号を得るステップであることを特徴とする請求項1
または2記載のラスタ画像生成方法。 - 【請求項4】 前記重なり検出ステップは、前記描画情
報からスキャンドイメージの輪郭情報を読み出し、読み
出されたスキャンドイメージの描画の際に指定されたア
フィン変換の逆変換を実行して、前記輪郭情報を前記ス
キャンドイメージのソース空間に写像し、該写像された
ソース空間の輪郭の内側部分あるいは該輪郭上に重なる
前記部分画像の領域を検出するステップであることを特
徴とする請求項3記載のラスタ画像生成方法。 - 【請求項5】 前記ラスタ画像生成方法は、さらに、 ラスタ画像の縮小を実行して縮小ラスタ画像を生成する
縮小ラスタ画像生成ステップを有し、 前記画像分割ステップは、該縮小ラスタ画像生成ステッ
プにおいて生成された縮小ラスタ画像について部分画像
への分割を実行することを特徴とする請求項1乃至4い
ずれかに記載のラスタ画像生成方法。 - 【請求項6】 ラスタ画像生成装置において、 ラスタ画像を複数の部分画像に分割する画像分割手段
と、 前記画像分割手段によって生成された部分画像を符号化
し部分画像の符号を得る符号化手段と、 前記符号化手段によって生成された部分画像の符号を復
号しメモリ手段に格納する復号手段と、 第1の座標空間で表現された幾何情報を第2の座標空間
に変換する座標空間変換手段と、 前記第2の座標空間での幾何位置に対応する前記メモリ
手段上のアドレスを生成するアドレス変換手段と、 前記符号化手段によって生成された部分画像の符号を復
号する復号順を決定する復号順決定手段とを備え、 前記復号順決定手段により決定した復号順に従って復号
された部分画像を前記メモリ手段に格納し、前記第1の
座標空間の幾何情報を前記座標変換手段に与えその出力
を前記アドレス変換手段に供給して得たメモリアドレス
を用いて前記メモリ手段に格納された部分画像の画素を
読み出す構成を有することを特徴とするラスタ画像生成
装置。 - 【請求項7】 前記第1の座標空間はデバイス空間であ
り、前記第2の座標空間はソース空間であって、 前記座標空間変換手段は、デバイス空間上でのスキャン
ドイメージの描画幾何形状を形成するラスタスキャン情
報をソース空間へ逆変換し、ソース空間での幾何情報す
なわちラスタスキャン情報を得る手段であり、 前記アドレス変換手段は、前記座標空間変換手段におい
て得たソース空間上でのラスタスキャン情報を用いてデ
バイス空間のスキャンドイメージの画素に対応する前記
メモリ手段上の部分画像の画素のアドレス情報を生成す
る手段であり、 前記アドレス変換手段によって生成されたアドレス情報
を用いて順に前記メモリ手段から画素を読み出してデバ
イス空間でのスキャンドイメージの画素を順に獲得する
構成を有することを特徴とする請求項6に記載のラスタ
画像生成装置。 - 【請求項8】 前記ラスタ画像生成装置は、さらに、 前記画像分割手段において生成された部分画像と、前記
ラスタ画像生成装置に入力される描画情報から得られる
幾何形状との重なり合いを検出する重なり検出手段を有
し、 前記重なり検出手段での重なり検出結果に応じて、デバ
イス画像の描画に寄与する部分画像を選択して、該選択
された部分画像についてのみ前記符号化手段によって符
号化し部分画像の符号を得ることを特徴とする請求項6
または7に記載のラスタ画像生成装置。 - 【請求項9】 前記ラスタ画像生成装置は、 前記画像分割手段において生成された部分画像と、前記
ラスタ画像生成装置に入力される描画情報から得られる
幾何形状との重なり合いを検出する重なり検出手段を有
し、 前記重なり検出手段での重なり検出結果に応じて部分画
像を選択的に前記分割手段で読み出して、該読み出され
た部分画像について前記符号化手段で符号化することを
特徴とする請求項6または7に記載のラスタ画像生成装
置。 - 【請求項10】 前記重なり検出手段は、前記描画情報
からスキャンドイメージの輪郭情報を読み出し、読み出
されたスキャンドイメージの描画の際に指定されたアフ
ィン変換の逆変換を実行して、前記輪郭情報を前記スキ
ャンドイメージのソース空間に写像し、該写像されたソ
ース空間の輪郭の内側部分あるいは該輪郭上に重なる前
記部分画像の領域を検出する構成を有することを特徴と
する請求項8または9記載のラスタ画像生成装置。 - 【請求項11】 前記ラスタ画像生成装置は、さらに、 ラスタ画像の縮小を実行して縮小ラスタ画像を生成する
縮小手段を有し、 前記画像分割手段は、前記縮小手段において生成された
縮小ラスタ画像について部分画像への分割を実行するこ
とを特徴とする請求項6乃至10いずれかに記載のラス
タ画像生成装置。 - 【請求項12】 前記ラスタ画像生成装置において、前
記復号手段を用いて実行される部分画像の復号タイミン
グ位置と、前記座標変換手段において変換が実行される
第1の座標空間の変換タイミング位置とを同期させて動
作する構成としたことを特徴とする請求項6乃至11い
ずれかに記載のラスタ画像生成装置。 - 【請求項13】 前記ラスタ画像生成装置において、前
記アドレス変換手段に第2の座標空間とメモリアドレス
とを関係づけるテーブルを持ち、該テーブルは、入力ラ
スタ画像ごと、個々に独立したテーブルによって構成さ
れていることを特徴とする請求項6乃至12いずれかに
記載のラスタ画像生成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10025295A JPH11224331A (ja) | 1998-02-06 | 1998-02-06 | ラスタ画像生成装置およびラスタ画像生成方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10025295A JPH11224331A (ja) | 1998-02-06 | 1998-02-06 | ラスタ画像生成装置およびラスタ画像生成方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11224331A true JPH11224331A (ja) | 1999-08-17 |
Family
ID=12162039
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10025295A Pending JPH11224331A (ja) | 1998-02-06 | 1998-02-06 | ラスタ画像生成装置およびラスタ画像生成方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11224331A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7474928B2 (en) * | 2005-04-15 | 2009-01-06 | Autodesk Canada Co. | Hybrid vector/raster based paint |
| JP2009110368A (ja) * | 2007-10-31 | 2009-05-21 | Brother Ind Ltd | 画像処理プログラム |
| US8139082B2 (en) | 2005-05-02 | 2012-03-20 | Canon Kabushiki Kaisha | Image processing apparatus and its control method, and program |
-
1998
- 1998-02-06 JP JP10025295A patent/JPH11224331A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7474928B2 (en) * | 2005-04-15 | 2009-01-06 | Autodesk Canada Co. | Hybrid vector/raster based paint |
| US8139082B2 (en) | 2005-05-02 | 2012-03-20 | Canon Kabushiki Kaisha | Image processing apparatus and its control method, and program |
| JP2009110368A (ja) * | 2007-10-31 | 2009-05-21 | Brother Ind Ltd | 画像処理プログラム |
| US8320016B2 (en) | 2007-10-31 | 2012-11-27 | Brother Kogyo Kabushiki Kaisha | Image processing method for fast fill-in of a figure and computer readable medium therefor |
| US8472077B2 (en) | 2007-10-31 | 2013-06-25 | Brother Kogyo Kabushiki Kaisha | Image processing method for fast fill-in of a figure and computer readable medium therefor |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100597879B1 (ko) | 비트맵데이터라인세그먼트를검색하는구분적인-선형직접메모리억세스어드레싱모드를사용하여,프린트될비트맵데이터의래스터화된라인을구성하는방법및장치 | |
| US7142213B2 (en) | Graphics drawing device and method | |
| JPH0863144A (ja) | フォント処理装置及びフォント処理方法 | |
| US5867612A (en) | Method and apparatus for the fast scaling of an image | |
| US8659620B2 (en) | Methods and apparatus for rendering images | |
| US5889893A (en) | Method and apparatus for the fast rotation of an image | |
| JPH08297737A (ja) | 任意図形クリッピング方法および装置 | |
| JP3791259B2 (ja) | アウトラインスムージング処理方法 | |
| US5537131A (en) | Character generating method and apparatus | |
| EP1014306B1 (en) | Antialiased high-resolution frame buffer architecture | |
| JP3037854B2 (ja) | 文字生成方法及びその装置 | |
| KR100302163B1 (ko) | 문자 생성 방법 및 장치 | |
| JP3009525B2 (ja) | ベクトル画像描画装置 | |
| JP2634851B2 (ja) | 画像処理装置 | |
| JPH11224331A (ja) | ラスタ画像生成装置およびラスタ画像生成方法 | |
| JP2726271B2 (ja) | パッチ化システム | |
| US6101290A (en) | Bandwidth efficient image transformations on a multiprocessor | |
| JP4325812B2 (ja) | ベクター画像描画回路およびベクター画像描画方法 | |
| KR900002631B1 (ko) | 화상데이터의 처리방법 및 장치 | |
| JP3211591B2 (ja) | イメージ処理装置 | |
| JP3350324B2 (ja) | キャラクタ出力装置 | |
| JP2006031160A (ja) | グラフィックオブジェクト処理方法 | |
| JP3365068B2 (ja) | 画像処理装置 | |
| JP2004326528A (ja) | 画像処理装置及び画像処理方法 | |
| JP2814709B2 (ja) | 描画データ作成装置 |