JP6241670B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP6241670B2
JP6241670B2 JP2014210557A JP2014210557A JP6241670B2 JP 6241670 B2 JP6241670 B2 JP 6241670B2 JP 2014210557 A JP2014210557 A JP 2014210557A JP 2014210557 A JP2014210557 A JP 2014210557A JP 6241670 B2 JP6241670 B2 JP 6241670B2
Authority
JP
Japan
Prior art keywords
block
line
image data
filter
buffer
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
JP2014210557A
Other languages
English (en)
Other versions
JP2016081214A (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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions 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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2014210557A priority Critical patent/JP6241670B2/ja
Publication of JP2016081214A publication Critical patent/JP2016081214A/ja
Application granted granted Critical
Publication of JP6241670B2 publication Critical patent/JP6241670B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、画像処理装置に関するものである。
画像に対して、主走査方向および副走査方向に分割して得られるブロックごとにフィルター演算を行う場合、フィルターサイズに応じて、そのブロックの画像データの他に、そのブロックの周辺の画素の画像データを使用して、フィルター演算が行われる(例えば特許文献1参照)。
例えば、9画素×9ラインのフィルターサイズで、128画素×128ラインのブロックのフィルター演算結果(フィルター出力)を得るには、136画素×136ラインの画像データが必要になる。
特開2000−20710号公報
フィルター処理を行うべき原画像の画像データがDRAM(Dynamic Random Access Memory)に格納されている場合、フィルター処理部は、バースト転送で画像データをDRAMから読み出し、フィルター演算を行う。その際、1回のバースト転送のデータ量は固定されているため、そのブロックのフィルター演算の読み出しに必要なバースト転送回数が、ブロック周辺の画素の画像データの読み出しのために多くなってしまうことがある。その場合、DRAMのメモリーバスの帯域を多く消費してしまう。
例えば、1画素あたり1バイトの画像データにおいて、128画素×128ラインのブロックに対して、フィルターサイズが9画素×9ラインであるフィルター演算を行う場合、DRAMの1回のバースト転送によるリードデータ量が64バイトであるときには、ブロック内の画像データについては、1ラインにつき、2回のバースト転送で読み出せるが、フィルター演算には4画素幅の周辺画素の画像データがさらに必要になり、136画素の画像データが必要となるため、3回のバースト転送が必要となる。
本発明は、上記の問題に鑑みてなされたものであり、メモリーバスの帯域を多く使用せずにフィルター演算を実行可能な画像処理装置を得ることを目的とする。
本発明に係る画像処理装置は、ブロックごとにフィルター演算を行う画像処理装置であり、画像データを格納するためのメモリーと、所定のフィルターサイズでフィルター演算を行うフィルター演算回路と、少なくとも前記フィルターサイズのライン数のラインの画像データを格納可能なラインバッファーと、特定データ量のバースト転送を所定回数行って前記ブロックの1ライン分ずつ、画像データを前記メモリーから前記ラインバッファーへ読み出すメモリーコントローラーと、境界バッファーと、前記ラインバッファーの各ライン内の後端部分の画像データを前記境界バッファーへ転送する転送回路とを備える。ここで、前記ブロックの1ライン分の画像データのデータ量が、前記特定データ量に所定整数mを乗じた量以下であって、かつ、前記ブロックの1ライン分の前記フィルター演算に必要な画像データのデータ量が、前記特定データ量に前記mを乗じた量を超えている。そして、前記後端部分は、少なくとも前記フィルターサイズの主走査方向の画素数より1だけ少ない数の画素であり、前記フィルター演算回路は、主走査方向において第1ブロックに第2ブロックが隣接している場合において、前記境界バッファーに格納されている前記第1ブロックの前記後端部分の画像データと、前記ラインバッファーに格納されている前記第2ブロックの画像データとを使用して、前記第1ブロックの前記後端部分および前記第2ブロックに対するフィルター演算を連続的に行う。前記転送回路は、前記ラインバッファー内のラインが前記フィルター演算に不要となった時点で、不要となった前記ラインの後端部分の画像データを前記境界バッファーへ転送し、前記境界バッファー内の画像データを上書きする。
本発明によれば、メモリーバスの帯域を多く使用せずにフィルター演算を実行可能な画像処理装置を得ることができる。
図1は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。 図2は、原画像におけるブロックの一例を示す図である。 図3は、原画像において主走査方向に連続するブロックを説明する図である。 図4は、図3に示す各ブロックのデータフローについて説明する図である。 図5は、図1に示す画像処理装置における1ブロック分の処理について説明するフローチャートである。
以下、図に基づいて本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。図1に示す画像処理装置は、画像データに対してブロックごとにフィルター演算を行うフィルター処理部1と、画像データを格納するDRAM2とを備える。フィルター処理部1は、メモリーバス3を介してDRAM2から画像データを読み出す。なお、図1に示す画像処理装置では、図示せぬ処理回路(例えば、画像データをDRAM2に書き込む回路、フィルター処理部1と同様の処理回路など)がメモリーバス3を介してDRAM2に対してリードおよび/またはライトを実行する。
図1に示すフィルター処理部1は、フィルター演算回路11、ラインバッファー12、メモリーコントローラー13、境界バッファー14、および転送回路15を備える。
フィルター演算回路11は、画像処理のために、所定のフィルターサイズでフィルター演算を行う。例えば、フィルター演算回路11は、注目画素を中心とした9画素×9ラインのフィルターサイズで、注目画素についてのフィルター演算結果を得るためのフィルター演算を行う。
具体的には、主走査方向において第1ブロックに第2ブロックが隣接している場合において、フィルター演算回路11は、境界バッファー14に格納されている第1ブロックの後端部分の画像データと、ラインバッファー12に格納されている第2ブロックの画像データとを使用して、第1ブロックの後端部分および第2ブロックに対するフィルター演算を連続的に行う。
ラインバッファー12は、少なくともフィルターサイズのライン数のラインの画像データを格納可能なメモリーである。ラインバッファー12には、例えばSRAM(Static RAM)が使用される。例えば、フィルターサイズが9画素×9ラインであり、ブロックにおける1ラインの画素数が128である場合、ラインバッファー12は、128画素×9ラインの画像データを格納可能である。
メモリーコントローラー13は、DRAM2に対するデータリードを行う。具体的には、メモリーコントローラー13は、特定データ量のバースト転送を所定回数行ってブロックの1ライン分ずつ、画像データをDRAM2からラインバッファー12へ読み出す。
境界バッファー14は、ラインバッファー12に読み出された画像データのうち、次のブロックとともにフィルター演算に使用されるものを一時的に保持するためのメモリーである。境界バッファー14には、例えばSRAMが使用される。
転送回路15は、ラインバッファー12の各ライン内の後端部分の画像データを境界バッファー14へ転送する。この後端部分は、少なくともフィルターサイズの主走査方向の画素数より1だけ少ない数の画素である。ここでは、この後端部分は、フィルターサイズの主走査方向の画素数より1だけ少ない数の画素である。
この実施の形態では、転送回路15は、ラインバッファー12内のラインがフィルター演算に不要となった時点で(つまり、そのラインに次の1ラインを上書き可能となった時点で)、不要となったそのラインの後端部分の画像データを境界バッファー14へ転送する。
なお、1ブロックの1ライン分の画像データのデータ量は、上述の特定データ量に所定整数mを乗じた量以下であって、かつ、1ブロックの1ライン分のフィルター演算に必要な画像データのデータ量が、上述の特定データ量に上述のmを乗じた量を超えるように、1ブロックの1ラインが有する画素の数が設定されている。なお、1ブロックの1ライン分の画像データのデータ量が、上述の特定データ量の整数倍となっていることが好ましい。
図2は、原画像におけるブロックの一例を示す図である。例えば図2に示すように1ブロックは、128画素×128ラインの領域とされ、1画素の画像データのサイズが1バイトである場合、1ラインの画像データのデータ量は、128バイトとなり、バースト転送のデータ量である64バイトの2倍となる。フィルター演算回路11のフィルターサイズが9画素×9ラインである場合、1ブロックの上側および下側のそれぞれ4ラインが、1ブロックのフィルター出力を得るのにさらに必要となる。つまり、この場合、1ブロックのフィルター出力を得るのに、136ライン(1ラインは128画素)の画像データが必要になる。
図3は、原画像において主走査方向に連続するブロックを説明する図である。図4は、図3に示す各ブロックのデータフローについて説明する図である。
例えば図3に示すように128画素×128ラインのブロックが配列されている場合、まず、先頭のブロック61−1については、図2に示すように周辺の8ラインを含む136ライン(1ライン128画素)が、順次にDRAM2からラインバッファー12へ読み出されていき、ラインバッファー12内の1ラインあたり128画素で9ラインを使用して、128ラインについて1ラインあたり124画素のフィルター出力が連続的に得られる。
その間、ラインバッファー12へ読み出された128画素×136ライン分の画像データのうち、後端部分62−1(8画素×136ラインの領域)の画像データが境界バッファー14へ順次転送される。
次のブロック61−2については、同様に、周辺の8ラインを含む136ライン(1ライン128画素)が、順次にDRAM2からラインバッファー12へ読み出されていき、128ラインについて、境界バッファー14内の8画素およびラインバッファー内の128画素の合計136画素のラインを9本使用して、1ラインあたり、ブロック61−1の残り4画素のフィルター出力およびブロック61−2の124画素のフィルター出力が連続的に得られる。
その間、ラインバッファー12へ読み出された128画素×136ライン分の画像データのうち、後端部分62−2(8画素×136ラインの領域)の画像データが境界バッファー14へ順次転送される。このとき、後端部分62−1のうちの不要となったラインに、順次、後端部分62−2のラインが上書きされていく。
その後、最後のブロック61−Nまでの各ブロック61−iについて、ブロック62−2についての処理と同様の処理が行われる。ただし、最後のブロック61−Nの主走査方向の画素数が124以外であれば、最後のブロック61−Nについては、各ラインでフィルター出力が得られる画素の数は128未満となる。
なお、原画像の辺を含むブロックについては、例えば、その辺の外側の画素の画素値をゼロとしてフィルター演算を行えばよい。
次に、上記画像処理装置の動作について説明する。図5は、図1に示す画像処理装置における1ブロック分の処理について説明するフローチャートである。
まず、メモリーコントローラー13は、1ブロック分のフィルター演算に必要な136ラインの先頭から9ライン分の画像データをラインバッファー12に読み出す(ステップS1)。
次に、フィルター演算回路11は、フィルター出力を演算すべき注目画素の位置に応じて、ラインバッファー12、または、ラインバッファー12および境界バッファー14の両方から、フィルター演算に必要な画素の画像データを読み出し、読み出した画像データを使用してフィルター演算を行い、その演算結果をフィルター出力として出力する。フィルター演算回路11は、注目画素を1画素ずつ移動させながら、1ライン分の画素について順番にフィルター演算を行う(ステップS2)。
1ライン分のフィルター演算が完了すると、フィルター演算回路11からの指令に基づいて、転送回路15は、そのラインより後続のラインについてのフィルター演算に使用しないラインの後端部分(ここでは8画素)の画像データを、ラインバッファー12から読み出し、境界バッファー14へ書き込む(ステップS3)。
そして、フィルター演算回路11は、ブロック内の最終ラインのフィルター出力が完了したか否かを判定する(ステップS4)。
ブロック内の最終ラインのフィルター出力が完了していなければ、フィルター演算回路11からの指令に基づいて、メモリーコントローラー13は、後続の1ライン(128画素)の画像データをDRAM2から読み出し、ラインバッファー12における、不要なラインに上書きする(ステップS5)。そして、ステップS2に戻り、次のラインについてのフィルター出力を得るために、フィルター演算を行う(ステップS2)。
一方、フィルター演算回路11は、ブロック内の最終ラインのフィルター出力が完了していれば、1ブロック分(つまり、前ブロックの残り4画素×128ライン分と当該ブロックの124画素×128ライン分)のフィルター出力が完了したと判定し、1ブロック分の処理を終了する。
このようにして、1つのブロック列において、前ブロックの残りと現ブロックの一部により構成される1ブロック分の処理が繰り返し行われていく。そして、主走査方向の終端ブロックについての処理が完了すると、副走査方向に隣接する次のブロック列について同様に処理が実行される。
以上のように、上記実施の形態によれば、DRAM2は、原画像の画像データを格納する。フィルター演算回路11は、所定のフィルターサイズでフィルター演算を行う。メモリーコントローラー13は、特定データ量のバースト転送を所定回数を行ってブロックの1ライン分ずつ、画像データをDRAM2からラインバッファー12へ読み出す。転送回路15は、ラインバッファー12の各ライン内の後端部分の画像データを境界バッファー14へ転送する。そして、その後端部分は、少なくともフィルターサイズの主走査方向の画素数より1だけ少ない数の画素であり、フィルター演算回路11は、主走査方向において第1ブロックに第2ブロックが隣接している場合において、境界バッファー14に格納されている第1ブロックの後端部分の画像データと、ラインバッファー12に格納されている第2ブロックの画像データとを使用して、第1ブロックの後端部分および第2ブロックに対するフィルター演算を連続的に行う。
これにより、バースト転送の回数が少なくて済むため、メモリーバス3の帯域を多く使用せずにフィルター演算を実行することができる。
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
例えば、上記実施の形態におけるブロックサイズ、フィルターサイズなどの一例であり、上記の数値に限定されるものではない。
本発明は、例えば、プリンター、複合機などの画像形成装置内の画像処理装置に適用可能である。
2 DRAM(メモリーの一例)
11 フィルター演算回路
12 ラインバッファー
13 メモリーコントローラー
14 境界バッファー
15 転送回路

Claims (2)

  1. ブロックごとにフィルター演算を行う画像処理装置において、
    画像データを格納するためのメモリーと、
    所定のフィルターサイズでフィルター演算を行うフィルター演算回路と、
    少なくとも前記フィルターサイズのライン数のラインの画像データを格納可能なラインバッファーと、
    特定データ量のバースト転送を所定回数行って前記ブロックの1ライン分ずつ、画像データを前記メモリーから前記ラインバッファーへ読み出すメモリーコントローラーと、
    境界バッファーと、
    前記ラインバッファーの各ライン内の後端部分の画像データを前記境界バッファーへ転送する転送回路とを備え、
    前記ブロックの1ライン分の画像データのデータ量が、前記特定データ量に所定整数mを乗じた量以下であって、かつ、前記ブロックの1ライン分の前記フィルター演算に必要な画像データのデータ量が、前記特定データ量に前記mを乗じた量を超えており、
    前記後端部分は、少なくとも前記フィルターサイズの主走査方向の画素数より1だけ少ない数の画素であり、
    前記フィルター演算回路は、主走査方向において第1ブロックに第2ブロックが隣接している場合において、前記境界バッファーに格納されている前記第1ブロックの前記後端部分の画像データと、前記ラインバッファーに格納されている前記第2ブロックの画像データとを使用して、前記第1ブロックの前記後端部分および前記第2ブロックに対するフィルター演算を連続的に行い、
    前記転送回路は、前記ラインバッファー内のラインが前記フィルター演算に不要となった時点で、不要となった前記ラインの後端部分の画像データを前記境界バッファーへ転送し、前記境界バッファー内の画像データを上書きすること、
    を特徴とする画像処理装置。
  2. 前記ブロックの1ライン分の画像データのデータ量が前記特定データ量の整数倍であることを特徴とする請求項記載の画像処理装置。
JP2014210557A 2014-10-15 2014-10-15 画像処理装置 Active JP6241670B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014210557A JP6241670B2 (ja) 2014-10-15 2014-10-15 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014210557A JP6241670B2 (ja) 2014-10-15 2014-10-15 画像処理装置

Publications (2)

Publication Number Publication Date
JP2016081214A JP2016081214A (ja) 2016-05-16
JP6241670B2 true JP6241670B2 (ja) 2017-12-06

Family

ID=55956305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014210557A Active JP6241670B2 (ja) 2014-10-15 2014-10-15 画像処理装置

Country Status (1)

Country Link
JP (1) JP6241670B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002199281A (ja) * 2000-12-25 2002-07-12 Seiko Epson Corp 画像処理装置
JP2007304803A (ja) * 2006-05-10 2007-11-22 Fuji Xerox Co Ltd 画像処理装置
JP5231330B2 (ja) * 2009-05-26 2013-07-10 オリンパス株式会社 画像処理装置
JP6015374B2 (ja) * 2012-11-20 2016-10-26 株式会社ソシオネクスト 画像処理装置

Also Published As

Publication number Publication date
JP2016081214A (ja) 2016-05-16

Similar Documents

Publication Publication Date Title
JP2008250097A (ja) 描画装置
US9569703B2 (en) Data transfer apparatus and method thereof
JP5886583B2 (ja) データ処理装置、処理方法、制御方法、及びプログラム
JP2009151571A5 (ja)
US9786250B2 (en) Control apparatus, image processing apparatus, control method, and non-transitory computer-readable storage medium
JP2008193529A (ja) 走査変換装置及び走査変換方法
JP6395000B2 (ja) 画像処理装置
JP6241670B2 (ja) 画像処理装置
JP2016134005A (ja) 画像処理装置
JP2015201672A5 (ja)
JP4992753B2 (ja) 画像処理装置、画像処理方法
JP2007226330A5 (ja)
JP4790545B2 (ja) 画像処理装置、画像処理方法
JP5583563B2 (ja) データ処理装置
KR101540300B1 (ko) 캐시 메모리를 이용한 이미지 워핑 시스템 및 그 방법
JP2009252042A (ja) バッファ制御装置、情報処理装置、撮像装置、およびバッファ制御方法
JP2007272667A (ja) リングバッファ装置
JP6156653B2 (ja) 画像変形装置
JP4316476B2 (ja) 画像処理装置、画像形成装置
JP6205980B2 (ja) 画像転送装置及び画像転送方法
JP2006135825A (ja) 画像補間処理装置
JP6563358B2 (ja) 画像処理装置及び画像処理方法
JP2006094160A (ja) 画像処理方法及び画像処理装置並びに画像処理プログラム
JP6631119B2 (ja) 画像処理装置
JP2011041115A (ja) 画像読取装置および画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160923

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171025

R150 Certificate of patent or registration of utility model

Ref document number: 6241670

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150