JP6057655B2 - 画像処理装置、画像処理方法及びプログラム - Google Patents

画像処理装置、画像処理方法及びプログラム Download PDF

Info

Publication number
JP6057655B2
JP6057655B2 JP2012225192A JP2012225192A JP6057655B2 JP 6057655 B2 JP6057655 B2 JP 6057655B2 JP 2012225192 A JP2012225192 A JP 2012225192A JP 2012225192 A JP2012225192 A JP 2012225192A JP 6057655 B2 JP6057655 B2 JP 6057655B2
Authority
JP
Japan
Prior art keywords
area
spatial filter
block
intermediate data
processing
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
JP2012225192A
Other languages
English (en)
Other versions
JP2014078114A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012225192A priority Critical patent/JP6057655B2/ja
Publication of JP2014078114A publication Critical patent/JP2014078114A/ja
Application granted granted Critical
Publication of JP6057655B2 publication Critical patent/JP6057655B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)

Description

本発明は、画像データ分割することにより得られる各バンド領域に対して空間フィルタ処理を実行する技術に関するものである。
従来から、画像形成を行って画像データを出力するに際し、空間フィルタ処理等の局所(近傍)画像処理が行われている。この局所画像処理は、処理対象の領域に含まれる画素を用いて何らかの演算を行う画像処理であり、例えば、エッジ強調処理やぼかし処理といった空間フィルタ処理が挙げられる。
このような局所画像処理は、画像データを副走査方向に短冊状に分割して得られるバンド領域にも適用することができる。バンド領域に対して画像処理を適用する場合、バンド領域の高さを任意に設定することができるため、画像データの解像度に関わらず少ないメモリ容量で画像処理を行うことが可能となる。
一方で、バンド領域に対して空間フィルタ処理を適用すると処理後のバンド領域は、入力に用いたバンド領域より小さくなる。
そのため、バンド領域に対して空間フィルタ処理を適用する際には、バンド領域の上端及び下端に隣接する画素をオーバーラップ領域としてバンド領域に付加したデータに対して空間フィルタ処理を適用する(特許文献1)。これにより、各バンド領域の処理結果を1枚の画像として結合させた時、結合部に連続性を持たせる事が出来る。
ここで、バンド領域に対して出力画像データが小さくなるような画像処理を複数回適用する場合、オーバーラップ領域をより広く設定する必要がある。しかしながら、メモリから画像処理部に対して画像データを転送するような構成においては、オーバーラップ領域が増加する分、画像データの転送にかかる時間が増加してしまう。
このような課題に対し、特許文献2ではオーバーラップ領域を保持しておくメモリを画像処理部内に搭載しておき、画像処理を実行する際に必要なオーバーラップ領域を画像処理部内のメモリから取得することでオーバーラップ領域の転送に要する時間を低減している。
特願2009−240636号公報 特願2009−113615号公報
しかしながら、特許文献2に開示される技術では、画像処理部で処理対象となる画像データとこれに付加されるオーバーラップ領域とを保持しておくメモリが局所画像処理毎に必要となり、メモリ容量の増大につながっていた。
そこで、本発明の目的は、画像データを分割して得られるバンド領域に対して空間フィルタ処理を施す際に要する画像データの転送量とメモリ容量とを低減させることにある。
本発明の画像処理装置は、画像データを副走査方向に分割することにより得られる各バンド領域に対して空間フィルタ処理を施す空間フィルタ回路を有する画像処理装置であって、前記空間フィルタ回路は、中間データバッファと、ブロックデータバッファと、を有し、前記空間フィルタ回路は、前記バンド領域を分割することにより得られる複数のブロック領域から第1のブロック領域を取得する取得機能と、前記複数のブロック領域のうちの第1のブロック領域の一部を第2のブロック領域に対する空間フィルタ処理の際に使用される第1の中間データとして前記中間データバッファの第1の領域に保持し、前記第1のブロック領域に対する空間フィルタ処理により生成された空間フィルタ処理結果の一部を前記第2のブロック領域に対する空間フィルタ処理の際に使用される第2の中間データとして前記中間データバッファの第2の領域に保持する保機能と、前記中間データバッファの第1の領域において保持される前記第1の中間データを、前記第2のブロック領域に付加して空間フィルタ処理を実行し前記ブロックデータバッファの第1の領域に前記空間フィルタ処理の結果を記憶し、前記中間データバッファの第2の領域において保持される前記第2の中間データを、記ブロックデータバッファの前記第1の領域に記憶されている前記空間フィルタ処理結果に付加して空間フィルタ処理を実行し、前記ブロックデータバッファの第2の領域に前記空間フィルタ処理の結果を記憶する処理機能を有し、前記保持機能は、前記中間データバッファの第1の領域、前記中間データバッファの第2の領域に対して上書きしながら順次、次のブロック領域に対する空間フィルタ処理のため、中間データを保持することを特徴とする。
本発明によれば、画像データを分割して得られるバンド領域に対して空間フィルタ処理を施す際に要する画像データの転送量とメモリ容量とを低減させることが可能となる。
本発明の実施形態に係る画像処理装置の構成を示す図である。 画像処理部の主要な回路構成である画像処理コントローラの構成を示す図である。 画像データを分割してバンド領域を生成する処理を説明するための図である。 バンド領域を長さ方向に分割してバンド領域を生成する処理を説明するための図である。 長さ方向に単純に分割して得られるブロック領域に空間フィルタ処理を実行した場合の出力画像データを説明するための図である。 第1の実施形態における空間フィルタ回路の詳細な構成を示す図である。 初期化工程領域に対する初期化工程について説明するための図である。 初期化工程の流れを示すフローチャートである。 初期化工程における中間データバッファ及びブロックデータバッファの状態を説明するための図である。 処理工程領域に対する処理工程について説明するための図である。 処理工程の流れを示すフローチャートである。 処理工程における中間データバッファ及びブロックデータバッファの状態を説明するための図である。 空間フィルタ処理の流れを示すフローチャートである。 空間フィルタ処理領域の設定方法について3×3画素の空間フィルタ処理を行う場合を例に挙げて説明するための図である。 空間フィルタ処理結果を保持する処理を説明するための図である。 中間データバッファに格納されている中間データを更新する処理を説明するための図である。 空間フィルタ処理の対象となる領域の長さがfw画素より大きい場合、又は、高さがfh画素より大きい場合の空間フィルタ処理の例を示す図である。 第2の実施形態における空間フィルタ回路の詳細な構成を示す図である。 中間データバッファ及びブロックデータバッファ内の記録領域を示す図である。
以下、本発明を適用した実施形態を、添付図面を参照しながら説明する。
先ず、本発明の第1の実施形態について説明する。図1は、第1の実施形態に係る画像処理装置100の構成を示す図である。図1に示すように、第1の実施形態に係る画像処理装置100は、CPU回路部110、画像読み取り部120、画像処理部130及びプリンタ部140を備える。
画像読み取り部120は、レンズ122、CCDセンサ124及びアナログ信号処理部126を備える。CCDセンサ124は、レンズ122を介して原稿150の光学像が結像され、R(Red)、G(Green)及びB(Blue)のアナログ電気信号に変換する。
CCDセンサ124から出力された上記アナログ電気信号である画像情報は、アナログ信号処理部126に入力され、R、G及びBの色毎に補正処理等が行われた後にアナログ/デジタル変換(A/D変換)される。これにより、デジタル化されたフルカラー信号(以下、画像データと称す)が生成される。画像読み取り部120により生成された画像データは、画像処理部130に入力される。画像処理部130は、入力した画像データに対し、後述する入力補正処理、空間フィルタ処理、色空間変換、濃度補正処理及び中間調処理を施した後、プリンタ部140に出力する。プリンタ部140は、例えば、インクジェットヘッドやサーマルヘッド等を使用したラスタプロッタ等の印刷出力部(図示せず)を備えており、入力された画像データに基づいて紙上に画像を記録する。
CPU回路部110は、演算制御用のCPU112、固定データやプログラムを格納するROM114、データの一時保存やプログラムのロードに使用されるRAM116、及び、外部記憶装置118を備える。CPU回路部110は、画像読み取り部120、画像処理部130及びプリンタ部140を制御し、画像処理装置100のシーケンスを統括的に制御する。外部記憶装置118は、画像処理装置100の処理を制御するためのパラメータやプログラムを記憶するディスク等の記憶媒体であり、RAM116に一時保存されるデータやプログラム等は、外部記憶装置118からロードされる構成としてもよい。
図2は、図1に示す画像処理部130の主要な回路構成である画像処理コントローラ200の構成を示す図である。図2に示すように、画像処理コントローラ200は、入力インタフェース210、入力補正回路220、空間フィルタ回路230、色空間変換回路240、濃度補正回路250、中間調処理回路260及び出力インタフェース270を備える。
入力インタフェース210は、バス205を介してアナログ信号処理部126から画像データを入力する。入力補正回路220は、入力インタフェース210から画像データ215を入力する。なお、画像データ215は、輝度信号R、G、Bで構成されるデータである。入力補正回路220は、原稿150を読み取るセンサの特性のばらつきや原稿照明用ランプの配光特性を補正するための処理を、画像データ215に対して行う。
空間フィルタ回路230は、入力補正回路220から画像データ(輝度信号R、G、B)225を入力する。そして、空間フィルタ回路230は、入力した画像データ225に対して、平滑化やエッジ強調といった局所画像処理を複数回行う。
色空間変換回路240は、空間フィルタ回路230から画像データ(輝度信号R、G、B)235を入力する。そして、色空間変換回路240は、画像データ(輝度信号R、G、B)235を、濃度信号C(Cyan)、M(Magenta)、Y(Yellow)、K(Black)で構成される画像データに変換する。
濃度補正回路250は、色空間変換回路240から画像データ(濃度信号C、M、Y、K)245を入力する。そして、濃度補正回路250は、画像データ(濃度信号C、M、Y、K)245に対して濃度補正を行う。即ち、濃度補正回路250は、後段の中間調処理回路260で2値化されたときに濃度変化が起きないように、中間調処理の特性を考慮して予め濃度補正を行うものである。
中間調処理回路260は、濃度補正回路250から画像データ(濃度信号C、M、Y、K)255を入力する。そして、中間調処理回路260は、画像データ(濃度信号C、M、Y、K)255に対してスクリーン処理を行い、2値の中間調表現に変換する。これにより、2値の画像データ(印字信号C、M、Y、K)265が出力インタフェース270及びバス275を経由してプリンタ部140に出力される。
本実施形態では、1枚の画像データを複数のバンド(帯状)領域に分割し、各バンド領域を逐次的にバンドメモリに割り当てる。以下、この処理について説明する。
家庭用プリンタのような低コストの機器では、システムのメインメモリ(図1のRAM116に相当)の容量が小さく、1枚の画像データ全体をメインメモリに記憶できない場合が多い。そのため、図3(a)〜(d)に示すように、1枚の画像データ300全体を帯状(短冊状)に分割して、逐次的にその領域のみメインメモリに展開して各種の画像処理を行うことが一般的である。
以下では、この分割された細長い領域をバンド領域と称し、バンド領域が展開される記憶領域をバンドメモリと称し、バンド領域に分割する処理をバンド分割と称す。バンドメモリは、メインメモリ内に確保されると決まっているわけではなく、システム上のどの記憶領域に確保してもよいが、本実施形態では、説明を簡潔にするためにバンドメモリをメインメモリであるRAM116内に確保する場合を例に挙げて説明する。
本実施形態では、分割される前の画像データの座標系として、主走査方向及び副走査方向を定義し、分割された後のバンド領域の座標系として、長さ方向及び高さ方向を定義し、バンド領域を長さ×高さで表現する。バンド領域の長さは、必ず画像データの主走査方向の長さ及び副走査方向の高さの何れかの値となり、バンド領域の高さは任意の値となる。
先ず、画像処理部130は、図3(a)に示す第1のバンド領域301を、RAM116上のバンドメモリに展開させて画像処理を行う。次に、画像処理部130は、図3(b)に示す第2のバンド領域302を、第1のバンド領域301が展開されたバンドメモリに上書き展開して画像処理を行う。次に、画像処理部130は、図3(c)に示す第3のバンド領域303を、第2のバンド領域302が展開されたバンドメモリに上書き展開して画像処理を行う。最後に、画像処理部130は、図3(d)に示す第4のバンド領域304を、第3のバンド領域303が展開されたバンドメモリに上書き展開して画像処理を行う。
図3(a)〜(d)に示すように、バンド領域301〜304の長さは同じであるが、高さは同じである必要性はない。また、RAM116上におけるバンドメモリは、最も大きいバンド領域(図3の場合、第1〜第3のバンド領域301〜303)に応じて決定される。
上述したように、RAM116内のバンドメモリは1つの記憶領域に限定されるわけではない。例えば2つのバンドメモリA、BをRAM116内に確保してもよい。このようにした場合、先ず、画像処理部130は、第1のバンドメモリAに第1のバンド領域301を展開して第1の画像処理を行う。次に、画像処理部130は、第1のバンド領域301を第1のバンドメモリAから第2のバンドメモリBに移し、第1のバンドメモリAに第2のバンド領域302を展開させる。次に、画像処理部130は、第1のバンド領域301に対して第2の画像処理を行いながら、並列に第2のバンド領域302に対して第1の画像処理を行う。このように、バンド領域単位に画像データを分割して画像処理を行うことにより、パイプライン的な画像処理が可能となる。
バンド領域に対する画像処理は、RAM116から画像処理部130に対してバンド領域が投入され、バンド領域に含まれる画素データに対して各種画像処理が実行されることで完了する。しかし、RAM116から画像処理部130へのデータ転送には、少なくとも数サイクル必要となる。そのため、画素データの送信毎に数サイクル必要となると、バンド領域全体を処理するのにかかる時間が大幅に増加してしまう。そこで、画像処理部130にバンド領域の一部を記憶させておき、画像処理部130は、記憶しているバンド領域に対して各種画像処理を実行していく。これにより、データ転送にかかるレイテンシを低減する。本実施形態では、図4に示すように、第1のバンド領域410を長さ方向にM個に分割して得られる各ブロック領域411〜41Mを画像処理部130に記憶させながら、各種画像処理を実行していく。
次に、画像処理部130に記憶されたブロック領域に対する画像処理について説明する。画像処理部130は、記憶されたブロック領域に対して、入力補正回路220、空間フィルタ回路230、色空間変換回路240、濃度補正回路250及び中間調処理回路260における各処理を実行して、一連の画像処理を終える。このうち、入力補正回路220、色空間変換回路240、濃度補正回路250及び中間調処理回路260では、入力画像データと出力画像データとの画素数は同じである。一方、空間フィルタ回路230では、ブロック領域に対して空間フィルタ処理を複数回適用するため、入力画像データに対して出力画像データの長さ及び高さが小さくなる。従って、空間フィルタ回路230には、出力結果が得られるよう十分な画素数を持つブロック領域を入力として与える必要がある。
ここで、バンド領域を分割する際、図4に示すように、長さ方向に単純に分割して得られたブロック領域410〜41Mに空間フィルタ処理を実行すると、出力画像データが入力したブロック領域より小さくなる。このため、図5に示すように、各ブロック領域の処理結果511〜51Mが連続的に並ばず、バンド領域全体に対する出力結果が正しく得られない。そこで、特許文献1に開示されるように、処理対象のブロック領域に隣接するブロック領域の一部をオーバーラップ領域として付加して空間フィルタ処理を実行することにより、出力画像データを連続的に並べることを可能にする手法がある。しかし、オーバーラップ領域を付加すると、RAM116と画像処理部130との間で、処理対象のブロック領域に加えてオーバーラップ領域も転送することになり、画像データの通信にかかる時間が増加する。さらに、画像処理部130にオーバーラップ領域を保持するためのメモリ容量を追加する必要があり、回路規模も増大する。特に、空間フィルタ回路230において各ブロック領域に対して実行される空間フィルタ処理回数が増えると、オーバーラップ領域が増えるため、この問題が顕著に表れてくる。以下、これらの課題を解決する、本実施形態における空間フィルタ回路230の構成について詳細に説明する。
空間フィルタ回路230は、各ブロック領域に対して空間フィルタ処理を複数回適用する。以下では、説明を簡略化するため、3×3画素の空間フィルタ処理を3回行う場合について説明するが、本発明に適用可能な処理回数及び処理内容を限定するものではない。
図6は、空間フィルタ回路230の詳細な構成を示す図である。図6に示すように、空間フィルタ回路230は、制御部610、中間データバッファ620、ブロックデータバッファ630及び空間フィルタ演算部640を備える。以下、図6を参照しながら、空間フィルタ回路230の動作について説明する。
制御部610は、処理対象のブロック領域を入力すると、これをブロックデータバッファ630に格納する。ブロックデータバッファ630におけるブロック領域の格納が完了すると、空間フィルタ演算部640は、ブロックデータバッファ630からブロック領域を入力し、ブロック領域に対して空間フィルタ処理を行う。空間フィルタ演算部640の処理結果(以下、空間フィルタ処理結果と称す)は、ブロックデータバッファ630に格納される。同時に、空間フィルタ演算部640は、次のブロック領域を処理する際に必要となる中間データを中間データバッファ620に格納する。このようにして1段目の処理が完了する。
続けて、2段目の処理では、空間フィルタ演算部640は、ブロックデータバッファ630に格納されている1段目の空間フィルタ処理結果を入力し、1段目の空間フィルタ処理結果に対して空間フィルタ処理を行う。そして、空間フィルタ演算部640は、2段目の空間フィルタ処理結果をブロックデータバッファ630に格納するとともに、次のブロック領域を処理する際に必要となる中間データを中間データバッファ620に格納する。この処理が繰り返されることにより、2段目の処理、3段目の処理が完了する。
図4においてn=1以降のブロック領域411〜41Mを処理する際は、空間フィルタ演算部640への入力として、ブロックデータバッファ630に格納されている画像データに加え、中間データバッファ620に格納されている中間データも選択される。また、ブロックデータバッファ630は、空間フィルタ演算部640に入力される画像データや空間フィルタ処理結果を保持するBBa631及びBBb632を備えている。どちらのデータをBBa631又はBBb632で保持するかは、処理段数に応じて切り替えられる。
また、中間データバッファ620は、処理する回数分の中間データを保持できるよう、1段目の処理時に得られる中間データを保持するTMa621、2段目の処理時に得られる中間データを保持するTMb622、及び、3段目の処理時に得られる中間データを保持するTMc623を備える。各中間データは、空間フィルタ処理を実行した回数に応じて選択される。以上の動作は、制御部610によって包括的に制御される。
空間フィルタ演算部640によるバンド領域に対する空間フィルタ処理では、図4のn=0のブロック領域410に初期化工程が適用され、n=1〜Mのブロック領域411〜41Mに処理工程が順に適用される。以下では、n=0のブロック領域410を初期化工程領域と称し、n=1〜Mのブロック領域411〜41Mを処理工程領域と称す。以下、初期化工程、処理工程及びバンド分割について詳細に説明する。
初期化工程では、空間フィルタ演算部640において、初期化工程領域410に対して空間フィルタ処理を複数回適用するとともに、処理工程で必要となる中間データを中間データバッファ620に格納する処理が行われる。
以下、図7を参照しながら、初期化工程領域410に対する初期化工程について説明する。図7(a)の矩形701は、初期化工程領域を示している。空間フィルタ演算部640は、初期化工程領域701に対して空間フィルタ処理を行うことにより、図7(b)の1段目の空間フィルタ処理結果702を得る。同時に、空間フィルタの長さをfw画素とした場合、初期化工程領域701の右から(fw−1)画素中に含まれる領域701aが中間データaとして中間データバッファ620内のTMa621に保持される。以上が1段目の処理である。
次に、空間フィルタ演算部640は、1段目の空間フィルタ処理結果702に対して空間フィルタ処理を行うことにより、図7(c)の2段目の空間フィルタ処理結果703を得る。同時に、1段目の空間フィルタ処理結果702の右から(fw−1)画素中に含まれる領域702aが中間データbとして中間データバッファ620内のTMb622に格納される。以上が2段目の処理である。最後に、2段目の空間フィルタ処理結果703が中間データcとして中間データバッファ620内のTMc623に格納される。以上が3段目の処理である。
次に、図8のフローチャートを参照しながら、初期化工程について説明する。ステップS801において、空間フィルタ演算部640は、処理段数を示す変数rnに1をセットする。ステップS802において、空間フィルタ演算部640は、初期化工程に必要となる初期化工程領域をRAM116から取得する。
ステップS803において、空間フィルタ演算部640は、変数rnが所定の値に達したか否か、即ち、処理段数が所定の処理段数に達したか否かを判定する。変数rnが所定の値に達した場合、初期化工程は終了する。一方、変数rnが所定の値に達していない場合、処理はステップS804に移行する。
ステップS804において、空間フィルタ演算部640は、使用する中間データバッファ620及びブロックデータバッファ630の記憶領域を選択する。即ち、変数rnが1である場合、空間フィルタ演算部640は、図9の状態1に示すように、初期化工程領域701を格納する記憶領域としてBBa631を選択し、初期化工程領域701をBBa631に格納する。また、空間フィルタ演算部640は、図7の中間データa701aを格納する記憶領域としてTMa621を選択し、また、空間フィルタ演算部640は、初期化工程領域701に対する空間フィルタ処理結果を格納する記憶領域としてBBb632を選択する。
変数rnが2である場合、空間フィルタ演算部640は、中間データb702aを格納する記憶領域としてTMb622を選択し、1段目の空間フィルタ処理結果702を格納する領域としてBBb632を選択する。また、空間フィルタ演算部640は、2段目の空間フィルタ処理結果703を格納する記憶領域としてBBa631を選択する。
このようにブロックデータバッファ630に関しては、処理段数が1増える毎に、入力用の機能と出力用の機能とが切り替えられる。中間データバッファ620に関しては、処理段数が1増える毎に、処理段数に対応する中間データバッファ620が選択される。
ステップS805において、空間フィルタ演算部640は、ブロックデータバッファ630に格納されているデータに対して、rn段目の処理を行う。即ち、1段目の処理において、空間フィルタ演算部640は、BBa631に格納されている初期化工程領域701に対して空間フィルタ処理を行うことにより、1段目の空間フィルタ処理結果702を得る。そして、空間フィルタ演算部640は、図9の状態2に示すように、ステップS804で選択したBBb632に1段目の空間フィルタ処理結果702を格納するとともに、同じくステップS804で選択したTMa631に中間データa701aを格納する。
2段目の処理において、空間フィルタ演算部640は、BBb632に格納されている1段目の空間フィルタ処理結果702に対して空間フィルタ処理を行うことにより、2段目の空間フィルタ処理結果703を得る。そして、空間フィルタ演算部640は、図9の状態3に示すように、ステップS804で選択したBBa631に2段目の空間フィルタ処理結果703を格納する。このとき、既にBBa631には初期化工程領域701が格納されているが、空間フィルタ演算部640は、これを破棄して、2段目の空間フィルタ処理結果703を上書する。また、 空間フィルタ演算部640は、同じくステップS804で選択したTMb622に対して図7の中間データb702aを格納する。
3段目以降の処理も同様である。初期化工程では、初期化工程領域701に対して繰り返し空間フィルタ処理が行われるため、rn段目の空間フィルタ処理結果(例えば、2段目の空間フィルタ処理結果703)の画像データの大きさは、初期化工程領域701に比べて小さくなっている。例えば、3段目の処理において、2段目の空間フィルタ処理結果703が空間フィルタ処理を行うのに必要な画像データの大きさを有していない場合がある。このとき、空間フィルタ演算部640は、2段目の空間フィルタ処理結果703に対して空間フィルタ処理を行わず、図9の状態4に示すように、2段目の空間フィルタ処理結果703を中間データc703aとしてステップS804で選択したTMc633に格納する。その後、ステップS806において、空間フィルタ演算部640は、変数rnに1を加算し、処理はステップS803に移行する。
以上が初期化工程の手順となる。初期化工程では、この手順に従うことにより、中間データバッファ内のTMa621〜TMc623に処理工程で必要となる中間データが格納される。
次に、処理工程について説明する。処理工程では、中間データバッファ620に格納されている中間データの更新を行いつつ、処理工程領域と中間データとを組み合わせた画像データに対して空間フィルタ処理を複数回適用することにより、空間フィルタ処理結果を出力する。
n個目の処理工程領域に対する処理工程において、空間フィルタ演算部640は、n個目の処理工程領域とn−1個目の処理工程領域の処理で更新された中間データとを組み合わせた画像データに対して、空間フィルタ処理を複数回適用する。同時に、空間フィルタ演算部640は、中間データを、n+1個目の処理工程領域の処理工程で必要となる中間データに更新する。n個目の処理工程領域は、第1のブロック領域の例であり、n−1個目の処理工程領域(初期化処理工程領域)は、第2のブロック領域の例である。
以下、図10を参照しながら、処理工程領域411〜41Mに対する処理工程について説明する。図10は、処理工程の一例を説明するための図である。図10(a)の矩形1001は、n個目の処理工程領域を示しており、1001bは、TMa621に格納されているn−1個目の処理工程で得られた中間データを示している。
先ず、空間フィルタ演算部640は、1段目の処理を行う。即ち、空間フィルタ演算部640は、中間データ1001bを処理工程領域1001に隣接するよう組み合わせた画像データに対して空間フィルタ処理を行うことにより、図10(b)の1段目の空間フィルタ処理結果1002を得る。同時に、空間フィルタ演算部640は、空間フィルタの長さをfw画素とした場合、処理工程領域1001の右から(fw−1)画素中に含まれる領域1001aを中間データaとして中間データバッファ620内のTMa621に格納する。
次に、空間フィルタ演算部640は2段目の処理を行う。即ち、空間フィルタ演算部640は、1段目の処理と同様に、1段目の空間フィルタ処理結果1002と中間データb1002bとを組み合わせた画像データに対して空間フィルタ処理を行うことにより、図10(c)に示す2段目の処理結果1003を得る。同時に、空間フィルタ演算部640は、1段目の処理結果1002の右から(fw−1)画素中に含まれる領域1002aを中間データbとして中間データバッファ620内のTMb622に格納する。
次に、空間フィルタ演算部640は3段目の処理を行う。即ち、空間フィルタ演算部640は、1段目及び2段目の処理と同様に、2段目の空間フィルタ処理結果1003と中間データc1003bとを組み合わせた画像データに対して空間フィルタ処理を行うことにより、図10(d)に示す3段目の処理結果1004を得る。同時に、空間フィルタ演算部640は、2段目の処理結果1003の右から(fw−1)画素中に含まれる領域1003aを中間データcとして中間データバッファ620内のTMc623に格納する。
最後に、3段目の処理結果1004がn個目の処理工程領域に対して空間フィルタ処理を複数回適用した結果となり、空間フィルタ演算部640からRAM116等に出力される。
次に、図11のフローチャートを参照しながら、処理工程について説明する。ステップS1101において、空間フィルタ演算部640は、処理段数を示す変数rnに1をセットする。ステップS1102において、空間フィルタ演算部640は、処理工程領域を取得する。
ステップS1103において、空間フィルタ演算部640は、変数rnが所定の値に達したか否か、即ち、処理段数が所定の処理段数に達したか否かを判定する。変数rnが所定の値に達した場合、処理はステップS1107に移行する。一方、変数rnが所定の値に達していない場合、処理はステップS1104に移行する。
ステップS1107において、制御部610は、ブロックデータバッファ630に保持された空間フィルタ処理結果を出力する。ステップS1104において、空間フィルタ演算部640は、利用する中間データバッファ620及びブロックデータバッファ630の記録領域を選択する。即ち、1段目の処理において、空間フィルタ演算部640は、処理工程領域を格納する記憶領域としてBBa631を選択し、図12の状態1に示すように、処理工程領域をBBa631に格納する。また、空間フィルタ演算部640は、1段目の処理後に中間データを格納する領域としてTMa621を選択し、1段目の空間フィルタ処理結果を格納する領域としてBBb632を選択する。2段目の処理において、空間フィルタ演算部640は、2段目の処理後に中間データを格納する領域としてTMb622を選択し、2段目の空間フィルタ処理結果を格納する領域としてBBa631を選択する。
その後、処理はステップS1105に移行する。ステップS1105において、空間フィルタ演算部640は、中間データバッファ620に格納されている中間データと、ブロックデータバッファ630に格納されている処理工程領域とを組み合わせた画像データに対してrn段目の処理を行う。即ち、1段目の処理において、空間フィルタ演算部640は、BBa631に格納されている処理工程領域1001と中間データ1001bとを組み合わせた画像データに対して空間フィルタ処理を行うことにより、1段目の空間フィルタ処理結果1002を得る。そして、空間フィルタ演算部640は、図12の状態2に示すように、1段目の空間フィルタ処理結果1002をステップS1104にて選択したBBb632に格納し、同時に選択したTMa621に中間データaを上書きする。
2段目の処理において、空間フィルタ演算部640は、BBb632に格納されている1段目の空間フィルタ処理結果1002と、TMa621に格納されている中間データaとを組み合わせた画像データに対して2段目の空間フィルタ処理を行う。これにより、2段目の空間フィルタ処理結果1003が得られる。そして、空間フィルタ演算部640は、図12の状態3に示すように、2段目の空間フィルタ処理結果1003を、出力用バッファとして選択しているBBa631に格納する。このとき、BBa631には処理工程領域1001が格納されているが、空間フィルタ演算部640は、これを破棄して、2段目の空間フィルタ処理結果1003を上書きする。また同時に、空間フィルタ演算部640は、ステップS1103で選択したTMb622に中間データbを上書きする。
3段目の処理において、空間フィルタ演算部640は、BBa631に格納されている2段目の空間フィルタ処理結果1003と、TMb622に格納されている中間データbとを組み合わせた画像データに対して、3段目の空間フィルタ処理を行う。これにより、3段目の空間フィルタ処理結果1004が得られる。そして、空間フィルタ演算部640は、図12の状態4に示すように、3段目の空間フィルタ処理結果1004を、出力用バッファとして選択しているBBb632に格納する。このとき、BBb632には1段目の空間フィルタ処理結果1002が格納されているが、空間フィルタ演算部640は、これを破棄して、3段目の空間フィルタ処理結果1004を上書きする。また同時に、空間フィルタ演算部640は、ステップS1103で選択したTMc623に中間データcを上書きする。
ステップS1106において、空間フィルタ演算部640は、変数rnに1を加算する。そして、処理はステップS1103に移行する。以上が処理工程の手順となる。
以上の処理により、1段目の処理では入力をBBa631とし、出力をBBb632とし、2段目の処理では入力をBBb632とし、出力をBBa631とするように、段数が1増える毎にBBa631、BBb632の入出力の役割を切り替える。これにより、2つのBBのみで処理工程領域に対して空間フィルタ処理を複数回適用することが可能となる。
また、処理段数に応じた各中間データを中間データバッファ620で格納し、処理段数に応じて使用する中間データを選択することにより、処理工程領域にオーバーラップ領域を付加しなくても、空間フィルタ処理を複数回適用することを可能にしている。
従って、本実施形態によれば、少ないメモリ容量で、画像処理部130とRAM116との間の画素データの送受信を抑えることができる。
処理工程において、空間フィルタ演算部640は、複数段の空間フィルタ処理を行っている。次に、図13を参照しながら、図11におけるステップS1105のrn段目の空間フィルタ処理について詳細に説明する。ここでは、図10に示す処理工程領域1001と中間データa1001bとを組み合わせた画像データに対して空間フィルタ処理を行うことにより、1段目の空間フィルタ処理結果1002を得る場合を例に挙げて説明する。
ステップS1301において、空間フィルタ演算部640は、注目画素位置yが処理工程領域の高さbhを超えているか否かを判定する。注目画素位置yが処理工程領域の高さbhを超えている場合、処理は終了する。一方、注目画素位置yが処理工程領域の高さbhを超えていない場合、処理はステップS1302に移行する。
ステップS1302において、空間フィルタ演算部640は、注目画素位置xが処理工程領域の空間フィルタ処理可能な長さ(ew−(fw−1))を超えているか否かを判定する。注目画素位置xが処理工程領域の空間フィルタ処理可能な長さを超えている場合、処理はステップS1306に移行する。一方、注目画素位置xが処理工程領域の空間フィルタ処理可能な長さを超えていない場合、処理はステップS1303に移行する。
ステップS1303において、空間フィルタ演算部640は、注目画素位置から空間フィルタ処理領域を設定する。ここで、図14を参照しながら、この空間フィルタ処理領域の設定方法について3×3画素の空間フィルタ処理を行う場合を例に挙げて説明する。図14では、中間データバッファ620に保持されている中間データ(ここでは、1001b)と、ブロックデータバッファ630に保持されている処理工程領域(ここでは、1001)とを示している。(0,0)の領域から空間フィルタ処理が開始される。
先ず、空間フィルタ演算部640は、中間データの長さ方向に2画素、高さ方向に3画素の斜線領域(l)を選択する。そして、空間フィルタ演算部640は、処理工程領域の長さ方向に1画素、高さ方向に3画素の斜線領域(m)を選択する。空間フィルタ演算部640は、斜線領域(l)及び斜線領域(m)を長さ方向に順に並べて組み合わせることにより、3×3画素の空間フィルタ領域(n)(0,0)が生成される。
ステップS1304において、制御部610は、空間フィルタ領域(n)(0,0)を空間フィルタ演算部640に出力して、各画素値の平均値を求める空間フィルタ処理を実行させる。ステップS1305において、空間フィルタ演算部640は、空間フィルタ処理結果を出力用ブロックとして選択されているブロックデータバッファ(631、632のうちの出力用と選択されている方)に出力する。ここで、注目画素位置が(0,0)である場合、図15に示すように、(0,0)の位置に空間フィルタ処理結果が保持される。ステップS1305において、空間フィルタ演算部640は、処理領域を長さ方向xに1画素移動し、次の処理領域を処理していく。
ステップ1306において、空間フィルタ演算部640は、中間データバッファ620に格納されている中間データを更新する。図16はその例を示す図である。図16に示すように、空間フィルタ演算部640は、注目画素位置が長さ方向に3画素まで行った時、中間データの更新を行う。即ち、空間フィルタ演算部640は、処理工程領域の0行目の右から2画素中に含まれる領域を更新データとし、中間データバッファ上の高さ方向が0の更新領域に保持されているデータを破棄して、更新データを上書きする。
ステップS1307において、空間フィルタ演算部640は、長さ方向xを0にリセットし、高さ方向yに1加算して、処理を続ける。以上が図11のステップS1105に示す空間フィルタ処理の手順である。
次に、初期化工程領域と処理工程領域の長さ決定方法について説明する。バンド領域に対して空間フィルタ処理をrn回行う場合、空間フィルタ演算部640は、初期化工程時にn=0の初期化工程領域に対してfw × fhの平滑化処理である空間フィルタ処理を(rn−1)回実行し、中間データを保持する処理を行う。
ここで行われる空間フィルタ処理とは、長さがfw画素、高さがfh画素の画像領域に含まれる画素値の平均を求める処理であり、空間フィルタ処理結果は1画素の値となる。図17は、空間フィルタ処理の対象となる領域の長さがfw画素より大きい場合、又は、高さがfh画素より大きい場合の空間フィルタ処理の例を示す図である。ここでは、fw=3、fh=3、処理対象領域が長さ及び高さともに6画素である例を示している。
図17に示すように、空間フィルタ演算部640は、注目画素位置(0,0)の空間フィルタ処理領域から空間フィルタ処理を行う。次に、空間フィルタ演算部640は、空間フィルタ処理領域を長さ方向に1画素ずらして、注目画素位置(1,0)の空間フィルタ処理領域に対して空間フィルタ処理を行う。このように、空間フィルタ演算部640は、空間フィルタ処理領域を長さ方向に1画素ずつずらしながら0行目の処理を進めていく。空間フィルタ演算部640は、0行目の空間フィルタ処理が終わると、空間フィルタ処理領域を縦方向に1画素ずらし、注目画素位置(0,1)の空間フィルタ処理領域から空間フィルタ処理を行う。ここでも0行目の処理と同様に、空間フィルタ処理領域を長さ方向に1画素ずつずらしながら空間フィルタ処理が行われる。これを繰り返すことにより、画像領域全体に対する空間フィルタ処理が完了する。以上のような空間フィルタ処理により得られる空間フィルタ処理結果は、空間フィルタ処理の対象となる画像領域に対して長さが(fw−1)画素、高さが(fh−1)画素小さくなる。
ここで、初期化工程領域に空間フィルタ処理を行った場合、図7に示すように、出力される空間フィルタ処理結果702は、初期化工程領域701から長さが(fw−1)画素、高さが(fh−1)画素小さくなる。2段目の空間フィルタ処理結果703も同様に、1段目の空間フィルタ処理結果702より小さくなる。このため、(rn−1)回の空間フィルタ処理を実行する際、2段目の空間フィルタ処理結果703の斜線領域703aを出力できる初期化工程領域701の長さを設定しなければならない。本実施形態では、初期化工程領域701の長さinitwを(fw−1)× rnとすることにより、初期化工程に必要最低限の領域を設定することができる。ここで、ブロックデータバッファの容量を、初期化工程領域と1段目の空間フィルタ処理結果とを保持できるだけの容量に設定することにより、ブロックデータバッファの規模を最小限に設定することができる。
また、図10に示すように、処理工程において、空間フィルタ演算部640は、初期化工程や処理工程で保持した中間データa,b,c(例えば、1001a〜1003a)と処理工程領域(1001〜1003)とを組み合わせた画像データに対して空間フィルタ処理を行う。ここで、初期化工程で保持されるデータの最大容量は、初期化工程領域701と1段目の空間フィルタ処理結果702とが保持されるときであり、処理工程で保持されるデータの最大容量は、処理工程領域1001と1段目の空間フィルタ処理結果1002とが保持されるときとなる。この処理工程時に保持されるデータの最大容量が初期化工程時に保持されるデータの最大容量に収まるように設定することにより、初期化工程領域又は処理工程領域を保持するブロックデータバッファの容量を小規模にしつつ、バンド領域全体を処理することが可能となる。
ここで、初期化工程に必要なデータの最大容量は、バンド領域の高さをbhとすると、次の式で表される画素数となる。
Figure 0006057655
また、処理工程に必要なデータの最大容量は、処理工程領域の長さをewとすると、次の式で表される画素数となる。
Figure 0006057655
空間フィルタ演算部640は、処理工程に必要なデータ容量が初期化工程に必要なデータの最小容量に収まるようewを決定する。例えば、空間フィルタ演算部640は、処理工程領域の長さew画素を以下の式3で求め、小数点を切り捨てた値に決定する。
Figure 0006057655
空間フィルタ演算部640は、以上の手順から初期化工程領域の長さを求め、ブロックデータバッファの容量を決定し、処理工程領域の長さを算出することにより、空間フィルタ演算部640に搭載するブロックデータバッファの容量を小規模にしつつ、バンド領域に対して空間フィルタ処理を行うことが可能となる。
次に、本発明の第2の実施形態について説明する。上述した第1の実施形態では、空間フィルタ回路230のブロックデータバッファ630に2つの記憶領域(BB)を配置し、中間データバッファ620に3つの記憶領域(TM)を配置した。これに対し、第2の実施形態では、図18に示すように、空間フィルタ回路230´にデータ保持部1820が一つしかない場合においてもデータ保持部1820を効率的に利用し、空間フィルタ処理の複数回適用を可能にする方法について説明する。
先ず、データ保持部1820上に確保するデータ容量の結果方法について述べ、続けてその利用方法について説明する。
データ保持部1820上に確保するデータ容量の決定方法を、空間フィルタ回路230´で実行する空間フィルタ回数がrn回、バンド領域の高さがobh画素、空間フィルタサイズが高さfh画素、長さfw画素であり、画素値を表すのに必要なビット数がk bitである場合について説明する。空間フィルタ回路230´は、中間データバッファに確保する容量を次の式4で算出する。
Figure 0006057655
また、空間フィルタ回路230´は、ブロックデータバッファに確保する容量を次の式5で算出する。
Figure 0006057655
空間フィルタ回路230´は、求めた中間データバッファ及びブロックデータバッファに必要な容量をデータ保持部1820上に確保し、確保したデータ保持部1820上の領域から、図19に示すように、TMa、TMb、TMc、・・・、BBa、BBbとして扱う記憶領域を決定する。図19では、各領域が隣接するアドレスに配置されるように示しているが、必ずしも各記憶領域が隣接している必要はない。
次に、空間フィルタ回路230´は、図18に示す構成において、空間フィルタ処理を実行する際、1段目の処理時には、入力するブロック領域の保存場所をデータ保持部1820上のBBaとして割り当てられた記憶領域に保存する。空間フィルタ回路230´は、そのブロック領域を空間フィルタ演算部640に入力して空間フィルタ処理を行う。そして、空間フィルタ回路230´は、空間フィルタ処理結果をデータ保持部1820上のBBbとして割り当てられた記憶領域に保存し、同時に、中間データaをデータ保持部1820上のTMaとして割り当てられた記憶領域に保存する。以上のように、第2の実施形態においては、空間フィルタ回路230´に1つのメモリに中間データバッファ、ブロックデータバッファとして利用するのに必要な容量を確保し、確保した記憶領域をTMa、TMb、TMc、・・・、BBa、BBbとして扱う。以上の操作を制御部1810で包括的に行う。
これによって、空間フィルタ回路に1つのデータ保持部1820しかない場合においても、メモリ容量の増加を抑えつつ、空間フィルタ処理の複数回適用を実現できる。また、データ保持部1820にマルチポートメモリを利用して、TMa及びBBaのデータを読出し、平滑化処理で処理した結果をBBbに書き出す等の処理を並列に動作させてもよい。
次に、本発明の第3の実施形態について説明する。ブロック領域の大きさをメモリと画像処理部間の転送で決められたバースト長から決めることもできる。例えば、一回のバースト転送で送受信できる画素数が8個だった場合には、ブロック領域の長さを8画素や16画素とする。このように、ブロック領域の長さを一回のバースト転送で送受信できる画素数の整数倍に設定する。これにより、ブロック領域の高さに関わらず、ブロック領域に含まれる画素数を一回のバースト転送で送受信できる画素数で割り切れる。従って、ブロック領域の転送が容易になり、効率のよい画素データの転送が可能になる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
230、230´:空間フィルタ回路、610、1810:制御部、620:中間データバッファ、630:ブロックデータバッファ、640、1840:空間フィルタ演算部、1820:データ保持部

