(57)【要約】【課題】ランレングス符号化された画像を、少ない作業領域、低い処理負荷、任意の回転角度で回転変換することを可能とする。【解決手段】原画像に現れる黒ランの両端が回転変換によって移される先のラインＳＹ，ＥＹを求める。また原画像の黒ランに沿うラインが回転変換によって移される先の直線を求める。この直線が目的画像の１ライン中にて通過するピクセルを、ＳＹ〜ＥＹの各ライン毎に求める。各ラインについて得られた一連のピクセルが目的画像の黒ラン３２〜３６として、それぞれランレングス符号化され、ライン毎のバッファに格納される。原画像の全黒ランに対する処理が終了すると、当該バッファを先頭ラインから順次読み出すことにより、ランレングス符号化された目的画像データが出力される。【選択図】        図３
2005012304.tif 000002
【特許請求の範囲】
【請求項１】
走査線に沿ったランをランレングス符号化によって圧縮した画像データに関し座標変換を行って、原画像を表す原画像データから目的画像を表す目的画像データを生成する画像処理方法であって、
前記目的画像において、前記原画像に現れる原画像ランの前記座標変換後の変換像が位置する走査線範囲を前記原画像ラン毎に求める走査線範囲決定ステップと、
前記各原画像ランそれぞれについて、前記走査線範囲に含まれる各走査線毎に、当該走査線上での前記変換像に対応して、前記目的画像における目的画像ランを求め、当該走査線上での当該目的画像ランの位置及び長さの情報を含み当該目的画像ランをランレングス圧縮して表す圧縮符号を生成する目的画像ラン生成ステップと、
を有することを特徴とする画像処理方法。
【請求項２】
請求項１に記載の画像処理方法において、
前記原画像ラン毎に、当該原画像ランに対応する前記原画像の走査線を前記座標変換して前記変換像の位置基準線を定める基準線設定ステップを有し、
前記目的画像ラン生成ステップは、
前記走査線範囲に含まれる前記走査線上の画素のうち前記位置基準線が通過するものに基づいて前記目的画像ランを求めること、
を特徴とする画像処理方法。
【請求項３】
請求項１又は請求項２に記載の画像処理方法において、
前記走査線範囲決定ステップは、前記原画像ランの両端の前記座標変換後の位置を求め、当該位置に応じて前記走査線範囲の上限及び下限を定めること、を特徴とする画像処理方法。
【請求項４】
請求項１から請求項３のいずれか１つに記載の画像処理方法において、
生成された前記圧縮符号を記憶する圧縮符号記憶ステップと、
前記記憶された圧縮符号に基づいて前記目的画像データを生成する画像データ生成ステップと、
を有し、
前記圧縮符号は、前記目的画像ランの両端座標又は、一方端座標及び長さの情報を含み、
前記画像データ生成ステップは、前記目的画像上で互いに連続し、又は重複部分を有する前記目的画像ランを表す複数の前記圧縮符号を、それら複数の目的画像ランを合成した目的画像ランを表す１つの圧縮符号で置き換えること、
を特徴とする画像処理方法。
【請求項５】
走査線に沿ったランをランレングス符号化によって圧縮した画像データに関し座標変換を行って、原画像を表す原画像データから目的画像を表す目的画像データを生成する画像処理装置であって、
前記目的画像において、前記原画像に現れる原画像ランの前記座標変換後の変換像が位置する走査線範囲を前記原画像ラン毎に求める走査線範囲決定手段と、
前記各原画像ランそれぞれについて、前記走査線範囲に含まれる各走査線毎に、当該走査線上での前記変換像に対応して、前記目的画像における目的画像ランを求め、当該走査線上での当該目的画像ランの位置及び長さの情報を含み当該目的画像ランをランレングス圧縮して表す圧縮符号を生成する目的画像ラン生成手段と、
を有することを特徴とする画像処理装置。
【請求項６】
コンピュータを、走査線に沿ったランをランレングス符号化によって圧縮した画像データに関し座標変換を行って、原画像を表す原画像データから目的画像を表す目的画像データを生成する手段として機能させる画像処理プログラムであって、
前記目的画像において、前記原画像に現れる原画像ランの前記座標変換後の変換像が位置する走査線範囲を前記原画像ラン毎に求める走査線範囲決定手順と、
前記各原画像ランそれぞれについて、前記走査線範囲に含まれる各走査線毎に、当該走査線上での前記変換像に対応して、前記目的画像における目的画像ランを求め、当該走査線上での当該目的画像ランの位置及び長さの情報を含み当該目的画像ランをランレングス圧縮して表す圧縮符号を生成する目的画像ラン生成手順と、
を前記コンピュータに実行させる画像処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ランレングス法により符号化された画像の座標変換を伴う画像処理に関する。
【０００２】
【従来の技術】
ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ：光学式文字認識）や図面読取装置等の画像処理装置では、処理対象画像の蓄積や転送を効率的に行うために、その画像データを圧縮することが行われる。その圧縮方法の一つとしてランレングス法が用いられ、ラインに沿った同じ画素値の連続（ラン）が一つのまとまりとして符号化される。その画像データに対する処理として、例えばスキュー補正等を目的とした回転操作が行われる。従来、画像の回転処理を行う場合、圧縮された画像データを一旦伸張して２次元バッファ上でのビットマップに変換し、各ピクセルをそれぞれ座標変換する。この従来技術では、イメージデータの伸張や座標変換処理に時間がかかるという問題や、大容量の２次元バッファが必要となり装置のコスト低減、小型化が難しいという問題があった。
【０００３】
そのため、この問題を解決することを目的として、特許文献１では、ランレングス法により符号化された画像データを伸張せずに回転処理を行う技術が提案されている。この技術は、ランレングス法によりデータ圧縮された画像データに対し、回転角に応じた適当な単調増加点列ａＬ（Ｌ＝０，１，２，…，Ｌｍａｘ）を求め、ａｋ＋１ライン目からａｋ＋１ライン目（ｋ＝０，１，２，…，Ｌｍａｘ−１）までの画像データについて左回転の場合にはｋ−１、右回転の場合には（Ｌｍａｘ−ｋ）の長さの白のラン成分を各ラインの先頭に付加する。さらに、全ラインの画像データについて、先頭から数えてａｋ＋１ピクセル目からａｋ＋１ピクセル目までがｋ番目の区間となるように分離する。その結果、当初のランが複数区間に跨る場合には、そのランは複数のラン成分に分割される。次に第（ｋ＋１）区間に属する各ラインを、左回転の場合には第ｋ区間のそれぞれ１つ上のラインに、右回転の場合には第ｋ区間のそれぞれ１つ下のラインに接続する。これによりラン成分が結合された新たなランを表す符号が生成され、回転後の画像についてランレングス法により符号化された画像データが生成される。
【０００４】
【特許文献１】
特開平１−１４９１８５号公報
【０００５】
【発明が解決しようとする課題】
特許文献１に示される従来技術は、比較的小さな回転角に対して近似的に回転後の画像データを求めるものであって、回転角度が小さい場合には適用可能だが、回転角度が大きい場合には、第１には近似的な処理が妥当性を欠くものとなって適用が困難となる。また、第２には、回転角θに対してライン方向の分離に係る区間幅は例えば１／ｔａｎθに設定され、この区間幅はθの増大と共に小さくなって、ラインが細かく分割されることになる。そのため、θが大きくなるほど、分割された画像データを保持するために必要な記憶容量も増大する。
【０００６】
また、当該従来技術の画像処理では、白ラン及び黒ランの双方を全て記憶しておく必要があるので、その意味でも、ラン情報を保持するために比較的大きな記憶容量を要する。さらに、回転角度に応じて白ランを各ラインの先頭に付加するという複雑な処理を行うため、処理負荷が比較的大きくなる。
【０００７】
本発明は以上の問題を解決するために為されたものであり、ランレングス法により符号化された画像を復号せずに画像の座標変換を行う画像処理において、一層小さな記憶容量及び低い処理負荷を達成し、しかもそれが座標変換に含まれる回転操作の回転角度に依らずに実現される画像処理方法等を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係る画像処理方法は、走査線に沿ったランをランレングス符号化によって圧縮した画像データに関し座標変換を行って、原画像を表す原画像データから目的画像を表す目的画像データを生成するものであって、前記目的画像において、前記原画像に現れる原画像ランの前記座標変換後の変換像が位置する走査線範囲を前記原画像ラン毎に求める走査線範囲決定ステップと、前記各原画像ランそれぞれについて、前記走査線範囲に含まれる各走査線毎に、当該走査線上での前記変換像に対応して、前記目的画像における目的画像ランを求め、当該走査線上での当該目的画像ランの位置及び長さの情報を含み当該目的画像ランをランレングス圧縮して表す圧縮符号を生成する目的画像ラン生成ステップとを有する。
【０００９】
本発明において、座標変換は例えばアフィン変換である。ちなみにアフィン変換は回転操作の他、平行移動、左右反転、拡大、縮小等の操作を含む。１つの原画像ランは原画像を構成する１つの走査線に沿って連続するものであるが、それを座標変換して得られる変換像は一般に目的画像の複数の走査線に跨り得る。この走査線上には、１つの原画像ランの変換像に対し、その原画像ランに対応する画素値のピクセルが１個又は複数個連続して配置され、これが目的画像ランを構成する。目的画像ランはランレングス符号化により圧縮された圧縮符号に変換される。本発明によれば圧縮符号を生成する際に、走査線上での目的画像ランの位置及び長さの情報を抽出可能なように符号化が行われる。目的画像ランを表す圧縮符号が走査線上での位置情報を含むことにより、例えばモノクロ画像においては白ランに頼らずに黒ランの位置が特定できる。よって本発明では、黒ランのみを原画像ランとして処理し目的画像データを生成することができ、白ランについては処理を不要とすることができる。なお、原画像データにおける原画像ランの符号化方式に関しては、目的画像ランと同様の方式を用いることできるが、他の方式のランレングス符号化も可能である。
【００１０】
本発明の好適な態様は、前記原画像ラン毎に、当該原画像ランに対応する前記原画像の走査線を前記座標変換して前記変換像の位置基準線を定める基準線設定ステップを有し、前記目的画像ラン生成ステップが、前記走査線範囲に含まれる前記走査線上の画素のうち前記位置基準線が通過するものに基づいて前記目的画像ランを求める画像処理方法である。画素は有限の面積を有し、走査線と交差する位置基準線は、当該走査線上に並ぶ複数の画素を通過し得る。通過画素数は基本的には、位置基準線が走査線と成す角度が小さいほど多くなる。
【００１１】
本発明の他の好適な態様は、前記走査線範囲決定ステップが、前記原画像ランの両端の前記座標変換後の位置を求め、当該位置に応じて前記走査線範囲の上限及び下限を定める画像処理方法である。
【００１２】
本発明のさらに他の好適な態様は、生成された前記圧縮符号を記憶する圧縮符号記憶ステップと、前記記憶された圧縮符号に基づいて前記目的画像データを生成する画像データ生成ステップとを有し、前記圧縮符号が、前記目的画像ランの両端座標又は、一方端座標及び長さの情報を含み、前記画像データ生成ステップが、前記目的画像上で互いに連続し、又は重複部分を有する前記目的画像ランを表す複数の前記圧縮符号を、それら複数の目的画像ランを合成した目的画像ランを表す１つの圧縮符号で置き換える画像処理方法である。
【００１３】
本発明に係る画像処理装置は、走査線に沿ったランをランレングス符号化によって圧縮した画像データに関し座標変換を行って、原画像を表す原画像データから目的画像を表す目的画像データを生成するものであって、前記目的画像において、前記原画像に現れる原画像ランの前記座標変換後の変換像が位置する走査線範囲を前記原画像ラン毎に求める走査線範囲決定手段と、前記各原画像ランそれぞれについて、前記走査線範囲に含まれる各走査線毎に、当該走査線上での前記変換像に対応して、前記目的画像における目的画像ランを求め、当該走査線上での当該目的画像ランの位置及び長さの情報を含み当該目的画像ランをランレングス圧縮して表す圧縮符号を生成する目的画像ラン生成手段とを有する。
【００１４】
本発明に係る画像処理プログラムは、コンピュータを、走査線に沿ったランをランレングス符号化によって圧縮した画像データに関し座標変換を行って、原画像を表す原画像データから目的画像を表す目的画像データを生成する手段として機能させるものであって、前記目的画像において、前記原画像に現れる原画像ランの前記座標変換後の変換像が位置する走査線範囲を前記原画像ラン毎に求める走査線範囲決定手順と、前記各原画像ランそれぞれについて、前記走査線範囲に含まれる各走査線毎に、当該走査線上での前記変換像に対応して、前記目的画像における目的画像ランを求め、当該走査線上での当該目的画像ランの位置及び長さの情報を含み当該目的画像ランをランレングス圧縮して表す圧縮符号を生成する目的画像ラン生成手順とを前記コンピュータに実行させる。
【００１５】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら説明する。図１は、本発明の実施の形態に係る画像処理装置の概略の構成を示すブロック図である。本装置は、図１に示すように、出力画像情報生成部２、画像入力部４、入力黒ラン情報取得部６、出力黒ラン情報生成部８、記憶部１０、及び画像出力部１２を備えて構成され、画像入力部４から読み込んだ原画像（入力画像）に対し、回転、拡大縮小、平行移動の成分を含み得る座標変換を施し、画像出力部１２から出力するものである。ここでは、その座標変換として特に回転操作を含むものにおいて説明する。
【００１６】
出力画像情報生成部２は、処理対象となる入力画像の縦、横のサイズ及び回転操作の回転角αを設定され、それらに基づいて、回転後の目的とする画像の縦、横のサイズを求める。また、入力画像における水平線ｙ＝ｉは目的画像（出力画像）における直線ｙ＝ａｘ＋ｂに変換され得るが、この直線の傾きａは回転角αに応じて定まり、少なくとも１つの入力画像に対する処理の間、一定であるので、出力画像情報生成部２にて予め定められ保持される。例えば、出力画像情報生成部２は、回転角αから傾きａを計算により求めてもよいし、回転角αと傾きａとの対応テーブルを有し、これを検索して傾きａを決定してもよい。
【００１７】
画像入力部４は、二値化され、ランレングス符号化された原画像データを取得して出力する。例えば、画像入力部４はスキャナ等の画像読取装置であり、画像入力部４自体が印刷物等の画像記録媒体から原画像を読み込んで、原画像データを生成するものであり得る。また画像入力部４は、外部で生成された原画像データを例えば通信回線等を介して単に取り込むものでもよい。いずれの構成にしても画像入力部４は、走査線（ライン）に沿ってランレングス符号化された原画像データを、ラインの並びに従って順次、入力黒ラン情報取得部６へ出力する。
【００１８】
入力黒ラン情報取得部６は、画像入力部４から入力された１ライン分の原画像データから、黒ランを表すランレングス圧縮符号を順次取り出し、出力黒ラン情報生成部８へ出力する。ここで黒ランは、ライン上でひとまとまりに存在する複数又は１個の黒画素であり、入力黒ラン情報取得部６は黒ランを表す符号として、ライン方向（ｘ方向）における黒ランの開始座標ｓｘ及び終了座標ｅｘを出力する。
【００１９】
なお、画像入力部４が画像を読み込んでランレングス符号化を行い画像データを生成する場合には、各ラインの画像データが符号（ｓｘ，ｅｘ）を順次格納するようにランレングス符号化が行われる。一方、これとは異なる方式でランレングス符号化された画像データを外部から取り込む場合には、画像入力部４は黒ランの開始座標ｓｘ及び終了座標ｅｘを求めて、入力黒ラン情報取得部６へ出力するように構成する。
【００２０】
出力黒ラン情報生成部８は、原画像データから取り出された個々の黒ラン符号（ｓｘ，ｅｘ）に対し後述の回転変換処理を行い、その変換像を構成する黒ランを表す圧縮符号を生成する。この圧縮符号は黒ランの開始座標ＳＸ、終了座標ＥＸを用いて（ＳＸ，ＥＸ）の形式で表される。
【００２１】
記憶部１０は、出力画像のライン番号ｋ（ｋ＝１，２，…，ｈ）をインデックスとするテーブルｔａｂｌｅ［ｋ］を有し、出力黒ラン情報生成部８にて生成された黒ラン符号をライン毎にこのテーブルに格納する。図２は、ｔａｂｌｅ［ｋ］を表す模式図である。この図において各行がそれぞれｔａｂｌｅ［１］，ｔａｂｌｅ［２］，…，ｔａｂｌｅ［ｈ］を表し、例えばｔａｂｌｅ［１］には、黒ランを表す符号（ＳＸ１１，ＥＸ１１），（ＳＸ２１，ＥＸ２１），…が先頭から順番に格納される。
【００２２】
画像出力部１２はインデックスｋを１からｈまで１ずつインクリメントしながら記憶部１０のテーブルｔａｂｌｅ［ｋ］の内容を読み出し、目的画像データの第１〜第ｈラインを順次出力する。
【００２３】
次に本装置の処理内容について、図３に示すフロー図を用いて説明する。例えば、本装置では図４に示す座標系に基づいて処理が行われる。この座標系では、画像の左上頂点に座標原点が設定され、ラインに沿って右向きにｘ軸、ラインに直交する下向きにｙ軸が設定される。ｘ軸方向の座標はピクセル数、ｙ軸方向の座標はライン番号で表すことができる。その場合、処理内容によってはピクセル間隔とライン間隔との相違をスケーリングしなければならない場合があるが、ここでは、説明を簡単にするため、ピクセル間隔とライン間隔とは同じであるとする。
【００２４】
本装置は処理を開始すると（Ｓ１００）、出力画像情報生成部２が入力画像の幅ｎｘ、高さｎｙ、及び回転角度αから出力画像の幅ＮＸ、高さＮＹ、及び回転後の上記直線の傾きａを求める（Ｓ１０５）。ここで入力画像での点（ｐｘ，ｐｙ）を回転変換して得られる出力画像での点（ＰＸ，ＰＹ）とし、回転変換の関数をＲｘ，Ｒｙで表す。すなわち、
【数１】
ＰＸ＝Ｒｘ（ｐｘ，ｐｙ）                            ………（１）
ＰＹ＝Ｒｙ（ｐｘ，ｐｙ）                            ………（２）
と表す。
【００２５】
回転角αの正方向を時計方向に定めると、上記（１）式、（２）式は具体的にそれぞれ次の（３）式、（４）式で表される。
【数２】
ＰＸ＝ｐｘ・ｃｏｓα−ｐｙ・ｓｉｎα                    ………（３）
ＰＹ＝ｐｘ・ｓｉｎα＋ｐｙ・ｃｏｓα                    ………（４）
【００２６】
さて、例えば、画素の集合を用いて、
【数３】
Ｆｉ＝｛（ｕ，ｖ）｜１≦ｕ≦ｎｘ，１≦ｖ≦ｎｙ｝                ………（５）
で表される矩形の入力画像Ｆｉに対し、出力画像情報生成部２は、回転された入力画像の全体を包含する矩形画像を出力画像Ｆｏとして設定する。その場合、出力画像Ｆｏは画素の集合として、
【数４】
2005012304.tif 000003
で表される。これに応じて、出力画像情報生成部２は、出力画像Ｆｏの幅ＮＸ、高さＮＹを、
【数５】
ＮＸ＝ｍａｘ（Ｒｘ（ｕ，ｖ））−ｍｉｎ（Ｒｘ（ｕ，ｖ））＋１                ………（７）
ＮＹ＝ｍａｘ（Ｒｙ（ｕ，ｖ））−ｍｉｎ（Ｒｙ（ｕ，ｖ））＋１                ………（８）
と定める。ちなみに、矩形の入力画像Ｆｉに関してｍａｘ（Ｒｘ（ｕ，ｖ））等は、画像内の全ての点（ｕ，ｖ）について探索する必要はなく、矩形頂点の回転後の座標から容易に求まる。なお、出力画像情報生成部２は、出力画像Ｆｏのライン番号及びライン上でのピクセル座標に例えば自然数（すなわち１以上の整数）を用いることに対応するため、座標系の原点をシフトさせる。その結果、出力画像Ｆｏは、
【数６】
Ｆｏ＝｛（Ｕ’，Ｖ’）｜１≦Ｕ’≦ＮＸ，１≦Ｖ’≦ＮＹ｝      ………（９）
で表され、出力黒ラン情報生成部８での処理ではシフト後の座標に基づいて、ライン番号、ピクセル位置が定められる。また、入力画像のラインを回転させた直線の傾きａは、
【数７】
ａ＝ｔａｎα                                        ………（１０）
で与えられ、上述したように、出力画像情報生成部２は傾きａを、指定されたαから計算により求めるか、または予め格納されているαとａとの対応テーブルに基づいて定める。
【００２７】
記憶部１０は、出力画像情報生成部２から出力画像Ｆｏの高さＮＹを得て、これに対応するライン数分のテーブルｔａｂｌｅ［ｋ］（ｋ＝１，２，…，ＮＹ）の領域を確保する（Ｓ１１０）。
【００２８】
画像入力部４は、設定されたｎｘ，ｎｙに基づいて、原画像を例えば１ライン当たりｎｘピクセルでｎｙラインの画像として読み込む。ここで、例えば、ユーザが、原画像が記録された用紙サイズ及び、設定された読み取り解像度を本装置に設定し、本装置はそれらに基づいてｎｘ，ｎｙを算出し利用するように構成することができる。
【００２９】
入力黒ラン情報取得部６は、処理対象ラインを示すインデックスｉを初期値”１”に設定する（Ｓ１１５）。
【００３０】
入力黒ラン情報取得部６は、画像入力部４からｉライン目の原画像データを読み込み、当該ラインの回転後の直線のｙ切片ｂを算出する。また、それと共に入力黒ラン情報取得部６は当該ライン上の黒ランの順序を示すインデックスｊを初期値”１”に設定する（Ｓ１２０）。
【００３１】
入力黒ラン情報取得部６は、読み込んだｉライン目の原画像データ中のｊ番目の黒ランの両端の座標、すなわち始点ｓの座標（ｓｘ，ｉ）及び終点ｅの座標（ｅｘ，ｉ）を取得する（Ｓ１２５）。図５は、入力画像のｉライン目に存在する１つの黒ランを表す模式図である。この黒ラン２０はｉラインのｓｘピクセル目からｅｘピクセル目までの１０ピクセルにわたり黒画素が連続するものである。
【００３２】
出力黒ラン情報生成部８は、始点ｓ，終点ｅを角度αだけ回転移動させた点Ｓ，Ｅのｙ座標ＳＹ，ＥＹを求める（Ｓ１３０）。ここで、黒ランの両端点ｓ，ｅの座標は上述した原点シフト前の座標値、すなわち（５）式で表される入力画像内での位置であり、また回転もシフト前の原点を中心としたものである。一方、出力黒ラン情報生成部８は（９）式で表される出力画像における黒ランを生成するものである。この原点シフト前の点ｐ（ｐｘ，ｐｙ）から、これを原点の回りに回転移動した点Ｐの原点シフト後の座標（ＰＸ’，ＰＹ’）への変換式は、（３）式、（４）式に代えて次式（１１）式、（１２）で表される。
【数８】
ＰＸ’＝ｐｘ・ｃｏｓα−ｐｙ・ｓｉｎα−δｘ            ………（１１）
ＰＹ’＝ｐｘ・ｓｉｎα＋ｐｙ・ｃｏｓα−δｙ            ………（１２）
【００３３】
ここで、
【数９】
δｘ＝ｍｉｎ（Ｒｘ（ｕ，ｖ））−１                                ………（１３）
δｙ＝ｍｉｎ（Ｒｙ（ｕ，ｖ））−１                                ………（１４）
である。
【００３４】
出力黒ラン情報生成部８は、（１２）式を用いて、ＳＹ，ＥＹを算出する。原画像から取り出された黒ラン（原画像ラン）は、出力画像のＳＹラインからＥＹラインにかけて配置され、このライン範囲に属する各ライン上に原画像の黒ランの変換像に対応する黒ラン（目的画像ラン）が存在することになる。図６は、出力画像において、図５に示す黒ラン２０を回転させて得られる変換像３０を表す模式図である。回転させた結果、１つの原画像ラン（黒ラン２０）がここではＥＹラインからＳＹラインまでの３ラインにわたる変換像３０となり、この変換像３０はその３ラインそれぞれに配置された目的画像ラン（黒ラン３２，３４，３６）で構成される。このように、一般的な回転角αに対しては、目的画像ランは複数のラインに跨ることになる。そこで、出力黒ラン情報生成部８は、当該ライン範囲に属するラインをライン番号の小さい方から順次、処理対象ラインとして、そのライン上の黒ランを求める。そのために、出力黒ラン情報生成部８は、処理対象ラインを表すインデックスｋの初期値としてライン範囲に属するラインの最小値ｍｉｎ（ＳＹ，ＥＹ）を設定する（Ｓ１３５）。
【００３５】
目的画像ランは、原画像において原画像ランが存在していたラインを回転移動させた直線ｙ＝ａｘ＋ｂと、処理対象とするラインｋとの交差位置に対応して生じる。そこで、出力黒ラン情報生成部８はｋライン上の黒ランの始点Ｓｋのｘ座標ＳＸ及び終点Ｅｋのｘ座標ＥＸを、ｋ＝ａｘ＋ｂという式を利用しつつ求める（Ｓ１３５）。具体的には、
【数１０】
ｋ≦ａｘ＋ｂ＜ｋ＋１                                                        ………（１５）
を満たす整数値の範囲を求め、その整数値の下限値をＳＸ、上限値をＥＸとする。ここで（１５）式は、ラインｋが実際にはライン間隔に応じた幅を有することに基づくものであり、その幅を直線ｙ＝ａｘ＋ｂが横切る間に通過するピクセルが同式で求められる。このようにして得られた１つの黒ランは、ＳＸ，ＥＸはこれらの対からなる符号（ＳＸ，ＥＸ）で表され、このランレングス圧縮された符号（ＳＸ，ＥＸ）は記憶部１０のｔａｂｌｅ［ｋ］に格納される（Ｓ１４０）。
【００３６】
出力黒ラン情報生成部８は、ｋを１ずつインクリメントしながら（Ｓ１４５）処理Ｓ１４０を繰り返し、ｋが上記ライン範囲の上限ｍａｘ（ＳＹ，ＥＹ）に達すると、入力画像のｉラインから取り出された１つの黒ランについての回転変換を終了する（Ｓ１５０）。出力黒ラン情報生成部８は、現在のｉラインにまだ未処理の黒ランが存在する場合には（Ｓ１５５）、インデックスｊを１つインクリメントして（Ｓ１６０）、その黒ランについて上記処理Ｓ１２５〜Ｓ１５０を実行する。
【００３７】
一方、現在設定されているｉライン上の全ての黒ランについて処理が終了すると（Ｓ１５５）、インデックスｉが１つインクリメントされ（Ｓ１６５）、入力黒ラン情報取得部６が上述した処理Ｓ１２０を行う。そして、これにより新たに読み込まれた入力画像のラインについて上記処理Ｓ１２５〜Ｓ１５５が行われる。
【００３８】
以上のようにして、入力画像の全てのラインについて処理が終了すると（Ｓ１７０）、１つの入力画像について出力黒ラン情報生成部８は処理を終え、次に記憶部１０にて当該入力画像に対する処理が開始される。
【００３９】
記憶部１０は処理開始に際し、ラインインデックスｉを初期値”１”に設定する（Ｓ１７５）。上述のように１つの入力画像内には複数の黒ランが存在し得る結果、現在設定されているインデックスｉに対応するテーブルｔａｂｌｅ［ｉ］には複数の符号（ＳＸ，ＥＸ）が蓄積されている可能性があり、またそれらが表す黒ランが互いに連続したり、重複するものである場合がある。記憶部１０はそのような連続したり、重複することにより一体となる複数の黒ランを１つの符号で表される１つの黒ランに統合する処理を行う。この処理では、個々符号により表されるラインｉ上の区間［ＳＸ，ＥＸ］についての和演算（ＯＲ演算）が行われる（Ｓ１８０）。例えば、この処理は具体的には、まずテーブルｔａｂｌｅ［ｉ］に格納されている符号（ＳＸ，ＥＸ）を開始座標ＳＸについて昇順にソートする。このソート後の符号を（ＳＸｍｉ，ＥＸｍｉ）（ｍ＝１，２，３，…）とする。次にｍ番目の符号の終了座標ＥＸｍｉと（ｍ＋１）番目の符号の開始座標ＳＸ（ｍ＋１）ｉとを比較する。その結果、ＳＸ（ｍ＋１）ｉ≦ＥＸｍｉ＋１である場合、符号（ＳＸｍｉ，ＥＸｍｉ）及び（ＳＸ（ｍ＋１）ｉ，ＥＸ（ｍ＋１）ｉ）で表される２つのランは重複を有するか、連続して１つのランを形成するので、それに対応した新たな符号（ＳＸｍｉ，ＥＸ（ｍ＋１）ｉ）が生成される。記憶部１０はｔａｂｌｅ［ｉ］において、演算対象とされた２つの符号を新たに生成された符号で置換する。一方、比較の結果、ＳＸ（ｍ＋１）ｉ＞ＥＸｍｉ＋１である場合には、演算対象とされた２つのランは分離しているので、ｔａｂｌｅ［ｉ］に格納された符号の置換は行われない。全ての隣接する２つのランの組についてこの処理を終えると、ｔａｂｌｅ［ｉ］についての上記和演算が完了し、ｔａｂｌｅ［ｉ］は、開始座標ＳＸについて昇順にソートされた符号が格納される。
【００４０】
このようにソートされたｔａｂｌｅ［ｉ］の内容が、出力画像のｉラインを表すランレングス符号化データとして画像出力部１２へ出力される（Ｓ１８５）。
【００４１】
記憶部１０は、処理Ｓ１８０及びＳ１８５をｉを１ずつインクリメントしながら（Ｓ１９０）、順次実行し、出力画像の全てのラインについて処理が終了すると（Ｓ１９５）、１つの目的画像のデータの生成、出力が完了する（Ｓ２００）。
【００４２】
以上の処理では、各テーブルｔａｂｌｅ［ｋ］それぞれに格納される複数の黒ラン符号の統合、ソートする、いわばテーブル内の整理の処理は、全ての出力黒ランの符号がテーブルに格納された後に実施されている（Ｓ１８０）。しかし、このテーブル内整理処理は、処理Ｓ１４０にて個々の黒ラン符号をテーブルに格納する都度、実施するように構成することもできるし、その他の方法によって行うこととしてもよい。
【００４３】
また、黒ラン符号として、上述の（ｓｘ，ｅｘ）に代えて、黒ランの長さｄを用いた（ｓｘ，ｄ）や（ｅｘ，ｄ）を用いても、ｄ＝ｅｘ−ｓｘの関係があることから同様の処理を行うことができる。また、黒ランのライン内での位置と長さを表す他の符号を用いても同様の処理を行うことができる。
【００４４】
上述した画像処理は、ＣＰＵにて実行されるプログラムによって実現することができる。このプログラムはハードディスク等の電子情報記録媒体に格納され、処理実行時に読み出されて利用される。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る画像処理装置の概略の構成を示すブロック図である。
【図２】ｔａｂｌｅ［ｋ］を表す模式図である。
【図３】本装置の処理内容を示すフロー図である。
【図４】画像に関する座標系を示す説明図である。
【図５】入力画像のｉライン目に存在する１つの黒ランを表す模式図である。
【図６】出力画像において、図５に示す黒ランを回転させて得られる変換像を表す模式図である。
【符号の説明】
２  出力画像情報生成部、４  画像入力部、６  入力黒ラン情報取得部、８  出力黒ラン情報生成部、１０  記憶部、１２  画像出力部、２０，３２，３４，３６  黒ラン、３０  変換像。
【図１】
2005012304.tif 000004
【図２】
2005012304.tif 000005
【図３】
2005012304.tif 000006
【図４】
2005012304.tif 000007
【図５】
2005012304.tif 000008
【図６】
2005012304.tif 000009