JP7005228B2 - 画像処理回路 - Google Patents

画像処理回路 Download PDF

Info

Publication number
JP7005228B2
JP7005228B2 JP2017161038A JP2017161038A JP7005228B2 JP 7005228 B2 JP7005228 B2 JP 7005228B2 JP 2017161038 A JP2017161038 A JP 2017161038A JP 2017161038 A JP2017161038 A JP 2017161038A JP 7005228 B2 JP7005228 B2 JP 7005228B2
Authority
JP
Japan
Prior art keywords
filter
data
tap
coefficient
processing circuit
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
JP2017161038A
Other languages
English (en)
Other versions
JP2018088231A (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 US15/812,713 priority Critical patent/US10572985B2/en
Publication of JP2018088231A publication Critical patent/JP2018088231A/ja
Application granted granted Critical
Publication of JP7005228B2 publication Critical patent/JP7005228B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、デジタル信号データに対してフィルタ処理を行う画像処理回路に関する。
デジタル機器の発展に伴い、画像データなどのデジタル信号データに対する様々なフィルタ処理を高速に実行することが求められている。高速であることが要求されるフィルタ処理は、専用ハードウェアであるフィルタ回路によって実現することが一般的である。一方で、専用のフィルタ回路は、その回路規模が大きく複雑化するほど製品コストを上昇させてしまうため、従来から回路規模削減のための技術が提案されている。
特許文献1は、フィルタ係数の対称性を利用して、対称な係数に対するタップの出力どうしを予め加算し、加算出力及び中央タップの出力を演算語長に応じてビットシフトしてからそれぞれのフィルタ係数を乗算する乗算器に供給する技術を開示する。これにより、対称な係数を有するフィルタにおける乗算回数を削減している。
特許文献2は、乗算係数を係数値が大の部分では倍精度で、係数が小の部分では単精度で記憶させ、倍精度係数については上位桁及び下位桁に分けて入力サンプル列と乗算を行うことにより、倍精度乗算を実行する技術を開示する。
また、特許文献3は、可変遅延フィルタユニット内のトランスバーサルフィルタをフィルタ中央からフィルタ端へ向かって係数ビット数が小さくなるように構成することで、乗算器のビット幅を小さくする技術が開示されている。
特開昭61-118012号公報 特開昭62-105518号公報 特開平5-103228号公報
ところで、従来、様々なフィルタ処理に対応可能なフィルタを1つのフィルタ回路で構成するためには、各フィルタ処理に求められる仕様(例えば、フィルタタップ数、フィルタ係数等)のうち、最大の仕様を満たす構成要素を選択しなければならなかった。
例えば、フィルタタップ数は、各フィルタ処理のうち最大のものを選択する必要があった。
また、フィルタ係数は可変のものを選択し、フィルタ係数のビット幅は最大のものを選択とする必要があった。このように、複数のフィルタ処理のうち最大の仕様を満たすよう構成されたフィルタ回路では、実際には使用されることのない仕様も実現可能な、回路規模が増大し非効率な回路構成となってしまう。
ここで、特許文献1及び特許文献3に開示された技術は、特定のフィルタ処理を個別に最適化するフィルタ回路であるため、複数のフィルタ処理を切り替えて使用することを想定したものではない。
また、特許文献2記載の技術では、1回の倍精度の乗算のために2回の単精度の乗算を実行し、桁シフタによって桁合わせを行ってから累積加算しているため、高速なフィルタ処理用途のフィルタ回路には適切ではない。
本発明は上記課題を解決するために成されたものであり、回路規模の増大を抑制しつつ、複数のフィルタ処理を適切に実装することができる画像処理回路を提供することを目的とする。
上記課題を解決するため、本発明に係る信号処理装置のある態様によれば、画像データに対してフィルタを用いたフィルタ処理を実行する画像処理回路において、前記画像データにおける注目データ及び注目データ近傍のデータ群から、フィルタタップのM(M:自然数)個のデータを生成する生成手段と、所定のビット数の係数を保持する複数の乗算器と、前記フィルタを構成するフィルタ係数に基づいて、前記係数を前記生成手段が生成したM個の前記フィルタタップのデータに割り当てる設定手段と、を有する画像処理回路が提供される。
以上の構成を有する本発明によれば、回路規模の増大を抑制しつつ、複数のフィルタ処理を適切に実装することができる。
実施形態1におけるフィルタ回路の構成例を示すブロック図 実施形態1におけるフィルタタップを説明する図 実施形態1における注目データの供給を説明する図 実施形態1におけるフィルタタップのデータの供給を説明する図 実施形態1におけるフィルタ係数の割り当てを説明する図 実施形態1におけるフィルタ係数の割り当てを説明する図 実施形態2におけるフィルタ回路の構成例を示すブロック図 実施形態2における係数対称性のある場合のタップデータを説明する図 フィルタタップとタップデータの間の位置関係を示す図 実施形態2におけるフィルタ係数の割り当て処理のフローチャート 実施形態2における注目データからタップデータへの距離順を示す図 実施形態2におけるIIRフィルタ処理の例 実施形態2におけるフィルタ係数の割り当て処理のフローチャート 実施形態2における注目データからタップデータへの距離順算出を説明する図 実施形態3におけるフィルタ回路の構成例を示すブロック図 実施形態3におけるタップデータ圧縮を説明する図 実施形態3におけるフレーム間フィルタ処理時のタップデータを説明する図 公知技術を適用したフィルタ演算回路の概要を示す模式図 実施形態1におけるフィルタ演算回路を示す模式図 実施形態1におけるフィルタ演算回路を示す模式図
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施形態に必ずしも限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
<実施形態1>
以下、画像処理回路であるフィルタ回路の実施形態1を説明する。実施形態1では、フィルタ係数の対称性の有無に応じて、画像データに対する2種類のFIR(Finite Inpulse Response)フィルタ処理を切り替えるものとして説明する。なお、フィルタは、画像データにおける各画素から生成したタップデータを保持する複数のタップからなる。各タップにはフィルタ係数が対応し、タップデータとフィルタ係数との積和を算出するために用いられる。例えば図2(a)に示すフィルタは、5画素×5画素の領域に対応するウィンドウにおいて、5タップ×5タップ(合計25タップ)に対応するフィルタ係数を有することになる。ここで、フィルタにおいて中心に位置するタップを中央タップと呼ぶ。画像データに対してフィルタを用いたフィルタ処理を実行する際には、画像データにおける各画素に対してフィルタの中央タップを順次、対応付ける。以降、中央タップに対応する処理対象の画素を注目画素とよぶ。従って、図2(a)に示すフィルタを用いた演算においては、中央タップに対応する注目画素の画素値と(注目データ)、その近傍の画素(図2(a)のフィルタの場合は24画素)の画素値それぞれがタップデータとしてフィルタ回路に入力されることになる。
(第1の実施形態の構成)
図1は、第1の実施形態におけるフィルタ回路の構成例を示すブロック図である。本実施形態のフィルタ回路は、画像データ入力部10と、フィルタタップ供給部11と、フィルタ演算部12と、正規化部13と、画像データ出力部14とを備える。
画像データ入力部10は、外部の装置から入力されるデジタル信号データ(以下、「画像データ」を例として説明する。)を、フィルタタップ供給部11に供給する。フィルタタップ供給部11は、画像データにおける注目画素に対して実現すべきフィルタ処理に必要なタップ数のフィルタタップのデータ(タップデータ)をフィルタ演算部12に供給する。フィルタ演算部12は、フィルタタップ供給部11により供給されたタップデータに対してフィルタ演算(積和演算)を行い、積和演算結果を正規化部13に供給する。正規化部13は、フィルタ演算部12で算出した積和演算結果を正規化して画像データ出力部14に供給する。画像データ出力部14は、正規化部13で正規化された出力データを出力用の画像データとして外部の装置に出力する。
(フィルタ処理概要)
以下、本実施形態のフィルタ回路が実行するフィルタ処理の概要を説明する。
図18~図20は、フィルタ演算部12における処理を説明する模式図である。
図18(a)及び(b)は公知技術を適用したフィルタ演算部100、110を模式的に示している。このフィルタ演算部100、110では、入力されるタップデータに対して乗算器102、102、103(105、106)が一対一に対応付けられている。各乗算器には、予め設定されたフィルタ係数が対応付けられており、各乗算器は、フィルタ係数とタップデータとを乗算する。画像処理装置において、複数の異なるフィルタを用いたフィルタ演算を実現するためには、各フィルタに応じて様々な乗算器が必要となる。
例えば、図18(a)に示すフィルタ演算部100では、タップデータが3つ(タップデータ1、タップデータ2、タップデータ3)あり、夫々のタップデータに対して4ビットの乗算、8ビットの乗算、4ビットの乗算が必要となる。一方、図18(b)に示すフィルタ演算部110では、タップデータが2つ(タップデータ1、タップデータ2)あり、夫々のタップデータに6ビットの乗算、8ビットの乗算が必要となる。
図18(a)に示すフィルタ演算部100は、必要な乗算器(乗算器101~103)の数が多く、図18(b)に示すフィルタ演算部110は、必要な乗算器(乗算器105、106)のビット数が大きい。このため、フィルタ演算部100とフィルタ演算部110を共通の回路で実現するためには、少なくとも8ビットの乗算器、6ビットの乗算器、及び4ビットの乗算器を用意しておき、切り替えて使用する必要がある。
図19及び図20は、本実施形態におけるフィルタ演算部12を模式的に示している。このフィルタ演算部12では、所定のビット数(ここでは2ビット)の乗算が可能な乗算器を複数供えている。なお、1つのタップデータに対して複数の乗算器が対応付けられる。このように、本実施形態では、各フィルタ演算に必要なビット数に応じて、タップデータに対して乗算器を割当てる。例えば、図19に示すように、4ビットの乗算が必要な場合は2つの乗算器111(113)を割り当て、8ビットの乗算が必要な場合は4つの乗算器112を割り当てる。また、図20のフィルタ演算回路の場合には、6ビットの乗算のために3つの乗算器115を割り当て、8ビットの乗算には4つの乗算器を割り当てればよい。
ただし、この場合、図19に示すフィルタ演算のためには、2ビットの乗算が可能な乗算器は8つ必要である。このため、フィルタ回路を共用する場合、図20に示すフィルタ演算では1つの乗算器が余る。そこで、本実施形態では、係数割り当て部12において、8ビットの演算に相当する演算に5つの乗算器116を割り当てて、10ビット相当の演算としている。これにより、図18(a)、(b)のフィルタ回路を共用した場合に比較して、複数のフィルタ処理を切り替えるフィルタ処理回路において必要とする乗算器の規模を抑えることができる。また、1つの乗算器のビット数をフィルタ係数のビット数より小さくすることで、図20に示す場合のように、余った乗算器をいずれかのタップデータに対して割り当てることができる。すなわち、フィルタのビット幅を上回るように乗算器に対応する係数を割り当てることができる。
これにより、余りの乗算器を割り当てられたタップデータに対しては、より高精度なフィルタ係数を設定できる。特に本実施形態では、乗算器が余る場合は、注目データからの距離が近いタップデータに対して割り当てを優先する。その結果、フィルタ演算においてより重要な注目データ近傍のタップデータに対してより精度良くフィルタ演算することが可能となる。
(フィルタ処理詳細)
以下、本実施形態におけるフィルタ回路が実行するフィルタ処理を詳細に説明する。画像データ入力部10は、外部の装置からフィルタ処理の対象となるデジタル画像データ(画像データ)を取得し、フィルタタップ供給部11に画像データを供給する。画像データを入力する外部の装置としては、例えばイメージセンサのようにリアルタイムに画像データを取得する機器でもよいし、主記憶装置のように画像データを一時的に保持する記憶装置であってもよい。
フィルタタップ供給部11は、後段のフィルタ演算部12におけるフィルタ処理に応じて、画像データにおける注目画素に対して実現すべきフィルタ処理に必要なタップ数を有するタップデータをフィルタ演算部12に供給する。なお、本実施形態では、後段のフィルタ演算部12は、複数のフィルタ処理を切り替える。複数のフィルタ処理のそれぞれに必要なタップ数、フィルタ係数等については、予めフィルタタップ供給部11及びフィルタ演算部12のレジスタ等に保持しておけばよい。本実施形態では、以下、フィルタ演算部12において、図2(a)に示す係数対称性の無い5×5タップのフィルタと、図2(b)に示す係数対称性の有る4×4タップのフィルタを切り替える例について説明する。
なお、図2(a)に示す5×5タップのフィルタでは、フィルタ係数に対称性はない。この場合中央のタップに対して注目画素が対応し、注目画素の画素値が注目データとして、注目画素を中心とする5画素×5画素の領域に含まれる近傍画素の画素値がタップデータとして入力される。つまり、注目画素に対するフィルタ処理結果は、注目画素を中心とした5画素×5画素の画素値の積和演算により得られる。
一方、係数対称性のある4×4タップのフィルタについて説明する。本来、7×7タップのフィルタにおけるフィルタ係数について考える。図2(c)は、7×7タップのフィルタ係数のうち中心位置を中央タップとして、等方的なフィルタ係数である例を示す。ここで、同じアルファベットは同じ値のフィルタ係数であることを意味する。この場合、7×7タップのフィルタ係数と対応する49画素の画素値との積和演算ではなく、同じフィルタ係数に対応する画素の画素値の和(タップデータ)を算出した後に、フィルタ係数を積算してもよい。
そこで、本実施形態では、図2(c)に示すフィルタを用いたフィルタ処理をするために、同じフィルタ係数は省略して4×4タップのフィルタとして保持するものとする。つまり図2(b)に示すフィルタでは、中央タップは左上に位置する。また、図2(b)に示すフィルタを用いたフィルタ処理では、注目画素のフィルタ処理結果は、注目画素を中心とした7画素×7画素の画素値とフィルタ係数との積和演算により得られることになる。
一般的にFIRフィルタは、フィルタの性能を高めるために比較的大きなタップ数を必要とする。一方で、フィルタタップ数を多くすると、タップデータを保持するためのバッファ(シフトレジスタ等)や、タップデータとフィルタ係数の乗算を多く必要とする。このため、フィルタのタップ数は少ない方がよい。
ここで、前述の通りフィルタ係数に対称性がある場合、係数対称性を利用してフィルタのタップ数を減らす。係数対称性のあるフィルタを用いたフィルタ演算について以下に説明するように、フィルタタップ数を増加させずにフィルタ性能を高めることができる。
図3及び図4は、フィルタ係数に対称性がある場合における、フィルタタップ供給部11がタップデータを供給する方法を説明する図である。
図3は、画像データを示している。画像データ入力部10は、各画素の画像データ(画素値)を主走査方向及び副走査方向の順番で、フィルタタップ供給部11に順次に入力する。フィルタタップ供給部11は、所定数の画素の画像データ(画素値)を保持するラインメモリ等のバッファ31を備えている。
画像データ入力部10から新たに画像データ32が供給されると、フィルタ処理を行う範囲の中心の画像データ(注目画素データまたは注目データ)38の近傍のデータ群を用いた処理が可能な状態となる。なお、図3では、画像データ38の近傍のデータ群を、画像データ38を中心とした7画素×7画素分の画像データとした例を示している。
このような状態となると、フィルタタップ供給部11は、画像データ入力部10から入力された画像データ32と、予めバッファ31に格納されている画像データ列33を読み出し、フィルタ処理に必要な1カラム分のデータを取得する。ここで、1カラム分のデータとは、画像データ32及び画像データ32から副走査方向と逆に所定数(この場合は6)の画像データ(すなわち6ライン前迄のラインの同一カラムのデータ)のことである。
フィルタタップ供給部11は、取得した1カラム分の画像データを、図4に示すように、第1の対称軸34により折り返し加算する。更に、フィルタタップ供給部11は、折り返し加算したデータ39を主走査方向(例えば画像データの横[X]方向)に連続するシフトレジスタ35に格納する。なお、シフトレジスタ35は、画像データ入力部10から新たな画素の画像データ32が入力される度に、格納している画像データを主走査方向にシフトさせ、空いた領域に第1の対称軸34により折り返し加算されたデータ39を格納する。
さらに、フィルタタップ供給部11は、シフトレジスタ35中のデータを第2の対称軸36により折り返し加算して、フィルタ係数に対称性がある場合のM(M:自然数)個のタップデータを生成する。以上の折り返し加算により、図2(c)に示すフィルタにおいて同じフィルタ係数に対応する画像データ(画素値)を加算したことになる。従って、図2(b)に示すフィルタを用いたフィルタ処理回路のタップデータ数は16個である。ここで生成されたタップデータのうち、タップデータ37は、入力された画像データ32に対して、主走査方向及び副走査方向に3画素ずつ遅延した図3中の画像データ38(すなわち注目データ)そのものである。
換言すると、画像データ38を通る第1の対称軸34及び第2の対称軸36によって、7画素×7画素の領域の画像データを折り畳み加算(畳み込み加算)して、M(4×4:16)個のタップデータが生成される。このようなタップデータ群をフィルタ演算回路の入力として用いてフィルタ処理を行う。これにより、図2(c)に示すフィルタを用いて7画素×7画素の領域の49個の画像データをそのままタップデータ群とした場合と同等のフィルタ性能のフィルタ処理を行うことが可能となる。
次に、フィルタ演算部12は、フィルタタップ供給部11により供給されたフィルタタップのそれぞれのタップデータに乗算器(係数に対応する)を対応付けて(割り当てて)積和演算を実行することで、フィルタ演算を行う。
以下、本実施形態では、フィルタ仕様に応じて、符号付き8ビットのN(N:自然数、例えば25)個の乗算器の、タップデータに対する割り当てを切り替えてフィルタ演算を行う例について説明する。1つの乗算器は、符号を含めた8ビットの係数C(z)(z:0~24)を設定可能である。所定ビット幅の係数C(z)は、1つ、もしくは複数によって1つのフィルタ係数を構成する。例えばここでは、1つの乗算器を1つのタップデータに割り当てると、8ビットの係数C(z)(z:0~24)と入力されたタップデータとを乗算することができる。すなわち、フィルタ演算部12は、フィルタ係数の対称性の有無に応じ、タップデータの数(M)と、フィルタ係数のビット数を決定づける乗算器の数(N)に基づいて、それぞれのタップデータに乗算器を割り当ててフィルタ演算を行う。本実施形態においてフィルタ演算部12は、8ビットの係数を設定可能な乗算器を25個、保持しているものとする。
なお、予め用意する乗算器の個数と乗算可能なビット幅は、例えば、kビットのフィルタ係数からなるa×aタップのフィルタと、lビットのフィルタ係数からなるb×bタップのフィルタで共有する場合、以下のように決定することができる。
乗算器のビット幅cを、kビットとlビットのうち、符号ビットを除く絶対値の有効ビット幅における(最大公約数+1(符号ビット))以上とする。すなわち、乗算器の数は、フィルタ係数のビット幅の公約数の乗算ができるようにする。乗算器のビット幅cを、kビットとlビットの最大公約数以外の公約数+1とすることも可能だが、乗算器のビット幅を小さくすると回路上のオーバーヘッドが大きくなる。このため、最大公約数が1ビットの場合には、乗算器のビット幅cを2ビット以上にすることが好ましい。
また、乗算器の個数dは、乗算器のビット幅cが決まれば、a×aタップのフィルタと、b×bタップのフィルタにおける総乗算数(乗算器によるタップ毎の乗算回数の合計)が大きい方に決まる。もしくは、上記で算出した論理的な乗算器の個数dに対して、フィルタ回路のスループット(サイクル当りの乗算数、もしくは乗算器の時分割数の逆数)を乗じることで、物理的な乗算器の個数d´を算出することができる。本実施形態における乗算器の個数は、論理的な乗算器の個数もしくはスループットが1の場合の物理的な乗算器の個数を示す。すなわち、乗算器の数は、複数のフィルタごとの最大総乗算数とスループットとに応じた数とすることができる。
図5は、図2(a)に示すフィルタ係数の対称性が無い場合のフィルタに対するタップデータの例を示す。図5の場合は、フィルタタップ供給部11は、フィルタタップのタップデータの数(M)とフィルタ係数の数が等しいため、注目データとその周囲の5画素×5画素分の画像データをそのままタップデータとしてフィルタ演算部12に供給する。また乗算器の数も25個であり、タップデータの数(M)とフィルタ係数の数と等しい。すなわち、タップデータT(x,y)と乗算器とを1対1に対応付ければよく、フィルタ演算部12は、積和演算S=Σ(T(z%5,z÷5)*C(z))を実行してフィルタ処理を行う。ここで、%は剰余算を意味しており、÷は余りを切り捨てる除算を意味している。
一方、図6は、フィルタ係数に対称性が有る場合のフィルタタップのタップデータに対する乗算器の割り当て方法を示す。この場合は、フィルタタップのタップデータの数(M)が16であるのに対し、乗算器の数(N)がMより大きい25である。このため、タップデータと乗算器(8ビットの係数)を1対1に対応付けると、乗算器が7個余ることになる。
そこで、本実施形態では、フィルタ演算部12は、1順目として、まず、図6(a)及び図6(d)に示すように、16個のタップデータのそれぞれに乗算器を1つずつ割り当てる(1対1に対応付ける)。つまり、8ビットの係数C(0)~C(15)が各タップに対応することになる。そして、フィルタ演算部12は、対応付けた乗算器とタップデータに対して、部分的な積和演算を行う。
さらに、フィルタ演算部12は、2順目として、図6(d)に示すように、残った9個の乗算器をフィルタタップのタップデータに割り当てる。従って残りの乗算器に対応する係数C(16)~C(24)が、図6(c)に示す通りに各タップに対応付けられる。2つの乗算器を割り当てられたタップデータは、16ビットのフィルタ係数が対応付けられたことを意味する。ここで、本実施形態では、フィルタ演算部12は、フィルタ中心の画素データ38(注目画素データ)から近傍の画素データへの距離に応じて、乗算器をフィルタタップのタップデータに割り当てる。フィルタの中心の画素データ38(注目画素データ)は、対称軸を通っており、この対称軸に折り畳まれたものがフィルタタップとなっている。このため、フィルタ中心の画素データ38から各フィルタタップを形成する各画素データまでの距離は同一となる。従って、この場合、フィルタタップ上における距離に応じて、乗算器を割り当てればよい。
フィルタ中心の画像データ38に対応するT(0,0)のタップデータからの距離に応じて順番付けすると、図6(b)に示すとおりとなる。ただし、図6(b)では、フィルタ中心から同距離に位置するタップデータについては、右上に位置するタップデータを優先している。
フィルタ演算部12は、フィルタ中心からの距離の順番に従って残りの9個の乗算器をタップデータに割り当てる。上記の割り当てにより、図6(c)に示すように、フィルタの中心に近いタップデータには8ビットの係数に対応する乗算器が2つ割り当てられ、フィルタの周辺部のタップデータには8ビットの係数に対応する乗算器が1つ割り当てられる。すなわち、フィルタ演算部12は、注目データからの距離が近いデータ群(タップデータ)に対してフィルタ係数のビット数を優先的に対応付ける。この結果、注目データからの距離が近いデータ群(タップデータ)に対してより多くのビット数のフィルタ係数が対応付けされる。
フィルタ係数に対称性が有る場合のフィルタ演算では、フィルタ演算部12は、上記のように1順目に割り当てた係数を用いて、部分的な積和演算S(1)=Σ(T(z%4、z÷4)*C(z))(z:0~15)を実行する。ただし、z=0~8の係数については、対応するタップデータに割り当てた2つの係数を使用したフィルタ係数のダイナミックレンジの拡大に影響を及ばす符号ビットについては、無視するか、若しくは、符号なしを示す0に設定する。さらに、フィルタ演算部12は、2順目に割り当てた係数を用いて、部分的な積和演算S(2)=Σ(T(D(z))*C(z))(z:16~24)を実行する。ここで、D(z)は、係数C(z)が割り当てられたフィルタタップのフィルタ中心からの距離順を示し、T(D(z))は、距離順D(z)に対応するタップデータを示すものとする。
次に、フィルタ演算部12は、上記により算出した部分的な積和演算結果を合成し、積和演算S=S(2)*128+S(1)を実行する。ここで、積和演算S(2)の結果に乗じられる128は、1順目の係数レンジ(0~127)の上位の桁を表現するための値であり、係数のビット幅から符号ビット分を除いた値による2のべき乗となる。これにより、部分的な積和演算S(1)により7ビットレンジの係数が表現され、部分的な積和演算S(2)により、その上位の符号付き8ビットの係数が表現される。このように算出した積和演算Sの結果は、フィルタ中心部分において、フィルタ係数のダイナミックレンジが符号付き15ビット相当のフィルタ結果となる。したがって、回路規模を増大させることなく、フィルタ中心におけるフィルタ係数のビット幅を拡大することができる。なお、上記では、タップデータに対する乗算器(所定ビット幅の係数を保持する)の割り当てを変更する処理を例に説明したが、これに替えて、タップデータに対する係数のビット数の対応付けを変更する処理を行ってもよい。
上記のフィルタ処理は、フィルタタップ供給部11がフィルタ演算部12に供給する画像データの画素を順次移動させながら、画像データの全範囲にわたって実行する。これにより、画像データ全体に対するフィルタ処理が実行される。
上記のフィルタ処理が実行された後、正規化部13は、フィルタ演算部12で算出した積和演算Sの結果を、出力する画像データのレンジ(ビット幅)に合せて正規化する。
画像データ出力部14は、正規化部13で正規化された出力データを外部の装置に出力する。外部の装置としては、ディスプレイのような表示装置でもよいし、主記憶装置のように画像データを一時的に保持する記憶装置でもよい。
以上説明したように、本実施形態では、画像データに対する複数のフィルタ回路を、フィルタ係数の対称性に応じて設定することにより、回路規模の増大を抑制しつつ、複数のフィルタ処理を適切に実装することができる。
フィルタ処理では、フィルタの中心に近い部分(中心部)のフィルタ係数の絶対値がフィルタの周辺部に比べて大きいことがあり、この傾向はタップの数が多くなると更に強くなる。本実施形態では、フィルタ係数の対称性が有る場合に、フィルタタップ供給部11が、画像データを折り返し加算してすることで、実質的にフィルタタップのタップデータ数を拡大してフィルタタップを生成する。
また、実質的にフィルタタップのタップデータ数を拡大したことで、フィルタの中心部で求められるフィルタ係数のダイナミックレンジも拡大することが求められる。ここで、本実施形態では、フィルタ演算部12が、フィルタ中心の注目画素データから近傍の画素データへの距離に応じて、乗算器をタップデータへ割り当てる。これにより、フィルタ中心におけるビット幅を拡大してダイナミックレンジを拡大することができる。
このように、本実施形態によれば、フィルタタップのタップデータ数もフィルタ係数のダイナミックレンジも拡大しつつ、複数のフィルタの切り替えが可能なフィルタ回路を実現することができる。しかも、このようなフィルタ回路の実現に際して、フィルタ演算における演算量や係数レジスタ等の演算リソースをそれに伴い増大させることもなく、回路規模の増加を抑制することができる。
また、本実施形態では、フィルタタップの数よりも乗算器の数が多い場合にも、フィルタ中心からの距離に応じて乗算器を割り当てることが可能であり、効率的な演算リソースの使用が可能となる。
<実施形態2>
実施形態1では、フィルタ係数の対称性に応じて画像データに対するフィルタ処理を切り替える例を説明したが、以下、本発明の実施形態2に係るフィルタ回路を、信号データに対する様々なフィルタ処理を切り替えながら処理を行う場合の例として説明する。なお実施形態1ではフィルタ処理に用いるフィルタのタップに対して乗算器を割り当てるとして説明したが、本実施形態では、乗算器に対応する係数を割り当ての対象として説明するが、乗算器と係数は対応しているので、実質的には同じことを意味する。
本実施形態のフィルタ回路のブロック図を図7に示す。本実施形態におけるフィルタ回路は、信号データ入力部51と、フィルタタップ供給部53と、係数割り当て部50と、フィルタ演算部54と、正規化部55と、信号データ出力部52とを備える。各構成要素について実施形態1で説明した構成要素に対応するものについては説明を省略する。
信号データ入力部51は、外部の装置からフィルタ処理の対象となる信号データを入力する。
信号データ出力部52は、外部の装置へフィルタ処理済みの信号データを出力する。
係数割り当て部50は、フィルタタップ供給部53から得られる注目画素データの位置情報とタップデータの位置関係から、注目画素データからの距離に応じた、タップデータへの所定ビット幅の係数の割り当てを行う。フィルタ演算部54は、係数の割り当ての情報に基づいて、タップデータと各係数の積和演算を実行する。本実施形態で説明する係数割り当て部50は、実施形態1で説明したフィルタ演算部12の機能を一部切り出したものに該当する。
(フィルタ処理詳細)
以下、実施形態2が実現するフィルタ処理として、係数対称性のある2次元FIRフィルタ処理と、1次元IIR(Infinite Inpulse Response)フィルタ処理とを切り替える例について説明する。なお、以下、2次元FIRフィルタ処理が対象とする信号データは画像データ等の2次元のデータであり、1次元IIRフィルタ処理が処理対象とする信号データは画像データの1ライン分のデータあるいは音声データ等の1次元のデータである場合を例に説明する。
2次元FIRフィルタ処理の係数対称性については、実施形態1で説明したX軸Y軸の2軸に加え、もう1軸の対称性をもたせた例について説明する。すなわち、図8(a)で示すようにX軸Y軸対称となるようなフィルタ係数(図中の数は、同一のフィルタ係数を示す)から、さらに、対角軸による対称性を持たせると図8(b)に示すようなフィルタ係数となる。図8(b)に示すフィルタ係数は、X軸、Y軸に差がなく等方性のあるフィルタ係数となっている。このようなフィルタ係数をフィルタ中心の注目画素データを通るそれぞれの対称軸によって折り畳み加算すると、図9に示すフィルタタップと、タップデータの間の位置関係とを得ることができる。なお、タップデータ60はフィルタ中心の画像データ(注目画素データ)そのものである。
本実施形態において、係数割り当て部50は、図10のフローチャートに示す処理によって、各タップデータへの係数の割り当て数をカウントする係数割り当てカウンタCcnt(x)の値を得る。なお、本実施形態では、フィルタタップのタップデータの数をM個とし、係数の数をN個とする。
ステップS1において、係数割り当て部50は、フィルタの中心からの距離順ソート結果D(x)を算出する。図9に示すフィルタタップ供給部53から出力されるフィルタの中心の位置とタップデータの間の位置関係の情報を元に距離順のソートを行うと、図11に示すような結果D(x)が得られる。
ステップS2において、係数割り当て部50は、係数割り当てカウンタCcnt(x)を初期化し、全てのタップデータに対するカウント値を0にする。また、係数割り当て部50は、タップ位置xを0に初期化する。
ステップS3において、係数割り当て部50は、全ての係数割り当てカウンタCcnt(x)の合計値が係数の数Nとなったか否かを判断する。全ての係数割り当てカウンタCcnt(x)の合計値が係数の数Nとなった場合は、全ての係数の割り当てが完了しており、係数割り当て部50は、フローチャートの処理を終了し、係数をフィルタ演算部54に出力する。全ての係数割り当てカウンタCcnt(x)の合計値がNに達していない場合には、ステップS4に進む。
ステップS4において、係数割り当て部50は、距離順に係数の割り当てを実行し、現在のタップ位置xの係数割り当てカウンタCcnt(x)をインクリメント(増加)させる。なお、係数割り当てカウンタCcnt(x)のカウント値は、各タップに割り当てられた係数の数に相当する。
ステップS5において、係数割り当て部50は、タップ位置xの更新を行う。タップ位置xを1増加させて、フィルタタップのタップデータの数M以上となっている場合には、係数割り当て部50は、タップ位置xをMで割って余りをタップ位置xとする。このステップS5においてタップ位置の更新を行った後に、係数割り当て部50は、ステップS3に戻り、処理の終了判定を実行する。
以上の処理により、フィルタタップのタップデータの数M及び係数の数Nに依らず、タップデータ毎の係数割り当てカウント値、すなわち、割り当てられた係数の数が算出される。
係数割り当て部50は、得られた係数の数に応じて、フィルタの中心からの距離が近い順に順番にフィルタタップのタップデータに係数の割り当てを行う。さらに、係数割り当て部50は、フィルタタップの全てのタップデータに係数を割り当てた後に、再度フィルタ中心から順番に係数の割り当てを行う。従って、フィルタタップ全面に均等に係数が割り当てられ、かつ、余った係数はフィルタの中心に割り当てられるため、タップ数の多いフィルタ処理にも対応可能となる。
フィルタ演算部54では、上記で得られたタップデータ毎の係数の対応付けの数(割り当て数)に従って、タップデータとの積和演算を行い、フィルタ演算を実行する。例えば、符号付きvビットの係数が1つのみ割り当てられたタップデータでは、フィルタ演算部54は、部分積P=T(x,y)*C(z)を算出する。また、係数がw個割り当てられたタップデータでは、フィルタ演算部54は、部分積P=T(x,y)*C(z)+T(x,y)*C(z+1)*(2^(v-1))+・・・+T(x,y)*C(z+w)*(2^((v-1)*w))を算出する。ただし、所定ビット幅の係数C(z)以外の係数は、正の数か、もしくは、符号ビットを除いた(v-1)ビットの係数である必要がある。上記の複数個の係数が割り当てられたタップデータの部分積で、2のべき乗を乗じる演算を等価なビットシフト演算と考えると、係数の割り当て数とフィルタ演算における乗算の回数は一致する。従って、係数に対応させる乗算器の対応付けを考える場合も、図10に示すフローチャートに従って処理すればよい。なお、フィルタ演算部54では、タップデータ毎の部分積の総和をとって、フィルタ演算結果とする。
次に、1次元IIRフィルタの例について説明する。
図12は、IIRフィルタの典型的な処理の例を示す。図12の上部のパスは、FIRフィルタと等価なフィードフォワードパスとなっており、下部のパスはフィルタ結果をもとに補正値を算出するフィードバックパスになっている。図12では、フィードフォワードパスにおけるタップデータを注目データT(0)とし、時間軸方向に遅延したタップデータをT(1)、T(2)、T(3)、T(4)としている。また、フィードバックパスにおけるタップデータは、出力結果を1つずつ遅延させたT(5)、T(6)、T(7)、T(8)から成る。フィルタ演算部54は、これらのタップデータに所定の係数を乗じてフィルタ処理結果を得る。
一般的に、IIRフィルタはFIRフィルタに比べ、少ないタップ数で同等のフィルタ性能を出すことができる。一方で、IIRフィルタは、係数感度が高く出力安定性が悪いという欠点を持っている。このため、IIRフィルタには、フィルタ係数のビット幅がかなり必要で、必要なビット幅は用途により異なる。
本実施形態では、タップデータ毎に必要なビット幅をP(T(x))とする。各タップデータに対する係数の割り当てについて、図13に示すフローチャートを用いて説明する。
ステップS1において、係数割り当て部50は、フィルタの中心からの距離順ソート結果D(x)を算出する。本実施形態のIIRフィルタ処理の場合、注目画素データとなるタップデータと、その他のデータ群との距離は時間的な距離となる。注目画素データとデータ群のデータを入力、もしくは、出力されたときの時間軸を直線上に並べると、図14(a)のようになる。これを時間距離順に並べると、図14(b)に示す順番になる。但し、同一時間距離となるフィードフォワードパスのタップデータとフィードバックパスのタップデータでは、フィードバックパスのタップデータを優先させている。IIRフィルタの場合は、特にフィードバックパスの方が、係数感度が高いため最終的に割り当てる係数を多くするためである。
ステップS2からステップS5の説明は、前述の通りであるため説明を省略する。
ステップS6において、係数割り当て部50は、タップ位置xのタップデータT(x)の要求ビット幅P(T(x))を満たしているか否かの判定を行う。割り当てを行う係数のビット幅をwとすると、Ccnt(x)が0の場合は割り当てる係数のビット幅は0であり、それ以外の場合は割り当てる係数のビット幅は(Ccnt(x)-1)*(w-1)+wとなる。係数割り当て部50は、このビット幅が、要求ビット幅P(T(x))以上か否かを判定し、越えていない場合にはステップS3に進む。ビット幅が要求ビット幅P(T(x))を越えている場合には、係数割り当て部50は、ステップS5に進み、タップデータT(x)への係数の割り当てを完了する。
上記の処理において、係数割り当て部50は、距離順に並べたタップデータT(x)の要求ビット幅P(T(x))を満たすように係数の割り当てを行う。係数が全タップデータT(x)の要求ビット幅P(T(x))を満たすだけのビット幅と個数が無い場合には、係数割り当て部50は、注目データから距離の遠いタップデータに関しては、係数を割り当てない。IIRフィルタは、FIRフィルタに比べて少ないフィルタタップで同等のフィルタ性能を実現でき、係数感度が高いためにタップデータの要求ビット幅を満たす必要があるため、上記のような係数の割り当てが望ましい。
フィルタ演算部54は、上記で得られたタップデータ毎のフィルタ係数に従って、タップデータとの積和演算を行い、フィルタ演算を実行する。
以上説明したように、本実施形態では、フィルタタップ数がM個の様々なフィルタ処理に対し、N個の係数を割り当ててフィルタ処理する。いずれのフィルタ処理においても、予め用意していた係数を最大限活用し、様々なフィルタ処理を実現することができる。
これにより、本実施形態では、回路規模の増大を抑制しつつ、複数のフィルタ処理を適切に実装することができる。なお、本実施形態で用いた係数はタップデータに1対1に対応するものではなく、フィルタ処理における乗算リソースに設定する乗数という位置付けである。従って、本実施形態における係数を乗算リソースと言い換えてもよい。
<実施形態3>
本発明の第3の実施形態に係るフィルタ回路は、映像データに対してフレーム間とフレーム内のフィルタ処理を切り替え可能とするものである。
本実施形態のフィルタ回路のブロック図を図15に示す。本実施形態のフィルタ回路は、映像データ入力部70と、タップデータ圧縮部71と、タップデータ記憶部72と、フィルタタップ供給部74と、フィルタ演算部75と、係数割り当て部76と、正規化部77と、映像データ出力部73とを備える。各構成要素について、実施形態1及び実施形態2において説明した構成要素に対応するものについては説明を省略する。
映像データ入力部70は、外部の装置から処理対象となる映像データを入力する。映像データは、フレームの画像データ毎に順次入力される。
映像データ出力部73は、外部の装置へフィルタ処理済みの映像データを出力する。
タップデータ圧縮部71は、フィルタ処理対象となるフレーム内のタップデータを圧縮し、フィルタタップ供給部74若しくはタップデータ記憶部72に出力する。
ここで、タップデータの圧縮方法について、図16を用いて説明する。図16(a)に示すのは、フレーム内にのみフィルタ処理を施す場合のフィルタタップである。タップデータ圧縮部71は、このフィルタの中心を注目画素データとしてXY軸に対して折りたたみ加算し、図16(b)のタップデータを算出する。タップデータ圧縮部71は、このタップデータを注目画素データ80に対応するタップデータ群としてタップデータ記憶部72に出力する。1つの注目画素データに対して、多数のタップデータが記憶され、それが複数フレーム分のデータ容量となるため、出来る限りタップデータを少容量にすることが望ましい。例えば、タップデータ生成時、別の対称軸による折り返し加算を実施してタップデータ数を削減してもよいし、タップデータ群に対して公知のデータ圧縮技術を利用してデータ容量を削減してもよい。
タップデータ記憶部72は、タップデータ圧縮部71で生成された注目データに対するタップデータを一時的に保持し、フィルタタップ供給部74の要求に応じて、注目データに対するタップデータを供給する。
フィルタタップ供給部74は、フィルタ処理の切り替えに応じて、タップデータをフィルタ演算部75に供給する。フィルタ処理がフレーム内のフィルタ処理である場合には、フィルタタップ供給部74は、タップデータ圧縮部71で圧縮されたタップデータをバイパスしてフィルタ演算部75に供給する。若しくは、フィルタタップ供給部74は、入力される映像データをもとにフレーム内のフィルタタップのデータを生成する。フレーム間のフィルタ処理である場合には、フィルタタップ供給部74は、タップデータ圧縮部71で生成された図16(b)で示したタップデータと、タップデータ記憶部72から読み出されるタップデータを用いてフィルタ処理に必要なタップデータを供給する。
図17に示すように、あるフレームの注目画素データ90とタップデータ91は、タップデータ圧縮部71で生成されたものである。また、注目画素データ90と同じ位置にあり、フレームが異なる画像データに対するタップデータ93及び94は、タップデータ記憶部72より読み出されたものである。フィルタタップ供給部74は、複数の注目画素データのうち、時間軸上のフレームの中心となる画像データ92を注目画素データと設定し、フィルタ演算部75、及び係数割り当て部76に出力する。
係数割り当て部76は、フィルタタップ供給部74から得られる注目データの位置情報とタップデータの位置関係から、注目データからの各タップデータへの距離に応じた係数の割り当てを行う。
(フィルタ処理詳細)
以下、本実施形態におけるフィルタ処理の詳細について説明する。なお、フレーム内のフィルタ処理である場合には、他の実施形態で示してきたため、フレーム間のフィルタ処理について図17を使用して説明する。
係数割り当て部76は、フレーム間のタップデータを、注目データ92から各フレームのタップデータへの距離順にソートして、係数を設定する。注目データとタップデータ間の距離は、同一フレーム内のタップデータに対する空間的な距離Ds(x)と、フレーム間のタップデータに対する時間的な距離Dt(x)に分けられる。係数割り当て部76は、それぞれの距離の合成により、距離D(x)=a*Ds(x)+b*Dt(x)(a,b:重み係数)を算出し、この距離D(x)に基づいて、注目データからの距離順にソート処理を行う。なお、重み係数となっているa及びbに関しては、映像データの解像度とフレームレートの相対関係により変化する。距離順が定まった後に、係数を割り当てる方法は、図10、若しくは、図13のフローチャートに従えばよい。
以上説明したように、本実施形態では、映像データに対してフレーム内のフィルタ処理とフレーム間のフィルタ処理を切り替える例を示した。どちらのフィルタ処理を選択した場合でも、予め用意している乗算リソースを効率的に使用することができ、フィルタ性能を最大限に高めることができる。
これにより、本実施形態では、回路規模の増大を抑制しつつ、複数のフィルタ処理を適切に実装することができる。
なお、映像データの解像度、フレームレートに応じて、タップデータ間の空間的距離と時間的距離の比率を変更することで、より重要なタップデータの感度を高めることが可能となる。
10…画像データ入力部、11、53、74…フィルタタップ供給部、12、54、75…フィルタ演算部、13、55、77…正規化部、14…画像データ出力部、50…係数割り当て部、51…信号データ入力部、52…信号データ出力部、70…映像データ入力部、71…タップデータ圧縮部、72…タップデータ記憶部、73…映像データ出力部

Claims (11)

  1. 画像データに対してフィルタを用いたフィルタ処理を実行する画像処理回路において、
    前記画像データにおける注目データ及び該注目データ近傍のデータ群から、フィルタタップのM(M:自然数)個のデータを生成する生成手段と、
    所定のビット数の係数を保持し、前記フィルタタップと前記係数を用いたフィルタ係数との乗算を行う複数の乗算器と、
    前記注目データに対応するフィルタタップからの距離に基づいて、前記係数を保持する複数の乗算器それぞれを、前記生成手段が生成したM個の前記フィルタタップのデータに割り当てる設定手段と、
    を有することを特徴とする画像処理回路。
  2. 前記生成手段により生成された前記フィルタタップの前記M個のデータと前記フィルタ係数を対応付けて積和演算を実行する演算手段をさらに有する請求項1に記載の画像処理回路。
  3. 前記乗算器が保持する前記所定のビット数は、前記フィルタ係数のビット数よりも少ないビット幅のビット数であることを特徴とする請求項1または2に記載の画像処理回路。
  4. 前記設定手段は、前記演算手段が積和演算する前記フィルタ係数それぞれのビット幅を上回るように前記係数を割り当てることを特徴とする請求項に記載の画像処理回路。
  5. 前記複数の乗算器それぞれは、前記フィルタ係数のビット幅の公約数の乗算ができることを特徴とする請求項1乃至4の何れか一項に記載の画像処理回路。
  6. 前記演算手段は、互いに異なる複数のフィルタを用いて積和演算を実行し、
    前記複数の乗算器として、前記複数のフィルタごとの最大総乗算数とスループットとに応じた数の乗算器を有することを特徴とする請求項2に記載の画像処理回路。
  7. 前記生成手段は、
    前記フィルタが前記フィルタ係数の対称性を有しない場合は、前記画像データにおける前記注目データおよび該注目データ近傍のデータをそのままフィルタタップのM個のデータとして前記演算手段に供給し、
    前記フィルタが前記フィルタ係数の対称性を有する場合は、前記注目データおよび該注目データ近傍のデータを畳み込み加算することにより前記フィルタタップの前記M個のデータを生成し、前記演算手段に供給する、
    ことを特徴とする請求項に記載の画像処理回路。
  8. 前記設定手段は、前記注目データからの距離が近い前記データ群に対して前記係数を優先的に対応付けることを特徴とする請求項1から7のいずれか1項に記載の画像処理回路。
  9. 前記設定手段は、前記注目データからの距離が近い前記データ群に対して前記係数をより多く対応付けることを特徴とする請求項1から8のいずれか1項に記載の画像処理回路。
  10. 前記演算手段は、少なくとも前記画像データの解像度により重み付けした空間的距離と前記画像データのフレームレートによる重み付けした時間的距離のいずれかに基づいて前記係数を前記フィルタタップに対応付けることを特徴とする請求項に記載の画像処理回路。
  11. 前記設定手段は、前記空間的距離と前記時間的距離を合成した距離に基づいて、前記係数を前記フィルタタップに対応付けることを特徴とする請求項10に記載の画像処理回路。
JP2017161038A 2016-11-18 2017-08-24 画像処理回路 Active JP7005228B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/812,713 US10572985B2 (en) 2016-11-18 2017-11-14 Image processing circuit with multipliers allocated based on filter coefficients

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016224915 2016-11-18
JP2016224915 2016-11-18

Publications (2)

Publication Number Publication Date
JP2018088231A JP2018088231A (ja) 2018-06-07
JP7005228B2 true JP7005228B2 (ja) 2022-01-21

Family

ID=62493689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017161038A Active JP7005228B2 (ja) 2016-11-18 2017-08-24 画像処理回路

Country Status (1)

Country Link
JP (1) JP7005228B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001339279A (ja) 2000-05-29 2001-12-07 Canon Inc フィルタ回路

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2544326B2 (ja) * 1984-11-14 1996-10-16 ソニー株式会社 ディジタルフィルタ
JP2747146B2 (ja) * 1991-10-03 1998-05-06 シャープ株式会社 ゴ−スト除去装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001339279A (ja) 2000-05-29 2001-12-07 Canon Inc フィルタ回路

Also Published As

Publication number Publication date
JP2018088231A (ja) 2018-06-07

Similar Documents

Publication Publication Date Title
JP4790791B2 (ja) 乗算器、デジタルフィルタ、信号処理装置、合成装置、合成プログラム、および合成プログラム記録媒体
US6609143B1 (en) Method and apparatus for arithmetic operation
US7277479B2 (en) Reconfigurable fir filter
JP2544326B2 (ja) ディジタルフィルタ
US11907681B2 (en) Semiconductor device and method of controlling the semiconductor device
JP7005228B2 (ja) 画像処理回路
US10572985B2 (en) Image processing circuit with multipliers allocated based on filter coefficients
JPWO2008018197A1 (ja) デジタルフィルタ、その合成装置、合成プログラム、及び合成プログラム記録媒体
JPH08152994A (ja) 乗算器及びディジタルフィルタ
CN113485751A (zh) 执行伽罗瓦域乘法的方法、运算单元和电子装置
JPH0816903B2 (ja) 積和演算回路
JP5116499B2 (ja) 演算処理回路
CN116227507B (zh) 一种用于进行双线性插值处理的运算装置
WO2023100372A1 (ja) データ処理装置、データ処理方法、及びデータ処理プログラム
Tasdizen et al. Computation reduction techniques for vector median filtering and their hardware implementation
US20230206061A1 (en) Deep learning acceleration with mixed precision
US20220075598A1 (en) Systems and Methods for Numerical Precision in Digital Multiplier Circuitry
CN108268690B (zh) Fpga内部alu电路
US20230206044A1 (en) Deep learning acceleration with mixed precision
US20230206045A1 (en) Deep learning acceleration with mixed precision
US20230206043A1 (en) Deep learning acceleration with mixed precision
US20230206042A1 (en) Deep learning acceleration with mixed precision
US20230206041A1 (en) Deep learning acceleration with mixed precision
JP2007079972A (ja) 逆変換回路
WO2006088085A1 (ja) 加算器、およびその合成装置、合成方法、合成プログラム、合成プログラム記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210928

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220105