Claims (10)

  1. 画像データを副走査方向に分割することにより得られる各バンド領域に対して空間フィルタ処理を施す空間フィルタ回路を有する画像処理装置であって、
    前記空間フィルタ回路は、中間データバッファと、ブロックデータバッファと、を有し、
    前記空間フィルタ回路は、
    前記バンド領域を分割することにより得られる複数のブロック領域から第1のブロック領域を取得する取得機能と、
    前記複数のブロック領域のうちの第1のブロック領域の一部を第2のブロック領域に対する空間フィルタ処理の際に使用される第1の中間データとして前記中間データバッファの第1の領域に保持し、前記第1のブロック領域に対する空間フィルタ処理により生成された空間フィルタ処理結果の一部を前記第2のブロック領域に対する空間フィルタ処理の際に使用される第2の中間データとして前記中間データバッファの第2の領域に保持する保機能と、
    前記中間データバッファの第1の領域において保持される前記第1の中間データを、前記第2のブロック領域に付加して空間フィルタ処理を実行し前記ブロックデータバッファの第1の領域に前記空間フィルタ処理の結果を記憶し、前記中間データバッファの第2の領域において保持される前記第2の中間データを、記ブロックデータバッファの前記第1の領域に記憶されている前記空間フィルタ処理結果に付加して空間フィルタ処理を実行し、前記ブロックデータバッファの第2の領域に前記空間フィルタ処理の結果を記憶する処理機能
    を有し、
    前記保持機能は、前記中間データバッファの第1の領域、前記中間データバッファの第2の領域に対して上書きしながら順次、次のブロック領域に対する空間フィルタ処理のため、中間データを保持することを特徴とする画像処理装置。
  2. 前記中間データバッファは、1つの前記中間データバッファの第1の領域と前記第1のブロック領域に対して適用される空間フィルタ処理の回数から1を引いた回数に等しい数の前記中間データバッファの第2の領域有することを特徴とする請求項1に記載の画像処理装置。
  3. 前記処理機能は、前記第1のブロック領域に対する空間フィルタ処理の回数に応じて、前記中間データバッファの第1の領域に保持されている第1の中間データ及び前記中間データバッファの複数の第2の領域に保持されている第2の中間データから、空間フィルタ処理の対象となる中間データを選択することを特徴とする請求項2に記載の画像処理装置。
  4. 前記第1のブロック領域に対して実行される空間フィルタ処理の回数をrn回とし、前記空間フィルタ処理の長さをfw画素とした場合、前記第2のブロック領域の長さを(fw−1)×rnで算出する算出機能を更に有する請求項1乃至3の何れか1項に記載の画像処理装置。
  5. 前記第1のブロック領域に対して実行される空間フィルタ処理の回数をrn回とし、前記空間フィルタ処理の長さをfw画素とし、前記第1のブロック領域の高さをfh画素とし、前記バンド領域の高さをbh画素とした場合、前記第1のブロック領域の長さewを、
    Figure 0006057655
    なる式で算出する算出機能を更に有し、
    前記処理機能は、前記算出機能により算出された前記第1のブロック領域の長さに基づいて、前記第1のブロック領域を取得することを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
  6. 前記第1のブロック領域に対して実行される空間フィルタ処理の回数をrn回とし、前記空間フィルタ処理の長さをfw画素とし、前記第1のブロック領域の長さをfh画素とし、前記バンド領域の高さをobh画素とし、画素値を表すのに必要なビット数をkbitとした場合、前記中間データバッファの容量を、
    Figure 0006057655
    なる式で算出する算出機能を更に有することを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
  7. 前記第1のブロック領域の長さを、一回のバースト転送で送受信することが可能な画素数の整数倍で算出する算出機能を更に有し、
    前記処理機能は、前記算出機能により算出された前記第1のブロック領域の長さに基づいて、前記第1のブロック領域を取得することを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
  8. 前記第2のブロック領域は、前記第1のブロック領域に隣接するブロック領域であることを特徴とする請求項1乃至の何れか1項に記載の画像処理装置。
  9. 画像データを副走査方向に分割することにより得られる各バンド領域に対して空間フィルタ処理を施す空間フィルタ回路を有する画像処理装置によって実行される画像処理方法であって、
    前記空間フィルタ回路は、中間データバッファと、ブロックデータバッファと、を有し、
    前記バンド領域を分割することにより得られる複数のブロック領域から第1のブロック領域を取得する取得ステップと、
    前記複数のブロック領域のうちの第1のブロック領域の一部を第2のブロック領域に対する空間フィルタ処理の際に使用される第1の中間データとして前記中間データバッファの第1の領域に保持し、前記第1のブロック領域に対する空間フィルタ処理により生成された空間フィルタ処理結果の一部を前記第2のブロック領域に対する空間フィルタ処理の際に使用される第2の中間データとして前記中間データバッファの第2の領域に保持する保持ステップと、
    前記中間データバッファの第1の領域において保持される前記第1の中間データを、前記第2のブロック領域に付加して空間フィルタ処理を実行し前記ブロックデータバッファの第1の領域に前記空間フィルタ処理の結果を記憶し、前記中間データバッファの第2の領域において保持される前記第2の中間データを、記ブロックデータバッファの前記第1の領域に記憶されている前記空間フィルタ処理結果に付加して空間フィルタ処理を実行し、前記ブロックデータバッファの第2の領域に前記空間フィルタ処理の結果を記憶する処理ステップと
    を有し、
    前記保持ステップでは、前記中間データバッファの第1の領域、前記中間データバッファの第2の領域に対して上書きしながら順次、次のブロック領域に対する空間フィルタ処理のため、中間データを保持することを特徴とする画像処理方法。
  10. 画像データを副走査方向に分割することにより得られる各バンド領域に対して空間フィルタ処理を施す空間フィルタ回路を有するコンピュータに、
    前記空間フィルタ回路は、中間データバッファと、ブロックデータバッファと、を有し、
    前記バンド領域を分割することにより得られる複数のブロック領域から第1のブロック領域を取得する取得ステップと、
    前記複数のブロック領域のうちの第1のブロック領域の一部を第2のブロック領域に対する空間フィルタ処理の際に使用される第1の中間データとして前記中間データバッファの第1の領域に保持し、前記第1のブロック領域に対する空間フィルタ処理により生成された空間フィルタ処理結果の一部を前記第2のブロック領域に対する空間フィルタ処理の際に使用される第2の中間データとして前記中間データバッファの第2の領域に保持する保持ステップと、
    前記中間データバッファの第1の領域において保持される前記第1の中間データを、前記第2のブロック領域に付加して空間フィルタ処理を実行し前記ブロックデータバッファの第1の領域に前記空間フィルタ処理の結果を記憶し、前記中間データバッファの第2の領域において保持される前記第2の中間データを、記ブロックデータバッファの前記第1の領域に記憶されている前記空間フィルタ処理結果に付加して空間フィルタ処理を実行し、前記ブロックデータバッファの第2の領域に前記空間フィルタ処理の結果を記憶する処理ステップと
    実行させ
    前記保持ステップでは、前記中間データバッファの第1の領域、前記中間データバッファの第2の領域に対して上書きしながら順次、次のブロック領域に対する空間フィルタ処理のため、中間データを保持するプログラム。
