(57)【要約】      （修正有）【課題】プロセッシングシステムの構造を単純化し、電流消費を減らす技術を提供する。【解決手段】プロセッシングエレメント２６０は、フィーチャとウエートとを受信してフィルタリングし、フィルタリングされたフィーチャとフィルタリングされたウエートとを出力する前処理回路３１０と、フィルタリングされたフィーチャの値を累積するための累積回路３２０を備える。前処理回路３１０は、ウエートが−１である場合に、フィーチャとウエートとの符号を変更するサインコンバージョン回路３１１と、フィーチャが０である場合に、ウエートを０に変更するゼロフィルタリング回路３１２とを備える。【選択図】図３
2020177643.tif 000002
【特許請求の範囲】
【請求項１】
フィーチャとウエートとを受信してフィルタリングし、フィルタリングされたフィーチャとフィルタリングされたウエートとを出力する前処理回路と、
前記フィルタリングされたフィーチャの値を累積するための累積回路と、
を備え、
前記前処理回路は、
前記ウエートが−１である場合に、前記フィーチャとウエートとの符号を変更するサインコンバージョン回路と、
前記フィーチャが０である場合に、前記ウエートを０に変更するゼロフィルタリング回路と、
を備えるプロセッシングエレメント。
【請求項２】
前記累積回路は、前記フィルタリングされたフィーチャの値が１である場合に、前記フィルタリングされたフィーチャの値を累積する請求項１に記載のプロセッシングエレメント。
【請求項３】
前記前処理回路に入力されたフィーチャとウエートとは、前記サインコンバージョン回路により処理され、前記サインコンバージョン回路により処理されたフィーチャとウエートとが前記ゼロフィルタリング回路により処理されて、前記フィルタリングされたフィーチャと前記フィルタリングされたウエートとが生成される請求項１に記載のプロセッシングエレメント。
【請求項４】
前記前処理回路に入力されたフィーチャとウエートとは、前記ゼロフィルタリング回路により処理され、前記ゼロフィルタリング回路により処理されたフィーチャとウエートとが前記サインコンバージョン回路により処理されて、前記フィルタリングされたフィーチャと前記フィルタリングされたウエートとが生成される請求項１に記載のプロセッシングエレメント。
【請求項５】
前記ゼロフィルタリング回路は、前記ウエートが０である場合に、前記フィーチャを０に変更する請求項１に記載のプロセッシングエレメント。
【請求項６】
前記累積回路は、
累積値と前記フィルタリングされたフィーチャの値とを加算する加算器と、
前記フィルタリングされたウエートが１である場合に、前記加算器の加算結果を前記累積値で格納するレジスタと、
を備える請求項１に記載のプロセッシングエレメント。
【請求項７】
前記前処理回路に入力される前記ウエートは、１、０、−１のうち１つの値を有する請求項１に記載のプロセッシングエレメント。
【請求項８】
フィーチャとウエートとを受信してフィルタリングし、フィルタリングされたフィーチャとフィルタリングされたウエートとを出力する前処理回路と、
前記フィルタリングされたフィーチャの値を累積するための累積回路と、
を備え、
前記前処理回路は、
前記ウエートが１である場合に、前記フィーチャとウエートとの符号を変更するサインコンバージョン回路と、
前記フィーチャが０である場合に、前記ウエートを０に変更するゼロフィルタリング回路と、
を備えるプロセッシングエレメント。
【請求項９】
前記累積回路は、前記フィルタリングされたウエートが−１である場合に、前記フィルタリングされたフィーチャの値を累積する請求項８に記載のプロセッシングエレメント。
【請求項１０】
前記ゼロフィルタリング回路は、前記ウエートが０である場合に、前記フィーチャを０に変更する請求項８に記載のプロセッシングエレメント。
【請求項１１】
フィーチャとウエートとを格納するキャッシュメモリと、
前記キャッシュメモリから伝達されたフィーチャとウエートとの演算のためのプロセッシングエレメントと、
を備え、
前記プロセッシングエレメントは、
フィーチャとウエートとを受信してフィルタリングし、フィルタリングされたフィーチャとフィルタリングされたウエートとを出力する前処理回路と、
前記フィルタリングされたフィーチャの値を累積するための累積回路と、
を備え、
前記前処理回路は、
前記ウエートが−１である場合に、前記フィーチャとウエートとの符号を変更するサインコンバージョン回路と、
前記フィーチャが０である場合に、前記ウエートを０に変更するゼロフィルタリング回路と、
を備えるプロセッシングシステム。
【請求項１２】
前記累積回路は、前記フィルタリングされたフィーチャの値が１である場合に、前記フィルタリングされたフィーチャの値を累積する請求項１１に記載のプロセッシングシステム。
【請求項１３】
ホストとの通信のためのホストインターフェースと、
データを格納するメモリと、
前記メモリのデータをアクセスするためのメモリインターフェースと、
前記ホストインターフェース、前記メモリインターフェース、及び前記キャッシュメモリ間のインターフェーシングのためのバスインターフェースと、
前記プロセッシングエレメントの演算結果を後処理（ｐｏｓｔ−ｐｒｏｃｅｓｓｉｎｇ）する後処理器と、
をさらに備える請求項１１に記載のプロセッシングシステム。
【請求項１４】
前記前処理回路に入力されたフィーチャとウエートとは、前記サインコンバージョン回路により処理され、前記サインコンバージョン回路により処理されたフィーチャとウエートとが前記ゼロフィルタリング回路により処理されて、前記フィルタリングされたフィーチャと前記フィルタリングされたウエートとが生成される請求項１１に記載のプロセッシングシステム。
【請求項１５】
前記前処理回路に入力されたフィーチャとウエートとは、前記ゼロフィルタリング回路により処理され、前記ゼロフィルタリング回路により処理されたフィーチャとウエートとが前記サインコンバージョン回路により処理されて、前記フィルタリングされたフィーチャと前記フィルタリングされたウエートとが生成される請求項１１に記載のプロセッシングシステム。
【請求項１６】
前記ゼロフィルタリング回路は、前記ウエートが０である場合に、前記フィーチャを０に変更する請求項１１に記載のプロセッシングシステム。
【請求項１７】
前記累積回路は、
累積値と前記フィルタリングされたフィーチャの値とを加算する加算器と、
前記フィルタリングされたウエートが１である場合に、前記加算器の加算結果を前記累積値で格納するレジスタと、
を備える請求項１１に記載のプロセッシングシステム。
【請求項１８】
前記前処理回路に入力される前記ウエートは、１、０、−１のうち１つの値を有する請求項１１に記載のプロセッシングシステム。
【請求項１９】
フィーチャとウエートとを格納するキャッシュメモリと、
前記キャッシュメモリから伝達されたフィーチャとウエートとの演算のためのプロセッシングエレメントと、
を備え、
前記プロセッシングエレメントは、
フィーチャとウエートとを受信してフィルタリングし、フィルタリングされたフィーチャとフィルタリングされたウエートとを出力する前処理回路と、
前記フィルタリングされたフィーチャの値を累積するための累積回路と、
を備え、
前記前処理回路は、
前記ウエートが１である場合に、前記フィーチャとウエートとの符号を変更するサインコンバージョン回路と、
前記フィーチャが０である場合に、前記ウエートを０に変更するゼロフィルタリング回路と、
を備えるプロセッシングシステム。
【請求項２０】
前記累積回路は、前記フィルタリングされたウエートの値が−１である場合に、前記フィルタリングされたフィーチャの値を累積する請求項１９に記載のプロセッシングシステム。
【請求項２１】
ホストとの通信のためのホストインターフェースと、
データを格納するメモリと、
前記メモリのデータをアクセスするためのメモリインターフェースと、
前記ホストインターフェース、前記メモリインターフェース、及び前記キャッシュメモリ間のインターフェーシングのためのバスインターフェースと、
前記プロセッシングエレメントの演算結果を後処理（ｐｏｓｔ−ｐｒｏｃｅｓｓｉｎｇ）する後処理器と、
をさらに備える請求項１９に記載のプロセッシングシステム。
【請求項２２】
前記ゼロフィルタリング回路は、前記ウエートが０である場合に、前記フィーチャを０に変更する請求項１９に記載のプロセッシングシステム。
【請求項２３】
前記累積回路は、
累積値と前記フィルタリングされたフィーチャの値とを加算する加算器と、
前記フィルタリングされたウエートが−１である場合に、前記加算器の加算結果を前記累積値で格納するレジスタと、
を備える請求項１９に記載のプロセッシングシステム。
【請求項２４】
入力フィーチャとウエートとを受信し、前記入力フィーチャとウエートの各々が第１値を有するか感知し、感知結果に応じて前記入力フィーチャとウエートの対応する値を選択的にコンバーティングして、コンバーティングされたフィーチャとウエートを出力するコンバージョン回路と、
前記コンバーティングされたフィーチャとウエートを受信し、前記コンバーティングされたフィーチャとウエートの各々が第２値を有するかを判断し、判断結果に応じて前記コンバーティングされたフィーチャとウエートの対応する値をフィルタリングし、フィルタリングされたフィーチャとウエートとを出力するフィルタリング回路と、
現在のフィルタリングされたフィーチャと以前のフィルタリングされたフィーチャとを含む前記フィルタリングされたフィーチャを受信し、前記フィルタリングされたウエートのうち、対応するフィルタリングされたウエートの値に応じて前記現在のフィルタリングされたフィーチャと前記以前のフィルタリングされたフィーチャとを加算する加算器と、
を備え、
前記入力フィーチャとウエートの各々は、３つの値のうち１つの値を有し、前記コンバーティングされたフィーチャとウエートの各々は、２つの値のうち１つの値を有するプロセッシングエレメント。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許文献は、プロセッシングシステムに関する。
【背景技術】
【０００２】
ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）は、イメージ認識及び分析のために主に使用されるプロセッシングシステム（ｐｒｏｃｅｓｓｉｎｇ  ｓｙｓｔｅｍ）である。このプロセッシングシステムは、特定フィルタでイメージからフィーチャ（ｆｅａｔｕｒｅ）を抽出するコンボリューション演算を行うようになる。
【０００３】
近年、ＢＮＮ（Ｂｉｎａｒｉｚｅｄ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）が台頭しているが、これは、バイナリ（ｂｉｎａｒｙ）（１または−１のみウエートとして使用）またはターナリー（ｔｅｒｎａｒｙ）（１、０、−１のみウエートとして使用）のような２つまたは３つのウエートを使用してプロセッシングシステムの構造を単純化し、電力消費を減らそうとすることに目的がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態等は、プロセッシングシステムの構造を単純化し、電流消費を減らす技術を提供できる。
【課題を解決するための手段】
【０００５】
本発明の一実施形態に係るプロセッシングエレメントは、フィーチャとウエートとを受信してフィルタリングし、フィルタリングされたフィーチャとフィルタリングされたウエートとを出力する前処理回路と、前記フィルタリングされたフィーチャの値を累積するための累積回路とを備え、前記前処理回路は、前記ウエートが−１である場合に、前記フィーチャとウエートとの符号を変更するサインコンバージョン回路と、前記フィーチャが０である場合に、前記ウエートを０に変更するゼロフィルタリング回路とを備えることができる。
【０００６】
本発明の他の実施形態に係るプロセッシングエレメントは、フィーチャとウエートとを受信してフィルタリングし、フィルタリングされたフィーチャとフィルタリングされたウエートとを出力する前処理回路と、前記フィルタリングされたフィーチャの値を累積するための累積回路とを備え、前記前処理回路は、前記ウエートが１である場合に、前記フィーチャとウエートとの符号を変更するサインコンバージョン回路と、前記フィーチャが０である場合に、前記ウエートを０に変更するゼロフィルタリング回路とを備えることができる。
【０００７】
本発明の一実施形態に係るプロセッシングシステムは、フィーチャとウエートとを格納するキャッシュメモリと、前記キャッシュメモリから伝達されたフィーチャとウエートとの演算のためのプロセッシングエレメントとを備え、前記プロセッシングエレメントは、フィーチャとウエートとを受信してフィルタリングし、フィルタリングされたフィーチャとフィルタリングされたウエートとを出力する前処理回路と、前記フィルタリングされたフィーチャの値を累積するための累積回路とを備え、前記前処理回路は、前記ウエートが−１である場合に、前記フィーチャとウエートとの符号を変更するサインコンバージョン回路と、前記フィーチャが０である場合に、前記ウエートを０に変更するゼロフィルタリング回路とを備えることができる。
【０００８】
本発明の他の実施形態に係るプロセッシングシステムは、フィーチャとウエートとを格納するキャッシュメモリと、前記キャッシュメモリから伝達されたフィーチャとウエートとの演算のためのプロセッシングエレメントとを備え、前記プロセッシングエレメントは、フィーチャとウエートとを受信してフィルタリングし、フィルタリングされたフィーチャとフィルタリングされたウエートとを出力する前処理回路と、前記フィルタリングされたフィーチャの値を累積するための累積回路とを備え、前記前処理回路は、前記ウエートが１である場合に、前記フィーチャとウエートとの符号を変更するサインコンバージョン回路と、前記フィーチャが０である場合に、前記ウエートを０に変更するゼロフィルタリング回路とを備えることができる。
【発明の効果】
【０００９】
本発明の実施形態等によれば、プロセッシングシステムの構造を単純化し、電流消費を減らすことができる。
【図面の簡単な説明】
【００１０】
【図１】プロセッシングシステムが行うコンボリューション（ｃｏｎｖｏｌｕｔｉｏｎ）演算を説明するための図。
【図２】本発明の一実施形態に係るプロセッシングシステム２００の構成図。
【図３】プロセッシングエレメント２６０の一実施形態の構成図。
【図４】前処理回路３１０の動作の一例を示した図。
【図５】前処理回路３１０の動作の他の例を示した図。
【発明を実施するための形態】
【００１１】
以下、本発明の属する技術分野における通常の知識を有する者が本発明の技術的思想を容易に実施できるように詳細に説明するために、本発明の最も望ましい実施形態を添付図面を参照して説明する。本発明を説明するにあたって、本発明の要旨と関係ない構成は省略されることができる。各図面の構成要素等に参照符号を付すにあたって、同じ構成要素等に限っては、例え、他の図面上に表示されても、なるべく同じ番号を有するようにしていることに留意すべきである。
【００１２】
図１は、プロセッシングシステムが行うコンボリューション（ｃｏｎｖｏｌｕｔｉｏｎ）演算を説明するための図である。
【００１３】
図１の１１０は、プロセッシングシステムに入力されるイメージ（ｉｍａｇｅ）データを示すことができる。イメージデータ値をフィーチャ（ｆｅａｔｕｒｅ）というが、ここでは、イメージ１１０が４個のフィーチャを含むことと例示した。もちろん、イメージ１１０は、これよりずっと多くの個数のフィーチャを含むこともできる。
【００１４】
１２０は、フィルタ（ｆｉｌｔｅｒ）を示すことができる。フィルタ１２０に含まれる値をウエート（ｗｅｉｇｈｔ）ということができる。ウエートは、フィーチャの各々に対応することができる。ここでは、ウエートが１、０、−１の３つの値のうち１つであることを例示したが、これをターナリー（ｔｅｒｎａｒｙ）ウエートという。
【００１５】
コンボリューション演算は、フィーチャとウエートとを乗算し、乗算した値を加算する方式で行なわれることができる。例えば、図１のイメージとフィルタに対するコンボリューション演算は、（０．３×１）＋（１．２×０）＋（−０．２×−１）＋（０×−１）＝０．５のように行なわれることができる。すなわち、コンボリューション演算には、乗算演算と加算演算とが伴われることが一般的である。
【００１６】
図２は、本発明の一実施形態に係るプロセッシングシステム２００の構成図である。
【００１７】
図２に示すように、プロセッシングシステム２００は、メインメモリ２１０、メモリインターフェース２２０、バスインターフェース２３０、ホストインターフェース２４０、キャッシュメモリ２５０、プロセッシングエレメント２６０、及び後処理器２７０を備えることができる。
【００１８】
メインメモリ２１０は、イメージ（ｉｍａｇｅ）（すなわち、イメージに含まれるフィーチャ）とフィルタ（ｆｉｌｔｅｒ）（すなわち、フィルタに含まれるウエート）などを格納する大容量メモリでありうる。メインメモリ２１０では、ＤＲＡＭが使用されることができ、他の種類のメモリが使用されることもできる。
【００１９】
メモリインターフェース２２０は、メインメモリ２１０をアクセスするために使用されることができる。
【００２０】
ホストインターフェース２４０は、ホスト（ＨＯＳＴ）との通信のためのインターフェースでありうる。ホストインターフェース２４０を介してホスト（ＨＯＳＴ）、例えば、中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）からプロセッシングシステム２００が処理する各種命令及びデータが伝達され得る。また、ホストインターフェース２４０を介してプロセッシングシステム２００の処理結果がホストに伝達されることもできる。
【００２１】
キャッシュメモリ２５０は、プロセッシングエレメント２６０が演算するフィーチャとウエートとを格納するキャッシュメモリでありうる。キャッシュメモリ２５０は、ＳＲＡＭなどで構成されることができ、メインメモリ２１０とプロセッシングエレメント２６０との間のアクセスレイテンシ（ａｃｃｅｓｓ  ｌａｔｅｎｃｙ）を最小化するために使用されるキャッシュメモリでありうる。
【００２２】
バスインターフェース２３０は、ホストインターフェース２４０、メモリインターフェース２２０、及びキャッシュメモリ２５０間のインターフェースのためのプロセッシングシステム２００内部のバスインターフェースでありうる。バスインターフェース２３０は、ホストインターフェース２４０を介して伝達されるイメージとフィルタをメモリインターフェース２２０を介してメインメモリ２１０に格納し、メモリインターフェース２２０を介してメインメモリ２１０からプロセッシングエレメント２６０がコンボリューション演算するフィーチャとウエートとを読み出してキャッシュメモリ２５０にロードすることができる。また、バスインターフェース２３０は、プロセッシングシステム２００の処理結果をホストインターフェース２４０を介してホスト（ＨＯＳＴ）に伝達することができる。
【００２３】
プロセッシングエレメント２６０は、キャッシュメモリ２５０から伝達されたフィーチャ（ＦＥＡＴＵＲＥ）とウエート（ＷＥＩＧＨＴ）とのコンボリューション演算を行うことができる。プロセッシングエレメント２６０の構成及び動作については、図３〜図５とともに詳細に説明する。図２では、プロセッシングエレメント２６０を１個のみ図示したが、複数のコンボリューション演算を並列で処理するために、複数個のプロセッシングエレメントがプロセッシングシステムに含まれ得ることは当たり前である。
【００２４】
後処理器２７０は、プロセッシングエレメント２６０のコンボリューション演算結果を後処理（ｐｏｓｔ−ｐｒｏｃｅｓｓｉｎｇ）することができる。後処理器２７０は、ピクセル（ｐｉｘｅｌ）別に平均（ａｖｅｒａｇｅ）または最大（ｍａｘ）値を探すプーリング（ｐｏｏｌｉｎｇ）、閾値（ｔｈｒｅｓｈｏｌｄ）基盤でデータをフィルタリングするＲｅＬＵ（Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔ）またはシグモイド（ｓｉｇｍｏｉｄ）のような活性関数（ａｃｔｉｖａｔｉｏｎ  ｆｕｎｃｔｉｏｎ）、結果値から外れる値をフィルタリングするノーマライズ（ｎｏｒｍａｌｉｚｅ）などの機能（ｆｕｎｃｔｉｏｎ）を行うことができる。後処理器２７０の処理結果は、バスインターフェース２３０に伝達され、ホストインターフェース２４０を介してホストに伝達されることができる。
【００２５】
図２のプロセッシングシステム２００は、１つまたは複数個の集積回路チップで実現されることができる。例えば、プロセッシングシステム２００全体が１つの集積回路チップにシステムオンチップ（ｓｙｓｔｅｍ  ｏｎ  ｃｈｉｐ）の形態で含まれることができ、メインメモリ２１０は、１つの集積回路チップに、残りの構成２２０〜２７０は、さらに他の集積回路チップに含まれるなど、プロセッシングシステムが複数個の集積回路チップで実現されることもできる。
【００２６】
図３は、プロセッシングエレメント２６０の一実施形態の構成図である。
【００２７】
図３に示すように、プロセッシングエレメント２６０は、前処理回路３１０と累積回路３２０とを備えることができる。
【００２８】
前処理回路３１０は、フィーチャ（ＦＥＡＴＵＲＥ）とウエート（ＷＥＩＧＨＴ）とを受信してフィルタリングし、フィルタリングされたフィーチャ（ＦＥＡＴＵＲＥ＿ＦＩＬＴＥＲＥＤ）とフィルタリングされたウエート（ＷＥＩＧＨＴ＿ＦＩＬＴＥＲＥＤ）とを出力できる。前処理回路３１０の動作によりフィルタリングされたウエート（ＷＥＩＧＨＴ＿ＦＩＬＴＥＲＥＤ）は、３つの値のうち１つでない、２つの値のうち１つになることができる。すなわち、フィルタリングされたウエート（ＷＥＩＧＨＴ＿ＦＩＬＴＥＲＥＤ）は、ターナリー（ｔｅｒｎａｒｙ）からバイナリ（ｂｉｎａｒｙ）に変更され、これは、すなわち、フィルタリングされたウエート（ＷＥＩＧＨＴ＿ＦＩＬＴＥＲＥＤ）のビット数が２ビットから１ビットに変更されるということを意味できる。前処理回路３１０は、サインコンバージョン回路３１１及びゼロフィルタリング回路３１２を備えることができる。
【００２９】
サインコンバージョン回路３１１は、ウエート（ＷＥＩＧＨＴ）が−１である場合に、フィーチャ（ＦＥＡＴＵＲＥ）とウエート（ＷＥＩＧＨＴ）とに−１を乗算する動作を行うことができる。その結果、サインコンバージョン回路３１１により処理されたウエート（ＷＥＩＧＨＴ＿ＳＩＧＮ）から−１が除去され、ウエートが０と１の２つの値のうち１つの値を有することができる。サインコンバージョン回路３１１がフィーチャ（ＦＥＡＴＵＲＥ）とウエート（ＷＥＩＧＨＴ）とに−１を乗算する動作は、実際の乗算演算が必要なことではなく、＋を−に変更したり、−を＋に変更することのように、単に符号を変更すればよい。図４においてＦＥＡＴＵＲＥとＷＥＩＧＨＴとは、サインコンバージョン回路３１１に入力されるフィーチャ（ＦＥＡＴＵＲＥ）とウエート（ＷＥＩＧＨＴ）とを示し、図４のＦＥＡＴＵＲＥ＿ＳＩＧＮとＷＥＩＧＨＴ＿ＳＩＧＮとは、サインコンバージョン回路から出力されるフィーチャとウエートとを示すが、図４を確認すれば、ウエートが−１である場合に、フィーチャとウエートとに−１が乗算されてサインコンバージョン回路から出力されるウエートは、０と１の２つの値のうち１つの値を有することが確認できる。
【００３０】
ゼロフィルタリング回路３１２は、フィーチャ（ＦＥＡＴＵＲＥ＿ＳＩＧＮ）が０である場合に、ウエート（ＷＥＩＧＨＴ＿ＳＩＧＮ）を０に変更する動作を行うことができる。また、ウエート（ＷＥＩＧＨＴ＿ＳＩＧＮ）が０である場合に、フィーチャ（ＦＥＡＴＵＲＥ＿ＳＩＧＮ）を０に変更する動作をさらに行うこともできる。フィーチャ（ＦＥＡＴＵＲＥ＿ＳＩＧＮ）が０である場合に、ウエート（ＷＥＩＧＨＴ＿ＳＩＧＮ）を０に変更する動作を行うことは必須であるが、ウエート（ＷＥＩＧＨＴ＿ＳＩＧＮ）が０である場合に、フィーチャ（ＦＥＡＴＵＲＥ＿ＳＩＧＮ）を０に変更する動作は行われない場合もある。これは、累積回路３２０が、フィルタリングされたウエート（ＷＥＩＧＨＴ＿ＦＩＬＴＥＲＥＤ）の値が０である場合に、フィルタリングされたフィーチャ（ＦＥＡＴＵＲＥ＿ＦＩＬＴＥＲＥＤ）の値を累積しないためである。図４のフィルタリングされたフィーチャ（ＦＥＡＴＵＲＥ＿ＦＩＬＴＥＲＥＤ）とフィルタリングされたウエート（ＷＥＩＧＨＴ＿ＦＩＬＴＥＲＥＤ）とを確認すれば、ゼロフィルタリング回路３１２に入力されたフィーチャ（ＦＥＡＴＵＲＥ＿ＳＩＧＮ）とウエート（ＷＥＩＧＨＴ＿ＳＩＧＮ）のうち１つが０である場合に、２つの値が共に０に変更されたことが確認できる。
【００３１】
図３では、前処理回路３１０でサインコンバージョン回路３１１がゼロフィルタリング回路３１２の前段に位置することを例示したが、ゼロフィルタリング回路３１２がサインコンバージョン回路３１１の前段に位置することもできる。すなわち、フィーチャ（ＦＥＡＴＵＲＥ）とウエート（ＷＥＩＧＨＴ）とに対するゼロフィルタリング回路３１２の処理動作が先に行われ、サインコンバージョン回路３１１の処理動作がその後に行われることもできる。
【００３２】
累積回路３２０は、フィルタリングされたフィーチャ（ＦＥＡＴＵＲＥ＿ＦＩＬＴＥＲＥＤ）の値を累積できる。前処理回路３１０により既にフィルタリングされたウエート（ＷＥＩＧＨＴ＿ＦＩＬＴＥＲＥＤ）の値が０と１に減り、フィルタリングされたウエートの値が０である場合に、フィルタリングされたフィーチャの値も０に変更されたので、累積回路３２０は、単にフィルタリングされたフィーチャ（ＦＥＡＴＵＲＥ＿ＦＩＬＴＥＲＥＤ）のみを受信して累積することもできる。ただし、ここでは、累積回路３２０がフィルタリングされたウエート（ＷＥＩＧＨＴ＿ＦＩＬＴＥＲＥＤ）を受信してレジスタ３２２の活性化信号として使用することを例示した。累積回路３２０は、加算器３２１とレジスタ３２２とを備えることができる。
【００３３】
加算器３２１は、フィルタリングされたフィーチャ（ＦＥＡＴＵＲＥ＿ＦＩＬＴＥＲＥＤ）とレジスタ３２２に格納された累積値を加算する加算演算を行うことができる。レジスタ３２２は、加算器３２１の演算結果を累積値として格納することができる。レジスタ３２２は、フィルタリングされたウエート（ＷＥＩＧＨＴ＿ＦＩＬＴＥＲＥＤ）を活性化信号として使用することができる。すなわち、レジスタ３２２は、フィルタリングされたウエート（ＷＥＩＧＨＴ＿ＦＩＬＴＥＲＥＤ）が１である場合に、加算器３２１の演算結果を受信して格納し、フィルタリングされたウエート（ＷＥＩＧＨＴ＿ＦＩＬＴＥＲＥＤ）が０である場合には、新しい入力値を受信せず、累積値をそのまま維持することができる。
【００３４】
つまり、累積回路３２０は、フィルタリングされたフィーチャ（ＦＥＡＴＵＲＥ＿ＦＩＬＴＥＲＥＤ）のうち、フィルタリングされたウエート（ＷＥＩＧＨＴ＿ＦＩＬＴＥＲＥＤ）が１である値を累積するようになる。すなわち、累積回路３２０の累積値は、０．３＋０．２＝０．５になることができる。これは、図１のイメージ１１０とフィルタ１２０に対するコンボリューション演算の結果と同一であるということが確認できる。
【００３５】
図３のプロセッシングエレメント２６０では、前処理回路３１０によりウエート（ＷＥＩＧＨＴ）がターナリーからバイナリに変更される。すなわち、ウエート（ＷＥＩＧＨＴ）が２ビットから１ビットに変更され得る。また、フィーチャ（ＦＥＡＴＵＲＥ）とウエート（ＷＥＩＧＨＴ）のうち１つ以上が０である場合に、フィーチャとウエートとが共に０に変更されるので、累積回路３２０は、フィルタリングされたフィーチャ（ＦＥＡＴＵＲＥ＿ＦＩＬＴＥＲＥＤ）の値のみを加算演算することによりコンボリューション演算が行なわれ得る。すなわち、プロセッシングエレメント２６０から乗算器を除去することが可能であり、プロセッシングエレメント２６０の複雑度及び電流消費を減らすことができる。
【００３６】
図３と図４では、サインコンバージョン回路３１１が１、０、−１であったウエートを１と０に変更することを例示した。しかし、これとは異なり、サインコンバージョン回路３１１が１、０、−１のウエート（ＷＥＩＧＨＴ）を−１と０に変更することもできる、これは、サインコンバージョン回路３１１が、ウエート（ＷＥＩＧＨＴ）が１である場合に、フィーチャ（ＦＥＡＴＵＲＥ）とウエート（ＷＥＩＧＨＴ）に−１を乗算する演算を行えばよい。図５にこの過程を図示した。この場合、累積回路３２０は、フィルタリングされたフィーチャ（ＦＥＡＴＵＲＥ＿ＦＩＬＴＥＲＥＤ）のうち、フィルタリングされたウエート（ＷＥＩＧＨＴ＿ＦＩＬＴＥＲＥＤ）が−１である値を累積できる。プロセッシングエレメント２６０が図５のように動作する場合に、プロセッシングエレメント２６０が図４のように動作する場合に比べて演算結果の符号が逆になることができるが、これは、単に演算結果の符号を逆にすることによって解決されることができる。
【００３７】
本発明の技術思想は、上記好ましい実施形態によって具体的に記述されたが、上記した実施形態は、その説明のためのものであり、その制限のためのものでないことに注意すべきである。また、本発明の技術分野の専門家であれば、本発明の技術思想の範囲内で様々な実施形態が可能であることが分かるであろう。
【符号の説明】
【００３８】
２６０  プロセッシングエレメント
３１０  前処理回路
３２０  累積回路
【図１】
2020177643.tif 000003
【図２】
2020177643.tif 000004
【図３】
2020177643.tif 000005
【図４】
2020177643.tif 000006
【図５】
2020177643.tif 000007