JP2014068085A - 画像処理装置および画像形成装置 - Google Patents
画像処理装置および画像形成装置 Download PDFInfo
- Publication number
- JP2014068085A JP2014068085A JP2012210211A JP2012210211A JP2014068085A JP 2014068085 A JP2014068085 A JP 2014068085A JP 2012210211 A JP2012210211 A JP 2012210211A JP 2012210211 A JP2012210211 A JP 2012210211A JP 2014068085 A JP2014068085 A JP 2014068085A
- Authority
- JP
- Japan
- Prior art keywords
- block
- pixel
- overlap area
- storage device
- adjacent
- 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.)
- Pending
Links
Images
Landscapes
- Image Input (AREA)
- Image Processing (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
【課題】 フィルター処理の際に、画像データが記憶されている記憶装置から、隣接する2つのブロックの境界周辺の画素の値を読み出す回数が少なくて済む
【解決手段】 入出力回路41は、(a)注目ブロックとその注目ブロックに主走査方向または副走査方向において隣接する隣接ブロックについて、注目ブロックおよび隣接ブロックのいずれのフィルター演算にも値が必要となる画素を含むオーバーラップエリア内の1つの画素の値を、注目ブロックが指定されているときに代表画素値としてレジスター44に記憶し、(b)オーバーラップエリアに含まれるすべての画素の値が同一である場合には、隣接ブロックのフィルター演算に必要な画素値のうち、オーバーラップエリアに含まれるすべての画素の値として、その代表画素値をレジスター44から読み出し、残りをRAM3から読み出す。
【選択図】 図1
【解決手段】 入出力回路41は、(a)注目ブロックとその注目ブロックに主走査方向または副走査方向において隣接する隣接ブロックについて、注目ブロックおよび隣接ブロックのいずれのフィルター演算にも値が必要となる画素を含むオーバーラップエリア内の1つの画素の値を、注目ブロックが指定されているときに代表画素値としてレジスター44に記憶し、(b)オーバーラップエリアに含まれるすべての画素の値が同一である場合には、隣接ブロックのフィルター演算に必要な画素値のうち、オーバーラップエリアに含まれるすべての画素の値として、その代表画素値をレジスター44から読み出し、残りをRAM3から読み出す。
【選択図】 図1
Description
本発明は、画像処理装置および画像形成装置に関するものである。
ある画像処理装置では、画像データをブロックごとにメモリーから読み出してフィルター処理を施すことで、メモリーアクセスを減らしている(例えば特許文献1参照)。
ブロックごとに画素値を読み出してフィルター演算を行う場合、ブロックの縁周辺の画素についてフィルター演算を行う際に、ブロックより外側の画素の値も必要になるときには、そのブロックより外側の画素の値も併せて読み出す必要がある。
このため、隣接する2つのブロックの境界周辺の画素の値は、一方のブロックに対するフィルター演算と他方のブロックに対するフィルター演算において2回読み出されることになる。
本発明は、上記の問題に鑑みてなされたものであり、画像データに対してフィルター処理を行う場合に、画像データが記憶されている記憶装置から、隣接する2つのブロックの境界周辺の画素の値を読み出す回数が少なくて済む画像処理装置および画像形成装置を得ることを目的とする。
上記の課題を解決するために、本発明では以下のようにした。
本発明に係る画像処理装置は、画像データを記憶する第1記憶装置と、画像データを分割して得られる所定画素サイズの複数のブロックのそれぞれにおける画素に対してフィルター演算を行う演算回路と、主走査方向に沿って順番に指定されるブロックについて、そのブロックに対するフィルター演算のために、そのブロック内の少なくとも一部の画素の値を第1記憶装置から読み出すデータリード部と、データリード部により第1記憶装置に比べ高速にデータリードが可能な第2記憶装置とを備える。そして、データリード部は、(a)その複数のブロックのうちの注目ブロックとその注目ブロックに主走査方向または副走査方向において隣接する隣接ブロックについて、注目ブロックに対するフィルター演算および隣接ブロックに対するフィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリアに含まれるいずれか1つの画素の値を、注目ブロックが指定されているときに代表画素値として第2記憶装置に記憶し、(b)オーバーラップエリアに含まれるすべての画素の値が同一である場合には、隣接ブロックに対するフィルター演算のために必要な画素値のうち、オーバーラップエリアに含まれるすべての画素の値として、その代表画素値を第2記憶装置から読み出し、隣接ブロックに対するフィルター演算のために必要な画素値の残りを第1記憶装置から読み出す。
これにより、画像データが記憶されている記憶装置から、隣接する2つのブロックの境界周辺の画素の値を読み出す回数が少なくて済む。
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、上述のフィルター演算は、主走査方向において注目画素およびその注目画素の両側のそれぞれに連続するn画素の値を使用し、注目ブロックとその注目ブロックに主走査方向において隣接する隣接画素とについてのオーバーラップエリアの主走査方向のサイズは、そのnの2倍である。
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、上述のフィルター演算は、副走査方向において注目画素およびその注目画素の両側のそれぞれに連続するm画素の値を使用し、注目ブロックとその注目ブロックに副走査方向において隣接する隣接画素とについてのオーバーラップエリアの副走査方向のサイズは、そのmの2倍である。
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、上述のオーバーラップエリアは、注目ブロックに対するフィルター演算および隣接ブロックに対するフィルター演算のいずれにも値が必要となるすべての画素を含む。
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、画像処理装置は、第1記憶装置が接続されるバスをさらに備える。そして、演算回路、データリード部、および第2記憶装置は、バスに接続される処理部に含まれ、データリード部は、第1記憶装置から画素値を読み出す場合、バスを介して読み出し、第2記憶装置から代表画素値を読み出す場合、バスを介さずに読み出す。
これにより、フィルター演算によるバスの使用帯域が少なくて済む。
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、処理部は、集積回路であり、第2記憶装置は、その集積回路内のレジスターである。
これにより、上述の代表画素値をそのレジスターから高速に読み出すことができる。
また、本発明に係る別の画像処理装置は、画像データを記憶する第1記憶装置と、画像データを分割して得られる所定画素サイズの複数のブロックのそれぞれにおける画素に対してフィルター演算を行う演算回路と、主走査方向に沿って順番に指定されるブロックについて、そのブロックに対するフィルター演算のために、そのブロック内の少なくとも一部の画素の値を第1記憶装置から読み出すデータリード部と、データリード部により第1記憶装置に比べ高速にデータリードが可能な第2記憶装置とを備える。そして、データリード部は、(a)その複数のブロックのうちの注目ブロック、その注目ブロックに主走査方向において隣接する第1隣接ブロック、およびその注目ブロックに副走査方向において隣接する第2隣接ブロックについて、注目ブロックに対するフィルター演算および第1隣接ブロックに対するフィルター演算のいずれにも値が必要となる画素並びに注目ブロックに対するフィルター演算および第2隣接ブロックに対するフィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリアに含まれるいずれか1つの画素の値を、注目ブロックが指定されているときに代表画素値として第2記憶装置に記憶し、(b)オーバーラップエリアに含まれるすべての画素の値が同一である場合には、第1隣接ブロックに対するフィルター演算のために必要な画素値のうち、オーバーラップエリアに含まれるすべての画素の値として、その代表画素値を第2記憶装置から読み出し、第2隣接ブロックに対するフィルター演算のために必要な画素値のうち、オーバーラップエリアに含まれるすべての画素の値として、その代表画素値を第2記憶装置から読み出す。
これにより、画像データが記憶されている記憶装置から、隣接する2つのブロックの境界周辺の画素の値を読み出す回数が少なくて済む。
本発明に係る画像形成装置は、上記の画像処理装置のいずれかを備える。
本発明によれば、画像データに対してフィルター処理を行う場合に、画像データが記憶されている記憶装置から、隣接する2つのブロックの境界周辺の画素の値を読み出す回数が少なくて済む。
以下、図に基づいて本発明の実施の形態を説明する。
実施の形態1.
図1は、本発明の実施の形態1に係る画像処理装置の構成を示すブロック図である。図1に示す画像処理装置は、スキャナー、複写機、複合機などの画像形成装置に内蔵されている。
図1に示す画像処理装置では、画像読取装置1、CPU(Central Processing Unit)2、RAM(Random Access Memory)3、ASIC(Application Specific Integrated Circuit)4などがバス5に接続されている。
画像読取装置1は、原稿の各ページのページ画像を光学的に読み取り、そのページ画像の画像データを生成し出力する。
CPU2は、図示せぬROM(Read Only Memory)などに記憶されているプログラムをRAM3にロードし、そのプログラムを実行して、各種処理部を実現する。この実施の形態1では、制御部21およびブロック指定部22が実現される。制御部21は、画像読取装置1を制御して、上述のページ画像の画像データ31をRAM3に記憶させる。ブロック指定部22は、画像データを分割して得られる所定画素サイズの複数のブロックのうち、主走査方向に沿って順番にブロックを選択し、フィルター演算の対象として指定する。
RAM3は、画像データ31およびフィルター演算後の画像データを記憶するメモリーである。
ASIC4は、フィルター演算を行う集積回路であって、入出力回路41、バッファー42、演算回路43、およびレジスター44を有する。
入出力回路41は、ブロック指定部22により指定されたブロックに対するフィルター演算のために必要な画素値をバッファー42に入力するとともに、そのフィルター演算の演算結果をRAM3に記憶する。
具体的には、入出力回路41は、バッファー42に入力すべき画素値のうち、そのブロック内の画素の値をRAM31から読み出し、そのブロックの外側の画素の値についてはRAM31またはレジスター44から読み出す。入出力回路41は、RAM3から画素値を読み出す場合、バス5を介して読み出し、レジスター44から代表画素値を読み出す場合、バス5を介さずに読み出す。
現時点の処理対象であるブロックを注目ブロックとし、その注目ブロックに主走査方向において隣接する次のブロックを隣接ブロックとすると、入出力回路41は、注目ブロックが指定されているときに、(a1)ブロック指定部22によるブロック指定に基づいて、注目ブロックに対するフィルター演算および隣接ブロックに対するフィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリアを特定し、(a2)オーバーラップエリアに含まれるいずれか1つの画素の値を、代表画素値としてレジスター44に記憶し、隣接ブロックが指定されているときに、(b)そのオーバーラップエリアに含まれるすべての画素の値が同一である場合には、隣接ブロックに対するフィルター演算のために必要な画素値のうち、そのオーバーラップエリアに含まれるすべての画素の値として、その代表画素値をレジスター44から読み出し、残りをRAM3から読み出す。
なお、この実施の形態1では、上述のフィルター演算は、主走査方向において注目画素およびその注目画素の両側のそれぞれに連続するn画素の値を使用し、上述のオーバーラップエリアの主走査方向のサイズは、そのnの2倍である。例えば、注目画素に対するフィルター演算が、注目画素を中心とした7×7画素の値を使用する場合、nは3となる。
また、この実施の形態1では、上述のオーバーラップエリアは、注目ブロックに対するフィルター演算および隣接ブロックに対するフィルター演算のいずれにも値が必要となるすべての画素を含む。
バッファー42は、1つのブロックに対するフィルター演算のために必要な画素の値を一時的に保持する記憶回路である。
演算回路43は、バッファー42に記憶されている画素値に基づく所定のフィルター演算を注目ブロック内の各画素に対して行う。なお、このフィルター演算では、注目画素を中心とした2次元の画素領域における各画素の値に対して所定の演算を行い、その演算結果を注目画素の演算値とする。
レジスター44は、ASIC4の内蔵レジスターであり、入出力回路41によりRAM3に比べ高速にデータリードが可能である。実施の形態1では、このレジスター44の記憶容量は、1つの画素値を記憶可能なサイズであればよい。
次に、上記画像処理装置の動作について説明する。
図2は、実施の形態1に係る画像処理装置の動作を説明するフローチャートである。
制御部21は、画像データ31がRAM3に記憶された後、その画像データ31に対するフィルター処理を開始する。
まず、ブロック指定部22は、ブロックを1つ選択し、選択したブロックを示すブロック指定情報をASIC4の入出力回路41に供給する(ステップS1)。
ブロック指定部22は、主走査方向および副走査方向において先頭となるブロックを最初に選択し、その後、主走査方向に沿って順番にブロックを選択していき、主走査方向において最終のブロックの次に、副走査方向における次の、主走査方向における先頭のブロックを選択する。
入出力回路41は、そのブロック指定情報に基づいて、バッファー42に画素値を入力すべき画素の範囲を特定する。このとき、入出力回路41は、その範囲内における、そのブロックの右側オーバーラップエリアと左側オーバーラップエリアを特定する。つまり、そのブロックのサイズと位置およびフィルターサイズから、右側オーバーラップエリアと左側オーバーラップエリアのサイズと位置が特定される。
図3は、実施の形態1におけるブロック101(i,j)とそのブロック101(i,j)の左側オーバーラップエリア102L(i,j)および右側オーバーラップエリア102R(i,j)との対応関係を説明する図である。また、図4は、実施の形態1におけるブロック101(i,j)および1つ前のブロック101(i−1,j)、並びにそれらの左側オーバーラップエリア102L(i,j),102L(i−1,j)および右側オーバーラップエリア102R(i,j),102R(i−1,j)の対応関係を説明する図である。
図3および図4において、ブロック101(i,j)は、主走査方向においてi番目であって副走査方向においてj番目のブロックである。このブロックは、10×10画素の領域である。
なお、主走査方向における先頭ブロック101(1,j)には、左側オーバーラップエリア102L(1,j)は設定されない。また、主走査方向における最終ブロック101(N,j)には、右側オーバーラップエリア102R(N,j)は設定されない。ここで、N(N>1)は主走査方向におけるブロックの数である。
なお、主走査方向における先頭ブロック101(1,j)には、左側オーバーラップエリア102L(1,j)は設定されない。また、主走査方向における最終ブロック101(N,j)には、右側オーバーラップエリア102R(N,j)は設定されない。ここで、N(N>1)は主走査方向におけるブロックの数である。
左側オーバーラップエリア102L(i,j)は、主走査方向において、ブロック指定情報により指定された注目ブロック101(i,j)とその1つ前の隣接ブロック101(i−1,j)とについてのオーバーラップエリアである。図3に示す左側オーバーラップエリア102L(i,j)は、注目画素のフィルター演算に必要な画素が、注目画素を中心とした7×7画素である場合のものである(つまり、n=3であるので、主走査方向の幅が6(=n×2)画素である)。
右側オーバーラップエリア102R(i,j)は、主走査方向において、注目ブロック101(i,j)とその次の隣接ブロック101(i+1,j)とについてのオーバーラップエリアである。図3に示す右側オーバーラップエリア102R(i,j)は、注目画素のフィルター演算に必要な画素が、注目画素を中心とした7×7画素である場合のものである(つまり、主走査方向の幅が6画素である)。
そして、入出力回路41は、注目ブロック101(i,j)に対するフィルター演算に必要な画素から注目画素を順番に選択する(ステップS3)。例えば、ブロック101(i,j)が10×10画素の領域であり、フィルターサイズが7×7画素である場合、図3に示すように、ブロック101(i,j)に対するフィルター演算に必要な画素の領域は、16×16画素となる。
入出力回路41は、主走査方向および副走査方向において先頭となる画素111を最初に選択し、その後、主走査方向に沿って順番に画素を選択していき、主走査方向において最終の画素の次に、副走査方向における次の、主走査方向における先頭の画素を選択する。
入出力回路41は、選択した注目画素が左側オーバーラップエリア102L(i,j)内の画素であるか否かを判定する(ステップS4)。
選択した注目画素が左オーバーラップエリア102L(i,j)内の画素である場合、入出力回路41は、注目ブロック101(i,j)が主走査方向の先頭ブロックであるか否かを判定し(ステップS5)、注目ブロック101(i,j)が主走査方向の先頭ブロックである場合にはRAM3から注目画素の画素値を読み出し、バッファー42に入力する(ステップS6)。
一方、注目ブロック101(i,j)が主走査方向の先頭ブロックではない場合には、入出力回路41は、1つ前のブロック102L(i−1,j)の右側オーバーラップエリア102R(i−1,j)(つまり、注目ブロック101(i,j)の左側オーバーラップエリア102L(i,j))の画素値がすべて同一であるか否かを判定する(ステップS7)。
この実施の形態では、1つ前のブロック101(i−1,j)に対するフィルター演算に必要な画素値を読み出す際に、そのブロック101(i−1,j)の右側オーバーラップエリア102R(i−1,j)の画素値がすべて同一であるか否かが判定され、その右側オーバーラップエリア102R(i−1,j)の先頭画素の画素値がレジスター44に保持されるとともに、その判定結果を示す値がフラグにセットされる(後述するステップS11〜S16の処理)。このため、ステップS7では、入出力回路41は、このフラグの値を読み出して、1つ前のブロック101(i−1,j)の右側オーバーラップエリア102R(i−1,j)の画素値がすべて同一であるか否かを判定する。なお、このフラグは、ASIC4内の図示せぬレジスターなどに保持される。
1つ前のブロック101(i−1,j)の右側オーバーラップエリア102R(i−1,j)の画素値がすべて同一である場合には、入出力回路41は、レジスター44に記憶されている画素値を、注目画素の画素値として読み出し、バッファー42に入力する(ステップS8)。
一方、例えば図3における画素112のように、選択した注目画素が左側オーバーラップエリア102L(i,j)内の画素ではない場合(ステップS4)、入出力回路41は、RAM3から注目画素の画素値を読み出し、バッファー42に入力する(ステップS9)。
そして、入出力回路41は、注目ブロック101(i,j)が主走査方向の最終ブロック101(N,j)であるか否かを判定する(ステップS10)。
注目ブロック101(i,j)が主走査方向の最終ブロック101(N,j)ではない場合、入出力回路41は、選択した注目画素が右側オーバーラップエリア102R(i,j)内の画素であるか否かを判定する(ステップS11)。
選択した注目画素が右側オーバーラップエリア102R(i,j)内の画素である場合には、さらに、入出力回路41は、その注目画素が右側オーバーラップエリア102R(i,j)の先頭画素(つまり、主走査方向および副走査方向における先頭の画素、図3の場合では画素113)であるか否かを判定し(ステップS12)、その注目画素が右側オーバーラップエリア102R(i,j)の先頭画素である場合には、その画素値(つまり、ステップS9でRAM3から読み出した画素値をレジスター44に記憶し(ステップS13)、右側オーバーラップエリア102L(i、j)の画素値がすべて同一であるか否かを示すフラグに初期値である1にセットする(ステップS14)。
一方、選択した注目画素が右側オーバーラップエリア102R(i,j)の先頭画素ではない場合(つまり、注目画素が右側オーバーラップエリア102R(i,j)内の別の画素である場合)、入出力回路41は、レジスター44に記憶されている画素値(つまり、先頭画素の画素値)と注目画素の画素値とが同一であるか否かを判定し(ステップS15)、両者が同一ではない場合には、そのフラグの値を0にする(ステップS16)。
また、注目ブロック101(i,j)が最終ブロック101(N,j)ではない場合、ステップS11〜S16の処理はスキップされる。
このようにして、注目画素の画素値が、RAM3またはレジスター44から読み出されてバッファー42に入力される。また、注目画素が、右側オーバーラップエリア102L(i,j)の先頭画素である場合には、その画素値がレジスター44に保持される。
そして、注目ブロック101(i,j)のフィルター演算に必要なすべての画素値がバッファー42に入力されるまで(ステップS17)、入出力回路41は、順番に注目画素を選択し、同様の処理を実行する。
これにより、そのすべての画素値がバッファー42に入力された時点では、右側オーバーラップエリア102L(i,j)のすべての画素の値が同一である場合には、フラグの値は1となり、そうではない場合には、フラグの値は0となっている。
また、注目ブロック101(i,j)のフィルター演算に必要なすべての画素値がバッファー42に入力されると、演算回路43が、そのブロック101(i,j)の各画素に対するフィルター演算を実行し(ステップS18)、その演算結果を、入出力回路41でRAM3に記憶する。
そして、すべてのブロック101(i,j)に対するフィルター演算が実行されるまで(ステップS19)、入出力回路41は、順番に注目ブロックを選択していき、同様の処理を実行する。
以上のように、上記実施の形態1によれば、入出力回路41は、(a)注目ブロック101(i,j)とその注目ブロック101(i,j)に主走査方向において隣接する隣接ブロック101(i+1,j)について、注目ブロック101(i,j)に対するフィルター演算および隣接ブロック101(i+1,j)に対するフィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリア102R(i,j)に含まれるいずれか1つの画素の値を、注目ブロック101(i,j)が指定されているときに代表画素値としてレジスター44に記憶し、(b)オーバーラップエリア102R(i,j)に含まれるすべての画素の値が同一である場合には、隣接ブロック101(i+1,j)に対するフィルター演算のために必要な画素値のうち、オーバーラップエリア102R(i,j)(つまり、オーバーラップエリア102L(i+1,j))に含まれるすべての画素の値として、その代表画素値(1つの値)をレジスター44から読み出し、隣接ブロック102(i+1,j)に対するフィルター演算のために必要な画素値の残りをRAM3から読み出す。
これにより、画像データ31が記憶されているRAM3から、主走査方向において隣接する2つのブロック101(i,j),101(i+1,j)の境界周辺の画素の値を読み出す回数が少なくて済む。
実施の形態2.
実施の形態1では、主走査方向に隣接する2つのブロックのいずれのフィルター演算にも必要な画素の領域がオーバーラップエリアとして設定されているが、実施の形態2では、副走査方向に隣接する2つのブロックのいずれのフィルター演算にも必要な画素の領域がオーバーラップエリアとして設定される。なお、実施の形態2に係る画像処理装置の構成は実施の形態1のものと同様であるが、以下のように動作する。
図5は、実施の形態2におけるブロック101(i,j)とそのブロック101(i,j)の上側オーバーラップエリア102U(i,j)および下側オーバーラップエリア102D(i,j)との対応関係を説明する図である。
上側オーバーラップエリア102U(i,j)は、副走査方向において、ブロック指定情報により指定されたブロック101(i,j)とその1つ前の隣接ブロック101(i,j−1)とについてのオーバーラップエリアである。図5に示す上側オーバーラップエリア102U(i,j)は、注目画素のフィルター演算に必要な画素が、注目画素を中心とした7×7画素である場合のものである(つまり、n=3であるので、副走査方向の幅が6(=n×2)画素である)。
下側オーバーラップエリア102D(i,j)は、副走査方向において、ブロック指定情報により指定されたブロック101(i,j)とその次の隣接ブロック101(i,j+1)とについてのオーバーラップエリアである。図5に示す下側オーバーラップエリア102D(i,j)は、注目画素のフィルター演算に必要な画素が、注目画素を中心とした7×7画素である場合のものである(つまり、副走査方向の幅が6画素である)。
実施の形態2では、1つ前の隣接ブロック101(i,j−1)が指定されているときに、隣接ブロック101(i,j−1)の下側オーバーラップエリア102D(1,j−1)の先頭画素121の画素値がレジスター44に記憶され、下側オーバーラップエリア102D(1,j−1)のすべての画素値が同一であるか否かを示す値がフラグにセットされる。下側オーバーラップエリア102D(i,j−1)のすべての画素値が同一である場合、実施の形態1と同様にして、フラグには1がセットされ、そうではない場合には、0がセットされる。
そして、現時点で指定されている注目ブロック101(i,j)のフィルター演算に必要な画素値をバッファー42に入力する際に、そのフラグの値が1である場合には、入出力回路41は、上側オーバーラップエリア102U(i,j)のすべての画素値としてレジスター44に記憶されている画素値を読み出してバッファー42に入力し、そのフラグの値が0である場合には、上側オーバーラップエリア102U(i,j)内の各画素値をRAM3から読み出してバッファー42に入力する。注目ブロック101(i,j)のフィルター演算に必要な画素値の残りについては、入出力回路41は、RAM3から読み出してバッファー42に入力する。
また、入出力回路41は、注目ブロック101(i,j)の下側オーバーラップエリア102D(i,j)の先頭画素122の画素値をレジスター44に記憶し、下側オーバーラップエリア102D(i,j)内のすべての画素値が同一であれば、実施の形態1と同様にして、フラグに1をセットし、そうではなければ、フラグに0をセットする。
このフラグの値およびレジスター44の値は、次のブロック101(i,j+1)のフィルター演算に必要な画素値がバッファー42に入力されるときに使用される。
以上のように、上記実施の形態2によれば、入出力回路41は、(a)注目ブロック101(i,j)とその注目ブロック101(i,j)に副走査方向において隣接する隣接ブロック101(i,j+1)について、注目ブロック101(i,j)に対するフィルター演算および隣接ブロック101(i,j+1)に対するフィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリア102D(i,j)に含まれるいずれか1つの画素の値を、注目ブロック101(i,j)が指定されているときに代表画素値としてレジスター44に記憶し、(b)オーバーラップエリア102D(i,j)に含まれるすべての画素の値が同一である場合には、隣接ブロック101(i,j+1)に対するフィルター演算のために必要な画素値のうち、オーバーラップエリア102D(i,j)(つまり、オーバーラップエリア102U(i,j+1))に含まれるすべての画素の値として、その代表画素値(1つの値)をレジスター44から読み出し、隣接ブロック102(i,j+1)に対するフィルター演算のために必要な画素値の残りをRAM3から読み出す。
これにより、画像データ31が記憶されているRAM3から、副走査方向において隣接する2つのブロック101(i,j),101(i,j+1)の境界周辺の画素の値を読み出す回数が少なくて済む。
ただし、実施の形態2では、上述のフラグおよびレジスター44に記憶される代表画素値は、副走査方向における次のブロック101(i,j+1)のフィルター演算に必要な画素値がバッファー42に入力されるまで保持しておく必要があり、画像データ31についての主走査方向におけるブロック数をNとすると、N個のフラグおよび代表画素値を保持しておく必要がある。例えば、フラグおよび代表画素値をそれぞれN段のFIFO(First-In First-Out)で記憶しておき、それぞれのFIFOの先頭のフラグおよび代表画素値を注目ブロック101(i,j)について使用するようにしてもよい。
実施の形態3.
実施の形態1,2では、主走査方向または副走査方向に隣接する2つのブロックのいずれのフィルター演算にも必要な画素の領域がオーバーラップエリアとして設定されているが、実施の形態3では、主走査方向に隣接する2つのブロックのいずれのフィルター演算にも必要な画素の領域と副走査方向に隣接する2つのブロックのいずれのフィルター演算にも必要な画素の領域とを合成した逆L字形のオーバーラップエリアを設定する。なお、実施の形態2に係る画像処理装置の構成は実施の形態1,2のものと同様であるが、以下のように動作する。
図6は、実施の形態3におけるオーバーラップエリアの一例を示す図である。
図6(A)は、実施の形態3におけるブロック101(i,j)とそのブロック101(i,j)とその次の隣接ブロック101(i+1,j),101(i,j+1)との間のオーバーラップエリア103(i,j)との対応関係を説明する図である。図6(A)に示すオーバーラップエリア103(i,j)は、注目画素のフィルター演算に必要な画素が、注目画素を中心とした7×7画素である場合のものである。実施の形態3では、注目ブロック101(i,j)のオーバーラップエリア103(1,j)の先頭画素131の画素値がレジスター44に記憶され、オーバーラップエリア103(1,j)のすべての画素値が同一であるか否かを示す値がフラグにセットされる。オーバーラップエリア103(1,j)のすべての画素値が同一である場合、実施の形態1,2と同様にして、フラグには1がセットされ、そうではない場合には、0がセットされる。
図6(B)は、実施の形態3におけるブロック101(i,j)とそのブロック101(i,j)と1つ前の隣接ブロック101(i−1,j),101(i,j−1)との間のオーバーラップエリア103L(i,j),103U(i,j)との対応関係を説明する図である。図6(B)に示すオーバーラップエリア103L(i,j),103U(i,j)は、注目画素のフィルター演算に必要な画素が、注目画素を中心とした7×7画素である場合のものである。
オーバーラップエリア103L(i,j)は、1つ前の隣接ブロック101(i−1,j)のオーバーラップエリア103(i−1,j)の一部となっている。このため、オーバーラップエリア103L(i,j)についての上述のフラグの値が1であれば、注目ブロック101(i,j)のフィルター演算に必要な画素値をバッファー42に入力する際に、入出力回路41は、オーバーラップエリア103L(i,j)内の画素値として、バッファー44に記憶されている、隣接ブロック101(i−1,j)の代表画素値を使用する。
同様に、オーバーラップエリア103U(i,j)は、1つ前の隣接ブロック101(i,j−1)のオーバーラップエリア103(i,j−1)の一部となっている。このため、隣接ブロック101(i,j−1)についての上述のフラグの値が1であれば、注目ブロック101(i,j)のフィルター演算に必要な画素値をバッファー42に入力する際に、入出力回路41は、オーバーラップエリア103U(i,j)内の画素値として、バッファー44に記憶されている、隣接ブロック101(i,j−1)の代表画素値を使用する。
以上のように、上記実施の形態3によれば、入出力回路41は、(a)注目ブロック101(i,j)、その注目ブロック101(i,j)に主走査方向において隣接する第1隣接ブロック101(i+1,j)、およびその注目ブロック101(i,j)に副走査方向において隣接する第2隣接ブロック101(i,j+1)について、注目ブロック101(i,j)に対するフィルター演算および第1隣接ブロック101(i+1,j)に対するフィルター演算のいずれにも値が必要となる画素並びに注目ブロック101(i,j)に対するフィルター演算および第2隣接ブロック101(i,j+1)に対するフィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリア103(i,j)に含まれるいずれか1つの画素の値を、注目ブロックが指定されているときに代表画素値としてレジスター44に記憶し、(b)オーバーラップエリア103(i,j)に含まれるすべての画素の値が同一である場合には、第1隣接ブロック101(i+1,j)に対するフィルター演算のために必要な画素値のうち、オーバーラップエリア103(i,j)に含まれるすべての画素の値として、その代表画素値をレジスター44から読み出し、第2隣接ブロック101(i,j+1)に対するフィルター演算のために必要な画素値のうち、オーバーラップエリア103(i,j)に含まれるすべての画素の値として、その代表画素値をレジスター44から読み出す。
これにより、画像データが記憶されている記憶装置から、隣接する2つのブロック(つまり、ブロック101(i,j)とブロック101(i+1,j)、およびブロック101(i,j)とブロック101(i,j+1))の境界周辺の画素の値を読み出す回数が少なくて済む。
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
例えば、上記実施の形態1〜3では、画像読取装置1により生成された画像データ31に対して2次元のフィルター処理を行っているが、他の画像データに対してフィルター処理を行うようにしてもよい。また、演算回路43におけるフィルター演算のフィルターサイズも上述のものに限定されるものではない。
本発明は、例えば、スキャナーによる画像読み取りなどで生成される画像データに対するフィルター処理に適用可能である。
3 RAM(第1記憶装置の一例)
4 ASIC(処理部の一例)
5 バス
31 画像データ
41 入出力部(データリード部の一例)
43 演算回路
44 レジスター(第2記憶装置の一例)
101(i,j) ブロック
102L(i,j) 左側オーバーラップエリア(オーバーラップエリアの一例)
102R(i,j) 右側オーバーラップエリア(オーバーラップエリアの一例)
102U(i,j) 上側オーバーラップエリア(オーバーラップエリアの一例)
102D(i,j) 下側オーバーラップエリア(オーバーラップエリアの一例)
103(i,j) オーバーラップエリア
103L(i,j) オーバーラップエリア
103U(i,j) オーバーラップエリア
4 ASIC(処理部の一例)
5 バス
31 画像データ
41 入出力部(データリード部の一例)
43 演算回路
44 レジスター(第2記憶装置の一例)
101(i,j) ブロック
102L(i,j) 左側オーバーラップエリア(オーバーラップエリアの一例)
102R(i,j) 右側オーバーラップエリア(オーバーラップエリアの一例)
102U(i,j) 上側オーバーラップエリア(オーバーラップエリアの一例)
102D(i,j) 下側オーバーラップエリア(オーバーラップエリアの一例)
103(i,j) オーバーラップエリア
103L(i,j) オーバーラップエリア
103U(i,j) オーバーラップエリア
Claims (8)
- 画像データを記憶する第1記憶装置と、
前記画像データを分割して得られる所定画素サイズの複数のブロックのそれぞれにおける画素に対してフィルター演算を行う演算回路と、
主走査方向に沿って順番に指定される前記ブロックについて、そのブロックに対する前記フィルター演算のために、そのブロック内の少なくとも一部の画素の値を前記第1記憶装置から読み出すデータリード部と、
前記データリード部により前記第1記憶装置に比べ高速にデータリードが可能な第2記憶装置とを備え、
前記データリード部は、(a)前記複数のブロックのうちの注目ブロックとその注目ブロックに主走査方向または副走査方向において隣接する隣接ブロックについて、前記注目ブロックに対する前記フィルター演算および前記隣接ブロックに対する前記フィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリアに含まれるいずれか1つの画素の値を、前記注目ブロックが指定されているときに代表画素値として前記第2記憶装置に記憶し、(b)前記オーバーラップエリアに含まれるすべての画素の値が同一である場合には、前記隣接ブロックに対する前記フィルター演算のために必要な画素値のうち、前記オーバーラップエリアに含まれるすべての画素の値として、前記代表画素値を前記第2記憶装置から読み出し、前記隣接ブロックに対する前記フィルター演算のために必要な画素値の残りを前記第1記憶装置から読み出すこと、
を特徴とする画像処理装置。 - 前記フィルター演算は、主走査方向において注目画素およびその注目画素の両側のそれぞれに連続するn画素の値を使用し、
注目ブロックとその注目ブロックに主走査方向において隣接する隣接ブロックについての前記オーバーラップエリアの主走査方向のサイズは、前記nの2倍であること、
を特徴とする請求項1記載の画像処理装置。 - 前記フィルター演算は、副走査方向において注目画素およびその注目画素の両側のそれぞれに連続するm画素の値を使用し、
注目ブロックとその注目ブロックに副走査方向において隣接する隣接ブロックについての前記オーバーラップエリアの副走査方向のサイズは、前記mの2倍であること、
を特徴とする請求項1記載の画像処理装置。 - 前記オーバーラップエリアは、前記注目ブロックに対する前記フィルター演算および前記隣接ブロックに対する前記フィルター演算のいずれにも値が必要となるすべての画素を含むことを特徴とする請求項1から請求項3のうちのいずれか1項記載の画像処理装置。
- 前記第1記憶装置が接続されるバスをさらに備え、
前記演算回路、前記データリード部、および前記第2記憶装置は、前記バスに接続される処理部に含まれ、
前記データリード部は、前記第1記憶装置から画素値を読み出す場合、前記バスを介して読み出し、前記第2記憶装置から前記代表画素値を読み出す場合、前記バスを介さずに読み出すこと、
を特徴とする請求項1から請求項4のうちのいずれか1項記載の画像処理装置。 - 前記処理部は、集積回路であり、
前記第2記憶装置は、前記集積回路内のレジスターであること、
を特徴とする請求項5記載の画像処理装置。 - 画像データを記憶する第1記憶装置と、
前記画像データを分割して得られる所定画素サイズの複数のブロックのそれぞれにおける画素に対してフィルター演算を行う演算回路と、
主走査方向に沿って順番に指定される前記ブロックについて、そのブロックに対する前記フィルター演算のために、そのブロック内の少なくとも一部の画素の値を前記第1記憶装置から読み出すデータリード部と、
前記データリード部により前記第1記憶装置に比べ高速にデータリードが可能な第2記憶装置とを備え、
前記データリード部は、(a)前記複数のブロックのうちの注目ブロック、その注目ブロックに主走査方向において隣接する第1隣接ブロック、およびその注目ブロックに副走査方向において隣接する第2隣接ブロックについて、前記注目ブロックに対する前記フィルター演算および前記第1隣接ブロックに対する前記フィルター演算のいずれにも値が必要となる画素並びに前記注目ブロックに対する前記フィルター演算および前記第2隣接ブロックに対する前記フィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリアに含まれるいずれか1つの画素の値を、前記注目ブロックが指定されているときに代表画素値として前記第2記憶装置に記憶し、(b)前記オーバーラップエリアに含まれるすべての画素の値が同一である場合には、前記第1隣接ブロックに対する前記フィルター演算のために必要な画素値のうち、前記オーバーラップエリアに含まれるすべての画素の値として、前記代表画素値を前記第2記憶装置から読み出し、前記第2隣接ブロックに対する前記フィルター演算のために必要な画素値のうち、前記オーバーラップエリアに含まれるすべての画素の値として、前記代表画素値を前記第2記憶装置から読み出すこと、
を特徴とする画像処理装置。 - 請求項1から請求項7のうちのいずれか1項記載の画像処理装置を備えることを特徴とする画像形成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012210211A JP2014068085A (ja) | 2012-09-24 | 2012-09-24 | 画像処理装置および画像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012210211A JP2014068085A (ja) | 2012-09-24 | 2012-09-24 | 画像処理装置および画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014068085A true JP2014068085A (ja) | 2014-04-17 |
Family
ID=50744112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012210211A Pending JP2014068085A (ja) | 2012-09-24 | 2012-09-24 | 画像処理装置および画像形成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014068085A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022218253A1 (zh) * | 2021-04-16 | 2022-10-20 | 维沃移动通信有限公司 | 图像块的处理方法、装置、电子设备、可读存储介质 |
-
2012
- 2012-09-24 JP JP2012210211A patent/JP2014068085A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022218253A1 (zh) * | 2021-04-16 | 2022-10-20 | 维沃移动通信有限公司 | 图像块的处理方法、装置、电子设备、可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4814375B2 (ja) | 検出装置、検出方法および検出用集積回路 | |
US20180113997A1 (en) | Image processing method, image processing system, recording medium storing program | |
JP6261187B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2011059819A (ja) | 情報処理方法及び装置 | |
US20190095130A1 (en) | Operation device and operation system | |
JP2007535066A (ja) | 画像処理装置及び方法 | |
US9600747B2 (en) | Image forming apparatus and control method that execute a plurality of rendering processing units in parallel | |
JP2014068085A (ja) | 画像処理装置および画像形成装置 | |
JP5521591B2 (ja) | 画像表示装置、及びプログラム | |
JP6009371B2 (ja) | 画像処理lsi及び画像処理プログラム | |
CN108093151A (zh) | 图像形成装置及记录介质 | |
JP2004354593A5 (ja) | ||
JP6544905B2 (ja) | 画像処理装置、画像処理方法、プログラム | |
JP6040145B2 (ja) | 画像処理装置 | |
JP5135382B2 (ja) | 画像処理装置 | |
JP2014007583A (ja) | 画像処理装置および画像形成装置 | |
JP6960230B2 (ja) | 画像処理装置およびその制御方法 | |
JP2012227598A (ja) | 画像処理装置、画像形成装置、画像処理方法、画像処理プログラム及び記録媒体 | |
JP7249504B2 (ja) | 画像処理装置 | |
JP2008178025A (ja) | 画像変倍装置 | |
JPH09190539A (ja) | 画像描画装置 | |
JP2015069619A (ja) | 画像処理装置 | |
JP2022169973A (ja) | 表示制御方法、表示制御プログラム、及び、表示制御装置 | |
JP4316476B2 (ja) | 画像処理装置、画像形成装置 | |
JP6249234B2 (ja) | 画像処理装置 |