JP5994538B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP5994538B2
JP5994538B2 JP2012216743A JP2012216743A JP5994538B2 JP 5994538 B2 JP5994538 B2 JP 5994538B2 JP 2012216743 A JP2012216743 A JP 2012216743A JP 2012216743 A JP2012216743 A JP 2012216743A JP 5994538 B2 JP5994538 B2 JP 5994538B2
Authority
JP
Japan
Prior art keywords
coordinates
image
unit
coordinate
input
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.)
Active
Application number
JP2012216743A
Other languages
English (en)
Other versions
JP2014071625A (ja
Inventor
哲郎 松谷
哲郎 松谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2012216743A priority Critical patent/JP5994538B2/ja
Publication of JP2014071625A publication Critical patent/JP2014071625A/ja
Application granted granted Critical
Publication of JP5994538B2 publication Critical patent/JP5994538B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Input (AREA)
  • Image Processing (AREA)

Description

基準角度の方向に対して傾斜した入力画像を、当該基準角度の方向に沿った出力画像に補正する傾き補正を行うための技術に関する。
従来から、スキャナで読み取った原稿画像の傾き角度を検知し、原稿画像を複数画素からなるブロック単位に分割し、各ブロックの配置アドレス(座標)を、傾き角度に応じて順次変更する画像処理装置がある(特許文献1参照)。
特開2006−203710号公報
ところで、上記従来の画像処理装置のように、読取画像の各画素の配置関係を傾き角度に応じて変更する場合、次の構成が考えられる。その画像処理装置は、出力座標に対応する傾き補正元の入力座標を求めた後、入力画像のデータから当該入力座標の画素の値を読み出し、上記出力座標の画素の値として出力する構成が考えられる。しかし、この画像処理装置では、入力画像のデータから、現在処理対象の入力座標の画素の値だけを読み出すため、結果として、傾き補正された出力画像のデータを出力するまでに時間がかかるという問題があった。
本明細書では、入力画像のデータから、現在処理対象の入力座標の画素の値だけを読み出す構成に比べて、傾き補正の処理を速く行うことが可能な技術を開示する。
本明細書によって開示される画像処理装置は、キャッシュ部、および、基準角度に対して傾いた入力画像のデータを前記キャッシュ部に読み出し、当該入力画像を、前記基準角度に沿った出力画像に補正する傾き補正を行って、前記出力画像のデータを出力する傾き補正部を備える画像処理装置であって、前記傾き補正部は、前記出力画像の各画素を配置すべき各出力座標を、予め定められた指定順序に従って、対象出力座標として指定する指定処理部と、前記基準角度の方向に対する前記入力画像の傾き角度を用いて、前記対象出力座標に対応する前記入力画像のデータの座標を、対象入力座標として抽出する第1抽出処理部と、前記傾き角度を用いて、前記対象出力座標よりも前記指定順序が下位の出力座標に対応する前記入力画像のデータの座標を、先行入力座標として抽出する第2抽出処理部と、前記先行入力座標の画素の値を、前記入力画像のデータから読み出して前記キャッシュ部に記憶する先行読出部と、前記対象入力座標の画素の値が前記キャッシュ部に記憶されていないかを判断し、記憶されていないと判断した場合、当該対象入力座標の画素の値を、前記入力画像のデータから読み出して前記キャッシュ部に記憶する対象読出部と、前記キャッシュ部から、前記対象入力座標の画素の値を読み出して、前記対象出力座標の画素の値として出力する出力部と、を備える。
この画像処理装置は、出力画像の各画素を配置すべき各出力座標を、予め定められた指定順序に従って、対象出力座標として指定し、傾き角度を用いて、その対象出力座標に対応する入力画像のデータの座標を、対象入力座標として抽出する。更に、画像処理装置は、対象出力座標だけでなく、当該対象出力座標よりも指定順序が下位の出力座標に対応する入力画像のデータの座標を、先行入力座標として抽出し、先行入力座標の画素の値を、入力画像のデータからキャッシュ部に読み出す。従って、対象入力座標の画素の値が、その先行入力座標の画素の値として、既に先行してキャッシュ部に記憶されていた場合は、その対象入力画像の画素の値をキャッシュ部に記憶させることなく、対象入力座標の画素の値を、対象出力座標の画素の値として出力することができる。これにより、入力画像のデータから、現在処理対象の入力座標の画素の値だけを読み出す構成に比べて、傾き補正の処理を速く行うことができる。
上記画像処理装置では、前記指定処理部は、前記各出力座標を、前記基準角度の方向に沿って指定し、前記第2抽出処理部は、前記傾き角度が小さいほど前記対象出力座標との順位差が小さい前記下位の出力座標に対応する前記入力画像のデータの座標を、前記先行入力座標として抽出してもよい。
この画像処理装置は、各出力座標を、基準角度の方向に沿って指定し、傾き角度が小さいほど対象出力座標との順位差が小さい下位の出力座標に対応する入力画像のデータの座標を、先行入力座標として抽出する。これにより角度の相違に関係なく、対象出力座標との順位差が常に同一の出力座標に対応する入力画像のデータの座標を、先行入力座標として抽出する構成に比べて、より確実に、処理の対象となり得る入力座標の画素の値を、先行してキャッシュ部に読み出すことができる。
上記画像処理装置では、前記第2抽出処理部は、前記対象出力座標を先頭として前記指定順序に従う出力座標群に対応する前記入力画像のデータの座標群のうち、前記対象入力座標に対して前記基準角度の方向に直交する方向に最初にずれる座標を、前記先行入力座標として抽出してもよい。
この画像読取装置は、対象出力座標を先頭として指定順序に従う出力座標群に対応する入力画像のデータの座標群のうち、対象入力座標に対して基準角度の方向に直交する方向に最初にずれる座標を、先行入力座標として抽出する。これにより、的確に対象入力座標の画素の値として必要とされる画素の値が、先行入力座標の画素の値としてキャッシュ部に記憶され、対象入力画像の画素の値をキャッシュ部に記憶させる必要がない場合が多くなるために、より速く傾き補正された出力画像のデータを出力することができる。
上記画像処理装置では、前記先行読出部は、前記入力画像のデータから当該先行入力座標の画素を含んで前記基準角度の方向に連続する複数個分の画素群の値を読み出し、前記キャッシュ部に記憶する構成でもよい。
この画像処理装置は、対象出力座標よりも指定順序が下位の出力座標に対応する先行入力座標の画素を含む基準角度の方向に連続する複数個分の画素群の値を入力画像のデータから読み出し、キャッシュ部に記憶させている。そのため、先行入力座標の画素の値を1つだけキャッシュ部に記憶する構成に比べて、対象入力画像の画素の値を、その抽出時にキャッシュ部に記憶させることなく、既にキャッシュ部に記憶されている画素群の値を、対象出力座標の画素の値として出力することができる確率が高くなる。
上記画像処理装置では、前記対象読出部は、前記入力画像のデータから当該対象入力座標の画素を含んで前記基準角度の方向に連続する複数個分の画素群の値を読み出し、前記キャッシュ部に記憶する構成でもよい。
この画像処理装置は、対象入力座標の画素を含んで連続する複数個分の画素群の値を、入力画像のデータからキャッシュ部に記憶する。これにより、対象入力座標の画素の値だけをキャッシュ部に読み出す構成に比べて、読出処理の時間を短縮することができる。
上記画像処理装置では、前記キャッシュ部は、前記複数個分の画素群を記憶可能なキャッシュを複数有し、前記先行読出処理部は、前記入力画像のデータから今回の前記先行入力座標の画素の値を、既に前記先行入力座標の画素の値が記憶されているキャッシュとは異なる他のキャッシュに記憶してもよい。
この画像処理装置は、複数のキャッシュを有し、先行読出部は、既に先行入力座標が記憶されているキャッシュとは異なる他のキャッシュに、今回の先行入力座標の画素の値を記憶する。これにより、1つのキャッシュだけ有する構成とは異なり、各対象入力座標に対応する複数の先行入力座標の画素の値を、同時期にキャッシュ部に記憶しておくことができる。
上記画像処理装置では、前記先行読出処理部は、前記先行入力座標の画素の値が前記キャッシュ部に記憶されていないかを判断し、記憶されていないと判断した場合、当該先行入力座標の画素の値を、前記入力画像のデータから前記キャッシュ部に記憶してもよい。
この画像処理装置は、先行入力座標の画素の値がキャッシュ部に記憶されていないかを判断し、記憶されていないと判断した場合、当該先行入力座標の画素の値をキャッシュ部に読み出す。これにより、この判断をせずに先行入力座標の値をキャッシュ部に読み出す構成に比べて、同一の先行入力座標の画素の値が重複してキャッシュ部に読み出されることを抑制することができる。
上記画像処理装置では、更に、前記入力画像のデータと前記出力画像のデータとが記憶される記憶部と、前記傾き角度に関する角度情報を取得し、前記傾き補正部に入力する取得入力部と、を備え、前記傾き補正部は、前記記憶部に、前記対象入力座標の画素の値を、前記対象出力座標の画素の値として出力してもよい。
本明細書によって開示される発明によれば、入力画像のデータから、現在処理対象の入力座標の画素の値だけを読み出す構成に比べて、傾き補正の処理を速く行うことが可能である。
一実施形態の画像読取装置の構成図 傾き補正部の構成を示すブロック図 読取制御処理を示すフローチャート 補正後座標系、補正前画像および補正後画像の関係を示す説明図 順位差と傾き角度との対応関係図 指定処理を示すフローチャート 第1抽出処理を示すフローチャート リードDMA処理を示すフローチャート 対象補正後座標、先行補正後座標、および、バーストリードされる補正前座標群の関係を示す説明図(傾き角度θ=θ1) 対象補正後座標、先行補正後座標、および、バーストリードされる補正前座標群の関係を示す説明図(傾き角度θ=θ2) 対象補正後座標、先行補正後座標、および、バーストリードされる補正前座標群の関係を示す説明図(傾き角度θ=θ3) ライトDMA処理を示すフローチャート
一実施形態の画像読取装置1について図1〜図12を参照しつつ説明する。画像読取装置1は、画像処理装置の一例である。この画像読取装置1は、図示しない原稿シートから読み取った読取画像Bに含まれる原稿画像を、基準角度の方向に沿った画像に補正する傾き補正を行うことが可能である。上記原稿画像は、入力画像の一例であり、以下、補正前画像Giといい、基準角度の方向に沿った画像は、出力画像の一例であり、以下、補正後画像Goという。また、基準角度の方向は、例えば上記読取画像Bの副走査方向に対して任意の角度をなす方向である。この任意の角度は、基準角度の一例であり、以下では、説明を簡単にするため、ゼロ度であるものとする。
(画像読取装置の構成)
図1に示すように、画像読取装置1、制御部2、画像読取部3、原稿自動搬送装置(以下、「ADF」という)4、操作部5、表示部6等を備える。
制御部2は、中央処理装置(以下、CPU)11、ROM12、傾き補正部13、および、DRAM14を有する。ROM12には、後述する読取制御処理を実行するためのプログラムや、この複合機1の各種の動作を実行するためのプログラムが記憶されている。CPU11は、ROM12から読み出したプログラムに従って、画像読取装置1の各部を制御する。なお、上記各種のプログラムが記憶される媒体は、ROM12やRAM13以外に、CD−ROM、ハードディスク装置、フラッシュメモリ(登録商標)などの不揮発性メモリでもよい。
画像読取部3は、ADF4により搬送される原稿シート上の画像を読み取って、その読み取られた読取画像Bに応じた画素列の読取データを、図示しないAD変換部によりAD変換し、DRAM14に記憶する。傾き補正部13については次述する。DRAM14には、上記補正前画像Giを含んだ読取画像Bのデータが記憶される補正前画像データ記憶領域14Aと、上記補正後画像Goのデータが記憶される補正後画像データ記憶領域14Bとが確保されている。なお、DRAM14は、記憶部の一例であり、これ以外に、RAM,EPPROM等、他の記憶媒体でもよい。
操作部5は、複数のボタンを有し、ユーザにより各種の入力操作が可能である。表示部6は、液晶ディスプレイやランプ等を有し、各種の設定画面や装置の動作状態等を表示することが可能である。
(傾き補正部の構成)
傾き補正部13は、ステートマシン21、第1演算処理部22、加算回路23、第2演算処理部24、リードDMA処理部25、および、ライトDMA処理部26を有する。
ステートマシン21は、指定処理部の一例であり、補正後画像Goの各画素を配置すべき各補正後座標を、予め定められた指定順序に従って、対象補正後座標(Xot,Yot)として指定する指定処理を実行する。第1演算処理部22は、第1抽出処理の一例であり、上記基準角度の方向に対する補正前画像Giの傾き角度θを用いて、上記対象補正後座標に対応する補正前画像Giのデータの座標を、対象補正前座標(Xit,Yit)として抽出する第1抽出処理を実行する。加算回路23および第2演算処理部24は、第2抽出処理部の一例であり、傾き角度θを用いて、対象補正後座標よりも指定順序が下位の補正後座標(以下、先行補正後座標(Xot+α,Yot)という)に対応する補正前画像Giのデータの座標を、先行補正前座標(Xit+α,Yit)として抽出する第2抽出処理を実行する。
リードDMA処理部25は、先行読出部および対象読出部の一例であり、キャッシュ部27を有する。なお、キャッシュ部27は、傾き補正部13の外部に設けられていてもよい。キャッシュ部27は、1または複数のキャッシュを有する。以下、キャッシュ部27は、第1から第4のキャッシュ27A〜27Dを有するものとする。各キャッシュ27A〜27Dは、複数個(本実施形態では8個)の補正前座標のアドレス、各補正前座標の画素の値、読み出し確定フラグの有無、破棄可能フラグの有無に関する情報をそれぞれ個別に記憶することが可能である。リードDMA処理部25は、上記先行補正前座標の画素の値を、補正前画像Giのデータから読み出してキャッシュ部27に記憶する先行読出処理を実行する。
また、リードDMA処理部25は、対象補正前座標の画素の値がキャッシュ部27に記憶されていないかを判断し、記憶されていないと判断した場合、当該対象補正前座標の画素の値を、補正前画像Giのデータから読み出してキャッシュ部27に記憶する対象読出処理を実行する。ライトDMA処理部26は、出力部の一例であり、キャッシュ部27から、対象補正前座標の画素の値を読み出して、対象補正後座標の画素の値として出力する出力処理を実行する。なお、各処理の詳細は後述する。
(読取制御処理)
例えばユーザにより操作部5でスキャン機能の実行指令の入力操作がされると、CPU11は、図3に示す読取制御処理を実行する。まず、CPU11は、画像読取部3およびADF4に読取動作を実行させる(S1)。具体的には、CPU11は、ADF4に原稿シートの搬送を開始させ、画像読取部3に、その搬送される原稿シート上の画像を読み取らせる。これにより、その読み取られた読取画像Bのデータが、AD変換部によりAD変換され、DRAM14の補正前画像データ記憶領域14Aに記憶される。
次に、CPU11は、読取画像Bのデータから、原稿サイズ情報および角度情報を取得する(S2)。原稿サイズ情報は、補正前画像Giのサイズ、即ち、原稿シートのサイズ(以下、単に原稿サイズ(Xmax,Ymax)という)に関する情報であり、角度情報は、補正前画像Giの上記基準角度の方向に対する傾き角度θに関する情報である。図4の中央には、補正前画像Giを含んだ読取画像Bが示されており、この補正前画像Giは、副走査方向に対して傾き角度θ1だけ傾いている。また、補正前画像Giは、左下の角P1が、補正前座標系(Xi,Yi)の原点(0,0)からX方向にxpmだけ、Y方向にypmだけずれた位置にある。以下、xpm、ypmを、平行移動情報という。
CPU11は、種々の公知技術により、読取画像Bから、補正前画像Gi(原稿シート)の4辺の線画像L1〜L4を抽出し、その抽出結果から、補正前画像Giの原稿サイズを取得する。例えばCPU11は、読取画像Bの各端辺から、対向する端辺に向かって、最初に画素の値が所定値以上変化する変化点を検索し、その変化点を、補正前画像Giの線画像上の点として抽出する。そして、CPU11は、変化点の集合体を、補正前画像Giの4辺の線画像L1〜L4とする。また、CPU11は、例えば補正前画像Giの上辺L1または下辺L3と、副走査方向との角度差を、傾き角度θとする。このとき、CPU11は、取得入力部として機能する。
続いて、CPU11は、傾き角度θから、順位差αを決定する(S3)。順位差αは、補正後座標系(Xo,Yo)において、上述した対象補正後座標と、先行補正後座標との指定順序の差である。また、図5には、順位差αと傾き角度θとの対応テーブルが例示されている。順位差αは、傾き角度θが小さいほど、大きい値になる。詳細は後述する。
CPU11は、順位差αを決定した後、原稿サイズ情報、角度情報、平行移動情報および順位差αの情報を、傾き補正部13に送信する(S4)。その後、CPU11は、傾き補正部13により、最終補正後座標(Xomax,Yomax)に、最終補正前座標(Ximax,Yimax)の画素の値が書き込まれたと判断した場合(S5:YES)、本読取制御処理を終了する。
(対象補正後座標の指定処理)
傾き補正部13のステートマシン21は、図6に示す指定処理を実行する。まず、ステートマシン21は、上記原稿サイズ情報をCPU11から受信したと判断した場合(S11:YES)、図5の左側に示す補正後座標系(Xo,Yo)において、原点座標(0,0)を、指定順序1位の対象補正後座標(Xot,Yot)として設定し(S12)、その対象補正後座標のアドレス情報を、第1演算処理部22および加算回路23に送信する(S13 図2参照)。
次に、ステートマシン21は、次の順位N+1の対象補正後座標の送信指示がリードDMA処理部25から受信したと判断した場合(S14:YES)、現在の指定順序Nの対象補正後座標のX値(=Xot+1)が、原稿サイズの短辺L1,L3の長さXmaxを超えたかどうかを判断する(S15)。ステートマシン21は、X値が長さXmaxを超えないと判断した場合(S15:NO)、補正後座標(Xot+1,Yot)を、次の順位N+1の対象補正後座標とし(S16)、S13に戻る。即ち、ステートマシン21は、補正後座標系(Xo,Yo)の上記原稿サイズに囲まれる範囲内において、左端から副走査方向に沿って順次、各補正後座標を、対象補正後座標として指定していく。なお、この範囲は、上記補正後画像Goを配置すべき範囲であり、以下、補正後範囲Hという。
一方、ステートマシン21は、X値が長さXmaxを超えると判断した場合(S15:YES)、現在の指定順序Nの対象補正後座標のY値(=Yot+1)が、原稿サイズの長辺L2,L4の長さYmaxを超えるかどうかを判断する(S17)。ステートマシン21は、Y値が長さYmaxを超えないと判断した場合(S17:NO)、補正後座標(0,Yot+1)を、次の順位N+1の対象補正後座標とし(S18)、S13に戻る。即ち、ステートマシン21は、補正後範囲Hの左端の座標まで指定した場合、1つ上の段について、再び、左端から副走査方向に沿って順次、各補正後座標を、対象補正後座標として指定していく。
ステートマシン21は、Y値が長さYmaxを超えたと判断した場合(S17:YES)、補正後範囲Hの全ての座標を指定したとして、本指定処理を終了する。
(第1抽出処理、第2抽出処理)
傾き補正部13の第1演算処理部22は、図7に示す第1抽出処理を実行する。まず、第1演算処理部22は、傾き角度θの角度情報および平行移動情報をCPU11から受信したと判断した場合(S21:YES)、対象補正後座標のアドレス情報をステートマシン21から受信したかどうかを判断する(S22)。第1演算処理部22は、対象補正後座標のアドレス情報を受信したと判断した場合(S22:YES)、上記傾き角度θの角度情報および平行移動情報を用いて、その対象補正後座標に対応する対象補正前座標を抽出する演算処理を行う(S23)。
図4の中央および左側には、上記補正後範囲H内の各補正後座標と、当該補正後座標に対応する補正前座標との対応関係が示されている。例えば、補正後座標系の原点座標(0,0)は、補正前座標系の座標(xprm,yprm)に対応する。なお、この対応関係は、回転行列等の各種の公知の演算等により求めることができる。次に、第1演算処理部22は、対象補正後座標および対象補正前座標を対応付けて、リードDMA処理部25に送信し(S24)、S22に戻る。
加算回路23は、対象補正後座標をステートマシン21から受信し、順位差αをCPU11から受信する。そして、加算回路23は、対象補正後座標のX値に、順位差αを加算した補正後座標を、先行補正後座標(Xot+α,Yot)として、第2演算処理部24に送信する。第2演算処理部24は、上記第1抽出処理と同様の処理により、先行補正後座標(Xot+α,Yot)に対応する先行補正前座標(Xit+α,Yit)を抽出する第2抽出処理を実行し、対象補正後座標および先行補正前座標を対応付けて、リードDMA処理部25に送信する。
(リードDMA処理)
傾き補正部13のリードDMA処理部25は、図8に示すリードDMA処理(上記対象読出処理および先行読出処理を含む)を実行する。まず、リードDMA処理部25は、第1から第4のキャッシュ27A〜27D4全てを、読み出し不確定であり、且つ、破棄可能とする(S31)。読み出し不確定とは、各キャッシュ27A〜27D4に記憶されている補正前座標の画素群の値が、補正後座標の画素の値として読み出す対象であることが確定していないことを意味し、この場合、上記読み出し確定フラグは無し(=0)に設定されている。破棄可能とは、各キャッシュ27A〜27Dに記憶されている補正前座標の画素群の値全てが、補正後座標の画素の値として読み出し済みであることを意味し、この場合、上記破棄可能フラグは有り(=1)に設定されている。
次に、リードDMA処理部25は、対象補正後座標および対象補正前座標のアドレス情報を第1演算処理部22から受信したと判断した場合(S32:YES)、その対象補正前座標と一致する補正前座標が、キャッシュ27A〜27Dのいずれかに記憶されているかどうかを判断する(S33)。リードDMA処理の開始当初、各キャッシュ27A〜27Dへの補正前座標およびその画素の値の読み出しを実行していないため、リードDMA処理部25は、対象補正前座標と一致する補正前座標が記憶されていないと判断し(S33:NO)、後述する補正後座標に、それに対応する補正前座標の画素の値を書き込む処理(以下、単に、書き込み処理という)を停止する指示を、ライトDMA処理部26に送信する(S37)。これにより、キャッシュ部27に、対象補正前の画素の値が記憶されていない状態で、リードDMA処理部25が、補正後画像データ記憶領域に対して無駄な書き込み処理を実行することを抑制することができる。
リードDMA処理部25は、上記停止指示を送信した後、各キャッシュ27A〜27Dのいずれかに、上記破棄可能になっているキャッシュ、換言すれば、補正前座標のアドレス情報等を新たに記憶可能なキャッシュが有るかどうかを判断する。本実施形態では、予めキャッシュ27A〜27Dには、第1キャッシュ27Aから第2キャッシュ27Dの順に優先度が設定されており、リードDMA処理部25は、S38からS41までの処理により、破棄可能なキャッシュで且つ、優先度が最も高いキャッシュを選択する。以下、その選択されたキャッシュを、選択キャッシュという。
次に、リードDMA処理部25は、対象補正前座標を先頭に副走査方向に連続する8個の補正前座標((Xit,Yit)〜(Xit+7,Yit) 図4の中央図および図9の右図の網掛けした座標群Z11参照)のアドレス情報を、選択キャッシュに記憶する。また、リードDMA処理部25は、それら8個の補正前座標それぞれの画素の値を、補正前画像データ記憶領域に記憶されている補正前画像Giのデータから読み出して選択キャッシュに記憶する対象読出処理を実行する(S42)。このように、リードDMA処理部25は、対象補正前座標だけでなく、それに連続する複数個分の画素群の値をまとめて補正前画像Giのデータから読み出す、いわゆるバーストリードを開始する。これにより、対象補正前座標の画素の値だけを選択キャッシュに読み出す構成に比べて、読出処理の時間を短縮することができる。
リードDMA処理部25は、バーストリードの開始後、選択キャッシュを、読み出し確定であり、且つ、破棄不可とする(S43)。読み出し確定とは、キャッシュに記憶されている補正前座標の画素群の値が、補正後座標の画素の値として読み出す対象であることが確定したことを意味し、この場合、上記読み出し確定フラグは有り(=1)に設定されている。破棄不可とは、キャッシュに記憶されている補正前座標の画素群の値の少なくとも1つが、補正後座標の画素の値として読み出されていないことを意味し、この場合、上記破棄可能フラグは無し(=0)に設定されている。なお、リードDMA処理部25は、当該S43の処理を、S42の処理の前に実行してもよい。
リードDMA処理部25は、上記バーストリードが完了したと判断した場合(S44:YES)、書き込み処理の停止を解除する指示をライトDMA処理部26に送信する(S45)。これにより、ライトDMA処理部26は、対象補正後座標に対する書き込み処理を開始することが可能になる。リードDMA処理部25は、解除指示を送信した後、次の順位の対象補正後座標の送信指示を、ステートマシン21に送信し(S36)、S32に戻る。
一方、S33で、リードDMA処理部25は、対象補正前座標と一致する補正前座標が、キャッシュ27A〜27Dのいずれかに記憶されていると判断した場合(S33:YES)、当該キャッシュを対象キャッシュとし、読み出し確定に設定する(S34)。また、対象キャッシュ以外の他のキャッシュが読み出し確定に設定されている場合、当該他のキャッシュを破棄可能に設定する(S34)。一度、対象キャッシュでなくなったキャッシュに記憶されている対象補正前の画素の値が後で必要になることは無いからである。
次に、リードDMA処理部25は、先行補正前座標と一致する補正前座標が、キャッシュ27A〜27Dのいずれかに記憶されているかどうかを判断する(S35)。リードDMA処理部25は、先行補正前座標と一致する補正前座標が記憶されていると判断した場合(S35:YES)、S36に進む。
一方、リードDMA処理部25は、先行補正前座標と一致する補正前座標が記憶されていないと判断した場合(S35:NO)、上記S38からS41までの処理と同様、選択キャッシュを決定する(S46からS49)。次に、リードDMA処理部25は、先行補正前座標を先頭に副走査方向に連続する8個の補正前座標((Xit+α,Yit)〜(Xit+α+7,Yit) 図9の右図の網掛けした座標群Z12参照)のアドレス情報を、選択キャッシュに記憶する(S50)。
また、リードDMA処理部25は、それら8個の補正前座標それぞれの画素の値を、補正前画像データ記憶領域に記憶されている補正前画像Giのデータから読み出して選択キャッシュに記憶する先行読出処理を実行する(S50)。このように、リードDMA処理部25は、先行補正前座標だけでなく、それに連続する複数個分の画素群の値をまとめて補正前画像Giのデータから読み出すバーストリードを開始する。そのため、先行補正前座標の画素の値を1つだけキャッシュ部27に記憶する構成に比べて、対象補正前画像の画素の値を、その抽出時にDRAM14から読み出してキャッシュ部27に記憶させることなく、既にキャッシュ部27に記憶されている画素群の値を、対象補正後座標の画素の値として出力することができる確率が高くなる。
また、リードDMA処理部25は、複数のキャッシュを有し、既に他の先行補正前座標の画素の値が記憶されているキャッシュとは異なる他のキャッシュに、今回の先行補正前座標の画素の値を記憶する。これにより、1つのキャッシュだけ有する構成とは異なり、各対象補正前座標に対応する複数の先行補正前座標の画素の値を、同時期にキャッシュ部27に記憶しておくことができる。更に、リードDMA処理部25は、先行補正前座標の画素の値がキャッシュ部27に記憶されていないかを判断し、記憶されていないと判断したことを条件に、当該先行補正前座標の画素の値をキャッシュ部27に読み出す。これにより、この判断をせずに先行補正前座標の値をキャッシュ部27に読み出す構成に比べて、同一の先行補正前座標の画素の値が重複してキャッシュ部27に読み出されることを抑制することができる。
上述したように、傾き角度θが大きいほど、対象補正後座標と先行補正後座標との順位差αは小さい値が設定される(図5参照)。なお、順位差αは、バーストリードする座標数以下の値に設定される。より具体的には、対象補正後座標を先頭として指定順序に従う出力座標群に対応する補正前画像のデータの座標群のうち、対象補正前座標に対して主走査方向に最初にずれる座標を、先行入力座標として抽出する。
図5によれば、傾き角度θがθ1(例えば7.13度以下)である場合、順位差αは8に設定される。このため、図9に示すように、対象読取処理では、対象補正前座標を含む補正前座標群Z11(同図中、太線で囲まれた座標群)全てが、対象補正前座標として連続して抽出され、それらの画素の値が、補正後座標の画素の値として有効利用される。
一方、先行読取処理では、上記補正前座標群Z11の次に対象補正前座標として抽出される補正前座標が、先行補正前座標とされる。即ち、補正前座標群Z11に対するバーストリードや書き込み処理中に、将来的に対象補正前座標として抽出される補正前座標群Z12の画素の値を、先行してバーストリードしておくことができる。なお、補正前座標群Z12(同図中、太線で囲まれた座標群)の後、補正前座標群Z13(同図中、太線で囲まれた座標群)がバーストリードの対象とされる。
図5によれば、傾き角度θがθ2(例えば7.13度超、8.13度未満)である場合、順位差αは7に設定される。このため、図10に示すように、対象読取処理では、対象補正前座標を含む補正前座標群Z21(同図中、太線で囲まれた座標群)のうち7つが、対象補正前座標として連続して抽出され、それらの画素の値が、補正後座標の画素の値として有効利用される。
一方、先行読取処理では、上記補正前座標群Z21のうちの上記7つの補正前座標の次に対象補正前座標として抽出される補正前座標が、先行補正前座標とされる。即ち、補正前座標群Z21に対するバーストリードや書き込み処理中に、将来的に対象補正前座標として抽出される補正前座標群Z22(同図中、太線で囲まれた座標群)の画素の値を、先行してバーストリードしておくことができる。なお、補正前座標群Z22の後、補正前座標群Z23からZ26(同図中、太線で囲まれた座標群)の順にバーストリードの対象とされる。
図5によれば、傾き角度θがθ3(例えば14.04度超、18.43度以下)である場合、順位差αは3に設定される。このため、図11に示すように、対象読取処理では、対象補正前座標を含む補正前座標群Z31(同図中、太線で囲まれた座標群)のうち3つが、対象補正前座標として連続して抽出され、それらの画素の値が、補正後座標の画素の値として有効利用される。
一方、先行読取処理では、上記補正前座標群Z31のうちの上記3つの補正前座標の次に対象補正前座標として抽出される補正前座標が、先行補正前座標とされる。即ち、補正前座標群Z31に対するバーストリードや書き込み処理中に、将来的に対象補正前座標として抽出される補正前座標群Z32(同図中、太線で囲まれた座標群)の画素の値を、先行してバーストリードしておくことができる。なお、補正前座標群Z32の後、補正前座標群Z33からZ40(同図中、太線で囲まれた座標群)の順にバーストリードの対象とされる。
以上のように、的確に対象補正前座標の画素の値として必要とされる画素の値が、先行補正前座標の画素の値としてキャッシュ部27に記憶され、対象補正前画像の画素の値をキャッシュ部27に記憶させる必要がない場合が多くなるために、より速く傾き補正された補正後画像GoのデータをDRAM14に書き込むことができる。
リードDMA処理部25は、上記先行読出処理を実行した後、選択キャッシュを、読み出し不確定とし、破棄不可とし(S51)、S36に進む。この時点では、選択キャッシュは、読み出し確定とはいえないからである。なお、リードDMA処理部25は、その後、S33で、対象補正前座標と一致する補正前座標が、当該選択キャッシュに記憶されていると判断した場合(S33:YES)、この選択キャッシュを、読み出し確定に設定する(S34)。
(ライトDMA処理)
傾き補正部13のライトDMA処理部26は、図12に示すライトDMA処理を実行する。ライトDMA処理部26は、対象補正後座標のアドレス情報と、対象補正前座標の画素の値とを受信したと判断した場合(S61:YES)、DRAM14に対し、補正後画像データ記憶領域における補正後座標に、補正前座標の画素の値を書き込むことを要求し(S62)、S61に戻る。
(本実施形態の効果)
画像読取装置1は、補正後画像Goの各画素を配置すべき各補正後座標を、予め定められた指定順序に従って、対象補正後座標として指定し、傾き角度θを用いて、その対象出力座標に対応する補正前画像Giのデータの座標を、対象補正前座標として抽出する。更に、画像読取装置1は、対象補正後座標だけでなく、当該対象補正後座標よりも指定順序が下位の補正後座標に対応する補正前画像のデータの座標を、先行補正前座標として抽出し、先行補正前座標の画素の値を、補正前画像Giのデータからキャッシュ部27に読み出す。
従って、対象補正前座標の画素の値が、その先行補正前座標の画素の値として、既に先行してキャッシュ部27に記憶されていた場合は、その対象補正前画像の画素の値をキャッシュ部27に記憶させることなく、対象補正前座標の画素の値を、対象補正後座標の画素の値として出力することができる。これにより、補正前画像Giのデータから、現在処理対象の補正前座標の画素の値だけを読み出す構成に比べて、傾き補正の処理を速く行うことができる。
<他の実施形態>
本明細書で開示される技術は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような種々の態様も含まれる。
上記実施形態では、画像処理装置の一例として、スキャン機能のみ有する画像読取装置1を挙げた。しかし、これに限らず、画像処理装置は、スキャン機能および印刷機能を有するコピー機や、ファクシミリ機能を有するファクシミリ装置、スキャナ機能、印刷機能およびファクシミリ機能など複数の機能を有する複合機などでもよい。
更に、画像処理装置は、スキャン機能を有しない情報処理装置(PC、携帯端末等)でもよい。
上記実施形態では、指定処理、第1抽出処理、第2抽出処理、先行詠出処理、対象詠出処理、出力処理をいずれも、ステートマシン21等のハード回路が実行する構成であった。しかし、これに限らず、上記処理の一部または全部を、CPU11が実行する構成でもよい。
1:画像読取装置 2:制御部 13:傾き補正部 14:DRAM 21:ステートマシン 22:第1演算処理部 23:加算回路 24:第2演算処理部 25:リードDMA処理部 26:ライトDMA Gi:補正前画像 Go:補正後画像

Claims (8)

  1. キャッシュ部、および、
    基準角度の方向に対して傾いた入力画像のデータを前記キャッシュ部に読み出し、当該入力画像を、前記基準角度の方向に沿った出力画像に補正する傾き補正を行って、前記出力画像のデータを出力する傾き補正部を備える画像処理装置であって、
    前記傾き補正部は、
    前記出力画像の各画素を配置すべき各出力座標を、予め定められた指定順序に従って、対象出力座標として指定する指定処理部と、
    前記基準角度に対する前記入力画像の傾き角度を用いて、前記対象出力座標に対応する前記入力画像のデータの座標を、対象入力座標として抽出する第1抽出処理部と、
    前記傾き角度を用いて、前記対象出力座標よりも前記指定順序が下位の出力座標に対応する前記入力画像のデータの座標を、先行入力座標として抽出する第2抽出処理部と、
    前記先行入力座標の画素の値を、前記入力画像のデータから読み出して前記キャッシュ部に記憶する先行読出部と、
    前記対象入力座標の画素の値が前記キャッシュ部に記憶されていないかを判断し、記憶されていないと判断した場合、当該対象入力座標の画素の値を、前記入力画像のデータから読み出して前記キャッシュ部に記憶する対象読出部と、
    前記キャッシュ部から、前記対象入力座標の画素の値を読み出して、前記対象出力座標の画素の値として出力する出力部と、
    を備える画像処理装置。
  2. 請求項1に記載の画像処理装置であって、
    前記指定処理部は、前記各出力座標を、前記基準角度の方向に沿って指定し、
    前記第2抽出処理部は、前記傾き角度が小さいほど前記対象出力座標との順位差が大きい前記下位の出力座標に対応する前記入力画像のデータの座標を、前記先行入力座標として抽出する、画像処理装置。
  3. 請求項1または2に記載の画像処理装置であって、
    前記第2抽出処理部は、
    前記対象出力座標を先頭として前記指定順序に従う出力座標群に対応する前記入力画像のデータの座標群のうち、前記対象入力座標に対して前記基準角度の方向に直交する方向に最初にずれる座標を、前記先行入力座標として抽出する、画像処理装置。
  4. 請求項1から3のいずれか一項に記載の画像処理装置であって、
    前記先行読出部は、前記入力画像のデータから当該先行入力座標の画素を含んで前記基準角度の方向に連続する複数個分の画素群の値を読み出し、前記キャッシュ部に記憶する構成である、画像処理装置。
  5. 請求項1から4のいずれか一項に記載の画像処理装置であって、
    前記対象読出部は、前記入力画像のデータから当該対象入力座標の画素を含んで前記基準角度の方向に連続する複数個分の画素群の値を読み出し、前記キャッシュ部に記憶する構成である、画像処理装置。
  6. 請求項から5のいずれか一項に記載の画像処理装置であって、
    前記キャッシュ部は、前記複数個分の画素群を記憶可能なキャッシュを複数有し、
    前記先行読出部は、前記入力画像のデータから今回の前記先行入力座標の画素の値を、既に前記先行入力座標の画素の値が記憶されているキャッシュとは異なる他のキャッシュに記憶する、画像処理装置。
  7. 請求項6に記載の画像処理装置であって、
    前記先行読出部は、
    前記先行入力座標の画素の値が前記キャッシュ部に記憶されていないかを判断し、記憶されていないと判断した場合、当該先行入力座標の画素の値を、前記入力画像のデータから前記キャッシュ部に記憶する、画像処理装置。
  8. 請求項7に記載の画像処理装置であって、
    更に、
    前記入力画像のデータと前記出力画像のデータとが記憶される記憶部と、
    前記傾き角度に関する角度情報を取得し、前記傾き補正部に入力する取得入力部と、
    を備え、
    前記傾き補正部は、前記記憶部に、前記対象入力座標の画素の値を、前記対象出力座標の画素の値として出力する、画像処理装置。
JP2012216743A 2012-09-28 2012-09-28 画像処理装置 Active JP5994538B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012216743A JP5994538B2 (ja) 2012-09-28 2012-09-28 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012216743A JP5994538B2 (ja) 2012-09-28 2012-09-28 画像処理装置

Publications (2)

Publication Number Publication Date
JP2014071625A JP2014071625A (ja) 2014-04-21
JP5994538B2 true JP5994538B2 (ja) 2016-09-21

Family

ID=50746776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012216743A Active JP5994538B2 (ja) 2012-09-28 2012-09-28 画像処理装置

Country Status (1)

Country Link
JP (1) JP5994538B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7043900B2 (ja) * 2018-03-09 2022-03-30 富士フイルムビジネスイノベーション株式会社 画像処理装置およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3740910B2 (ja) * 1999-09-29 2006-02-01 コニカミノルタホールディングス株式会社 画像処理方法および画像処理装置
JP4270035B2 (ja) * 2004-06-15 2009-05-27 富士ゼロックス株式会社 画像処理装置
JP5533109B2 (ja) * 2010-03-24 2014-06-25 セイコーエプソン株式会社 画像表示装置、プロジェクター、および、画像表示装置におけるデータの取得方法

Also Published As

Publication number Publication date
JP2014071625A (ja) 2014-04-21

Similar Documents

Publication Publication Date Title
US8937753B2 (en) Image scanning apparatus, image compensation method and computer-readable recording medium
JP5994538B2 (ja) 画像処理装置
JP6452577B2 (ja) 画像形成装置
US9609173B2 (en) Memory control circuit and image forming apparatus
JP6631272B2 (ja) 画像処理装置及びプログラム
JP2015228592A (ja) 画像処理装置、および、コンピュータプログラム
JP2015012467A (ja) 画像読取装置
JP2016163097A (ja) 画像処理装置、および、コンピュータプログラム
JP2011166591A (ja) 画像形成装置及び画像形成プログラム
JP2017063332A (ja) 画像形成装置及び画像形成方法
JP2005086598A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理回路
US20190394356A1 (en) Image processing device
US11032439B2 (en) Image processing apparatus
US10567616B2 (en) Image processing apparatus
JP2018042212A (ja) 画像処理装置
US20120081748A1 (en) Image processing apparatus and image processing method
JP2016178367A (ja) 画像処理装置、および、コンピュータプログラム
CN110198842B (zh) 基于直接存储器访问的硬件偏斜校正
JP2024086105A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2016072780A (ja) 画像処理装置
JP6282568B2 (ja) 画像読取装置及び画像読取方法
JP2012080464A (ja) 画像処理装置、画像形成装置、及び画像処理プログラム
JP6621582B2 (ja) 表示ムラ補正装置
JP5675867B2 (ja) 画像形成装置
KR20230165584A (ko) 영상 왜곡 보정 장치 및 방법

Legal Events

Date Code Title Description
RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20140409

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160726

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160808

R150 Certificate of patent or registration of utility model

Ref document number: 5994538

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150