説明

画像処理装置

【課題】少ない必要メモリ量で画像のスキューを補正することのできる画像処理装置を提供する。
【解決手段】傾斜検知部40で検知した原稿の傾斜を補正するために必要な副走査方向のシフト量を求め、これを副走査シフト量分解部28でブロック単位シフト量と画素単位シフト量と1画素未満の微小シフト量とに分解する。微小シフト部31と画素単位シフト部32は数ライン分のラインメモリを使用してシフト処理を行い、ブロック単位シフト部33はブロック単位に画像データを圧縮して画像メモリ24に格納する処理と、該圧縮データを読み出して伸張しブロック単位にメモリ上に配置する処理とを行う過程で各ブロックの画像データをブロック単位にシフトさせる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ラインイメージセンサのスキューによる画像の歪みや原稿の傾きなどを補正する画像処理装置に関する。
【背景技術】
【0002】
デジタル複写機などでは、ラインイメージセンサの読み取り方向(主走査方向X)と直交する方向(副走査方向Y)に原稿を相対移動させながらラインイメージセンサによるライン単位の読み取りを繰り返すことで原稿を2次元に読み取る構成が採られている。かかる装置では、ラインイメージセンサの取り付け誤差などにより読み取り方向(主走査方向)と副走査方向とが直交から外れている(スキューしている)場合には、たとえば、図6(a)に示すように、矩形原稿が平行四辺形状に歪んで読み取られてしまう(図中のF1)。また、自動原稿送り装置に原稿が斜めにセットされた場合には原稿画像が傾斜して読み取られてしまう。
【0003】
このような画像の歪みや傾きを画像処理にて電気的に補正する場合、たとえば、図6(a)の画像F1を同図(b)の画像F2のように補正する場合、少なくとも画像の副走査方向のスキュー(ズレ)補正が必要になる。このスキュー補正を原稿の読み取り動作に追従してリアルタイムに行うためには、通常、補正量A(図6(a)の斜線部)に相当するラインメモリを要する。たとえば、約10ミリ程度(216ライン分とする)のズレに対応するためには、108ライン分(斜線部Aは三角形なので216ラインの半分)のメモリを要してしまう。
【0004】
一方、デジタル複写機などの装置では、原稿を読み取って得た画像データを一度メモリに格納した後、再度メモリから読み出し適切な画像処理を施した上で画像を出力する方式を採用している。画像データのデータ量は、たとえばA3サイズの原稿一面につき約200メガバイトと非常に大きいので、通常、画像データは圧縮してメモリに格納される。そして、その圧縮方式としては画像を4×4などのブロックに分割してブロック単位に圧縮する、BTC圧縮やJPEG圧縮などが使用される。この圧縮・伸張に伴うブロック単位での画像データの読み出しおよび書き込み動作においてブロック毎の画像の配列を工夫することにより、画像の回転処理を行う技術がある。
【0005】
また、メモリに格納された画像データを画像の傾き角度に応じたサイズおよび形状のブロック単位に分割し、各ブロックの相対位置を画素単位にずらしてメモリ上に再配置することで、画像の傾きを補正する技術がある。またこの技術ではブロック単位での圧縮と伸張を行う際に上記の再配置が行われる(たとえば、特許文献1参照。)。
【0006】
【特許文献1】特開2006−203710号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
ブロックの配列変更によって画像を回転させる技術をスキュー補正に適用した場合には、最小補正量がブロックサイズになるので、たとえば、図13(a)の画像が同図(b)に示すように補正され、画像の連続性が失われて画質が著しく低下してしまう。
【0008】
特許文献1に記載の技術では、各ブロックの相対位置を画素単位にずらしてメモリ上に再配置するので最小補正量は1画素になるが、1画素未満の微小な補正はできないので、画質が劣化してしまう。また、傾き角度に応じてブロックサイズが変化するので、処理が複雑になる。さらにブロックサイズが小さい場合は圧縮率が下がり、ブロックサイズが大きくなると不可逆圧縮に基づく画質の劣化が大きくなる。また、各ブロックの相対位置をずらしてメモリ上に再配置するので、再配置用に少なくとも図6の斜線部Aと同等のメモリ領域が必要になり、コストが嵩むなどの問題があった。
【0009】
本発明は、上記の問題を解決しようとするものであり、少ない必要メモリ量で画像のスキューを補正することのできる画像処理装置、およびスキュー補正時の画質劣化が少ない画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【0010】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【0011】
[1]第1方向とこれに直交する第2方向とに画素が並ぶ画像の第2方向のズレを補正する画像処理装置において、
各画素に対する第2方向のズレの補正量を、所定のブロックの第2方向のサイズを単位にした第1シフト量と、前記ブロックの第2方向のサイズ未満であって画素単位の第2シフト量と、1画素未満の第3シフト量とに分解するシフト量演算部と、
各画素の画像データを、第2方向へ第3シフト量だけシフトさせる微小シフト部と、
各画素の画像データを、第2方向へ第2シフト量だけシフトさせる画素単位シフト部と、
前記ブロックを単位に画像データを圧縮して記憶する処理と、該圧縮して記憶した画像データを読み出して伸張しブロック単位にメモリ上に配置する処理とを行う過程で各ブロックの画像データを第2方向へ第1シフト量だけシフトさせるブロック単位シフト部と
を有する
ことを特徴とする画像処理装置。
【0012】
上記発明では、各画素に対する第2方向のズレの補正量を、ブロック単位の第1シフト量と、画素単位の第2シフト量と、1画素未満の第3シフト量とに分解し、1画素未満の微小シフトは微小シフト部で、画素単位のシフトは画素単位シフト部で、ブロック単位のシフトはブロック単位シフト部で行う。また、ブロック単位のシフトは、ブロック単位に画像データを圧縮して記憶する処理と、この圧縮データを読み出して伸張しブロック単位にメモリ上に配置する処理とを行う過程で行う。たとえば、圧縮データを画像メモリに格納する際の配列や画像メモリから圧縮データを読み出す際の読み出し順序を制御することによってブロック単位のシフトを行う。これにより、非圧縮の画像データに対しては画素単位のシフトと1画素未満のシフトを実行すればよくなり、必要なメモリ容量を削減することができる。
【0013】
[2]入力される画像データに対して、前記補正を、微小シフト部、画素単位シフト部、ブロック単位シフト部の順で行う
ことを特徴とする[1]に記載の画像処理装置。
【0014】
上記発明では、入力時は、画像データを入力し、圧縮して格納するという順序で画像データが流れるので、その順序に従ってシフト処理を行う。すなわち、圧縮する前に、微小シフトと画素単位シフトとを行い、圧縮時にブロック単位のシフトを行う。
【0015】
[3]出力する画像データに対して、前記補正を、ブロック単位シフト部、画素単位シフト部、微小シフト部の順で行う
ことを特徴とする[1]に記載の画像処理装置。
【0016】
上記発明では、出力時は、圧縮データを読み出し、伸張して出力するという順序で画像データが流れるので、その順序に従ってシフト処理を行う。すなわち、圧縮データを読み出して伸張する際にブロック単位のシフトを行い、その後、画素単位のシフトと微小シフトとを行う。
【0017】
[4]前記圧縮は、BTC圧縮である
ことを特徴とする[1]乃至[3]のいずれか1つに記載の画像処理装置。
【0018】
[5]前記圧縮は、JPEG圧縮である
ことを特徴とする[1]乃至[3]のいずれか1つに記載の画像処理装置。
【0019】
[6]前記シフト量演算部は、第2方向のズレの補正量を第1シフト量と第2シフト量と第3シフト量に分解することに代えて、前記補正量を第1シフト量と第2シフト量とに分解し、
前記微小シフトを設けずに、第2方向のズレを、前記画素単位シフト部とブロック単位シフト部とで補正する
ことを特徴とする[1]乃至[5]のいずれか1つに記載の画像処理装置。
【0020】
上記発明では、各画素に対する第2方向のズレの補正量を、ブロック単位の第1シフト量と、画素単位の第2シフト量とに分解し、画素単位のシフトは画素単位シフト部で、ブロック単位のシフトはブロック単位シフト部で行う。1画素未満のシフト量は切り捨てる、あるいは四捨五入して画素単位のシフト量に反映させるなどにすればよい。
【0021】
[7]前記微小シフト部は、1画素未満のシフトを補間処理によって行う
ことを特徴とする[1]乃至[5]のいずれか1つに記載の画像処理装置。
【0022】
上記発明では、線形補間やキュービック・コンボリューション法などの補間処理によって画素位置を仮想的にシフトさせる。
【0023】
[8]第2方向のズレの補正によって生じる第1方向の倍率変化を補正する第1方向変倍処理部をさらに有する
ことを特徴とする[1]乃至[7]のいずれか1つに記載の画像処理装置。
【0024】
上記発明では、第2方向のシフト処理によって生じる画像の倍率変化が変倍処理によってキャンセルされる。
【0025】
[9]第2方向のズレの補正前もしくは補正後に、第1方向のズレを補正する第1方向シフト部を設け、
前記第1方向のズレの補正と前記第2方向のズレの補正とを組み合わせて画像の傾きを補正する
ことを特徴とする[1]乃至[8]のいずれか1つに記載の画像処理装置。
【0026】
上記発明では、第1方向のズレの補正と第2方向のズレの補正とを組み合わせることで画像の傾きを補正する。
【0027】
[10]第1方向のズレの補正によって生じる第2方向の倍率変化を補正する第2方向変倍処理部をさらに有する
ことを特徴とする[9]に記載の画像処理装置。
【0028】
上記発明では、第1方向のシフト処理によって生じる画像の倍率変化が変倍処理によってキャンセルされる。
【発明の効果】
【0029】
本発明に係わる画像処理装置によれば、画像のスキューを補正するためのシフトをブロック単位でのシフトとブロックサイズ未満のシフトとに分けて行うと共に、ブロック単位に画像データを圧縮・伸張する過程でブロック単位でのシフトを行うようにしたので、少ない必要メモリ量で画像のスキューを補正することができる。また、1画素未満の微小シフトを行うものでは、補正による画質劣化を少なく抑えることができる。
【発明を実施するための最良の形態】
【0030】
以下、図面に基づき本発明の各種実施の形態を説明する。
【0031】
<第1の実施の形態>
図1は、本発明の第1の実施の形態に係わる画像処理装置10の主要部の構成を表わしている。画像処理装置10は、スキャナで原稿画像を読み取り、その複製画像を記録紙上に作成して出力するコピー機能やプリンタ機能、ファクシミリ機能などを備えた、いわゆるデジタル複合機として構成されている。図1は、画像処理装置10のうち、画像データの処理経路およびその周辺回路を示している。
【0032】
原稿は、図示省略の自動原稿送り装置によって搬送され、その搬送経路の途中に配置されたラインイメージセンサ11を用いて、いわゆる流し読み方式で原稿画像が読み取られる。すなわち、ラインイメージセンサ11は、原稿の搬送方向である副走査方向Y(第2方向)と直交する主走査方向X(第1方向)に1ライン分の長さを有しており、原稿がラインイメージセンサ11の受光部上を通過する間にライン単位の読み取り動作を繰り返し行なうことで原稿画像を2次元に読み取るようになっている。たとえば、ラインイメージセンサ11はCCD(Charge Coupled Device)イメージセンサとして構成される。
【0033】
DF制御部12は、自動原稿送り装置の動作を制御する機能を果たす。DF制御部12は、自動原稿送り装置で搬送中の原稿がラインイメージセンサ11上を通過する期間(原稿が読み取られる有効期間)を示す垂直同期信号13を出力する。
【0034】
CCD駆動回路15は、ラインイメージセンサ11に、画素単位の出力タイミングを示すクロック信号16とライン単位の出力タイミングを示す水平同期信号17とを供給する回路である。A/D変換部18は、ラインイメージセンサ11が出力するアナログの画像信号を多値のデジタル画像信号に変換する。入力画像処理部19は、A/D変換部18から入力されるデジタル画像信号にシェーディング補正や階調補正などの処理を施す。
【0035】
主走査/副走査変倍部21は、入力画像処理部19から入力される画像データに、主走査方向の拡大/縮小処理および副走査方向の拡大/縮小処理を施して、画像の主走査方向と副走査方向の倍率を変える機能を果たす。
【0036】
主走査/副走査変倍部21の出力する画像データは、主走査シフト部23および副走査シフト部30を順に経て画像メモリ24に格納される。主走査シフト部23は、入力される各ラインの画像データを主走査方向にシフトさせる機能を果たす。副走査シフト部30は主走査シフト部23から入力される画像データを副走査方向にシフトさせる機能を果たす。主走査方向のシフトと副走査方向のシフトとを組み合わせることで画像の傾斜を補正するようになっている。また、シフトに伴って生じる画像の倍率変化(拡大する方向に向かう)を主走査/副走査変倍部21での変倍処理(縮小処理)によってキャンセルして補償するようになっている。
【0037】
副走査シフト部30は、主走査シフト部23から画像データが入力される微小シフト部31と、微小シフト部31を経た画像データが入力される画素単位シフト部32と、画素単位シフト部32を経た画像データが入力されるブロック単位シフト部33とを備えている。ブロック単位シフト部33は、画像データをブロック単位(たとえば、4×4画素のブロック)に分割して圧縮するBTC圧縮部34と、圧縮した画像データ(圧縮データ)の画像メモリ24への格納を制御するメモリI/F(Interface)35を備えている。
【0038】
ブロック単位シフト部33はブロックの副走査方向のサイズを単位シフト量としたシフト(ブロック単位のシフト)を受け持ち、画素単位シフト部32は1画素を単位シフト量とした画素単位のシフトをブロックの副走査方向サイズ未満のシフト量で受け持ち、微小シフト部31は1画素未満のシフトを受け持つ。
【0039】
BTC圧縮部34は、BTC(Block Truncation Coding)方式と称される圧縮方式で画像データを圧縮する。BTC方式は、画像を所定画素数のブロックに分割し、各ブロックを、そのブロック内の画素の階調分布範囲を示す指標(たとえば、階調分布範囲の中間値と広さ)と、ブロック内の各画素の階調値を前記階調分布範囲内において元の画像データの階調数より少ない階調数で量子化して表した符号データとで表す圧縮方式である。圧縮方式は、BTC圧縮に限らず、たとえばJPEG(Joint Photographic Experts Group)方式などでもかまわない。
【0040】
傾斜検知部40は、前述した図示省略の自動原稿送り装置によって搬送される原稿の傾斜角度を検知する回路である。傾斜検知部40は、搬送経路の幅方向(主走査方向)に間隔をあけて配置された第1センサ41および第2センサ42と、カウンタ回路45と、ラッチ回路46とを主要部として構成される。
【0041】
第1センサ41と第2センサ42とは、原稿の幅方向両端に近い部分に配置するとよい。第1センサ41の出力信号41aおよび第2センサ42の出力信号42aは、通常はローレベルで、搬送される原稿を検知している間だけハイレベルに変化し、第1センサ41と第2センサ42のいずれかが先に原稿を検知するとOR回路43からスタート信号43aが出力され、その後、第1センサ41と第2センサ42の双方が原稿を検知するとAND回路44からストップ信号44aが出力されるようになっている。
【0042】
カウンタ回路45には、水平同期信号17とスタート信号43aとストップ信号44aとが入力されており、スタート信号43aが入力されてからストップ信号44aが入力されるまでの間に入力された水平同期信号17の数を計数し、その計数結果を示す角度判別信号45aを出力する。
【0043】
AND回路47の出力は、スタート信号43aの出力時点で第1センサ41が先に原稿を検知しているときハイレベルとなり、第2センサ42が先に原稿を検知しているときローレベルになる。ラッチ回路46は、スタート信号43aが出力された時点のAND回路47の出力値を保持する回路であり、原稿が右傾斜か左傾斜かを示す左右判別信号46aを出力する。
【0044】
傾斜角度算出部25には角度判別信号45aおよび左右判別信号46aが入力される。傾斜角度算出部25は、角度判別信号45aが示すライン数と、第1センサ41と第2センサ42との間の距離(これは既知)と、左右判別信号46aとから傾斜角度Dを算出する。
【0045】
傾斜角度算出部25の算出した傾斜角度Dは主走査/副走査変倍率算出部22と、主走査シフト量算出部26と、副走査シフト量算出部27とにそれぞれ入力される。
【0046】
主走査シフト量算出部26は、主走査/副走査変倍部21で処理されるライン(処理ライン)の副走査方向位置を垂直同期信号13に基づいて求める。たとえば、垂直同期信号13の変化時から水平同期信号17をカウントして副走査方向位置を求める。そして、この副走査方向位置および傾斜角度Dから、画像の傾きを補正するためにその処理ラインに対して必要とされる主走査方向のシフト量(主走査シフト量Xs)を算出して主走査シフト部23に与える機能を果たす。
【0047】
副走査シフト量算出部27は、傾斜角度Dが示す画像の傾きを補正するために必要な副走査方向のシフト量(副走査シフト量Ys)を算出して副走査シフト量分解部28に与える。
【0048】
副走査シフト量分解部28は、副走査シフト量算出部27の求めた副走査シフト量Ysを、ブロックの副走査方向のサイズを単位シフト量としたブロック単位でのシフト量(ブロック単位シフト量YB、第1シフト量)と、ブロックの副走査方向のサイズ未満における画素単位のシフト量(画素単位シフト量YD、第2シフト量)と、1画素未満のシフト量(微小シフト量YF、第3シフト量)とに分解し、ブロック単位シフト量YBをブロック単位シフト部33に、画素単位シフト量YDを画素単位シフト部32に、微小シフト量YFを微小シフト部31にそれぞれ与える。
【0049】
主走査/副走査変倍率算出部22は、傾斜角度Dの示す画像の傾きを主走査シフト部23および副走査シフト部30でシフト処理によって補正した場合に生じる画像の倍率変化を補償するための主走査方向の変倍率および副走査方向の変倍率を求め、これらを主走査/副走査変倍部21に与える。
【0050】
BTC伸張部51は、画像メモリ24に格納されている圧縮データを読み出して伸張する機能を果たす。伸張後の画像データは出力部52へ入力される。出力部52は出力画像処理部およびプリンタI/F、プリンタ部で構成され、プリンタ部は入力された画像データに対応する画像を用紙上に形成して出力する機能を果たす。
【0051】
次に、主走査シフト、副走査シフトに関連する各部の動作をさらに詳しく説明する。
【0052】
図2は、主走査シフト部23への入力画像61と、主走査シフト部23で処理後の出力画像62とを対比して模擬的に示している。ここでは説明を分かり易くするために各ラインを太幅に示す。図中、読み取り領域R内の無地部分は原稿領域を、斜線部分は原稿外領域を示している。
【0053】
図2(a)の入力画像61における原稿領域の傾きを補正するために各ラインに必要な主走査方向のシフト量は、原稿領域の傾斜角度Dと各ラインの副走査方向位置とに基づいて算出される。たとえば、同図(b)の副走査方向の位置yにある主走査方向の処理ラインLcに対する主走査シフト量Xs(y)は、
Xs(y)=y × tanD
で求められる。主走査シフト量算出部26は、このようにしてライン毎に主走査シフト量Xsを求め、主走査シフト部23は主走査シフト量算出部26の求めた主走査シフト量Xsに応じて各ラインの画像データを主走査方向にシフトさせることにより、図2(b)に示す出力画像62を生成する。
【0054】
図3は、副走査シフト部30への入力画像64と、副走査シフト部30で処理後の出力画像65とを対比して模擬的に示している。図3では、画像を副走査方向の各ラインLvに区分して示してある。また、入力画像64内の無地部分は原稿領域を、斜線部分は原稿外領域を示している。
【0055】
図3(a)の入力画像64における原稿領域の副走査方向のズレを補正するために必要な副走査シフト量Ys(x)は、図3(b)に示すように主走査方向位置xに依存して異なる。そこで、副走査シフト部30は水平同期信号17とクロック信号16とから現在の主走査方向位置xを求め、その主走査方向位置xおよび傾斜角度Dから各主走査方向位置xの対象画像における副走査シフト量Ys(x)を算出する。
【0056】
図4は、副走査シフト量分解部28によるシフト量の分解例を示している。図4(a)に示すように主走査方向の位置xにおける副走査シフト量YsをYs(x)とする。また、ブロックの副走査方向サイズは4画素とする。この場合、主走査方向の位置xにおけるブロック単位シフト量YB(x)は、
YB(x)=Int(Ys(x)/4)
となる(YB(x)の単位はブロック)。また主走査方向の位置xにおける画素単位シフト量YD(x)は、
YD(x)=Int(Ys(x)−4×YB(x))
となる(YD(x)の単位は画素)。また主走査方向の位置xにおける微小シフト量YF(x)は、
YF(x)=Ys(x)−4×YB(x)−YD(x)
となる(YF(x)の単位は画素)。なお、Int(α)はαの整数部分である。
【0057】
すなわち、主走査方向の位置xにおける副走査シフト量Ys(x)を、まず、ブロック単位に分割し、分割されたブロック数をブロック単位シフト量YB(x)として算出する。次に、副走査シフト量Ys(x)から分割されたブロック分の画素数を減算した余りを画素(整数)で分割し、分割できた画素数を画素単位シフト量YD(x)とする。最後に,副走査シフト量Ys(x)からブロック単位シフト量のブロック分の画素数および画素単位シフト量の画素数を減算したものを微小シフト量YF(x)に割りあてる。
【0058】
図4(b)は、副走査シフト量Ysをブロック単位シフト量YBと画素単位シフト量YDと微小シフト量YFに分解した状態を例示している。たとえば、ブロックの副走査方向サイズが4画素で副走査シフト量Ysが13.4画素の場合には、
YB=3(3ブロック分副走査方向にシフトさせる)
YD=1(1画素分副走査方向にシフトさせる)
YF=0.4(0.4画素分副走査方向にシフトさせる)
というように分解される。
【0059】
図5は、微小シフト部31による1画素未満のシフト処理を例示したものである。1画素未満のシフトは、シフト量に相当する位置の画素を副走査方向の周辺画素から推定し補間処理を行うことで実現する。補間処理は,周辺4画素を参照したキュービック・コンボリューション法や、周辺2画素を参照とした線形補間法などの任意の補間処理でよい。図5は2画素を参照する線形補間による微小シフトを示している。図中の黒丸は補間前の画素位置であり、白抜き黒丸は補間後の画素位置であり、矢印はシフト量を示している。
【0060】
次に、画素単位シフトおよびブロック単位シフトについて説明する。
【0061】
図6(a)の画像F1を図6(b)の画像F2のように補正するものとする。図7(a)、(b)は、画素単位シフト部32による画素単位のシフト処理の概念を示している。画素単位シフト部32は、微小シフト部31による微小シフト済みの画像データをラインメモリ70を用いて7ライン分保持し、主走査方向Xの各位置において、副走査方向Yに並ぶ7画素の中から、画素単位シフト量YD(x)に応じた4画素を選択し、各選択した副走査方向の4画素を主走査方向に4組連ねて選択することでBTC圧縮での圧縮対象となる4×4画素のブロック(A3、A4など)を選択する(図7(a))。該選択処理により、図7(b)に示すように実質的に画素単位のシフトが行われる。
【0062】
たとえば、図7(a)のA3ブロックの右寄り第1列v1および第2列v2では、画素単位のシフト量が1画素であるため、下端から2画素目〜5画素目までの4画素が選択され、A3ブロックの第3列v3および第4列v4では、画素単位シフト量が2画素であるため、下端から3画素目〜6画素目までの4画素が選択されている。
【0063】
ブロック単位シフト部33は、画素単位シフト部32で選択した各ブロックに対してブロック単位でBTC圧縮(JPEG圧縮などでもよい)を施す(図7(c))。そして、圧縮データa3、a4…を画像メモリ24へ格納する際に、副走査シフト量分解部28から与えられたブロック単位シフト量YBに応じて、各圧縮データa3、a4…の格納先のアドレスを設定する(図7(d))。各圧縮データa3、a4…は、各ブロックの圧縮データを伸張して構成される1ページ分の画像内での各ブロックの配置に対応するように配列されて画像メモリ24に格納される。
【0064】
図7(d)ではA3からA6のブロックの圧縮データa3〜a6に対してA7からA10のブロックの圧縮データa7〜a10を1ブロック分副走査方向にシフトさせて配列している。図8(a)は、画像メモリ24への圧縮データの格納状態をより広範囲に示している。図7(d)に示すA3〜A10を含む着目4ラインの各ブロックの圧縮データa0〜a15は図8(a)の太枠で囲ったブロック群である。
【0065】
画像メモリ24に格納された圧縮データの読み出しは、図8(b)の矢印75が示す順序で行われる。これにより、圧縮データを伸張した各ブロックの画像データは、画像メモリ24内での圧縮データの配置に対応した位置(ページ内の位置)に配置される。したがって、圧縮データを画像メモリ24に格納する際にその圧縮データの配置をブロック単位シフト量YBに応じてシフトさせることで、伸張後の画像上でブロック単位のシフトが実現される。
【0066】
図9は、副走査シフト部30の回路構成をより詳細に示したものである。微小シフト部31の手前には、3ライン分のラインメモリを構成するFIFO(First-In First-Out)メモリ81a、81b、81cが設けてある。微小シフト部31には、主走査シフト部23から入力される現ラインと、その1ライン前と、2ライン前と、3ライン前の合計4ライン分の画像データが並列にされて順次入力される。微小シフト部31はこれら並列に入力される4ラインの画像データに基づいて補間処理を行って1画素未満の微小シフトを行う。
【0067】
画素単位シフト部32の手前には、6ライン分のラインメモリを構成するFIFOメモリ82a〜82fが設けてある。画素単位シフト部32には、微小シフト部31から入力される現ラインと、その1ライン前と、2ライン前と、3ライン前と、4ライン前と、5ライン前と、6ライン前の合計7ライン分の画像データが並列に順次入力される。画素単位シフト部32は、並列に入力される副走査方向に並ぶ7画素の中から画素単位シフト量YD(x)に応じた位置の4画素を選択して、BTC圧縮用1ライン目データ84a、BTC圧縮用2ライン目データ84b、BTC圧縮用3ライン目データ84c、BTC圧縮用4ライン目データ84dを順次出力する。
【0068】
画素単位シフト部32の後段には、BTC圧縮用1ライン目データ84a、BTC圧縮用2ライン目データ84b、BTC圧縮用3ライン目データ84c、BTC圧縮用4ライン目データ84dの各系列に対応させて、3段にカスケード接続されたフリップフロップ回路85が設けてあり、4クロック毎に4×4の16画素分の画像データがBTC圧縮の対象となる1ブロック分の画像データとしてBTC圧縮部34に入力される。ライトアドレス選択部86は、BTC圧縮部34が出力する圧縮データ(メモリライトデータ)を画像メモリ24に格納する際のアドレス(メモリライトアドレス)を生成する。
【0069】
以上のように第1の実施の形態の画像処理装置10は、原稿の傾斜角度を検知し、該傾斜を補正するために必要な主走査シフト量Xsと、副走査シフト量Ysを求め、このシフト量Xs、Ysにしたがって主走査方向シフトおよび副走査方向シフトを行うので、比較的処理が容易なシフト処理により、傾斜の補正された画像を得ることができる。
【0070】
また、シフト処理に伴って生じる画像の倍率変化がキャンセルされるように主走査/副走査変倍部21で画像を変倍処理するので、傾斜が補正されかつ倍率変化のない画像を得ることができる。
【0071】
また、副走査シフト量Ysをブロック単位シフト量YBと、画素単位シフト量YDと、微小シフト量YFとに分解し、ブロック単位のシフトをBTC圧縮した圧縮データの配列制御によって行う。これにより、非圧縮の画像データに対してはブロックサイズ未満のシフト処理を行うだけで済み、非圧縮の状態でのシフト量が少なくなって、シフト用に保有すべきメモリ容量を少なくすることができる。たとえば、圧縮を4画素×4画素のブロックで処理する場合は、傾き補正機能を搭載することにより増加する実質のメモリ容量は2.5ライン分で済む(微小シフト処理として線形補間アルゴリズムを用いた場合)。
【0072】
また,微小シフト部31での微小シフトおよび画素単位シフト部32での画素単位シフトを原稿の読み取り動作と同時並行にリアルタイムに実行した後で、画像メモリ24への格納を行うので、補正処理が容易かつ高速に実現される。また、圧縮処理を施した後の圧縮データを格納する際にブロック単位のシフトを行うので、ブロック単位のシフト処理で処理するデータ量が減少し、画像データ格納用メモリの容量削減、メモリインターフェースのスループットの向上が可能である。
【0073】
さらに、主走査方向の任意の画素位置で副走査方向のシフト量を変化させることができる(すなわち、ブロックの境界以外でも画素単位のシフト量を変更できる)ので、ブロックサイズを固定にしたままで任意の傾斜角度に対応したシフトを行うことができる。また、1画素未満のシフトも行うので、より高精度な補正が可能となり、補正による画質劣化が抑制される。
【0074】
<第2の実施の形態>
図10は、第2の実施の形態に係る画像処理装置100の構成を示している。第1の実施の形態では主走査方向のシフトと副走査方向のシフトとを行うことで画像の傾きを補正したが、第2の実施の形態の画像処理装置100は、主走査方向のシフトは行わずに副走査方向のシフトを行う。画像処理装置100は、副走査方向のシフトを行うことで、ラインイメージセンサ11の取り付け角度のスキューを補正するようになっている。なお、第1の実施の形態の画像処理装置10と同一部分には同一の符号を付してあり、それらの説明は適宜省略する。
【0075】
画像処理装置100は、主走査方向シフトを行わないので、図1に示す画像処理装置10の有する主走査/副走査変倍部21に代えて主走査の変倍のみを行う主走査変倍部101を、主走査/副走査変倍率算出部22に代えて主走査の変倍率のみを算出する主走査変倍率算出部102を備えている。また、主走査シフト部23および主走査シフト量算出部26は具備していない。
【0076】
また、原稿の傾斜角度を計測するために設けた傾斜検知部40および傾斜角度算出部25は備えず、これらに代えて、ラインイメージセンサ11のスキュー角度(傾斜角度D)を示す情報をレジスタ部103から取得するようになっている。ここでは、装置の工場出荷行程などにおいて、ラインイメージセンサ11の傾斜角度を測定し、この傾斜角度を示す傾斜角度情報を当該デジタル複合機に実装されている不揮発性メモリ105に記憶するようになっている。
【0077】
画像読み取り時には、CPU(Central Processing Unit)106が傾斜角度情報を不揮発性メモリ105から読み出し、CPUI/F107経由でレジスタ部103へ格納し、その傾斜角度情報の示す傾斜角度Dがレジスタ部103から副走査シフト量算出部27および主走査変倍率算出部102へ出力されるようになっている。
【0078】
主走査変倍率算出部102はレジスタ部103から入力された傾斜角度Dに基づいて、その傾斜角度を副走査方向のシフトで補正した場合に生じる主走査方向の倍率変化量を補償するための主走査方向の変倍率を算出して主走査変倍部101に与える。主走査変倍部101は入力画像処理部19から入力される画像データを、主走査変倍率算出部102から与えられた主走査方向変倍率に従って変倍する。
【0079】
傾斜角度Dに基づく副走査方向のシフト動作については第1の実施の形態と同様であり、その説明は省略する。
【0080】
このように、第2の実施の形態の画像処理装置100では、ラインイメージセンサ11のスキューを、副走査方向への画像のシフトによって補正するので、ラインイメージセンサ11の取り付け角度の調整精度が良くない場合でも、スキューによる歪みのない画像を得ることができる。
【0081】
<第3の実施の形態>
第1、第2の実施の形態では、読み取り系(ラインイメージセンサ11のスキュー、原稿の傾き)の補正について説明したが、第3の実施の形態に係る画像処理装置200では、書き込み系で生じるスキューを補正する。たとえば、レーザープリンタのプリントヘッドのスキューなどによって生じる画像の歪みを補正する。
【0082】
図11は、画像処理装置200の主要部(書き込み系補正に関連する部分)の構成を示している。図1の画像処理装置10もしくは図10の画像処理装置100と同一部分には同一の符号を付してあり、それらの説明は適宜省略する。
【0083】
画像処理装置200では、入力画像処理部19の出力する画像データは、そのままBTC圧縮部201で圧縮されて画像メモリ24に格納される。また、不揮発性メモリ105には、装置の工場出荷行程などにおいて測定された書き込み系(プリントヘッドなど)の傾斜角度を示す傾斜角度情報が記憶されている。
【0084】
書き込み系のスキューを補正するための副走査方向のシフト処理は、画像メモリ24に格納されている圧縮データを伸張して出力部52へ出力する過程で行われる。また、シフト処理は、ブロック単位シフト、画素単位シフト、微小シフトの順に行われる。
【0085】
副走査シフト部210は、ブロック単位シフト部211と、画素単位シフト部32と、微小シフト部31とを備えている。ブロック単位シフト部211は、BTC圧縮アルゴリズムで圧縮されている圧縮データを伸張するBTC伸張部214と、メモリI/F215とを有する。
【0086】
メモリI/F215は、画像メモリ24から各ブロックの圧縮データを読み出してBTC伸張部214に与える。このとき、メモリI/F215は副走査シフト量分解部28から与えられるブロック単位シフト量YBに応じて、画像メモリ24から各ブロックの圧縮データを読み出す際の読み出し順序を変更することで、ブロック単位のシフトを行うようになっている。
【0087】
図12(a)は、メモリI/F215による圧縮データの読み出し例を示している。矢印221が示す順序で各ブロックの圧縮データを読み出すことにより、伸張後のページ内では各ブロックのデータは図12(b)に示すように配列された状態になる。
【0088】
BTC伸張部214でメモリI/F215から与えられる順序で各ブロックの圧縮データを伸張して得た画像データはブロック単位に画素単位シフト部32に与えられる。画素単位シフト部32は副走査シフト量分解部28から与えられる画素単位シフト量YDに応じて画素単位のシフト処理を行う。微小シフト部31は画素単位シフト部32から入力される画像データに対して副走査シフト量分解部28から与えられる微小シフト量YFに従って1画素未満のシフトを補間処理などによって行う。
【0089】
微小シフト部31の後段には主走査変倍部101が設けてあり、主走査変倍部101は微小シフト部31から入力される画像データを主走査変倍率算出部102から与えられる変倍率に従って変倍した後、出力部52に送り出す。
【0090】
このように、書き込み系のスキュー補正は、画像データを出力する際に、ブロック単位シフト、画素単位シフト、1画素未満の微小シフトの順に行われる。該副走査方向への画像のシフトを行うことで、プリントヘッドの取り付け角度の調整精度が良くない場合でも、書き込み系のスキューによる歪みのない画像を得ることができる。
【0091】
以上、本発明の各種実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【0092】
実施の形態では、副走査シフト量Ysをブロック単位シフト量YBと画素単位シフト量YDと微小シフト量YFとに分解するようにしたが、微小シフトを行わないように構成されてもよい。たとえば、副走査シフト量Ysをブロック単位シフト量YBと画素単位シフト量YDとに分解する。この際、1画素未満のシフト量は切り捨てても良いし、四捨五入などして画素単位シフト量に含ませるようにしてもよい。
【0093】
また、第1の実施の形態では、スキャナで原稿画像を読み取った際の傾斜を補正するようにしたが、プリンタで搬送される記録紙の傾斜を検知し、記録紙に印刷する画像を記録紙の傾きを補正するように傾斜させる構成にしてもよい。すなわち、第3の実施の形態の構成に対して、微小シフト部31の後段に主走査シフト部23を設け、さらにその後段に、主走査変倍部101に代えて主走査/副走査変倍部21を設け、主走査変倍率算出部102に代えて主走査/副走査変倍率算出部22を設けるようにすればよい。また記録紙の傾き具合の計測は、原稿の傾斜を測定した傾斜検知部40と同じ原理で行なえばよい。すなわち、記録紙の通紙経路に記録紙の幅方向に間隔を空けて2つのセンサを配置し、それらの通過タイミングの差から傾斜角度を検知すればよい。
【0094】
なお、原稿や記録紙などの傾きの検知方法は実施の形態で例示したものに限定されない。たとえば、原稿画像の解析結果から傾斜角度を検出してもよい。また、原稿の読み取りに代えて画像データを外部装置から入力するような場合には、傾斜角度を外部装置からデータで受け取るように構成してもよい。
【0095】
圧縮方式はBTC圧縮、JPEGに限定されず、画像をブロックに分割して圧縮する圧縮方式であれば、任意でよい。
【図面の簡単な説明】
【0096】
【図1】本発明の第1の実施の形態に係わる画像処理装置の主要部の構成を示すブロック図である。
【図2】主走査シフト部への入力画像と出力画像とを対比して例示した説明図である。
【図3】副走査シフト部への入力画像と出力画像とを対比して例示した説明図である。
【図4】副走査シフト量分解部によるシフト量の分解例を示す説明図である。
【図5】微小シフト部による1画素未満のシフト処理を例示した説明図である。
【図6】副走査方向のシフト前とシフト後の画像を例示した説明図である。
【図7】画素単位シフトおよびブロック単位シフトの処理概念を示す説明図である。
【図8】ブロック単位シフトされて画像メモリに格納された圧縮データの配列およびそれらの読み出し順序を示す説明図である。
【図9】副走査シフト部の回路構成を示すブロック図である。
【図10】本発明の第2の実施の形態に係わる画像処理装置の主要部の構成を示すブロック図である。
【図11】本発明の第3の実施の形態に係わる画像処理装置の主要部の構成を示すブロック図である。
【図12】ブロック単位の副走査方向シフトを書き込み系で行う場合における画像メモリ内の圧縮データの配列およびそれらの読み出し順序を示す説明図である。
【図13】ブロックの配列変更によって傾きを補正した画像例を示す説明図である。
【符号の説明】
【0097】
10…画像処理装置
11…ラインイメージセンサ
12…DF制御部
13…垂直同期信号
15…CCD駆動回路
16…クロック信号
17…水平同期信号
18…A/D変換部
19…入力画像処理部
21…主走査/副走査変倍部
22…主走査/副走査変倍率算出部
23…主走査シフト部
24…画像メモリ
25…傾斜角度算出部
26…主走査シフト量算出部
27…副走査シフト量算出部
28…副走査シフト量分解部
30…副走査シフト部
31…微小シフト部
32…画素単位シフト部
33…ブロック単位シフト部
34…BTC圧縮部
35…メモリI/F
40…傾斜検知部
41…第1センサ
41a…第1センサの出力信号
42…第2センサ
42a…第2センサの出力信号
43…OR回路
43a…スタート信号
44…AND回路
44a…ストップ信号
45…カウンタ回路
45a…角度判別信号
46…ラッチ回路
46a…左右判別信号
47…AND回路
51…BTC伸張部
52…出力部
61…主走査シフト部への入力画像
62…主走査シフト部の出力画像
64…副走査シフト部への入力画像
65…副走査シフト部の出力画像
70…ラインメモリ
81a〜81c…微小シフト用のFIFOメモリ
82a〜82f…画素単位シフト用のFIFOメモリ
84a…BTC圧縮用1ライン目データ
84b…BTC圧縮用2ライン目データ
84c…BTC圧縮用3ライン目データ
84d…BTC圧縮用4ライン目データ
85…フリップフロップ回路
86…ライトアドレス選択部
100…画像処理装置
101…主走査変倍部
102…主走査変倍率算出部
103…レジスタ部
105…不揮発性メモリ
106…CPU
107…CPUI/F
200…画像処理装置
201…BTC圧縮部
210…副走査シフト部
211…ブロック単位シフト部
214…BTC伸張部
215…メモリI/F
221…読み出し順序を示す矢印
A…補正量
D…傾斜角度
Lc…主走査方向の処理ライン
Lv…副走査方向に区分したライン
R…読み取り領域
Xs…主走査シフト量
YB…ブロック単位シフト量
YD…画素単位シフト量
YF…微小シフト量
Ys…副走査シフト量

