JP2852257B2 - イメージデータ回転方法および装置 - Google Patents
イメージデータ回転方法および装置Info
- Publication number
- JP2852257B2 JP2852257B2 JP8198802A JP19880296A JP2852257B2 JP 2852257 B2 JP2852257 B2 JP 2852257B2 JP 8198802 A JP8198802 A JP 8198802A JP 19880296 A JP19880296 A JP 19880296A JP 2852257 B2 JP2852257 B2 JP 2852257B2
- Authority
- JP
- Japan
- Prior art keywords
- rotation
- horizontal line
- image data
- bit
- bit string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 30
- 238000010586 diagram Methods 0.000 description 15
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【0001】
【発明の属する技術分野】本発明はイメージデータ回転
方法および装置に関し、特にイメージデータを一次元メ
モリ上で処理するイメージデータ回転方法および装置に
関する。
方法および装置に関し、特にイメージデータを一次元メ
モリ上で処理するイメージデータ回転方法および装置に
関する。
【0002】
【従来の技術】二次元のイメージデータを回転させるに
はアフィン交換を行う方法があるが、この方法では各画
素単位に変換を行い回転後の位置へ転送するため、回転
するイメージデータが大きくなると莫大な計算量とメモ
リアクセスが発生し、高速に処理することが困難であ
る。
はアフィン交換を行う方法があるが、この方法では各画
素単位に変換を行い回転後の位置へ転送するため、回転
するイメージデータが大きくなると莫大な計算量とメモ
リアクセスが発生し、高速に処理することが困難であ
る。
【0003】たとえば、特開昭59−180777号公
報によれば、回転の中心点からの距離と回転角度に応じ
た量のシフト処理をX軸方向およびY軸方向に対して行
うことで実現しているが、これを実現する装置として
は、イメージデータを格納するメモリがX軸方向および
Y軸方向の両方向に対してシフト処理ができるメモリ
(二次元メモリ)である必要がある。したがってX軸方
向へのシフト処理のみが可能なメモリ(一次元メモリ)
上では、Y軸方向へシフト処理を行うことができないの
で適用できない。
報によれば、回転の中心点からの距離と回転角度に応じ
た量のシフト処理をX軸方向およびY軸方向に対して行
うことで実現しているが、これを実現する装置として
は、イメージデータを格納するメモリがX軸方向および
Y軸方向の両方向に対してシフト処理ができるメモリ
(二次元メモリ)である必要がある。したがってX軸方
向へのシフト処理のみが可能なメモリ(一次元メモリ)
上では、Y軸方向へシフト処理を行うことができないの
で適用できない。
【0004】また、特開平2−14750号公報は、ア
フィン変換を変形して二次元イメージデータをX軸方向
へシフトする大きさとY軸方向へシフトする大きさを求
め、二次元イメージデータをX軸,Y軸,X軸方向へと
3回のシフト処理を行うことによって回転後の歪みを改
善できるというものである。この方法も、二次元メモリ
を使用することが前提であるので、一次元メモリを使っ
た場合、適用できない。
フィン変換を変形して二次元イメージデータをX軸方向
へシフトする大きさとY軸方向へシフトする大きさを求
め、二次元イメージデータをX軸,Y軸,X軸方向へと
3回のシフト処理を行うことによって回転後の歪みを改
善できるというものである。この方法も、二次元メモリ
を使用することが前提であるので、一次元メモリを使っ
た場合、適用できない。
【0005】さらに、特開昭62−131375号公報
は、Y軸方向へのシフト処理を90度回転処理とX軸方
向へのシフト処理との組み合わせで実現することによっ
て一次元メモリ上で二次元イメージデータの回転を行う
ようにしたものである。この場合、一次元メモリ上で回
転処理を行えるようになるが、処理が多段階となりメモ
リアクセスが増えてしまうので、処理の高速化が充分に
図れない。
は、Y軸方向へのシフト処理を90度回転処理とX軸方
向へのシフト処理との組み合わせで実現することによっ
て一次元メモリ上で二次元イメージデータの回転を行う
ようにしたものである。この場合、一次元メモリ上で回
転処理を行えるようになるが、処理が多段階となりメモ
リアクセスが増えてしまうので、処理の高速化が充分に
図れない。
【0006】
【発明が解決しようとする課題】上記のように、従来の
二次元イメージデータの任意角回転方法は二次元メモリ
を使用することを前提とした高速化技術であり、特別な
ハードウェアが必要となるためシステムを安価に構築で
きない。
二次元イメージデータの任意角回転方法は二次元メモリ
を使用することを前提とした高速化技術であり、特別な
ハードウェアが必要となるためシステムを安価に構築で
きない。
【0007】また、二次元イメージデータを一次元メモ
リを使用して処理する場合、Y軸方向へのシフト処理を
90度回転処理とX軸方向へのシフト処理との組み合わ
せで実現しているので、充分な性能が達成できない。す
なわち、イメージデータを加工する全体の計算処理は簡
略化されるが、Y軸方向へのシフト処理を90度回転処
理とX軸方向へのシフト処理との組み合わせで実現する
必要があるためにメモリアクセス回数が増えるからであ
る。
リを使用して処理する場合、Y軸方向へのシフト処理を
90度回転処理とX軸方向へのシフト処理との組み合わ
せで実現しているので、充分な性能が達成できない。す
なわち、イメージデータを加工する全体の計算処理は簡
略化されるが、Y軸方向へのシフト処理を90度回転処
理とX軸方向へのシフト処理との組み合わせで実現する
必要があるためにメモリアクセス回数が増えるからであ
る。
【0008】本発明の目的は、上記のような欠点を改善
するために、イメージデータを回転する前後の同一ビッ
トの位置の変化に注目して回転後のビット列を構成する
ようにしたイメージデータ回転方法および装置を提供す
ることにある。
するために、イメージデータを回転する前後の同一ビッ
トの位置の変化に注目して回転後のビット列を構成する
ようにしたイメージデータ回転方法および装置を提供す
ることにある。
【0009】
【課題を解決するための手段】本発明によるイメージデ
ータ回転方法は、回転前のイメージデータの水平ライン
から回転後のイメージデータの水平ラインごとの連続し
たビット列を収集し、前記ビット列を一括して回転後の
ビット位置へ転送して回転後のイメージデータを生成す
るようにして実現される。
ータ回転方法は、回転前のイメージデータの水平ライン
から回転後のイメージデータの水平ラインごとの連続し
たビット列を収集し、前記ビット列を一括して回転後の
ビット位置へ転送して回転後のイメージデータを生成す
るようにして実現される。
【0010】さらに、本発明のイメージデータ回転方法
は、一次元メモリに展開された回転前のイメージデータ
の水平ラインから回転後のイメージデータの水平ライン
ごとの連続したビット列を収集し、前記ビット列を一括
して回転後のビット位置へ転送して回転後のイメージデ
ータを前記一次元メモリに展開するようにして実現され
る。
は、一次元メモリに展開された回転前のイメージデータ
の水平ラインから回転後のイメージデータの水平ライン
ごとの連続したビット列を収集し、前記ビット列を一括
して回転後のビット位置へ転送して回転後のイメージデ
ータを前記一次元メモリに展開するようにして実現され
る。
【0011】また、本発明のイメージデータ回転装置
は、一水平ラインに並ぶビット列を任意の角度回転した
ときに回転後の前記一水平ラインに並ぶビットのビット
列数を求める同一水平ラインビット列数決定部と、回転
前のイメージデータの回転中心に近い垂直ラインの回転
後の座標位置を求める水平ライン開始ビット位置決定部
と、回転前のイメージデータの水平ラインについて前記
同一水平ラインビット列数決定部で求めた回転後のビッ
ト列数に対応する各水平ラインごとのビット列を収集す
る水平ラインビット列収集部と、前記各水平ラインごと
のビット列を前記イメージデータの回転後の位置へ転送
するビット列転送部とを有して構成される。
は、一水平ラインに並ぶビット列を任意の角度回転した
ときに回転後の前記一水平ラインに並ぶビットのビット
列数を求める同一水平ラインビット列数決定部と、回転
前のイメージデータの回転中心に近い垂直ラインの回転
後の座標位置を求める水平ライン開始ビット位置決定部
と、回転前のイメージデータの水平ラインについて前記
同一水平ラインビット列数決定部で求めた回転後のビッ
ト列数に対応する各水平ラインごとのビット列を収集す
る水平ラインビット列収集部と、前記各水平ラインごと
のビット列を前記イメージデータの回転後の位置へ転送
するビット列転送部とを有して構成される。
【0012】さらに、本発明のイメージデータ回転装置
は、イメージデータを複数個のブロックに分割し前記ブ
ロックごとに回転後の水平ラインごとのビット列を収集
して前記ブロックの回転後の位置へ転送する一括転送部
を具備して構成される。
は、イメージデータを複数個のブロックに分割し前記ブ
ロックごとに回転後の水平ラインごとのビット列を収集
して前記ブロックの回転後の位置へ転送する一括転送部
を具備して構成される。
【0013】さらに、本発明のイメージデータ回転装置
は、イメージデータを回転する処理を実行する作業領域
の高さを前記イメージデータの回転後の高さに等しく
し、前記イメージデータの回転後の水平ラインごとのビ
ット列を収集するときビット列が一杯になった水平ライ
ンのビット列を回転後の位置に転送して収集を継続し、
前記水平ラインごとのビット列の収集を終了したときに
は前記作業領域に残存するビット列を回転後の該当位置
に転送するようにして構成される。
は、イメージデータを回転する処理を実行する作業領域
の高さを前記イメージデータの回転後の高さに等しく
し、前記イメージデータの回転後の水平ラインごとのビ
ット列を収集するときビット列が一杯になった水平ライ
ンのビット列を回転後の位置に転送して収集を継続し、
前記水平ラインごとのビット列の収集を終了したときに
は前記作業領域に残存するビット列を回転後の該当位置
に転送するようにして構成される。
【0014】すなわち、本発明のイメージデータ回転装
置によれば、単一水平ラインを与えれた角度で回転した
ときの回転後の各水平ラインごとに連続するビット列数
を求め、その結果を元に回転前の二次元イメージデータ
の各水平ラインから回転後の水平ラインごとに連続する
ビット列を収集し、収集したビット列を各水平ラインご
とに一括して回転後の位置へ転送することにより、二次
元イメージデータの任意角回転を高速に処理することが
できる。
置によれば、単一水平ラインを与えれた角度で回転した
ときの回転後の各水平ラインごとに連続するビット列数
を求め、その結果を元に回転前の二次元イメージデータ
の各水平ラインから回転後の水平ラインごとに連続する
ビット列を収集し、収集したビット列を各水平ラインご
とに一括して回転後の位置へ転送することにより、二次
元イメージデータの任意角回転を高速に処理することが
できる。
【0015】
【発明の実施の形態】以下、本発明について図面を参照
しながら説明する。
しながら説明する。
【0016】図1は本発明の実施の第一の形態を示すブ
ロック図である。同図において、本発明によるイメージ
データ回転装置は、単一水平ラインを与えられた角度で
回転させたときに回転後の同一水平ライン上に並ぶビッ
ト列数を求める同一水平ラインビット列数決定部11
と、回転すべき矩形のイメージデータの回転中心点に近
い垂直ライン(左端または右端の垂直ライン)の回転後
の座標位置を求める水平ライン開始ビット位置決定部1
2と、与えられた二次元イメージデータを垂直方向と水
平方向の両方向にいくつかのブロック(矩形データ)に
分割しそのブロック単位に各水平ラインについて同一水
平ラインビット列数決定部11で求めた回転後の各水平
ラインに対応するビット列数分のビット列を分配,収集
する水平ラインビット列収集部13と、現在処理中のブ
ロックの処理が終了したか否かを判別するブロック終了
判定部14と、収集した各水平ラインごとのビット列に
ついて回転後の位置へ一括して転送する一括転送部15
と、全処理が終了したか否かを判別する終了判定部16
とを有する。
ロック図である。同図において、本発明によるイメージ
データ回転装置は、単一水平ラインを与えられた角度で
回転させたときに回転後の同一水平ライン上に並ぶビッ
ト列数を求める同一水平ラインビット列数決定部11
と、回転すべき矩形のイメージデータの回転中心点に近
い垂直ライン(左端または右端の垂直ライン)の回転後
の座標位置を求める水平ライン開始ビット位置決定部1
2と、与えられた二次元イメージデータを垂直方向と水
平方向の両方向にいくつかのブロック(矩形データ)に
分割しそのブロック単位に各水平ラインについて同一水
平ラインビット列数決定部11で求めた回転後の各水平
ラインに対応するビット列数分のビット列を分配,収集
する水平ラインビット列収集部13と、現在処理中のブ
ロックの処理が終了したか否かを判別するブロック終了
判定部14と、収集した各水平ラインごとのビット列に
ついて回転後の位置へ一括して転送する一括転送部15
と、全処理が終了したか否かを判別する終了判定部16
とを有する。
【0017】図2は同一水平ラインビット列数決定部1
1の処理を示す流れ図である。同図において、同一水平
ラインビット列数決定部11は、単一水平ラインを与え
られた角度に回転したとき各水平ライン上に連続して並
ぶビット列数を、与えられた角度で傾斜した直線近似等
により求める(21)。
1の処理を示す流れ図である。同図において、同一水平
ラインビット列数決定部11は、単一水平ラインを与え
られた角度に回転したとき各水平ライン上に連続して並
ぶビット列数を、与えられた角度で傾斜した直線近似等
により求める(21)。
【0018】図3は水平ライン開始ビット位置決定部1
2の処理を示す流れ図である。同図において、水平ライ
ン開始ビット位置決定部12は、回転すべき矩形のイメ
ージデータの回転中心点に近い垂直ライン(矩形の左端
または右端の垂直ライン)の回転後の座標を、上記と同
様に直線近似等により求める(31)。
2の処理を示す流れ図である。同図において、水平ライ
ン開始ビット位置決定部12は、回転すべき矩形のイメ
ージデータの回転中心点に近い垂直ライン(矩形の左端
または右端の垂直ライン)の回転後の座標を、上記と同
様に直線近似等により求める(31)。
【0019】図4は水平ラインビット列収集部13の処
理を示す流れ図である。同図において水平ラインビット
列収集部13は、回転によって生じる隙間ビットの挿入
処理を行った後に回転後の各水平ラインごとに回転前の
水平ラインから対応するビット列を収集する処理を行う
(45)。ここで、回転によって生じる隙間ビットの挿
入処理では、一つ前の水平ラインと現在処理している水
平ラインの開始ビット位置のx座標(またはy座標)の
比較を行い、差分があればその差分のビット列を隙間と
して回転後の各水平ラインへ挿入する処理を行い(4
4)、差分がなければ挿入処理は行わない。また、開始
ビット位置の比較値をx座標とy座標のいずれにするか
については、水平ラインの回転後の傾きが水平に近い傾
きなのか,垂直に近い傾きなのかによって決め(4
1)、傾きが水平に近い場合はx座標,垂直に近い場合
はy座標と比較する(42.43)。
理を示す流れ図である。同図において水平ラインビット
列収集部13は、回転によって生じる隙間ビットの挿入
処理を行った後に回転後の各水平ラインごとに回転前の
水平ラインから対応するビット列を収集する処理を行う
(45)。ここで、回転によって生じる隙間ビットの挿
入処理では、一つ前の水平ラインと現在処理している水
平ラインの開始ビット位置のx座標(またはy座標)の
比較を行い、差分があればその差分のビット列を隙間と
して回転後の各水平ラインへ挿入する処理を行い(4
4)、差分がなければ挿入処理は行わない。また、開始
ビット位置の比較値をx座標とy座標のいずれにするか
については、水平ラインの回転後の傾きが水平に近い傾
きなのか,垂直に近い傾きなのかによって決め(4
1)、傾きが水平に近い場合はx座標,垂直に近い場合
はy座標と比較する(42.43)。
【0020】図5は一括転送部15の処理を示す流れ図
である。同図において、一括転送部15は、水平ライン
ビット列収集部13で収集した各水平ライン単位のビッ
ト列を回転後の位置へ一括して転送する(51)。
である。同図において、一括転送部15は、水平ライン
ビット列収集部13で収集した各水平ライン単位のビッ
ト列を回転後の位置へ一括して転送する(51)。
【0021】図6〜図10は、高さ(水平ライン数)
3,幅(水平ラインビット列数)6の二次元イメージデ
ータを反時計まわりに26.5度(傾き△y/△x=1
/2)回転する場合の処理を示す説明図である。この例
では図6に示した全体を一ブロックとして扱っている。
3,幅(水平ラインビット列数)6の二次元イメージデ
ータを反時計まわりに26.5度(傾き△y/△x=1
/2)回転する場合の処理を示す説明図である。この例
では図6に示した全体を一ブロックとして扱っている。
【0022】まず、同一水平ラインビット列数決定部1
1(図2)によって単一水平ラインを傾き1/2で回転
した時の同一水平ラインに配置されるビット列数を求め
る。この場合、y方向に1ドット移動するとx方向へは
2ドット移動することから、各水平ラインへのビット列
数は図7に示すように下から上方向へ1,2,2,1と
なる。
1(図2)によって単一水平ラインを傾き1/2で回転
した時の同一水平ラインに配置されるビット列数を求め
る。この場合、y方向に1ドット移動するとx方向へは
2ドット移動することから、各水平ラインへのビット列
数は図7に示すように下から上方向へ1,2,2,1と
なる。
【0023】次に、水平ライン開始ビット位置決定部1
2(図3)によって、回転すべき矩形イメージデータの
回転中心点に近い垂直ライン(左端または右端の垂直ラ
イン)の回転後の座標を求める。この具体例の場合、回
転すべき矩形イメージデータの左端が回転中心点に近い
ので、左端の垂直ラインの回転後の座標を求めると、x
方向に1ドット移動するとy方向へは2ドット移動する
ことから、1番目の水平ラインの回転後の左端のビット
位置を(xx,yy)としたときの2,3番目の水平ラ
インの左端の回転後の水平ライン開始ビット位置は図8
に示すようにそれぞれ(xx+1,yy−1),(xx
+1,yy−2)となる。
2(図3)によって、回転すべき矩形イメージデータの
回転中心点に近い垂直ライン(左端または右端の垂直ラ
イン)の回転後の座標を求める。この具体例の場合、回
転すべき矩形イメージデータの左端が回転中心点に近い
ので、左端の垂直ラインの回転後の座標を求めると、x
方向に1ドット移動するとy方向へは2ドット移動する
ことから、1番目の水平ラインの回転後の左端のビット
位置を(xx,yy)としたときの2,3番目の水平ラ
インの左端の回転後の水平ライン開始ビット位置は図8
に示すようにそれぞれ(xx+1,yy−1),(xx
+1,yy−2)となる。
【0024】次に、1番目の水平ラインについて水平ラ
インビット列収集部13によって回転後の各水平ライン
ごとにビット列を収集すると図9(a)に示す結果な
る。次にブロック終了判定部14で、現在処理中のブロ
ックの水平ラインについての収集処理が終了したかを判
定する。この場合未処理の水平ラインがあるので、繰り
返し水平ライン収集部13の処理を行う。
インビット列収集部13によって回転後の各水平ライン
ごとにビット列を収集すると図9(a)に示す結果な
る。次にブロック終了判定部14で、現在処理中のブロ
ックの水平ラインについての収集処理が終了したかを判
定する。この場合未処理の水平ラインがあるので、繰り
返し水平ライン収集部13の処理を行う。
【0025】2番目の水平ラインについては1番目の水
平ラインと2番目の水平ラインの回転後の開始位置x座
標値(水平ラインの回転後の傾きは水平に近いのでx座
標値を比較)に差分があるため、隙間ビットの挿入処理
が必要となり、挿入処理を行うと図9(b)に示す結果
となる。隙間ビットの挿入処理の後、2番目の水平ライ
ンについて回転後の各水平ラインごとにビット列を収集
すると図9(c)に示す結果になる。次に3番目の水平
ラインについても同様な処理を行うと図9(d)に示す
結果になる。
平ラインと2番目の水平ラインの回転後の開始位置x座
標値(水平ラインの回転後の傾きは水平に近いのでx座
標値を比較)に差分があるため、隙間ビットの挿入処理
が必要となり、挿入処理を行うと図9(b)に示す結果
となる。隙間ビットの挿入処理の後、2番目の水平ライ
ンについて回転後の各水平ラインごとにビット列を収集
すると図9(c)に示す結果になる。次に3番目の水平
ラインについても同様な処理を行うと図9(d)に示す
結果になる。
【0026】この時点で、ブロック終了判定部14が与
えられたすべての水平ラインについて終了していると判
定し、収集されたビット列を一括転送部15(図5)に
よって各水平ラインごとに回転後の位置へ図10に示す
ように転送する。この例では1ブロックしかないので終
了判定部16によって全処理終了と判定され、その結
果、回転後の二次元イメージデータが生成される。
えられたすべての水平ラインについて終了していると判
定し、収集されたビット列を一括転送部15(図5)に
よって各水平ラインごとに回転後の位置へ図10に示す
ように転送する。この例では1ブロックしかないので終
了判定部16によって全処理終了と判定され、その結
果、回転後の二次元イメージデータが生成される。
【0027】図11は本発明の実施の第二の形態を示す
ブロック図である。上記においては、イメージデータを
垂直方向と水平方向の両方向にいくつかのブロック(矩
形データ)に分割して処理する例を示したが、図11で
は、幅はある一定の幅で,高さは回転後の高さの作業領
域を確保し、二次元イメージデータを複数のブロックに
分割することなく処理する。
ブロック図である。上記においては、イメージデータを
垂直方向と水平方向の両方向にいくつかのブロック(矩
形データ)に分割して処理する例を示したが、図11で
は、幅はある一定の幅で,高さは回転後の高さの作業領
域を確保し、二次元イメージデータを複数のブロックに
分割することなく処理する。
【0028】同図において、図1との相異を中心に説明
すると、図1の水平ラインビット列収集部13ではブロ
ックに分割した二次元イメージデータの水平ラインにつ
いて処理を行うが、図11の水平ラインビット列収集部
113では水平ラインを一度に処理する。
すると、図1の水平ラインビット列収集部13ではブロ
ックに分割した二次元イメージデータの水平ラインにつ
いて処理を行うが、図11の水平ラインビット列収集部
113では水平ラインを一度に処理する。
【0029】また図1のブロック終了判定部14の代わ
りに図11のビット列フル判定部114では、作業領域
の幅分のビットを収集したビット列があるかを検出す
る。さらに図1の一括転送部15の代わりに図11のビ
ット列転送部115では、作業領域の幅分のビットを収
集したビット列のみを回転後の位置へ転送する。
りに図11のビット列フル判定部114では、作業領域
の幅分のビットを収集したビット列があるかを検出す
る。さらに図1の一括転送部15の代わりに図11のビ
ット列転送部115では、作業領域の幅分のビットを収
集したビット列のみを回転後の位置へ転送する。
【0030】残ビット列転送部117ではすべての水平
ラインの収集後、ビット列転送部115で転送されずに
残っているビット列を回転後の位置へ転送する。
ラインの収集後、ビット列転送部115で転送されずに
残っているビット列を回転後の位置へ転送する。
【0031】図12〜図15は、高さ(水平ライン数)
4,幅(水平ラインビット列数)12の二次元イメージ
データを反時計回りに26.5度回転させる場合の処理
を示す説明図である。なお、この例では作業領域の幅を
8ビットとする。
4,幅(水平ラインビット列数)12の二次元イメージ
データを反時計回りに26.5度回転させる場合の処理
を示す説明図である。なお、この例では作業領域の幅を
8ビットとする。
【0032】図11を参照して、同一水平ラインビット
列数決定部11および水平ライン開始ビット位置決定部
12の処理の後、図12に示す二次元イメージデータの
各水平ラインについて、水平ラインビット列収集部11
3において水平ラインを分割することなく回転後の各水
平ラインに対応するビット列を分配,収集する処理を繰
り返す。
列数決定部11および水平ライン開始ビット位置決定部
12の処理の後、図12に示す二次元イメージデータの
各水平ラインについて、水平ラインビット列収集部11
3において水平ラインを分割することなく回転後の各水
平ラインに対応するビット列を分配,収集する処理を繰
り返す。
【0033】図13に示す状態まで処理した時に、ビッ
ト列フル判定部114において作業領域の幅分のビット
を収集したビット列を検出し、ビット列転送部115に
よって作業領域の幅分のビットを収集したビット列につ
いて回転後の位置へ図14に示すように転送し、転送し
た作業領域のビット列は空の状態にする。
ト列フル判定部114において作業領域の幅分のビット
を収集したビット列を検出し、ビット列転送部115に
よって作業領域の幅分のビットを収集したビット列につ
いて回転後の位置へ図14に示すように転送し、転送し
た作業領域のビット列は空の状態にする。
【0034】そして終了判定部16によって、すべての
水平ラインの処理の終了を判定されるまで同様に処理を
繰り返す。
水平ラインの処理の終了を判定されるまで同様に処理を
繰り返す。
【0035】処理終了を判定された場合、残ビット列転
送部117によって作業領域内に残ったビット列を回転
後の位置へ転送する。その結果、図15に示される回転
後の二次元イメージデータが得られる。
送部117によって作業領域内に残ったビット列を回転
後の位置へ転送する。その結果、図15に示される回転
後の二次元イメージデータが得られる。
【0036】
【発明の効果】以上、詳細に説明したように、本発明に
よれば、一次元メモリ上で二次元イメージデータの任意
角回転を高速に処理することができる。すなわち、二次
元メモリのような特別なハードウェアなしに二次元イメ
ージデータの任意角回転を高速に処理することができ
る。
よれば、一次元メモリ上で二次元イメージデータの任意
角回転を高速に処理することができる。すなわち、二次
元メモリのような特別なハードウェアなしに二次元イメ
ージデータの任意角回転を高速に処理することができ
る。
【0037】その理由は、一次元メモリ上での二次元イ
メージデータの任意角回転において、回転後の二次元イ
メージデータの水平ラインごとの連続したビット列を回
転前の二次元イメージデータの水平ラインから収集し、
収集したビット列を一括して回転後の位置へ転送するこ
とによって、処理の高速化が図れるようになるからであ
る。
メージデータの任意角回転において、回転後の二次元イ
メージデータの水平ラインごとの連続したビット列を回
転前の二次元イメージデータの水平ラインから収集し、
収集したビット列を一括して回転後の位置へ転送するこ
とによって、処理の高速化が図れるようになるからであ
る。
【図1】本発明の実施の第一の形態を示すブロック図。
【図2】同一水平ラインビット列数決定部の処理を示す
流れ図。
流れ図。
【図3】水平ライン開始ビット位置決定部の処理を示す
流れ図。
流れ図。
【図4】水平ラインビット列収集部の処理を示す流れ
図。
図。
【図5】一括転送部の処理を示す流れ図。
【図6】イメージデータの回転処理の第一の例を示す説
明図。
明図。
【図7】イメージデータの回転処理の第一の例を示す説
明図(つづき)。
明図(つづき)。
【図8】イメージデータの回転処理の第一の例を示す説
明図(つづき)。
明図(つづき)。
【図9】イメージデータの回転処理の第一の例を示す説
明図(つづき)。
明図(つづき)。
【図10】イメージデータの回転処理の第一の例を示す
説明図(つづき)。
説明図(つづき)。
【図11】本発明の実施の第二の形態を示すブロック
図。
図。
【図12】イメージデータの回転処理の第二の例を示す
説明図。
説明図。
【図13】イメージデータの回転処理の第二の例を示す
説明図(つづき)。
説明図(つづき)。
【図14】イメージデータの回転処理の第二の例を示す
説明図(つづき)。
説明図(つづき)。
【図15】イメージデータの回転処理の第二の例を示す
説明図(つづき)。
説明図(つづき)。
11 同一水平ラインビット列数決定部 12 水平ライン開始ビット位置決定部 13 水平ラインビット列収集部 14 ブロック終了判定部 15 一括転送部 16 終了判定部 113 水平ラインビット列収集部 114 ビット列フル判定部 115 ビット列転送部 117 残ビット列転送部
Claims (2)
- 【請求項1】 一次元メモリに展開された二次元イメー
ジデータを任意の角度回転するイメージデータ回転装置
において、一水平ラインに並ぶビット列を任意の角度回
転したときに回転後の前記一水平ラインに並ぶビットの
ビット列数を求める同一水平ラインビット列数決定部
と、回転前のイメージデータの回転中心に近い垂直ライ
ンの回転後の座標位置を求める水平ライン開始ビット位
置決定部と、回転前のイメージデータの水平ラインにつ
いて前記同一水平ラインビット列数決定部で求めた回転
後のビット列数に対応する各水平ラインごとのビット列
を収集する水平ラインビット列収集部と、前記各水平ラ
インごとのビット列を前記イメージデータの回転後の位
置へ転送するビット列転送部とを有し、イメージデータ
を回転する処理を実行する作業領域の高さを前記イメー
ジデータの回転後の高さに等しくし、前記イメージデー
タの回転後の水平ラインごとのビット列を収集するとき
ビット列が一杯になった水平ラインのビット列を回転後
の位置に転送して収集を継続し、前記水平ラインごとの
ビット列の収集を終了したときには前記作業領域に残存
するビット列を回転後の該当位置に転送することを特徴
とするイメージデータ回転装置。 - 【請求項2】 一次元メモリに展開された二次元イメー
ジデータを任意の角度回転するイメージデータ回転方法
において、単一水平ラインを与えられた角度で回転した
ときの回転後の各水平ラインごとに連続するビット列数
を求め、その結果を元に回転前の二次元イメージデータ
の各水平ラインから回転後の水平ラインごとに連続する
ビット列を収集し、収集したビット列を各水平ラインご
とに一括して回転後の位置へ転送することを特徴とする
イメージデータ回転方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8198802A JP2852257B2 (ja) | 1996-07-29 | 1996-07-29 | イメージデータ回転方法および装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8198802A JP2852257B2 (ja) | 1996-07-29 | 1996-07-29 | イメージデータ回転方法および装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1049667A JPH1049667A (ja) | 1998-02-20 |
| JP2852257B2 true JP2852257B2 (ja) | 1999-01-27 |
Family
ID=16397164
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8198802A Expired - Lifetime JP2852257B2 (ja) | 1996-07-29 | 1996-07-29 | イメージデータ回転方法および装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2852257B2 (ja) |
-
1996
- 1996-07-29 JP JP8198802A patent/JP2852257B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH1049667A (ja) | 1998-02-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4759076A (en) | Image rotating system by an arbitrary angle | |
| US6035075A (en) | Image deforming method and apparatus | |
| GB2172169A (en) | Smoothening method for binary-coded image data and apparatus therefor | |
| JPH0750508B2 (ja) | 描画処理装置 | |
| JP2852257B2 (ja) | イメージデータ回転方法および装置 | |
| JPH09147109A (ja) | 特定マーク検出方法及び特定マーク検出装置 | |
| JPH0481231B2 (ja) | ||
| JP2502274B2 (ja) | 画像変換装置 | |
| JPS6217236B2 (ja) | ||
| JPH0785266A (ja) | 画像回転装置 | |
| JPH05127980A (ja) | 画像処理装置 | |
| JPS6188374A (ja) | 画像デ−タ回転処理装置 | |
| JP2776957B2 (ja) | 画像拡大縮小方法及びその装置 | |
| JP2588758B2 (ja) | 画像縮小装置及び方法 | |
| JP2691559B2 (ja) | 画素密度変換装置及びその方法 | |
| JPH03116271A (ja) | 2次元画像の高速フーリエ変換解析方法 | |
| JP2000298729A (ja) | 二次元画像生成装置 | |
| JPH04329482A (ja) | 画像回転処理方法およびその処理装置 | |
| JP2856136B2 (ja) | 印刷装置 | |
| JPH0439114B2 (ja) | ||
| JP2838556B2 (ja) | 画像処理装置 | |
| JPS59195759A (ja) | 画像の拡大縮小方法 | |
| JPH011072A (ja) | 画像処理装置 | |
| JPS59214969A (ja) | 画像の回転処理方式 | |
| JPH01314329A (ja) | イメージデータ処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19981020 |