説明

画像処理装置及び方法

【課題】遅延メモリの省容量化を実現しつつ、局所画像処理の回路規模の削減と、処理の高速化を図る。
【解決手段】画像データを複数のバンド領域に分割して処理する画像処理装置は、バンド領域の第1の方向に連続するN画素(N≧2)からなる画素群の読出処理を、前記第1の方向と直交する第2の方向へ順次に行うことにより、バンド領域を走査する。シフトレジスタは、この読出処理に応じて、第2の方向に連続する予め定められた数の画素群の画素データを順次に保持する。また、読出処理毎に、シフトレジスタから消去される画素データのうちの後に利用される画素データで、遅延メモリに保持されている不要になった画素データを置換することにより遅延メモリの内容を更新する。そして、読出処理毎に、新たに読み込まれた画素群を含む予め定められたサイズの処理対象領域の画素データをシフトレジスタと遅延メモリを用いて、画像処理部に提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理方法、画像処理装置、コンピュータプログラムに関し、特に、空間フィルタ処理などの局所(近傍)画像処理を行なう場合に用いて好適なメモリ制御に関するものである。
【背景技術】
【0002】
従来から、画像形成を行って出力するに際し、空間フィルタ処理などの局所(近傍)画像処理が行なわれている。この局所画像処理は、処理対象となる画素(以下、処理画素と略称する)を含む空間フィルタ領域に含まれるすべての画素を用いて何らかの演算を行なう画像処理のことである。
【0003】
例えば、図3のデジタル画像データ300に対してエッジ強調処理やぼかし処理といった空間フィルタ処理が施される。このような局所画像処理の従来技術として、デジタル画像データを領域ごとに分割し、別々の領域ごとに局所画像処理を行なうという技術がある(特許文献1〜4を参照)。一般に、かかる技術では、図3の(a)〜(d)に示されるように、1枚のデジタル画像データ全体が帯状(短冊状)に分割され、逐次的に領域毎に各種の画像処理が行なわれる。
【0004】
この分割された細長い領域をバンド領域と呼び、バンド領域が展開される記憶領域をバンドメモリと呼び、画像を分割する行為をバンド分割と呼ぶ。バンドメモリは、メインメモリ内に記憶領域として確保されると決まっているわけではなく、システム上のどの記憶領域に確保してもよいが、ここでは、説明を簡潔にするためにバンドメモリをメインメモリ内に確保する場合を例に挙げて説明する。
【0005】
また、デジタル画像データの座標系(主走査方向−副走査方向)は、図3の(e)に示すように、長さ方向、高さ方向という新たな座標系(バンド領域座標系)を定義し、バンド領域を長さ×高さで表現する。また、バンド領域の長さは、必ずデジタル画像データの主走査方向の幅、もしくは副走査方向の高さの何れかの値となり、バンドの高さは任意の値となる。
【0006】
バンド処理についてもう少し詳しく説明する。まず、図3の(a)に示す第1のバンド領域301を、メインメモリ上のバンドメモリに展開して画像処理を行なう。次に、図3の(b)に示す第2のバンド領域302を第1のバンド領域301が展開されたバンドメモリに上書き展開して画像処理を行なう。さらに、図3の(c)に示す第3のバンド領域303を第2のバンド領域302が展開されたバンドメモリに上書き展開して画像処理を行なう。最後に、図3の(d)に示す第4のバンド領域304を第3のバンド領域303が展開されたバンドメモリに上書き展開して画像処理を行なう。図3の(a)〜(d)で明らかなように、バンド領域301〜304の長さは同じであるが、高さは同じである必要性は無い。メインメモリに確保される記憶領域であるところのバンドメモリの高さは、高さ方向のサイズが最も大きいバンド領域(図3の場合、第1〜第3のバンド領域301〜303)によって決定される。
【0007】
かかる技術では、各バンド領域間で隙間なく局所画像処理を行なうために、各バンド領域が、夫々隣接する領域との境界で一部分が互いに重なり合うように工夫している。また、特許文献4では、各バンド領域の高さと同一の方向に一画素ずつ画素を走査することで、局所画像処理に必要な処理画素を保持する遅延メモリの容量を各バンド領域の高さの大きさで規定することで、この遅延メモリの省メモリ化を実現している。
【特許文献1】米国特許第6,587,158号明細書
【特許文献2】特開2000−312327号公報
【特許文献3】特許第3733826号明細書
【特許文献4】特開2006−139606号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
近年、機器の差別化を目的とした高画質化を実現するために、デジタル画像データの解像度は増大しており、画像処理におけるデータ処理量もそれに応じて増大している。そのため画像処理のデータ処理量が増加しても回路規模を大きくしない画像処理手法が必要である。また画像処理のデータ処理量が増加しても、ユーザが機器を操作したときの操作感覚を最良に保つためには、画像処理の実行時間を長くすることはできず、デジタル画像データの解像度の増加に応じて画像処理を高速化する手法も求められている。
【0009】
しかしながら従来技術では、局所画像処理を行なうに際し、バンド領域の高さ方向に1画素ずつ走査することを規定し、遅延メモリの省容量化について言及するが、走査処理の効率を向上して画像処理を高速化するという観点からの検討はない。
【0010】
本発明は、上述した課題に鑑みてなされたもので、遅延メモリの省容量化を実現しつつ、局所画像処理の回路規模の削減と、処理の高速化を図ることを目的とする。
【課題を解決するための手段】
【0011】
上記の課題を解決するための本発明の一態様による画像処理方法は、
画像データを処理する画像処理方法であって、
前記画像データが表す画像の第1の方向に連続するN画素からなる画素群の読出処理を、前記第1の方向と直交する第2の方向へ順次に行うことにより、前記画像を走査する走査工程と、ここで、Nは2以上の整数であり、
前記読出処理に応じて、前記第2の方向に連続する予め定められた数の画素群の画素データをシフトレジスタに保持する保持工程と、
前記読出処理毎に、前記シフトレジスタから消去される画素データのうちの後に利用される画素データで、遅延メモリに保持されている不要になった画素データを置換することにより前記遅延メモリの内容を更新する更新工程と、
前記シフトレジスタと前記遅延メモリに保持されている画素データを用いて、前記読出処理毎に、新たに読み込まれた画素群を含む予め定められたサイズの領域の画素データを画像処理部に提供する提供工程とを備える。
【0012】
また、上記の課題を解決するための本発明の他の態様による画像処理装置は以下の構成を備える。すなわち、
画像データを処理する画像処理装置であって、
前記画像データが表す画像の第1の方向に連続するN画素からなる画素群の読出処理を、前記第1の方向と直交する第2の方向へ順次に行うことにより、前記画像を走査する走査手段と、ここで、Nは2以上の整数であり、
前記読出処理に応じて、前記第2の方向に連続する予め定められた数の画素群の画素データを保持するシフトレジスタと、
前記読出処理毎に、前記シフトレジスタから消去される画素データのうちの後に利用される画素データで、遅延メモリに保持されている不要になった画素データを置換することにより前記遅延メモリの内容を更新する更新手段と、
前記シフトレジスタと前記遅延メモリに保持されている画素データを用いて、前記読出処理毎に、新たに読み込まれた画素群を含む予め定められたサイズの領域の画素データを画像処理部に提供する提供手段とを備える。
【発明の効果】
【0013】
本発明によれば、遅延メモリの省容量化を実現しつつ、局所画像処理の回路規模の削減と、処理の高速化を達成される。
【発明を実施するための最良の形態】
【0014】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【0015】
(第1実施形態)
図1は、第1実施形態による画像処理装置の全体構成の一例を示すブロック図である。図1において、画像読み取り部120は、レンズ122、CCDセンサ124、及びアナログ信号処理部126等を有する。画像読み取り部120において、レンズ122を介しCCDセンサ124に結像された原稿100の画像情報が、CCDセンサ124によりR(Red),G(Green),B(Blue)のアナログ電気信号に変換される。
【0016】
アナログ電気信号に変換された画像情報は、アナログ信号処理部126に入力され、R,G,Bの各色毎に補正等が行われた後にアナログ/デジタル変換(A/D変換)される。こうして、デジタル化されたフルカラー信号(以下、デジタル画像信号という)が生成される。生成されたデジタル画像信号は、画像処理部130に入力される。画像処理部130は、デジタル画像信号に対し、後述する入力補正処理、空間フィルタ処理、色空間変換、濃度補正処理、及び中間調処理を施し、これらの処理が施された後のデジタル画像信号をプリンタ部140へ出力する。プリンタ部140は、たとえば、インクジェットヘッドやサーマルヘッド等を使用したラスタプロッタ等の印刷出力部(図示せず)を備えて構成され、入力されたデジタル画像信号により紙上に画像を記録する。
【0017】
また、CPU回路部110は、演算制御用のCPU112、固定データやプログラムを格納するROM114、データの一時保存やプログラムのロードに使用されるRAM116、及び外部記憶装置118等を備える。CPU回路部110は、画像読み取り部120、画像処理部130、及びプリンタ部140等を制御し、本実施形態の画像処理装置のシーケンスを統括的に制御する。
【0018】
外部記憶装置118は、本実施形態の画像処理装置が使用するパラメータやプログラムを記憶するディスク等の記憶媒体であり、RAM116のデータやプログラム等は、外部記憶装置118からロードされる構成としても構わない。
【0019】
次に、図1の画像処理部130について詳細に説明する。図2は、本実施形態の画像処理部130が有する主要な回路構成であるところの画像処理コントローラ200の構成の一例を示すブロック図である。アナログ信号処理部126からデジタル画像信号がバス205を経由して画像処理コントローラ200に入力されると、以下に説明する画像処理が実行される。
【0020】
画像処理コントローラ200は、入力インターフェース210、入力補正回路220、空間フィルタ回路230、色空間変換回路240、濃度補正回路250、中間調処理回路260、及び出力インターフェース270を備える。以下、入力補正回路220、空間フィルタ回路230、色空間変換回路240、濃度補正回路250、及び中間調処理回路260について詳細に説明する。
【0021】
[入力補正回路220] 入力インターフェース210を経由して入力補正回路220に画像読み取り部120からのデジタル画像信号215が入力される。このデジタル画像信号215はR,G,Bの輝度信号で構成される。入力補正回路220は、原稿100を読み取るセンサの特性のばらつきや、原稿照明用ランプの配光特性を補正するための処理を入力したデジタル画像信号に対して行なう。
【0022】
[空間フィルタ回路230] 入力補正回路220から出力されたデジタル画像信号(輝度信号R,G,B)225は、空間フィルタ回路230に入力される。空間フィルタ回路230は、本実施形態の主な特徴部分に該当する回路であり、デジタル画像信号(輝度信号R,G,B)225に対し、平滑化やエッジ強調といった局所画像処理を行なう。
【0023】
[色空間変換回路240] 空間フィルタ回路230から出力されたデジタル画像信号(輝度信号R,G,B)235が、色空間変換回路240に入力される。色空間変換回路240は、デジタル画像信号235の輝度信号R,G,Bを、濃度信号C(Cyan),M(Magenta),Y(Yellow),K(Black)へ変換する。
【0024】
[濃度補正回路250] 色空間変換回路240から出力されたデジタル画像信号(濃度信号C,M,Y,K)245が、濃度補正回路250に入力される。濃度補正回路250は、デジタル画像信号(濃度信号C,M,Y,K)245に対し、濃度補正を行なう。濃度補正回路250は、後段の中間調処理回路260で2値化されたときに濃度変化が起きないように、中間調処理の特性を考慮して予め濃度補正を行なうものである。
【0025】
[中間調処理回路260] 濃度補正回路250から出力されるデジタル画像信号(濃度信号C,M,Y,K)255が中間調処理回路260に入力される。中間調処理回路260は、デジタル画像信号(濃度信号C,M,Y,K)255に対し、スクリーン処理が行なわれ、2値の中間調表現に変換される。
【0026】
こうして、2値デジタル画像信号(印字信号C,M,Y,K)265が出力インターフェース270とバス275とを経由してプリンタ部140に出力される。
【0027】
本実施形態では、バンド処理に特化した画像処理を行なうことで、遅延メモリの省容量化を実現する。また、複数画素を1つの処理単位とすることにより、画像処理装置の回路規模削減や高速化を実現する。このような目的を達成するために、本実施形態ではデジタル画像データの座標系(主走査方向−副走査方向)とは異なるバンド領域座標系で画像処理が行なわれる。
【0028】
図4は、本実施形態の画像処理方法によるバンド領域(バンドメモリ)からの画素データの読出動作(走査)の一例を説明する図である。図4の(a)、(b)において斜線で示している領域402は、図3に示したデジタル画像データ300から取り出されたバンド領域(例えばバンド領域301に対応する)である。
【0029】
まず、バンド領域402の左上端の画素からバンド領域の長さ方向に沿って一度に取り扱われる画素群430における画素数Nが設定される。なお、Nは2以上の整数であり、図4の例ではN=4画素である。以後の画像処理はこの画素群430を単位として実行される。バンド領域の長さ方向に沿った4画素に対して画像処理がなされ、バンド処理の高さ方向に1画素だけ走査される。そして、バンド領域402の下端の長さ方向に沿った4画素まで走査が進むと、再度バンド領域の上端の画素から上記走査処理が繰り返される。すなわち、バンド領域402の第1の方向としての長さ方向に沿った連続するN画素(4画素)を単位とした読出処理を、バンド領域402の第2の方向としての高さ方向への1画素ずつ、バンド領域402の下端まで繰り返される。このようなN画素からなる画素群の読出処理を順次に行うことにより、バンド領域402が走査される。なお、第1及び第2の方向は互いに直交し、第1の方向のサイズが第2の方向のサイズよりも大きくなるように設定される。このようなサイズの関係とすることで、遅延メモリの容量を低減することができる。また、入力画素群がN画素(N≧2)であるため、一般的な画像処理回路のようなデュアルポートメモリを使うことで、N並列の画像処理が可能となり、N倍の高速処理が実現できる。
【0030】
以上の一連の走査、画像処理をバンド領域の右下端の画素まで実行することにより、1つのバンド処理が終了する。このように、本実施形態では、バンド領域の長さ方向に対して前述の画素群の画素を逐次的に処理し、バンド領域の高さ方向に対して1画素ずつ移動していくが、特許文献1〜4では常に一方向に対して1画素単位に処理が行われ、1画素単位に走査されるのみである。
【0031】
図4の(a)に示す空間フィルタ領域410内の9つの画素は、処理対象画素群の画素であり、図6の(a)に示す9つの画素に対応する。図4の(a)は、図6の(a)の画素p(i+1,j+1)に相当する画素群430の1つの画素が、図5Aに示す空間フィルタ回路230に入力されて、空間フィルタ領域410内の9つの全画素が空間フィルタ回路230内に揃った状態を示している。
【0032】
本実施形態では、空間フィルタ回路230の処理画素の領域がバンド領域の長さ方向にfw[pixel]であり、バンド領域の高さ方向にfh[pixel]の範囲であるとする。すなわち、処理対象画素群の領域は、fw画素×fh画素で表現される。また、前述のバンド領域の長さ方向に対しての処理単位である画素群の画素数がN[pixel]と設定された場合、{(fw−1)+N}×fh[pixel]の画素が空間フィルタ回路230に保持される。図4の例では、{(3−1)+4}×3=18 [pixel]が空間フィルタ回路230においてフィルタ処理(積和演算器565)へ提供可能に保持されている。なお、以下では、説明のために便宜上、図4の(e)に示されるようにa〜rまでの記号で、空間フィルタ回路230において提供可能に保持される画素を表現する。
【0033】
具体的には、
・読出処理によりバンドメモリから入力された画素群430の処理画素o、p、q、rと、
・図5Aの、シフトレジスタとしての遅延レジスタ572に保持される図4の(a)の領域420の処理画素c、d、e、f、i、j、k、lと、
・図5Aの遅延メモリ575から読み出される処理画素a、b、g、h、m、nである。
【0034】
こうして、読出処理毎に、新たに読み込まれた画素群(o,p,q,r)を含む予め定められたサイズ(図4では、a〜rの6×3画素)の処理対象領域の画素データが、遅延レジスタ572と遅延メモリ575により、画像処理へ提供可能になる。本例では、読出処理によって取得された、連続するN個の画素で構成された画素群が、高さ方向にfh個だけ連続した、N×fh個の画素データが遅延レジスタ572によって保持される。
【0035】
以下に図5Aに示す空間フィルタ回路230のブロック図を参照して、空間フィルタ回路230の動作を説明する。
【0036】
まず、外部から画素群430の処理画素oが入力される。空間フィルタ回路230は、遅延回路570を介して遅延メモリ575にアクセスし、処理画素oと同一ラインに位置する図4の(b)の490に位置する処理画素mとnを読み出す。セレクタ550は、処理画素oを処理する以前に遅延メモリ575から既に読み出されている処理画素a、b、g、hと遅延レジスタにすでに保持されている処理画素cとiを選択する。こうして、セレクタ550により抽出された9つの処理画素(a、b、c、g、h、i、m、n、o)の画素値が積和演算器565に代入される。なお、図5Aでは、この選択の様子を太線で示している。
【0037】
また、図6の(b)に示すような加重マトリクスを記憶するための、図5Aに示される加重マトリクスレジスタ560から9つの加重値が積和演算器565に代入される。積和演算器565は、加重マトリクスレジスタ560からの9つの加重値と、上記の選択された9つ画素の画素値とを用いて所定の演算を行ない、処理画素に対するフィルタ演算結果590を出力する。この出力した値が、図4の(a)に示す処理画素hの画像処理結果となる。
【0038】
画素群430の処理画素o、p、q、rが逐次入力され、処理画素h、処理画素i、処理画素j、処理画素kの順に画像処理が実行される。図4の(c)と図5Bは、処理画素kに対する画像処理(空間フィルタ処理)を行っている状態を示している。図5Bでは、セレクタ550によって選択された9つの処理画素としてd、e、f、j、k、l、p、q、r)の画素値が積和演算器565に代入されており、この選択の様子が太線で示されている。最後に、図5Bに示す画像処理装置(空間フィルタ回路230)は、遅延回路570を介して遅延メモリ575にアクセスし、図4の(d)の495に位置する処理画素eとfを遅延メモリ575の処理画素aとbの領域に上書きする。こうして、画素aとbの画素値を消去すると共に画素eとfの画素値を記憶する。
【0039】
このような遅延回路570によるリング式FIFOの動作により、図4の(a)に示す遅延メモリ575に記憶される画素領域450a,bは、常に2ライン(空間フィルタ領域410の幅fhより1だけ小さいライン数)となる。なお、FIFOは、First-In First-Outの略である。上述の画素群の処理が進むにつれ、入力される画素群430は走査方向470(バンド領域の高さ方向)とは垂直な方向(バンド領域の長さ方向)に、同様に遅延メモリ575に記憶される画素領域450も走査方向470とは垂直な方向に遷移していくことになる。なお、図4の(a)では、遅延メモリ575に記憶される画素領域450a,bが遷移する方向を、遅延メモリの走査方向480として図示している。すなわち、図4の(a)、(b)では、遅延メモリ575に記憶される画素領域450aが450bへ遷移している様子が示されている。このように、遅延メモリ575に保持される画素領域は、前述の画素群の画素数であるN(=4)を単位に遅延メモリの走査方向480に遷移しており、この部分が特許文献1〜4には記載されていない特徴的な部分である。
【0040】
このとき重要なのは、遅延メモリ575に対するデータアクセスは、N個の画素群を処理するために読み込みと書き込みの2回ですむということである。すなわち、本実施形態の例では、4画素(N=4)からなる1つの画素群を処理するために、遅延メモリ575へはたった2回のアクセスが必要となるだけである。すなわち、画素m、nの読み出しと、画素e,fの書き込みの2回のアクセスが必要となるのみである(但し、本実施形態では、遅延メモリ575への1回のアクセスで読み出しもしくは書き込みがなされる1ワードのビット長が2画素分に対応しているものとする)。特許文献1〜4を含め、一般的な空間フィルタ回路では、1画素処理するために遅延メモリに対するデータアクセスは必ず2回発生する。そのため、一般的には、1クロックサイクルにつき1画素を処理する高速な空間フィルタ回路を実現するためには、1画素につき2回のデータアクセスを1クロックサイクルで実現する必要がある。よって、1基のデュアルポート(2ポート)メモリを使用する手法か、2基のシングルポート(1ポート)メモリを使用してインターリーブアクセスをする手法かの手段を講じる必要がある。従って、1基のシングルポート(1ポート)メモリを使用するのに比べ、メモリの回路規模が増大する。
【0041】
本実施形態では、2画素以上の画素群を単位に画像処理を行い、画素群を単位に遅延メモリにデータアクセスを行うため、データアクセスが1クロックサイクルに集中しないで良いということに着眼している。そして、その実現のために画素の走査方法を工夫している。
【0042】
また図2に示す一連の画像処理のうち、空間フィルタ処理以外の処理(入力補正、色空間変換、濃度補正、中間調処理)は局所画像処理ではないが、本実施形態のような処理画素の走査方法が用いられたとしても何ら問題は生じない。
【0043】
なお、上記実施形態の例とは逆に、バンド領域の高さ方向に画像処理の単位である画素群430を設定した場合を図9の(a)、(b)に示す。図9の(a)から理解できるように、画素群430を処理するために、遅延メモリ575から一度に読み出す必要のある画素領域490は、図4の(b)に示される画素領域490より、明らかに画素数が多い。これは遅延メモリ575から一度にデータアクセスするデータ量が多いことを示し、回路規模が増加する可能性が高いことを示している。
【0044】
また、本実施形態のようなバンド分割により逐次的に画像処理を行う方法では、図3に示すようにバンド領域の高さを画像の大きさに応じて変更する必要が生じる。すなわち、バンド領域の高さは固定ではなく、バンド領域304のようにバンド領域の高さ変化する可能性がある。図9の(b)から明らかなように、バンド領域の高さ方向に画素群を設定した場合、バンド領域の高さにうまく適合できない可能性が生じる。一方、図4に示した実施形態では、バンド領域の高さ方向に1画素ずつしか走査しないため、図9の(b)のような問題は起こり得ず、バンド分割により逐次的に画像処理を行う方法の利点でもある、柔軟なバンド高さの設定に非常に適していると言える。
【0045】
以上のように第1実施形態では、
・1枚のデジタル画像データ300を複数のバンド領域301〜304に分割して、各バンド領域301〜304を逐次的にバンドメモリに割り当て、
・バンド領域の長さ方向に画像処理の基本単位となるN個の連続する画素からなる画素群430として設定し、
・画素群430の読出処理を、バンド領域の長さ方向に対し垂直な方向(高さ方向)に1画素ずつ移動させ、
・読出処理に応じて、高さ方向に連続する、予め定められた数の画素群の画素データを遅延レジスタ572に保持し、
・読出処理毎に、遅延レジスタ572から消去される画素データのうちの後の画像処理に利用される画素データで、遅延メモリ575内の不要になった画素データを置換することにより遅延メモリ575の内容をリング式にデータ更新し、
・読出処理毎に、新たに読み込まれた画素群を含む予め定められたサイズの処理対象領域({fw-1}+N}×fh)の画素データを遅延レジスタ572と遅延メモリ575を用いて、画像処理に提供することで、画像処理を行うようにした。
【0046】
特に、バンド領域の高さと空間フィルタ領域401の幅fwから1を減じた値との積に依存する所定画素数分の容量のリング式にデータ更新される遅延メモリ575に走査した画素群の一部の画素を保持しながら画像処理を行なうようにした。一般的な画像処理回路では、遅延メモリはライン長×空間フィルタ領域の高さfhとの積もしくは、ライン長と空間フィルタ領域の高さfhから1を減算した値との積の容量になる。これに対して、本実施形態では、遅延メモリの容量は、バンド領域の高さと空間フィルタ領域401の幅fwから1を減じた値との積である。一般に、バンド領域の高さはバンド領域のライン長よりも小さいので、遅延メモリの容量が小さくなり回路規模が小規模となる。
【0047】
上述の画素の走査方向の工夫により、遅延メモリ575は前述の画素群の画素数であるNを単位に遅延メモリの走査方向480に遷移することとなる。その結果、遅延メモリ575に対するデータアクセス数は、前述した特許文献1〜4に示される従来技術では1画素につき2回となるが、本実施形態ではN個の画素(1つの画素群430)につき2回のデータアクセス数となる。そのため、遅延メモリに対する1画素あたりのデータアクセスの頻度が削減され、空間フィルタ回路230を高速化したとしても、遅延メモリ575を画素群を構成する画素間で共有化でき、回路規模の削減が可能である。
【0048】
なお、上記実施形態では、1枚の画像をバンド領域に分割して得られた画像データを処理する例を示したが、1枚の画像から得られる画像データを処理する場合にも適用可能であることはいうまでもない。
【0049】
(第2実施形態)
次に、本発明の第2実施形態について説明する。第2実施形態では、画素群の画素数Nを分散/並列処理しており、第1実施形態よりさらに高速な画像処理を可能とする。以下に説明する高速化の手法により、デジタル画像データの解像度の増加に合わせて画像処理の高速化が実現できる。したがって、第2実施形態の説明において、前述した第1実施形態と同一部分については、図1〜図6に付した符号と同一の符号を付すなどして詳細な説明を省略する。
【0050】
図7は、第1実施形態の図4の(e)に相当する画素領域、つまり空間フィルタ回路230に一時的に保持される処置対象画素の領域を示す。図7から分かるように、第2実施形態では、4画素を単位とする入力画素群に対して4パターンの空間フィルタ領域(9つの画素)を同時に抜き出すことが可能である。第2実施形態では、処理単位である画素群の画素数Nを分散/並列処理の並列度plとして考える。そして、上記画素領域を保持するレジスタから画素数N(=pl)個分の9つの画素を取得し、図8に示すように画素数N(=pl)個の積和演算器565を接続することで容易に空間フィルタ回路230の分散/並列処理が可能となる。
【0051】
1つの積和演算器565が1クロックサイクルに1画素を処理できる回路の場合、図8に示す空間フィルタ回路230では、1クロックサイクルにN(=pl)画素を処理することが可能である。よって、第1実施形態の空間フィルタ回路230のN(=pl)倍の処理性能が得られる。
【0052】
ただし、第2実施形態の場合、画素数Nの画素群につき遅延メモリ575に対するデータアクセス回数は第1実施形態と同様に2回であるが、処理を高速化したため1クロックサイクルにつきこの2回のデータアクセスを実現しなければならない。そのため第1実施形態では、4クロックサイクルに2回のデータアクセスであり、1基のシングルポート(1ポート)メモリで構成できたが、第2実施形態ではそのようなわけにはいかない。すなわち、第2実施形態では、1基のデュアルポート(2ポート)メモリを使用する手法か、2基のシングルポート(1ポート)メモリを使用してインターリーブアクセスをする手法かの手段を講じる必要がある。しかしながら、画素数N(=pl)を分散/並列処理してN(=pl)倍に高速化しても、遅延メモリは前述の特許文献2〜4の1画素ずつ走査する画像処理方法と同様であり、大きな問題とは言えない。
【0053】
以上説明したように、第2実施形態の画像処理方法を採用すれば、例えデジタル画像データ300の解像度が増加しても、分散/並列処理により画像処理を高速化することが可能である。すなわち、図3に示すようにバンド処理の高さ方向に柔軟にバンド領域301から304をバンド分割し、並列度plである画素数Nを画素群として設定し、画素数N(=pl)ずつ分散/並列処理して画像処理を高速化することが可能である。
【0054】
尚、第1実施形態と第2実施形態を組み合わせて、例えば画素数N=4画素のうち並列度pl=2として画像処理できることは当業者には明らかである。
【0055】
以上説明したように、上記各実施形態によれば、画像処理するために必要な遅延メモリの容量をバンド領域の高さに依存させているので、メモリの省容量化が実現される。また、設定したN個の画素群によりこのメモリが共有されることになるので、1画素あたりのデータアクセス数が削減される。
【0056】
これにより、局所(近傍)画像処理を行なうに際し、画像処理を前記逐次的に行う場合は、回路規模の削減を実現し、画像処理を前記並列的に行う場合は、処理の高速化を実現できる。
【0057】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0058】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【0059】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0060】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0061】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
【0062】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0063】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【0064】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【0065】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【0066】
【図1】本発明の第1の実施形態を示し、画像処理装置の全体構成の一例を示すブロック図である。
【図2】本発明の第1の実施形態を示し、画像処理部の回路構成の一例を示すブロック図である。
【図3】本発明の第1の実施形態を示し、バンド処理の動作の一例を説明する図である。
【図4】本発明の第1の実施形態を示し、画像処理方法の一例を説明する図である。
【図5A】本発明の第1の実施形態を示し、画像処理装置(空間フィルタ回路)の構成の一例を示す図である。
【図5B】本発明の第1の実施形態を示し、画像処理装置(空間フィルタ回路)の構成の一例を示す図である。
【図6】本発明の第1の実施形態を示し、空間フィルタ領域の一例を示す図である。
【図7】本発明の第2の実施形態を示し、画像処理方法の一例を説明する図である。
【図8】本発明の第2の実施形態を示し、画像処理装置(空間フィルタ回路)の構成の一例を示す図である。
【図9】本発明とは異なる画像処理方法の一例を説明する図である。