【特許請求の範囲】
【請求項1】
第1方向とこれに直交する第2方向とに画素が並ぶ画像の第2方向のズレを補正する画像処理装置において、
各画素に対する第2方向のズレの補正量を、所定のブロックの第2方向のサイズを単位にした第1シフト量と、前記ブロックの第2方向のサイズ未満であって画素単位の第2シフト量と、1画素未満の第3シフト量とに分解するシフト量演算部と、
各画素の画像データを、第2方向へ第3シフト量だけシフトさせる微小シフト部と、
各画素の画像データを、第2方向へ第2シフト量だけシフトさせる画素単位シフト部と、
前記ブロックを単位に画像データを圧縮して記憶する処理と、該圧縮して記憶した画像データを読み出して伸張しブロック単位にメモリ上に配置する処理とを行う過程で各ブロックの画像データを第2方向へ第1シフト量だけシフトさせるブロック単位シフト部と
を有する
ことを特徴とする画像処理装置。
【請求項2】
入力される画像データに対して、前記補正を、微小シフト部、画素単位シフト部、ブロック単位シフト部の順で行う
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
出力する画像データに対して、前記補正を、ブロック単位シフト部、画素単位シフト部、微小シフト部の順で行う
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記圧縮は、BTC圧縮である
ことを特徴とする請求項1乃至3のいずれか1つに記載の画像処理装置。
【請求項5】
前記圧縮は、JPEG圧縮である
ことを特徴とする請求項1乃至3のいずれか1つに記載の画像処理装置。
【請求項6】
前記シフト量演算部は、第2方向のズレの補正量を第1シフト量と第2シフト量と第3シフト量に分解することに代えて、前記補正量を第1シフト量と第2シフト量とに分解し、
前記微小シフトを設けずに、第2方向のズレを、前記画素単位シフト部とブロック単位シフト部とで補正する
ことを特徴とする請求項1乃至5のいずれか1つに記載の画像処理装置。
【請求項7】
前記微小シフト部は、1画素未満のシフトを補間処理によって行う
ことを特徴とする請求項1乃至5のいずれか1つに記載の画像処理装置。
【請求項8】
第2方向のズレの補正によって生じる第1方向の倍率変化を補正する第1方向変倍処理部をさらに有する
ことを特徴とする請求項1乃至7のいずれか1つに記載の画像処理装置。
【請求項9】
第2方向のズレの補正前もしくは補正後に、第1方向のズレを補正する第1方向シフト部を設け、
前記第1方向のズレの補正と前記第2方向のズレの補正とを組み合わせて画像の傾きを補正する
ことを特徴とする請求項1乃至8のいずれか1つに記載の画像処理装置。
【請求項10】
第1方向のズレの補正によって生じる第2方向の倍率変化を補正する第2方向変倍処理部をさらに有する
ことを特徴とする請求項9に記載の画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2009−141544(P2009−141544A)
【公開日】平成21年6月25日(2009.6.25)
【国際特許分類】
【出願番号】特願2007−314274(P2007−314274)
【出願日】平成19年12月5日(2007.12.5)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】