JPS6073789A - 画像の拡大縮小装置 - Google Patents
画像の拡大縮小装置Info
- Publication number
- JPS6073789A JPS6073789A JP58182110A JP18211083A JPS6073789A JP S6073789 A JPS6073789 A JP S6073789A JP 58182110 A JP58182110 A JP 58182110A JP 18211083 A JP18211083 A JP 18211083A JP S6073789 A JPS6073789 A JP S6073789A
- Authority
- JP
- Japan
- Prior art keywords
- register
- bits
- output
- data
- word
- 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
- 230000009467 reduction Effects 0.000 title claims abstract description 66
- 238000013507 mapping Methods 0.000 claims abstract description 68
- 238000012545 processing Methods 0.000 abstract description 54
- 238000000034 method Methods 0.000 abstract description 35
- 230000008569 process Effects 0.000 abstract description 24
- 238000006243 chemical reaction Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100536690 Beauveria bassiana tenC gene Proteins 0.000 description 1
- 241001234891 Bletia purpurea Species 0.000 description 1
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4023—Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は画像情報の拡大あるいは縮小を行う装置に関す
る。
る。
従来例の構成とその問題点
記憶装置の容量の拡大が進み、手書文字9図形などのデ
ータをコード化せず、そのまま画像情報として扱い編集
などを行う装置が増えつつある。
ータをコード化せず、そのまま画像情報として扱い編集
などを行う装置が増えつつある。
この分野では画像情報の高速な拡大縮小などの処理に対
する要求が高まっている。
する要求が高まっている。
はじめに画像の拡大縮小について簡単に説明する。
第1図に示すように格子点上に1次元的に配置されたn
個の画素x1.X2.・・・・・・xnからなる画像X
を、m個の画素Z1.Z2・・・・・・Zmからなる画
像Zへ縮小する場合を考える。図の例ではn=8゜m
= 5である。XからZへの変換(マツピング)は第2
図に示すようにして実施できる。第2図にの直線23に
1番近い格子点である。原画データ3ページ 21の各画素X1.x2・・・・・・X8は、対応する
格子点24a 、24b 、・・・・・・24hの左に
存在する出力データ22の各画素z1.Z2.・・・・
・・Z5へ変換される。xlとx2とカZ1に、X6ト
x7カZ4ニ変換されるが、Zl、Z4として若い番号
のxl。
個の画素x1.X2.・・・・・・xnからなる画像X
を、m個の画素Z1.Z2・・・・・・Zmからなる画
像Zへ縮小する場合を考える。図の例ではn=8゜m
= 5である。XからZへの変換(マツピング)は第2
図に示すようにして実施できる。第2図にの直線23に
1番近い格子点である。原画データ3ページ 21の各画素X1.x2・・・・・・X8は、対応する
格子点24a 、24b 、・・・・・・24hの左に
存在する出力データ22の各画素z1.Z2.・・・・
・・Z5へ変換される。xlとx2とカZ1に、X6ト
x7カZ4ニ変換されるが、Zl、Z4として若い番号
のxl。
り、出力データを各々出力データ、原画データと置き換
えて見ればよい。第3図は第2図に対応して拡大の場合
を示す図で、原画データ25が出力データ26に変換さ
れる様子を示している。
えて見ればよい。第3図は第2図に対応して拡大の場合
を示す図で、原画データ25が出力データ26に変換さ
れる様子を示している。
従来は拡大縮小処理を次のように1画素毎に計算によっ
て行っていた。即ち第2図の縮小の場合には、原画デー
タ21の画素X1から出力データ22の画素zjへの変
換式は例えば、 2・ ← X・ j ← (−i+o、s) で与えられる。(、)はaを越えない最大整数を表わす
。
て行っていた。即ち第2図の縮小の場合には、原画デー
タ21の画素X1から出力データ22の画素zjへの変
換式は例えば、 2・ ← X・ j ← (−i+o、s) で与えられる。(、)はaを越えない最大整数を表わす
。
第3図の拡大の場合には、xiから2.への変換式は例
えば、 Z、 ← X。
えば、 Z、 ← X。
】
(−j十〇。5〕→1
で与えられる。
しかしこの方法は変換式を画素毎に計算するため能率が
悪い。例えば第4図に示すような縦ny画素、横n 画
素からなる2次元画像41を、縦my画素、横mx画素
からなる2次元画像42へ変換する場合、横方向の行の
11x画素からmx画素への変換の仕方は、縦方向の位
置には依存しない。縦方向の列のn 画素からmア7画
素の変換の仕方も、横方向の位置に依存しない。従って
最初の行あるいは列の変換に際して計算した変換の仕方
を記憶しておけば、以後の変換では計算せずに済むのに
従来は毎回計算していたので変換に多大の時間を要した
。
悪い。例えば第4図に示すような縦ny画素、横n 画
素からなる2次元画像41を、縦my画素、横mx画素
からなる2次元画像42へ変換する場合、横方向の行の
11x画素からmx画素への変換の仕方は、縦方向の位
置には依存しない。縦方向の列のn 画素からmア7画
素の変換の仕方も、横方向の位置に依存しない。従って
最初の行あるいは列の変換に際して計算した変換の仕方
を記憶しておけば、以後の変換では計算せずに済むのに
従来は毎回計算していたので変換に多大の時間を要した
。
発明の目的
本発明は以上のような従来の方法の欠点を克服6ページ
し、拡大縮小処理を高速に行う装置の提供を目的として
いる。
いる。
発明の構成
本発明は、原画データを格納する第1のレジスタと、原
画データをシフトする第1のバレルシフタと、マツピン
グパターンを格納するレジスタと前記マツピングパター
ンによって制御され、原画データを拡大あるいは縮小し
、出力データを生成する拡大縮小回路と、出力データを
シフトする第2のバレルシフタと、出力データを格納す
る第2のレジスタとから構成される。、 実施例の説明 以下本発明の実施例について説明する。
画データをシフトする第1のバレルシフタと、マツピン
グパターンを格納するレジスタと前記マツピングパター
ンによって制御され、原画データを拡大あるいは縮小し
、出力データを生成する拡大縮小回路と、出力データを
シフトする第2のバレルシフタと、出力データを格納す
る第2のレジスタとから構成される。、 実施例の説明 以下本発明の実施例について説明する。
初めにマツピングパターンによる拡大縮小について説明
する。マツピングパターンはO又は1を成分とするベク
トルで、縮小の場合には原画の抽出すべき成分の位置を
示し、拡大の場合には原画の各成分の複写すべき回数を
指示する。
する。マツピングパターンはO又は1を成分とするベク
トルで、縮小の場合には原画の抽出すべき成分の位置を
示し、拡大の場合には原画の各成分の複写すべき回数を
指示する。
第2図の縮小の場合のマツピングパターンはP −(P
l、P2#P3.P4.P5.P6.P子、P8)6ペ
ージ =(1,0,1,1,0,1,0,1)となる。これと
原画データXとの成分毎の論理積をとり、0の部分を圧
縮して出力データ2を得る。
l、P2#P3.P4.P5.P6.P子、P8)6ペ
ージ =(1,0,1,1,0,1,0,1)となる。これと
原画データXとの成分毎の論理積をとり、0の部分を圧
縮して出力データ2を得る。
P=(1,0,1,1,0,1,0,1)X−(xl、
X2.x3.x4.x5.x6.x7.x8)(PiX
i)−(xl、0.X3.x4,0.X6.o、x8)
Z=(xl、x3.X4.x6.X8)第3図の拡大の
場合のマツピングパターンは縮小の場合と同じく p、、=(1,o、1,1.o、1.o、1)となり、
これを左から参照しながら、1の場合に原画データを更
新し、0の場合は原画データを複写する。即ち P=(1,0,1,1,0,1,0,1)x=(xl、
x2.x3.X4.x6)ならば、 z−(xl、xl、x2.x3.x3.x4.x4.x
5)となる。
X2.x3.x4.x5.x6.x7.x8)(PiX
i)−(xl、0.X3.x4,0.X6.o、x8)
Z=(xl、x3.X4.x6.X8)第3図の拡大の
場合のマツピングパターンは縮小の場合と同じく p、、=(1,o、1,1.o、1.o、1)となり、
これを左から参照しながら、1の場合に原画データを更
新し、0の場合は原画データを複写する。即ち P=(1,0,1,1,0,1,0,1)x=(xl、
x2.x3.X4.x6)ならば、 z−(xl、xl、x2.x3.x3.x4.x4.x
5)となる。
第4図のような2次元領域を、X方向の1行ずつ変換し
ていく場合には、X方向1行分のマツビ7ベージ ングパターンを初めに1回計算して記憶しておけば、2
行目以降は記憶したパターンを参照するだけで変換する
事ができ高速化が達成される。
ていく場合には、X方向1行分のマツビ7ベージ ングパターンを初めに1回計算して記憶しておけば、2
行目以降は記憶したパターンを参照するだけで変換する
事ができ高速化が達成される。
以下の説明では、1画素1ビツトの2値画像に限定する
。又データバスの幅は8ビツトとし、処理は8ビット単
位で行われるものとする。各レジスタへの入出力は8ビ
ット単位でしか行えないものとする。8ビツトを1語と
も称することにする。
。又データバスの幅は8ビツトとし、処理は8ビット単
位で行われるものとする。各レジスタへの入出力は8ビ
ット単位でしか行えないものとする。8ビツトを1語と
も称することにする。
第5図は本発明の1実施例のブロック図である。
原画データはバス51を通して入力レジスタ52に格納
され、制御回路63により制御される第1のバレルシフ
タ64によってシフトされ、マツピングパターンにより
制御される拡大縮小回路56によって拡大あるいは縮小
され、第2のバレルシフタ56によってシフトされ、出
力レジスタ57に格納されバス61を通じて読み出され
る。
され、制御回路63により制御される第1のバレルシフ
タ64によってシフトされ、マツピングパターンにより
制御される拡大縮小回路56によって拡大あるいは縮小
され、第2のバレルシフタ56によってシフトされ、出
力レジスタ57に格納されバス61を通じて読み出され
る。
入力レジスタ52は2語16ビツトで構成され、上位及
び下位の1語8ビツトは独立に入出力可能である。同図
の左側を上位、右側を下位とする。
び下位の1語8ビツトは独立に入出力可能である。同図
の左側を上位、右側を下位とする。
出力レジスタ57も同じく2語で構成され、上位。
下位の1語が独立に入出力可能である。第1のバレルシ
フタは入口16ビツト、出口8ビツト、第2のバレルシ
フタは入口8ビツト、出口16ビツトである。拡大縮小
回路は8ビツトずつ処理を行う。マツピングパターンは
処理装置60で算出され、レジスタ59に格納され8ビ
ツトずつ制御レジスタ58に読み出されて、拡大縮小回
路を制御する。
フタは入口16ビツト、出口8ビツト、第2のバレルシ
フタは入口8ビツト、出口16ビツトである。拡大縮小
回路は8ビツトずつ処理を行う。マツピングパターンは
処理装置60で算出され、レジスタ59に格納され8ビ
ツトずつ制御レジスタ58に読み出されて、拡大縮小回
路を制御する。
次に拡大縮小回路の構成例を示し、それだけでは高速処
理に不十分であるが、バレルシフタなど他の構成要素を
付加する事によって高速処理が可能になる事を示す。
理に不十分であるが、バレルシフタなど他の構成要素を
付加する事によって高速処理が可能になる事を示す。
拡大縮小回路は例えば第6図のように構成される。マツ
ピングパターンはレジスタ61から8ビツトずつ読み出
され制御レジスタ62に格納され、8ビツトの原画デー
タは入力レジスタ63に格納される。レジスタ63.6
2はクロックa、11’によりデータを左方ヘシフトす
るシフトレジスタで、レジスタ63の左端のデータはバ
ッファ66に格納される。クロックa、b、c、dは同
じ同波数9ページ でa 、b、c、dの順で少しずつ位相の遅れたもので
ある。クロックdによって出力されるマツピングパター
ン値eをスイッチ67により、縮小の場合はf側へ、拡
大の場合はq側へ接続する。
ピングパターンはレジスタ61から8ビツトずつ読み出
され制御レジスタ62に格納され、8ビツトの原画デー
タは入力レジスタ63に格納される。レジスタ63.6
2はクロックa、11’によりデータを左方ヘシフトす
るシフトレジスタで、レジスタ63の左端のデータはバ
ッファ66に格納される。クロックa、b、c、dは同
じ同波数9ページ でa 、b、c、dの順で少しずつ位相の遅れたもので
ある。クロックdによって出力されるマツピングパター
ン値eをスイッチ67により、縮小の場合はf側へ、拡
大の場合はq側へ接続する。
縮小の場合はレジスタ63の原画データの左端データは
、クロックaによってバッファ65に書き適寸れ、クロ
ックbによってレジスタ64のアドレスhの位置へ書き
込まれる。アドレスカウンタ66はパターン出力fが1
であればカウント動作し、レジスタ62のマツピングパ
ターンはクロックdによって左へシフトされる。クロッ
クa。
、クロックaによってバッファ65に書き適寸れ、クロ
ックbによってレジスタ64のアドレスhの位置へ書き
込まれる。アドレスカウンタ66はパターン出力fが1
であればカウント動作し、レジスタ62のマツピングパ
ターンはクロックdによって左へシフトされる。クロッ
クa。
b、c、dが印加されるのを1サイクルとすると8サイ
クル後にはレジスタ64に第7図(a)に示す縮小デー
タが得られる。
クル後にはレジスタ64に第7図(a)に示す縮小デー
タが得られる。
拡大の場合はパターン出力qが1の時レジスタ63の原
画データをクロックaによってバッファ66に書き込み
、バッファ66のデータをクロックbによってレジスタ
64のアドレスhの位置へ書き込む。クロックCにより
アドレスカウンタ66が動作し、クロックdによりレジ
スタ62のパタ1o ベージ ーンが左ヘシフトされる。クロックa、b、c。
画データをクロックaによってバッファ66に書き込み
、バッファ66のデータをクロックbによってレジスタ
64のアドレスhの位置へ書き込む。クロックCにより
アドレスカウンタ66が動作し、クロックdによりレジ
スタ62のパタ1o ベージ ーンが左ヘシフトされる。クロックa、b、c。
dが印加されるのを1サイクルとすると8サイクル後に
はレジスタ64に第7図(b)に示す拡大データが得ら
れる。
はレジスタ64に第7図(b)に示す拡大データが得ら
れる。
第6図の拡大縮小回路はマツピングパターンによって制
御されるので、1行目の変換で計算したパターンを記憶
しておけば2次元画像の拡大縮小を高速に処理すること
ができる。
御されるので、1行目の変換で計算したパターンを記憶
しておけば2次元画像の拡大縮小を高速に処理すること
ができる。
しかし8サイクル分駆動後の3つのレジスタ62.63
.64の内容は、縮小の場合は第7図(、)に示すよう
にレジスタ62.63は空、レジスタ64は6ビツト目
まで充填されており、拡大の場合は(b)に示すように
レジスタ62は空、レジスタ64は一杯、レジスタ63
には4ビット残っている。
.64の内容は、縮小の場合は第7図(、)に示すよう
にレジスタ62.63は空、レジスタ64は6ビツト目
まで充填されており、拡大の場合は(b)に示すように
レジスタ62は空、レジスタ64は一杯、レジスタ63
には4ビット残っている。
従って縮小の場合にはマツピングパターンと原画データ
とは8ビツトずつ供給し、出力データはレジスタ64が
一杯になった時点で読み出す必要があり処理が面倒であ
る。この処理をレジスタあふれ処理と称することにする
。拡大の場合にもマ11 ぺ、−シ ツピングパターンは8ビツトずつ供給し、出力データは
8ビツトずつ読み出せばよいが、原画データはレジスタ
63が空になった時点で供給する必要があり、これも処
理が面倒である。この処理をレジスタ空処理と称するこ
とにする。
とは8ビツトずつ供給し、出力データはレジスタ64が
一杯になった時点で読み出す必要があり処理が面倒であ
る。この処理をレジスタあふれ処理と称することにする
。拡大の場合にもマ11 ぺ、−シ ツピングパターンは8ビツトずつ供給し、出力データは
8ビツトずつ読み出せばよいが、原画データはレジスタ
63が空になった時点で供給する必要があり、これも処
理が面倒である。この処理をレジスタ空処理と称するこ
とにする。
更に原画データを格納するメモリは通常8ビツトあるい
は16ビツトなどの単位で読み出しが可能なように構成
されているが、任意のビット位置から8ビツトあるいは
16ビツト分読み出せる構造になっておらず、特定の位
置からしか読み出せないのが普通である。この位置を語
境界と称することにする。原画データは常に語境界から
の8ビツトデータである。これに対し拡大縮小処理が丁
度語境界から始まり、語境界で終了するように指定され
る場合は少い。従って語の途中から、次の語の途中まで
の1語分を処理する必要がありこれも面倒である。この
処理を語境界処理と称することにする。
は16ビツトなどの単位で読み出しが可能なように構成
されているが、任意のビット位置から8ビツトあるいは
16ビツト分読み出せる構造になっておらず、特定の位
置からしか読み出せないのが普通である。この位置を語
境界と称することにする。原画データは常に語境界から
の8ビツトデータである。これに対し拡大縮小処理が丁
度語境界から始まり、語境界で終了するように指定され
る場合は少い。従って語の途中から、次の語の途中まで
の1語分を処理する必要がありこれも面倒である。この
処理を語境界処理と称することにする。
前記の面倒な点を手際よく処理し高速な拡大縮小を可能
にする工夫が、第6図の2つの16ビツトレジスタ52
.57と、2つのバレルシフタ54.56である。
にする工夫が、第6図の2つの16ビツトレジスタ52
.57と、2つのバレルシフタ54.56である。
次にこれらの機能について説明する。
拡大縮小回路は、縮小の場合は縮小率を−として第8図
(、)に示すように原画データ8ビツトを左よせの6ビ
ツトの出力データに変換し、拡大の場合には拡大率を−
とじて第8図(b)に示すように左よせの原画データ5
ビツトを、8ビツトの出力データに変換する機能を有す
るものとする。
(、)に示すように原画データ8ビツトを左よせの6ビ
ツトの出力データに変換し、拡大の場合には拡大率を−
とじて第8図(b)に示すように左よせの原画データ5
ビツトを、8ビツトの出力データに変換する機能を有す
るものとする。
第1のバレルシフタ64は例えば第9図のように構成さ
れる。第9図f、)におけるセル92は同図(C)のよ
うなトランスファゲートで、制御信号Sにより信号線p
とqの接続を断続することができる。
れる。第9図f、)におけるセル92は同図(C)のよ
うなトランスファゲートで、制御信号Sにより信号線p
とqの接続を断続することができる。
制御信号s1〜s8のいずれかをオンすることにより原
画レジスタ52の中の2語16ビツトの原画データの任
意の8ビツトを選択することができる。図では86をオ
ンした結果を示している。X′を91の位置へ移すこと
はできないが、原画レジスタ52は上位、下位の8ビツ
トが独立に入出力可能なので、X、′を91へ移す場合
には下位8ビ13 /<−ジ ットを読み出し、上位8ビツトへ書き込んで81をオン
すればよい。
画レジスタ52の中の2語16ビツトの原画データの任
意の8ビツトを選択することができる。図では86をオ
ンした結果を示している。X′を91の位置へ移すこと
はできないが、原画レジスタ52は上位、下位の8ビツ
トが独立に入出力可能なので、X、′を91へ移す場合
には下位8ビ13 /<−ジ ットを読み出し、上位8ビツトへ書き込んで81をオン
すればよい。
第2のバレルシフタ66は第9図(、)の入出力が入れ
換わった形になっており、入力の8ビツトを出力の16
ビツトの任意の位置へ移すことができる。
換わった形になっており、入力の8ビツトを出力の16
ビツトの任意の位置へ移すことができる。
これらの回路によって第10図(−)の入力画像103
から同図(b)の出力画像110への縮小あるいは入力
画像110から出力画像103への拡大がどのように行
われるかを次に説明する。第10図において縦線1o1
は8ビツトの語境界を表わし、斜線部102が1語8画
素を表わす。画像103は語104の6画素目から語1
07の5画素目までのn−24画素で、画像110は語
111の3画素目から語113の1画素目までのm−1
5の拡大である。X方向を横、X方向を縦とすると縦方
向は画像103も画像110も3画素とする。
から同図(b)の出力画像110への縮小あるいは入力
画像110から出力画像103への拡大がどのように行
われるかを次に説明する。第10図において縦線1o1
は8ビツトの語境界を表わし、斜線部102が1語8画
素を表わす。画像103は語104の6画素目から語1
07の5画素目までのn−24画素で、画像110は語
111の3画素目から語113の1画素目までのm−1
5の拡大である。X方向を横、X方向を縦とすると縦方
向は画像103も画像110も3画素とする。
縮小拡大は1番下の行を横方向に処理し、第1行が終了
したらその上の行へ移るという順で行う。
したらその上の行へ移るという順で行う。
14、−ジ
処理開始に先立って横方向の原画素数n−24と出力画
素数m=15とからマツピングパターンを算出し、1語
分ずつ区切ってレジスタ69に格納する。この様子を第
11図に示す。この場合はンになる。
素数m=15とからマツピングパターンを算出し、1語
分ずつ区切ってレジスタ69に格納する。この様子を第
11図に示す。この場合はンになる。
縮小の場合を第5図、第10図と、第12図のデータの
流れに沿って説明する。
流れに沿って説明する。
1行目初期設定。
(1)はじめに原画103の先頭の2語104゜105
を入力レジスタ62にセットする。この様子を第12図
121に示す。1語目のx6以後を縮小するからx1〜
x6の5画素は不用となる。これを表わすため入力カウ
ンタ127中に不要画素数01=5をセットする。原画
の残り画素数n−24である。
を入力レジスタ62にセットする。この様子を第12図
121に示す。1語目のx6以後を縮小するからx1〜
x6の5画素は不用となる。これを表わすため入力カウ
ンタ127中に不要画素数01=5をセットする。原画
の残り画素数n−24である。
出力画像110の先頭の1語111を出力レジスタ67
の上位側にセットし第12図126とする。出力レジス
タ中の有効画素の数C8−2を出力カウンタ129中に
セットする。出力画15 、 、、。
の上位側にセットし第12図126とする。出力レジス
タ中の有効画素の数C8−2を出力カウンタ129中に
セットする。出力画15 、 、、。
の空き画素数m−15である。入力カウンター27、出
力カウンター29は第5図の制御回路5金の中にある。
力カウンター29は第5図の制御回路5金の中にある。
<j=1.l=1>
(2) マツピングパターンレジスタ59から、マツピ
ングパターンの先頭の8ビツトを制御レジスタ68にセ
ットし123とする。マツピングパターン中の1の数e
pを、カウンター28中にセットする。Cp−6である
。カウンタに8は第5図の制御回路63の中にある。
ングパターンの先頭の8ビツトを制御レジスタ68にセ
ットし123とする。マツピングパターン中の1の数e
pを、カウンター28中にセットする。Cp−6である
。カウンタに8は第5図の制御回路63の中にある。
(3)第1のバレルシフタ64によりx6以後の8画素
を抽出する。シフトする数は入力カウンター27の値C
,=5で与えられる。
を抽出する。シフトする数は入力カウンター27の値C
,=5で与えられる。
(4)マツピングパターン123によって制御される拡
大縮小回路55により終小されたデータ124を得る。
大縮小回路55により終小されたデータ124を得る。
(6)第2のバレルシフタ56により出力レジスタ57
のy3以降にデータ124を入れる。シフトする数は出
力カウンター29の値C3=2で与えられる。coはC
8+co十〇p−2+6−7 と更新される。
のy3以降にデータ124を入れる。シフトする数は出
力カウンター29の値C3=2で与えられる。coはC
8+co十〇p−2+6−7 と更新される。
(6)出力力ランタイ直C8が8を越えていないので転
送しない。
送しない。
(′7)原画残り画素数nを更新。縮小の場合は8画素
ずつ消費されるから n4−n−8=16となる。
ずつ消費されるから n4−n−8=16となる。
〈j−2,l=1〉
(8)入力レジスタ62の下位8ビツトを上位8ビツト
へ移し、下位8ビツトには(j+1 )語口の原画デー
タ8ビツトを入力し131とする。
へ移し、下位8ビツトには(j+1 )語口の原画デー
タ8ビツトを入力し131とする。
第1語口と第3語口とは同じ記号x1.x2・・・・・
・x8で表わしだが、別のデータである。入力カウンタ
127の値C0は変化しない。
・x8で表わしだが、別のデータである。入力カウンタ
127の値C0は変化しない。
(9)ステップ(2)へ戻って+5)′!!で処理する
。第12図では131〜134で示す。
。第12図では131〜134で示す。
(1o)縮小されたデータ134を第2のバレルシフタ
56によって出力レジスタ129の値7だけシフトレ出
力データ135とする。出力カウンタ129の値C3は co+−co十Cp−7+6−12 17ページ となる。
56によって出力レジスタ129の値7だけシフトレ出
力データ135とする。出力カウンタ129の値C3は co+−co十Cp−7+6−12 17ページ となる。
(11)出力カウンタ値C8が8を越えているので上位
8ビツトを出力画像110の1語目の語111へ転送し
、下位8ビツトを上位へ移す。
8ビツトを出力画像110の1語目の語111へ転送し
、下位8ビツトを上位へ移す。
出力カウンタ129の値C8はC8+−co−8−4と
なる。64−1+1=2と更新される。
なる。64−1+1=2と更新される。
(12) n <−n −8= 8゜
<1=3./=2>
(13)原画のN+1)語口を入力レジスタ52の下位
へセットし141とする。縮小の指定は4語目のxQ
までであったからこれは1行目の最終データである。ス
テップ(2)〜(5)の処理を行い縮小データ144を
得、10の処理によって出力データ146を得る。出力
カウンタ129の値C8はC8←Co+6=9となる。
へセットし141とする。縮小の指定は4語目のxQ
までであったからこれは1行目の最終データである。ス
テップ(2)〜(5)の処理を行い縮小データ144を
得、10の処理によって出力データ146を得る。出力
カウンタ129の値C8はC8←Co+6=9となる。
(14)出力カウンタ値C8が8を越えているので、出
力レジスタ67の上位8ビツトを出力画像1100語1
12へ転送し、下位を上位へ移す。
力レジスタ67の上位8ビツトを出力画像1100語1
12へ転送し、下位を上位へ移す。
出力カウンタ129の値C8はC8←C0−8−1とな
る。14−1+1=3 18、、−、、+ (15) n 4− n−8= 0 〈1行目終了処理〉 (16) 出力データ146の1ビツト目と出力画像1
100語11302ビツト目以降とを合わせ語113へ
書き込む。これは例えば出力データの2ビツト目以降を
0とし、出力画像1100語113の1ビツト目を0と
し、ビット毎の論理和をとればよい。
る。14−1+1=3 18、、−、、+ (15) n 4− n−8= 0 〈1行目終了処理〉 (16) 出力データ146の1ビツト目と出力画像1
100語11302ビツト目以降とを合わせ語113へ
書き込む。これは例えば出力データの2ビツト目以降を
0とし、出力画像1100語113の1ビツト目を0と
し、ビット毎の論理和をとればよい。
2行目。
(17)縦方向の拡大縮小率に応じて次の原画の行とし
てどれを採ればよいかを決める。例えば1A倍の縮小な
ら次の原画は3行上になるし、3倍の拡大なら次の原画
も今と同じ行になる。
てどれを採ればよいかを決める。例えば1A倍の縮小な
ら次の原画は3行上になるし、3倍の拡大なら次の原画
も今と同じ行になる。
原画の行が定まったら2〜16をくり返す。マツピング
パターンは1行目と同じものが使える。
パターンは1行目と同じものが使える。
従ってマツピングパターンレジスタ69は例えばスタッ
ク形式で構成し、1行分終了したらスタックポインタを
初期位置へ戻すようにして使用すると便利である。
ク形式で構成し、1行分終了したらスタックポインタを
初期位置へ戻すようにして使用すると便利である。
以上の処理の流れを第13図に示す。
19 、 。
以上説明したように第5図における2つの16ビソトレ
ジスタ52.57および2つのバレルシフタ54.56
を備えることにより、レジスタあふれ処理、語境界処理
をする必要がなく、8ビツト毎の処理だけで済むので高
速動作が可能である。
ジスタ52.57および2つのバレルシフタ54.56
を備えることにより、レジスタあふれ処理、語境界処理
をする必要がなく、8ビツト毎の処理だけで済むので高
速動作が可能である。
次に拡大の場合について第6図、第10図、第14図に
よって説明する。
よって説明する。
1行目初期設定。
(1)原画110の先頭の2誤111.112を入力レ
ジスタ52にセットし151とする。1語目のy3以後
を拡大するからyl y2は不用となる。入力カウンタ
127に不用画素数04=2をセットする。原画残り画
素数m−15である。
ジスタ52にセットし151とする。1語目のy3以後
を拡大するからyl y2は不用となる。入力カウンタ
127に不用画素数04=2をセットする。原画残り画
素数m−15である。
出力画像103の先頭の1語104を出力レジスタ57
の上位側にセントし156とする。出力レジスタ中の有
効画素数C8−5を出力カウンタ129にセットする。
の上位側にセントし156とする。出力レジスタ中の有
効画素数C8−5を出力カウンタ129にセットする。
出力画の窒き画素数n−24である。
<j=1>
(2) マツピングパターンレジスタ59から、マツピ
ンクパターンの先頭の8ビツトを制御レジスタ68にセ
ットし153とする。マツピングパターンの中の1の数
Cpをカウンタ128中にセットする。Cp−5である
。
ンクパターンの先頭の8ビツトを制御レジスタ68にセ
ットし153とする。マツピングパターンの中の1の数
Cpをカウンタ128中にセットする。Cp−5である
。
(3)第1のバレルシフタ54によりy3以後の8画素
を抽出する。シフトする数は入力カウンタ127の値C
1=2で与えられる。
を抽出する。シフトする数は入力カウンタ127の値C
1=2で与えられる。
(4) マツピングパターン153により制御される拡
大縮小回路55により拡大されたデータ154を得る。
大縮小回路55により拡大されたデータ154を得る。
(5)第2のバレルシフタ66により出力レジスタ57
のX6以降にデータ154を入れる。シフトする数は出
力カウンタ129の値C0−5で与えられる。
のX6以降にデータ154を入れる。シフトする数は出
力カウンタ129の値C0−5で与えられる。
(6)出力レジスタ57の上位8ビットを出力画103
の1語目の語104へ転送し、下位を上位へ移す。
の1語目の語104へ転送し、下位を上位へ移す。
14−1+1=2と更新される。
(7)出力画残り画素数nを更新。8画素生成されるか
らfi 4−11−8=16となる。
らfi 4−11−8=16となる。
21ページ
(8)入力カウンタ127の値C1を更新。
C・←C・十C==2+5=7
1 p
<j=2>
(9)入力レジスタ52の中のデータがどこまで消費さ
れたかは入力カウンタ127の値C,でわかる。今の場
合C1=7であるからy7まで消費されている。しかし
次のマツピングパターンの1ビツト目が0の場合には前
回の出力データの最終ビット、即ちy7を再度拡大に使
用まる必要がある。そこで次のマツピングパターンの1
ビツト目が0の場合にはC14−C,−1とし、1の場
合にはそのままとする。今の場合法のマツピングパター
ンの1ビツト目は1なのでC・はそのまま7でよい。
れたかは入力カウンタ127の値C,でわかる。今の場
合C1=7であるからy7まで消費されている。しかし
次のマツピングパターンの1ビツト目が0の場合には前
回の出力データの最終ビット、即ちy7を再度拡大に使
用まる必要がある。そこで次のマツピングパターンの1
ビツト目が0の場合にはC14−C,−1とし、1の場
合にはそのままとする。今の場合法のマツピングパター
ンの1ビツト目は1なのでC・はそのまま7でよい。
(1o)入力カウンタ127の値C4が7で8を越えて
いないので入力レジスタ52は操作しない。
いないので入力レジスタ52は操作しない。
(11) (2)へ戻って(8)マで処理する。第14
図では161〜166で示す。lJ<−11+ 1 =
3 、 n←n−8−8、C,←C,十Cp=7−1−
5=12となる。
図では161〜166で示す。lJ<−11+ 1 =
3 、 n←n−8−8、C,←C,十Cp=7−1−
5=12となる。
22/、−ジ
<j=3>
(12) 次のマツピングパターンの1ビツト目が1で
あるから入力カウンタ12γの値C□−12はそのまま
でよい。
あるから入力カウンタ12γの値C□−12はそのまま
でよい。
(13) c、 カaヲ越えているので入力レジスタ5
2の下位8ビツトを上位へ移し、原画110の次の語1
13を下位へ入れる。入力カウンタ127の値C11l
−iCi←C1−8=4となる。
2の下位8ビツトを上位へ移し、原画110の次の語1
13を下位へ入れる。入力カウンタ127の値C11l
−iCi←C1−8=4となる。
(14) (2)へ戻って(8)まで処理する。第14
図では172〜177で示す。14−l+1 =4 、
n←n−8=O、C14−C,十Cp=4+5=9と
なる。
図では172〜177で示す。14−l+1 =4 、
n←n−8=O、C14−C,十Cp=4+5=9と
なる。
〈1行目最終処理。〉
(15) 出力データ17了のC8−5ビツトと出力画
103の1語目のR107の後3ビツトとを合わせ語1
07へ書き込む。
103の1語目のR107の後3ビツトとを合わせ語1
07へ書き込む。
2行目。
(16)縦方向の拡大縮小率に応じて次の原画の行を決
め、(2)〜(15)をくり返す。マツピングパターン
は1行目と同じものを使うことができる。
め、(2)〜(15)をくり返す。マツピングパターン
は1行目と同じものを使うことができる。
23ページ
以上の処理の流れを第15図に示す。
以上説明したように拡大の場合においても縮小の場合と
同様、第6図に示した2つのレジスタ52.57および
2つのバレルシフタ64.rseを備えることにより、
レジスタ空処理、語境界処理が不要で、高速動作が可能
である。
同様、第6図に示した2つのレジスタ52.57および
2つのバレルシフタ64.rseを備えることにより、
レジスタ空処理、語境界処理が不要で、高速動作が可能
である。
々お上記実施例では第1のバレルシフタは入口16ビツ
ト、出口8ビツトとしたが、拡大縮小回路の処理がnビ
ット単位であれば、各々2nビツト、nビット以上あれ
ばよい。第2のバレルシフタについても同様である。入
力、出力者レジスタも2nビツト以上あればよい。
ト、出口8ビツトとしたが、拡大縮小回路の処理がnビ
ット単位であれば、各々2nビツト、nビット以上あれ
ばよい。第2のバレルシフタについても同様である。入
力、出力者レジスタも2nビツト以上あればよい。
またバスの幅は8ビツトに限定されない。拡大縮小回路
の処理単位も8ビツトに限定されない。
の処理単位も8ビツトに限定されない。
なお以上の説明では2値画像に限定したが、中間調画像
も2値化すれば同様に拡大縮小することができる。
も2値化すれば同様に拡大縮小することができる。
発明の詳細
な説明したように本発明は、入力、出力レジスタと、第
1.第2のバレルシフタと、マツピングパターンを格納
するレジスタと、マツピングパターンによって制御され
る拡大縮小回路を備えた拡大縮小装置で、画像の拡大縮
小を従来に比較して10倍以上の高速で処理することが
可能である。
1.第2のバレルシフタと、マツピングパターンを格納
するレジスタと、マツピングパターンによって制御され
る拡大縮小回路を備えた拡大縮小装置で、画像の拡大縮
小を従来に比較して10倍以上の高速で処理することが
可能である。
第1図は木発塊判率#4画像の拡大縮小の概念を説明す
る図、第2図、第3図は書方木発鱗≠#袢4縮小拡大の
方法を示す図、第4図は2次元画像の拡大縮小の概念を
説明する図、第6図は本発明の実施例のブロック図、第
6図は本発明における拡大縮小回路の実施例を示す回路
図、第7図は拡大縮小回路のレジスタの内容を示す図、
第8図は本発明の拡大縮小回路の機能を説明する図、第
9 図ハ第5図のバレルシフタの部分の構成図、第10
図は本発明の装置で処理を行う画像を示す図、第11図
は第5図のマソピングパターンレジスタヘマッピングパ
ターンが格納される様子を示す図、第12図は本発明に
よる画像データの縮小の過程を示す図、第13図は本発
明による縮小の処理の流れを示すフローチャート図、第
14図は本発明264−ジ による画像データの拡大の過程を示す図、第16図は本
発明による拡大の処理の流れを示すフローチャート図で
ある。 21.25・・・・・・原画、22.26・・・・・・
出力画、23・・・・・・拡大縮小変換のだめの直線、
24・・・・・・23に1番近い格子点、41・・・・
・・2次元画像原画、42・・・・・・2次元画像出力
画、51・・・・・・バス、52・・・・・・入力レジ
スタ、63・・・・・・制御回路、54・・・・・・第
1のバレルシフタ、66・・・・・・拡大縮小回路、6
6・・・・・・第2のバレルシフタ、67・・・・・・
出力レジスタ、58.62・・・・・・制御レジスタ、
59.61・・・・・・レジスタ、60・・・・・・処
理装置、63・・・・・・入力レジスタ、64・・・・
・・出力レジスタ、66・・・・・・バッファ、66・
・・・・・アドレスカウンタ、67・・・・・・スイッ
チ、92・・・・・・セル、101・・・・・・語境界
、103 、110・・・・・・2次元画像、127・
・・・・・入力カウンタ、128・・・・・・カウンタ
、129・・・・・・出力カウンタ。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名@1
図 ! ≧ 綜 N −−関 −へ の つ ぐ禰 第10図 ハ 第11図 第12図 7,1つ ア: r71 11+0 ^ L−m−」 綜 −491− ロロ 口 口 口 た p 鼠 に 辞 さ 手続補正書 l事件の表示 昭和68年特許願第182110号 2発明の名称 画像の拡大縮小装置 3補正をする者 事件との関係 特 許 出 願 人 任 所 大阪府門真市大字門真1006番地名 称 (
582)松下電器産業株式会社代表者 山 下 俊 彦 4代理人 〒571 住 所 大阪府門真市大字門真1006番地松下電器産
業株式会社内 3−8各日日の寓)tmブト貢φ日口 明 細 書 1、発明の名称 画像の拡大縮小装置 2、特許請求の範囲 (1)原画データを格納する第1のレジスタと、前記デ
ータをシフトする第1のバレルシフタと、マツピングパ
ターンを格納するレジスタと、前記マツピングパターン
によって制御され、前記バレルシフタの出力データを拡
大あるいは縮小する拡大縮小回路と、前記回路の出力デ
ータをシフトする第2のバレルシフタと、第2のバレル
シフタの出力データを格納する第2のレジスタとを具備
したことを特徴とする画像の拡大縮小装置。 (2)拡大比がn7m 、縮小比がm/n(n)m)と
したとき、第1および第2のレジスタは2nビツト、第
1のバレルシフタは入口が2nビツト、出口がnピット
、第2のバレルシフタは入口がnピット、出口が2nビ
ツトで各々構成される事を特徴とする特許請求の範囲第
1項記載の画像の拡大縮小装置。 3 ベーン 21の各画表X、 、X、 −−−−−−X、、 l一
対応寺A絡子本発明は画像情報の拡大あるいは縮小を行
う装置に関する。 従来例の構成とその問題点 記憶装置の容量の拡大が進み、手書文字9図形などのデ
ータをコード化せず、そのまま画像情報として扱い編集
などを行う装置が増えつつある。 この分野では画像情報の高速な拡大縮小などの処理に対
する要求が高まっている。 はじめに画像の拡大縮小について簡単に説明する。 第1図に示すように格子点上に1次元的に配置されたn
個の画素x1.x2.・・・・・・xnからなる画像X
を、m個の画素Z1.z2・・・・・・Zmからなる画
像2へ縮小する場合を考える。図の例ではn=8゜m
= 5である。Xから2への変換(マツピング)は第2
図に示すようにして実施できる。第2図において24a
、24b 、・・・・・・24hは勾配m−58 の直線23に1番近い格子点である。原画データ&I’
J−JT:+11!ヒ−1;メ11ミ≧−1’−2−8
’ば−L)ノゝ1JメILL)/++71ffJカデー
タ22の各画素Z z ・・・・・・Z5へ変換1 I
2I される。xl とx2とが21に、X6とx7が24に
変換されるが、Zl、z4として若い番号のxl。 x6をとることにする。 拡大の場合は上記と逆に縮小の場合の原画データ、出力
データを各々出力データ、原画データと置き換えて見れ
ばよい、第3図は第2図に対応して拡大の場合を示す図
で、原画データ25が出力データ26に変換される様子
を示している。 従来は拡大縮小処理を次のように1画素毎に計算によっ
て行っていた。即ち第2図の縮小の場合には、原画デー
タ21の画素xiから出力データ22の画素z1への変
換式は例えば、 Z、←X。 1 で与えられる。(a)はaを越えない最大整数を表わす
。 第3図の拡大の場合には、xiからZj への変換式は
例えば、 Z・←X・ 】 l で与えられる。 しかしこの方法は変換式を画素毎に計算するため能率が
悪い。例えば第4図に示すような縦nア画素、横n 画
素からなる2次元画像41を、縦mア7画素横mx画素
からなる2次元画像42へ変換する場合、横方向の行の
nx画素からmx画素への変換の仕方は、縦方向の位置
には依存しない。縦方向の列のn 画素からmy画素へ
の変換の仕方も、横方向の位置に依存しない。従って最
初の行あるいは列の変換に際して計算した変換の仕方を
記憶しておけば、以後の変換では計算せずに済むのに従
来は毎回計算していたので変換に多大の時間を要した。 発明の目的 本発明は以上のような従来の方法の欠点を克服し、拡大
縮小処理を高速に行う装置の提供を目的としている。 発明の構成 本発明は、原画データを格納する第1のレジスタと、原
画データをシフトする第1のバレルシフタト、マツピン
グパターンを格納するレシスタト前記マツピングパター
ンによって制御され、原画データを拡大あるいは縮小し
、出力データを生成する拡大縮小回路と、出力データを
シフトする第2のバレルシフタと、出力データを格納す
る第2のレジスタとから構成される。 実施例の説明 以下本発明の実施例について説明する。 初めにマツピングパターンによる拡大縮小についテ説明
する。マツピングパターンは0又は1を成分とするベク
トルで、縮小の場合には原画の抽出すべき成分の位置を
示し、拡大の場合には原画の各成分の複写すべき回数を
指示する。 6 で ・ 第2図の縮小の場合のマツピングパターンはP−(Pl
、P2.P3.P4.P6.P6.P7.P8)−(’
+ 0.1,1,0,1,0.1)となる。これと原画
データXとの成分毎の論理積をとり、0の部分を圧縮し
て出力データZを得る。 P−(1,0,1,1,0,1,0,1)x−(xl、
x2.x3.x4.x6.x6.x7.x8)(PIX
i)−(Xl、 o、 X3. X4. o、 X6.
o、 X8)Z−(Xl、x3.x4.x6.x8)
第3図の拡大の場合のマツピングパターンは縮小の場合
と同じく P−(1,0,1,1,0,1,0,1)となり、これ
を左から参照しながら、1の場合に原画データを更新し
、0の場合は原画データを複写する。即ち P=(1,0,1,1,0,1,0,1)x−CA1.
x2.x3.x4.x6)ならば、 Z−(xl、xl、x2.x3.x3.x4.x4.x
6)となる。 7ペー 第4図のような2次元領域を、X方向の1行ずつ変換し
ていく場合には、X方向1行分のマツピングパターンを
初めに1回計算して記憶しておけば、2行目以降は記憶
したパターンを参照するだけで変換する事ができ高速化
が達成される。 以下の説明では、1画素1ビツトの2値画像に限定する
。又データバスの幅は8ビツトとし、処理は8ビット単
位で行われるものとする。各レジスタへの入出力は8ビ
ット単位でしか行えないものとする。8ビツトを1語と
も称することにする。 第6図は本発明の1実施例のブロック図である。 原画データはバス51を通して入力レジスタ62に格納
され、制御回路63により制御される第1のバレルシフ
タ64によってシフトされ、マツピングパターンにより
制御される拡大縮小回路66によって拡大あるいは縮小
され、第2のバレルシフタ66によってシフトされ、出
力レジスタ57に格納されバス61を通じて読み出され
る。 入力レジスタ62は2語16ビツトで構成され、上位及
び下位の1語8ビツトは独立に入出力可能8 ″ である。同図の左側を上位、右側を下位とする。 出力レジスタ57も同じく2語で構成され、上位。 下位の1語が独立に入出力可能である。第1のバレルシ
フタは入口16ビツト、出口8ビツト、第2のバレルシ
フタは入口8ビツト、出口16ビソトである。拡大縮小
回路は8ビツトずつ処理を行う。マツピングパターンは
処理装置60で算出され、レジスタ59に格納され8ビ
ツトずつ制御レジスタ58に読み出されて、拡大縮小回
路を制御する。 次に拡大縮小回路の構成例を示し、それだけでは高速処
理に不十分であるが、バレルシフタなど他の構成要素を
付加する事によって高速処理が可能になる事を示す。 拡大縮小回路は例えば第6図のように構成される。マツ
ピングパターンはレジスタ61から8ビツトずつ読み出
され制御レジスタ62に格納され、8ビツトの原画デー
タは入力レジスタ63に格納される。レジスタ63.6
2はクロックa、dによりデータを左方ヘシフトするシ
フトレジスタで、レジスタ63の左端のデータはバッフ
ァ65に格納される。クロックa、b、c、dは同じ同
波数でa、b、c、dの順で少しずつ位相の遅れたもの
である。クロックdによって出力されるマツピングパタ
ーン値eをスイッチ67により、縮小の場合はf側へ、
拡大の場合はq側へ接続する。 縮小の場合はレジスタ63の原画データの左端データは
、クロックaによってバッファ66に書き適寸れ、クロ
ックbによってレジスタ64のアドレスhの位置へ書き
込まれる。アドレスカウンタ66はパターン出力fが1
であればカウント動作し、レジスタ62のマツピングパ
ターンはクロックdによって左へシフトされる。クロッ
クa。 b、c、dが印加されるのを1サイクルとすると8サイ
クル後にはレジスタ64に第7図(a)に示す縮小デー
タが得られる。 拡大の場合はパターン出力qが1の時レジスタ63の原
画データをクロックaによってバッファ65に書き込み
、バッファ65のデータをクロックbによってレジスタ
64のアドレスh°の位置へ1o ぐ ・ 書き込む。クロックCによりアドレスカウンタ66が動
作し、クロックdによりレジスタ62のパターンが左ヘ
シフトされる。クロックa、b、c。 dが印加されるのを1サイクルとすると8サイクル後に
はレジスタ64に第7図(b)に示す拡大データが得ら
れる。 第6図の拡大縮小回路はマツピングパターンによって制
御されるので、1行目の変換で計算したパターンを記憶
しておけば2次元画像の拡大縮小を高速に処理すること
ができる。 しかし8サイクル分駆動後の3つのレジスタ62.63
.64の内容は、縮小の場合は第7図(a)に示すよう
にレジスタ62.63は空、レジスタ64は6ビツト目
まで充填されており、拡大の場合は(b)に示すように
レジスタ62は空、レジスタ64は一杯、レジスタ63
には3ビット残っている。 従って縮小の場合にはマツピングパターンと原画データ
とは8ビツトずつ供給し、出力データはレジスタ64が
一杯になった時点で読み出す必要11 ペーノ があり処理が面倒である。この処理をレジスタあふれ処
理と称することにする。拡大の場合にもマツピングパタ
ーンは8ビツトずつ供給し、出力データは8ビツトずつ
読み出せばよいが、原画データはレジスタ63が空にな
った時点で供給する必要があり、これも処理が面倒であ
る。この処理をレジスタ空処理と称することにする。 更に原画データを格納するメモリは通常8ビツトあるい
は16ピツトなどの単位で読み出しが可能なように構成
されているが、任意のビット位置から8ビツトあるいは
16ビツト分読み出せる構造になっておらず、特定の位
置からしか読み出せないのが普通である。この位置を語
境界と称することにする。原画データは常に語境界から
の8ビツトデータである。これに対し拡大縮小処理が丁
度語境界から始まり、語境界で終了するように指定され
る場合は少ない。従って語の途中から、次の語の途中ま
での1語分を処理する必要がありこれも面倒である。こ
の処理を語境界処理と称することにする。 12 ″ 前記の面倒な点を手際よく処理し高速々拡大縮小を可能
にする工夫が、第6図の2つの16ビツトレジスタ52
.57と、2つのバレルシフタ54.56である。 次にこれらの機能について説明する0 拡大縮小回路は、縮小の場合は縮小率を百として第8図
(a)に示すように原画データ8ビyトを左よせの5ビ
ツトの出力データに変換し、拡大の場合には拡大率を百
として第8図(b)に示すように左よせの原画データ5
ビツトを、8ビツトの出力データに変換する機能を有す
るものとする。 第1のバレルシフタ54は例えば第9図のヨウに構成さ
れる。第9図(a)におけるセル92は同図(C)のよ
うなトランスファゲートで、制御信号Sにより信号線p
とqの接続を断続することができる。 制御信号81〜s8のいずれかをオンすることにより原
画レジスタ52の中の2語16ビツトの原画データの任
意の8ビツトを選択することができる。図ではs6をオ
ンした結果を示している。xlを91の位置へ移すこと
はできないが、原画レジスタ52は上位、下位の8ビツ
トが独立に入出力可能なので、xイ を91へ移す場合
には下位8ビツトを読み出し、上位8ビットへ書き込ん
でSlをオンすればよい。 第2のバレルシフタ66は第9図(、)の入出力が入れ
換わった形になっており、入力の8ビツトを出力の16
ビツトの任意の位置へ移すことができる0 これらの回路によって第10図(−)の入力画像103
から同図中)の出力画像110への縮小あるいは入力画
像110から出力画像103への拡大がどのように行わ
れるかを次に説明する。第10図において縦線101は
8ビツトの語境界を表わし、斜線部102が1語8画素
を表わす。画像103は語104の6画素目から語10
7の5画素目までのn−24画素で、画像110は語1
11の3画素目から語113の1画素目までのm−15
画素である。即ち一一一倍の縮小又は百倍の拡4 8 大である。X方向を横、Y方向を縦とすると縦方向は画
像103も画像11oも3画素とする。縮4 小拡大は1番下の行を横方向に処理し、第1行が終了し
たらその上の行へ移るという順で行う。 処理開始に先立って横方向の原画素数n−24と出力画
素数m−15とからマツピングパターンを算出し、1語
分ずつ区切ってレジスタ59に格納する0この様子を第
11図に示す。この場合は1B=5 と約分できるから
3語分とも同じパター4 B ンになる。 縮小の場合を第5図、第10図と、第12図のデータの
流れに沿って説明する。 1行目初期設定。 (1)はじめに原画103の先頭の2語104゜105
を入力レジスタ52にセットする。この様子を第12図
121に示す。1語目のx6以後を縮小するからx1〜
x6の6画素は不用となる。これを表わすため入力カウ
ンタ127中に不要画素数C0=6をセットする。原画
の残り画素数n−24である。 出力画像110の先頭の1語111を出力レジスタ67
の上位側にセットし第12図126とする。 16へ一7゛ 出力レジスタ中の有効画素の数C8−2を出力カウンタ
129中にセットする。出力画の空き画素数m−16で
ある。入力カウンタ127、出力カウンタ129は第5
図の制御回路63の中にある。 <j=1 、l=1> (2) マツピングパターンレジスタ69から、マツピ
ングパターンの先頭の8ビツトを制御レジスタ68にセ
ットし123とする。マツピングパターン中の1の数C
pを、カウンタ128中にセットする。Cp−6である
。カラ/り128は第6図の制御回路53の中にある。 (3)第1のバレルシフタ64によりx6以後の8画素
を抽出する。シフトする数は入力カウンタ127の値C
8−6で与えられる。 (4] マツピングパターン123によって制御される
拡大縮小回路56により縮小されたデータ124を得る
。 (5)第2(7)バレルシフタ66により出力レジスタ
67のy3以降にデータ124を入れる。シフトする数
は出力カウンタ129の値C8−2,で与え16 られる。coはC34−co十Cp−2+5−7 と更
新される。 (6)出力カウンタ値coが8を越えていないので転送
しない。 (′7)原画残り画素数nを更新。縮小の場合は8画素
ずつ消費されるから n←n−8=16となる。 <j=2.l=1> (8)入力レジスタ52の下位8ビツトを上位8ビツト
へ移し、下位8ビツトには(j+1)語口の原画データ
8ビツトを入力し131とする。第1語口と第3語口と
は同じ記号x1.x2・・・・・・x8で表わしたが、
別のデータである。入力カウンタ12了の値C1は変化
しない。 (9) ステップ(2)へ戻って(5)マで処理する。 第12図では131〜134で示す。 (10)縮小されたデータ134を第2のバレルシフタ
56によって出力レジスタ129の値7だけシフトレ出
力データ136とする。出力カウンタ129の値C8は Co←Co+Cp−7+5−12 となる。 (11)出力カウンタ値C8が8を越えているので上位
8ビツトを出力画像110の1語目の語111へ転送し
、下位8ビツトを上位へ移す。出力カウンタ129の値
C8はC34−co−8−4となる。 14−l+1−2と更新される。 (12) n4−n −8= 8 <T=3.1=2> (13)原画の(j+1)語口を入力レジスタ62の下
位へセットし141とする。縮小の指定は4語目のx′
6までであったからこれは1行目の最終データである。 ステップ(2)〜(句の処理を行い縮小データ144を
得、1oの処理によって出力データ146を得る。出力
カウンタ129の値C6はCo4−co+6−9となる
。 (14)出力カウンタ値C0が8を越えているので、出
力レジスタ57の上位8ビツトを出力画像110の語1
12へ転送し、下位を上位へ移す。出力カウンタ129
の値C8はC8+−co−8−1となる。 d4−7+1=3 18 ・ (15)n0n−8−〇 〈1行目終了処理〉 (16)出力データ146の1ビyト目と出力画像11
0の語113の2ビツト目以降とを合わせ語113へ書
き込む。これは例えば出力データの2ビツト目以降を0
とし、出力画像110の語113の1ビツト目を0とし
、ビット毎の論理和をとればよい。 2行目。 (17)縦方向の拡大縮小率に応じて次の原理の行とし
てどれを採ればよいかを決める。例えば−倍の縮小なら
次の原画は3行上になるし、3倍の拡大なら次の原画も
今と同じ行になる。原画の行が定まったら2〜16をく
り返す。マンピングパターンは1行目と同じものが使え
る。 従ってマツピングパターンレジスタ59は例えばスタッ
ク形式で構成し、1行分終了したらスタックポインタを
初期位置へ戻すようにして使用すると便利である。 以上の処理の流れを第13図に示す。 19へ一/ 以上説明したように第6図における2つの16ビツトレ
ジスタ52.57および2つのバレルシフタ54.56
を備えることにより、レジスタあふれ処理、語境界処理
をする必要がなく、8ビツト毎の処理だけで済むので高
速動作が可能である。 次に拡大の場合について第6図、第10図、第14図に
よって説明する。 1行目初期設定。 (1)原画110の先頭の2語111.112を入力レ
ジスタ62にセットし151とする。1語目のy 以後
を拡大するからyl、y2は不用となる。 人力カウンタ127に不用画素数C1=2 をセットす
る。原画残り画素数m−15である。 出力画像103の先頭の1語104を出力レジスタ67
の上位側にセットし156とする。出力レジスタ中の有
効画素数C0−6を出力カウンタ129にセットする。 出力画の空さ画素数n=24である。 <j=1> (2) マツピングパターンレジスタ59から、マッ2
0 ピングパターンの先頭の8ビツトを制御レジスタ58に
セットし′153とする。マツピングパターンの中の1
の数Cをカウンター28中にセットする。Cp−5であ
る。 (3)第1のバレルシフタ54によりy3以後の8画素
を抽出する。シフトする数は入力カウンター27の値C
4=2で与えられる。 (4) マツピングパターン163により制御される拡
大縮小回路65により拡大されたデータ154を得る。 (5)第2のバレルシフタ66により出力レジスタ67
のx6以降にデータ164を入れる。シフトする数は出
力カウンター29の値C8−5で与えられる。 (6)出力レジスタ57の上位8ビツトを出力画103
の1語口の語104へ転送し、下位を上位へ移す。 114−11+1=2と更新される。 (7)出力画残り画素数nを更新。8画素生成されるか
らn←n−8=16となる。 (8)入力カウンタ127の値C1を更新。 C・←C・十〇 =2+5=7 1 1p <5=2> (9)入力カウンタ127の値C1が7で8を越えてい
ないので入力レジスタ52は操作しない。 (10) (2)へ戻って(8)まで処理する。第14
図では161〜166で示す。 14−l+ 1 =
3 、 n<−n−8−8,C14−C1+Cp−7+
6−12となる。 <i=3> (11)次のマツピングパターンの1ビツト目が1であ
るから入力カウンタ127の値C1=12はそのままで
よい。 (12) C,が8を越えているので入力レジスタ52
の下位8ビツトを上位へ移し、原画110の次の語11
3を下位へ入れる。入力カウンタ127の値C8はC1
←C1−8=4となる。 (13) (2)へ戻って(8)まで処理する。第14
図では172〜177で示す。 114−11 + 1
:4 、 n+−n−8=O,C1+−C1+Cp=
4+5=9となる。 〈1行目最終処理。〉 22 ・ (14)出力データ177のC8−6ビツトと出力画1
03の1語口の語107の後3ビツトを合わせ語107
へ書き込む。 2行目。 (16)縦方向の拡大縮小率に応じて次の原画の行を決
メ、(2)〜(14)をくり返す。マツピングパターン
は1行目と同じものを使うことができる。 以上の処理の流れを第16図に示す。 以上説明したように拡大の場合においても縮小の場合と
同様、第5図に示した2つのレジスタ52゜57および
2つのバレルシフタ54.56を4fNよることによシ
、レジスタ空処理、語境界処理が不要で、高速動作が可
能である。 なお上記実施例では第1のバレルシフタは入口16ビツ
ト、出口8ビツトとしたが、拡大縮小回路の処理がnビ
ット単位であれば、各々2nビツト、nビット以上あれ
ばよい。第2のバレルシフタについても同様である。入
力、出力各レジスタも2nビツト以上あればよい。 またバスの幅は8ビツトに限定されない。拡大23I\
−ノ 縮小回路の処理単位も8ビツトに限定されない。 なお以上の説明では2値画像に限定したが、中間調画像
も2値化すれば同様に拡大縮小することができる。 発明の詳細 な説明したように本発明は、入力、出力レジスタと、第
1.第2のバレルシフタと、マツピングパターンを格納
するレジスタと、マツピングパターンによって制御され
る拡大縮小回路を備えた拡大縮小装置で、画像の拡大縮
小を従来に比較して10倍以上の高速で処理することが
可能である。 4、図面の簡単な説明 第1図は画像の拡大縮小の概念を説明する図、第2図、
第3図は縮小拡大の方法を示す図、第4図は2次元画像
の拡大縮小の概念を説明する図、第6図は本発明の実施
例のブロック図、第6図は本発明における拡大縮小回路
の実施例を示す回路図、第7図は拡大縮小回路のレジス
タの内容を示す図、第8図は本発明の拡大縮小回路の機
能を説明する図、第9図は第6図のバレルシフタの部分
24 の構成図、第10図は本発明の装置で処理を行う画像を
示す図、第11図は第6図のマッピングパターンレジス
タヘマッピングパターンが格納される様子を示す図、第
12図は本発明による画像データの縮小の過程を示す図
、第13図は本発明による縮小の処理の流れを示すフロ
ーチャート図、第14図は本発明による画像データの拡
大の過程を示す図、第15図は本発明による拡大の処理
の流れを示すフローチャート図であるe 21.26・・・・・原画、22.26・・・・・・出
力画、23・・・・・・拡大縮小変換のための直線、2
4・・・・・・23に1番近い格子点、41・・・・・
・2次元画像原画、42・・・・・・2次元画像出力画
、61・・・・・・バス、52・・・・・・入力レジス
タ、63・・・・・・制御回路、54・・・・・第1の
バレルシフタ、66・・・・・拡大縮小回路、56・・
・・・・第2のバレルシフタ、57・・・・・・出力レ
ジスタ、58.62・・・・・制御レジスタ、59.6
1・・・・・・・・・レジスタ、60・・・・・処理装
置、63・・・・・入力レジスタ、64・・・・・・出
力レジスタ、66・・・・・・バッファ、66・・・・
・・アドレスカウンタ、67・・・・・スイッチ、92
・・・・・・セル、1o1・中・・語境界、103゜1
10・・・・・・2次元画像、127・・川・入力カウ
ンタ、128・・・・・・カウンタ、129・・・・・
・出力カウンタ。 代理人の氏名 弁理士 中 尾 敏 男 はが1名第7
図 (α) 曲四四コ 四==アIJ 第12図 44G ×′ 口
る図、第2図、第3図は書方木発鱗≠#袢4縮小拡大の
方法を示す図、第4図は2次元画像の拡大縮小の概念を
説明する図、第6図は本発明の実施例のブロック図、第
6図は本発明における拡大縮小回路の実施例を示す回路
図、第7図は拡大縮小回路のレジスタの内容を示す図、
第8図は本発明の拡大縮小回路の機能を説明する図、第
9 図ハ第5図のバレルシフタの部分の構成図、第10
図は本発明の装置で処理を行う画像を示す図、第11図
は第5図のマソピングパターンレジスタヘマッピングパ
ターンが格納される様子を示す図、第12図は本発明に
よる画像データの縮小の過程を示す図、第13図は本発
明による縮小の処理の流れを示すフローチャート図、第
14図は本発明264−ジ による画像データの拡大の過程を示す図、第16図は本
発明による拡大の処理の流れを示すフローチャート図で
ある。 21.25・・・・・・原画、22.26・・・・・・
出力画、23・・・・・・拡大縮小変換のだめの直線、
24・・・・・・23に1番近い格子点、41・・・・
・・2次元画像原画、42・・・・・・2次元画像出力
画、51・・・・・・バス、52・・・・・・入力レジ
スタ、63・・・・・・制御回路、54・・・・・・第
1のバレルシフタ、66・・・・・・拡大縮小回路、6
6・・・・・・第2のバレルシフタ、67・・・・・・
出力レジスタ、58.62・・・・・・制御レジスタ、
59.61・・・・・・レジスタ、60・・・・・・処
理装置、63・・・・・・入力レジスタ、64・・・・
・・出力レジスタ、66・・・・・・バッファ、66・
・・・・・アドレスカウンタ、67・・・・・・スイッ
チ、92・・・・・・セル、101・・・・・・語境界
、103 、110・・・・・・2次元画像、127・
・・・・・入力カウンタ、128・・・・・・カウンタ
、129・・・・・・出力カウンタ。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名@1
図 ! ≧ 綜 N −−関 −へ の つ ぐ禰 第10図 ハ 第11図 第12図 7,1つ ア: r71 11+0 ^ L−m−」 綜 −491− ロロ 口 口 口 た p 鼠 に 辞 さ 手続補正書 l事件の表示 昭和68年特許願第182110号 2発明の名称 画像の拡大縮小装置 3補正をする者 事件との関係 特 許 出 願 人 任 所 大阪府門真市大字門真1006番地名 称 (
582)松下電器産業株式会社代表者 山 下 俊 彦 4代理人 〒571 住 所 大阪府門真市大字門真1006番地松下電器産
業株式会社内 3−8各日日の寓)tmブト貢φ日口 明 細 書 1、発明の名称 画像の拡大縮小装置 2、特許請求の範囲 (1)原画データを格納する第1のレジスタと、前記デ
ータをシフトする第1のバレルシフタと、マツピングパ
ターンを格納するレジスタと、前記マツピングパターン
によって制御され、前記バレルシフタの出力データを拡
大あるいは縮小する拡大縮小回路と、前記回路の出力デ
ータをシフトする第2のバレルシフタと、第2のバレル
シフタの出力データを格納する第2のレジスタとを具備
したことを特徴とする画像の拡大縮小装置。 (2)拡大比がn7m 、縮小比がm/n(n)m)と
したとき、第1および第2のレジスタは2nビツト、第
1のバレルシフタは入口が2nビツト、出口がnピット
、第2のバレルシフタは入口がnピット、出口が2nビ
ツトで各々構成される事を特徴とする特許請求の範囲第
1項記載の画像の拡大縮小装置。 3 ベーン 21の各画表X、 、X、 −−−−−−X、、 l一
対応寺A絡子本発明は画像情報の拡大あるいは縮小を行
う装置に関する。 従来例の構成とその問題点 記憶装置の容量の拡大が進み、手書文字9図形などのデ
ータをコード化せず、そのまま画像情報として扱い編集
などを行う装置が増えつつある。 この分野では画像情報の高速な拡大縮小などの処理に対
する要求が高まっている。 はじめに画像の拡大縮小について簡単に説明する。 第1図に示すように格子点上に1次元的に配置されたn
個の画素x1.x2.・・・・・・xnからなる画像X
を、m個の画素Z1.z2・・・・・・Zmからなる画
像2へ縮小する場合を考える。図の例ではn=8゜m
= 5である。Xから2への変換(マツピング)は第2
図に示すようにして実施できる。第2図において24a
、24b 、・・・・・・24hは勾配m−58 の直線23に1番近い格子点である。原画データ&I’
J−JT:+11!ヒ−1;メ11ミ≧−1’−2−8
’ば−L)ノゝ1JメILL)/++71ffJカデー
タ22の各画素Z z ・・・・・・Z5へ変換1 I
2I される。xl とx2とが21に、X6とx7が24に
変換されるが、Zl、z4として若い番号のxl。 x6をとることにする。 拡大の場合は上記と逆に縮小の場合の原画データ、出力
データを各々出力データ、原画データと置き換えて見れ
ばよい、第3図は第2図に対応して拡大の場合を示す図
で、原画データ25が出力データ26に変換される様子
を示している。 従来は拡大縮小処理を次のように1画素毎に計算によっ
て行っていた。即ち第2図の縮小の場合には、原画デー
タ21の画素xiから出力データ22の画素z1への変
換式は例えば、 Z、←X。 1 で与えられる。(a)はaを越えない最大整数を表わす
。 第3図の拡大の場合には、xiからZj への変換式は
例えば、 Z・←X・ 】 l で与えられる。 しかしこの方法は変換式を画素毎に計算するため能率が
悪い。例えば第4図に示すような縦nア画素、横n 画
素からなる2次元画像41を、縦mア7画素横mx画素
からなる2次元画像42へ変換する場合、横方向の行の
nx画素からmx画素への変換の仕方は、縦方向の位置
には依存しない。縦方向の列のn 画素からmy画素へ
の変換の仕方も、横方向の位置に依存しない。従って最
初の行あるいは列の変換に際して計算した変換の仕方を
記憶しておけば、以後の変換では計算せずに済むのに従
来は毎回計算していたので変換に多大の時間を要した。 発明の目的 本発明は以上のような従来の方法の欠点を克服し、拡大
縮小処理を高速に行う装置の提供を目的としている。 発明の構成 本発明は、原画データを格納する第1のレジスタと、原
画データをシフトする第1のバレルシフタト、マツピン
グパターンを格納するレシスタト前記マツピングパター
ンによって制御され、原画データを拡大あるいは縮小し
、出力データを生成する拡大縮小回路と、出力データを
シフトする第2のバレルシフタと、出力データを格納す
る第2のレジスタとから構成される。 実施例の説明 以下本発明の実施例について説明する。 初めにマツピングパターンによる拡大縮小についテ説明
する。マツピングパターンは0又は1を成分とするベク
トルで、縮小の場合には原画の抽出すべき成分の位置を
示し、拡大の場合には原画の各成分の複写すべき回数を
指示する。 6 で ・ 第2図の縮小の場合のマツピングパターンはP−(Pl
、P2.P3.P4.P6.P6.P7.P8)−(’
+ 0.1,1,0,1,0.1)となる。これと原画
データXとの成分毎の論理積をとり、0の部分を圧縮し
て出力データZを得る。 P−(1,0,1,1,0,1,0,1)x−(xl、
x2.x3.x4.x6.x6.x7.x8)(PIX
i)−(Xl、 o、 X3. X4. o、 X6.
o、 X8)Z−(Xl、x3.x4.x6.x8)
第3図の拡大の場合のマツピングパターンは縮小の場合
と同じく P−(1,0,1,1,0,1,0,1)となり、これ
を左から参照しながら、1の場合に原画データを更新し
、0の場合は原画データを複写する。即ち P=(1,0,1,1,0,1,0,1)x−CA1.
x2.x3.x4.x6)ならば、 Z−(xl、xl、x2.x3.x3.x4.x4.x
6)となる。 7ペー 第4図のような2次元領域を、X方向の1行ずつ変換し
ていく場合には、X方向1行分のマツピングパターンを
初めに1回計算して記憶しておけば、2行目以降は記憶
したパターンを参照するだけで変換する事ができ高速化
が達成される。 以下の説明では、1画素1ビツトの2値画像に限定する
。又データバスの幅は8ビツトとし、処理は8ビット単
位で行われるものとする。各レジスタへの入出力は8ビ
ット単位でしか行えないものとする。8ビツトを1語と
も称することにする。 第6図は本発明の1実施例のブロック図である。 原画データはバス51を通して入力レジスタ62に格納
され、制御回路63により制御される第1のバレルシフ
タ64によってシフトされ、マツピングパターンにより
制御される拡大縮小回路66によって拡大あるいは縮小
され、第2のバレルシフタ66によってシフトされ、出
力レジスタ57に格納されバス61を通じて読み出され
る。 入力レジスタ62は2語16ビツトで構成され、上位及
び下位の1語8ビツトは独立に入出力可能8 ″ である。同図の左側を上位、右側を下位とする。 出力レジスタ57も同じく2語で構成され、上位。 下位の1語が独立に入出力可能である。第1のバレルシ
フタは入口16ビツト、出口8ビツト、第2のバレルシ
フタは入口8ビツト、出口16ビソトである。拡大縮小
回路は8ビツトずつ処理を行う。マツピングパターンは
処理装置60で算出され、レジスタ59に格納され8ビ
ツトずつ制御レジスタ58に読み出されて、拡大縮小回
路を制御する。 次に拡大縮小回路の構成例を示し、それだけでは高速処
理に不十分であるが、バレルシフタなど他の構成要素を
付加する事によって高速処理が可能になる事を示す。 拡大縮小回路は例えば第6図のように構成される。マツ
ピングパターンはレジスタ61から8ビツトずつ読み出
され制御レジスタ62に格納され、8ビツトの原画デー
タは入力レジスタ63に格納される。レジスタ63.6
2はクロックa、dによりデータを左方ヘシフトするシ
フトレジスタで、レジスタ63の左端のデータはバッフ
ァ65に格納される。クロックa、b、c、dは同じ同
波数でa、b、c、dの順で少しずつ位相の遅れたもの
である。クロックdによって出力されるマツピングパタ
ーン値eをスイッチ67により、縮小の場合はf側へ、
拡大の場合はq側へ接続する。 縮小の場合はレジスタ63の原画データの左端データは
、クロックaによってバッファ66に書き適寸れ、クロ
ックbによってレジスタ64のアドレスhの位置へ書き
込まれる。アドレスカウンタ66はパターン出力fが1
であればカウント動作し、レジスタ62のマツピングパ
ターンはクロックdによって左へシフトされる。クロッ
クa。 b、c、dが印加されるのを1サイクルとすると8サイ
クル後にはレジスタ64に第7図(a)に示す縮小デー
タが得られる。 拡大の場合はパターン出力qが1の時レジスタ63の原
画データをクロックaによってバッファ65に書き込み
、バッファ65のデータをクロックbによってレジスタ
64のアドレスh°の位置へ1o ぐ ・ 書き込む。クロックCによりアドレスカウンタ66が動
作し、クロックdによりレジスタ62のパターンが左ヘ
シフトされる。クロックa、b、c。 dが印加されるのを1サイクルとすると8サイクル後に
はレジスタ64に第7図(b)に示す拡大データが得ら
れる。 第6図の拡大縮小回路はマツピングパターンによって制
御されるので、1行目の変換で計算したパターンを記憶
しておけば2次元画像の拡大縮小を高速に処理すること
ができる。 しかし8サイクル分駆動後の3つのレジスタ62.63
.64の内容は、縮小の場合は第7図(a)に示すよう
にレジスタ62.63は空、レジスタ64は6ビツト目
まで充填されており、拡大の場合は(b)に示すように
レジスタ62は空、レジスタ64は一杯、レジスタ63
には3ビット残っている。 従って縮小の場合にはマツピングパターンと原画データ
とは8ビツトずつ供給し、出力データはレジスタ64が
一杯になった時点で読み出す必要11 ペーノ があり処理が面倒である。この処理をレジスタあふれ処
理と称することにする。拡大の場合にもマツピングパタ
ーンは8ビツトずつ供給し、出力データは8ビツトずつ
読み出せばよいが、原画データはレジスタ63が空にな
った時点で供給する必要があり、これも処理が面倒であ
る。この処理をレジスタ空処理と称することにする。 更に原画データを格納するメモリは通常8ビツトあるい
は16ピツトなどの単位で読み出しが可能なように構成
されているが、任意のビット位置から8ビツトあるいは
16ビツト分読み出せる構造になっておらず、特定の位
置からしか読み出せないのが普通である。この位置を語
境界と称することにする。原画データは常に語境界から
の8ビツトデータである。これに対し拡大縮小処理が丁
度語境界から始まり、語境界で終了するように指定され
る場合は少ない。従って語の途中から、次の語の途中ま
での1語分を処理する必要がありこれも面倒である。こ
の処理を語境界処理と称することにする。 12 ″ 前記の面倒な点を手際よく処理し高速々拡大縮小を可能
にする工夫が、第6図の2つの16ビツトレジスタ52
.57と、2つのバレルシフタ54.56である。 次にこれらの機能について説明する0 拡大縮小回路は、縮小の場合は縮小率を百として第8図
(a)に示すように原画データ8ビyトを左よせの5ビ
ツトの出力データに変換し、拡大の場合には拡大率を百
として第8図(b)に示すように左よせの原画データ5
ビツトを、8ビツトの出力データに変換する機能を有す
るものとする。 第1のバレルシフタ54は例えば第9図のヨウに構成さ
れる。第9図(a)におけるセル92は同図(C)のよ
うなトランスファゲートで、制御信号Sにより信号線p
とqの接続を断続することができる。 制御信号81〜s8のいずれかをオンすることにより原
画レジスタ52の中の2語16ビツトの原画データの任
意の8ビツトを選択することができる。図ではs6をオ
ンした結果を示している。xlを91の位置へ移すこと
はできないが、原画レジスタ52は上位、下位の8ビツ
トが独立に入出力可能なので、xイ を91へ移す場合
には下位8ビツトを読み出し、上位8ビットへ書き込ん
でSlをオンすればよい。 第2のバレルシフタ66は第9図(、)の入出力が入れ
換わった形になっており、入力の8ビツトを出力の16
ビツトの任意の位置へ移すことができる0 これらの回路によって第10図(−)の入力画像103
から同図中)の出力画像110への縮小あるいは入力画
像110から出力画像103への拡大がどのように行わ
れるかを次に説明する。第10図において縦線101は
8ビツトの語境界を表わし、斜線部102が1語8画素
を表わす。画像103は語104の6画素目から語10
7の5画素目までのn−24画素で、画像110は語1
11の3画素目から語113の1画素目までのm−15
画素である。即ち一一一倍の縮小又は百倍の拡4 8 大である。X方向を横、Y方向を縦とすると縦方向は画
像103も画像11oも3画素とする。縮4 小拡大は1番下の行を横方向に処理し、第1行が終了し
たらその上の行へ移るという順で行う。 処理開始に先立って横方向の原画素数n−24と出力画
素数m−15とからマツピングパターンを算出し、1語
分ずつ区切ってレジスタ59に格納する0この様子を第
11図に示す。この場合は1B=5 と約分できるから
3語分とも同じパター4 B ンになる。 縮小の場合を第5図、第10図と、第12図のデータの
流れに沿って説明する。 1行目初期設定。 (1)はじめに原画103の先頭の2語104゜105
を入力レジスタ52にセットする。この様子を第12図
121に示す。1語目のx6以後を縮小するからx1〜
x6の6画素は不用となる。これを表わすため入力カウ
ンタ127中に不要画素数C0=6をセットする。原画
の残り画素数n−24である。 出力画像110の先頭の1語111を出力レジスタ67
の上位側にセットし第12図126とする。 16へ一7゛ 出力レジスタ中の有効画素の数C8−2を出力カウンタ
129中にセットする。出力画の空き画素数m−16で
ある。入力カウンタ127、出力カウンタ129は第5
図の制御回路63の中にある。 <j=1 、l=1> (2) マツピングパターンレジスタ69から、マツピ
ングパターンの先頭の8ビツトを制御レジスタ68にセ
ットし123とする。マツピングパターン中の1の数C
pを、カウンタ128中にセットする。Cp−6である
。カラ/り128は第6図の制御回路53の中にある。 (3)第1のバレルシフタ64によりx6以後の8画素
を抽出する。シフトする数は入力カウンタ127の値C
8−6で与えられる。 (4] マツピングパターン123によって制御される
拡大縮小回路56により縮小されたデータ124を得る
。 (5)第2(7)バレルシフタ66により出力レジスタ
67のy3以降にデータ124を入れる。シフトする数
は出力カウンタ129の値C8−2,で与え16 られる。coはC34−co十Cp−2+5−7 と更
新される。 (6)出力カウンタ値coが8を越えていないので転送
しない。 (′7)原画残り画素数nを更新。縮小の場合は8画素
ずつ消費されるから n←n−8=16となる。 <j=2.l=1> (8)入力レジスタ52の下位8ビツトを上位8ビツト
へ移し、下位8ビツトには(j+1)語口の原画データ
8ビツトを入力し131とする。第1語口と第3語口と
は同じ記号x1.x2・・・・・・x8で表わしたが、
別のデータである。入力カウンタ12了の値C1は変化
しない。 (9) ステップ(2)へ戻って(5)マで処理する。 第12図では131〜134で示す。 (10)縮小されたデータ134を第2のバレルシフタ
56によって出力レジスタ129の値7だけシフトレ出
力データ136とする。出力カウンタ129の値C8は Co←Co+Cp−7+5−12 となる。 (11)出力カウンタ値C8が8を越えているので上位
8ビツトを出力画像110の1語目の語111へ転送し
、下位8ビツトを上位へ移す。出力カウンタ129の値
C8はC34−co−8−4となる。 14−l+1−2と更新される。 (12) n4−n −8= 8 <T=3.1=2> (13)原画の(j+1)語口を入力レジスタ62の下
位へセットし141とする。縮小の指定は4語目のx′
6までであったからこれは1行目の最終データである。 ステップ(2)〜(句の処理を行い縮小データ144を
得、1oの処理によって出力データ146を得る。出力
カウンタ129の値C6はCo4−co+6−9となる
。 (14)出力カウンタ値C0が8を越えているので、出
力レジスタ57の上位8ビツトを出力画像110の語1
12へ転送し、下位を上位へ移す。出力カウンタ129
の値C8はC8+−co−8−1となる。 d4−7+1=3 18 ・ (15)n0n−8−〇 〈1行目終了処理〉 (16)出力データ146の1ビyト目と出力画像11
0の語113の2ビツト目以降とを合わせ語113へ書
き込む。これは例えば出力データの2ビツト目以降を0
とし、出力画像110の語113の1ビツト目を0とし
、ビット毎の論理和をとればよい。 2行目。 (17)縦方向の拡大縮小率に応じて次の原理の行とし
てどれを採ればよいかを決める。例えば−倍の縮小なら
次の原画は3行上になるし、3倍の拡大なら次の原画も
今と同じ行になる。原画の行が定まったら2〜16をく
り返す。マンピングパターンは1行目と同じものが使え
る。 従ってマツピングパターンレジスタ59は例えばスタッ
ク形式で構成し、1行分終了したらスタックポインタを
初期位置へ戻すようにして使用すると便利である。 以上の処理の流れを第13図に示す。 19へ一/ 以上説明したように第6図における2つの16ビツトレ
ジスタ52.57および2つのバレルシフタ54.56
を備えることにより、レジスタあふれ処理、語境界処理
をする必要がなく、8ビツト毎の処理だけで済むので高
速動作が可能である。 次に拡大の場合について第6図、第10図、第14図に
よって説明する。 1行目初期設定。 (1)原画110の先頭の2語111.112を入力レ
ジスタ62にセットし151とする。1語目のy 以後
を拡大するからyl、y2は不用となる。 人力カウンタ127に不用画素数C1=2 をセットす
る。原画残り画素数m−15である。 出力画像103の先頭の1語104を出力レジスタ67
の上位側にセットし156とする。出力レジスタ中の有
効画素数C0−6を出力カウンタ129にセットする。 出力画の空さ画素数n=24である。 <j=1> (2) マツピングパターンレジスタ59から、マッ2
0 ピングパターンの先頭の8ビツトを制御レジスタ58に
セットし′153とする。マツピングパターンの中の1
の数Cをカウンター28中にセットする。Cp−5であ
る。 (3)第1のバレルシフタ54によりy3以後の8画素
を抽出する。シフトする数は入力カウンター27の値C
4=2で与えられる。 (4) マツピングパターン163により制御される拡
大縮小回路65により拡大されたデータ154を得る。 (5)第2のバレルシフタ66により出力レジスタ67
のx6以降にデータ164を入れる。シフトする数は出
力カウンター29の値C8−5で与えられる。 (6)出力レジスタ57の上位8ビツトを出力画103
の1語口の語104へ転送し、下位を上位へ移す。 114−11+1=2と更新される。 (7)出力画残り画素数nを更新。8画素生成されるか
らn←n−8=16となる。 (8)入力カウンタ127の値C1を更新。 C・←C・十〇 =2+5=7 1 1p <5=2> (9)入力カウンタ127の値C1が7で8を越えてい
ないので入力レジスタ52は操作しない。 (10) (2)へ戻って(8)まで処理する。第14
図では161〜166で示す。 14−l+ 1 =
3 、 n<−n−8−8,C14−C1+Cp−7+
6−12となる。 <i=3> (11)次のマツピングパターンの1ビツト目が1であ
るから入力カウンタ127の値C1=12はそのままで
よい。 (12) C,が8を越えているので入力レジスタ52
の下位8ビツトを上位へ移し、原画110の次の語11
3を下位へ入れる。入力カウンタ127の値C8はC1
←C1−8=4となる。 (13) (2)へ戻って(8)まで処理する。第14
図では172〜177で示す。 114−11 + 1
:4 、 n+−n−8=O,C1+−C1+Cp=
4+5=9となる。 〈1行目最終処理。〉 22 ・ (14)出力データ177のC8−6ビツトと出力画1
03の1語口の語107の後3ビツトを合わせ語107
へ書き込む。 2行目。 (16)縦方向の拡大縮小率に応じて次の原画の行を決
メ、(2)〜(14)をくり返す。マツピングパターン
は1行目と同じものを使うことができる。 以上の処理の流れを第16図に示す。 以上説明したように拡大の場合においても縮小の場合と
同様、第5図に示した2つのレジスタ52゜57および
2つのバレルシフタ54.56を4fNよることによシ
、レジスタ空処理、語境界処理が不要で、高速動作が可
能である。 なお上記実施例では第1のバレルシフタは入口16ビツ
ト、出口8ビツトとしたが、拡大縮小回路の処理がnビ
ット単位であれば、各々2nビツト、nビット以上あれ
ばよい。第2のバレルシフタについても同様である。入
力、出力各レジスタも2nビツト以上あればよい。 またバスの幅は8ビツトに限定されない。拡大23I\
−ノ 縮小回路の処理単位も8ビツトに限定されない。 なお以上の説明では2値画像に限定したが、中間調画像
も2値化すれば同様に拡大縮小することができる。 発明の詳細 な説明したように本発明は、入力、出力レジスタと、第
1.第2のバレルシフタと、マツピングパターンを格納
するレジスタと、マツピングパターンによって制御され
る拡大縮小回路を備えた拡大縮小装置で、画像の拡大縮
小を従来に比較して10倍以上の高速で処理することが
可能である。 4、図面の簡単な説明 第1図は画像の拡大縮小の概念を説明する図、第2図、
第3図は縮小拡大の方法を示す図、第4図は2次元画像
の拡大縮小の概念を説明する図、第6図は本発明の実施
例のブロック図、第6図は本発明における拡大縮小回路
の実施例を示す回路図、第7図は拡大縮小回路のレジス
タの内容を示す図、第8図は本発明の拡大縮小回路の機
能を説明する図、第9図は第6図のバレルシフタの部分
24 の構成図、第10図は本発明の装置で処理を行う画像を
示す図、第11図は第6図のマッピングパターンレジス
タヘマッピングパターンが格納される様子を示す図、第
12図は本発明による画像データの縮小の過程を示す図
、第13図は本発明による縮小の処理の流れを示すフロ
ーチャート図、第14図は本発明による画像データの拡
大の過程を示す図、第15図は本発明による拡大の処理
の流れを示すフローチャート図であるe 21.26・・・・・原画、22.26・・・・・・出
力画、23・・・・・・拡大縮小変換のための直線、2
4・・・・・・23に1番近い格子点、41・・・・・
・2次元画像原画、42・・・・・・2次元画像出力画
、61・・・・・・バス、52・・・・・・入力レジス
タ、63・・・・・・制御回路、54・・・・・第1の
バレルシフタ、66・・・・・拡大縮小回路、56・・
・・・・第2のバレルシフタ、57・・・・・・出力レ
ジスタ、58.62・・・・・制御レジスタ、59.6
1・・・・・・・・・レジスタ、60・・・・・処理装
置、63・・・・・入力レジスタ、64・・・・・・出
力レジスタ、66・・・・・・バッファ、66・・・・
・・アドレスカウンタ、67・・・・・スイッチ、92
・・・・・・セル、1o1・中・・語境界、103゜1
10・・・・・・2次元画像、127・・川・入力カウ
ンタ、128・・・・・・カウンタ、129・・・・・
・出力カウンタ。 代理人の氏名 弁理士 中 尾 敏 男 はが1名第7
図 (α) 曲四四コ 四==アIJ 第12図 44G ×′ 口
Claims (2)
- (1)原画データを格納する第1のレジスタと、前記デ
ータをシフトする第1のバレルシフタと、マツピングパ
ターンを格納するレジスタと、前記マツピングパターン
によって制御され、前記バレルシフタの出力データを拡
大あるいは縮小する拡大縮小回路と、前記回路の出力デ
ータをシフトする第2のバレルシフタと、第2のバレル
シフタの出力データを格納する第2のレジスタとを具備
したことを特徴とする画像の拡大縮小装置。 - (2)拡大比がn7m 、縮小比がm/n(n>m)と
したとき、第1および第2のレジスタは2nビツト、第
1のバレルシフタは入口が2nビツト、出口がnビット
、第2のバレルシフタは入口がnビット、出口が2nビ
ツトで各々構成される事を特徴とする特許請求の範囲第
1項記載の画像の拡大縮小装置。 27・ ・j
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58182110A JPS6073789A (ja) | 1983-09-29 | 1983-09-29 | 画像の拡大縮小装置 |
DE84306633T DE3486126T2 (de) | 1983-09-29 | 1984-09-28 | Expansions- und/oder ziehungsverfahren und -geraet fuer bilddaten. |
EP84306633A EP0143533B1 (en) | 1983-09-29 | 1984-09-28 | Image data expanding and/or contracting method and apparatus |
US06/655,690 US4747154A (en) | 1983-09-29 | 1984-09-28 | Image data expanding and/or contracting method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58182110A JPS6073789A (ja) | 1983-09-29 | 1983-09-29 | 画像の拡大縮小装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6073789A true JPS6073789A (ja) | 1985-04-25 |
Family
ID=16112504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58182110A Pending JPS6073789A (ja) | 1983-09-29 | 1983-09-29 | 画像の拡大縮小装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6073789A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6314279A (ja) * | 1986-07-04 | 1988-01-21 | Matsushita Electric Ind Co Ltd | 拡大・縮小デ−タ転送装置 |
JPS6398076A (ja) * | 1986-10-14 | 1988-04-28 | Fuji Xerox Co Ltd | 画情報縮小装置 |
JPS63157277A (ja) * | 1986-12-20 | 1988-06-30 | Fujitsu Ltd | イメ−ジデ−タ間引き方式 |
JPS63172379A (ja) * | 1987-01-10 | 1988-07-16 | Pfu Ltd | 画像デ−タ縮小装置 |
JPH01251178A (ja) * | 1988-03-31 | 1989-10-06 | Nec Corp | 画像拡大処理器 |
JPH02134687A (ja) * | 1988-11-15 | 1990-05-23 | Sharp Corp | 表示制御装置 |
-
1983
- 1983-09-29 JP JP58182110A patent/JPS6073789A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6314279A (ja) * | 1986-07-04 | 1988-01-21 | Matsushita Electric Ind Co Ltd | 拡大・縮小デ−タ転送装置 |
JPS6398076A (ja) * | 1986-10-14 | 1988-04-28 | Fuji Xerox Co Ltd | 画情報縮小装置 |
JPS63157277A (ja) * | 1986-12-20 | 1988-06-30 | Fujitsu Ltd | イメ−ジデ−タ間引き方式 |
JPS63172379A (ja) * | 1987-01-10 | 1988-07-16 | Pfu Ltd | 画像デ−タ縮小装置 |
JPH01251178A (ja) * | 1988-03-31 | 1989-10-06 | Nec Corp | 画像拡大処理器 |
JPH02134687A (ja) * | 1988-11-15 | 1990-05-23 | Sharp Corp | 表示制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103473735B (zh) | 图形处理装置和方法 | |
TW378312B (en) | Circuit for determining non-homogeneous second order perspective texture mapping coordinates using linear interpolation | |
JP2002152498A (ja) | 画像処理方法および装置 | |
EP0143533B1 (en) | Image data expanding and/or contracting method and apparatus | |
JPS60157631A (ja) | 集積プログラマブルプロセツサ | |
JP2018022339A (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JPS6073789A (ja) | 画像の拡大縮小装置 | |
JP2670875B2 (ja) | 適応前進差分および整数算術を用いてパラメトリツク関数を表示する装置および整数算術を用いて実現する方法 | |
TW521207B (en) | Division calculator | |
CN114692073A (zh) | 基于卷积运算的数据处理方法及电路 | |
JP2002116729A (ja) | データ変換方法、画像表示方法、画像処理装置、画像表示装置、画像表示システムおよび画像処理システム | |
JP2553726B2 (ja) | 画像90度回転方法及び装置 | |
JPH02176879A (ja) | パラメータ曲線発生器 | |
JPS62195979A (ja) | フアクシミリ符号変換装置 | |
JPS6079473A (ja) | 画像の拡大縮小装置 | |
JP2737829B2 (ja) | イメージ・データの拡大変換方法及び装置 | |
JPS6054075A (ja) | 画像拡大縮小回路 | |
JPH0785266A (ja) | 画像回転装置 | |
JPS59197936A (ja) | デイジタル信号処理方式 | |
JP2005128618A (ja) | 除算器、露出制御装置および除算方法 | |
JPH0520450A (ja) | 画像処理装置 | |
JPH04299477A (ja) | 塗り潰し回路 | |
JP2512252B2 (ja) | 画像拡大縮小装置 | |
JPS63273176A (ja) | 空間フイルタリング装置 | |
JPS60211574A (ja) | 画像拡大縮小装置 |