(57)【要約】【課題】高速に動画処理を行うことが可能であり、開発コストを抑えることが可能な周辺画素加算モジュールを提供する。【解決手段】入力された画像信号内の対象画素の周辺の画素を加算する周辺画素加算モジュールが、対象画素の周辺の、加算対象とした画素を、加算対象とした範囲の一端からもう一端まで行方向又は列方向に加算し、前記加算と並行して、前記加算の結果を更に加算する。更に、対象画素の周辺画像を行方向及び列方向にＮ個に分割し、当該分割した画素のうち、対象画素の周辺画素Ｋ個を加算対象と決定する。加算対象とした前記周辺画素の一端を、１行又は１列加算する。加算した１行又は１列から、最初に計算対象とした一端と逆側の一端方向に隣接する１行又は１列を加算対象として加算を繰り返す。並行して、前記加算結果を加算するようにしてもよい。【選択図】図１
2009230494.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像信号内の対象画素の周辺の画素を加算する周辺画素加算モジュールであって、
対象画素の周辺の、加算対象とした画素を、加算対象とした範囲の一端からもう一端まで行方向又は列方向に加算し、前記加算と並行して、前記加算の結果を更に加算することを特徴とする周辺画素加算モジュール。
【請求項２】
請求項１に記載の周辺画素加算モジュールであって、
対象画素の周辺画像を行方向及び列方向にＮ個に分割し、当該分割した画素のうち、対象画素の周辺画素Ｋ個を加算対象と決定する加算対象決定手段と、
加算対象とした前記周辺画素の一端を、１行又は１列加算する第１の加算手段と、
前記第１の加算手段で加算した１行又は１列から、最初に計算対象とした一端と逆側の一端方向に隣接する１行又は１列を加算対象として前記第１の加算手段を繰り返す繰り返し手段と、
前記第１の加算手段及び前記繰り返し手段と並行して、前記第１の加算手段及び前記繰り返し手段における加算結果を加算する第２の加算手段と、
を備えることを特徴とする周辺画素加算モジュール。
【請求項３】
請求項２に記載の周辺画素加算モジュールであって、
前記対象画素を変更する際は、最初に前記第１の加算手段における加算対象とした１行又は１列の加算結果を減算する減算手段を更に備えることを特徴とする周辺画素加算モジュール。
【請求項４】
請求項１乃至３の何れか１項に記載の周辺画素加算モジュールであって、
ＦＰＧＡを用いて実装されていることを特徴とする周辺画素加算モジュール。
【請求項５】
請求項１乃至４の何れか１項に記載の周辺画素加算モジュールであって、
前記加算対象決定手段における値Ｎ及び値Ｋが変更可能であることを特徴とする周辺画素加算モジュール。
【請求項６】
周辺画素加算モジュールに入力された画像信号内の対象画素の周辺の画素を加算する周辺画素加算方法であって、
対象画素の周辺の、加算対象とした画素を、加算対象とした範囲の一端からもう一端まで行方向又は列方向に加算し、前記加算と並行して、前記加算の結果を更に加算することを特徴とする周辺画素加算方法。
【請求項７】
請求項６に記載の周辺画素加算方法であって、
対象画素の周辺画像を行方向及び列方向にＮ個に分割し、当該分割した画素のうち、対象画素の周辺画素Ｋ個を加算対象と決定する加算対象決定ステップと、
加算対象とした前記周辺画素の一端を、１行又は１列加算する第１の加算ステップと、
前記第１の加算ステップで加算した１行又は１列から、最初に計算対象とした一端と逆側の一端方向に隣接する１行又は１列を加算対象として前記第１の加算ステップを繰り返す繰り返しステップと、
前記第１の加算ステップ及び前記繰り返しステップと並行して、前記第１の加算ステップ及び前記繰り返しステップにおける加算結果を加算する第２の加算ステップと、
を備えることを特徴とする周辺画素加算方法。
【請求項８】
請求項７に記載の周辺画素加算方法であって、
前記対象画素を変更する際は、最初に前記第１の加算ステップにおける加算対象とした１行又は１列の加算結果を減算する減算ステップを更に備えることを特徴とする周辺画素加算方法。
【請求項９】
請求項６乃至８の何れか１項に記載の周辺画素加算方法であって、
前記周辺画素加算モジュールがＦＰＧＡを用いて実装されていることを特徴とする周辺画素加算方法。
【請求項１０】
請求項６乃至９の何れか１項に記載の周辺画素加算方法であって、
前記加算対象決定ステップにおける値Ｎ及び値Ｋが変更可能であることを特徴とする周辺画素加算方法。
【請求項１１】
入力された画像信号内の対象画素の周辺の画素を加算する周辺画素加算モジュールとしてコンピュータを機能させるための周辺画素加算プログラムであって、
対象画素の周辺の、加算対象とした画素を、加算対象とした範囲の一端からもう一端まで行方向又は列方向に加算し、前記加算と並行して、前記加算の結果を更に加算することを特徴とする周辺画素加算プログラム。
【請求項１２】
請求項１１に記載の周辺画素加算プログラムであって、前記周辺画素加算モジュールが、
対象画素の周辺画像を行方向及び列方向にＮ個に分割し、当該分割した画素のうち、対象画素の周辺画素Ｋ個を加算対象と決定する加算対象決定手段と、
加算対象とした前記周辺画素の一端を、１行又は１列加算する第１の加算手段と、
前記第１の加算手段で加算した１行又は１列から、最初に計算対象とした一端と逆側の一端方向に隣接する１行又は１列を加算対象として前記第１の加算手段を繰り返す繰り返し手段と、
前記第１の加算手段及び前記繰り返し手段と並行して、前記第１の加算手段及び前記繰り返し手段における加算結果を加算する第２の加算手段と、
を備えることを特徴とする周辺画素加算プログラム。
【請求項１３】
請求項１２に記載の周辺画素加算プログラムであって、前記周辺画素加算モジュールが、
前記対象画素を変更する際は、最初に前記第１の加算手段における加算対象とした１行又は１列の加算結果を減算する減算手段を更に備えることを特徴とする周辺画素加算プログラム。
【請求項１４】
請求項１１乃至１３の何れか１項に記載の周辺画素加算プログラムであって、前記周辺画素加算モジュールが、ＦＰＧＡを用いて実装されていることを特徴とする周辺画素加算プログラム。
【請求項１５】
請求項１１乃至１４の何れか１項に記載の周辺画素加算プログラムであって、
前記加算対象決定手段における値Ｎ及び値Ｋが変更可能であることを特徴とする周辺画素加算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は周辺画素の加算アルゴリズムに関し、より詳細には、ＦＰＧＡ（Field Programmable Gate Array）を用いた周辺画素の加算アルゴリズムに関する。
【背景技術】
【０００２】
近年、車両などの移動体をはじめとして、様々な場所でカメラが用いられており、そこから得られる動画像を用いた動画像処理技術のニーズが高まっている。例えば、車両に搭載する場合は障害物認識や標識・信号認識など、走行状態を把握するために各認識技術が用いられている（例えば特許文献１参照）。
【０００３】
また、監視カメラの知能化に伴い人物検知や異常行動の検出等を行う、という分野においても各認識技術が用いられている。
【特許文献１】特開２００１−２０１５７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般的に、上述したような動画像処理にはフィルタ演算などの多くの計算量が必要となる。そのため、処理装置には高い性能と多くのメモリ領域が必要となる。特に、画像処理の中でも平均化フィルタや分散を求める処理では各画素に対しｋ×ｋの周辺画素を加算する必要があり、更にリアルタイムに処理する必要があるため、処理の高速化が求められる。このような状況において動画像認識処理のハードウェア化を図ることが考えられる。
【０００５】
ハードウェア化を行うに際し、高速処理のため例えばＰｅｎｔｉｕｍ（登録商標）４などの高性能汎用ＣＰＵ（Central Processing Unit）を用いる場合、消費電力や設置面積、及び単価が高い点で問題がある。
【０００６】
また、ＤＳＰ（Digital Signal Processor）を用いる場合、ある特定の演算を高速に動作させることが可能であるが、全体の性能が不十分である可能性がある。
【０００７】
また、ＡＳＩＣ（Application Specific Integrated Circuit）は高速、低消費電力で動作するが、余程の大量生産を行わない限り、開発コストが高くなるという問題がある。
【０００８】
そこで、本発明は高速に動画処理を行うことが可能であり、開発コストを抑えることが可能な、ＦＰＧＡを用いた並列周辺画素加算モジュール、その方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の観点によれば、モジュールとして入力された画像信号内の対象画素の周辺の画素を加算する周辺画素加算モジュールであって、対象画素の周辺の、加算対象とした画素を、加算対象とした範囲の一端からもう一端まで行方向又は列方向に加算し、前記加算と並行して、前記加算の結果を更に加算することを特徴とする周辺画素加算モジュールが提供される。
【００１０】
本発明の第２の観点によれば、方法として周辺画素加算モジュールに入力された画像信号内の対象画素の周辺の画素を加算する周辺画素加算方法であって、対象画素の周辺の、加算対象とした画素を、加算対象とした範囲の一端からもう一端まで行方向又は列方向に加算し、前記加算と並行して、前記加算の結果を更に加算することを特徴とする周辺画素加算方法が提供される。
【００１１】
本発明の第３の観点によれば、プログラムとして入力された画像信号内の対象画素の周辺の画素を加算する周辺画素加算モジュールとしてコンピュータを機能させるための周辺画素加算プログラムであって、対象画素の周辺の、加算対象とした画素を、加算対象とした範囲の一端からもう一端まで行方向又は列方向に加算し、前記加算と並行して、前記加算の結果を更に加算することを特徴とする周辺画素加算プログラムが提供される。
【発明の効果】
【００１２】
本発明によれば、動画処理装置において、高速に動画処理を行うことが可能であり、開発コストを抑えることが可能となる。
【発明を実施するための最良の形態】
【００１３】
まず、本発明の実施形態の概略を述べる。
【００１４】
上述の課題に対し、本発明の実施形態ではＦＰＧＡを使用する。ＦＰＧＡは近年の価格低下のため車載用途などの中量生産に向いており、並列性を活かした動画像処理の高速化が可能である。本発明の実施形態における装置は、カメラとＦＰＧＡ、Ｎ個のデュアルポートメモリを有する。カメラから取り込んだ画像はＦＰＧＡ内で行方向にＮ分割され、それぞれ別のデュアルポートメモリ（ＦＰＧＡ内蔵のＲＡＭまたは外部のＲＡＭ）に格納される。各デュアルポートメモリはＮ個に並列実装された周辺画素加算モジュールと接続され、各々の周辺画素加算モジュールが並列に動作する。また、メモリをデュアルポートとすることでデータの読み出しと書き込みを同時に行い、画像の転送と処理をオーバーラップさせる。周辺画素加算モジュールは行加算モジュールと列加算モジュールから構成される。
【００１５】
本発明の実施形態は、カメラを使用した動画像処理装置に適用することができる。適用例としてＩＴＳ（Intelligent Transport Systems：高度道路交通システム）分野での利用が考えられる。ＩＴＳ分野では、車両にカメラを搭載することにより障害物認識や標識・信号認識、白線検出などが行われる。これらの処理において本発明の実施形態を利用することが出来る。
【００１６】
また、ＩＴＳ分野以外では、監視カメラの知能化に伴い人物検知や異常行動の検出等を行う、という分野が適用例として挙げられる。これら認識処理では、ショットノイズの低減等の目的で平均化フィルタがよく用いられる。ここで、平均化フィルタとは対象画素の周辺ｋ×ｋ画素を加算し、ｋ×ｋで除算することにより対象画素を周辺画素の平均値で置き換えるフィルタである。この周辺画素の加算において本発明の実施形態を用いることで効率的に処理をすることが可能である。
【００１７】
［実施形態の構成］
次に、本発明の実施形態について図面を用いて説明する。図１に本発明の実施形態の構成を示す。なお、図１では本発明の実施形態の中でも主要な部分のみを示しており、細部は省略してある。また、図１の構成はあくまで例示であり本発明の技術的思想の範囲を逸脱しないのであれば、構成要素を追加、削除及び置換することが可能である。
【００１８】
図１を参照すると本発明の実施形態は、カメラ１とＦＰＧＡ２を有する。本発明の実施形態はカメラ１とＦＰＧＡ２の比較的単純な構成である。
【００１９】
ＦＰＧＡ２は、デュアルポートメモリ３、周辺画素加算モジュール４、デュアルポートメモリ５を有する。
【００２０】
デュアルポートメモリ３は、カメラから得られる画像を格納する。周辺画素加算モジュール４は、周辺画素の加算処理を行うモジュールである。デュアルポートメモリ５は、処理結果を格納する。
【００２１】
また、本発明の実施形態ではカメラから得られた画像を分割して並列処理を行うため、デュアルポートメモリと周辺画素加算モジュールも並列処理に対応できるよう、複数実装される。なお、今回の説明では画像を４分割して並列処理を行うことを想定し、図１乃至図３では、デュアルポートメモリと周辺画素加算モジュールを４つ図示する。
【００２２】
また、ＦＰＧＡ２が、周辺画素の加算以外の処理を行うためのモジュール６を更に有するようにしてもよい。このモジュール６の処理内容はアプリケーションによって異なる。
【００２３】
また、図１ではデュアルポートメモリとしてＦＰＧＡ２内蔵のＲＡＭ（Random Access Memory）を想定しているが、図２のようにＦＰＧＡ２外部のメモリ（ＳＲＡＭ（Static Random Access Memory）等）を使用するようにしてもよい。この場合、外部メモリとデータをやり取りするためのインターフェースである外部メモリインターフェース回路７を、ＦＰＧＡ２が有する必要がある。
【００２４】
図３に周辺画素加算モジュール４の構成と処理の流れの概略を示す。周辺画素加算モジュール４は列加算モジュール４１と行加算モジュール４２を有する。図に示すように、デュアルポートメモリ２から読み出したデータは列加算モジュール４１に入力され、その出力が行加算モジュール４２に入力される。なお、図３とは異なり行加算モジュール４２から列加算モジュール４１へデータが流れる構成にすることも可能である。
【００２５】
［実施形態の動作の説明］
図４に周辺画素の大きさが５×５の場合の具体的な動作を示す。即ちｋ＝５の場合である。
【００２６】
ここではデュアルポートメモリ３の対象画素Ｃ−３の周辺画素合計を求める場合の処理の流れについて説明する。Ｃ−３の周辺画素はＡ−１からＥ−５の領域である。まずデュアルポートメモリ３からＡ−１、Ａ−２、Ａ−３、Ａ−４、Ａ−５の画素が順に読み出され、周辺画素加算モジュール４内部の列方向の加算モジュール４１に入力すると同時にレジスタ７に加算される。その結果、レジスタ７はＡ列の５画素分の加算値を保持する。
【００２７】
レジスタ７の出力は行加算モジュール４２に入力すると同時にレジスタ８に加算される（図４のＳ１）。そして、レジスタ７の値は初期化される。
【００２８】
以後同様にしてＢ列からＥ列まで処理を行うことでＡ−１からＥ−５までの加算結果（Ｃ−３の周辺画素）がレジスタ８に保持される。
【００２９】
続いて対象画素Ｃ−４、Ｃ−５・・・と連続的に周辺画素合計を求める場合を考える。行加算モジュール４２の入力部は長さｋのシフトレジスタを有している。本実施形態ではｋ＝５なので、行加算モジュール４２は五個のシフトレジスタを有している。そして、シフトレジスタの末尾はレジスタ８に対する減算に用いられる（図４のＳ２）。
【００３０】
このため、前述のＡ列からＥ列の処理の後、Ｆ列の画素合計をレジスタ８に加算すると、自動的にＡ列の画素合計を減算することになる。すなわちレジスタ８には常に行方向に５列分の加算値を保持するため、中間結果のメモリ等を必要とせず、効率的に処理を行うことが可能となる。
【００３１】
なお、上述した本発明の実施形態において画像分割数Ｎ及び周辺画素サイズｋは任意の値を設定することが可能である。また設定した値を変更することも可能である。
【００３２】
また、本発明の実施形態は動画像処理だけではなく、高速画像処理に用いることも可能である。
【００３３】
［本発明の実施形態の効果］
本発明の実施形態は、周辺画素の加算アルゴリズムの高速化が図れるという第１の効果を奏する。
【００３４】
その理由は、画像を分割し並列処理を行うためである。また、周辺画素の加算モジュールを行方向と列方向の処理に分けることで処理の効率化を図っているためである。更にデュアルポートメモリを用いることで画像の転送と処理をオーバーラップさせるためである。
【００３５】
第２の効果として、コストパフォーマンスの向上が図れるという効果を奏する。
【００３６】
その理由は、実装するデバイスとして近年価格が低下しているＦＰＧＡを用いるためである。
【００３７】
第３の効果として、アルゴリズムの変更（例えば周辺画素サイズの変更や画像の分割数の変更等）に応じて柔軟に対応することが可能であるという効果を奏する。
【００３８】
その理由は、実装するデバイスとして、書き換えをすることが可能なデバイスであるＦＰＧＡを用いるためである。
【００３９】
なお、本発明の実施形態であるカメラ及びＦＰＧＡは、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。
【産業上の利用可能性】
【００４０】
本発明の実施形態は動画像処理が用いられる分野に適用することができる。例えばＩＴＳやロボット工学等といった用途に好適である。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施形態の基本的構成を表す図である。
【図２】本発明の実施形態の構成の変形例を表す図である。
【図３】デュアルポートメモリ３及び周辺画素加算モジュール４について説明する図である。
【図４】本発明の実施形態の動作について表す図である。
【符号の説明】
【００４２】
１  カメラ
２  ＦＰＧＡ
３  デュアルポートメモリ
４  周辺画素加算モジュール
５  デュアルポートメモリ
６  アプリケーションモジュール
７  メモリインターフェース
４１  列方向の加算モジュール
４２  行方向の加算モジュール
【図１】
2009230494.tif 000003
【図２】
2009230494.tif 000004
【図３】
2009230494.tif 000005
【図４】
2009230494.tif 000006