【特許請求の範囲】
【請求項1】
画像データを処理する画像処理方法であって、
前記画像データが表す画像の第1の方向に連続するN画素からなる画素群の読出処理を、前記第1の方向と直交する第2の方向へ順次に行うことにより、前記画像を走査する走査工程と、ここで、Nは2以上の整数であり、
前記読出処理に応じて、前記第2の方向に連続する予め定められた数の画素群の画素データをシフトレジスタに保持する保持工程と、
前記読出処理毎に、前記シフトレジスタから消去される画素データのうちの後に利用される画素データで、遅延メモリに保持されている不要になった画素データを置換することにより前記遅延メモリの内容を更新する更新工程と、
前記シフトレジスタと前記遅延メモリに保持されている画素データを用いて、前記読出処理毎に、新たに読み込まれた画素群を含む予め定められたサイズの領域の画素データを画像処理部に提供する提供工程とを備えることを特徴とする画像処理方法。
【請求項2】
前記画像処理部は、前記第1の方向にfw画素、前記第2の方向にfh画素のサイズの処理対象画素群を処理し、
前記提供工程では、前記読出処理毎に、前記第1の方向に{(fw−1)+N}個、前記第2の方向にfh個の画素からなる領域の画素データから処理対象画素群を選択して前記画像処理部に提供することを特徴とする請求項1に記載の画像処理方法。
【請求項3】
前記提供工程では、前記領域からN個の処理対象画素群を順次に選択して、前記画像処理部に提供することを特徴とする請求項2に記載の画像処理方法。
【請求項4】
前記提供工程では、前記領域から取得されるN個の処理対象画素群を同時に取得し、N個の画像処理部へ同時に提供することを特徴とする請求項2に記載の画像処理方法。
【請求項5】
前記画像が、画像データを複数のバンド領域に分割して得られた画像であることを特徴とする請求項1乃至4のいずれか1項に記載の画像処理方法。
【請求項6】
前記画像の前記第1の方向の画素数が、前記画像の前記第2の方向の画素数よりも多いことを特徴とする請求項1乃至5のいずれか1項に記載の画像処理方法。
【請求項7】
画像データを処理する画像処理装置であって、
前記画像データが表す画像の第1の方向に連続するN画素からなる画素群の読出処理を、前記第1の方向と直交する第2の方向へ順次に行うことにより、前記画像を走査する走査手段と、ここで、Nは2以上の整数であり、
前記読出処理に応じて、前記第2の方向に連続する予め定められた数の画素群の画素データを保持するシフトレジスタと、
前記読出処理毎に、前記シフトレジスタから消去される画素データのうちの後に利用される画素データで、遅延メモリに保持されている不要になった画素データを置換することにより前記遅延メモリの内容を更新する更新手段と、
前記シフトレジスタと前記遅延メモリに保持されている画素データを用いて、前記読出処理毎に、新たに読み込まれた画素群を含む予め定められたサイズの領域の画素データを画像処理部に提供する提供手段とを備えることを特徴とする画像処理装置。
【請求項8】
前記画像処理部は、前記第1の方向にfw画素、前記第2の方向にfh画素のサイズの処理対象画素群を処理し、
前記提供手段は、前記読出処理毎に、前記第1の方向に{(fw−1)+N}個、前記第2の方向にfh個の画素からなる領域の画素データから処理対象画素群を選択して前記画像処理部に提供することを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記提供手段は、前記領域からN個の処理対象画素群を順次に選択して、前記画像処理部に提供することを特徴とする請求項8に記載の画像処理装置。
【請求項10】
前記提供手段は、前記領域から取得されるN個の処理対象画素群を同時に取得し、N個の画像処理部へ同時に提供することを特徴とする請求項8に記載の画像処理装置。
【請求項11】
前記画像が、画像データを複数のバンド領域に分割して得られた画像であることを特徴とする請求項7乃至10のいずれか1項に記載の画像処理装置。
【請求項12】
前記画像の前記第1の方向の画素数が、前記画像の前記第2の方向の画素数よりも多いことを特徴とする請求項7乃至11のいずれか1項に記載の画像処理装置。
【請求項13】
請求項1乃至6のいずれか1項に記載の画像処理方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項14】
請求項1乃至6のいずれか1項に記載の画像処理方法をコンピュータに実行させるためのコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−37348(P2009−37348A)
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願番号】特願2007−199896(P2007−199896)
【出願日】平成19年7月31日(2007.7.31)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】