JP2017192045A - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP2017192045A
JP2017192045A JP2016080662A JP2016080662A JP2017192045A JP 2017192045 A JP2017192045 A JP 2017192045A JP 2016080662 A JP2016080662 A JP 2016080662A JP 2016080662 A JP2016080662 A JP 2016080662A JP 2017192045 A JP2017192045 A JP 2017192045A
Authority
JP
Japan
Prior art keywords
block
image data
scanning direction
line
filter
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.)
Granted
Application number
JP2016080662A
Other languages
English (en)
Other versions
JP6395000B2 (ja
Inventor
篤志 西田
Atsushi Nishida
篤志 西田
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 JP2016080662A priority Critical patent/JP6395000B2/ja
Priority to US15/483,020 priority patent/US9947075B2/en
Publication of JP2017192045A publication Critical patent/JP2017192045A/ja
Application granted granted Critical
Publication of JP6395000B2 publication Critical patent/JP6395000B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】 メモリーバスの帯域を多く使用せずにフィルター演算を実行可能にする。【解決手段】 ライトDMAC6は、特定データ量のバースト転送で、デコード回路2による復号後のブロックの副走査方向の後端部分の画像データをDRAM3へ書き込む。リードDMAC7は、特定データ量のバースト転送で、副走査方向における1つ前のブロックの後端部分の画像データをDRAM3から読み出す。DRAM3およびデコード回路2からの画像データが順番にラインバッファー12へ格納される。ラインバッファー12の各ライン内の後端部分の画像データが境界バッファー14へ転送される。フィルター演算回路11は、主走査方向に隣接した第1ブロックと第2ブロックについて、境界バッファー14における第1ブロックの後端部分およびラインバッファー12における第2ブロックの画像データとに対してフィルター演算を連続的に行う。【選択図】 図1

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メモリーコントローラーと、前記特定データ量のバースト転送で、前記ブロックの副走査方向の後端部分の復号された前記画像データを前記デコード回路から前記メモリーへ書き込む第2メモリーコントローラーと、少なくとも前記フィルターサイズのライン数のラインの画像データを格納可能なラインバッファーと、前記特定データ量のバースト転送を所定回数行って前記ブロックの1ライン分ずつ、副走査方向における1つ前の前記ブロックについて前記復号された画像データを前記メモリーから読み出す第3メモリーコントローラーと、前記第3メモリーコントローラーにより読み出された前記復号された画像データおよび前記デコード回路により復号された前記画像データを順番に前記ラインバッファーへ格納するデータ入力回路と、境界バッファーと、前記ラインバッファーの各ライン内の主走査方向の後端部分の画像データを前記境界バッファーへ転送する転送回路とを備える。
前記第2メモリーコントローラーにより前記メモリーへ書き込まれる前記ブロックの副走査方向の後端部分は、少なくとも前記フィルターサイズの副走査方向のライン数より1だけ少ない数のラインである。前記各ライン内の主走査方向の後端部分は、少なくとも前記フィルターサイズの主走査方向の画素数より1だけ少ない数の画素である。
そして、前記フィルター演算回路は、副走査方向において第1ブロックに第2ブロックが隣接しており、かつ、副走査方向において第3ブロックに第4ブロックが隣接しており、かつ、主走査方向において前記第1ブロックに前記第3ブロックが隣接している場合において、前記境界バッファーに格納されている画像データと前記ラインバッファーに格納されている画像データとを使用して、前記第1ブロックの副走査方向の後端部分と前記第2ブロックとに対する主走査方向の後端部分、並びに前記第3ブロックの副走査方向の後端部分および前記第4ブロックに対するフィルター演算を連続的に行う。
本発明によれば、メモリーバスの帯域を多く使用せずにフィルター演算を実行可能な画像処理装置を得ることができる。
本発明の上記又は他の目的、特徴および優位性は、添付の図面とともに以下の詳細な説明から更に明らかになる。
図1は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。 図2は、図1におけるフィルター処理部1の構成を示すブロック図である。 図3は、原画像におけるブロックの一例を示す図である。 図4は、原画像において主走査方向および副走査方向に連続するブロックを説明する図である。 図5は、図2に示すフィルター処理部1における、図4に示す各ブロックについてのデータフローについて説明する図である。 図6は、図2に示すフィルター処理部1における、副走査方向の先頭ブロックのデータフローについて説明する図である。 図7は、図1に示す画像処理装置における、復号された画像データのブロックと、フィルター演算される画像データとの対応関係を説明する図である。 図8は、図2に示すフィルター処理部1における1ブロック分の処理について説明するフローチャートである。
以下、図に基づいて本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。図1に示す画像処理装置は、フィルター処理部1、デコード回路2、DRAM3、メモリーバス4、リードDMAC(Direct Memory Access Controller)5、ライトDMAC6、リードDMAC7、およびライトDMAC8を備える。
フィルター処理部1は、デコード回路2により復号された画像データ(符号化されていない画像データ、つまり、ラスター画像データ)に対してブロックごとに、所定のフィルターサイズのフィルター演算を行う。
デコード回路2は、例えばJPEG(Joint Photographic Experts Group)などの所定の方式で符号化されている画像データを、所定サイズのブロック(例えば128画素×128ライン)ごとに走査方向に沿って順番に復号する。
DRAM3は、符号化された画像データ、復号された画像データの一部、およびフィルター処理された画像データが格納されるメモリーである。
メモリーバス4には、DRAM3、リードDMAC5,7およびライトDMAC6,8が接続されている。
リードDMAC5,7は、メモリーバス4を介してDRAM3からのデータの読み出しを行う。ライトDMAC6,8は、メモリーバス4を介してDRAM3へのデータの書き込みを行う。
リードDMAC5は、特定データ量のバースト転送で、各ブロックの符号化された画像データをDRAM3からデコード回路2へ読み出す第1メモリーコントローラーである。
ライトDMAC6は、特定データ量のバースト転送で、ブロックの副走査方向の後端部分の復号された画像データをデコード回路2からDRAM3へ書き込む第2メモリーコントローラーである。
なお、ライトDMAC6によりDRAM3へ書き込まれるブロックの副走査方向の後端部分は、少なくともフィルター処理部1のフィルターサイズの副走査方向のライン数より1だけ少ない数のラインである。
リードDMAC7は、特定データ量のバースト転送を所定回数行ってブロックの1ライン分ずつ、副走査方向における1つ前のブロックについて復号された画像データをDRAM3から読み出す第3メモリーコントローラーである。
なお、リードDRAM7によるリード後、DRAM3内の復号された画像データは破棄可能であるため、ライトDRAM6は、リードDRAM7によるリード後の画像データに上書きして、画像データをDRAM3に書き込むようにしてもよい。
ライトDMAC8は、特定データ量のバースト転送で、フィルター処理された画像データをフィルター処理部1からDRAM3へ書き込む第4メモリーコントローラーである。
図2は、図1におけるフィルター処理部1の構成を示すブロック図である。
図2に示すフィルター処理部1は、フィルター演算回路11、ラインバッファー12、データ入力回路13、境界バッファー14、および転送回路15を備える。
フィルター演算回路11は、画像処理のために、所定のフィルターサイズでフィルター演算を行う。例えば、フィルター演算回路11は、注目画素を中心とした9画素×9ラインのフィルターサイズで、注目画素についてのフィルター演算結果を得るためのフィルター演算を行う。
具体的には、副走査方向において第1ブロックに第2ブロックが隣接しており、かつ、副走査方向において第3ブロックに第4ブロックが隣接しており、かつ、主走査方向において第1ブロックに第3ブロックが隣接している場合において、フィルター演算回路11は、境界バッファー14に格納されている画像データとラインバッファー12に格納されている画像データとを使用して、第1ブロックの副走査方向の後端部分の画像データと第2ブロックの画像データとに対する主走査方向の後端部分、並びに第3ブロックの副走査方向の後端部分および第4ブロックに対するフィルター演算を連続的に行う。
ラインバッファー12は、少なくともフィルターサイズのライン数のラインの画像データを格納可能なメモリーである。ラインバッファー12には、例えばSRAM(Static RAM)が使用される。例えば、フィルターサイズが9画素×9ラインであり、ブロックにおける1ラインの画素数が128である場合、ラインバッファー12は、128画素×9ラインの画像データを格納可能である。
データ入力回路13は、リードDRAM7により読み出された復号された画像データ(副走査方向における1つ前のブロックの画像データ)およびデコード回路2により復号された画像データを順番にラインバッファー12へ格納する。
データ入力回路13は、まず、リードDRAM7により読み出された所定ライン数の画像データをラインバッファー12に順番に格納し、それに続き、デコード回路2により復号された画像データを順番にラインバッファー12へ格納する。
境界バッファー14は、ラインバッファー12に読み出された画像データのうち、主走査方向における次のブロックとともにフィルター演算に使用されるものを一時的に保持するためのメモリーである。境界バッファー14には、例えばSRAMが使用される。
転送回路15は、ラインバッファー12の各ライン内の主走査方向の後端部分の画像データを境界バッファー14へ転送する。この後端部分は、少なくともフィルターサイズの主走査方向の画素数より1だけ少ない数の画素である。ここでは、この後端部分は、フィルターサイズの主走査方向の画素数より1だけ少ない数の画素である。
この実施の形態では、転送回路15は、ラインバッファー12内のラインがフィルター演算に不要となった時点で(つまり、そのラインに次の1ラインを上書き可能となった時点で)、不要となったそのラインの後端部分の画像データを境界バッファー14へ転送する。
なお、1ブロックの1ライン分の画像データのデータ量は、上述の特定データ量に所定整数mを乗じた量以下であって、かつ、1ブロックの1ライン分のフィルター演算に必要な画像データのデータ量が、上述の特定データ量に上述のmを乗じた量を超えるように、1ブロックの1ラインが有する画素の数が設定されている。なお、1ブロックの1ライン分の画像データのデータ量が、上述の特定データ量の整数倍となっていることが好ましい。
図3は、原画像におけるブロックの一例を示す図である。例えば図3に示すように1ブロックは、128画素×128ラインの領域とされ、1画素の画像データのサイズが1バイトである場合、1ラインの画像データのデータ量は、128バイトとなり、バースト転送のデータ量である64バイトの2倍となる。フィルター演算回路11のフィルターサイズが9画素×9ラインである場合、1ブロックの上側および下側並びに前側および後側のそれぞれ4ラインが、1ブロックのフィルター出力を得るのにさらに必要となる。つまり、この場合、1ブロックのフィルター出力を得るのに、136画素×136ラインの画像データが必要になる。
図4は、原画像において主走査方向および副走査方向に連続するブロックを説明する図である。図5は、図4に示す各ブロックのデータフローについて説明する図である。
例えば図4に示すように128画素×128ラインのブロック61−(i,1),・・・,61−(i,j−1),61−(i,j),・・・が副走査方向に配列されている場合、ブロック61−(i,j−1)についての画像データの復号が完了すると、ブロック61−(i,j−1)の後端部分(128画素×8ライン)が、61−(i,j)が処理対象ブロックになるまでDRAM3にバッファリングされる。そして、ブロック61−(i,j)が処理対象ブロックになると、ブロック61−(i,j−1)の後端部分(128画素×8ライン)がDRAM3から読み出され、また、ブロック61−(i,j)についての復号された画像データ(128画素×128ライン)がデコード回路2から読み出されることで、処理対象のブロック61−(i,j)について、128画素×136ライン分の画像データが順次ラインバッファー12に用意される。
例えば図4に示すように128画素×128ラインのブロック61−(1,j)〜61−(N,j)が主走査方向に配列されている場合、まず、主走査方向の先頭のブロック61−(1,j)については、図3に示すように周辺の8ラインを含む136ライン(つまり、128画素×136ラインの画像データ)が、上述のようにして、DRAM3およびデコード回路2からラインバッファー12へ読み出されていき、ラインバッファー12内の1ラインあたり128画素で9ラインを使用して、128ラインについて1ラインあたり124画素のフィルター出力が連続的に得られる。
その間、ラインバッファー12へ順次読み出された128画素×136ライン分の画像データのうち、後端部分62−1(8画素×136ラインの領域)の画像データが境界バッファー14へ順次転送される。
次のブロック61−(2,j)については、同様に、周辺の8ラインを含む136ライン(1ライン128画素)が、DRAM3およびデコード回路2からラインバッファー12へ読み出されていき、128ラインについて、境界バッファー14内の8画素およびラインバッファー内の128画素の合計136画素のラインを9本使用して、1ラインあたり、ブロック61−1の残り4画素のフィルター出力およびブロック61−(2,j)の124画素のフィルター出力が連続的に得られる。
その間、ラインバッファー12へ読み出された128画素×136ライン分の画像データのうち、後端部分62−2(8画素×136ラインの領域)の画像データが境界バッファー14へ順次転送される。このとき、後端部分62−1のうちの不要となったラインに、順次、後端部分62−2のラインが上書きされていく。
その後、最後のブロック61−(N,j)までの各ブロック61−(i,j)について、ブロック62−2についての処理と同様の処理が行われる。ただし、最後のブロック61−(N,j)の主走査方向の画素数が124以外であれば、最後のブロック61−(N,j)については、各ラインでフィルター出力が得られる画素の数は128未満となる。
なお、原画像の辺を含むブロックについては、例えば、その辺の外側の画素の画素値をゼロとしてフィルター演算を行えばよい。
図6は、図2に示すフィルター処理部1における、副走査方向の先頭ブロック61−(i,1)のデータフローについて説明する図である。
副走査方向の先頭ブロック61−(i,1)については、DRAM3から読み出すべき画像データがないため、図6に示すように、デコード回路2から読み出した復号された画像データのみに対してフィルター演算が行われる。
次に、上記画像処理装置の動作について説明する。
デコード回路2は、リードDMAC5を使用して、符号化された画像データをDRAM3から読み出し、主走査方向および副走査方向の先頭のブロック61−(1,1)(上述の例では、128画素×128ラインのブロック)から、主走査方向および副走査方向に沿って、順番に、1ブロックずつ、処理対象のブロックを選択していき、処理対象のブロック61−(i,j)の符号化された画像データを復号する。
各ブロック61−(i,j)の復号された画像データは、デコード回路2からフィルター処理部1へ読み出されるとともに、各ブロック61−(i,j)の復号された画像データの後端の所定ライン部分は、ライトDMAC6により、DRAM3の所定記憶領域に書き込まれる。
副走査方向の先頭ブロック61−(i,1)については、フィルター処理部1は、図6に示すように、デコード回路2および境界バッファー14から1ブロック分の画像データを読み出し、フィルター演算(上述の例では、124ライン分のフィルター演算)を連続的に行う。
副走査方向の先頭ブロック以外のブロックについては、フィルター処理部1は、データ入力回路13で、図5に示すように、リードDMAC7を使用してDRAM3の所定記憶領域から所定ライン分の画像データ(副走査方向における1つ前のブロックの副走査方向の後端部分の画像データ)を読み出すとともにデコード回路2および境界バッファー14から1ブロック分の画像データを読み出し、フィルター演算(上述の例では、128ライン分のフィルター演算)を連続的に行う。
つまり、処理対象のブロックに対して副走査方向における1つ前のブロックの副走査方向の後端部分の画像データ、処理対象のブロックに対して主走査方向における1つ前のブロックの主走査方向の後端部分の画像データ、および処理対象のブロックについて復号された画像データに対してフィルター演算が行われる。
このように、原画像において、各ブロックの復号された画像データの後端部分がDRAM3の所定記憶領域にバッファリングされ、副走査方向において隣接する後続ブロックのフィルター演算に使用される。
これにより、全ブロックの画像データを復号してページメモリーなどに格納した後にフィルター演算を開始する必要がなく、1つのブロックに対して連続的に復号およびフィルター演算が行われる。
図7は、図1に示す画像処理装置における、復号された画像データのブロックと、フィルター演算される画像データとの対応関係を説明する図である。
具体的には、図7に示すように、副走査方向において第1ブロック61−(i−1,j−1)に第2ブロック61−(i−1,j)が隣接しており、かつ、副走査方向において第3ブロック61−(i,j−1)に第4ブロック61−(i,j)が隣接しており、かつ、主走査方向において第1ブロック61−(i−1,j−1)に第3ブロック61−(i,j−1)が隣接している場合において、フィルター演算回路11は、境界バッファー14に格納されている画像データとラインバッファー12に格納されている画像データとを使用して、(a)第1ブロック61−(i−1,j−1)の副走査方向の後端部分71−(i−1,j−1)と第2ブロック61−(i−1,j)とに対する主走査方向の後端部分81−(i−1,j)、並びに(b)第3ブロック61−(i,j−1)の副走査方向の後端部分71−(i,j−1)および(c)第4ブロック61−(i,j)に対するフィルター演算を連続的に行う。
ここで、主走査方向の後端部分81−(i−1,j)は、第1ブロック61−(i−1,j−1)の副走査方向の後端部分71−(i−1,j−1)の主走査方向の後端部分72−(i−1,j−1)を含んでいる。
第1ブロック61−(i−1,j−1)の副走査方向の後端部分71−(i−1,j−1)および第3ブロック61−(i,j−1)の副走査方向の後端部分71−(i,j−1)は、DRAM3でバッファリングされ、ラインバッファー12へ適時読み出され使用される。また、主走査方向の後端部分81−(i−1,j)は、境界バッファー14でバッファリングされ、適時読み出され使用される。
このように、第1ブロック61−(i−1,j−1)の副走査方向の後端部分71−(i−1,j−1)および第2ブロック61−(i−1,j)に対する主走査方向の後端部分81−(i−1,j)、並びに第3ブロックの副走査方向の後端部分71−(i,j−1)および第4ブロック61−(i,j)が、136画素×136ラインの領域の画素データとなり、128画素×128ラインの領域91−(i,j)に対するフィルター演算が可能となる。
そして、これにより、図7に示す128画素×128ラインの領域91−(i,j)のフィルター演算結果が得られる。領域91−(i,j)は、領域101,102,103,104を含み、領域101は、第1ブロック61−(i−1,j−1)の一部(4画素×4ライン)であり、領域102は、第2ブロック61−(i−1,j)の一部(124画素×4ライン)であり、領域103は、第3ブロック61−(i,j−1)の一部(4画素×124ライン)であり、領域104は、第4ブロック61−(i,j)の一部(124画素×124ライン)である。
そして、フィルター処理部1は、フィルター演算後の各ブロックの画像データを、ライトDMAC8を使用して、特定データ量のバースト転送でDRAM3に書き込む。
このようにして、走査方向に沿って順番に処理対象のブロックが選択されていき、各ブロックに対して復号およびフィルター演算が連続的に実行される。
ここで、フィルター処理部1の処理について説明する。図8は、図2に示すフィルター処理部1における1ブロック分の処理について説明するフローチャートである。
まず、データ入力回路13は、1ブロック分のフィルター演算に必要な136ラインの先頭から9ライン分の画像データを、デコード回路2またはDRAM3からラインバッファー12に読み出す(ステップS1)。
次に、フィルター演算回路11は、フィルター出力を演算すべき注目画素の位置に応じて、ラインバッファー12、または、ラインバッファー12および境界バッファー14の両方から、フィルター演算に必要な画素の画像データを読み出し、読み出した画像データを使用してフィルター演算を行い、その演算結果をフィルター出力として出力する。フィルター演算回路11は、注目画素を1画素ずつ移動させながら、1ライン分の画素について順番にフィルター演算を行う(ステップS2)。
1ライン分のフィルター演算が完了すると、フィルター演算回路11からの指令に基づいて、転送回路15は、そのラインより後続のラインについてのフィルター演算に使用しないラインの後端部分(ここでは8画素)の画像データを、ラインバッファー12から読み出し、境界バッファー14へ書き込む(ステップS3)。
そして、フィルター演算回路11は、ブロック内の最終ラインのフィルター出力が完了したか否かを判定する(ステップS4)。
ブロック内の最終ラインのフィルター出力が完了していなければ、フィルター演算回路11からの指令に基づいて、データ入力回路13は、後続の1ライン(128画素)の画像データをデコード回路2から読み出し、ラインバッファー12における、不要なラインに上書きする(ステップS5)。そして、ステップS2に戻り、次のラインについてのフィルター出力を得るために、フィルター演算を行う(ステップS2)。
一方、フィルター演算回路11は、ブロック内の最終ラインのフィルター出力が完了していれば、1ブロック分(つまり、前ブロックの残り4画素×128ライン分と当該ブロックの124画素×128ライン分)のフィルター出力が完了したと判定し、1ブロック分の処理を終了する。
このようにして、主走査方向に沿った1つのブロック列において、前ブロックの残りと現ブロックの一部により構成される1ブロック分の処理が繰り返し行われていく。そして、主走査方向の終端ブロックについての処理が完了すると、副走査方向に隣接する次のブロック列について同様に処理が実行される。
以上のように、上記実施の形態によれば、デコード回路2は、符号化された画像データを復号する。フィルター演算回路11は、デコード回路2により復号された画像データに対して所定のフィルターサイズでフィルター演算を行う。
リードDMAC5は、特定データ量のバースト転送で、各ブロックの符号化された画像データをDRAM3からデコード回路2へ読み出す。ライトDMAC6は、特定データ量のバースト転送で、ブロックの副走査方向の後端部分の復号された画像データをデコード回路2からDRAM3へ書き込む。リードDMAC7は、特定データ量のバースト転送を所定回数行ってブロックの1ライン分ずつ、副走査方向における1つ前のブロックについて復号された画像データをDRAM3から読み出す。
データ入力回路13は、リードDMAC7により読み出された復号された画像データおよびデコード回路2により復号された画像データを順番にラインバッファー12へ格納する。転送回路15は、ラインバッファー12の各ライン内の主走査方向の後端部分の画像データを境界バッファー14へ転送する。
ライトDMAC6によりDRAM3へ書き込まれるブロックの副走査方向の後端部分は、少なくともフィルターサイズの副走査方向のライン数より1だけ少ない数のラインである。各ライン内の主走査方向の後端部分は、少なくともフィルターサイズの主走査方向の画素数より1だけ少ない数の画素である。
そして、フィルター演算回路11は、副走査方向において第1ブロックに第2ブロックが隣接しており、かつ、副走査方向において第3ブロックに第4ブロックが隣接しており、かつ、主走査方向において第1ブロックに第3ブロックが隣接している場合において、境界バッファー14に格納されている画像データとラインバッファー12に格納されている画像データとを使用して、第1ブロックの副走査方向の後端部分と第2ブロックとに対する主走査方向の後端部分、並びに第3ブロックの副走査方向の後端部分および第4ブロックに対するフィルター演算を連続的に行う。
これにより、バースト転送の回数が少なくて済むため、メモリーバス4の帯域を多く使用せずにフィルター演算を実行することができる。
また、上記実施の形態によれば、復号された画像データのうち、副走査方向において隣接する次のブロックのフィルター演算に使用する部分がDRAM3にバッファリングされる。
これにより、全ブロックの画像データを復号してページメモリーなどに格納した後にフィルター演算を開始する必要がなく、ブロック単位で連続的に復号およびフィルター演算が行われる。
なお、上述の実施の形態に対する様々な変更および修正については、当業者には明らかである。そのような変更および修正は、その主題の趣旨および範囲から離れることなく、かつ、意図された利点を弱めることなく行われてもよい。つまり、そのような変更および修正が請求の範囲に含まれることを意図している。
例えば、上記実施の形態におけるブロックサイズ、フィルターサイズなどの一例であり、上記の数値に限定されるものではない。
本発明は、例えば、プリンター、複合機などの画像形成装置内の画像処理装置に適用可能である。
1 フィルター処理部
2 デコード回路
3 DRAM(メモリーの一例)
5 リードDMAC(第1メモリーコントローラーの一例)
6 ライトDMAC(第2メモリーコントローラーの一例)
7 リードDMAC(第3メモリーコントローラーの一例)
11 フィルター演算回路
12 ラインバッファー
13 データ入力回路
14 境界バッファー
15 転送回路

Claims (4)

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016080662A JP6395000B2 (ja) 2016-04-13 2016-04-13 画像処理装置
US15/483,020 US9947075B2 (en) 2016-04-13 2017-04-10 Image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016080662A JP6395000B2 (ja) 2016-04-13 2016-04-13 画像処理装置

Publications (2)

Publication Number Publication Date
JP2017192045A true JP2017192045A (ja) 2017-10-19
JP6395000B2 JP6395000B2 (ja) 2018-09-26

Family

ID=60038946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016080662A Active JP6395000B2 (ja) 2016-04-13 2016-04-13 画像処理装置

Country Status (2)

Country Link
US (1) US9947075B2 (ja)
JP (1) JP6395000B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10657053B2 (en) * 2017-03-31 2020-05-19 Kyocera Document Solutions Inc. Memory allocation techniques for filtering software
CN114697675B (zh) * 2020-12-25 2024-04-05 扬智科技股份有限公司 解码显示系统与其存储器访问方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010278532A (ja) * 2009-05-26 2010-12-09 Olympus Imaging Corp 画像処理装置
JP2014102675A (ja) * 2012-11-20 2014-06-05 Fujitsu Semiconductor Ltd 画像処理装置
JP2015219592A (ja) * 2014-05-14 2015-12-07 株式会社ソシオネクスト 画像処理装置、撮像装置、及び画像処理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020710A (ja) 1998-07-06 2000-01-21 Matsushita Electric Ind Co Ltd 画像フォーマット変換装置
JP4144292B2 (ja) * 2002-08-20 2008-09-03 ソニー株式会社 画像処理装置と画像処理システム及び画像処理方法
US8203564B2 (en) * 2007-02-16 2012-06-19 Qualcomm Incorporated Efficient 2-D and 3-D graphics processing
ITMI20080999A1 (it) * 2008-05-29 2009-11-30 St Microelectronics Srl Modulo di renderizzazione per grafica a due dimensioni
US9443281B2 (en) * 2014-06-27 2016-09-13 Intel Corporation Pixel-based warping and scaling accelerator
US9852536B2 (en) * 2014-08-05 2017-12-26 Qualcomm Incorporated High order filtering in a graphics processing unit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010278532A (ja) * 2009-05-26 2010-12-09 Olympus Imaging Corp 画像処理装置
JP2014102675A (ja) * 2012-11-20 2014-06-05 Fujitsu Semiconductor Ltd 画像処理装置
JP2015219592A (ja) * 2014-05-14 2015-12-07 株式会社ソシオネクスト 画像処理装置、撮像装置、及び画像処理方法

Also Published As

Publication number Publication date
JP6395000B2 (ja) 2018-09-26
US9947075B2 (en) 2018-04-17
US20170301056A1 (en) 2017-10-19

Similar Documents

Publication Publication Date Title
US20120110224A1 (en) Data processing apparatus and image processing apparatus
JP6129574B2 (ja) 画像処理装置
JPWO2017149591A1 (ja) 画像処理装置
JP2008193529A (ja) 走査変換装置及び走査変換方法
JP5706754B2 (ja) データ処理装置及びデータ処理方法
JP6395000B2 (ja) 画像処理装置
JP4786484B2 (ja) 演算処理用データ供給方法および画像処理装置
JP4286192B2 (ja) 画像処理装置及び画像処理方法
JP4380740B2 (ja) 画像処理装置
JP5675278B2 (ja) データ処理装置および画像処理装置
JP2016134005A (ja) 画像処理装置
JP5597175B2 (ja) 画像圧縮装置及び画像処理システム
JP6295619B2 (ja) 画像処理装置及び方法、並びに電子機器
JP4380741B2 (ja) 画像処理装置
JP6241670B2 (ja) 画像処理装置
JP4713957B2 (ja) 画像処理装置
JP2000232587A (ja) 画像処理装置および画像処理方法
JP4992753B2 (ja) 画像処理装置、画像処理方法
JP2016058832A (ja) 画像処理装置、その制御方法、及びプログラム
JP5222803B2 (ja) 画像処理装置
JP5205317B2 (ja) 画像処理装置
JP4713970B2 (ja) 画像処理装置
JP2007272667A (ja) リングバッファ装置
JP4316476B2 (ja) 画像処理装置、画像形成装置
JP5003739B2 (ja) 画像表示装置および画像表示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180815

R150 Certificate of patent or registration of utility model

Ref document number: 6395000

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150