画像処理装置および画像処理方法
【課題】回転処理するときに必要なメモリ量を、従来技術に比べてさらに少なくできるようにする。
【解決手段】読出し/書込み制御部35による制御の下に、画像メモリ31に蓄積された入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位でラインメモリ32に展開する。そして、補間処理部33において、ラインメモリ32に蓄積された画像データを基に入力画像の座標配列で補間処理を行うとともに、入力画像の情報のうち、ラインメモリ32に蓄積されていない欠落画素の情報を、当該欠落画素の周辺画素の情報を基に補間する。
【解決手段】読出し/書込み制御部35による制御の下に、画像メモリ31に蓄積された入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位でラインメモリ32に展開する。そして、補間処理部33において、ラインメモリ32に蓄積された画像データを基に入力画像の座標配列で補間処理を行うとともに、入力画像の情報のうち、ラインメモリ32に蓄積されていない欠落画素の情報を、当該欠落画素の周辺画素の情報を基に補間する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法に関し、特に入力画像を回転処理する画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
画像処理の一種である画像回転処理を行うに当たり、従来は、入力画像を回転処理するときに必要なメモリ量を少なくするために、入力画像のデータが装置に入力される順に回転後画像の情報を作成して蓄積部に蓄積し、当該回転後画像の出力時に順序を並び替えて出力するようにしている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−234478号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、回転処理するときに必要なメモリ量を、従来技術に比べてさらに少なくできる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
請求項1記載の画像処理装置は、
入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位で蓄積部に蓄積する制御を行う制御部と、
前記蓄積部に蓄積された画像情報を基に前記入力画像の座標配列で補間処理を行う補間処理部と
を備える。
【0006】
請求項2記載の画像処理装置は、請求項1記載の画像処理装置において、
前記補間処理部は、前記入力画像の情報のうち、前記蓄積部に蓄積されていない欠落画素の情報を、当該欠落画素の周辺画素の情報を基に補間する。
【0007】
請求項3記載の画像処理装置は、請求項2記載の画像処理装置において、
前記補間処理部は、前記欠落画素の画素値を当該欠落画素に近い画素の画素値で置換する。
【0008】
請求項4記載の画像処理装置は、請求項2記載の画像処理装置において、
前記補間処理部は、前記欠落画素の画素値を当該欠落画素に隣接する複数の画素の画素値を演算して求める。
【0009】
請求項5記載の画像処理装置は、請求項1記載の画像処理装置において、
前記制御部は、前記入力画像の座標配列から前記回転処理後の画像の座標配列への座標変換にアフィン変換を用いる。
【0010】
請求項6記載の画像処理装置は、請求項1記載の画像処理装置において、
前記補間処理部は、前記蓄積部に蓄積された画像情報を基に前記入力画像の座標配列を特定するのに逆アフィン変換を用いる。
【0011】
請求項7記載の画像処理装置は、請求項1記載の画像処理装置において、
原稿から画像を読み取る画像読取部を有し、
前記入力画像は、前記画像読取部で原稿から読み取られた画像である。
【0012】
請求項8記載の画像処理装置は、請求項7記載の画像処理装置において、
前記入力画像は、原稿搬送装置によって前記画像読取部に搬送された原稿から当該画像読取部で読み取られた画像である。
【0013】
請求項9記載の画像処理方法は、
入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位で蓄積部に蓄積し、
前記蓄積部に蓄積された画像情報を基に前記入力画像の座標配列で補間処理を行う。
【発明の効果】
【0014】
請求項1記載の画像処理装置によれば、入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位で蓄積部に蓄積するための回転角度分のメモリ量を必要とする場合に比べて蓄積部のメモリ量を少なくできるために安価なシステムを構成できる。
【0015】
請求項2記載の画像処理装置によれば、入力画像の情報を蓄積部に蓄積する際に欠落画素が生じ、文字線画のエッジ部のがたつきが発生する発明と比べて欠落画素に起因する画質劣化を防止できる。
【0016】
請求項3記載の画像処理装置によれば、欠落画素の画素値を当該欠落画素に近い画素の画素値で置換することで、欠落画素に隣接する複数の画素の画素値を用いて演算して求める場合に比べて、欠落画素の補間処理を高速で実現できるとともに、補間処理を行うための回路構成を簡略化できる。
【0017】
請求項4記載の画像処理装置によれば、欠落画素に隣接する複数の画素の画素値を用いて演算して欠落画素の画素値を求めることで、欠落画素に近い画素の画素値で置換する場合に比べて、元画像の画素値により近い画素値を得ることができるために画質の向上を図ることができる。
【0018】
請求項5記載の画像処理装置によれば、アフィン変換を用いて座標変換を行うことで、アフィン変換を用いない場合に比べてより確実に座標変換を行うことができる。
【0019】
請求項6記載の画像処理装置によれば、逆アフィン変換を用いて入力画像の座標配列を特定することで、欠陥画素をより確実に特定できる。
【0020】
請求項7記載の画像処理装置によれば、画像読取部で原稿を読み取る際に当該原稿に傾きが生じたとしても、画像読取部による読取り後画像の傾きを少ないメモリ量にて補正することができる。
【0021】
請求項8記載の画像処理装置によれば、原稿搬送装置による画像読取部への搬送過程で原稿が傾くことに起因して画像読取部による読取り後画像に傾きが生じたとしても、当該読取り後画像の傾きを少ないメモリ量にて補正することができる。
【0022】
請求項9記載の画像処理方法によれば、入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位で蓄積部に蓄積すると、当該蓄積部のメモリ量として回転角度分のメモリ量を確保する必要が無くなる。したがって、回転角度分のメモリ量を必要とする場合に比べて蓄積部のメモリ量を少なくできるために安価なシステムを構成できる。
【図面の簡単な説明】
【0023】
【図1】本発明による画像処理装置を含む画像処理システムの構成例を示すブロック図である。
【図2】画像処理部の全体動作の概略を示す図である。
【図3】自動原稿送り装置を備えた複写機の構成の概略を示す側断面図である。
【図4】読取り対象の原稿と読取光学系による読取り領域との位置関係を示す図である。
【図5】画像メモリに蓄積されている画像データをラインメモリへ転送する処理を模式的に示す図である。
【図6】4×4ウィンドウの生成の概念を示す図である。
【図7】隣接する注目画素が同じ補正前画素を示す場合の各注目画素についての4×4ウィンドウの生成の概念を示す図である。
【図8】元画像に対して画素・ライン(行)がずれた状態で画像データが格納されているときの4×4ウィンドウの生成の概念を示す図である。
【図9】欠落画素の検出の概念を示す図である。
【図10】欠落画素の補間の概念を示す図である。
【図11】バイキュービック補間法を用いた補間処理の概念を示す図である。
【図12】ソフトウェア構成によって実現する場合の画素処理部を構成するコンピュータ機器の構成例を示すブロック図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0025】
[システム構成]
図1は、本発明による画像処理装置を含む画像処理システムの構成例を示すブロック図である。図1に示すように、本構成例に係る画像処理システムは、画像データ入力部10、スキュー検出部20、画像処理部30および画像データ出力部40を備えるとともに、必要に応じて記録装置50を有する構成となっている。
【0026】
画像データ入力部10は、画像に関する情報(以下、「画像データ」と記述する)を画像処理部20に入力する。この画像データ入力部10、次のような装置(1)〜(5)等によって実現される。
(1)フラットヘッドスキャナ、ハンディスキャナあるいはペン型スキャナ等の画像読取装置とその制御部
(2)自動原稿送り装置を有する画像読取装置とその制御部
(3)FAX受信装置とその制御部
(4)磁気ディスクやメモリカード等の記憶媒体のリード/ライト装置とその制御手段
(5)ネットワーク等を介してデータの授受を行うデータ転送装置
(6)アプリケーションソフトウェアで作成したファイルをビットマップ画像にラスタライズする装置
【0027】
画像データ入力部10は、画像読取装置によって読み取った画像データ、FAX受信装置によって受信した画像データ、リード/ライト装置によって記憶媒体から読み出した画像データ、データ転送装置によって受信した画像データまたはビットマップ画像データをスキュー検出部20および画像処理部30に入力する。
【0028】
スキュー検出部20は、画像データ入力部10から入力される画像データに基づく画像(入力画像)のスキュー角(傾き角度)を検出し、その検出結果(検出角度)を画像処理部30に与える。このスキュー検出部20では、例えば、ハフ(Hough)変換を用いた周知のスキュー検出技術などによって入力画像のスキュー角の検出が行われる。
【0029】
画像処理部30は、本発明による画像処理装置に相当し、画像データを2次元の座標軸で管理しつつ、スキュー検出部20から与えられる入力画像の傾きについての検出角度を基に画像の回転処理(スキュー補正処理)を行う。そして、画像処理部30は、回転処理後の画像データを画像データ出力部40に与える。この画像処理部30の回転処理に関する技術思想が本発明の特徴とする部分であり、その詳細については後述する。
【0030】
画像データ出力部40は、画像処理部30で回転処理された画像データを、ページ同期信号PSやライン同期信号LSに同期して後段へラスタ出力として送出するか、記録装置50が備えられている場合には必要に応じて記録装置50に供給する。
【0031】
画像データ出力部40の後段には、図示を省略するが、例えば画像形成装置が設けられる。この画像形成装置は、例えば、プリンタ装置(カラー/モノクロ)とその制御部またはFAX印刷装置とその制御部などによって実現され、印刷出力が指示された画像データをあらかじめ定められた形式で印刷出力する。
【0032】
記録装置50は、画像データ出力部40から画像データが供給されると、当該画像データをメモリ、ディスク、テープ等の記録媒体に対して記録する。このとき、記録装置50は、PDF(Portable Document Format)ファイルや、JPEG(Joint Photographic Expert)ファイルなどのあらかじめ定められたファイル形式にて記録媒体に画像データを記録する。
【0033】
(画像処理部の構成)
続いて、本発明による画像処理装置に相当する画像処理部30の構成について具体的に説明する。ここでは、画像データ入力部10が例えば画像読取装置からなる場合を例に挙げて説明するものとする。
【0034】
図1に示すように、画像処理部30は、画像メモリ31、ラインメモリ32、補間処理部33、書き込み制御部34、読出し/書込み制御部35および読出し制御部36を有する構成となっている。
【0035】
画像メモリ31は、画像データ入力部10から入力される画像データを例えば1ページ分蓄積するページバッファである。ただし、画像メモリ31としては必ずしもページバッファである必要はなく、リングバッファなどであっても良い。画像データ入力部10が画像読取装置からなる場合において、当該画像読取装置から入力されるスキャンデータはそのまま、書込み制御部34による制御の下に画像メモリ31に書き込まれる。
【0036】
画像メモリ31に一旦蓄積された入力画像の画像データは、読出し/書込み制御部35による制御の下に、入力画像の回転処理後の画像(以下、「回転後画像」と記述する場合もある)の座標配列にて行(ライン)単位でラインメモリ32に蓄積される。このとき、読出し/書込み制御部35は、入力画像の座標配列から回転後画像の座標配列への座標変換にアフィン変換を用いる。ラインメモリ32は、例えば、画像メモリ31と同じ主記憶部に設けられるラインバッファである。
【0037】
本画像処理部30では、ラインメモリ32への画像データの蓄積に際して、回転後画像の画像データをラインメモリ32に蓄積するのではなく、入力画像の画像データを回転後画像の座標配列にてラインメモリ32に蓄積する処理がポイントの一つとなる。因みに、回転後画像の画像データをラインメモリ32に蓄積する場合は、後段で空間フィルタ処理を行うため、連続した主走査画像を得るには回転角度分のメモリ量が余分に必要になる。ラインメモリ32への画像データの蓄積処理の詳細については後述する。
【0038】
補間処理部33は、画像の回転処理によって画質劣化(ギザギザ)が発生しないようにするために、入力画像の座標の周辺画素データを参照して補間処理(空間フィルタ処理)を行う。
【0039】
ここで、ラインメモリ32への画像データの蓄積に際して、回転後画像の画像データではなく、入力画像の画像データそのものをラインメモリ32に蓄積するようにすると、いわゆる画素抜けと呼ばれる画素データが欠落する欠落画素が発生する場合がある。補間処理部33は、この欠落画素の画素データを再現するための処理も行う。
【0040】
具体的には、補間処理部33は、入力画像の画像データのうち、ラインメモリ32に蓄積されていない欠落画素の画素データを、当該欠落画素の周辺画素の画素データを基に補間することによって再現する。本画像処理部30では、補間処理によって欠落画素の画素データを再現する処理もポイントの一つとなる。この欠落画素の補間処理の詳細についても後述する。
【0041】
(画像処理部の全体動作の概略)
図2は、画像処理部30の全体動作の概略を示す図である。ここでは、画像「A」が印刷された原稿が半時計方向にある角度だけ傾いた状態の読取り画像の画像データが画像メモリ31に蓄積されている状態を示している(A)。
【0042】
画像メモリ31に蓄積された画像データは、読出し/書込み制御部35による制御の下に、複数ライン(行)分だけラインメモリ32に展開される(B)。そして、補間処理部33において、例えば4画素×4画素のウィンドウ(以下、単に「4×4ウィンドウ」と記述する)を生成し(C)、周知のバイキュービック(Bicubic)法を用いて補間を行う(D)。
【0043】
ここで、バイキュービック補間法は、高精度な画像回転等の画像処理を行う画像補間法の一つであり、周囲の16個の画素(4×4ウィンドウ)の濃度値から、3次関数を用いて補間する手法である。補間に用いる式は、sin(πx)/πxの濃度補間式である。これをテイラー展開で3次の項で近似して補間式として用いる。
【0044】
以上の画像処理部30での一連の動作により、読取り画像の傾きが補正され、かつ欠落画素が補間された出力画像(回転後画像)が得られる(E)。
【0045】
[複写機]
以上説明したシステム構成に係る画像処理システムは、一例として、画像データ入力部10が画像読取装置(画像読取部)からなり、画像データ出力部40の後段に画像形成装置を備える複写機に適用することができる。複写機においては、画像読取装置に原稿をセットする際に、当該原稿が斜めになる場合がある。
【0046】
また、複写機には一般的に、原稿を画像読取装置に自動的に供給する原稿供給装置(給紙装置)である自動原稿送り装置(ADF;Auto Document Feeder)が装備されている。この自動原稿送り装置を使用した場合においても、当該自動原稿送り装置による画像読取装置への搬送過程で原稿が傾く場合がある。
【0047】
このように、画像読取装置にセットされた原稿が傾いていた場合や、自動原稿送り装置による搬送過程で原稿が傾いた場合などに生ずる読取り画像の傾きを補正するために、上述した画像処理部30、即ち本発明による画像読取装置が用いられる。読取り画像の傾きは、先述したように、スキュー検出部20によって検出される。そして、このスキュー検出部20の検出結果を基に、画像処理部30において読取り画像の回転処理、即ちスキュー補正処理が行われる。
【0048】
図3は、自動原稿送り装置(ADF)を備えた複写機の構成の概略を示す側断面図である。本構成例に係る複写機は、一例として、読取り対象となるシート状の原稿70を自動原稿送り装置60によって移動させながら、その原稿70上から画像を読み取る、いわゆるCVT(Constant Velocity Transfer)モードに対応可能な構成となっている。
【0049】
すなわち、CVTモードでは、自動原稿送り装置60の原稿載置台61に載置された原稿70が引込みローラ62によって1枚ずつ搬送ローラ63まで搬送され、その搬送ローラ63によって搬送方向が変更されてコンタクトガラス64まで案内される。そして、原稿70はコンタクトガラス64上を当該コンタクトガラス64と平行に搬送される。このとき、後述するようにして、原稿70上の画像の読取りが行われる。その後は、画像読取りが終了した原稿70が搬出ローラ65によって排出トレイ66上に排出される。
【0050】
コンタクトガラス64上においては、当該コンタクトガラス64上を搬送される原稿70が露光ランプ81によって照射される。そして、その照射による反射光は、第一ミラー82、第二ミラー83および第三ミラー84にて光路変更された後レンズ85によって縮小され、光電変換素子である例えばCCD(Charge Coupled Device)型ラインセンサ(CCDセンサ)86の撮像面上に結像される。
【0051】
露光ランプ81、第一ミラー82、第二ミラー83、第三ミラー84、レンズ85およびCCDセンサ86は、原稿70上の画像を当該原稿70の搬送方向(副走査方向)に直交する方向に対応する主走査方向に走査しつつ読み取る読取光学系80を構成している。これにより、コンタクトガラス64上を搬送される原稿70上に描かれた画像は、CCDセンサ86によって画素単位で光電変換されることによってアナログ画像信号として出力される。
【0052】
ここでは、複写機として、読取光学系80を固定とし、原稿70を移動させながら原稿画像を読み取る形式の複写機を例に挙げたが、これは一例に過ぎず、自動原稿送り装置60によってコンタクトガラス64上に送り込まれた原稿70を固定とし、読取光学系80を移動させながら原稿画像を読み取る形式の複写機であっても良いことは勿論である。
【0053】
[用語の定義]
以下に、例えば複写機に適用した場合を例に挙げて、先述した画像処理部30の処理の詳細について具体的に説明する。画像処理部30の処理の説明に当たって、先ず、用語について定義する。
【0054】
図4は、読取り対象の原稿70と読取光学系80による読取り領域90との位置関係を示す図である。図4において、図の左側から右側に向かう方向が主走査方向であり、図の上側から下側に向かう方向が副走査方向である。そして、(1)が原稿70の読取りスキュー角、(2)が原稿70の左コーナー(X,Y)、(3)が読取りスキュー量である。さらに、(4)が読取り領域90の幅、(5)が読取り領域90の長さ、(6)が原稿70の幅、(7)が原稿70の長さである。
【0055】
[ラインメモリへの画像データの蓄積処理]
次に、ラインメモリ32への画像データの蓄積処理の詳細について説明する。画像メモリ31からラインメモリ32への画像データの展開(蓄積)処理は、先述したように、読出し/書込み制御部35による制御の下に実行される。
【0056】
図5は、画像メモリ31に蓄積されている画像データをラインメモリ32へ転送する処理を模式的に示す図である。ここでは、画像「A」が印刷された原稿が半時計方向にある角度だけ傾いた状態の読取り画像の画像データが画像メモリ31に蓄積されている状態を示している。
【0057】
読出し/書込み制御部35は、周知のアフィン変換式によって、出力画像の画素位置(整数)に対応する元画素位置(実数)を求め、この求めた整数部から画像データの読出し位置を決定する(1)。そして、主走査方向(X方向)に、元画像の参照画素位置を求めて行くと、ライン(行)がずれる(即ち、アドレスが不連続になる)位置が存在するので、このアドレスが不連続になる位置までを、画像メモリ21からラインメモリ32への1回の転送量とする(2)。
【0058】
このときの画像メモリ31からラインメモリ32への1回の転送量は、図4にデータ量を矢印(→)で模式的に示す当該矢印の長さに相当する。また、1回の転送量(矢印の長さ)は、原稿画像(即ち、読取り画像)の傾きによって決まる。例えば、傾き角度が大きければ、1回の転送量が少なくなる(矢印の長さが短くなる)。そして、読出し/書込み制御部35は、画像メモリ31から読み出した画像データを、出力画像(即ち、回転処理後の画像/回転後画像)のライン(行)単位にラインメモリ32に蓄積する。
【0059】
本例では、例えば図4に示すように、画像メモリ31から読み出した画像データを6ライン分だけラインメモリ32に蓄積する(3)。そして、本画像処理部30では、画像データを1ラインずつラインメモリ32としてのバッファに蓄積し、当該バッファ内で処理を行いつつ1ライン分のデータをバッファ間(モジュール間)で順にシフトしていくパイプライン処理(時間的並列処理)が行われる。
【0060】
[補間処理]
続いて、補間処理部33における補間処理について説明する。この補間処理に先立って補間ウィンドウである4×4ウィンドウの生成が行われる。
【0061】
(4×4ウィンドウの生成)
図6は、4×4ウィンドウの生成の概念を示す図である。後述する理由により、ラインメモリ32として6ライン分のメモリを用いるものとする。先ず、アフィン変換式によって、出力画像(回転後画像)の画素位置(実数)に対応する元画素位置(整数)を、ラインメモリ32のアドレスとして求める(1)。
【0062】
次に、注目画素位置の整数部が示す位置を(0,0)として、ラインメモリ32の周辺データの相対位置を算出する(2)。その際に、回路規模削減を目的として、ラインメモリ32から読み出すときに絶対位置算出を行って保持しておき、ウィンドウをシフトさせるときに相対位置算出を行うようにする。そして、画素位置の整数部が示す位置を(0,0)として、周辺16画素の相対位置を示すように4×4ウィンドウを形成する。
【0063】
ラインメモリ32と出力画像の座標は1:1に対応する。そして、1画素出力する度に、ラインメモリ32の読出し位置も1画素進む。ここで、図7に示すように、隣接する注目画素P(n),P(n+1)が、同じ補正前画素を示す場合がある。
【0064】
この場合、一方の注目画素P(n)については、ラインメモリ32として6ライン分のメモリが用意されており、6画素×6画素の広さがあるので、4×4ウィンドウの形成に必要な相対画素位置を得ることができる。
【0065】
他方の注目画素P(n+1)についてはウィンドウを1画素進める。そして、処理の基準となるクロック信号の1クロック前と同じ補間対象画素で4×4ウィンドウを形成する必要があるが、6画素×6画素の広さがあるので、相対画素位置について正しく算出することができる。
【0066】
また、ラインメモリ32には、図8に示すように、元画像に対して画素・ライン(行)が例えば副走査方向においてずれた状態で画像データが格納される。ここで、画素・ラインがずれた状態とは、アフィン変換の座標変換において、整数座標だけ補正した補正後画像であるとも言える。この画素・ラインのずれは、図5に示す画像メモリ31上において矢印(→)が変化する部分で発生する。
【0067】
図8に示す6×6ウィンドウ例においては、実線で囲んだ領域Aに対して破線で囲んだ領域Bが1ラインずれた状態で画像データがラインメモリ32に格納されている。このように、元画像に対して画素・ライン(行)がずれた状態で画像データが格納されているときは、画素位置の整数部が示す位置を(0,0)として、周辺16画素の相対位置を示すように4×4ウィンドウを形成する。
【0068】
なお、図8の例では、副走査方向において画素・ラインのずれ(段差)が発生する場合を例に挙げたが、画素・ラインのずれは、副走査方向に限らず、主走査方向も含めて様々な位置で発生する。主走査・副走査の段差については、補正角度によって発生箇所・回数が変化する。補正角度仕様により6画素・ラインの中では1回しか段差が発生しないことを保証すると、ラインメモリ32に6ライン分の画像データが存在すれば4×4ウィンドウを生成することができる。
【0069】
以上のように、補間処理部33において、出力画像の画素位置に対応する元画像の相対位置を求めて当該相対位置の座標がどこに存在するかを画素ごとに検出することで、その検出結果を基に補間ウィンドウである4×4ウィンドウを生成することができる。すなわち、補間処理部33は、変換前の座標を基に4×4ウィンドウを生成する。
【0070】
(欠落画素の検出)
前にも述べたように、ラインメモリ32に画像データを展開する際に、回転後画像の画像データではなく、入力画像の画像データそのものを展開すると、欠落画素が発生する場合がある。したがって、補間処理部33は、この欠落画素の画素データを再現するための処理も行う。このとき、補間処理部33は、ラインメモリ32に画像データを基に入力画像の座標配列を特定するのに逆アフィン変換を用いる。
【0071】
図9は、欠落画素の検出の概念を示す図である。図9においては、ハッチングで示す画素(2,0)を欠落画素としている。この欠落画素については、変換元の画像の座標を逆アフィン変換で求めることによって特定することができる。具体的には、アフィン変換式で計算した、各補正前画素の座標値から相対位置を算出すると、その算出結果から補間参照先として画素が欠落していることを知ることができる。
【0072】
(欠落画素の補間)
上述したようにして特定した欠落画素については、補間処理部33において、欠落画素の画素データを再現するための処理が行われる。補間処理部33は、欠落画素について4×4ウィンドウ内の画素値を用いて補間する。以下に、欠落画素の補間処理についてより具体的に説明する。
【0073】
図10は、欠落画素の補間の概念を示す図である。図10において、(A)は欠落画素(図中、ハッチングで示す画素)の位置が、注目画素を含むあらかじめ定められた複数の隣接画素、例えば4個の隣接画素の領域(以下、「4画素領域」と記述する)外であるケースを示している。このケース(A)では、例えば、4画素領域の各画素のうち欠落画素に近い画素、好ましくは一番近い画素の画素値を使うようにする。
【0074】
図10(A)に示す例では、画素(2,0)が欠落しているので、点線の矢印で示すように、欠落画素の画素値を一番近い画素(1,0)の画素値で置換する。画素(2,0)以外の4画素領域外の各画素が欠落したときに置換する画素位置を、図10(A)に実線の矢印で示している。
【0075】
図10において、(B)は欠落画素(図中、ハッチングで示す画素)の位置が、注目画素を含む4画素領域内であるケースを示している。このケース(B)では、例えば、欠落画素の隣接画素の画素値に基づいて欠落画素の画素値を求める。具体的には、欠落画素の上下・左右ペアについて、gray=(R+B+G+G)/4の差の絶対値を求める。そして、差の絶対値が小さいペアの画素値の平均値を欠落画素の画素値とする。
【0076】
図10(B)に示す例では、画素(1,1)が欠落しているので、欠落画素(1,1)の上下ペアについての差の絶対値|gray(1,0)−gray(1,2)|と、欠落画素(1,1)の左右ペアについての差の絶対値|gray(0,1)−gray(2,1)|を求める。そして、差の絶対値が他方より小さいペアのR(赤)G(緑)B(青)の各画素の平均値を求め、当該平均値を欠落画素の画素値とする。
【0077】
なお、図10(A)に示す例では、欠落画素の画素値を4画素領域の各画素のうち欠落画素に近い画素の画素値で置換するとしたが、図10(B)の場合と同様に、隣接画素の画素値を基に欠落画素の画素値を演算して求めるようにすることも可能である。また、図10(B)に示す例についても、図10(A)の場合と同様に、欠落画素の画素値を4画素領域の各画素のうち欠落画素に近い画素の画素値で置換するようにすることも可能である。
【0078】
(バイキュービック補間)
続いて、補間処理部33において実行される、既存の補間技術であるバイキュービック補間法を用いた補間処理について説明する。
【0079】
図11は、バイキュービック補間法を用いた補間処理の概念を示す図である。バイキュービック補間法を用いた補間処理では、先ず、注目画素(0,0)から、周辺16画素までのx方向の距離と、y方向の距離を求め、ルックアップテーブル(LUT)を参照してウェイトを得る(1)。ルックアップテーブルは、例えば、x用、y用各4個の計8個用意される。
【0080】
次に、R,G,B各色について、16画素の位置に対応するx,yのウェイトを、各画素値に乗じて加算する。そして、例えば8ビットの情報0−255にクリッピングして補正後画素値を得る(2)。以上により、図2において、入力画像(A)に対して傾き補正を行うことで得られる補正後画素値からなる出力画像(E)を得ることができる。すなわち、画像処理部30での一連の処理により、傾きを持った入力画像(A)に対して回転処理を施して回転後画像である出力画像(E)を得ることができる。
【0081】
[変形例]
上記実施形態では、画素処理部30の各構成要素、即ち画像メモリ31、ラインメモリ32、補間処理部33、書込み制御部34、読出し/書込み制御部35および読出し制御部36をハードウェア構成によって実現する場合を例に挙げたが、ハードウェア構成に限られるものではない。
【0082】
すなわち、画像メモリ31、ラインメモリ32、補間処理部33、書込み制御部34、読出し/書込み制御部35および読出し制御部36については、パーソナルコンピュータのように、所定プログラムを実行することによって情報記憶処理、画像処理、演算処理等の各機能を実行するコンピュータ機器を利用してソフトウェア構成によって実現することも考えられる。また、ハードウェアとソフトウェアの複合構成によって実現することも可能である。
【0083】
図12は、ソフトウェア構成によって実現する場合の画素処理部30を構成するコンピュータ機器の構成例を示すブロック図である。
【0084】
コンピュータ機器によって構成される画素処理部30Aは、CPU(Central Processing Unit:中央演算装置)101、I/O回路102、ROM103、RAM104およびHDD(ハードディスクドライブ装置)105を有し、これら構成要素がバスライン106を介して相互に通信可能に接続されている。
【0085】
この画素処理部30Aにおいて、CPU101は、演算処理を含む本画素処理部30A全体の処理の制御を行う。I/O回路102は、画像データ入力部10、スキュー検出部20および画像データ出力部40の周辺機器との入出力を管理する。ROM103は、CPU101による制御の下に実行される各種処理のための処理プログラムを格納する。RAM104は、当該各種処理の実行時に使用される一次記憶装置であり、例えば図1の画像メモリ31やラインメモリ32が設けられる主記憶部となる。HDD105は、CPU101による制御の下に処理された画像データを記憶する。
【0086】
ここでは、画素処理部30の機能のみをソフトウェア構成によって実現する場合を例に挙げたが、画素処理部30のみならず、スキュー検出部20の機能についてもソフトウェア構成によって実現するようにしても良い。
【0087】
このように、画素処理部30の機能をソフトウェア構成によって実現する場合、図1の補間処理部33、書込み制御部34、読出し/書込み制御部35および読出し制御部36としてコンピュータ機器を機能させるプログラム(画像処理プログラム)については、あらかじめコンピュータ機器内にインストールしておくことが考えられる。ただし、あらかじめインストールされているのではなく、コンピュータ機器で読取り可能な記憶媒体に格納されて提供されるものであっても良く、または有線若しくは無線による通信手段を介して配信されるものであっても良い。
【0088】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されるものではなく、発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【符号の説明】
【0089】
10…画像データ入力部、20…スキュー検出部、30,30A…画像処理部、31…画像メモリ、32…ラインメモリ、33…補間処理部、34…書き込み制御部、35…読出し/書込み制御部、36…読出し制御部、40…画像データ出力部、50…記録装置
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法に関し、特に入力画像を回転処理する画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
画像処理の一種である画像回転処理を行うに当たり、従来は、入力画像を回転処理するときに必要なメモリ量を少なくするために、入力画像のデータが装置に入力される順に回転後画像の情報を作成して蓄積部に蓄積し、当該回転後画像の出力時に順序を並び替えて出力するようにしている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−234478号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、回転処理するときに必要なメモリ量を、従来技術に比べてさらに少なくできる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
請求項1記載の画像処理装置は、
入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位で蓄積部に蓄積する制御を行う制御部と、
前記蓄積部に蓄積された画像情報を基に前記入力画像の座標配列で補間処理を行う補間処理部と
を備える。
【0006】
請求項2記載の画像処理装置は、請求項1記載の画像処理装置において、
前記補間処理部は、前記入力画像の情報のうち、前記蓄積部に蓄積されていない欠落画素の情報を、当該欠落画素の周辺画素の情報を基に補間する。
【0007】
請求項3記載の画像処理装置は、請求項2記載の画像処理装置において、
前記補間処理部は、前記欠落画素の画素値を当該欠落画素に近い画素の画素値で置換する。
【0008】
請求項4記載の画像処理装置は、請求項2記載の画像処理装置において、
前記補間処理部は、前記欠落画素の画素値を当該欠落画素に隣接する複数の画素の画素値を演算して求める。
【0009】
請求項5記載の画像処理装置は、請求項1記載の画像処理装置において、
前記制御部は、前記入力画像の座標配列から前記回転処理後の画像の座標配列への座標変換にアフィン変換を用いる。
【0010】
請求項6記載の画像処理装置は、請求項1記載の画像処理装置において、
前記補間処理部は、前記蓄積部に蓄積された画像情報を基に前記入力画像の座標配列を特定するのに逆アフィン変換を用いる。
【0011】
請求項7記載の画像処理装置は、請求項1記載の画像処理装置において、
原稿から画像を読み取る画像読取部を有し、
前記入力画像は、前記画像読取部で原稿から読み取られた画像である。
【0012】
請求項8記載の画像処理装置は、請求項7記載の画像処理装置において、
前記入力画像は、原稿搬送装置によって前記画像読取部に搬送された原稿から当該画像読取部で読み取られた画像である。
【0013】
請求項9記載の画像処理方法は、
入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位で蓄積部に蓄積し、
前記蓄積部に蓄積された画像情報を基に前記入力画像の座標配列で補間処理を行う。
【発明の効果】
【0014】
請求項1記載の画像処理装置によれば、入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位で蓄積部に蓄積するための回転角度分のメモリ量を必要とする場合に比べて蓄積部のメモリ量を少なくできるために安価なシステムを構成できる。
【0015】
請求項2記載の画像処理装置によれば、入力画像の情報を蓄積部に蓄積する際に欠落画素が生じ、文字線画のエッジ部のがたつきが発生する発明と比べて欠落画素に起因する画質劣化を防止できる。
【0016】
請求項3記載の画像処理装置によれば、欠落画素の画素値を当該欠落画素に近い画素の画素値で置換することで、欠落画素に隣接する複数の画素の画素値を用いて演算して求める場合に比べて、欠落画素の補間処理を高速で実現できるとともに、補間処理を行うための回路構成を簡略化できる。
【0017】
請求項4記載の画像処理装置によれば、欠落画素に隣接する複数の画素の画素値を用いて演算して欠落画素の画素値を求めることで、欠落画素に近い画素の画素値で置換する場合に比べて、元画像の画素値により近い画素値を得ることができるために画質の向上を図ることができる。
【0018】
請求項5記載の画像処理装置によれば、アフィン変換を用いて座標変換を行うことで、アフィン変換を用いない場合に比べてより確実に座標変換を行うことができる。
【0019】
請求項6記載の画像処理装置によれば、逆アフィン変換を用いて入力画像の座標配列を特定することで、欠陥画素をより確実に特定できる。
【0020】
請求項7記載の画像処理装置によれば、画像読取部で原稿を読み取る際に当該原稿に傾きが生じたとしても、画像読取部による読取り後画像の傾きを少ないメモリ量にて補正することができる。
【0021】
請求項8記載の画像処理装置によれば、原稿搬送装置による画像読取部への搬送過程で原稿が傾くことに起因して画像読取部による読取り後画像に傾きが生じたとしても、当該読取り後画像の傾きを少ないメモリ量にて補正することができる。
【0022】
請求項9記載の画像処理方法によれば、入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位で蓄積部に蓄積すると、当該蓄積部のメモリ量として回転角度分のメモリ量を確保する必要が無くなる。したがって、回転角度分のメモリ量を必要とする場合に比べて蓄積部のメモリ量を少なくできるために安価なシステムを構成できる。
【図面の簡単な説明】
【0023】
【図1】本発明による画像処理装置を含む画像処理システムの構成例を示すブロック図である。
【図2】画像処理部の全体動作の概略を示す図である。
【図3】自動原稿送り装置を備えた複写機の構成の概略を示す側断面図である。
【図4】読取り対象の原稿と読取光学系による読取り領域との位置関係を示す図である。
【図5】画像メモリに蓄積されている画像データをラインメモリへ転送する処理を模式的に示す図である。
【図6】4×4ウィンドウの生成の概念を示す図である。
【図7】隣接する注目画素が同じ補正前画素を示す場合の各注目画素についての4×4ウィンドウの生成の概念を示す図である。
【図8】元画像に対して画素・ライン(行)がずれた状態で画像データが格納されているときの4×4ウィンドウの生成の概念を示す図である。
【図9】欠落画素の検出の概念を示す図である。
【図10】欠落画素の補間の概念を示す図である。
【図11】バイキュービック補間法を用いた補間処理の概念を示す図である。
【図12】ソフトウェア構成によって実現する場合の画素処理部を構成するコンピュータ機器の構成例を示すブロック図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0025】
[システム構成]
図1は、本発明による画像処理装置を含む画像処理システムの構成例を示すブロック図である。図1に示すように、本構成例に係る画像処理システムは、画像データ入力部10、スキュー検出部20、画像処理部30および画像データ出力部40を備えるとともに、必要に応じて記録装置50を有する構成となっている。
【0026】
画像データ入力部10は、画像に関する情報(以下、「画像データ」と記述する)を画像処理部20に入力する。この画像データ入力部10、次のような装置(1)〜(5)等によって実現される。
(1)フラットヘッドスキャナ、ハンディスキャナあるいはペン型スキャナ等の画像読取装置とその制御部
(2)自動原稿送り装置を有する画像読取装置とその制御部
(3)FAX受信装置とその制御部
(4)磁気ディスクやメモリカード等の記憶媒体のリード/ライト装置とその制御手段
(5)ネットワーク等を介してデータの授受を行うデータ転送装置
(6)アプリケーションソフトウェアで作成したファイルをビットマップ画像にラスタライズする装置
【0027】
画像データ入力部10は、画像読取装置によって読み取った画像データ、FAX受信装置によって受信した画像データ、リード/ライト装置によって記憶媒体から読み出した画像データ、データ転送装置によって受信した画像データまたはビットマップ画像データをスキュー検出部20および画像処理部30に入力する。
【0028】
スキュー検出部20は、画像データ入力部10から入力される画像データに基づく画像(入力画像)のスキュー角(傾き角度)を検出し、その検出結果(検出角度)を画像処理部30に与える。このスキュー検出部20では、例えば、ハフ(Hough)変換を用いた周知のスキュー検出技術などによって入力画像のスキュー角の検出が行われる。
【0029】
画像処理部30は、本発明による画像処理装置に相当し、画像データを2次元の座標軸で管理しつつ、スキュー検出部20から与えられる入力画像の傾きについての検出角度を基に画像の回転処理(スキュー補正処理)を行う。そして、画像処理部30は、回転処理後の画像データを画像データ出力部40に与える。この画像処理部30の回転処理に関する技術思想が本発明の特徴とする部分であり、その詳細については後述する。
【0030】
画像データ出力部40は、画像処理部30で回転処理された画像データを、ページ同期信号PSやライン同期信号LSに同期して後段へラスタ出力として送出するか、記録装置50が備えられている場合には必要に応じて記録装置50に供給する。
【0031】
画像データ出力部40の後段には、図示を省略するが、例えば画像形成装置が設けられる。この画像形成装置は、例えば、プリンタ装置(カラー/モノクロ)とその制御部またはFAX印刷装置とその制御部などによって実現され、印刷出力が指示された画像データをあらかじめ定められた形式で印刷出力する。
【0032】
記録装置50は、画像データ出力部40から画像データが供給されると、当該画像データをメモリ、ディスク、テープ等の記録媒体に対して記録する。このとき、記録装置50は、PDF(Portable Document Format)ファイルや、JPEG(Joint Photographic Expert)ファイルなどのあらかじめ定められたファイル形式にて記録媒体に画像データを記録する。
【0033】
(画像処理部の構成)
続いて、本発明による画像処理装置に相当する画像処理部30の構成について具体的に説明する。ここでは、画像データ入力部10が例えば画像読取装置からなる場合を例に挙げて説明するものとする。
【0034】
図1に示すように、画像処理部30は、画像メモリ31、ラインメモリ32、補間処理部33、書き込み制御部34、読出し/書込み制御部35および読出し制御部36を有する構成となっている。
【0035】
画像メモリ31は、画像データ入力部10から入力される画像データを例えば1ページ分蓄積するページバッファである。ただし、画像メモリ31としては必ずしもページバッファである必要はなく、リングバッファなどであっても良い。画像データ入力部10が画像読取装置からなる場合において、当該画像読取装置から入力されるスキャンデータはそのまま、書込み制御部34による制御の下に画像メモリ31に書き込まれる。
【0036】
画像メモリ31に一旦蓄積された入力画像の画像データは、読出し/書込み制御部35による制御の下に、入力画像の回転処理後の画像(以下、「回転後画像」と記述する場合もある)の座標配列にて行(ライン)単位でラインメモリ32に蓄積される。このとき、読出し/書込み制御部35は、入力画像の座標配列から回転後画像の座標配列への座標変換にアフィン変換を用いる。ラインメモリ32は、例えば、画像メモリ31と同じ主記憶部に設けられるラインバッファである。
【0037】
本画像処理部30では、ラインメモリ32への画像データの蓄積に際して、回転後画像の画像データをラインメモリ32に蓄積するのではなく、入力画像の画像データを回転後画像の座標配列にてラインメモリ32に蓄積する処理がポイントの一つとなる。因みに、回転後画像の画像データをラインメモリ32に蓄積する場合は、後段で空間フィルタ処理を行うため、連続した主走査画像を得るには回転角度分のメモリ量が余分に必要になる。ラインメモリ32への画像データの蓄積処理の詳細については後述する。
【0038】
補間処理部33は、画像の回転処理によって画質劣化(ギザギザ)が発生しないようにするために、入力画像の座標の周辺画素データを参照して補間処理(空間フィルタ処理)を行う。
【0039】
ここで、ラインメモリ32への画像データの蓄積に際して、回転後画像の画像データではなく、入力画像の画像データそのものをラインメモリ32に蓄積するようにすると、いわゆる画素抜けと呼ばれる画素データが欠落する欠落画素が発生する場合がある。補間処理部33は、この欠落画素の画素データを再現するための処理も行う。
【0040】
具体的には、補間処理部33は、入力画像の画像データのうち、ラインメモリ32に蓄積されていない欠落画素の画素データを、当該欠落画素の周辺画素の画素データを基に補間することによって再現する。本画像処理部30では、補間処理によって欠落画素の画素データを再現する処理もポイントの一つとなる。この欠落画素の補間処理の詳細についても後述する。
【0041】
(画像処理部の全体動作の概略)
図2は、画像処理部30の全体動作の概略を示す図である。ここでは、画像「A」が印刷された原稿が半時計方向にある角度だけ傾いた状態の読取り画像の画像データが画像メモリ31に蓄積されている状態を示している(A)。
【0042】
画像メモリ31に蓄積された画像データは、読出し/書込み制御部35による制御の下に、複数ライン(行)分だけラインメモリ32に展開される(B)。そして、補間処理部33において、例えば4画素×4画素のウィンドウ(以下、単に「4×4ウィンドウ」と記述する)を生成し(C)、周知のバイキュービック(Bicubic)法を用いて補間を行う(D)。
【0043】
ここで、バイキュービック補間法は、高精度な画像回転等の画像処理を行う画像補間法の一つであり、周囲の16個の画素(4×4ウィンドウ)の濃度値から、3次関数を用いて補間する手法である。補間に用いる式は、sin(πx)/πxの濃度補間式である。これをテイラー展開で3次の項で近似して補間式として用いる。
【0044】
以上の画像処理部30での一連の動作により、読取り画像の傾きが補正され、かつ欠落画素が補間された出力画像(回転後画像)が得られる(E)。
【0045】
[複写機]
以上説明したシステム構成に係る画像処理システムは、一例として、画像データ入力部10が画像読取装置(画像読取部)からなり、画像データ出力部40の後段に画像形成装置を備える複写機に適用することができる。複写機においては、画像読取装置に原稿をセットする際に、当該原稿が斜めになる場合がある。
【0046】
また、複写機には一般的に、原稿を画像読取装置に自動的に供給する原稿供給装置(給紙装置)である自動原稿送り装置(ADF;Auto Document Feeder)が装備されている。この自動原稿送り装置を使用した場合においても、当該自動原稿送り装置による画像読取装置への搬送過程で原稿が傾く場合がある。
【0047】
このように、画像読取装置にセットされた原稿が傾いていた場合や、自動原稿送り装置による搬送過程で原稿が傾いた場合などに生ずる読取り画像の傾きを補正するために、上述した画像処理部30、即ち本発明による画像読取装置が用いられる。読取り画像の傾きは、先述したように、スキュー検出部20によって検出される。そして、このスキュー検出部20の検出結果を基に、画像処理部30において読取り画像の回転処理、即ちスキュー補正処理が行われる。
【0048】
図3は、自動原稿送り装置(ADF)を備えた複写機の構成の概略を示す側断面図である。本構成例に係る複写機は、一例として、読取り対象となるシート状の原稿70を自動原稿送り装置60によって移動させながら、その原稿70上から画像を読み取る、いわゆるCVT(Constant Velocity Transfer)モードに対応可能な構成となっている。
【0049】
すなわち、CVTモードでは、自動原稿送り装置60の原稿載置台61に載置された原稿70が引込みローラ62によって1枚ずつ搬送ローラ63まで搬送され、その搬送ローラ63によって搬送方向が変更されてコンタクトガラス64まで案内される。そして、原稿70はコンタクトガラス64上を当該コンタクトガラス64と平行に搬送される。このとき、後述するようにして、原稿70上の画像の読取りが行われる。その後は、画像読取りが終了した原稿70が搬出ローラ65によって排出トレイ66上に排出される。
【0050】
コンタクトガラス64上においては、当該コンタクトガラス64上を搬送される原稿70が露光ランプ81によって照射される。そして、その照射による反射光は、第一ミラー82、第二ミラー83および第三ミラー84にて光路変更された後レンズ85によって縮小され、光電変換素子である例えばCCD(Charge Coupled Device)型ラインセンサ(CCDセンサ)86の撮像面上に結像される。
【0051】
露光ランプ81、第一ミラー82、第二ミラー83、第三ミラー84、レンズ85およびCCDセンサ86は、原稿70上の画像を当該原稿70の搬送方向(副走査方向)に直交する方向に対応する主走査方向に走査しつつ読み取る読取光学系80を構成している。これにより、コンタクトガラス64上を搬送される原稿70上に描かれた画像は、CCDセンサ86によって画素単位で光電変換されることによってアナログ画像信号として出力される。
【0052】
ここでは、複写機として、読取光学系80を固定とし、原稿70を移動させながら原稿画像を読み取る形式の複写機を例に挙げたが、これは一例に過ぎず、自動原稿送り装置60によってコンタクトガラス64上に送り込まれた原稿70を固定とし、読取光学系80を移動させながら原稿画像を読み取る形式の複写機であっても良いことは勿論である。
【0053】
[用語の定義]
以下に、例えば複写機に適用した場合を例に挙げて、先述した画像処理部30の処理の詳細について具体的に説明する。画像処理部30の処理の説明に当たって、先ず、用語について定義する。
【0054】
図4は、読取り対象の原稿70と読取光学系80による読取り領域90との位置関係を示す図である。図4において、図の左側から右側に向かう方向が主走査方向であり、図の上側から下側に向かう方向が副走査方向である。そして、(1)が原稿70の読取りスキュー角、(2)が原稿70の左コーナー(X,Y)、(3)が読取りスキュー量である。さらに、(4)が読取り領域90の幅、(5)が読取り領域90の長さ、(6)が原稿70の幅、(7)が原稿70の長さである。
【0055】
[ラインメモリへの画像データの蓄積処理]
次に、ラインメモリ32への画像データの蓄積処理の詳細について説明する。画像メモリ31からラインメモリ32への画像データの展開(蓄積)処理は、先述したように、読出し/書込み制御部35による制御の下に実行される。
【0056】
図5は、画像メモリ31に蓄積されている画像データをラインメモリ32へ転送する処理を模式的に示す図である。ここでは、画像「A」が印刷された原稿が半時計方向にある角度だけ傾いた状態の読取り画像の画像データが画像メモリ31に蓄積されている状態を示している。
【0057】
読出し/書込み制御部35は、周知のアフィン変換式によって、出力画像の画素位置(整数)に対応する元画素位置(実数)を求め、この求めた整数部から画像データの読出し位置を決定する(1)。そして、主走査方向(X方向)に、元画像の参照画素位置を求めて行くと、ライン(行)がずれる(即ち、アドレスが不連続になる)位置が存在するので、このアドレスが不連続になる位置までを、画像メモリ21からラインメモリ32への1回の転送量とする(2)。
【0058】
このときの画像メモリ31からラインメモリ32への1回の転送量は、図4にデータ量を矢印(→)で模式的に示す当該矢印の長さに相当する。また、1回の転送量(矢印の長さ)は、原稿画像(即ち、読取り画像)の傾きによって決まる。例えば、傾き角度が大きければ、1回の転送量が少なくなる(矢印の長さが短くなる)。そして、読出し/書込み制御部35は、画像メモリ31から読み出した画像データを、出力画像(即ち、回転処理後の画像/回転後画像)のライン(行)単位にラインメモリ32に蓄積する。
【0059】
本例では、例えば図4に示すように、画像メモリ31から読み出した画像データを6ライン分だけラインメモリ32に蓄積する(3)。そして、本画像処理部30では、画像データを1ラインずつラインメモリ32としてのバッファに蓄積し、当該バッファ内で処理を行いつつ1ライン分のデータをバッファ間(モジュール間)で順にシフトしていくパイプライン処理(時間的並列処理)が行われる。
【0060】
[補間処理]
続いて、補間処理部33における補間処理について説明する。この補間処理に先立って補間ウィンドウである4×4ウィンドウの生成が行われる。
【0061】
(4×4ウィンドウの生成)
図6は、4×4ウィンドウの生成の概念を示す図である。後述する理由により、ラインメモリ32として6ライン分のメモリを用いるものとする。先ず、アフィン変換式によって、出力画像(回転後画像)の画素位置(実数)に対応する元画素位置(整数)を、ラインメモリ32のアドレスとして求める(1)。
【0062】
次に、注目画素位置の整数部が示す位置を(0,0)として、ラインメモリ32の周辺データの相対位置を算出する(2)。その際に、回路規模削減を目的として、ラインメモリ32から読み出すときに絶対位置算出を行って保持しておき、ウィンドウをシフトさせるときに相対位置算出を行うようにする。そして、画素位置の整数部が示す位置を(0,0)として、周辺16画素の相対位置を示すように4×4ウィンドウを形成する。
【0063】
ラインメモリ32と出力画像の座標は1:1に対応する。そして、1画素出力する度に、ラインメモリ32の読出し位置も1画素進む。ここで、図7に示すように、隣接する注目画素P(n),P(n+1)が、同じ補正前画素を示す場合がある。
【0064】
この場合、一方の注目画素P(n)については、ラインメモリ32として6ライン分のメモリが用意されており、6画素×6画素の広さがあるので、4×4ウィンドウの形成に必要な相対画素位置を得ることができる。
【0065】
他方の注目画素P(n+1)についてはウィンドウを1画素進める。そして、処理の基準となるクロック信号の1クロック前と同じ補間対象画素で4×4ウィンドウを形成する必要があるが、6画素×6画素の広さがあるので、相対画素位置について正しく算出することができる。
【0066】
また、ラインメモリ32には、図8に示すように、元画像に対して画素・ライン(行)が例えば副走査方向においてずれた状態で画像データが格納される。ここで、画素・ラインがずれた状態とは、アフィン変換の座標変換において、整数座標だけ補正した補正後画像であるとも言える。この画素・ラインのずれは、図5に示す画像メモリ31上において矢印(→)が変化する部分で発生する。
【0067】
図8に示す6×6ウィンドウ例においては、実線で囲んだ領域Aに対して破線で囲んだ領域Bが1ラインずれた状態で画像データがラインメモリ32に格納されている。このように、元画像に対して画素・ライン(行)がずれた状態で画像データが格納されているときは、画素位置の整数部が示す位置を(0,0)として、周辺16画素の相対位置を示すように4×4ウィンドウを形成する。
【0068】
なお、図8の例では、副走査方向において画素・ラインのずれ(段差)が発生する場合を例に挙げたが、画素・ラインのずれは、副走査方向に限らず、主走査方向も含めて様々な位置で発生する。主走査・副走査の段差については、補正角度によって発生箇所・回数が変化する。補正角度仕様により6画素・ラインの中では1回しか段差が発生しないことを保証すると、ラインメモリ32に6ライン分の画像データが存在すれば4×4ウィンドウを生成することができる。
【0069】
以上のように、補間処理部33において、出力画像の画素位置に対応する元画像の相対位置を求めて当該相対位置の座標がどこに存在するかを画素ごとに検出することで、その検出結果を基に補間ウィンドウである4×4ウィンドウを生成することができる。すなわち、補間処理部33は、変換前の座標を基に4×4ウィンドウを生成する。
【0070】
(欠落画素の検出)
前にも述べたように、ラインメモリ32に画像データを展開する際に、回転後画像の画像データではなく、入力画像の画像データそのものを展開すると、欠落画素が発生する場合がある。したがって、補間処理部33は、この欠落画素の画素データを再現するための処理も行う。このとき、補間処理部33は、ラインメモリ32に画像データを基に入力画像の座標配列を特定するのに逆アフィン変換を用いる。
【0071】
図9は、欠落画素の検出の概念を示す図である。図9においては、ハッチングで示す画素(2,0)を欠落画素としている。この欠落画素については、変換元の画像の座標を逆アフィン変換で求めることによって特定することができる。具体的には、アフィン変換式で計算した、各補正前画素の座標値から相対位置を算出すると、その算出結果から補間参照先として画素が欠落していることを知ることができる。
【0072】
(欠落画素の補間)
上述したようにして特定した欠落画素については、補間処理部33において、欠落画素の画素データを再現するための処理が行われる。補間処理部33は、欠落画素について4×4ウィンドウ内の画素値を用いて補間する。以下に、欠落画素の補間処理についてより具体的に説明する。
【0073】
図10は、欠落画素の補間の概念を示す図である。図10において、(A)は欠落画素(図中、ハッチングで示す画素)の位置が、注目画素を含むあらかじめ定められた複数の隣接画素、例えば4個の隣接画素の領域(以下、「4画素領域」と記述する)外であるケースを示している。このケース(A)では、例えば、4画素領域の各画素のうち欠落画素に近い画素、好ましくは一番近い画素の画素値を使うようにする。
【0074】
図10(A)に示す例では、画素(2,0)が欠落しているので、点線の矢印で示すように、欠落画素の画素値を一番近い画素(1,0)の画素値で置換する。画素(2,0)以外の4画素領域外の各画素が欠落したときに置換する画素位置を、図10(A)に実線の矢印で示している。
【0075】
図10において、(B)は欠落画素(図中、ハッチングで示す画素)の位置が、注目画素を含む4画素領域内であるケースを示している。このケース(B)では、例えば、欠落画素の隣接画素の画素値に基づいて欠落画素の画素値を求める。具体的には、欠落画素の上下・左右ペアについて、gray=(R+B+G+G)/4の差の絶対値を求める。そして、差の絶対値が小さいペアの画素値の平均値を欠落画素の画素値とする。
【0076】
図10(B)に示す例では、画素(1,1)が欠落しているので、欠落画素(1,1)の上下ペアについての差の絶対値|gray(1,0)−gray(1,2)|と、欠落画素(1,1)の左右ペアについての差の絶対値|gray(0,1)−gray(2,1)|を求める。そして、差の絶対値が他方より小さいペアのR(赤)G(緑)B(青)の各画素の平均値を求め、当該平均値を欠落画素の画素値とする。
【0077】
なお、図10(A)に示す例では、欠落画素の画素値を4画素領域の各画素のうち欠落画素に近い画素の画素値で置換するとしたが、図10(B)の場合と同様に、隣接画素の画素値を基に欠落画素の画素値を演算して求めるようにすることも可能である。また、図10(B)に示す例についても、図10(A)の場合と同様に、欠落画素の画素値を4画素領域の各画素のうち欠落画素に近い画素の画素値で置換するようにすることも可能である。
【0078】
(バイキュービック補間)
続いて、補間処理部33において実行される、既存の補間技術であるバイキュービック補間法を用いた補間処理について説明する。
【0079】
図11は、バイキュービック補間法を用いた補間処理の概念を示す図である。バイキュービック補間法を用いた補間処理では、先ず、注目画素(0,0)から、周辺16画素までのx方向の距離と、y方向の距離を求め、ルックアップテーブル(LUT)を参照してウェイトを得る(1)。ルックアップテーブルは、例えば、x用、y用各4個の計8個用意される。
【0080】
次に、R,G,B各色について、16画素の位置に対応するx,yのウェイトを、各画素値に乗じて加算する。そして、例えば8ビットの情報0−255にクリッピングして補正後画素値を得る(2)。以上により、図2において、入力画像(A)に対して傾き補正を行うことで得られる補正後画素値からなる出力画像(E)を得ることができる。すなわち、画像処理部30での一連の処理により、傾きを持った入力画像(A)に対して回転処理を施して回転後画像である出力画像(E)を得ることができる。
【0081】
[変形例]
上記実施形態では、画素処理部30の各構成要素、即ち画像メモリ31、ラインメモリ32、補間処理部33、書込み制御部34、読出し/書込み制御部35および読出し制御部36をハードウェア構成によって実現する場合を例に挙げたが、ハードウェア構成に限られるものではない。
【0082】
すなわち、画像メモリ31、ラインメモリ32、補間処理部33、書込み制御部34、読出し/書込み制御部35および読出し制御部36については、パーソナルコンピュータのように、所定プログラムを実行することによって情報記憶処理、画像処理、演算処理等の各機能を実行するコンピュータ機器を利用してソフトウェア構成によって実現することも考えられる。また、ハードウェアとソフトウェアの複合構成によって実現することも可能である。
【0083】
図12は、ソフトウェア構成によって実現する場合の画素処理部30を構成するコンピュータ機器の構成例を示すブロック図である。
【0084】
コンピュータ機器によって構成される画素処理部30Aは、CPU(Central Processing Unit:中央演算装置)101、I/O回路102、ROM103、RAM104およびHDD(ハードディスクドライブ装置)105を有し、これら構成要素がバスライン106を介して相互に通信可能に接続されている。
【0085】
この画素処理部30Aにおいて、CPU101は、演算処理を含む本画素処理部30A全体の処理の制御を行う。I/O回路102は、画像データ入力部10、スキュー検出部20および画像データ出力部40の周辺機器との入出力を管理する。ROM103は、CPU101による制御の下に実行される各種処理のための処理プログラムを格納する。RAM104は、当該各種処理の実行時に使用される一次記憶装置であり、例えば図1の画像メモリ31やラインメモリ32が設けられる主記憶部となる。HDD105は、CPU101による制御の下に処理された画像データを記憶する。
【0086】
ここでは、画素処理部30の機能のみをソフトウェア構成によって実現する場合を例に挙げたが、画素処理部30のみならず、スキュー検出部20の機能についてもソフトウェア構成によって実現するようにしても良い。
【0087】
このように、画素処理部30の機能をソフトウェア構成によって実現する場合、図1の補間処理部33、書込み制御部34、読出し/書込み制御部35および読出し制御部36としてコンピュータ機器を機能させるプログラム(画像処理プログラム)については、あらかじめコンピュータ機器内にインストールしておくことが考えられる。ただし、あらかじめインストールされているのではなく、コンピュータ機器で読取り可能な記憶媒体に格納されて提供されるものであっても良く、または有線若しくは無線による通信手段を介して配信されるものであっても良い。
【0088】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されるものではなく、発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【符号の説明】
【0089】
10…画像データ入力部、20…スキュー検出部、30,30A…画像処理部、31…画像メモリ、32…ラインメモリ、33…補間処理部、34…書き込み制御部、35…読出し/書込み制御部、36…読出し制御部、40…画像データ出力部、50…記録装置
【特許請求の範囲】
【請求項1】
入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位で蓄積部に蓄積する制御を行う制御部と、
前記蓄積部に蓄積された画像情報を基に前記入力画像の座標配列で補間処理を行う補間処理部と
を備える画像処理装置。
【請求項2】
前記補間処理部は、前記入力画像の情報のうち、前記蓄積部に蓄積されていない欠落画素の情報を、当該欠落画素の周辺画素の情報を基に補間する
請求項1記載の画像処理装置。
【請求項3】
前記補間処理部は、前記欠落画素の画素値を当該欠落画素に近い画素の画素値で置換する
請求項2記載の画像処理装置。
【請求項4】
前記補間処理部は、前記欠落画素の画素値を当該欠落画素に隣接する複数の画素の画素値を演算して求める
請求項2記載の画像処理装置。
【請求項5】
前記制御部は、前記入力画像の座標配列から前記回転処理後の画像の座標配列への座標変換にアフィン変換を用いる
請求項1記載の画像処理装置。
【請求項6】
前記補間処理部は、前記蓄積部に蓄積された画像情報を基に前記入力画像の座標配列を特定するのに逆アフィン変換を用いる
請求項1記載の画像処理装置。
【請求項7】
原稿から画像を読み取る画像読取部を有し、
前記入力画像は、前記画像読取部で原稿から読み取られた画像である
請求項1記載の画像処理装置。
【請求項8】
前記入力画像は、原稿搬送装置によって前記画像読取部に搬送された原稿から当該画像読取部で読み取られた画像である
請求項7記載の画像処理装置。
【請求項9】
入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位で蓄積部に蓄積し、
前記蓄積部に蓄積された画像情報を基に前記入力画像の座標配列で補間処理を行う
画像処理方法。
【請求項1】
入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位で蓄積部に蓄積する制御を行う制御部と、
前記蓄積部に蓄積された画像情報を基に前記入力画像の座標配列で補間処理を行う補間処理部と
を備える画像処理装置。
【請求項2】
前記補間処理部は、前記入力画像の情報のうち、前記蓄積部に蓄積されていない欠落画素の情報を、当該欠落画素の周辺画素の情報を基に補間する
請求項1記載の画像処理装置。
【請求項3】
前記補間処理部は、前記欠落画素の画素値を当該欠落画素に近い画素の画素値で置換する
請求項2記載の画像処理装置。
【請求項4】
前記補間処理部は、前記欠落画素の画素値を当該欠落画素に隣接する複数の画素の画素値を演算して求める
請求項2記載の画像処理装置。
【請求項5】
前記制御部は、前記入力画像の座標配列から前記回転処理後の画像の座標配列への座標変換にアフィン変換を用いる
請求項1記載の画像処理装置。
【請求項6】
前記補間処理部は、前記蓄積部に蓄積された画像情報を基に前記入力画像の座標配列を特定するのに逆アフィン変換を用いる
請求項1記載の画像処理装置。
【請求項7】
原稿から画像を読み取る画像読取部を有し、
前記入力画像は、前記画像読取部で原稿から読み取られた画像である
請求項1記載の画像処理装置。
【請求項8】
前記入力画像は、原稿搬送装置によって前記画像読取部に搬送された原稿から当該画像読取部で読み取られた画像である
請求項7記載の画像処理装置。
【請求項9】
入力画像の情報を当該入力画像の回転処理後の画像の座標配列にて行単位で蓄積部に蓄積し、
前記蓄積部に蓄積された画像情報を基に前記入力画像の座標配列で補間処理を行う
画像処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2010−206672(P2010−206672A)
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願番号】特願2009−51640(P2009−51640)
【出願日】平成21年3月5日(2009.3.5)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願日】平成21年3月5日(2009.3.5)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]