(57)【特許請求の範囲】
【請求項１】
画像をフィルタにかける方法であって、
画素のアレイで構成される画像データを受信することと、
前記画像データに繰り返し積分画像フィルタリングを実行することと、
を備え、前記繰り返し積分画像フィルタリングは、
第１の方向に延在する前記画像データ中の第１の複数の画素のラインに、少なくとも１つの無限インパルス応答（ＩＩＲ）フィルタと少なくとも１つの有限インパルス応答（ＦＩＲ）フィルタとをかけることと、
フィルタにかけられた画像データを生成するために、前記第１の方向とは異なる第２の方向に延在する第２の複数の画素のラインに、少なくとも１つのＩＩＲフィルタと少なくとも１つのＦＩＲフィルタとをかけることと、
前記フィルタにかけられた画像データを記憶することと、
を備える方法。
【請求項２】
前記フィルタにかけられた画像データは、ガウス・フィルタにかけられた画像データに近似する、請求項１に記載の方法。
【請求項３】
前記画像データ中の前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、部分的にフィルタにかけられた画像データを生成し、前記方法は更に、前記部分的にフィルタにかけられた画像データを記憶することを備え、前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることが、前記部分的にフィルタにかけられた画像データに行われる、請求項１に記載の方法。
【請求項４】
前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、部分的にフィルタにかけられた前記画像データを記憶する前に、前記第１の方向に延在する、フィルタにかけられた前記 画像データ中の全ての画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることを備え、
前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、前記フィルタにかけられた画像データを記憶する前に、前記第２の方向に延在するフィルタにかけられた前記画像データ中の全ての画素のラインに、前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることを備える、
請求項３に記載の方法。
【請求項５】
前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、前記第１の複数の画素のラインに複数のＩＩＲフィルタと複数のＦＩＲフィルタとをかけることを備え、
前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、前記第２の複数の画素のラインに複数のＩＩＲフィルタと複数のＦＩＲフィルタとをかけることを備える、
請求項１に記載の方法。
【請求項６】
フィルタにかけられた前記画像データを記憶するための記憶ユニットとは異なる局所的な記憶ユニットに、前記複数のＩＩＲフィルタの各々及び前記複数のＦＩＲフィルタの各々の出力を局所的に記憶することを更に備える、請求項５に記載の方法。
【請求項７】
前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけることは、等しい数のＩＩＲフィルタとＦＩＲフィルタとをかけることを備え、
前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけることは、第２の等しい数のＩＩＲフィルタとＦＩＲフィルタとをかけることを備える、
請求項５に記載の方法。
【請求項８】
前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけることは、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを直列にかけることを備え、
前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけることは、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを直列にかけることを備える、
請求項５に記載の方法。
【請求項９】
前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけることは、複数の並列のＩＩＲフィルタを単一の高次ＩＩＲフィルタに統合することと、複数の並列のＦＩＲフィルタを単一の高次ＦＩＲフィルタに統合することと、前記単一の高次ＩＩＲフィルタと前記単一の高次ＦＩＲフィルタとを直列にかけることとを備える、請求項５に記載の方法。
【請求項１０】
前記単一の高次ＩＩＲフィルタは、前記単一の高次ＦＩＲフィルタの前にかけられる、請求項９に記載の方法。
【請求項１１】
前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、前記少なくとも１つのＦＩＲフィルタをかける前に前記少なくとも１つのＩＩＲフィルタをかけることを備える、請求項１に記載の方法。
【請求項１２】
前記画像データ中の前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけること、及び前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、単一パスで実行される、請求項１に記載の方法。
【請求項１３】
前記画像データは、第１の数の画素の行と第２の数の画素の列とを備え、前記方法は更に、
前記画像データを複数のストライプに分割することを備え、各ストライプは、前記第１の数の画素の行と、前記第２の数の列よりも少ない第３の数の画素の列とを備え、前記画像データ中の前記第１の複数の画素のラインに対する前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタ、及び前記第２の複数の画素のラインに対する前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタは、前記複数のストライプの各々に順次にかけられる、請求項１２に記載の方法。
【請求項１４】
前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけること、及び前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけることは、前記第１の複数の画素のラインに前記複数のＦＩＲフィルタをかけ、前記第２の複数の画素のラインに前記複数のＦＩＲフィルタをかける前に、共通ＩＩＲステージで、前記第１の複数の画素のラインに前記複数のＩＩＲフィルタを、前記第２の複数の画素のラインに前記複数のＩＩＲフィルタをかけることを備える、請求項５に記載の方法。
【請求項１５】
前記第２の複数の画素のラインに前記複数のＦＩＲフィルタをかけることは、前記第１の複数の画素のラインに前記複数のＦＩＲフィルタをかける前に行われる、請求項１４に記載の方法。
【請求項１６】
前記共通ＩＩＲステージの後に、前記第１の複数の画素のラインに第２の複数のＦＩＲフィルタをかけることと、前記第２の複数の画素のラインに第２の複数のＦＩＲフィルタをかけることとを更に備える、請求項１４に記載の方法。
【請求項１７】
装置であって、
画像データを記憶するための記憶ユニットと、
前記記憶ユニットに結合されたデータ・バスと、
前記データ・バスを介して前記記憶ユニットに結合された高速繰り返し積分画像フィルタと
を備え、前記高速繰り返し積分画像フィルタは、
少なくとも１つの無限インパルス応答（ＩＩＲ）フィルタと、
前記少なくとも１つのＩＩＲフィルタに結合された少なくとも１つの有限インパルス応答（ＦＩＲ）フィルタと、
を備え、前記高速繰り返し積分画像フィルタは、前記記憶ユニットから前記データ・バスを介して前記画像データを受信し、前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとを用いて、第１の方向に延在する前記画像データ中の複数の画素のラインをフィルタにかけ、フィルタにかけられた画像データを生成するために、前記第１の方向とは異なる第２の方向に延在する第２の複数の画素のラインをフィルタにかけ、フィルタにかけられた前記画像データを前記データ・バスを介して前記記憶ユニットに出力するように適合される、装置。
【請求項１８】
フィルタにかけられた前記画像データは、ガウス・フィルタにかけられた画像データに近似する、請求項１７に記載の装置。
【請求項１９】
前記高速繰り返し積分画像フィルタは、部分的にフィルタにかけられた画像データを生成するために、前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとを用いて、前記第１の方向に延在する前記画像データ中の前記複数の画素のラインをフィルタにかけ、部分的にフィルタにかけられた前記画像データを、前記データ・バスを介して前記記憶ユニットに出力するように適合され、前記高速繰り返し積分画像フィルタは、前記記憶ユニットから部分的にフィルタにかけられた前記画像データを受信し、前記第２の方向に延在する、部分的にフィルタにかけられた前記画像中の前記第２の複数の画素のラインをフィルタにかけるように構成される、請求項１７に記載の装置。
【請求項２０】
前記高速繰り返し積分画像フィルタは、部分的にフィルタにかけられた前記画像データを生成するために、前記第１の方向に延在する前記画像データ中の前記複数の画素のラインの全てをフィルタにかけ、フィルタにかけられた前記画像データを生み出すために、前記第２の方向に延在する、部分的にフィルタにかけられた前記画像データ中の前記複数の画素のラインの全てをフィルタにかけるように構成される、請求項１９に記載の装置。
【請求項２１】
前記高速繰り返し積分画像フィルタは、
複数のＩＩＲフィルタと、
前記複数のＩＩＲフィルタに結合された複数のＦＩＲフィルタと、
を備える、請求項１７に記載の装置。
【請求項２２】
局所的な記憶ユニットを更に備え、前記複数のＩＩＲフィルタは、前記局所的な記憶ユニットにダイレクトに結合され、前記複数のＦＩＲフィルタは、前記局所的な記憶ユニットにダイレクトに結合される、請求項２１に記載の装置。
【請求項２３】
等しい数のＩＩＲ フィルタ及びＦＩＲフィルタが、前記複数のＩＩＲフィルタ及び前記複数のＦＩＲフィルタ中に存在する、請求項２１に記載の装置。
【請求項２４】
前記複数のＩＩＲフィルタ及び前記複数のＦＩＲフィルタは直列に結合される、請求項２１に記載の装置。
【請求項２５】
前記複数のＩＩＲフィルタは、単一の高次ＩＩＲフィルタに統合された複数の並列のＩＩＲフィルタを備え、前記複数のＦＩＲフィルタは、単一の高次ＦＩＲフィルタに統合された複数の並列のＦＩＲフィルタを備え、前記単一の高次ＩＩＲフィルタは、前記単一の高次ＦＩＲフィルタと直列に結合される、請求項２１に記載の装置。
【請求項２６】
前記単一の高次ＩＩＲフィルタは、前記記憶ユニットに記憶された前記画像データを、前記データ・バスを介して受信するように結合され、前記単一の高次ＦＩＲフィルタは、部分的にフィルタにかけられた画像データを、前記データ・バスを介して前記記憶ユニットに出力するように結合される、請求項２５に記載の装置。
【請求項２７】
前記少なくとも１つのＩＩＲフィルタは、前記記憶ユニットに記憶された前記画像データを、前記データ・バスを介して受け取るように結合され、前記少なくとも１つのＦＩＲフィルタは、部分的にフィルタにかけられた画像データを、前記データ・バスを介して前記記憶ユニットに出力するように結合される、請求項１７に記載の装置。
【請求項２８】
前記高速繰り返し積分画像フィルタは、単一パスで、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを用いて、前記第１の方向に延在する前記複数の画素のラインをフィルタにかけ、前記第２の方向に延在する前記第２の複数の画素のラインをフィルタするように適合される、請求項２１に記載の装置。
【請求項２９】
前記画像データは、第１の数の画素の行と第２の数の画素の列とを備え、前記画像データは、複数のストライプに分割され、各ストライプは、前記第１の数の画素の行と、前記第２の数の列よりも少ない第３の数の画素の列とを備え、前記高速繰り返し積分画像フィルタは、前記複数のストライプの各々において順次に、前記第１の方向に延在する前記複数の画素のラインをフィルタにかけ、前記第２の方向に延在する前記第２の複数の画素のラインをフィルタにかけるように構成される、請求項２８に記載の装置。
【請求項３０】
前記複数のＩＩＲフィルタは、前記複数のＦＩＲフィルタの前の共通ＩＩＲステージにおいてグループ分けされる、請求項２１に記載の装置。
【請求項３１】
前記第２の方向に延在する前記第２の複数の画素のラインをフィルタにかけるように構成された前記少なくとも１つのＦＩＲフィルタを含む垂直ＦＩＲステージと、前記第１の方向に延在する前記複数の画素のラインをフィルタにかけるように構成された前記少なくとも１つのＦＩＲフィルタを含む水平ＦＩＲステージとを更に備え、前記垂直ＦＩＲステージは、前記水平ＦＩＲステージの前である、請求項３０に記載の装置。
【請求項３２】
前記複数のＦＩＲフィルタは、前記共通ＩＩＲステージからの出力を受信するように結合され、前記高速繰り返し積分画像フィルタは更に、前記共通ＩＩＲステージからの前記出力を受信するように結合された第２の複数のＦＩＲフィルタを備える、請求項３０に記載の装置。
【請求項３３】
装置であって、
画素のアレイを備える画像データを受け取るための手段と、
前記画像データに繰り返し積分画像フィルタリングを実行するための手段と、
を備え、前記繰り返し積分画像フィルタリングを実行するための手段は、
第１の方向に延在する前記画像データ中の第１の複数の画素のラインに、少なくとも１つの無限インパルス応答（ＩＩＲ）フィルタと少なくとも１つの有限インパルス応答（ＦＩＲ）フィルタとをかけるための手段と、
フィルタにかけられた画像データを生成するために、前記第１の方向とは異なる第２の方向に延在する第２の複数の画素のラインに、少なくとも１つのＩＩＲフィルタと少なくとも１つのＦＩＲフィルタとをかけるための手段と、
フィルタにかけられた前記画像データを記憶するための手段と
を備える装置。
【請求項３４】
前記画像データ中の前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段は、部分的にフィルタにかけられた画像データを生成し、前記装置は更に、部分的にフィルタにかけられた前記画像データを記憶するための手段を備え、前記第２の複数の画素のラインは、部分的にフィルタにかけられた前記画像データからのものである、請求項３３に記載の装置。
【請求項３５】
前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段は、前記第１の複数の画素のラインに複数のＩＩＲフィルタと複数のＦＩＲフィルタとをかけるための手段を備え、
前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段は、前記第２の複数の画素のラインに複数のＩＩＲフィルタと複数のＦＩＲフィルタとをかけるための手段を備える、
請求項３３に記載の装置。
【請求項３６】
前記複数のＩＩＲフィルタの各々及び前記複数のＦＩＲフィルタの各々の出力を局所的に記憶するための手段を更に備え、前記局所的に記憶するための手段は、フィルタにかけられた前記画像データを記憶するための手段とは異なる、請求項３５に記載の装置。
【請求項３７】
前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるための手段は、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを直列にかけ、
前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるための手段は、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを直列にかける、
請求項３５に記載の装置。
【請求項３８】
前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるための手段は、単一の高次ＩＩＲフィルタに統合された複数の並列のＩＩＲフィルタと、単一の高次ＦＩＲフィルタに統合された複数の並列のＦＩＲフィルタとを備え、前記単一の高次ＩＩＲフィルタは、前記単一の高次ＦＩＲフィルタと直列にかけられる、請求項３５に記載の装置。
【請求項３９】
前記画像データ中の前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段、及び前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段は、前記画像データのために単一パスを使用する、請求項３３に記載の装置。
【請求項４０】
前記画像データは、第１の数の画素の行と第２の数の画素の列とを備え、前記装置は更に、前記画像データを複数のストライプに分割するための手段を備え、各ストライプは、前記第１の数の画素の行と、前記第２の数の列よりも少ない第３の数の画素の列とを備え、前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段、及び前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段は、前記複数のストライプの各々について順次に演算する、請求項３９に記載の装置。
【請求項４１】
前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるための手段、及び前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるための手段は、前記第１の複数の画素のラインに前記複数のＦＩＲフィルタをかけるための手段及び前記第２の複数の画素のラインに前記複数のＦＩＲフィルタをかけるための手段の前の、共通ＩＩＲステージで、前記第１の複数の画素のラインに前記複数のＩＩＲフィルタを、前記第２の複数の画素のラインに前記複数のＩＩＲフィルタを、かけるための手段を備える、請求項３５に記載の装置。
【請求項４２】
前記第２の複数の画素のラインに前記複数のＦＩＲフィルタをかけるための手段は、前記第１の複数の画素のラインに前記複数のＦＩＲフィルタをかけるための手段の前である、請求項４１に記載の装置。
【請求項４３】
前記共通ＩＩＲステージの後の、前記第１の複数の画素のラインに第２の複数のＦＩＲフィルタをかけるための手段と、前記第２の複数の画素のラインに第２の複数のＦＩＲフィルタをかけるための手段とを更に備える、請求項４１に記載の装置。
【請求項４４】
プログラム・コードが記憶されたコンピュータ読取可能な記憶 媒体であって、
画素のアレイを備える画像データを受け取るためのプログラム・コードと、
前記画像データに繰り返し積分画像フィルタリングを実行するためのプログラム・コードと
を備え、前記繰り返し積分画像フィルタリングを実行するためのプログラム・コードは、
第１の方向に延在する画像データ中の第１の複数の画素のラインに、少なくとも１つの無限インパルス応答（ＩＩＲ）フィルタと少なくとも１つの有限インパルス応答（ＦＩＲ）フィルタとを実行するためのプログラム・コードと、
フィルタにかけられた画像データを生成するために、第２の方向に延在する第２の複数の画素のラインに、少なくとも１つのＩＩＲフィルタと少なくとも１つのＦＩＲフィルタとをかけるためのプログラム・コードであって、前記第２の方向は前記第１の方向とは異なる、プログラム・コードと、
前記フィルタにかけられた画像データを記憶するためのプログラム・コードと
を備えるコンピュータ読取可能な記憶 媒体。
【請求項４５】
前記フィルタにかけられた画像データは、ガウス・フィルタにかけられた画像データに近似する、請求項４４に記載のコンピュータ読取可能な記憶 媒体。
【請求項４６】
前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるためのプログラム・コードは、部分的にフィルタにかけられた画像データを生み出し、前記コンピュータ読取可能な記憶 媒体は更に、前記部分的にフィルタにかけられた画像データを記憶ユニットに出力するためのプログラム・コードを備え、前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタは、前記部分的にフィルタにかけられた画像データからの前記第２の複数の画素のラインに実行される、請求項４４に記載のコンピュータ読取可能な記憶 媒体。
【請求項４７】
前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることを実行するためのプログラム・コードは、前記第１の複数の画素のラインに複数のＩＩＲフィルタと複数のＦＩＲフィルタとをかけるためのプログラム・コードを備え、
前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるためのプログラム・コードは、前記第２の複数の画素のラインに複数のＩＩＲフィルタと複数のＦＩＲフィルタとをかけるためのプログラム・コードを備える、
請求項４４に記載のコンピュータ読取可能な記憶 媒体。
【請求項４８】
前記複数のＩＩＲフィルタの各々及び前記複数のＦＩＲフィルタの各々の出力を局所的に記憶するためのプログラム・コードを更に備える、請求項４７に記載のコンピュータ読取可能な記憶 媒体。
【請求項４９】
前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるためのプログラム・コードは、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを直列にかけるためのプログラム・コードを備え、
前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるためのプログラム・コードは、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを直列にかけるためのプログラム・コードを備える、
請求項４７に記載のコンピュータ読取可能な記憶 媒体。
【請求項５０】
前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるためのプログラム・コードは、複数の並列のＩＩＲフィルタを単一の高次ＩＩＲフィルタに統合し、複数の並列のＦＩＲフィルタを単一の高次ＦＩＲフィルタに統合し、前記単一の高次ＩＩＲフィルタと前記単一の高次ＦＩＲフィルタとを直列にかけるためのプログラム・コードを備える、請求項４７に記載のコンピュータ読取可能な記憶 媒体。
【請求項５１】
前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけ、単一パスで 前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるためのプログラム・コードを更に備える、 請求項４４に記載のコンピュータ読取可能な記憶 媒体。
【請求項５２】
前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるためのプログラム・コード、及び前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるためのプログラム・コードは、共通ＩＩＲステージで、前記第１の複数の画素のラインに前記複数のＩＩＲフィルタを実行し、前記第２の複数の画素のラインに前記複数のＩＩＲフィルタを実行し、前記第１の複数の画素のラインに前記複数のＦＩＲフィルタをかける前に前記第２の複数の画素のラインに前記複数のＦＩＲフィルタをかけるためのプログラム・コードを備える、請求項４７に記載のコンピュータ読取可能な記憶 媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１０年１１月１５日に出願された、「高速繰り返し積分画像（Fast Repeated Integral Images ）」と題する、米国仮出願番号第６１／４１３，８１４号、及び２０１１年９月１２日に出願された、「高速繰り返し積分画像（Fast Repeated Integral Images ）」と題する、米国出願番号第１３／２３０，７７５号の優先権を主張し、これら両出願は、本明細書の譲受人に譲渡され、引用により本明細書に組み込まれる。
【背景技術】
【０００２】
デジタル画像は一般的に、さまざまなアプリケーションにおいて画像を表示又はそうでなければ使用する前に処理される。画像処理は、入力が写真又は視界のフレームといった画像であり、出力が、画像又は画像に関連するパラメータであり、コンピュータ・ビジョン、コンピュータ・グラフィックス、等といったさまざまなアプリケーションにおいて使用され得る、信号処理の一形態である。画像処理は、例えば、ノイズを除去すること、コントラスト又はシャープネスを改善すること、等によって画像を高める、又は、画像からデータを抽出するために、使用され得る。
【０００３】
移動平均（moving average ）を計算することは、リアルタイム音響エコー除去のような、一次元信号処理の問題を含む多くのアプリケーションにおいて一般的である。移動平均演算は一般的に、移動平均計算の分解能によって要求されるステップ・サイズで、ウィンドウの一端に入ってくるより新しいサンプルを加算し、他端から出ていくより古いサンプルを減算することによって実行される、単純な長方形又は矩形フィルタリング（rectangular or boxcar filtering ）である。二次元（２Ｄ）の同等物は一般的に、積分画像における意図された空間領域が、例えば長方形であれば、その四隅を２Ｄ微分することによって実行される。積分画像のバリエーションが、必要に応じて回転及び非長方形の領域をサポートするために存在する。均一な２Ｄフィルタを超えた高度化のために、複数の積分画像が、所望のフィルタ形状を模倣するため、計算の複雑性のコストと、フィルタ近似値の精度、又はアプリケーションに依存してそれ以外のもの、といったメトリックとの間のトレードオフを伴いながら、スタックされることができる。ある種のフィルタ形状、例えば、ガウス関数のために、一般的に繰り返し積分画像方法と呼ばれる、計算の効率のために積分画像を使用する繰り返し矩形フィルタリングによる、より有効な近似値が可能である。
【０００４】
しかしながら、その精度にもかかわらず、繰り返し積分画像方法の従来のアーキテクチャにより結果としてもたらされるデータＩ／Ｏ帯域幅のコストは、時にその方法を、多くのアプリケーションにとって不適切なものにする。従って、繰り返し積分画像のための改善されたアーキテクチャが所望される。
【発明の概要】
【０００５】
繰り返し積分画像方法は、２つのパスのみで、例えば、１つ目のパスが画素の水平の行をフィルタにかけ、かつ２つ目のパスが画素の垂直の列をフィルタにかけるか、又は、単一パスで、画像データをフィルタにかける。フィルタは、画像データに、少なくとも１つの無限インパルス応答（ＩＩＲ）フィルタと少なくとも１つの有限インパルス応答（ＦＩＲ）フィルタとをかける。複数のＩＩＲフィルタ及びＦＩＲフィルタが、ガウス・フィルタに近似するために実行されることができる。パスの数を最小化することにより、処理ユニットと記憶ユニットとの間のデータ・フローが従来の繰り返し積分画像方法と比較して大幅に減じられるので、計算時間が改善される。
【０００６】
１つの実施において、画像をフィルタにかける方法は、画素のアレイで構成される画像データを受信することと、第１の方向に延在する画像データ中の第１の複数の画素のラインに、少なくとも１つの無限インパルス応答（ＩＩＲ）フィルタと少なくとも１つの有限インパルス応答（ＦＩＲ）フィルタとをかけることと、フィルタにかけられた画像データを生み出すために、第１の方向とは異なる第２の方向に延在する第２の複数の画素のラインに、少なくとも１つのＩＩＲフィルタと少なくとも１つのＦＩＲフィルタとをかけることとを含む。次に、フィルタにかけられた画像データが記憶される。
【０００７】
別の実施において、装置は、画像データを記憶するための記憶ユニットと、記憶ユニットに結合されたデータ・バスと、データ・バスを介して記憶ユニットに結合された高速繰り返し積分画像フィルタとを含み、高速繰り返し積分画像フィルタは、少なくとも１つの無限インパルス応答（ＩＩＲ）フィルタと少なくとも１つのＩＩＲフィルタに結合された少なくとも１つの有限インパルス応答（ＦＩＲ）フィルタとを含む。高速繰り返し積分画像フィルタは、記憶ユニットからデータ・バスを介して画像データを受信し、少なくとも１つのＩＩＲフィルタと少なくとも１つのＦＩＲフィルタとを用いて、第１の方向に延在する画像データ中の複数の画素のラインをフィルタにかけ、フィルタにかけられた画像データを生成するために、第１の方向とは異なる第２の方向に延在する第２の複数の画素のラインをフィルタにかけ、フィルタにかけられた画像データをデータ・バスを介して記憶ユニットに出力するように構成される。
【０００８】
別の実施において、装置は、画素のアレイで構成される画像データを受信するための手段と、第１の方向に延在する画像データ中の第１の複数の画素のラインに、少なくとも１つの無限インパルス応答（ＩＩＲ）フィルタと少なくとも１つの有限インパルス応答（ＦＩＲ）フィルタとをかけるための手段と、フィルタにかけられた画像データを生み出すために、第１の方向とは異なる第２の方向に延在する第２の複数の画素のラインに、少なくとも１つのＩＩＲフィルタと少なくとも１つのＦＩＲフィルタとをかけるための手段とを含む。この装置はさらに、フィルタにかけられた画像データを記憶するための手段を含む。
【０００９】
さらなる別の実施において、プログラム・コードを記憶したコンピュータ読取可能な媒体は、画素のアレイで構成される画像データを受信するためのプログラム・コードと、第１の方向に延在する画像データ中の第１の複数の画素のラインに、少なくとも１つの無限インパルス応答（ＩＩＲ）フィルタと少なくとも１つの有限インパルス応答（ＦＩＲ）フィルタとをかけるためのプログラム・コードと、フィルタにかけられた画像データを生成するために、第１の方向とは異なる第２の方向に延在する第２の複数の画素のラインに、少なくとも１つのＩＩＲフィルタと少なくとも１つのＦＩＲフィルタとをかけるためのプログラム・コードと、フィルタにかけられた画像データを記憶するためのプログラム・コードとを含む。
【図面の簡単な説明】
【００１０】
【図１】図１は、従来の２Ｄ矩形フィルタを使用したダイレクト・フィルタリングの実現を示す図である。
【図２】図２は、積分画像を使用した従来のフィルタリングの実現を示す図である。
【図３Ａ】図３Ａは、従来の１Ｄスタック化矩形フィルタの上面図である。
【図３Ｂ】図３Ｂは、従来の１Ｄスタック化矩形フィルタの側面図である。
【図４】図４は、繰り返しのたびに、より良好なガウス近似値が生み出されることを示す、１Ｄ矩形フィルタの畳み込み積分を示す図である。
【図５】図５は、従来の繰り返し積分画像方法を実行するためのアーキテクチャを示すブロック図である。
【図６】図６は、高速繰り返し積分画像フィルタの１つの実現を示す図である。
【図７】図７は、高速繰り返し積分画像フィルタの別の実現を示す図である。
【図８】図８は、図６に示した高速繰り返し積分画像フィルタのためのアーキテクチャを示すブロック図である。
【図９】図９は、二次元高速繰り返し積分画像フィルタの実現を示す図である。
【図１０】図１０は、二次元高速繰り返し積分画像フィルタの別の実現を示す図である。
【図１１】図１１は、図１０に示したもののような２Ｄ高速繰り返し積分画像フィルタのためのアーキテクチャを示すブロック図である。
【図１２】図１２は、二次元高速繰り返し積分画像フィルタの別の実現を示す図である。
【図１３】図１３は、拡張されたＦＩＲフィルタを用いた二次元高速繰り返し積分画像フィルタの別の実現を示す図である。
【図１４】図１４は、二次元高速繰り返し積分画像フィルタによって別個に処理され得る複数のストライプに分割された画像を示す図である。
【図１５】図１５は、高速繰り返し積分画像フィルタの演算を示すフローチャートである。
【図１６】図１６は、高速繰り返し積分画像方法を実行することができるモバイル・プラットフォームのブロック図である。
【詳細な説明】
【００１１】
例えば、ガウス・フィルタに近似するための、高速繰り返し積分画像方法の効率的な実現が、コンピュータ・ビジョン、コンピュータ・グラフィックス、等といったアプリケーションにおいて、画像をフィルタするために使用されることができる。提案されるアプローチは、矩形フィルタリング、スタック化積分画像、及び繰り返し積分画像方法といった周知技術と比較して、計算の複雑性、データ入力／出力（Ｉ／Ｏ）帯域幅、並びにキャッシュ要求を最小化しながら、実現のための最大限の柔軟性を維持する。
【００１２】
図１は、一般的に、多くのアプリケーションにより、スタンドアロン又はより高度な機能の礎としてのいずれかで使用される、在来の２Ｄ矩形フィルタ１０を使用したダイレクト・フィルタリングの実施を示す。在来の２Ｄ矩形フィルタ１０は、画像１２の移動平均を提供する。２Ｄ矩形フィルタ１０は、ｎ画素の幅と、ｍ画素の高さとを有し、矢印によって示されているように、Ｘ及びＹの両方向に、例えば、ラスタ走査で、画像１２にわたって作動する。矩形フィルタ１０が画像１２にわたって作動するので、矩形フィルタ１０内の画素の移動平均が生成される。しかしながら、図１に示されているようにダイレクトに実現された場合、２Ｄ矩形フィルタリングに関する計算の複雑性並びにメモリ・アクセス帯域幅は、多数の冗長な計算並びにメモリ・アクセスを考慮すると、不当に高くなることもありえる。
【００１３】
図２は、積分画像を使用した従来のフィルタリングの実施を示す。積分画像は、積分画像の空間領域２０の四隅の間の単純な微分を使用した、より効率的な２Ｄ矩形フィルタリングの実現である。空間領域２０は、典型的には長方形であるが、他の形状であることができる。画素値の２Ｄ累算が一度だけ生成される。即ち、画像２２の画素は、三角形２４によって示されているように水平に塁算され、次に、三角形２６によって示されているように垂直に塁算される。図２において＋と−の記号によって示されているように、矩形フィルタリングは、４つの長方形の領域間の２Ｄ微分として実現され、それは、横軸に沿って、次に縦軸に沿って移行する。
【００１４】
階段関数（staircase function ）のような不均一なフィルタを実現するために、又はそれどころか、より高度なフィルタに近似するために、異なるサイズの複数のスタック化２Ｄ矩形フィルタが使用されることができる。効率を向上させるために、スタック化矩形フィルタリングは、スタック化積分画像と呼ばれる、各矩形フィルタにつき１セットの、四隅の複数のセットを使用する、図２に示す積分画像方法に拡張されることができる。図３Ａ及び図３Ｂはそれぞれ、従来の２Ｄスタック化矩形フィルタの、上面図及び側面図を示し、この従来の２Ｄスタック化矩形フィルタは、スタックされた１、２、３、４、及び５の矩形フィルタを有し、ガウス・フィルタに近似するためにスタック化積分画像とともに使用され得る。バリエーションが可能であり、例えば、画素グリッドに対するフィルタの幅のより精細な粒度のために、矩形フィルタのスタックを例えば４５° だけ空間的に回転させたり、又は、アプリケーションの要求に依存した所望の最適化のために、個々の矩形フィルタの回転とスケーリングとを組み合わせたり、といった具合である。所望のフィルタとの近似は、十分に多くの数の矩形フィルタを使用して、改善されることができる。
【００１５】
ガウス関数のような不均一なフィルタ関数に対して、より有効な近似値は、確率論からの大数の法則(the law of large number) によって示唆されるように、矩形フィルタをスタックするのではなく、繰り返し畳み込み積分することにより、より効率的に達成されることができる。図４においては、１Ｄ矩形フィルタの畳み込み積分が示され、繰り返しのたびに、より良好なガウス近似が実現されることが理解され得る。
【００１６】
繰り返し畳み込み積分方法はまた、一般的に繰り返し積分画像方法と呼ばれる積分画像方法の効率を向上させるために、使用されることができる。繰り返し積分画像方法は、繰り返し積分画像方法が矩形フィルタリングあたり１つの画像積分を必要とするという点で、スタック化積分画像方法と異なる。図５は、ガウス近似のために繰り返し積分画像方法を実行するためのアーキテクチャ４０を示すブロック図である。図から解るように、アーキテクチャ４０は、処理ユニット４２、記憶ユニット４４、並びにデータ・バス４６を含む。処理ユニット４２は、複数の２Ｄ画像積分４８と２Ｄ画像微分５０との間の点線矢印によって示されているように、順次に複数回、図２に示したように、２Ｄ画像積分４８の後に続いて２Ｄ画像微分５０を実行する。２Ｄ画像積分４８が実行されるたび、及び、２Ｄ画像微分５０のたびに、入力が、記憶ユニット４４からデータ・バス４６を介して検索され、出力が、データ・バス４６を介して記憶ユニット４４に提供される。
【００１７】
ダイレクト矩形フィルタリング、スタック化積分画像、及び繰り返し積分画像の比較のために、一般的かつ実際的な使用のケースとして、ガウス関数近似を使用すると、これらの方法の複雑性は、表１において以下に示され、画素あたりの塁算数における計算と、パスの結果生じる画像全体がその後の処理のためにメモリに書き出されなくてはならないパスの数におけるデータＩ／Ｏ帯域幅と、それが任意の特定のパス内の単一の出力画素の生成を完全にサポートするために保持しなくてはならない画素数におけるキャッシュ要求とを含む。
【表１】
0005635202.tif 000002
【００１８】
表１において、スタック化積分画像及びダイレクト矩形フィルタリング方法は、数値的に等しい同一のステージ数Ｍを有することに注意すべきである。更に、繰り返し積分画像方法は、より少ないステージＮ＜Ｍを使用しながら、同一の精度の近似値を達成することができる。例えば、経験的に、Ｎ＝３の場合、Ｍは少なくとも６以上である。キャッシュ要求は、３つの方法全てについて同一であり、Ｗｉ及びＬｉは、個々の矩形フィルタの幅と長さである。
【００１９】
表１における分析に基づくと、画素あたりの塁算数及びパスの数における効率面での有利性を考慮すると、ガウス近似には、ダイレクト矩形フィルタリング方法よりもスタック化積分画像方法のほうが良い選択である。しかしながら、スタック化積分画像方法と繰り返し積分画像方法との選択に関しては、繰り返し積分画像方法が、スタック化積分画像方法の（３＊ Ｍ＋２）＝（３＊ ６＋２）＝２０という計算に対し、（５＊ Ｎ）＝（５＊ ３）＝１５という計算である点で、まずまずの有利性を有するが、スタック化積分画像方法のわずか２というパスの数に対し、２＊ Ｎ＝２＊ ３＝６という非常に大きなパスの数を必要とすることを考慮すると、それほど明白なものではない。従って、スタック化積分画像方法と繰り返し積分画像方法との選択は、Ｍ＞＞Ｎでない限り、特定のプラットフォームのコストのトレードオフに依存する。
【００２０】
フィルタリングの高速繰り返し積分画像方法のための提案される方法は、信号処理の観点では繰り返し積分画像方法の性質を維持するが、より一層効率的な演算のために、改善されたアーキテクチャを利用し、それは、比較的少ない計算、処理ユニットと記憶ユニットとの間でのより一層少ないデータ・フロー、並びに処理ユニット内のより一層小さい局所的な記憶装置を必要とする。
【００２１】
高速繰り返し積分画像方法は、画像積分が、２つの一次元（１Ｄ）ＩＩＲとして分離可能な２Ｄ無限インパルス応答（ＩＩＲ）フィルタリングであることを認識する。さらに、積分画像中の所望の領域の四隅の間の、加算及び減算による２Ｄ長方形領域の合計又は平均、即ち一般的には微分は、２Ｄ有限インパルス応答（ＦＩＲ）フィルタリングであり、これもまた２つの１Ｄ  ＦＩＲとして分離可能である。更に、カスケード化線形フィルタのシステムが、機能的に等価なエンド・ツー・エンドを維持しつつ、線形フィルタのステージの並べ替えを可能にする、ということに注意すべきである。更に、全てのカスケード化水平線形フィルタリング・ステージは、１つの単一パスで実行されることができ、全てのカスケード化垂直線形フィルタリング・ステージもまた、別個に、１つの単一パスで実行されることができる。
【００２２】
２Ｄ画像積分の演算は、
【数１】
0005635202.tif 000003
【数２】
0005635202.tif 000004
【数３】
0005635202.tif 000005
【００２３】
のように表されることができる。
【００２４】
積分画像に対する２Ｄ微分の演算（例えば、図２における空間領域２０）は、
【数４】
0005635202.tif 000006
【数５】
0005635202.tif 000007
【数６】
0005635202.tif 000008
【００２５】
のように表されることができる。  
ここで、Ｗは、２Ｄ領域の幅であり、Ｌは、２Ｄ領域の長さである。
【００２６】
単一ステージの矩形フィルタは、
【数７】
0005635202.tif 000009
【００２７】
のように表されることができる。  
繰り返し積分画像方法は、
【数８】
0005635202.tif 000010
【００２８】
のように表されることができる。
図６は、ガウス近似のために使用され得る高速繰り返し積分画像フィルタ１００の１つの実施を示している。高速繰り返し積分画像フィルタ１００は、互いに結合された少なくとも１つの１Ｄ無限インパルス応答（ＩＩＲ）フィルタ１１０と少なくとも１つの１Ｄ有限インパルス応答（ＦＩＲ）フィルタ１２０とを含む。ＩＩＲフィルタ１１０は、例えば、１サンプル遅延フリップ・フロップ１１２と加算器１１４とを含む。ＦＩＲフィルタ１２０は、複数の１サンプル遅延フリップ・フロップ１１２、１２２、１２４と、ＩＩＲフィルタ１１０からの加算器１１４の出力と最後のフリップ・フロップ １２４の反転された出力とを受け取る加算器１１４とを含む。ＦＩＲフィルタ１２０において使用されるフリップ・フロップ１１２、１２２、１２４の数は、ガウス・フィルタのような目標のフィルタとの所望の類似レベルによって決定される。図６では、ＩＩＲフィルタ１１０及びＦＩＲフィルタ１２０のセットが２回繰り返されて示されているが、ＩＩＲフィルタ１１０及びＦＩＲフィルタ１２０は所望の回数（ゼロ回の繰り返しを含む）だけ繰り返されることができ、各繰り返しがガウスの近似を改善する、ということが理解されるべきである。更に、必要に応じて、ＩＩＲフィルタ１１０とＦＩＲフィルタ１２０の順序は入れ替えられることができ、即ち、ＦＩＲフィルタ１２０は、ＩＩＲフィルタ１１０に先行することができる。更に、フィルタ１１０と１２０の順序は、フィルタの異なる繰り返しのセット間で異なることができる。カスケード化線形フィルタの使用は、機能的に等価なエンド・ツー・エンドを維持しつつ、線形フィルタのステージの並べ替えを可能にする。演算中、微分領域が同一の幅と長さを有するものと仮定すると、水平のラインは各々、単一パスで高速繰り返し積分画像フィルタ１００を通過し、別個に、垂直のラインが各々、単一パスで高速繰り返し積分画像フィルタ１００を通過する。必要に応じて、別個のカスケード化線形フィルタが、垂直のラインと水平のラインのために使用されることができる。
【００２９】
図７は、ガウス近似のために使用され得る高速繰り返し積分画像フィルタ１５０の別の実現を示す。図６に関連して上述したように、カスケード化線形フィルタの使用は、機能的に等価なエンド・ツー・エンドを維持しつつ、線形フィルタのステージの並べ替えを可能にする。従って、図７におけるフィルタ１５０は、図６に示されたフィルタ１００と機能的に等価なエンド・ツー・エンドであるが、線形フィルタの順序は異なっている。図７に示すように、ＩＩＲフィルタ１６０は、２つの１サンプル遅延フリップ・フロップ１６２、１６４、及び２つの加算器１６６、１６８を含み、結果として高次ＩＩＲフィルタ１６０を生じる、２つのＩＩＲフィルタを統合することによって生み出される。ＩＩＲフィルタ１６０は、１サンプル遅延フリップ・フロップ１６２、１６４、１８２、１８４、１８６、及び加算器１８８、１９０、１９２を含む、２つのＦＩＲフィルタによって作られる単一の高次ＦＩＲフィルタ１８０と直列である。必要に応じて画像が、水平にフィルタされる前に垂直にフィルタされ得ることが理解されるべきである。ｎ個の線形ＦＩＲフィルタにｎ個の線形ＩＩＲフィルタが結合される他の機能的に等価な構成が使用され得る。
【００３０】
図８は、図６に示したものと同様のマルチ・ステージ高速繰り返し積分画像フィルタ２１０のためのアーキテクチャ２００を示すブロック図である。アーキテクチャ２００は、高速繰り返し積分画像フィルタ２１０をかけるものとして示されている処理ユニット２２０、記憶ユニット２３０、並びにデータ・バス２４０を含む。演算中、画像が一度だけ、記憶ユニット２３０からデータ・バス２４０を介して高速繰り返し積分画像フィルタ２１０へと入力され、フィルタにかけられた画像が一度だけ、高速繰り返し積分画像フィルタ２１０からデータ・バス２４０を介して記憶ユニット２３０へと出力される。高速繰り返し積分画像フィルタ２１０は、二度使用され、一度目は水平次元で画像をフィルタするために、二度目は垂直次元で画像をフィルタするために使用される。必要に応じて、２つの別個の高速繰り返し積分画像フィルタ２１０が、水平次元と垂直次元とを順次に処理するために使用されることができる。高速繰り返し積分画像フィルタ２１０は、図６及び図７に示されているように、１Ｄ  ＩＩＲ画像積分（ＩＩＲフィルタとも呼ばれる）２１２と、１Ｄ  ＦＩＲ画像微分（ＦＩＲフィルタとも呼ばれる）２１４とを含み、これらは、複数のＩＩＲフィルタ２１２とＦＩＲフィルタ２１４との間の点線矢印によって示されているように、順次に複数回、画像をフィルタする。各ＩＩＲフィルタ２１２及びＦＩＲフィルタ２１４は、処理ユニット２２０における局所的な記憶装置２２２に結合される。ＩＩＲフィルタ２１２とＦＩＲフィルタ２１４との間の点線矢印は、ダイレクトな接続とは対照的な処理のフローを示している。上述されているように、ＩＩＲフィルタ２１２及びＦＩＲフィルタ２１４の順序並びに数は、必要に応じて変更されることができる。
【００３１】
高速繰り返し積分画像フィルタのためのアーキテクチャ２００及び方法３００は、ガウス近似のための繰り返し積分画像及び高速繰り返し積分画像の複雑性を示す以下の表２に示されているように、繰り返し積分画像のために、より効率的な演算を提供する。
【表２】
0005635202.tif 000011
【００３２】
理解されるように、従来の繰り返し積分画像方法と比較すると、高速繰り返し積分画像方法を用いることにより、計算の複雑性は（５＊ Ｎ）から（４＊ Ｎ）への約２５％の低減であるが、パスの数は（２＊ Ｎ）から２へと大幅に減じられる。従って、高速繰り返し積分画像方法は、追加のパス又はより大きなキャッシュ要求を必要としないと同時に、計算の複雑性における有利性のため、明らかに（表１に示した）スタック化積分画像方法よりも良い選択である。
【００３３】
高速繰り返し積分画像方法及びアーキテクチャのほうが繰り返し積分画像方法のための従来の方法及びアーキテクチャよりも優れている点としては、（１）計算の複雑性がより低いこと、（２）処理ユニットと記憶ユニットとの間のデータ・フローに関する要求がより一層低いこと、（３）処理ユニット内の局所的なデータ記憶装置に関する要求がより一層低いこと、（４）計算と、データ・フローと、局所的な記憶装置との間の異なるトレードオフを作ることではない、根本的により良い選択であること、（５）より高次元の空間における演算又は高次の繰り返し積分画像のための演算に容易に拡張可能であること、が含まれる。
【００３４】
必要に応じて、高速繰り返し積分画像フィルタは、一次元フィルタが必要とする２つのパスとは対照的に、単一パスで、即ち、二次元のフィルタにより、実行されることができる。図９は、２Ｄ高速繰り返し積分画像フィルタ３００の実現を示している。高速繰り返し積分画像フィルタ３００は、２つのステージ３１０及び３３０のカスケードを含むものとして示されているが、必要に応じて、より少ない、又は追加のステージが使用されることができる。示されているように、第１のステージ３１０は、ｘ方向の画素の行をフィルタする水平部３１１と、ｙ方向の画素の列をフィルタする垂直部３２１とに分割される。第１のステージ３１０の水平部３１１は、フィルタの幅ｍを有するＦＩＲフィルタ３１４に結合されたＩＩＲフィルタ３１２を含む。第１のステージ３１０ の垂直部３２１は、フィルタの幅ｎを有するＦＩＲフィルタ３２４に結合されたＩＩＲフィルタ３２２を含む。第２のステージ３３０も同様に、画素の行及び列のための、それぞれＩＩＲフィルタ３３２及び３４２と、画素の行及び列のための、それぞれＦＩＲフィルタ３３４及び３４４とを含む。
【００３５】
上述したように、ＩＩＲフィルタ及びＦＩＲフィルタの順序は、変更されることができる。例えば、図１０に示されているように、変更された２Ｄ高速繰り返し積分画像フィルタ３００Ａは、共通ＩＩＲステージ３０２においてＩＩＲフィルタ３１２、３２２、３３２、３４２の全てを、これらがＦＩＲ演算と独立するように、互いにカスケード接続する。ＦＩＲフィルタは、ＦＩＲフィルタ３２４及び３４４を含む垂直ステージ３０４と、ＦＩＲフィルタ３１４及び３３４を含む水平ステージ３０６とにグループ分けされることができる。
【００３６】
図１１は、図１０に示したもののような２Ｄ高速繰り返し積分画像フィルタ３００のためのアーキテクチャ２００’を示すブロック図である。図８に示されたアーキテクチャ２００と同様に、アーキテクチャ２００’は、２Ｄ高速繰り返し積分画像フィルタ３００をかけるものとして示されている処理ユニット２２０、記憶ユニット２３０、並びにデータ・バス２４０を含む。演算中、画像が一度だけ、記憶ユニット２３０からデータ・バス２４０を介して２Ｄ高速繰り返し積分画像フィルタ３００へと入力され、フィルタにかけられた画像が一度だけ、２Ｄ高速繰り返し積分画像フィルタ３００からデータ・バス２４０を介して記憶ユニット２３０へと出力される。更に、２Ｄ高速繰り返し積分画像フィルタ３００は、水平次元と垂直次元の両方で画像をフィルタするために１つのパスで使用される。高速繰り返し積分画像フィルタ３００は、図１０に示したように、共通ＩＩＲステージ２６２、並びに、ＦＩＲ垂直ステージ２６４及びＦＩＲ水平ステージ２６６を含むものとして示されており、それらは、ダイレクトな接続と対照的な処理のフローを示す点線矢印によって示されているように、１回以上にわたって画像を順次にフィルタする。共通ＩＩＲステージ２６２中のＩＩＲフィルタ及びＦＩＲフィルタ、ＦＩＲ垂直ステージ２６４、及びＦＩＲ水平ステージ２６６は各々、処理ユニット２２０における局所的な記憶ユニット２２２に結合される。上述したように、ＩＩＲフィルタ及びＦＩＲフィルタの順序並びに数は、必要に応じて変更されることができるので、図１１に示されているように、共通ＩＩＲステージ２６２、ＦＩＲ垂直ステージ２６４、及びＦＩＲ水平ステージ２６６にグループ分けされなくてもよい。
【００３７】
２Ｄ高速繰り返し積分画像フィルタの実現は、複雑性を減じ、２Ｄガウス・フィルタを用いた従来の畳み込み積分の実現より７〜８倍少ない演算を必要とする。しかしながら、２Ｄ高速繰り返し積分画像フィルタの実現は、上記表２に示したように、１Ｄ高速繰り返し積分画像フィルタと比較すると、追加の局所的な記憶装置を必要とする。Ｋ個のステージと長さＭ１ 、Ｍ２ 、．．．ＭＫ のＦＩＲとを有する２Ｄ高速繰り返し積分画像フィルタの実現のための局所的な記憶装置の量は、各ＩＩＲフィルタにつき１行の合計Ｋ行と、ＦＩＲの中間出力記憶装置のためのＭ１ 、Ｍ２ 、・・・・ＭＫ 行とを含み、ＩＩＲのビット幅は後続のＦＩＲの最大の長さによって決定される。
【００３８】
図１２に示されているように、２Ｄ高速繰り返し積分画像フィルタ３００Ｂは、図１０に示したものと同様に、単一の共通ＩＩＲステージ３０２と、複数のＦＩＲフィルタ・バンク３０５及び３０７とを含み得る。同一の共通ＩＩＲステージ３０２を共有する複数のＦＩＲフィルタ・バンクを用いると、異なるタイプの矩形フィルタが、ＩＩＲフィルタ処理を繰り返す必要なく実現されることができるので、処理時間が短縮される。更に、図１３に示されているように、２Ｄ高速繰り返し積分画像フィルタ３００Ｃの別の実現は、図１２に示したものと同様に、ＦＩＲフィルタ・バンク３１３及び３１５内に、より長い単一のＦＩＲフィルタ、即ち、拡張されたＦＩＲ  Ｙを含み、それは、図１２に示した複数のＦＩＲ  Ｙフィルタの代わりに使用される。ＦＩＲフィルタ・バンク３１３及び３１５内の拡張されたＦＩＲフィルタの使用は、それが局所的な記憶装置の要求を減じるので、有利である。
【００３９】
更に、２Ｄ高速繰り返し積分画像フィルタは、局所的な記憶装置の要求が画像のサイズから独立し、演算の複雑性の観点において画素あたりのコストが一定であるように、画像を複数のストライプに分割することができる。図１４は、ストライプ状の画像４５０、及びストライプ状の画像４５０を処理することができる２Ｄ高速繰り返し積分画像フィルタ３００Ｄを示す。
【００４０】
図１４に示されているように、ストライプ状の画像は、複数の垂直方向のストライプ４５２、４５４、及び４５６に、各タイルが等しい数の画素の行を有するが、各タイルが画像４５０全体に存在するより少ない画素の列を有するように分割される。示されているように、ストライプ４５２、４５４、及び４５６は、幅Ｐの列及び高さＨを有する。列４５２及び４５４の幅の一部は、ＩＩＲステージ３０２における最大フィルタ長に等しいオーバーヘッドＮとして識別される。
【００４１】
図１４に示した２Ｄ高速繰り返し積分画像フィルタ３００Ｄは、ＩＩＲ出力バッファ３０３を含むが、それ以外の点では、先に説明した２Ｄ高速繰り返し積分画像フィルタと同様であり得る。図１４はまた、追加のＦＩＲバンク３１７を含むことを示しているが、より少ない、又は追加のＦＩＲバンクが使用されることができる。２Ｄ高速繰り返し積分画像フィルタ３００Ｄは、各ストライプを別個に、即ち、ストライプの横幅と高さの両方を次のストライプに移動する前に、処理する。これは、それが（図１１に示した）局所的な記憶ユニット２２２ の要求されるサイズを減じるので、有利である。要求されるキャッシュのサイズは、ストライプの幅Ｐに任意の前のストライプからのオーバーヘッドＮを足したものと、ＦＩＲ計算のために必要とされる高さとの積、即ち、最大フィルタ長＊ （Ｐ＋Ｎ）である。後続のストライプ、例えば、ストライプ４５４及び４５６をフィルタするために、２Ｄ高速繰り返し積分画像フィルタ３００Ｄは、先行するストライプからの情報、オーバーヘッドＮを要求する。従って、Ｎの量のサンプル／行／ブロックにおける追加のメモリ・アクセスが、ＩＩＲ出力バッファ３０３によって提供される。２Ｄ高速繰り返し積分画像フィルタ３００Ｄは、画像に基づくデータが画像の各位置から一度読み出されるので、たとえ複数のストライプが順次にフィルタにかけられたとしても、単一パス・フィルタとみなされる。Ｐのサイズは、Ｎ／Ｐが小さくなるように選択される。例えば、Ｐ＝８０及びＮ＝２５を選択すると、メモリ・アクセスにおける余分なオーバーヘッドは、３０％であり、即ち、実行時間は、３０％だけ増加する。しかしながら、Ｐ＝８０の場合、局所的な記憶ユニット３７２の要求されるキャッシュ・サイズは、２０ｋＢより少なく、画像のサイズから独立する。
【００４２】
図１５は、高速繰り返し積分画像フィルタの方法５００を示すフローチャートである。示されているように、画素のアレイを含む画像データが、高速繰り返し積分画像フィルタによって受け取られる（５０２）。フィルタにかけられた画像データを生成するために、画像データが高速繰り返し積分画像フィルタによってフィルタされる（５０４）。第１の方向に延在する画像データ中の複数の画素のライン（例えば、画素の行）に少なくとも１つのＩＩＲフィルタと少なくとも１つのＦＩＲフィルタとをかけることによって、フィルタにかけられた画像データが生成される（５０６）。第２の方向に延在する複数の画素のライン（例えば、画素の列）に少なくとも１つのＩＩＲフィルタと少なくとも１つのＦＩＲフィルタとをかけることによりフィルタにかけられた画像データを生み出すことによって、フィルタにかけられた画像データが更に生成される（５０８）。フィルタにかけられた画像データは、例えば、記憶ユニット、例えば記憶ユニット２３０に出力され、記憶される（５１０）。フィルタにかけられた画像データの生成（５０４）は、例えば、１Ｄ高速繰り返し積分画像フィルタ２１０を使用して、２つのパスで実行されることができる。例えば、第１の方向の画素のラインに少なくとも１つのＩＩＲフィルタと少なくとも１つのＦＩＲフィルタとをかけること（５０６）は、部分的にフィルタにかけられた画像データを生み出し、部分的にフィルタにかけられた画像データは、例えば、記憶ユニット２３０に提供されて記憶され（５０７）、部分的にフィルタにかけられた画像データ中の第２の方向の画素のラインにＩＩＲフィルタとＦＩＲフィルタとをかける（５０８）前に検索される。第１の方向のラインの全てが、第２の方向のラインの全てをフィルタする前に、フィルタされることができるので、記憶ユニット２３０との通信は最小化される。しかしながら、必要に応じて、ラインのサブセットが一度にフィルタされることができ、それには追加のパスが必要となるであろう。
【００４３】
或いは、フィルタにかけられた画像データの生成（５０４）は、例えば、上述したように２Ｄ高速繰り返し積分画像フィルタを使用して、単一パスで実行されることができ、その場合、ステップ５０７は不要である。或いは、フィルタにかけられた画像データを生成するために２Ｄ高速繰り返し積分画像フィルタが使用される場合、上述のごとく、画像の複数の部分が順次にフィルタされるように画像データがストライプ状にされ得、その場合、ストライプ状にされた画像のある特定の部分（例えば、オーバーヘッドＮ）は、二度フィルタされ、追加のオーバーヘッドを結果として生じる。
【００４４】
高速繰り返し積分画像方法は、適切なアーキテクチャを有する任意の装置によって実行されることができる。例として、図１６は、高速繰り返し積分画像方法を実行することができるモバイル・プラットフォーム６００のブロック図を示す。モバイル・プラットフォームは、セルラ無線通信デバイス又は他の無線通信デバイス、パーソナル通信システム（ＰＣＳ）デバイス、パーソナル・ナビゲーション・デバイス（ＰＮＤ）、パーソナル・インフォメーション・マネジャ（ＰＩＭ）、携帯情報端末（ＰＤＡ）、又は他の適切なモバイル・デバイスといった、任意の携帯型電子デバイスのことを言う。高速繰り返し積分画像方法は、据え置き型又は部分的に据え置き型のデバイスにおいても、実行されることができる。
【００４５】
モバイル・プラットフォーム６００は、フィルタされるべき映像フレームの画像を取り込むことができるカメラ６０２を含むものとして示されている。モバイル・プラットフォーム６００はまた、例えばカメラ６０２によって取り込まれた画像を表示することができるディスプレイ６１２を含むユーザ・インターフェース６１０を含む。ユーザ・インターフェース６１０はまた、それを介してユーザがモバイル・プラットフォーム６００に情報を入力することができる、キーパッド６１８又は他の入力デバイスを含み得る。必要に応じて、キーパッド６１８は、タッチ・センサを有するディスプレイ６１２に仮想キーパッドを組み込むことによって、不要とされることができる。ユーザ・インターフェース６１０はまた、例えば、モバイル・プラットフォームがセルラ電話である場合、マイクロフォン６１６及びスピーカー６１４を含むことができる。当然のことながら、モバイル・プラットフォーム６００は、本開示に関連しない他のエレメントを含み得る。
【００４６】
モバイル・プラットフォーム６００はまた、他の特徴とともに、カメラ６０２及びユーザ・インターフェース６１０に接続され、それらと通信する制御ユニット６２０を含む。制御ユニット６２０は、プロセッサ６２２、及びソフトウェア６２６を含み得る関連づけられたメモリ／記憶装置６２４、並びにハードウェア６２８、及びファームウェア６３０によって提供されることができる。モバイル・プラットフォーム６００は、高速繰り返し積分画像フィルタ６３２を含むものとして示されており、それは、上述された１Ｄ高速繰り返し積分画像フィルタのいずれか、又は２Ｄ高速繰り返し積分画像フィルタのいずれかであることができ、それは、局所的な記憶装置２２２に結合され、データ・バス２４０を介して記憶ユニット２３０に結合される。高速繰り返し積分画像フィルタ６３２は、明確さのためにプロセッサ６２２とは別個に示されているが、プロセッサ６２２において実行されるソフトウェア６２６における命令に基づいて、プロセッサ６２２において実現されることができる。本明細書において使用される場合、プロセッサ６２２、並びに高速繰り返し積分画像フィルタ６３２は、１つ以上のマイクロプロセッサ、エンベデッド・プロセッサ、コントローラ、特定用途向け集積回路（ＡＳＩＣ）、デジタル・シグナル・プロセッサ（ＤＳＰ）、等を含み得るが、必ずしもそれらを含む必要があるわけではないということが理解されるだろう。プロセッサという用語は、特定のハードウェアではなく、システムによって実現される機能を説明することを意図する。更に、本明細書において使用される場合、「メモリ」及び「記憶装置」という用語は、モバイル・プラットフォームに関連づけられた長期メモリ、短期メモリ、又は他のメモリを含む任意のタイプのコンピュータ記憶媒体のことを言うが、メモリのタイプ又はメモリの数、又はメモリが記憶される媒体のタイプは、任意の特定のものに限定されるべきではない。
【００４７】
ここに説明された方法は、用途に依存して、さまざまな手段により実現されることができる。例えば、これらの方法は、ハードウェア６２８、ファームウェア６３０、ソフトウェア６２６、又はそれらの任意の組み合わせで実現されることができる。ハードウェアの実装では、高速繰り返し積分画像フィルタ６３２は、本明細書において説明された機能を実行するように設計された、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、デジタル・シグナル・プロセッサ（ＤＳＰ）、デジタル・シグナル・プロセッシング・デバイス（ＤＳＰＤ）、プログラマブル・ロジック・デバイス（ＰＬＤ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、プロセッサ、コントローラ、マイクロ・コントローラ、マイクロプロセッサ、電子デバイス、他の電子ユニット、又はそれらの組み合わせの中に組み込まれることができる。
【００４８】
ファームウェア及び／又はソフトウェアの実現では、本明細書において説明された機能を実行するモジュール（例えば、プロシージャ、関数、等）を用いて方法が実現されることができる。命令を実体的に具現化する任意の機械読取可能な媒体が、本明細書において説明された方法を実現するのに使用されることができる。例えば、ソフトウェア・コードがメモリ６２４に記憶されることができ、プロセッサ６２２によって実行されることができる。メモリは、プロセッサ６２２の内部又は外部に実装されることができる。
【００４９】
ファームウェア及び／又はソフトウェアで実現される場合、機能は、コンピュータ読取可能な媒体において、１つ以上の命令又はコードとして、記憶されることができる。例には、データ構造によってコード化された非一時的なコンピュータ読取可能な媒体及びコンピュータ・プログラムによってコード化されたコンピュータ読取可能な媒体が含まれる。コンピュータ読取可能な媒体は、物理的なコンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスされることができる入手可能な任意の媒体であることができる。限定ではなく例として、そのようなコンピュータ読取可能な媒体は、ＲＡＭ、ＲＯＭ、フラッシュ・メモリ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、又は他の光ディスク記憶装置、磁気ディスク記憶装置、又は他の磁気記憶デバイス、又は、命令又はデータ構造の形態で所望のプログラム・コードを記憶するために使用されることができ、かつ、コンピュータによってアクセスされることができる任意の他の媒体を含むことができる。ディスク（disk ）及びディスク（disc ）は、本明細書において使用される場合、コンパクト・ディスク（disc ）（ＣＤ）、レーザーディスク（登録商標）（disc ）、光ディスク（disc ）、デジタル多用途ディスク（disc ）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk ）、及びブルーレイ（登録商標）ディスク（disc ）を含み、ディスク（disk ）は通常、磁気的にデータを再生するが、ディスク（disc ）は、レーザーを用いて光学的にデータを再生する。上記したものの組み合わせもまた、コンピュータ読取可能な媒体の範囲内に含まれるべきである。
【００５０】
本発明は、教示のために特定の実施形態に関連して説明されたが、本発明は、それらに限定されるものではない。本発明の範囲から逸脱せずに、さまざまな適応および変更が行われ得る。したがって、添付の請求項の精神および範囲は、前述した説明に限定されるべきではない。
なお、以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［１］  画像をフィルタにかける方法であって、画素のアレイで構成される画像データを受信することと、第１の方向に延在する前記画像データ中の第１の複数の画素のラインに、少なくとも１つの無限インパルス応答（ＩＩＲ）フィルタと少なくとも１つの有限インパルス応答（ＦＩＲ）フィルタとをかけることと、フィルタにかけられた画像データを生成するために、前記第１の方向とは異なる第２の方向に延在する第２の複数の画素のラインに、少なくとも１つのＩＩＲフィルタと少なくとも１つのＦＩＲフィルタとをかけることと、前記フィルタにかけられた画像データを記憶することと、を備える方法。
［２］  前記フィルタにかけられた画像データは、ガウス・フィルタにかけられた画像データに近似する、［１］に記載の方法。
［３］  前記画像データ中の前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、部分的にフィルタにかけられた画像データを生成し、前記方法は更に、前記部分的にフィルタにかけられた画像データを記憶することを備え、前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることが、前記部分的にフィルタにかけられた画像データに行われる、［１］に記載の方法。
［４］  前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、前記部分的にフィルタにかけられた画像データを記憶する前に、前記第１の方向に延在する前記画像データ中の全ての画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることを備え、前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、前記フィルタにかけられた画像データを記憶する前に、前記第２の方向に延在するフィルタにかけられた前記画像データ中の全ての画素のラインに、前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることを備える、［３］に記載の方法。
［５］  前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、前記第１の複数の画素のラインに複数のＩＩＲフィルタと複数のＦＩＲフィルタとをかけることを備え、前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、前記第２の複数の画素のラインに複数のＩＩＲフィルタと複数のＦＩＲフィルタとをかけることを備える、［１］に記載の方法。
［６］  フィルタにかけられた前記画像データを記憶するための記憶ユニットとは異なる局所的な記憶ユニットに、前記複数のＩＩＲフィルタの各々及び前記複数のＦＩＲフィルタの各々の出力を局所的に記憶することを更に備える、［５］に記載の方法。
［７］  前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけることは、等しい数のＩＩＲフィルタとＦＩＲフィルタとをかけることを備え、前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけることは、第２の等しい数のＩＩＲフィルタとＦＩＲフィルタとをかけることを備える、［５］に記載の方法。
［８］  前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけることは、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを直列にかけることを備え、前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけることは、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを直列にかけることを備える、［５］に記載の方法。
［９］  前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけることは、複数の並列のＩＩＲフィルタを単一の高次ＩＩＲフィルタに統合することと、複数の並列のＦＩＲフィルタを単一の高次ＦＩＲフィルタに統合することと、前記単一の高次ＩＩＲフィルタと前記単一の高次ＦＩＲフィルタとを直列にかけることとを備える、［５］に記載の方法。
［１０］  前記単一の高次ＩＩＲフィルタは、前記単一の高次ＦＩＲフィルタの前にかけられる、［９］に記載の方法。
［１１］  前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、前記少なくとも１つのＦＩＲフィルタをかける前に前記少なくとも１つのＩＩＲフィルタをかけることを備える、［１］に記載の方法。
［１２］  前記画像データ中の前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけること、及び前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることは、単一パスで実行される、［１］に記載の方法。
［１３］  前記画像データは、第１の数の画素の行と第２の数の画素の列とを備え、前記方法は更に、前記画像データを複数のストライプに分割することを備え、各ストライプは、前記第１の数の画素の行と、前記第２の数の列よりも少ない第３の数の画素の列とを備え、前記画像データ中の前記第１の複数の画素のラインに対する前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタ、及び前記第２の複数の画素のラインに対する前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタは、前記複数のストライプの各々に順次にかけられる、［１２］に記載の方法。
［１４］  前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけること、及び前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけることは、前記第１の複数の画素のラインに前記複数のＦＩＲフィルタをかけ、前記第２の複数の画素のラインに前記複数のＦＩＲフィルタをかける前に、共通ＩＩＲステージで、前記第１の複数の画素のラインに前記複数のＩＩＲフィルタを、前記第２の複数の画素のラインに前記複数のＩＩＲフィルタをかけることを備える、［５］に記載の方法。
［１５］  前記第２の複数の画素のラインに前記複数のＦＩＲフィルタをかけることは、前記第１の複数の画素のラインに前記複数のＦＩＲフィルタをかける前に行われる、［１４］に記載の方法。
［１６］  前記共通ＩＩＲステージの後に、前記第１の複数の画素のラインに第２の複数のＦＩＲフィルタをかけることと、前記第２の複数の画素のラインに第２の複数のＦＩＲフィルタをかけることとを更に備える、［１４］に記載の方法。
［１７］  装置であって、画像データを記憶するための記憶ユニットと、前記記憶ユニットに結合されたデータ・バスと、前記データ・バスを介して前記記憶ユニットに結合された高速繰り返し積分画像フィルタと
を備え、前記高速繰り返し積分画像フィルタは、少なくとも１つの無限インパルス応答（ＩＩＲ）フィルタと、前記少なくとも１つのＩＩＲフィルタに結合された少なくとも１つの有限インパルス応答（ＦＩＲ）フィルタと、を備え、前記高速繰り返し積分画像フィルタは、前記記憶ユニットから前記データ・バスを介して前記画像データを受信し、前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとを用いて、第１の方向に延在する前記画像データ中の複数の画素のラインをフィルタにかけ、フィルタにかけられた画像データを生成するために、前記第１の方向とは異なる第２の方向に延在する第２の複数の画素のラインをフィルタにかけ、フィルタにかけられた前記画像データを前記データ・バスを介して前記記憶ユニットに出力するように適合される、装置。
［１８］  フィルタにかけられた前記画像データは、ガウス・フィルタにかけられた画像データに近似する、［１７］に記載の装置。
［１９］  前記高速繰り返し積分画像フィルタは、部分的にフィルタにかけられた画像データを生成するために、前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとを用いて、前記第１の方向に延在する前記画像データ中の前記複数の画素のラインをフィルタにかけ、部分的にフィルタにかけられた前記画像データを、前記データ・バスを介して前記記憶ユニットに出力するように適合され、前記高速繰り返し積分画像フィルタは、前記記憶ユニットから部分的にフィルタにかけられた前記画像データを受信し、前記第２の方向に延在する、部分的にフィルタにかけられた前記画像中の前記第２の複数の画素のラインをフィルタにかけるように構成される、［１７］に記載の装置。
［２０］  前記高速繰り返し積分画像フィルタは、部分的にフィルタにかけられた前記画像データを生成するために、前記第１の方向に延在する前記画像データ中の前記複数の画素のラインの全てをフィルタにかけ、フィルタにかけられた前記画像データを生み出すために、前記第２の方向に延在する、部分的にフィルタにかけられた前記画像データ中の前記複数の画素のラインの全てをフィルタにかけるように構成される、［１９］に記載の装置。
［２１］  前記高速繰り返し積分画像フィルタは、複数のＩＩＲフィルタと、前記複数のＩＩＲフィルタに結合された複数のＦＩＲフィルタと、を備える、［１７］に記載の装置。
［２２］  局所的な記憶ユニットを更に備え、前記複数のＩＩＲフィルタは、前記局所的な記憶ユニットにダイレクトに結合され、前記複数のＦＩＲフィルタは、前記局所的な記憶ユニットにダイレクトに結合される、［２１］に記載の装置。
［２３］  等しい数のＩＩＦフィルタ及びＦＩＲフィルタが、前記複数のＩＩＲフィルタ及び前記複数のＦＩＲフィルタ中に存在する、［２１］に記載の装置。
［２４］  前記複数のＩＩＲフィルタ及び前記複数のＦＩＲフィルタは直列に結合される、［２１］に記載の装置。
［２５］  前記複数のＩＩＲフィルタは、単一の高次ＩＩＲフィルタに統合された複数の並列のＩＩＲフィルタを備え、前記複数のＦＩＲフィルタは、単一の高次ＦＩＲフィルタに統合された複数の並列のＦＩＲフィルタを備え、前記単一の高次ＩＩＲフィルタは、前記単一の高次ＦＩＲフィルタと直列に結合される、［２１］に記載の装置。
［２６］  前記単一の高次ＩＩＲフィルタは、前記記憶ユニットに記憶された前記画像データを、前記データ・バスを介して受信するように結合され、前記単一の高次ＦＩＲフィルタは、部分的にフィルタにかけられた画像データを、前記データ・バスを介して前記記憶ユニットに出力するように結合される、［２５］に記載の装置。
［２７］  前記少なくとも１つのＩＩＲフィルタは、前記記憶ユニットに記憶された前記画像データを、前記データ・バスを介して受け取るように結合され、前記少なくとも１つのＦＩＲフィルタは、部分的にフィルタにかけられた画像データを、前記データ・バスを介して前記記憶ユニットに出力するように結合される、［１７］に記載の装置。
［２８］  前記高速繰り返し積分画像フィルタは、単一パスで、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを用いて、前記第１の方向に延在する前記複数の画素のラインをフィルタにかけ、前記第２の方向に延在する前記第２の複数の画素のラインをフィルタするように適合される、［２１］に記載の装置。
［２９］  前記画像データは、第１の数の画素の行と第２の数の画素の列とを備え、前記画像データは、複数のストライプに分割され、各ストライプは、前記第１の数の画素の行と、前記第２の数の列よりも少ない第３の数の画素の列とを備え、前記高速繰り返し積分画像フィルタは、前記複数のストライプの各々において順次に、前記第１の方向に延在する前記複数の画素のラインをフィルタにかけ、前記第２の方向に延在する前記第２の複数の画素のラインをフィルタにかけるように構成される、［２８］に記載の装置。
［３０］  前記複数のＩＩＲフィルタは、前記複数のＦＩＲフィルタの前の共通ＩＩＲステージにおいてグループ分けされる、［２１］に記載の装置。
［３１］  前記第２の方向に延在する前記第２の複数の画素のラインをフィルタにかけるように構成された前記少なくとも１つのＦＩＲフィルタを含む垂直ＦＩＲステージと、前記第１の方向に延在する前記複数の画素のラインをフィルタにかけるように構成された前記少なくとも１つのＦＩＲフィルタを含む水平ＦＩＲステージとを更に備え、前記垂直ＦＩＲステージは、前記水平ＦＩＲステージの前である、［３０］に記載の装置。
［３２］  前記複数のＦＩＲフィルタは、前記共通ＩＩＲステージからの出力を受信するように結合され、前記高速繰り返し積分画像フィルタは更に、前記共通ＩＩＲステージからの前記出力を受信するように結合された第２の複数のＦＩＲフィルタを備える、［３０］に記載の装置。
［３３］  装置であって、画素のアレイを備える画像データを受け取るための手段と、第１の方向に延在する前記画像データ中の第１の複数の画素のラインに、少なくとも１つの無限インパルス応答（ＩＩＲ）フィルタと少なくとも１つの有限インパルス応答（ＦＩＲ）フィルタとをかけるための手段と、フィルタにかけられた画像データを生成するために、前記第１の方向とは異なる第２の方向に延在する第２の複数の画素のラインに、少なくとも１つのＩＩＲフィルタと少なくとも１つのＦＩＲフィルタとをかけるための手段と、フィルタにかけられた前記画像データを記憶するための手段と
を備える装置。
［３４］  前記画像データ中の前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段は、部分的にフィルタにかけられた画像データを生成し、前記装置は更に、部分的にフィルタにかけられた前記画像データを記憶するための手段を備え、前記第２の複数の画素のラインは、部分的にフィルタにかけられた前記画像データからのものである、［３３］に記載の装置。
［３５］  前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段は、前記第１の複数の画素のラインに複数のＩＩＲフィルタと複数のＦＩＲフィルタとをかけるための手段を備え、前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段は、前記第２の複数の画素のラインに複数のＩＩＲフィルタと複数のＦＩＲフィルタとをかけるための手段を備える、［３３］に記載の装置。
［３６］  前記複数のＩＩＲフィルタの各々及び前記複数のＦＩＲフィルタの各々の出力を局所的に記憶するための手段を更に備え、前記局所的に記憶するための手段は、フィルタにかけられた前記画像データを記憶するための手段とは異なる、［３５］に記載の装置。
［３７］  前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるための手段は、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを直列にかけ、前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるための手段は、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを直列にかける、［３５］に記載の装置。
［３８］  前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるための手段は、単一の高次ＩＩＲフィルタに統合された複数の並列のＩＩＲフィルタと、単一の高次ＦＩＲフィルタに統合された複数の並列のＦＩＲフィルタとを備え、前記単一の高次ＩＩＲフィルタは、前記単一の高次ＦＩＲフィルタと直列にかけられる、［３５］に記載の装置。
［３９］  前記画像データ中の前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段、及び前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段は、前記画像データのために単一パスを使用する、［３３］に記載の装置。
［４０］  前記画像データは、第１の数の画素の行と第２の数の画素の列とを備え、前記装置は更に、前記画像データを複数のストライプに分割するための手段を備え、各ストライプは、前記第１の数の画素の行と、前記第２の数の列よりも少ない第３の数の画素の列とを備え、前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段、及び前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるための手段は、前記複数のストライプの各々について順次に演算する、［３９］に記載の装置。
［４１］  前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるための手段、及び前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるための手段は、前記第１の複数の画素のラインに前記複数のＦＩＲフィルタをかけるための手段及び前記第２の複数の画素のラインに前記複数のＦＩＲフィルタをかけるための手段の前の、共通ＩＩＲステージで、前記第１の複数の画素のラインに前記複数のＩＩＲフィルタを、前記第２の複数の画素のラインに前記複数のＩＩＲフィルタを、かけるための手段を備える、［３５］に記載の装置。
［４２］  前記第２の複数の画素のラインに前記複数のＦＩＲフィルタをかけるための手段は、前記第１の複数の画素のラインに前記複数のＦＩＲフィルタをかけるための手段の前である、［４１］に記載の装置。
［４３］  前記共通ＩＩＲステージの後の、前記第１の複数の画素のラインに第２の複数のＦＩＲフィルタをかけるための手段と、前記第２の複数の画素のラインに第２の複数のＦＩＲフィルタをかけるための手段とを更に備える、［４１］に記載の装置。
［４４］  プログラム・コードが記憶されたコンピュータ読取可能な記憶媒体であって、画素のアレイを備える画像データを受け取るためのプログラム・コードと、第１の方向に延在する画像データ中の第１の複数の画素のラインに、少なくとも１つの無限インパルス応答（ＩＩＲ）フィルタと少なくとも１つの有限インパルス応答（ＦＩＲ）フィルタとを実行するためのプログラム・コードと、フィルタにかけられた画像データを生成するために、第２の方向に延在する第２の複数の画素のラインに、少なくとも１つのＩＩＲフィルタと少なくとも１つのＦＩＲフィルタとをかけるためのプログラム・コードであって、前記第２の方向は前記第１の方向とは異なる、プログラム・コードと、前記フィルタにかけられた画像データを記憶するためのプログラム・コードと、  を備えるコンピュータ読取可能な記憶媒体。
［４５］  前記フィルタにかけられた画像データは、ガウス・フィルタにかけられた画像データに近似する、［４４］に記載のコンピュータ読取可能な記憶媒体。
［４６］  前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるためのプログラム・コードは、部分的にフィルタにかけられた画像データを生み出し、前記コンピュータ読取可能な記憶媒体は更に、前記部分的にフィルタにかけられた画像データを記憶ユニットに出力するためのプログラム・コードを備え、前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタは、前記部分的にフィルタにかけられた画像データからの前記第２の複数の画素のラインに実行される、［４４］に記載のコンピュータ読取可能な記憶媒体。
［４７］  前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけることを実行するためのプログラム・コードは、前記第１の複数の画素のラインに複数のＩＩＲフィルタと複数のＦＩＲフィルタとをかけるためのプログラム・コードを備え、前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるためのプログラム・コードは、前記第２の複数の画素のラインに複数のＩＩＲフィルタと複数のＦＩＲフィルタとをかけるためのプログラム・コードを備える、［４４］に記載のコンピュータ読取可能な記憶媒体。
［４８］  前記複数のＩＩＲフィルタの各々及び前記複数のＦＩＲフィルタの各々の出力を局所的に記憶するためのプログラム・コードを更に備える、［４７］に記載のコンピュータ読取可能な記憶媒体。
［４９］  前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるためのプログラム・コードは、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを直列にかけるためのプログラム・コードを備え、前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるためのプログラム・コードは、前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとを直列にかけるためのプログラム・コードを備える、［４７］に記載のコンピュータ読取可能な記憶媒体。
［５０］  前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるためのプログラム・コードは、複数の並列のＩＩＲフィルタを単一の高次ＩＩＲフィルタに統合し、複数の並列のＦＩＲフィルタを単一の高次ＦＩＲフィルタに統合し、前記単一の高次ＩＩＲフィルタと前記単一の高次ＦＩＲフィルタとを直列にかけるためのプログラム・コードを備える、［４７］に記載のコンピュータ読取可能な記憶媒体。
［５１］  単一パスにおけるプログラム・コードを備える、前記第１の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとを実行し、前記第２の複数の画素のラインに前記少なくとも１つのＩＩＲフィルタと前記少なくとも１つのＦＩＲフィルタとをかけるためのプログラム・コードを更に備える、［４４］に記載のコンピュータ読取可能な記憶媒体。
［５２］  前記第１の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるためのプログラム・コード、及び前記第２の複数の画素のラインに前記複数のＩＩＲフィルタと前記複数のＦＩＲフィルタとをかけるためのプログラム・コードは、共通ＩＩＲステージで、前記第１の複数の画素のラインに前記複数のＩＩＲフィルタを実行し、前記第２の複数の画素のラインに前記複数のＩＩＲフィルタを実行し、前記第１の複数の画素のラインに前記複数のＦＩＲフィルタをかける前に前記第２の複数の画素のラインに前記複数のＦＩＲフィルタをかけるためのプログラム・コードを備える、［４７］に記載のコンピュータ読取可能な記憶媒体。
【図１】
0005635202.tif 000012
【図２】
0005635202.tif 000013
【図３Ａ】
0005635202.tif 000014
【図３Ｂ】
0005635202.tif 000015
【図４】
0005635202.tif 000016
【図５】
0005635202.tif 000017
【図６】
0005635202.tif 000018
【図７】
0005635202.tif 000019
【図８】
0005635202.tif 000020
【図９】
0005635202.tif 000021
【図１０】
0005635202.tif 000022
【図１１】
0005635202.tif 000023
【図１２】
0005635202.tif 000024
【図１３】
0005635202.tif 000025
【図１４】
0005635202.tif 000026
【図１５】
0005635202.tif 000027
【図１６】
0005635202.tif 000028