JP2817771B2 - 画像データ回転方法およびシステム - Google Patents
画像データ回転方法およびシステムInfo
- Publication number
- JP2817771B2 JP2817771B2 JP7025556A JP2555695A JP2817771B2 JP 2817771 B2 JP2817771 B2 JP 2817771B2 JP 7025556 A JP7025556 A JP 7025556A JP 2555695 A JP2555695 A JP 2555695A JP 2817771 B2 JP2817771 B2 JP 2817771B2
- Authority
- JP
- Japan
- Prior art keywords
- row
- register
- rows
- nibble
- bit
- 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 42
- 239000011159 matrix material Substances 0.000 claims description 52
- 235000003913 Coccoloba uvifera Nutrition 0.000 claims 1
- 240000008976 Pterocarpus marsupium Species 0.000 claims 1
- 125000004079 stearyl group Chemical group [H]C([*])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])[H] 0.000 claims 1
- 238000012015 optical character recognition Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction 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/60—Rotation of whole images or parts thereof
- G06T3/602—Rotation of whole images or parts thereof by block rotation, e.g. by recursive reversal or rotation
-
- 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/60—Rotation of whole images or parts thereof
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【0001】
【産業上の利用分野】本発明は、ディジタル画像処理方
法に関し、具体的には、2レベル画像を高速回転する方
法に関する。
法に関し、具体的には、2レベル画像を高速回転する方
法に関する。
【0002】
【従来の技術】2レベル画像(モノクローム画像とも称
する)とは、その2レベル・ビットマップに1ビット毎
画素だけが含まれるので、2つの輝度レベル(一般に白
黒または緑と黒)だけを有する画像である。1024×
1024画素の解像度の画面全体のビットマップは、2
20ビットまたは約128000バイトである。
する)とは、その2レベル・ビットマップに1ビット毎
画素だけが含まれるので、2つの輝度レベル(一般に白
黒または緑と黒)だけを有する画像である。1024×
1024画素の解像度の画面全体のビットマップは、2
20ビットまたは約128000バイトである。
【0003】ワークステーションやパーソナル・コンピ
ュータなど、少記憶コンピュータのオフィスや家庭での
普及を介して、オフィス文書、報告書、フォーム、手紙
および写真のコンピュータ記憶が、物理的な格納要件を
削減し、一般のオフィス・ファイルへのアクセス可能性
を高めるための手段として流行している。
ュータなど、少記憶コンピュータのオフィスや家庭での
普及を介して、オフィス文書、報告書、フォーム、手紙
および写真のコンピュータ記憶が、物理的な格納要件を
削減し、一般のオフィス・ファイルへのアクセス可能性
を高めるための手段として流行している。
【0004】文書は、通常は光学文字読取装置(OC
R)走査、ファクシミリまたはオンライン・データ伝送
によってコンピュータ・システムに受け取られる。課題
は、たとえばOCRによってシステムに入力された文書
の画像を取りだすことと、これを素早く効率的に操作で
き、その結果、エンド・ユーザーがこれを簡単に眺めら
れるようにすることである。
R)走査、ファクシミリまたはオンライン・データ伝送
によってコンピュータ・システムに受け取られる。課題
は、たとえばOCRによってシステムに入力された文書
の画像を取りだすことと、これを素早く効率的に操作で
き、その結果、エンド・ユーザーがこれを簡単に眺めら
れるようにすることである。
【0005】2レベル画像の入力時の向きに関する90
°、180°および270°の回転は、文書画像処理中
に最も一般的に使用される動作の1つである。従来の解
決策は、1時に1画素だけ画像を回転することである
が、この動作は、非常に時間がかかる。
°、180°および270°の回転は、文書画像処理中
に最も一般的に使用される動作の1つである。従来の解
決策は、1時に1画素だけ画像を回転することである
が、この動作は、非常に時間がかかる。
【0006】その結果、各バイトに8画素が含まれる、
画素のパック式内部データ表現が原因で、±90°の回
転が180°回転よりはるかに複雑なので、特に±90
°の画像回転を手早く処理するための複数の方法が、従
来技術で提案されてきた。回転された画像は、回転前に
原画像が格納されていた記憶域を占有しなければならな
い。したがって、この種の回転のためには、行の数が8
の倍数でなければならない。というのは、垂直列のそれ
ぞれのビットが、回転によってバイトにパックされ、出
力画像の1行が、1バイトの端数で終わってはならない
からである。その結果、プレースホルダ用のデータ値
を、8の倍数でない列に追加しなければならない。
画素のパック式内部データ表現が原因で、±90°の回
転が180°回転よりはるかに複雑なので、特に±90
°の画像回転を手早く処理するための複数の方法が、従
来技術で提案されてきた。回転された画像は、回転前に
原画像が格納されていた記憶域を占有しなければならな
い。したがって、この種の回転のためには、行の数が8
の倍数でなければならない。というのは、垂直列のそれ
ぞれのビットが、回転によってバイトにパックされ、出
力画像の1行が、1バイトの端数で終わってはならない
からである。その結果、プレースホルダ用のデータ値
を、8の倍数でない列に追加しなければならない。
【0007】米国特許第4627020号明細書に、1
時に1画素だけではなく、64画素(8×8ブロック)
までの回転を引き起こすので、従来の方法よりかなり高
速な、90°だけ画像を回転する方法が記載されてい
る。画像のブロックは、一時記憶域(参照テーブルと称
する)に移動され、回転可能なサイズのバイトの小さな
グループに分割される。その後、すべてのビットが同じ
値でないグループのそれぞれを回転する。この方法は、
ほとんどの画像の大きな面積が、背景色(たとえば白)
であり、1つの色だけを含む画像のブロックまたはグラ
フは回転する必要がないという事実を利用している。こ
れは、現在回転方法に一般的に追加されている拡張であ
る。しかし、米国特許第4627020号明細書の方法
は、回転するバイトごとに、追加のメモリ・アクセスと
アドレス操作を使用するので、本発明の方法ほど効率的
ではない。
時に1画素だけではなく、64画素(8×8ブロック)
までの回転を引き起こすので、従来の方法よりかなり高
速な、90°だけ画像を回転する方法が記載されてい
る。画像のブロックは、一時記憶域(参照テーブルと称
する)に移動され、回転可能なサイズのバイトの小さな
グループに分割される。その後、すべてのビットが同じ
値でないグループのそれぞれを回転する。この方法は、
ほとんどの画像の大きな面積が、背景色(たとえば白)
であり、1つの色だけを含む画像のブロックまたはグラ
フは回転する必要がないという事実を利用している。こ
れは、現在回転方法に一般的に追加されている拡張であ
る。しかし、米国特許第4627020号明細書の方法
は、回転するバイトごとに、追加のメモリ・アクセスと
アドレス操作を使用するので、本発明の方法ほど効率的
ではない。
【0008】米国特許第4658430号明細書は、た
とえば電話線を介して伝送された、符号化された画像
を、90°の倍数だけ回転する方法に関するものであ
る。符号化された画像の向きは、本発明が対処するタイ
プのデータの回転とは異なる問題を提示する。
とえば電話線を介して伝送された、符号化された画像
を、90°の倍数だけ回転する方法に関するものであ
る。符号化された画像の向きは、本発明が対処するタイ
プのデータの回転とは異なる問題を提示する。
【0009】米国特許第4837845号明細書は、バ
イナリ画像を元の向きから±90°回転するという問題
に具体的に対処したものである。画像データは、まず、
8つの32ビット・レジスタに格納される行列に、部分
的に転置した形で記憶される。この行列は、回転可能な
サイズのビットのグループ(等しいサイズの部分行列)
に分割され、各グループ内で、第1の事前に選択された
ビット位置が、第2の事前に選択されたビット位置と転
置される。その後、グループ内のビットの行が、グルー
プ内のビットの第2の行と交換される。
イナリ画像を元の向きから±90°回転するという問題
に具体的に対処したものである。画像データは、まず、
8つの32ビット・レジスタに格納される行列に、部分
的に転置した形で記憶される。この行列は、回転可能な
サイズのビットのグループ(等しいサイズの部分行列)
に分割され、各グループ内で、第1の事前に選択された
ビット位置が、第2の事前に選択されたビット位置と転
置される。その後、グループ内のビットの行が、グルー
プ内のビットの第2の行と交換される。
【0010】上記の米国特許第4627020号明細
書、米国特許第4658430号明細書および米国特許
第4837845号明細書は、従来技術として、画像回
転に関連する問題の解決を目指したより以前の多数の出
版物および参考文献を論じており、これらの特許明細書
のそれぞれの内容、特に従来技術を述べた部分は、参照
によって本明細書に組み込まれる。
書、米国特許第4658430号明細書および米国特許
第4837845号明細書は、従来技術として、画像回
転に関連する問題の解決を目指したより以前の多数の出
版物および参考文献を論じており、これらの特許明細書
のそれぞれの内容、特に従来技術を述べた部分は、参照
によって本明細書に組み込まれる。
【0011】上記のほかに、米国特許第4916746
号明細書に、ハードウェア回転回路を使用する、時計回
りまたは反時計回りのいずれかの90°の画像回転が開
示されている。この回転回路には、FIFOとシフト・
レジスタが含まれ、データは、1時に1ワードずつFI
FOから読み出され、1ビットの変位を受けてFIFO
に書き戻され、らせん状のデータ経路をもたらす。その
後、シフト・レジスタを使用して、出力の回転された画
像データを組み立てる。
号明細書に、ハードウェア回転回路を使用する、時計回
りまたは反時計回りのいずれかの90°の画像回転が開
示されている。この回転回路には、FIFOとシフト・
レジスタが含まれ、データは、1時に1ワードずつFI
FOから読み出され、1ビットの変位を受けてFIFO
に書き戻され、らせん状のデータ経路をもたらす。その
後、シフト・レジスタを使用して、出力の回転された画
像データを組み立てる。
【0012】米国特許第4985849号明細書に、原
画像の斜めにマッピングされるか回転された変更された
画像を形成するための画像処理システムが開示されてい
る。データの元の点と出力点のアドレス位置の間の関係
を計算し、この計算された値を、参照テーブルに事前に
記憶する。その後、原アドレス位置からの画像データ
を、参照テーブルからの出力アドレス情報を使用して転
送またはコピーする。
画像の斜めにマッピングされるか回転された変更された
画像を形成するための画像処理システムが開示されてい
る。データの元の点と出力点のアドレス位置の間の関係
を計算し、この計算された値を、参照テーブルに事前に
記憶する。その後、原アドレス位置からの画像データ
を、参照テーブルからの出力アドレス情報を使用して転
送またはコピーする。
【0013】米国特許第5067167号明細書に、デ
ータ・プロセッサを使用して3次元画像の原空間座標値
を修正することによる、90°の3次元画像の回転が開
示されている。
ータ・プロセッサを使用して3次元画像の原空間座標値
を修正することによる、90°の3次元画像の回転が開
示されている。
【0014】米国特許第5233168号明細書に、画
素ごとにマッピングされた画像を取り込むために画像を
走査し、マッピングされた画像の寸法とスキューを決定
し、一連の区域限定垂直画素シフトを実行し、一連の区
域限定水平画素シフトを実行することによる、画像のス
キュー除去が開示されている。
素ごとにマッピングされた画像を取り込むために画像を
走査し、マッピングされた画像の寸法とスキューを決定
し、一連の区域限定垂直画素シフトを実行し、一連の区
域限定水平画素シフトを実行することによる、画像のス
キュー除去が開示されている。
【0015】高速画像回転を実現するための他の手法
は、米国特許第4947344号明細書に開示された回
転バッファと称する特殊ハードウェア装置や、米国特許
第4992960号明細書に開示された特殊回路など、
ハードウェア固有の解決である。しかし、これらのタイ
プのハードウェア解決には、既存ハードウェアの記憶能
力を最大に引き出すためにソフトウェアで実施される解
決策に対して、修正された既存ハードウェアに関連する
かなりのコストが必要である。
は、米国特許第4947344号明細書に開示された回
転バッファと称する特殊ハードウェア装置や、米国特許
第4992960号明細書に開示された特殊回路など、
ハードウェア固有の解決である。しかし、これらのタイ
プのハードウェア解決には、既存ハードウェアの記憶能
力を最大に引き出すためにソフトウェアで実施される解
決策に対して、修正された既存ハードウェアに関連する
かなりのコストが必要である。
【0016】上記の米国特許第4627020号明細
書、米国特許第4658430号明細書および米国特許
第4837845号明細書に開示された方法と同様に、
本発明も、入力時の向きから90°または270°の向
きへの画像回転を手早く処理する際に、1時に64画素
の画像データ・ブロックに対して作用する。しかし、本
発明の方法は、必要なメモリ・アクセスが従来技術の方
法より少ないので、本発明が特に対処する環境のタイプ
である32ビット・レジスタを有するIntelベース
のIBMパーソナル・コンピュータ上での動作におい
て、15%ないし30%高速であることが判明してい
る。
書、米国特許第4658430号明細書および米国特許
第4837845号明細書に開示された方法と同様に、
本発明も、入力時の向きから90°または270°の向
きへの画像回転を手早く処理する際に、1時に64画素
の画像データ・ブロックに対して作用する。しかし、本
発明の方法は、必要なメモリ・アクセスが従来技術の方
法より少ないので、本発明が特に対処する環境のタイプ
である32ビット・レジスタを有するIntelベース
のIBMパーソナル・コンピュータ上での動作におい
て、15%ないし30%高速であることが判明してい
る。
【0017】
【発明が解決しようとする課題】したがって、本発明の
目的は、32ビット幅のコンピュータ・システムにおい
て、8行8列の画素データ・ビットを有する2レベル画
像データのブロックを90°回転する方法を提供するこ
とにある。
目的は、32ビット幅のコンピュータ・システムにおい
て、8行8列の画素データ・ビットを有する2レベル画
像データのブロックを90°回転する方法を提供するこ
とにある。
【0018】
【課題を解決するための手段】この方法には、前記ブロ
ックの画素データ・ビットから8行8列の画素データ・
ビットを有する中間行列を生成するステップと、前記中
間行列の行を32ビット幅の第1および第2のレジスタ
に順次にセーブするステップとが含まれる。なお、最初
のステップに関連して、前記ブロックは4つの行ペアに
分割され、前記中間行列は4つのニブル列ペアに分割さ
れ、前記行ペアの各々は前記ニブル列ペアの1つに対応
し、各行ペアの各行は2つの半行に分割され、各行ペア
の一方の行の前記2つの半行のうち一方の半行は、当該
各行ペアに対応するニブル列ペアのうち一方のニブル列
の上半分を形成するように90°回転及び変換され、前
記一方の行を構成する前記2つの半行のうち他方の半行
は、当該各行ペアに対応するニブル列ペアのうち他方の
ニブル列の上半分を形成するように90°回転及び変換
され、各行ペアの他方の行を構成する前記2つの半行の
うち一方の半行は、前記一方のニブル列の下半分を形成
するように90°回転及び変換され、前記他方の行を構
成する前記2つの半行のうち他方の半行は、前記他方の
ニブル列の下半分を形成するように90°回転及び変換
される。その後、32ビット幅の第1のレジスタを、3
2ビット幅の第3のレジスタにコピーし、第2のレジス
タを、32ビット幅の第4のレジスタにコピーする。第
1および第2のレジスタの各々を、反対の方向に1ビッ
トずつシフトし、第4レジスタからの1ビットおきのビ
ットを、第1のレジスタに動的に重ね書きし、第3のレ
ジスタからの1ビットおきのビットを、第2のレジスタ
に動的に重ね書きする。
ックの画素データ・ビットから8行8列の画素データ・
ビットを有する中間行列を生成するステップと、前記中
間行列の行を32ビット幅の第1および第2のレジスタ
に順次にセーブするステップとが含まれる。なお、最初
のステップに関連して、前記ブロックは4つの行ペアに
分割され、前記中間行列は4つのニブル列ペアに分割さ
れ、前記行ペアの各々は前記ニブル列ペアの1つに対応
し、各行ペアの各行は2つの半行に分割され、各行ペア
の一方の行の前記2つの半行のうち一方の半行は、当該
各行ペアに対応するニブル列ペアのうち一方のニブル列
の上半分を形成するように90°回転及び変換され、前
記一方の行を構成する前記2つの半行のうち他方の半行
は、当該各行ペアに対応するニブル列ペアのうち他方の
ニブル列の上半分を形成するように90°回転及び変換
され、各行ペアの他方の行を構成する前記2つの半行の
うち一方の半行は、前記一方のニブル列の下半分を形成
するように90°回転及び変換され、前記他方の行を構
成する前記2つの半行のうち他方の半行は、前記他方の
ニブル列の下半分を形成するように90°回転及び変換
される。その後、32ビット幅の第1のレジスタを、3
2ビット幅の第3のレジスタにコピーし、第2のレジス
タを、32ビット幅の第4のレジスタにコピーする。第
1および第2のレジスタの各々を、反対の方向に1ビッ
トずつシフトし、第4レジスタからの1ビットおきのビ
ットを、第1のレジスタに動的に重ね書きし、第3のレ
ジスタからの1ビットおきのビットを、第2のレジスタ
に動的に重ね書きする。
【0019】本発明は、この方法のステップを実行する
ための手段を備えたコンピュータ・システムにも向けら
れている。
ための手段を備えたコンピュータ・システムにも向けら
れている。
【0020】
【実施例】本発明は、IBM社のOS/2システム、P
osix UnixシステムまたはMicrosoft
社のシステムNTなどの32ビット・プログラミング・
オペレーティング・システム環境で動作する。
osix UnixシステムまたはMicrosoft
社のシステムNTなどの32ビット・プログラミング・
オペレーティング・システム環境で動作する。
【0021】この種のコンピュータ・システムの要素
を、図1に概略的に示す。これらの要素には、通常、3
2ビット幅の記憶レジスタを有するホスト・プロセッサ
12、画像記憶域14、表示端末16、OCR画像スキ
ャナ18などの画像データを受け取る手段、およびプリ
ンタ20が含まれるはずである。コンピュータ・システ
ムに画像データを受け取るための他の手段には、データ
伝送とファクシミリが含まれるはずである。表示端末1
6、OCR画像スキャナ18およびプリンタ20のそれ
ぞれは、文書または画像の読取りまたはプレゼンテーシ
ョンに関して異なる要件を有してよい。したがって、ホ
スト・プロセッサ12は、画像記憶域14と共に、周辺
装置である表示端末16、OCR画像スキャナ18およ
びプリンタ20のそれぞれのプレゼンテーション要件に
合わせて画像データを操作する必要がある。
を、図1に概略的に示す。これらの要素には、通常、3
2ビット幅の記憶レジスタを有するホスト・プロセッサ
12、画像記憶域14、表示端末16、OCR画像スキ
ャナ18などの画像データを受け取る手段、およびプリ
ンタ20が含まれるはずである。コンピュータ・システ
ムに画像データを受け取るための他の手段には、データ
伝送とファクシミリが含まれるはずである。表示端末1
6、OCR画像スキャナ18およびプリンタ20のそれ
ぞれは、文書または画像の読取りまたはプレゼンテーシ
ョンに関して異なる要件を有してよい。したがって、ホ
スト・プロセッサ12は、画像記憶域14と共に、周辺
装置である表示端末16、OCR画像スキャナ18およ
びプリンタ20のそれぞれのプレゼンテーション要件に
合わせて画像データを操作する必要がある。
【0022】たとえば、写真画像を、OCR画像スキャ
ナ18を介して走査してシステムに取り込み、最終的
に、図2に示されるようにコンピュータ表示装置24上
に水平に表示される画像22とすることができる。エン
ド・ユーザが表示された画像を意味のある形で使用する
ためには、この画像の向きを、図3のコンピュータ表示
装置24に示された位置22aへ時計回りに90°回転
しなければならない。
ナ18を介して走査してシステムに取り込み、最終的
に、図2に示されるようにコンピュータ表示装置24上
に水平に表示される画像22とすることができる。エン
ド・ユーザが表示された画像を意味のある形で使用する
ためには、この画像の向きを、図3のコンピュータ表示
装置24に示された位置22aへ時計回りに90°回転
しなければならない。
【0023】本発明の方法の諸ステップを、図4の流れ
図に示す。前に述べたように、本発明は、8×8画素ブ
ロック・セグメントで画像データを回転する。したがっ
て、全画像の記憶されたデータから選択された8×8画
素ブロック・セグメント(図4のブロック50)は、下
の表Aに記載の64ビット行列によって表現できる。
図に示す。前に述べたように、本発明は、8×8画素ブ
ロック・セグメントで画像データを回転する。したがっ
て、全画像の記憶されたデータから選択された8×8画
素ブロック・セグメント(図4のブロック50)は、下
の表Aに記載の64ビット行列によって表現できる。
【表1】
【0024】ここで、A0、A1、…、H6、H7は、
それぞれ、行列を形成する2レベル画素を表す。
それぞれ、行列を形成する2レベル画素を表す。
【0025】表Aの行列の時計回りに90°の回転で
は、行列が横倒しに回転され、その結果、行1が8ビッ
トの右端列になり、A0画素が一番下になる。反時計回
りに90°の回転では、行列が回転され、その結果、行
1が8ビットの左端列になり、A0画素が一番上にな
る。これら2つの結果のデータ表現を、本明細書の表D
および表Fに示す。
は、行列が横倒しに回転され、その結果、行1が8ビッ
トの右端列になり、A0画素が一番下になる。反時計回
りに90°の回転では、行列が回転され、その結果、行
1が8ビットの左端列になり、A0画素が一番上にな
る。これら2つの結果のデータ表現を、本明細書の表D
および表Fに示す。
【0026】同一の一般原則と機能が、本発明に従う時
計回りの回転と反時計回りの回転の両方の達成に適用さ
れる。しかし、下で詳細に説明するように、多くの場合
に、時計回りではなく反時計回りの回転を達成するため
に、機能が逆転される。
計回りの回転と反時計回りの回転の両方の達成に適用さ
れる。しかし、下で詳細に説明するように、多くの場合
に、時計回りではなく反時計回りの回転を達成するため
に、機能が逆転される。
【0027】画像データを変換するための作業区域は、
プロセッサ内の32ビット・レジスタであり、ここか
ら、変換されたデータが、表示または印刷のために用意
されたメモリ(記憶域)に戻される。64ビット行列
は、2つの32ビット・レジスタに記憶できる。
プロセッサ内の32ビット・レジスタであり、ここか
ら、変換されたデータが、表示または印刷のために用意
されたメモリ(記憶域)に戻される。64ビット行列
は、2つの32ビット・レジスタに記憶できる。
【0028】本発明は、4つの主なステップで実行され
る。まず、行列をそれぞれ4バイトの2つのレジスタ・
サイズの行に分割するための基礎となる中間行列を生成
する。この中間行列は、2つの目標32ビット・レジス
タに記憶され、その後、もう2つの32ビット・レジス
タにコピーされる。その後、4つのレジスタのデータを
操作し、最終的に、4つのレジスタを元の2つに縮め、
この2つのレジスタに、回転されたデータ画像が含まれ
るようになる。
る。まず、行列をそれぞれ4バイトの2つのレジスタ・
サイズの行に分割するための基礎となる中間行列を生成
する。この中間行列は、2つの目標32ビット・レジス
タに記憶され、その後、もう2つの32ビット・レジス
タにコピーされる。その後、4つのレジスタのデータを
操作し、最終的に、4つのレジスタを元の2つに縮め、
この2つのレジスタに、回転されたデータ画像が含まれ
るようになる。
【0029】全体を通して、1バイトあたり3回のメモ
リ・アクセスだけ(1ブロックあたり24回)が必要で
ある。すなわち、1回目はそのバイトをプロセッサ・レ
ジスタに読み取る時、2回目はその値を使用して中間行
列生成用の参照テーブルをアクセスする時、最後は回転
されたデータをメモリにセーブするアクセスである。
リ・アクセスだけ(1ブロックあたり24回)が必要で
ある。すなわち、1回目はそのバイトをプロセッサ・レ
ジスタに読み取る時、2回目はその値を使用して中間行
列生成用の参照テーブルをアクセスする時、最後は回転
されたデータをメモリにセーブするアクセスである。
【0030】これは、従来技術の最高速の回転方法(1
バイトあたり4回または1ブロックあたり32回のメモ
リ・アクセスが必要)に対して25%の減少を表し、本
発明の速度向上の源である。
バイトあたり4回または1ブロックあたり32回のメモ
リ・アクセスが必要)に対して25%の減少を表し、本
発明の速度向上の源である。
【0031】本発明の好ましい実施例によれば、画像デ
ータの選択された8×8画素の行列またはブロックは、
中間行列に変換され(ブロック52)、これが、完全な
回転に従う位置により近い位置への画素の再整列の処理
を開始する形で再配置される。所期の時計回りに90°
の回転の場合、中間行列は表Bに示されたものになる。
ータの選択された8×8画素の行列またはブロックは、
中間行列に変換され(ブロック52)、これが、完全な
回転に従う位置により近い位置への画素の再整列の処理
を開始する形で再配置される。所期の時計回りに90°
の回転の場合、中間行列は表Bに示されたものになる。
【表2】
【0032】回転用の部分的再配置によって、各行が効
果的に分割され、ニブル列対(ニブル列ペア)に変換さ
れる。中間行列の最初の4行には、横に配置された元の
データ・ブロックからの奇数番号行(すなわち、行A、
C、EおよびG)の変換されたニブル列対が含まれる。
時計回り回転の場合、横配置は、右から左への順であ
り、各半行の上位ビットが、下位ビットの上に配置され
ている。反時計回り回転の場合、表Eを参照すれば、横
配置が左から右の順であり、下位ビットが各半行からの
上位ビットの上に配置されることがわかる。中間行列の
下4行には、上4行と同一の配置で、元のデータ・ブロ
ックからの偶数番号行(すなわち行B、D、Fおよび
H)が含まれる。
果的に分割され、ニブル列対(ニブル列ペア)に変換さ
れる。中間行列の最初の4行には、横に配置された元の
データ・ブロックからの奇数番号行(すなわち、行A、
C、EおよびG)の変換されたニブル列対が含まれる。
時計回り回転の場合、横配置は、右から左への順であ
り、各半行の上位ビットが、下位ビットの上に配置され
ている。反時計回り回転の場合、表Eを参照すれば、横
配置が左から右の順であり、下位ビットが各半行からの
上位ビットの上に配置されることがわかる。中間行列の
下4行には、上4行と同一の配置で、元のデータ・ブロ
ックからの偶数番号行(すなわち行B、D、Fおよび
H)が含まれる。
【0033】本発明の好ましい実施例では、中間行列
が、4つの参照テーブルを使用して生成される。これら
の参照テーブルは、本開示の一部を形成する付録という
表題の節に示されている。
が、4つの参照テーブルを使用して生成される。これら
の参照テーブルは、本開示の一部を形成する付録という
表題の節に示されている。
【0034】4つの参照テーブルのそれぞれが、8×8
画素行列内の2行を変換する責任を負う。時計回り回転
の場合、付録の表1が、行1および行2の変換に使用さ
れ、表2が行3および行4、表3が行5および行6、表
4が行7および行8の変換に使用され、行は、交互に
(すなわち、行1、3、5および7の後に行2、4、6
および8)変換される。反時計回り回転の場合、参照テ
ーブルは逆の順で使用される。すなわち、表1が行8お
よび行7、表2が行6および行5、表3が行4および行
3、表4が行2および行1の変換に使用される。
画素行列内の2行を変換する責任を負う。時計回り回転
の場合、付録の表1が、行1および行2の変換に使用さ
れ、表2が行3および行4、表3が行5および行6、表
4が行7および行8の変換に使用され、行は、交互に
(すなわち、行1、3、5および7の後に行2、4、6
および8)変換される。反時計回り回転の場合、参照テ
ーブルは逆の順で使用される。すなわち、表1が行8お
よび行7、表2が行6および行5、表3が行4および行
3、表4が行2および行1の変換に使用される。
【0035】好ましい実施例での中間行列の生成は、結
果が直接2つの32ビット・プロセッサ・レジスタにセ
ーブされる動的重ね書きによる。
果が直接2つの32ビット・プロセッサ・レジスタにセ
ーブされる動的重ね書きによる。
【0036】90°時計回り回転の場合の参照テーブル
の使用を、表Cに記載の2進表記の2レベル8×8画素
行列から始まる下記の例によって示す。
の使用を、表Cに記載の2進表記の2レベル8×8画素
行列から始まる下記の例によって示す。
【表3】
【0037】まず、行1に関して、参照テーブルの項目
15を使用する。
15を使用する。
【0038】この32ビット値は、レジスタR1に次の
ようにセーブされる。
ようにセーブされる。
【0039】次に、行3に関して、参照テーブル2の項
目20を使用する。
目20を使用する。
【0040】この値を、行1の4バイト値と論理和をと
る、または動的に重ね書きする。この時、4バイト行の
どちらかに「1」の値があれば、「0」の値が置換され
る。第1の32ビット・レジスタの結果は、次のように
なる。
る、または動的に重ね書きする。この時、4バイト行の
どちらかに「1」の値があれば、「0」の値が置換され
る。第1の32ビット・レジスタの結果は、次のように
なる。
【0041】次に、行5に関して、参照テーブル3の項
目48を使用する。
目48を使用する。
【0042】この4バイト値とR1の内容の論理和をと
ると、次のレジスタ値がもたらされる。
ると、次のレジスタ値がもたらされる。
【0043】最後に、行7に関して、参照テーブル4の
項目46を使用する。
項目46を使用する。
【0044】この値とR1の論理和をとった後に、レジ
スタR1には下記が含まれる。
スタR1には下記が含まれる。
【0045】同じ手順を行2、4、6および8に関して
繰り返し、それぞれ参照テーブル1、2、3および4を
使用すると、次の結果がR2にセーブされる。
繰り返し、それぞれ参照テーブル1、2、3および4を
使用すると、次の結果がR2にセーブされる。
【0046】これで、中間行列生成の処理が完了する。
結果を明らかにするために、下記の行列形式で、上位バ
イトを下位バイトの上に置いてバイトに関してR1とR
2の内容を表示することができる。 R1 バイト3 0 1 0 0 0 0 0 1 R1 バイト2 0 1 0 0 0 1 0 1 R1 バイト1 1 1 1 0 0 0 0 1 R1 バイト0 0 0 1 0 1 0 0 1 R2 バイト3 0 0 0 1 0 0 0 0 R2 バイト2 0 0 1 1 0 1 0 0 R3 バイト1 1 1 0 0 0 0 0 1 R3 バイト0 0 0 1 0 1 1 0 1
結果を明らかにするために、下記の行列形式で、上位バ
イトを下位バイトの上に置いてバイトに関してR1とR
2の内容を表示することができる。 R1 バイト3 0 1 0 0 0 0 0 1 R1 バイト2 0 1 0 0 0 1 0 1 R1 バイト1 1 1 1 0 0 0 0 1 R1 バイト0 0 0 1 0 1 0 0 1 R2 バイト3 0 0 0 1 0 0 0 0 R2 バイト2 0 0 1 1 0 1 0 0 R3 バイト1 1 1 0 0 0 0 0 1 R3 バイト0 0 0 1 0 1 1 0 1
【0047】したがって、元の包括的な例に戻ると、中
間行列の最初の4行(または第1の4バイト行)が、第
1の32ビット・レジスタR1にセーブされ(図4のブ
ロック54)、この行列の残りの4行(または第2の4
バイト行)が、第2の32ビット・レジスタR2にセー
ブされる(ブロック56)。したがって、32ビット環
境では、中間行列が、下記の表現で2つの32ビット・
レジスタR1およびR2に保持される。
間行列の最初の4行(または第1の4バイト行)が、第
1の32ビット・レジスタR1にセーブされ(図4のブ
ロック54)、この行列の残りの4行(または第2の4
バイト行)が、第2の32ビット・レジスタR2にセー
ブされる(ブロック56)。したがって、32ビット環
境では、中間行列が、下記の表現で2つの32ビット・
レジスタR1およびR2に保持される。
【表4】
【0048】その後、レジスタR1およびR2の内容
を、2つの別の32ビット・レジスタR3およびR4に
それぞれコピーして(ブロック58)、下記の表現を達
成する。
を、2つの別の32ビット・レジスタR3およびR4に
それぞれコピーして(ブロック58)、下記の表現を達
成する。
【表5】
【0049】回転が90°時計回り回転の時(ブロック
60)、R1およびR4の偶数ビットを0にし(ブロッ
ク62)、R2およびR3の奇数ビットをゼロにし(ブ
ロック64)て、下記のレジスタの変化をもたらす。
60)、R1およびR4の偶数ビットを0にし(ブロッ
ク62)、R2およびR3の奇数ビットをゼロにし(ブ
ロック64)て、下記のレジスタの変化をもたらす。
【表6】
【0050】その後、R1の内容を右に1ビットだけシ
フトし、R2の内容を左に1ビットだけシフトし(ブロ
ック66)、その結果、4つのレジスタの内容は、次の
ようになる。
フトし、R2の内容を左に1ビットだけシフトし(ブロ
ック66)、その結果、4つのレジスタの内容は、次の
ようになる。
【表7】
【0051】次に、R1とR4の論理和をとり(ブロッ
ク74)、R2とR3の論理和をとって(ブロック7
6)、レジスタR1およびR2の下記の内容を達成す
る。
ク74)、R2とR3の論理和をとって(ブロック7
6)、レジスタR1およびR2の下記の内容を達成す
る。
【表8】
【0052】行列形式で、R1とR2は現在、回転され
た8×8画素行列を含んでいる。
た8×8画素行列を含んでいる。
【表9】
【0053】90°反時計回り回転は、同様の方法に従
って達成される。上で述べた中間行列の生成を、好まし
い実施例では参照テーブルを逆の順序で使用して実行し
て、表Aから下記の中間行列を生成する。
って達成される。上で述べた中間行列の生成を、好まし
い実施例では参照テーブルを逆の順序で使用して実行し
て、表Aから下記の中間行列を生成する。
【表10】
【0054】32ビット環境では、上の中間行列を、下
記の表現で2つの32ビット・レジスタR1およびR2
に保持できる(ブロック54および56)
記の表現で2つの32ビット・レジスタR1およびR2
に保持できる(ブロック54および56)
【表11】
【0055】次に、R1とR2の内容を、2つの別の3
2ビット・レジスタR3およびR4にそれぞれコピーす
る(ブロック58)。
2ビット・レジスタR3およびR4にそれぞれコピーす
る(ブロック58)。
【表12】
【0056】反時計回り回転の場合(ブロック60)、
R1とR4の奇数ビットを0にし(ブロック68)、R
2とR3の偶数ビットを0にする(ブロック70)。こ
れによって、4つのレジスタの内容が、下記のように変
化する。
R1とR4の奇数ビットを0にし(ブロック68)、R
2とR3の偶数ビットを0にする(ブロック70)。こ
れによって、4つのレジスタの内容が、下記のように変
化する。
【表13】
【0057】R1の内容を左に1ビットだけシフトし、
R2の内容を右に1ビットだけシフトし(ブロック7
2)、その結果、4つのレジスタは、次のようになる。
R2の内容を右に1ビットだけシフトし(ブロック7
2)、その結果、4つのレジスタは、次のようになる。
【表14】
【0058】R1とR4の論理和をとり(ブロック7
4)、R2とR3の論理和をとる(ブロック76)。そ
の後、最初の2つのレジスタは、下記の表現を有する。
4)、R2とR3の論理和をとる(ブロック76)。そ
の後、最初の2つのレジスタは、下記の表現を有する。
【表15】
【0059】R1とR2には、現在、元の向きから90
°反時計回りに回転された8×8画素行列が含まれる。
行列表現で表すと、このデータは次のように見える。
°反時計回りに回転された8×8画素行列が含まれる。
行列表現で表すと、このデータは次のように見える。
【表16】
【0060】IBM32ビット計算機上で実施された好
ましい実施例では、本発明の方法が、以前に既知の方法
より一貫して高速に走行し、32ビット・プラットフォ
ーム間で移植された時により少ないオーバーヘッドを有
する。
ましい実施例では、本発明の方法が、以前に既知の方法
より一貫して高速に走行し、32ビット・プラットフォ
ーム間で移植された時により少ないオーバーヘッドを有
する。
【0061】試験結果から、本発明の方法は、Inte
lベースのIBM PCコンピュータ上で30%以上高
速であることが示され、この結果は、キャッシュ・メモ
リを使用した場合にはさらに良くなるはずである。
lベースのIBM PCコンピュータ上で30%以上高
速であることが示され、この結果は、キャッシュ・メモ
リを使用した場合にはさらに良くなるはずである。
【0062】
【0063】
【0064】
【0065】
【発明の効果】本発明によれば、2レベル画像データを
既知の方法より一貫して高速に走行することができる。
本発明の方法は、必要なメモリ・アクセスが従来技術の
方法より少ないので、本発明が特に対処する環境のタイ
プである32ビット・レジスタを有するIntelベー
スのIBMパーソナル・コンピュータ上での動作におい
て、15%ないし30%高速であることが判明してい
る。
既知の方法より一貫して高速に走行することができる。
本発明の方法は、必要なメモリ・アクセスが従来技術の
方法より少ないので、本発明が特に対処する環境のタイ
プである32ビット・レジスタを有するIntelベー
スのIBMパーソナル・コンピュータ上での動作におい
て、15%ないし30%高速であることが判明してい
る。
【図1】本発明を実施するための典型的なコンピュータ
・システムの概略図である。
・システムの概略図である。
【図2】ある向きの文書を示す、パーソナル・コンピュ
ータまたはワークステーションの表示画面を示す図であ
る。
ータまたはワークステーションの表示画面を示す図であ
る。
【図3】図2と90°異なる向きの文書を示す、パーソ
ナル・コンピュータまたはワークステーションの表示画
面を示す図である。
ナル・コンピュータまたはワークステーションの表示画
面を示す図である。
【図4】時計回りまたは反時計回りに90°画像を回転
する際のステップを示す流れ図である。
する際のステップを示す流れ図である。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−146367(JP,A) 特開 昭60−147884(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06T 3/60 G09G 5/36 520
Claims (13)
- 【請求項1】次の各ステップから成る、32ビット幅の
第1ないし第4のレジスタを備えたコンピュータ・シス
テムにおいて、8行8列の画素データ・ビットを有する
2レベル画像データのブロックを90°回転する方法。 (イ)前記ブロックの画素データ・ビットから、8行8
列の画素データ・ビットを有する中間行列を生成するス
テップ。 前記ブロックは4つの行ペアに分割され、前記中間行列
は4つのニブル列ペアに分割され、前記行ペアの各々は
前記ニブル列ペアの1つに対応し、各行ペアの各行は2
つの半行に分割され、各行ペアの一方の行の前記2つの
半行のうち一方の半行は、当該各行ペアに対応するニブ
ル列ペアのうち一方のニブル列の上半分を形成するよう
に90°回転及び変換され、前記一方の行を構成する前
記2つの半行のうち他方の半行は、当該各行ペアに対応
するニブル列ペアのうち他方のニブル列の上半分を形成
するように90°回転及び変換され、各行ペアの他方の
行を構成する前記2つの半行のうち一方の半行は、前記
一方のニブル列の下半分を形成するように90°回転及
び変換され、前記他方の行を構成する前記2つの半行の
うち他方の半行は、前記他方のニブル列の下半分を形成
するように90°回転及び変換される。 (ロ)前記 中間行列の行を、順次第1および第2のレジ
スタにセーブするステップ。 (ハ) 第1のレジスタを第3のレジスタにコピーし、第
2のレジスタを第4のレジスタにコピーするステップ。 (ニ)前記 第1および第2のレジスタの各々を、反対の
方向に1ビットずつシフトするステップ。 (ホ) 第4レジスタから第1レジスタへ1ビットおきの
ビットを重ね書きし、第3レジスタから第2レジスタへ
1ビットおきのビットを重ね書きするステップ。 - 【請求項2】前記ステップ(イ)が、前記ブロック内の
最上部から最下部への方向における連続的な行ペアが前
記中間行列内の右から左への方向における連続的なニブ
ル列 ペアに対応するように、前記中間行列を生成するス
テップを含み、各行ペアの前記一方の行が当該各行ペア
の上部の行であることを特徴とする、請求項1に記載の
方法。 - 【請求項3】前記ステップ(ニ)が、第1レジスタを1
ビット左にシフトし、第2レジスタを1ビット右にシフ
トするステップを含むことを特徴とする、請求項2に記
載の方法。 - 【請求項4】前記ステップ(ホ)が、さらに、第1およ
び第4のレジスタの奇数ビットのすべてを0にし、第2
および第3のレジスタの偶数ビットのすべてを0にする
ステップと、第4のレジスタと第1のレジスタとの論理
和をとり、第3のレジスタと第2のレジスタとの論理和
をとるステップを含むことを特徴とする、請求項3に記
載の方法。 - 【請求項5】前記ステップ(イ)が、前記ブロック内の
最上部から最下部への方向における連続的な行ペアが前
記中間行列内の左から右への方向における連続的なニブ
ル列ペアに対応するように、前記中間行列を生成するス
テップを含み、各行ペアの前記一方の行が当該各行ペア
の上部の行であることを特徴とする、請求項1に記載の
方法。 - 【請求項6】前記ステップ(ニ)が、第1レジスタを1
ビット右にシフトし、第2レジスタを1ビット左にシフ
トするステップを含むことを特徴とする、請求項5に記
載の方法。 - 【請求項7】前記ステップ(ホ)が、さらに、第1およ
び第4のレジスタの偶数ビットのすべてを0にし、第2
および第3のレジスタの奇数ビットのすべてを0にする
ステップと、第4のレジスタと第1のレジスタとの論理
和をとり、第3のレジスタと第2のレジスタとの論理和
をとるステップを含むことを特徴とする、請求項6に記
載の方法。 - 【請求項8】前記ステップ(イ)が、前記 ブロックからの奇数番号行の各々について、少なく
とも1つの参照テーブルから4バイト値の第1の組を取
得し、第1のレジスタに当該4バイト値の第1の組を動
的に重ね書きするステップと、前記 ブロックからの偶数番号行の各々について、前記少
なくとも1つの参照テーブルから4バイト値の第2の組
を取得し、第2のレジスタに当該4バイト値の第2の組
を動的に重ね書きするステップとを含むことを特徴とす
る、請求項1に記載の方法。 - 【請求項9】次の各ステップから成る、32ビット幅の
第1ないし第4のレジスタを備えたコンピュータ・シス
テムにおいて、2レベル画像データを90°だけ回転す
る方法。 (イ)前記 画像データから、回転されていない8×8画
素行列を選択するステップ。 (ロ)前記ブロックの画素データ・ビットから、8行8
列の画素データ・ビットを有する中間行列を生成するス
テップ。 前記ブロックは4つの行ペアに分割され、前記中間行列
は4つのニブル列ペアに分割され、前記行ペアの各々は
前記ニブル列ペアの1つに対応し、各行ペアの各行は2
つの半行に分割され、各行ペアの一方の行を構成する前
記2つの半行のうち一方の半行は、当該各行ペアに対応
するニブル列ペアのうち一方のニブル列の上半分を形成
するように90°回転及び変換され、前記一方の行を構
成する前記2つの半行のうち他方の半行は、当該各行ペ
アに対応するニブル列ペアのうち他方のニブル列の上半
分を形成するように90°回転及び変換され、各行ペア
の他方の行を構成する前記2つの半行のうち一方の半行
は、前記一方のニブル列の下半分を形成するように90
°回転及び変換され、前記他方の行を構成する前記2つ
の半行のうち他方の半行は、前記他方のニブル列の下半
分を形成するように90°回転及び変換される。 (ハ)前記 中間行列の行を、順次第1および第2のレジ
スタにセーブするステップ。 (ニ) 第1のレジスタを第3のレジスタにコピーし、第
2のレジスタを第4のレジスタにコピーするステップ。 (ホ) 第1および第2のレジスタの各々を反対方向に1
ビットだけシフトするステップ。 (ヘ) 第4のレジスタからの1ビットおきのビットを第
1のレジスタに重ね書きし、第3のレジスタからの1ビ
ットおきのビットを第2のレジスタに重ね書きするステ
ップ。 (ト)前記 画像が回転されるまで、ステップ(イ)ない
し(ヘ)を繰り返すステップ。 - 【請求項10】次の各手段から成る、8行8列の画素デ
ータ・ビットを有する2レベル画像データのブロックを
回転するための32ビット幅のコンピュータ・システ
ム。 (イ)前記 ブロックの画素データ・ビットから、8行8
列の画素データ・ビットを有する中間行列を生成する手
段。 前記ブロックは4つの行ペアに分割され、前記中間行列
は4つのニブル列ペアに分割され、前記行ペアの各々は
前記ニブル列ペアの1つに対応し、各行ペアの各行は2
つの半行に分割され、各行ペアの一方の行を構成する前
記2つの半行のうち一方の半行は、当該各行ペアに対応
するニブル列ペアのうち一方のニブル列の上半分を形成
するように90°回転及び変換され、前記一方の行を構
成する前記2つの半行のうち他方の半行は、当該各行ペ
アに対応するニブル列ペアのうち他方のニブル列の上半
分を形成するように90°回転及び変換され、各行ペア
の他方の行を構成する前記2つの半行のうち一方の半行
は、前記一方のニブル列の下半分を形成するように90
°回転及び変換され、前記他方の行を構成する前記2つ
の半行のうち他方の半行は、前記他方のニブル列の下半
分を形成するように90°回転及び変換される。 (ロ)32ビット幅の第1ないし第4のレジスタ。 第1および第3のレジスタは、前記中間行列の最初の4
行を重複してセーブするためのものであり、第2および
第4のレジスタは、前記中間行列の残りの4行を重複し
てセーブするものである。 (ハ) 第1および第2のレジスタの各々を、反対の方向
に1ビットずつシフトする手段。 (ニ) 第4のレジスタから第1のレジスタへ1ビットお
きのビットを重ね書きし、第3のレジスタから第2のレ
ジスタへ1ビットおきのビットを重ね書きする手段。 - 【請求項11】前記手段(イ)が、少なくとも1つの参
照テーブルを含むことを特徴とする、請求項10に記載
のコンピュータ・システム。 - 【請求項12】前記少なくとも1つの参照テーブルが、
複数の参照テーブルを含み、各参照テーブルが、前記ブ
ロックからの少なくとも1つの行のための4バイト値を
生成するようになされていることを特徴とする、請求項
11に記載のコンピュータ・システム。 - 【請求項13】前記手段(イ)が、 各参照テーブルが、前記ブロックからの少なくとも2つ
の行のための4バイト値を生成するようになされてい
る、4つの参照テーブルと、前記 ブロックからの1行おきの行からの4バイト値を、
前記レジスタのうちの1つに動的に重ね書きする手段と
を含むことを特徴とする、請求項10に記載のコンピュ
ータ・システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002121402A CA2121402C (en) | 1994-04-15 | 1994-04-15 | System for fast 90-degree rotation of bi-level images |
CA2121402 | 1994-04-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07296157A JPH07296157A (ja) | 1995-11-10 |
JP2817771B2 true JP2817771B2 (ja) | 1998-10-30 |
Family
ID=4153391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7025556A Expired - Lifetime JP2817771B2 (ja) | 1994-04-15 | 1995-02-14 | 画像データ回転方法およびシステム |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP0677822A2 (ja) |
JP (1) | JP2817771B2 (ja) |
KR (1) | KR950029990A (ja) |
CN (1) | CN1066834C (ja) |
AU (1) | AU1490395A (ja) |
BR (1) | BR9501523A (ja) |
CA (1) | CA2121402C (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100444899B1 (ko) * | 1997-05-07 | 2004-12-08 | 삼성전자주식회사 | 화상의회전변환방법 |
WO2000030036A1 (en) * | 1998-11-13 | 2000-05-25 | Microsoft Corporation | Rotating image data |
US6400851B1 (en) | 1999-01-28 | 2002-06-04 | Microsoft Corporation | Rotating image data |
US6496192B1 (en) * | 1999-08-05 | 2002-12-17 | Matsushita Electric Industrial Co., Ltd. | Modular architecture for image transposition memory using synchronous DRAM |
JP4015890B2 (ja) * | 2002-06-28 | 2007-11-28 | 松下電器産業株式会社 | 画素ブロックデータ生成装置および画素ブロックデータ生成方法 |
US7376286B2 (en) * | 2002-09-18 | 2008-05-20 | Nxp B.V. | Block-based rotation of arbitrary-shaped images |
CN111754409A (zh) * | 2019-03-27 | 2020-10-09 | 北京沃东天骏信息技术有限公司 | 图像处理方法、装置、设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4627020A (en) * | 1983-12-30 | 1986-12-02 | International Business Machines Corporation | Method for rotating a binary image |
CA1252902A (en) * | 1985-10-31 | 1989-04-18 | David R. Pruett | Method for rotating a binary image |
JP2973784B2 (ja) * | 1993-07-19 | 1999-11-08 | 松下電器産業株式会社 | 多値画像90度回転方法及び装置 |
-
1994
- 1994-04-15 CA CA002121402A patent/CA2121402C/en not_active Expired - Fee Related
-
1995
- 1995-02-14 JP JP7025556A patent/JP2817771B2/ja not_active Expired - Lifetime
- 1995-03-09 EP EP95301554A patent/EP0677822A2/en not_active Withdrawn
- 1995-03-20 AU AU14903/95A patent/AU1490395A/en not_active Abandoned
- 1995-03-24 CN CN95103578A patent/CN1066834C/zh not_active Expired - Fee Related
- 1995-04-10 BR BR9501523A patent/BR9501523A/pt not_active Application Discontinuation
- 1995-04-14 KR KR1019950008770A patent/KR950029990A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
CA2121402A1 (en) | 1995-10-16 |
EP0677822A2 (en) | 1995-10-18 |
AU1490395A (en) | 1995-10-26 |
CA2121402C (en) | 1999-02-09 |
CN1066834C (zh) | 2001-06-06 |
CN1121224A (zh) | 1996-04-24 |
KR950029990A (ko) | 1995-11-24 |
JPH07296157A (ja) | 1995-11-10 |
BR9501523A (pt) | 1995-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6765581B2 (en) | Display apparatus and method capable of rotating an image by 180 degrees | |
US3976982A (en) | Apparatus for image manipulation | |
US5734875A (en) | Hardware that rotates an image for portrait-oriented display | |
US6064407A (en) | Method and apparatus for tiling a block of image data | |
EP0433645A2 (en) | Method to rotate a bitmap image 90 degrees | |
JP3571735B2 (ja) | カラーレーザコピー器の為の表示グラフィックシステム | |
KR920003477B1 (ko) | 화상처리장치 | |
US5889893A (en) | Method and apparatus for the fast rotation of an image | |
US5670982A (en) | System for fast 90-degree rotation of bi-level images | |
US5867612A (en) | Method and apparatus for the fast scaling of an image | |
JP2817771B2 (ja) | 画像データ回転方法およびシステム | |
US4918429A (en) | Display system with symbol font memory | |
Gupta | Architectures and algorithms for parallel updates of raster scan displays | |
JPH11306343A (ja) | 2次元データ回転処理装置 | |
JP2647348B2 (ja) | クリッピング・プレーン・データ記憶システム及び方法 | |
JP3072721B2 (ja) | イメージ処理方法及び装置、イメージ処理プログラムを格納する記憶媒体 | |
JPH0751370B2 (ja) | 像形成装置 | |
WO1999019860A1 (en) | Bios rom with table for expanding monochrome image into color image | |
JPS63298673A (ja) | 画像メモリ素子 | |
JPH0642259B2 (ja) | 画像処理装置 | |
JPS62210587A (ja) | 画像処理装置 | |
JPH03220863A (ja) | 画像処理装置 | |
JPH021900A (ja) | 表示制御装置 |