JP2012225192A 2012-10-10 2012-10-10 画像処理装置、画像処理方法及びプログラム Active JP6057655B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012225192A JP6057655B2 (ja) 2012-10-10 2012-10-10 画像処理装置、画像処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012225192A JP6057655B2 (ja) 2012-10-10 2012-10-10 画像処理装置、画像処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2014078114A JP2014078114A (ja) 2014-05-01
JP6057655B2 true JP6057655B2 (ja) 2017-01-11

Family

ID=50783375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012225192A Active JP6057655B2 (ja) 2012-10-10 2012-10-10 画像処理装置、画像処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6057655B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005094212A (ja) * 2003-09-16 2005-04-07 Canon Inc 画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2009116763A (ja) * 2007-11-09 2009-05-28 Sony Corp 画像処理装置および画像データのメモリアクセス方法
JP5151999B2 (ja) * 2009-01-09 2013-02-27 セイコーエプソン株式会社 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
JP2014078114A (ja) 2014-05-01

Similar Documents

Publication Publication Date Title
JP6706985B2 (ja) 画像処理装置およびその制御方法
JP6649750B2 (ja) 画像処理装置、画像処理方法
JP4845801B2 (ja) 画像処理装置及びメモリのアクセス制御方法
JP2009524854A (ja) ディジタルデータ処理のための方法およびシステム
JP5886583B2 (ja) データ処理装置、処理方法、制御方法、及びプログラム
JP6403430B2 (ja) 画像処理装置および画像処理方法
JP5522890B2 (ja) 画像処理装置及び方法
US9786250B2 (en) Control apparatus, image processing apparatus, control method, and non-transitory computer-readable storage medium
JP6445899B2 (ja) 画像形成装置及びその制御方法
JP6057655B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2004145615A (ja) 画像処理装置および画像処理方法
JP5036526B2 (ja) 変換テーブル圧縮方法およびプログラム
US20140029361A1 (en) Buffer, method for controlling buffer, synchronization control device, synchronization control method, image processing apparatus, and image processing method
JP2017194932A (ja) 画像処理装置、画像処理方法、及びプログラム
EP3128480B1 (en) Image processing apparatus and control method therefor
US8014631B2 (en) Image processing apparatus, image processing method, and computer readable medium for generating a reduced image
JP6779263B2 (ja) データ処理装置及び方法及びプログラム
JP2005196444A (ja) 画像データ処理装置、画像データ処理方法及びそのプログラム
JP6521763B2 (ja) 画像処理装置、撮像装置、画像処理方法、プログラム、及び記録媒体
JP6562756B2 (ja) 画像処理装置およびその制御方法
JP5753370B2 (ja) 画像処理装置、方法およびプログラム
JP6711003B2 (ja) データ処理装置およびプログラム
JP2017123559A (ja) データ処理装置およびプログラム
JP5104497B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP5671635B2 (ja) 画像処理装置及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160928

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: 20161108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161206

R151 Written notification of patent or utility model registration

Ref document number: 6057655

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151