JP2012243159A - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP2012243159A JP2012243159A JP2011114107A JP2011114107A JP2012243159A JP 2012243159 A JP2012243159 A JP 2012243159A JP 2011114107 A JP2011114107 A JP 2011114107A JP 2011114107 A JP2011114107 A JP 2011114107A JP 2012243159 A JP2012243159 A JP 2012243159A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- pixels
- coefficient
- value
- image 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.)
- Withdrawn
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
【課題】 並列処理により画像処理の最低の処理速度を向上させるには、並列数に比例した大きさの回路規模が必要になる。
【解決手段】 隣接する複数の注目画素の画素値と当該複数の注目画素の属性情報及び複数の注目画素の周囲の画素の画素値とを用いて画像処理を行う画像処理装置であって、複数の注目画素の属性情報を基に、画像処理で用いる複数の係数値を生成する係数生成部と、複数の係数値の第1の係数値と、複数の注目画素の画素値と前記周囲の画素の画素値のそれぞれとの演算処理を行う複数の処理A部と、複数の係数値の第2の係数値と、複数の処理AB部の各グループのそれぞれの出力との演算処理を行う複数の処理B部と、複数の処理B部のそれぞれの出力の演算結果と、複数の係数値の第3の係数値とに応じた演算処理を行う複数の処理C部とを有し、複数の処理B部では、複数の注目画素それぞれの周囲の共通する画素の画素値と第1の係数値との演算を行う処理B部を共通化している。
【選択図】 図7
【解決手段】 隣接する複数の注目画素の画素値と当該複数の注目画素の属性情報及び複数の注目画素の周囲の画素の画素値とを用いて画像処理を行う画像処理装置であって、複数の注目画素の属性情報を基に、画像処理で用いる複数の係数値を生成する係数生成部と、複数の係数値の第1の係数値と、複数の注目画素の画素値と前記周囲の画素の画素値のそれぞれとの演算処理を行う複数の処理A部と、複数の係数値の第2の係数値と、複数の処理AB部の各グループのそれぞれの出力との演算処理を行う複数の処理B部と、複数の処理B部のそれぞれの出力の演算結果と、複数の係数値の第3の係数値とに応じた演算処理を行う複数の処理C部とを有し、複数の処理B部では、複数の注目画素それぞれの周囲の共通する画素の画素値と第1の係数値との演算を行う処理B部を共通化している。
【選択図】 図7
Description
本発明は、複数の画像処理を並列に行う画像処理装置に関するものである。
画像処理を高速に行う手法として、複数の画像処理回路を並列に設け、これら複数の画像処理回路で並行して画像処理を行う方法がある。これによれば、例えば回路を2組用意することで、2つの処理を並行して実施することにより、処理速度を上げることが可能になる。しかし、このような構成では回路規模も2倍となり、回路の設計・製造コストが大きなものとなってしまう。
そこで、なるべく少ない回路で処理を高速に行う技術として、並列処理が可能かどうかを判断して、可能な場合は並列処理を行い、不可能な場合は逐次処理を行うことが提案されている(例えば、特許文献1参照)。
しかしながら、並列処理が不可能な場合に逐次処理を行う構成では、逐次処理による最低処理速度を保証することができない。この最低処理速度を保証するためには、それと比例した大きさの回路規模が必要になるという課題がある。
本発明の目的は、上記従来技術の問題点を解決することにある。
本願発明の特徴は、回路規模の増大を抑えて、複数の注目画素に対する画像処理を並行して行うことができる画像処理装置を提供することにある。
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
隣接する複数の注目画素の画素値と当該複数の注目画素の属性情報及び前記複数の注目画素の周囲の画素の画素値とを用いて画像処理を行う画像処理装置であって、
前記複数の注目画素の属性情報を基に、前記画像処理で用いる複数の係数値を生成する係数生成手段と、
前記複数の係数値の第1の係数値と、前記複数の注目画素の画素値と前記周囲の画素の画素値のそれぞれとの演算処理を行う複数の第1の演算手段と、
前記複数の係数値の第2の係数値と、前記複数の第1の演算手段の各グループのそれぞれの出力との演算処理を行う複数の第2の演算手段と、
前記複数の第2の演算手段のそれぞれの出力の演算結果と、前記複数の係数値の第3の係数値とに応じた演算処理を行う複数の第3の演算手段とを有し、
前記複数の第1の演算手段では、前記複数の注目画素それぞれの周囲の共通する画素の画素値と前記第1の係数値との演算を行う演算手段を共通化したことを特徴とする。
隣接する複数の注目画素の画素値と当該複数の注目画素の属性情報及び前記複数の注目画素の周囲の画素の画素値とを用いて画像処理を行う画像処理装置であって、
前記複数の注目画素の属性情報を基に、前記画像処理で用いる複数の係数値を生成する係数生成手段と、
前記複数の係数値の第1の係数値と、前記複数の注目画素の画素値と前記周囲の画素の画素値のそれぞれとの演算処理を行う複数の第1の演算手段と、
前記複数の係数値の第2の係数値と、前記複数の第1の演算手段の各グループのそれぞれの出力との演算処理を行う複数の第2の演算手段と、
前記複数の第2の演算手段のそれぞれの出力の演算結果と、前記複数の係数値の第3の係数値とに応じた演算処理を行う複数の第3の演算手段とを有し、
前記複数の第1の演算手段では、前記複数の注目画素それぞれの周囲の共通する画素の画素値と前記第1の係数値との演算を行う演算手段を共通化したことを特徴とする。
本発明によれば、回路規模の増大を抑えて、複数の注目画素に対する画像処理を並行して行うことができる。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
図1は、本実施形態に係る画像処理装置1の構成を説明するブロック図である。
画像記憶部11は、画像処理装置1に供給される画素の画素データを、クロック信号16に同期して画素データバス13を介して2画素ずつ受信して記憶する。ここで、画素データは画素値と制御値(属性情報)とを有している。また画像記憶部11は、全ての画素データの受信が終わった後、画像記憶部11に記憶した画素データを2つの注目画素ずつ、それら注目画素の周囲の10個の画素の画素データと共に画素データバス14を介して演算部12に転送する。このとき、注目画素の画素データは画素値と制御値とを有し、周囲の10個の画素の画素データは画素値だけを含んでいる。この転送されるデータについては後述する。演算部12は、画像記憶部11から画像データバス14を介して転送された注目画素である2画素の画素データと、その周囲の10個の画素の画素データとを受信して、2つの注目画素の画素データを並列で演算する。また演算部12は、その演算結果の値を画素値とした画素データを、2画素ずつ画素データバス15を介して外部に出力する。
図2は、画像処理装置1が扱う画像と画素データとを説明する模式図である。
図2(A)は画像の模式図で、この画像は画素の集まりであることを表しており、各画素には識別のために左上を「00」とした座標の番号が振ってある。尚、ここで画素データとは、画素の持つデータを表しており、後述するように、画素の画素値と制御値とを含んでいる場合と、画素の画素値だけを含む場合とがある。
図2(B)は、実施形態に係る画像処理装置1に入力される画素データの模式図で、各画素データは、対応する画素の画素値と制御値とを含んでいる。
図2(C)は、画像処理装置1が出力する周辺画素の画素データの模式図で、各画素データには制御値は含まれず、対応する画素の画素値だけが含まれている。
図3は、画素データバス13を介して画像処理装置1に入力される画素データのタイミングチャートと、各画素の画像上での位置関係を示す模式図である。
図3(A)は、画素データバス13における画素データの転送タイミングを示すタイミングチャートである。ここでは有効信号がハイレベルにある間、クロック信号16に同期して、各クロック周期ごとに2画素ずつの画素データがに転送される。ここで各画素データは画素値と制御値とを含んでいる。
図3(B)は、1クロック周期で画像処理装置1に入力される2つの画素データの、図2(A)の画像上での位置関係を表した模式図である。画素値Aと制御値Aで構成される画素データAの画素Aと、画素値Bと制御値Bで構成される画素データBの画素Bとは、画像で水平方向に隣接した2つの画素であることを表している。
図3(C)は、図3(A)の301で示す、クロック信号のクロック周期2で転送される2つの画素データに対応する2つの画素の、画像上での位置関係を表した模式図である。画素値00と制御値00で構成される画素データ00の画素00と、画素値01と制御値01で構成される画素データ01の画素01は、画像上で水平方向に隣接した2つの画素であることを表している。
また図3(D)は、図3(A)の302で示す、クロック信号のクロック周期3で転送される2つの画素データに対応する2つの画素の、画像上での位置関係を表した模式図である。画素値02と制御値02で構成される画素データ02の画素02と、画素値03と制御値03で構成される画素データ03の画素03は、画像上で水平方向に隣接した2つの画素であることを表している。
このように、画像上で水平方向に隣接した2つの画素の画素値と制御値で構成される画素データが、画素データバス13を介してクロック信号16に同期して画像処理装置1に供給される。
図4は、画像処理装置1から画素データバス15を介して出力される画素データのタイミングチャートと、各画素の画像上での位置関係を示す模式図である。
図4(A)は、画素データバス15における画素データの転送タイミングを示すタイミングチャートである。ここでは画像処理装置1は有効信号をハイレベルにして、画素データを2画素ずつ、クロック信号に同期して転送する。ここでは各画素データは、画素値だけで構成される。
図4(B)は、クロック信号の1クロック周期で画像処理装置1が出力する2つの画素データの画像上での位置関係を表した模式図である。画素値Aで構成される画素データAの画素Aと、画素値Bで構成される画素データBの画素Bは、画像上で水平方向に隣接した2つの画素である。
図4(C)は、図4(A)の401で示す、クロック信号のクロック周期2で転送される2つの画素データに対応する2つの画素の画像上での位置関係を表した模式図である。画素値00で構成される画素データ00の画素00と、画素値01で構成される画素データ01の画素01は、画像上で水平方向に隣接した2つの画素である。
また図4(D)は、図4(A)の402で示す、クロック周期3で転送される2つの画素データに対応する2つの画素の画像上での位置関係を表した模式図である。画素値02で構成される画素データ02の画素02と、画素値03で構成される画素データ03の画素03は、画像上で水平方向に隣接した2つの画素である。
このように、画像上で水平方向に隣接した2つの画素の画素値で構成される2つの画素データが、クロック信号の1クロック周期に同期して、画素データバス15を介して画像処理装置1から出力される。
図5は、画像記憶部11が演算部12に転送する画素データのタイミングチャートと、各画素の画像上での位置関係を示す模式図である。
図5(A)は、画素データバス14のデータ転送タイミングを説明するタイミングチャートである。画像記憶部11は画素データを、画像処理の対象である注目画素を2つの画素ずつ、また、その注目画素の演算に使用するための周囲の10個の画素を、それぞれクロック信号に同期して、有効信号をハイレベルにして転送する。注目画素である2つの画素の画素データは画素値と制御値を含み、周囲の10個の画素の画素データは、それぞれ画素値だけを含んでいる。図5(A)で、画素値BBと制御値BB、及び画素値BCと制御値BCが2つの注目画素の画素データで、画素値AA,AB,AC,AD,BA,BD,CA,CB,CC及びCDが周囲の10個の画素の画素データを示している(図5(B)参照)。尚、図5(A)において、501は注目画素が存在している画像のラインの1つ上のライン、502は注目画素が存在している画像のライン、そして503は注目画素が存在している画像のラインの1つ下のラインを示している(図5(B)参照)。また504は、注目画素の制御値である。
図5(A)は、画素データバス14のデータ転送タイミングを説明するタイミングチャートである。画像記憶部11は画素データを、画像処理の対象である注目画素を2つの画素ずつ、また、その注目画素の演算に使用するための周囲の10個の画素を、それぞれクロック信号に同期して、有効信号をハイレベルにして転送する。注目画素である2つの画素の画素データは画素値と制御値を含み、周囲の10個の画素の画素データは、それぞれ画素値だけを含んでいる。図5(A)で、画素値BBと制御値BB、及び画素値BCと制御値BCが2つの注目画素の画素データで、画素値AA,AB,AC,AD,BA,BD,CA,CB,CC及びCDが周囲の10個の画素の画素データを示している(図5(B)参照)。尚、図5(A)において、501は注目画素が存在している画像のラインの1つ上のライン、502は注目画素が存在している画像のライン、そして503は注目画素が存在している画像のラインの1つ下のラインを示している(図5(B)参照)。また504は、注目画素の制御値である。
図5(B)は、クロック信号の1クロック周期で転送される画素データの画像上での位置関係を表した模式図である。1クロック周期で転送される画素データは、図5(A)の1列分の画素データに対応している。
画素値BBと制御値BBとで構成される画素データBBに対応する画素BBと、画素値BCと制御値BCとで構成される画素データBCに対応する画素BCは、各クロック周期における画像処理の対象である2つの注目画素である。これら2つの注目画素は、画像上で水平方向に隣接した2つの画素である。また注目画素に隣接した周囲の10個の画素の画素データも、注目画素の画素データと同時に1クロック周期で転送され、それらは画素データは画素値だけで構成されている。
図5(C)は、図5(A)の510で示す、クロック信号のクロック周期2で転送される画素データの画像上での位置関係を表した模式図である。画素値00と制御値00とで構成される画素データ00に対応する画素00と、画素値01と制御値01とで構成される画素データ01に対応する画素01は、このクロック周期2における画像処理の対象である2つの注目画素である。そして、これら2つの注目画素は、画像上で隣接した2つの画素であることを表している。また注目画素に隣接した周囲の10個の画素の画素データも注目画素の画素データとともに同じクロック周期で転送され、それらは画素値だけで構成されている。ここで注目画素である画素00と画素01は、画像の端部の画素であり、斜線で示した周囲の画素の画素データは存在しないため、画素値の代わりに固定値「0」を転送する。
また図5(D)は、図5(A)の511で示す、クロック信号のクロック周期7で転送される画素データの画像上での位置関係を表した模式図である。画素値12と制御値12とで構成される画素データ12に対応する画素12と、画素値13と制御値13とで構成される画素データ13に対応する画素13は、このクロック周期における画像処理の対象である2つの注目画素である。これら2つの注目画素は、画像上で水平方向に隣接した2つの画素である。また、これら2つの注目画素に隣接した周囲の10個の画素の画素データも、注目画素の画素データとともに同じクロック周期で転送され、それらは画素値だけで構成されている。
このように、画像上で隣接した2つの注目画素の画素値と制御値とで構成される画素データと、周囲の10個の画素の画素値で構成される画素データが、画素データバス14を介してクロック信号に同期して演算部12に転送される。
図6は、従来の演算部による演算の概念を説明する概念図である。
図6(A)は、画像記憶部から入力した画素データが演算部で演算処理されて、出力画素データに変換されることを表した模式図である。ここでは、2つの注目画素(画素値BB、画素値BC)に対する2つの演算が独立して並列に行われることを示している。1つめの演算は、注目画素である画素BBに対する演算で、画素BBの画素値BBと制御値BB、及び、その周囲の8個の画素の画素値AA,AB,AC,BA,BC,CA,CB,CCを用いて行われ、その結果である出力画素値BBが算出される。2つめの演算は、注目画素である画素BCに対する演算で、画素BCの画素値BCと制御値BC、及び、周囲の画素の画素値AB,AC,AD,BB,BD,CB,CC,CDを使って行われ、出力画素値BCが算出される。
図6(B)は、この従来の演算部の演算回路のブロック図である。
この演算部は、入力した2つの注目画素の各画素値及び制御値をそれぞれ独立した演算処理回路で処理して出力画素値を算出する。ここで図6(A)の画素マトリクス601の2列目及び3列目は、画素マトリクス602の1列目、2列目とそれぞれ同じであるため、処理A部610と処理A部612には同じ画素値AB,BB,CBが入力されている。また処理A部611と処理A部613にも、同じ画素値AC,BC,CCが入力されている。ここでは、それぞれに接続されている係数生成部614,615から転送される係数が異なり、その演算内容も異なるため回路を共通化できない。ここで係数生成部614,615は、それぞれ制御値BB,BCに対応する係数を生成する。
従って、この図6に示す従来の演算部は、それぞれ1つの注目画素だけを処理する回路を単純に2系統持つ必要があるため、その回路規模は2倍となる。
図7は、本実施形態1に係る演算部12の演算処理の模式図及び演算回路のブロック図である。
図7(A)は、画像記憶部11から入力した画素データが演算部12で演算処理されて、出力画素データに変換されることを表した模式図である。ここでは2つの注目画素(画素値BB,画素値BC)に対する2つの演算が独立に並行して行われるが、演算に使用する係数は共通の値を使用している。
1つめの演算は、注目画素である画素BBに対する演算で、画素BBの画素値BB、及び周囲の画素の画素値AA,AB,AC,BA,BC,CA,CB,CC及び、共通係数を使って行われ出力画素値BBが算出される。2つめの演算は、注目画素である画素BCに対する演算で、画素BCの画素値BC、周囲の画素の画素値AB,AC,AD,BB,BD,CB,CC,CD及び、共通係数を使って行われ、出力画素値BCが算出される。ここで共通係数は、画素BBの制御値BBと画素BCの制御値BCとに基づいて決定される。
図7(B)は、実施形態1に係る演算部12の演算回路のブロック図である。
演算部12は、入力された2つの注目画素の制御値を共通の係数生成部701で処理して、2つの注目画素のそれぞれの演算で使用する係数を生成している。
ここで、2つの注目画素の演算に使用する係数を共通化することにより、画素値AB,BB,CB,AC,BC及びCCに対する演算処理部を、2つの注目画素のそれぞれに対して独立に2組持つ必要がなくなる。こうして2つの注目画素の演算を部分的に共通化している。この共通化により、図6(B)で示した従来の演算部における処理A部612,613、及び、処理B部616,617を省略できる。
図7(B)では、注目画素BBに対する演算は、処理A部(第1の演算部)710,711,712のグループ、処理B部(第2の演算部)714,715,716のグループ及び処理C部(第3の演算部)718で行われる。また注目画素BCに対する演算は、処理A部のグループ711,712,713、処理B部715,716,717のグループ及び処理C部719で行われる。
このように共通化できる理由は、処理A部と処理B部の処理内容は、後述するように単純な演算処理であり、入力される画素値と係数が同じであれば、出力も同じになるという性質を持つためである。
従って本実施形態に係る演算部によれば、1つの注目画素を処理する回路を単純に2系統持つ必要がなく、回路規模を小さく抑えることができる。
図8は、実施形態1に係る係数生成部を説明するブロック図である。
図8(A)は、従来の係数生成部614,615の構成を示すブロック図である。
この係数生成部は、係数A、係数B及び、係数Cを、入力される制御値に応じて選択して出力する。801〜803はそれぞれ制御値に応じて、入力ポートのいずれかの信号を選択して出力するマルチプレクサである。尚、ここで係数A0〜A3、係数B0〜B3、及び、係数C0〜C3は、既定の定数である。
図8(B)は、本実施形態に係る係数生成部701の構成を示すブロック図である。
この係数生成部701は、係数(第1の係数値)A、係数(第2の係数値)B、及び、係数(第3の係数値)Cを、入力される2つの制御値BB,BCの組み合わせに基づいて選択して出力する。810〜812はそれぞれ2つの制御値に応じて、入力ポートのいずれかの信号を選択して出力するマルチプレクサである。係数A00〜A33、係数B00〜B33、及び、係数C00〜C33は、既定の定数である。
図8(A)の構成と比較して、係数生成部701の構成での制限は、入力される2つの注目画素の制御値BBと制御値BCが互いに異なる場合、各注目画素の画像処理に際して、異なる係数値で演算できない点である。その場合に選ばれる係数値は、係数Aij,Bij及びCij(i≠j)である。これらの値の設定を工夫することによって、2つの注目画素の画素値を、互いに異なる係数で演算できない場合の演算結果が所望の結果に近くなるように調整することが可能である。
例えば、係数A00,A11,A22及びA33を先に決めてから、係数Aij(i≠j)の値を「係数Aij=(係数Aii+係数Ajj)÷2」のように決めることにより、2つの係数値の平均値を用いて演算できる。また例えば、係数Aij(i≠j)の値を「係数Aij=係数Aii(係数Aii<係数Ajjのとき)、又は、係数Aij=係数Ajj(係数Aii>係数Ajjのとき)」のように決める。これにより、2つの注目画素の制御値のうち、小さい方の係数値を優先的に使用した演算ができる。また例えば、係数Aij(i≠j)の値を「係数Aij=係数Aii(係数Aii>係数Ajjのとき)、又は、係数Aij=係数Ajj(係数Aii≦係数Ajjのとき)」のように決める。これにより、大きい方の係数値を優先した演算ができる。
ここで制御値は、一般的な画像処理において、例えば画像上でその画素が写真領域に属するか、又は文字領域に属するのか等の画素の付随情報を表すものである。そういった情報は、画像内で画素毎に頻繁に値が変わるものではなく、また、厳密な画素単位での位置精度を要求されるものではない場合が多い。そのため実際には、2つの注目画素の制御値が互いに異なる頻度は低く、また例え異なった場合にも、本来の所望の係数値と異なる係数値、例えば隣の画素の制御値で選択した係数値で演算しても、演算結果の画素値の劣化が目立たないことが多い。
図9は、本実施形態1に係る演算部12の処理A部、処理B部及び処理C部の構成を示すブロック図である。
図9(A)は、処理A部の構成を示すブロック図である。この処理A部は乗算器901を有し、入力される画素値AAと係数Aとの乗算を行って、その乗算処理結果を出力する。図7(B)の他の処理A部も同じ構成であり、入力される画素値と係数Aの値が同じであれば常に同じ結果を出力する。このため、同じ入力の処理A部が複数存在すれば、それらを1つにまとめることができる。
図9(B)は、処理B部714の構成を示すブロック図である。この処理B部714は加算器902を有し、処理A部から入力される値と係数Bとの加算を行って、その加算処理の結果を出力する。図7(B)の処理B部715〜717も同じ構成であり、入力される画素値と係数Bの値が同じであれば常に同じ結果を出力するため、同じ入力の処理B部が複数存在すれば、それらを1つにまとめることができる。
図9(C)は、処理C部718の構成を示すブロック図である。処理C部718は、加算器903により、入力される値の加算を行った後に、ビットシフタ904により、加算器903からの加算結果を係数Cの値だけ左方向にシフトをして結果を出力する。他の処理C部719も同じ構成である。
以上説明したように本実施形態1によれば、並列処理する2つの画素で演算の係数を共通化することで、1つの注目画素に対する画像処理を行う回路を2組設けることなく、2つの注目画素に対する画像処理を並列して行うことができる。また並列処理できない場合が発生しないため、逐次処理により処理速度が低下することもない。更に、N個の注目画素に対する画像処理を並行して実施する回路においても、上述のように制御値を共通化することにより、回路規模をN倍にすることなく実現できる。
[実施形態2]
以下、本発明を実施するため実施形態2に説明する。尚、実施形態2に係る画像処理装置の構成及び処理対象の画像データは、前述の実施形態1の図1及び図2と同様であるため、その説明を省略する。
以下、本発明を実施するため実施形態2に説明する。尚、実施形態2に係る画像処理装置の構成及び処理対象の画像データは、前述の実施形態1の図1及び図2と同様であるため、その説明を省略する。
図10は、本実施形態2に係る画像の一例を表した模式図である。ここでは説明のために、この画像の画素の制御値として2種類存在するものとし、各画素の背景に斜線が有るか無いかでその2種類の制御値を表現している。即ち、斜線のない画素は全て制御値「0」を有し、斜線のある画素は全て制御値「1」を有している。
図11は、実施形態2に係る画像処理装置1で入出力される画素データの転送タイミングを示すタイミングチャートである。
図11(A)は、画素データバス13における画素データの転送タイミングを説明するタイミングチャートである。画素データは2画素ずつ、クロック信号に同期して、有効信号がハイレベルにある間に転送される。各画素データは画素値と制御値で構成される。尚、図11において、図10で示した制御値の違いを、図11の制御値の背景が白であるか、黒であるかで表している。即ち、背景が白の制御値は「0」で、背景が黒の制御値は「1」である。
図11(B)は、演算部12から出力される画素データバス15での画素データの転送を示すタイミングチャートである。
ここでも画素データは2画素ずつ、クロック信号に同期して、有効信号がハイレベルにある間に転送される。各画素データは画素値だけで構成される。演算部12は、同時に入力される2つの画素の制御値が互いに異なるときの並列処理で、使用する係数に制限があるため、画像記憶部11の制御によって、所定回数だけ並列動作を中止して1画素ずつの逐次動作を行う。逐次動作を行う理由は、逐次動作であれば画像処理に所望の係数が使えるためである。また所定回数だけに制限する理由は、逐次動作を行うと並列動作に比べて処理速度が遅くなるため、処理速度の低下を既定の範囲に限定するためである。この制御により、既定の最低動作速度を下回らない範囲で、所望の係数を使用した画像処理を行うことが可能である。
本実施形態2では、制御値の異なる画素02と画素03の処理は2サイクルでの逐次処理が行われている。その結果、1100で示す、クロック周期3では画素データの出力がなく、1101で示す、クロック周期4で、画素02と画素03の画素データが出力されている。これは、画像処理装置1の内部では、クロック周期3で画素02の画像処理が行われ、またクロック周期4で画素03の画像処理が行われ、クロック周期4でそれらの処理結果である画素データがまとめて出力されるためである。また制御値の異なる画素06と画素07も同様に、2つのクロック周期で逐次処理が行われ、その結果、1102で示す、クロック周期6では画素データの出力がなく、1103で示す、クロック周期7で画素06と画素07の画素データが出力されている。
本実施形態2では、逐次処理の回数は2回としている。そのため、画素10以降の処理では、互いに制御値が異なっても逐次処理されることはない。実際に、画素10と画素11は制御値が異なるが、並列処理され、1104で示すように、クロック周期8で2画素分の画素データが出力されている。
図12は、実施形態2において、画像記憶部11が演算部12に対して転送する画素データのタイミングを説明するタイミングチャートである。
画像記憶部11は画素データを、画像処理の対象である注目画素を2画素ずつ、また、注目画素の演算処理に使用するための周囲の画素を10画素ずつ、それぞれクロック信号に同期して、有効信号BBと有効信号BCをハイレベルにして転送する。2つの注目画素の画素データは、画素値1200と制御値1201で構成され、周囲の画素10画素の画素データは画素値だけで構成される。ここで、画素値BBと制御値BB、また画素値BCと制御値BCが注目画素の画素データで、画素値AA,AB,AC,AD,BA,BD,CA,CB,CC及びCDが周囲の画素の画素データである(図5(B)参照)。但し、2つの注目画素の制御値が互いに異なっている場合は、画像記憶部11は2つの注目画素の制御値の転送を2クロック周期に延長して行う。
1202で示す、2つの注目画素が画素02と画素03の場合がそれにあたり、クロック周期3では画素02の制御値02だけを制御値BBと制御値BCに対して出力し、有効信号BBだけをハイレベルにしている。また、次のクロック周期4では、画素03の制御値03だけを制御値BBと制御値BCに対して出力し、有効信号BCだけをハイレベルにしている。これは、演算部12で画像処理の逐次処理を行わせるためである。
同様に、1203で示す、2つの注目画素の画素06と画素07の制御ちが互いに異なっているので、画像記憶部11は2つの注目2画素の制御値の転送を2クロック周期に延長して行っている。尚、この2クロック周期に延長するデータの転送に対しては、所定の上限回数が設定されている。よって、その回数に達した場合は、それ以降、2つの注目画素の制御値が互いに異なっていても、2つの注目画素の転送を2クロック周期に延長して行うことはない。
本実施形態2では、所定回数(上限回数)を2回としており、2つの注目画素が画素06と画素07のときの転送で上限回数の2回に達しているので、それ以降は2クロック周期に延長したデータ転送は行わない。実際に、2つの注目画素が画素10と画素11のとき、及び、画素12と画素13のときに制御値が互いに異なっているが、画像記憶装置11は、これら2つの注目画素を1クロック周期で同時に転送している。尚、制御値が互いに異なっている場合の処理は、前述の実施形態1で説明したように、それら2つの制御値の平均値、或いは小さい方、大きい方の、いずれかを用いて演算が行われる。
図13は、実施形態2に係る演算部12の構成を説明するブロック図である。尚、前述の図7(B)の構成と共通する部分は同じ記号で示し、それらの説明を省略する。
入力信号の有効信号BB、処理C部1225、及び、切換部1230以外は前述の実施形態1の図7(B)に示した模式図と同じである。切換部1301は、有効信号BBがハイレベルの間は処理C部718が出力する画素値をそのまま出力し、有効信号BBがローレベルの間は、1つ前のクロック周期に処理C部718から出力された画素値を出力する。この構成により、逐次処理時の画素値の出力を、2クロック周期の2つ目のクロック周期にまとめて行うことができる。
図14は、実施形態2に係る切換部1301の構成を示すブロック図である。
この切換部1301は、入力される値を次のクロック周期で出力できるようにフリップフロップ(F/F)1401で保持している。マルチプレクサ1402は、有効信号BBがハイレベルの間は、処理C部718から入力される値をそのまま出力し、有効信号BBがロウレベルの間はF/F1401で保持している値を出力する。この動作により、2クロック周期に延長した逐次動作の1クロック周期で入力された画素データを、2クロック周期目で出力できる。
以上説明したように本実施形態2によれば、2つの注目画素の制御値が互いに異なる場合でも、各対応する制御値に応じた逐次処理を画素データに対して行うことができる。その場合に、2つの注目画素の制御値が互いに異なる場合の逐次処理の回数を限定することにより、所望の最低動作速度を下回らないように動作させることができる。
以上説明したように本実施形態によれば、並列処理する2画素で演算の係数を共通化することで、注目画素1画素の画像処理を行う回路を単純に2組使用することなく注目画素2画素の画像処理を並列処理することが可能である。また、並列処理できない場合が発生しないため、逐次処理により処理速度が低下することもない。さらに、注目画素2画素の制御値が異なる場合にも既定の回数だけは演算の係数を共通化しないことにより、できるだけ係数の共通化をしないようにしながらも、所望の最低動作速度を下回らないように動作させることができる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (7)
- 隣接する複数の注目画素の画素値と当該複数の注目画素の属性情報及び前記複数の注目画素の周囲の画素の画素値とを用いて画像処理を行う画像処理装置であって、
前記複数の注目画素の属性情報を基に、前記画像処理で用いる複数の係数値を生成する係数生成手段と、
前記複数の係数値の第1の係数値と、前記複数の注目画素の画素値と前記周囲の画素の画素値のそれぞれとの演算処理を行う複数の第1の演算手段と、
前記複数の係数値の第2の係数値と、前記複数の第1の演算手段の各グループのそれぞれの出力との演算処理を行う複数の第2の演算手段と、
前記複数の第2の演算手段のそれぞれの出力の演算結果と、前記複数の係数値の第3の係数値とに応じた演算処理を行う複数の第3の演算手段とを有し、
前記複数の第1の演算手段では、前記複数の注目画素それぞれの周囲の共通する画素の画素値と前記第1の係数値との演算を行う演算手段を共通化したことを特徴とする画像処理装置。 - 前記係数生成手段は、前記複数の注目画素の属性情報が互いに異なる場合、前記複数の注目画素の属性情報の平均値、大きい方の値、小さい方の値のいずれかを用いて、前記画像処理で用いる複数の係数値を生成することを特徴とする請求項1に記載の画像処理装置。
- 前記係数生成手段は、前記複数の注目画素の属性情報が互いに異なる場合、前記複数の注目画素の属性情報のそれぞれに応じた、前記画像処理で用いる複数の係数値を生成し、
前記第1ないし第3の演算手段のそれぞれは、前記複数の係数値を使用して、前記複数の注目画素の画素値のそれぞれに対する画像処理を逐次処理するように制御する制御手段を更に有することを特徴とする請求項1に記載の画像処理装置。 - 前記逐次処理の回数を所定回数に設定する設定手段を更に有し、前記逐次処理の回数が前記設定手段により設定された前記所定回数に達すると、前記制御手段は、前記逐次処理を中止することを特徴とする請求項3に記載の画像処理装置。
- 前記第1の演算手段は、前記第1の係数値と、前記複数の注目画素の画素値と前記周囲の画素の画素値のそれぞれとの乗算処理を行うことを特徴とする請求項1に記載の画像処理装置。
- 前記第2の演算手段は、前記第2の係数値と、前記複数の第1の演算手段の各グループのそれぞれの出力との加算処理を行うことを特徴とする請求項1に記載の画像処理装置。
- 前記第3の演算手段は、前記複数の第2の演算手段の出力の加算処理を行い、その加算結果を前記第3の係数値に従ってシフトすることを特徴とする請求項1に記載の画像処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011114107A JP2012243159A (ja) | 2011-05-20 | 2011-05-20 | 画像処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011114107A JP2012243159A (ja) | 2011-05-20 | 2011-05-20 | 画像処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2012243159A true JP2012243159A (ja) | 2012-12-10 |
Family
ID=47464782
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011114107A Withdrawn JP2012243159A (ja) | 2011-05-20 | 2011-05-20 | 画像処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2012243159A (ja) |
-
2011
- 2011-05-20 JP JP2011114107A patent/JP2012243159A/ja not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5914045B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
| EP3557484A1 (en) | Neural network convolution operation device and method | |
| CN107833176A (zh) | 一种信息处理方法及相关产品 | |
| JP2010134697A (ja) | コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置 | |
| CN112101541B (zh) | 对高位宽值数据进行拆分的装置、方法、芯片及板卡 | |
| US20220350569A1 (en) | Computing apparatus and method for neural network operation, integrated circuit, and device | |
| CN113485751A (zh) | 执行伽罗瓦域乘法的方法、运算单元和电子装置 | |
| JP2017129918A (ja) | 画像処理装置、その制御方法、及びプログラム | |
| US10572969B2 (en) | Method and device for processing data | |
| CN107977923B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
| CN116306840A (zh) | 神经网络运算方法、装置、芯片、电子设备和存储介质 | |
| JP5428862B2 (ja) | アレイプロセッサ向けアドレス生成装置と方法並びにアレイプロセッサ | |
| JP2012243159A (ja) | 画像処理装置 | |
| JP2015207101A (ja) | アクセラレータ回路及び画像処理装置 | |
| CN109634556B (zh) | 一种乘累加器及累加输出方法 | |
| CN116227507B (zh) | 一种用于进行双线性插值处理的运算装置 | |
| CN115280277B (zh) | 一种数据处理装置以及数据处理方法 | |
| CN111258542B (zh) | 乘法器、数据处理方法、芯片及电子设备 | |
| CN111260070B (zh) | 运算方法、装置及相关产品 | |
| JP2017107381A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
| JP4170173B2 (ja) | ブロックマッチング演算装置 | |
| US20200285445A1 (en) | Semiconductor device | |
| JP2017199091A (ja) | 情報処理装置、情報処理方法およびプログラム | |
| CN111260046A (zh) | 运算方法、装置及相关产品 | |
| CN111258641A (zh) | 运算方法、装置及相关产品 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140805 |