(57)【特許請求の範囲】
【請求項１】
ビデオのフレーム用の強度補正を提供する方法であって、
全体的強度補正に使用される見かけ利得係数を確立するために、ビデオのフレームの一部を評価するステップと、
フレームの現在のブロックと前のフレームの対応するブロックとの強度の差を判断するステップと、
フレームの現在のブロックと前のフレームの対応するブロックとの強度の差が第１の組のパラメータと一致している場合、局所的強度補正を用いてフレームの全ブロックを補正するステップと、
フレームの現在のブロックと前のフレームの対応するブロックとの強度の差が第１の組のパラメータと一致していない場合、全体的強度補正用の見かけ利得係数および局所的強度補正を用いてフレームの現在のブロックを補正するステップとを含む、方法。
【請求項２】
強度の差が第１の組のパラメータと一致している場合、局所的強度補正を用いてフレームの全ブロックを補正するステップは、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差が予め定められたしきい値を超えているかどうか、および、見かけ利得係数が予め定められた範囲外にあるかどうかを判断するステップを含む、請求項１に記載の方法。
【請求項３】
全体的強度補正用の見かけ利得係数および局所的強度補正を用いてフレームの現在のブロックを補正するステップは、
見かけ利得係数を用いてフレームの現在のブロックを補正するステップと、
見かけ利得係数を用いてフレームの現在のブロックを補正した後で、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差を判断するステップと、
局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断するステップとを含む、請求項１または２に記載の方法。
【請求項４】
局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断するステップは、
見かけ利得係数を用いてフレームの現在のブロックを補正した後の、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差が、第２の予め定められたしきい値を超えているかどうかを判断するステップを含む、請求項３に記載の方法。
【請求項５】
局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断するステップは、見かけ利得係数が予め定められた範囲外にあるかどうかを判断するステップを含む、請求項４に記載の方法。
【請求項６】
前の２つのブロックが歪んでいるかどうかを判断するステップと、前の２つのブロックが歪んでいない場合、歪んだブロックの数を用いて局所的強度カウンタを更新するステップとをさらに含む、請求項１〜５のいずれかに記載の方法。
【請求項７】
現在のフレームにおける前の２つのブロックが歪んでいる場合、前のブロックを補正するステップをさらに含む、請求項６に記載の方法。
【請求項８】
ビデオのフレーム用の強度補正を提供するための回路を有する集積回路であって、
ビデオに関連するデータのフレームを受信するよう結合されたバッファと、
バッファに結合されたプロセッサとを含み、プロセッサはビデオのフレームの一部を分析し、現在のフレームの補正された部分と前のフレームの対応する部分との強度の差が予め定められたしきい値よりも大きく、見かけ利得係数が予め定められた範囲外にある場合、プロセッサは局所的強度補正を用いてフレームの各ブロックを補正し、前記集積回路はさらに、
プロセッサに結合されたメモリを含み、メモリは、プロセッサによって生成されたフレーム用の補正された強度係数を受信する、集積回路。
【請求項９】
現在のフレームの補正された部分と前のフレームの対応する部分とは、現在のフレームの上から５行と前のフレームの上から５行とを含む、請求項８に記載の集積回路。
【請求項１０】
フレームの現在のブロックと前のフレームの対応するブロックとの強度の差が予め定められたしきい値よりも小さい場合、または見かけ利得係数が予め定められた範囲内にある場合、プロセッサは、
見かけ利得係数を用いてフレームの現在のブロックを補正し、
見かけ利得係数を用いてフレームの現在のブロックを補正した後で、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差を判断し、
局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断することにより、
フレームの現在のブロックを補正する、請求項８または９に記載の集積回路。
【請求項１１】
プロセッサは、見かけ利得係数を用いてフレームの現在のブロックを補正した後の、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差が、第２の予め定められたしきい値を超えているかどうかを判断することにより、局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断する、請求項１０に記載の集積回路。
【請求項１２】
プロセッサは、見かけ利得係数が予め定められた範囲内にあるかどうかを判断することにより、局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断する、請求項１１に記載の集積回路。
【請求項１３】
プロセッサはさらに、前の２つのブロックが歪んでいるかどうかを判断し、前の２つのブロックが歪んでいない場合、歪んだブロックの数を用いて局所的強度カウンタを更新し、現在のフレームにおける前の２つのブロックが歪んでいる場合、前のブロックを補正する、請求項８〜１２のいずれかに記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
この発明は一般に集積回路に関し、特にビデオ用の強度補正を提供する方法に関する。
【背景技術】
【０００２】
発明の背景
ビデオ監視市場では、ここ数年にわたり、価格の低下およびカメラ技術の向上に応えて需要が増大してきた。デジタル記録デバイスおよびビデオ解析が可能な新しい計算プラットホームの能力向上も、需要の増大に寄与してきた。ビデオ監視システムの用途は、侵入防止から、既知の閉鎖された環境、または空中監視用途といった未知の動的環境の双方における活動のモニタリングおよび追跡に及んでいる。さらに、より良好なビデオ解像度に対する要求が、ビデオ監視のために高品位（high definition：ＨＤ）レートを使用することに対する関心を引起した。
【０００３】
集積回路は、監視機器を含む電子デバイスの不可欠な部分である。ビデオ監視ネットワークといった電子デバイスの動作を可能にするために、さまざまな集積回路が共に使用されることが多い。集積回路は通常、ある特定の用途のために設計されるが、コンフィギュラブルロジックを有する集積回路もある。たとえば、特定用途向け集積回路（application specific integrated circuit：ＡＳＩＣ）は、コンフィギュラブルロジックを含む部分を有し得る。コンフィギュラブルロジックを有する別の種類の集積回路は、プログラマブルロジックデバイス（programmable logic device：ＰＬＤ）である。プログラマブルロジックデバイスは、ユーザらが自分達で選択したロジック設計を実現できるよう、ユーザによってプログラミング可能となるよう設計されている。プログラマブルロジックデバイスの一種が、コンプレックスプログラマブルロジックデバイス（Complex Programmable Logic Device：ＣＰＬＤ）である。ＣＰＬＤは、共に接続され、かつ相互接続スイッチマトリックスによって入力／出力（Ｉ／Ｏ）リソースに接続された２レベルＡＮＤ／ＯＲ構造を有する２つ以上の「機能ブロック」を含む。別の種類のプログラマブルロジックデバイスは、フィールドプログラマブルゲートアレイ（field programmable gate array：ＦＰＧＡ）である。典型的なＦＰＧＡでは、コンフィギュラブルロジックブロック（configurable logic block：ＣＬＢ）のアレイが、プログラマブル入力／出力ブロック（input/output block：ＩＯＢ）に結合されている。ＣＬＢとＩＯＢとは、プログラマブルルーティングリソースの階層によって相互接続されている。これら双方の種類のプログラマブルロジックデバイスについては、デバイスの機能性は、その目的のためにデバイスに提供されたコンフィギュレーションビットストリームのコンフィギュレーションデータビットによって制御される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
どの電子システムでも同様に、システムの品質を高め、コストを下げる要望は常に存在する。ビデオデータを取込むシステムは、どの種類の集積回路を用いても使用され得るが、画像品質および処理すべきデータの量は、顧客の要望を満たすシステムの実現において重大な問題をもたらす。
【課題を解決するための手段】
【０００５】
発明の概要
ビデオのフレーム用の強度補正を提供する方法の一実施例が開示される。この方法は、ビデオのフレームの一部を評価するステップと、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差を判断するステップと、第１の組のパラメータが満たされている場合、局所的強度補正を用いてフレームの全ブロックを補正するステップと、第１の組のパラメータが満たされていない場合、全体的強度補正および局所的強度補正の双方を用いてフレームの現在のブロックを補正するステップとを含み得る。第１の組のパラメータが満たされている場合、局所的強度補正を用いてフレームの全ブロックを補正するステップは、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差が予め定められたしきい値を超えているかどうか、および、全体的利得係数が予め定められた範囲外にあるかどうかを判断するステップを含み得る。全体的強度補正および局所的強度補正の双方を用いてフレームの現在のブロックを補正するステップは、全体的利得係数を用いてフレームの現在のブロックを補正するステップと、全体的利得係数を用いてフレームの現在のブロックを補正した後で、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差を判断するステップと、局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断するステップとを含む。
【０００６】
この実施例では、局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断するステップは、全体的利得係数を用いてフレームの現在のブロックを補正した後の、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差が、第２の予め定められたしきい値を超えているかどうかを判断するステップを含み得る。局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断するステップは、全体的利得係数が予め定められた範囲外にあるかどうかを判断するステップを含み得る。この方法のこの実施例は、前の２つのブロックが歪んでいるかどうかを判断するステップと、前の２つのブロックが歪んでいない場合、歪んだブロックの数を用いて局所的強度カウンタを更新するステップとをさらに含み得る。加えて、この方法のこの実施例は、現在のフレームにおける前の２つのブロックが歪んでいる場合、前のブロックを補正するステップをさらに含み得る。
【０００７】
代替的な実施例によれば、ビデオのフレーム用の強度補正を提供する方法は、ビデオのフレームの一部を評価するステップと、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差を判断するステップと、フレームの補正された現在のブロックと前のフレームの対応するブロックとの強度の差が予め定められたしきい値よりも小さい場合、または全体的利得係数が予め定められた範囲内にある場合、全体的利得係数を用いてフレームの現在のブロックを補正するステップと、全体的利得係数を用いてフレームの現在のブロックを補正した後で、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差を判断するステップと、局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断するステップとを含む。フレームの現在のブロックと前のフレームの対応するブロックとの強度の差が第２の予め定められたしきい値を超えており、全体的利得係数が予め定められた範囲外にある場合、フレームの各ブロックに対して局所的強度補正がブロック毎に行なわれてもよい。
【０００８】
この方法のこの実施例は、全体的利得係数を推定するステップと、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差を判断する前に、全体的利得係数を用いてフレームの一部を補正するステップとをさらに含み得る。この実施例では、局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断するステップは、全体的利得係数を用いてフレームの現在のブロックを第２の予め定められたしきい値に補正した後で、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差を比較するステップと、全体的利得係数が予め定められた範囲外にあるかどうかを判断するステップとを含み得る。この方法のこの実施例は、全体的利得係数を用いてフレームの現在のブロックを補正した後の、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差が、第２の予め定められたしきい値を超えたかどうかを判断するステップと、全体的利得係数が予め定められた範囲内にあるかどうかを判断するステップとをさらに含み得る。この実施例は、前の２つのブロックが歪んでいるかどうかを判断するステップと、前の２つのブロックが歪んでいない場合、歪んだブロックの数を用いて局所的強度カウンタを更新するステップとをさらに含み得る。加えて、この実施例は、現在のフレームにおける前の２つのブロックが歪んでいる場合、前のブロックを補正するステップをさらに含み得る。
【０００９】
ビデオのフレーム用の強度補正を提供するための回路を有する集積回路の一実施例も開示される。この集積回路は、ビデオに関連するデータのフレームを受信するよう結合されたバッファと、バッファに結合されたプロセッサとを含み、プロセッサはビデオのフレームの一部を分析し、フレームの補正された部分と前のフレームの対応する部分との強度の差が予め定められたしきい値よりも大きく、全体的利得係数が予め定められた範囲外にある場合、プロセッサは局所的強度補正を用いてフレームのブロックのすべてを補正し、前記集積回路はさらに、プロセッサに結合されたメモリを含み、メモリは、プロセッサによって生成されたフレーム用の補正された強度係数を受信する。
【００１０】
この実施例では、現在のフレームの補正された部分と前のフレームの対応する部分とは、現在のフレームの上から５行と前のフレームの上から５行とを含み得る。フレームの現在のブロックと前のフレームの対応するブロックとの強度の差が予め定められたしきい値よりも小さい場合、または全体的利得係数が予め定められた範囲内にある場合、プロセッサは、（１）全体的利得係数を用いてフレームの現在のブロックを補正し、（２）全体的利得係数を用いてフレームの現在のブロックを補正した後で、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差を判断し、（３）局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断することにより、フレームの現在のブロックを補正できる。プロセッサは、全体的利得係数を用いてフレームの現在のブロックを補正した後の、フレームの現在のブロックと前のフレームの対応するブロックとの強度の差が、第２の予め定められたしきい値を超えているかどうかを判断することにより、局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断できる。プロセッサは、全体的利得係数が予め定められた範囲外にあるかどうかを判断することにより、局所的強度補正を用いてフレームの現在のブロックを補正するかどうかを判断できる。プロセッサはさらに、前の２つのブロックが歪んでいるかどうかを判断し、前の２つのブロックが歪んでいない場合、歪んだブロックの数を用いて局所的強度カウンタを更新し、現在のフレームにおける前の２つのブロックが歪んでいる場合、前のブロックを補正することができる。
【図面の簡単な説明】
【００１１】
【図１】この発明の一実施例に従った監視システムのブロック図である。
【図２】この発明の一実施例に従った、ビデオ画像の画素用のパラメータを受信するためのメモリに結合された集積回路のブロック図である。
【図３】この発明の一実施例に従った、フレームの画像強度を補正するためのフォーマットを選択するための回路のブロック図である。
【図４】この発明の一実施例に従った全体的強度補正を示すブロック図である。
【図５】この発明の一実施例に従った、フレーム用の強度値の更新を示すブロック図である。
【図６】この発明の一実施例に従った、ビデオ画像用の強度補正を提供する方法を示すフローチャートである。
【図７】この発明の一実施例に従った、全体的および局所的強度補正を提供するための回路のブロック図である。
【図８】この発明の一実施例に従った、図１〜７の回路を実現するためのプログラマブルロジックデバイスのブロック図である。
【図９】この発明の一実施例に従った、図８の回路のコンフィギュラブルロジック素子のブロック図である。
【発明を実施するための形態】
【００１２】
図面の詳細な説明
まず図１を参照すると、この発明の一実施例に従った監視システムのブロック図が示されている。図１に示すように、監視システム１００は、制御コンピュータ１０２に結合された複数の同様のカメラシステム１０１を含む。各カメラシステム１０１はカメラ１０３を含み、それは一般に入手可能であり、高品位テレビ（ＨＤＴＶ）規格などの予め規定された規格に従ってビデオ画像を生成し得る。カメラは、カメラシステムのデータ処理ブロック１０４に結合されており、それは、プログラマブルロジックを有する集積回路１０６と、プロセッサ１０８とを含んでいてもよい。以下により詳細に説明するように、プロセッサは、プログラマブルロジックを有する集積回路に組込まれていてもよい。
【００１３】
画像調整ブロック１１０はカメラと連携して、必要に応じて非インターレースを行ない、必要に応じて入力データレートのアップ／ダウンコンバートを行ない、また、画像安定化およびフレーム間整列のために全体的な動き補償を行なう。また、これに代えて、カメラが画像調整ブロックの機能を提供してもよい。強度補正ブロック１１２は、環境およびカメラの自己調節機能の双方によって生じる光の変化に自動的に適応し、フレーム間の円滑な強度遷移を維持する。背景推定ブロック１１４は、ごちゃごちゃした物体および動く物体の存在下で背景を判断し、以下により詳細に説明するように動く物体を検出するために、きれいな前景のセグメント化を可能にする。背景推定ブロック１１４は、背景の推定を生成する。影除去ブロック１１６は、影が前景として検出されることを防止し、一方、物体追跡ブロック１１８は、検出された物体の動きがフレーム間で追跡されるようにする。すなわち、追跡される物体は、物体に関連する画素の経時変化によって識別されてもよく、ここで、その変化は、動く物体と見なすための予め定められた基準を満たしている。物体追跡情報を生成するために、背景と物体に関連する影とが除去される。エンコーダ１２０はビデオストリームを圧縮し、その後ビデオストリームはネットワークチャネルに送られる。制御コンピュータは次に、対象となる物体を、改良された解像度で、長い期間にわたってより容易に識別するために、解凍されたビデオ信号と共に物体追跡情報を用いてもよい。
【００１４】
物体追跡情報などの低帯域幅分類情報は、分類ブロック１２２で生成され、メタデータと共にメタデータバッファ１２４に格納されてもよい。メタデータは、たとえば、ビデオを撮った日付と、レンズ、焦点距離、絞り、シャッタタイミング、ホワイトバランスといったカメラ設定の詳細とを含んでいてもよい。プロセッサ１０８はまた、エンフォーサ１２８に応答してカメラ制御機能１２６を提供してもよい。ネットワークインターフェイス１３０は、ネットワーク通信リンク１２９に、符号化されたビデオデータ、メタデータ、およびカメラ制御情報を提供する。制御コンピュータ１０２は、各カメラシステム１０１用のネットワークインターフェイス１３０からデータを受信するために、ネットワーク通信リンク１２９に結合されている。制御コンピュータは、１つ以上のカメラシステムのために画像を表示するためのモニタを有する任意の種類の汎用コンピュータであってもよい。通信リンク１２９は、任意の種類の、電気通信ネットワークなどの有線または無線通信ネットワーク、もしくはローカルエリアネットワーク（local area network：ＬＡＮ）または広域ネットワーク（wide area network：ＷＡＮ）などのデータネットワークの一部であってもよい。低帯域幅機能は、集積回路の外部のプロセッサに帰属させてもよく、それは、たとえば、プログラマブルロジックを有する集積回路、またはプログラマブルロジックを有する集積回路の埋込まれたプロセッサコア、たとえば埋込まれたプロセッサコアを有するＦＰＧＡであってもよい。データ処理ブロック１０４はカメラから離れて図示されているが、データ処理ブロックの一部または全体がカメラに組込まれていてもよい。同様に、制御コンピュータ１０２はカメラシステムから離れて図示されているが、制御コンピュータは１つ以上のカメラシステムに組込まれていてもよい。
【００１５】
監視システムのカメラシステムと共にデータ処理ブロック１０４を採用することにより、低コストの監視システムが実現される。しかしながら、有益な物体追跡情報を提供するには、強度補正、背景推定、および影除去を行なわなければならない。各カメラについて強度補正および背景推定などの高処理帯域幅機能を実現することにより、物体追跡を提供するために処理集中型機能が制御コンピュータから遠隔で実現されてもよく、ここで、ビデオ画像および物体追跡情報を表わす圧縮されたデータが、制御コンピュータに提供される。
【００１６】
ここで図２を参照すると、この発明の一実施例に従った、ビデオ画像の画素用のパラメータを受信するためのメモリに結合された集積回路のブロック図が示されている。集積回路２０２は、強度補正ブロックと、背景推定および減算ブロックとの双方を提供するハードウェアアクセラレータを含む。特に、集積回路２０２は、集積回路２０２が生成したデータを格納するためのオフチップメモリ２０４に結合されてもよい。画像調整回路１１０といった画像調整回路の出力を受信するために、画素バッファ２０６が結合される。画素バッファの出力は、全体的および局所的強度補正ブロック２０８に結合される。全体的および局所的強度補正ブロック２０８の出力か、または夜間コントラスト強化ブロック２１０によって処理されたデータのいずれかが、マルチプレクサ２１１によって選択され、適応背景推定および減算ブロック２１２に結合される。以下により詳細に説明するように、図２の回路は、フレームを格納する必要なく、ＨＤシーケンスに対してビデオセグメント化を行ない、したがって、外部メモリ帯域幅の点で効率的な回路を提供する。この回路はまた、集積回路上の所要面積の点で小さく、監視市場において広範に使用され得る。
【００１７】
人間の目の受容体は、波長が４００ｎｍ〜７００ｎｍの光しか検出できない。これらの受容体は錐体と呼ばれ、赤色光用のもの、緑色光用のもの、および青色光用のものを含む３つの異なる種類がある。ある単一波長の光が観察されると、これら３つの受容体の相対感度により、いわゆる光の色が識別される。この現象は極めて有用である。なぜなら、それにより、たった３つの異なる波長からの光をさまざまな比率で一緒に加えるだけで、さまざまな色が生成できるためである。加法混色として知られるこのプロセスはカラーテレビシステムで利用されており、ここでは、結果として生じる表示すべき画像が、表示すべき画像素子または画素のアレイへと分解される。
【００１８】
一般に、各画素は、ある比率の赤、緑または青い色を表示する。赤、青および緑での画像の表示は通常、ＲＢＧと呼ばれている。しかしながら、これらのＲＢＧ色成分の送信または格納はかなりの帯域幅を必要とし、集積回路は、高品位テレビ（ＨＤＴＶ）画像における大量のデータなどのデータをなかなか処理できない場合がある。したがって、表示すべき画像の帯域幅を減少させるために、輝度および色差の符号化がしばしば使用される。たとえば、ＹＵＶフォーマットは、明るさに関連する輝度成分（ルーマ（Luma）としても公知）を表わすＹ部分と、色に関連する彩度成分（クロマ（Chroma）１およびクロマ２としても公知）を表わすＵ部分およびＶ部分とを含む。帯域幅の減少に加えて、ＹＵＶフォーマットは、標準ＲＢＧフォーマットよりも忠実に、人間の色の認識をモデル化している。ＹＵＶ４２０は、４ルーマ（Ｙ）バイト毎に２つのクロマバイト（ＣｒとＣｂとが交互）があることを意味している。ＹＵＶフォーマットによって提供された減少した帯域幅を用いても、ＨＤＴＶフォーマットはかなりのデータ要件を有する。１つのＨＤＴＶフレームは１９２０×１０８０個の画素を有する場合があり、従来の標準品位ＴＶの帯域幅の６倍を使用する場合がある。したがって、背景画像として格納されるデータの量の減少が有益である。
【００１９】
図２に示すように、画像の背景部分に関連するパラメータを生成するために、全体的および局所的強度補正と、適応背景推定および減算とが実現される。ビデオは、フレームとしても公知の画像のシーケンスを含む。フレーム間の差に基づいた背景推定アルゴリズムは、さまざまな背景シーンを扱う際にエラーを起こしやすい。画素の時間的中央値フィルタリングを行なう方法は実質的なフレームバッファリングを必要とし、このためそれらは、極めて動的なシーンにとって魅力のないものとなる。画素のオンライン時間的平均値を得ることに基づいた適応背景方法は、フレームバッファリングをそれほど必要としないが、実際のシーンでは、１つの画素は時間とともに２つ以上の平均値を有する場合があり、ここで、各平均値はその画素の異なる背景モードを表わす。そのような画素はマルチモーダルであり、オンライン平均手法において単一の統計的表示を用いる際にそのようなものとして適正に特徴付けられない。マルチモーダル背景画像シーケンスをモデル化するために正規分布の混合を使用する適応方法が、使用されてもよい。各画素について、その背景混合における各正規分布は、その画素においてある特定の強度または色を観察する確率に対応している。これは、２つ以上の表面が画素の表示に現れることによって背景のごちゃごちゃが生成されるシーンと一致している。各表面は、表面の強度または色に等しい平均値と、表面の質感、照明の変動、またはカメラノイズによる差異とを有する正規分布によって表わされる。図３の回路によれば、全体的強度補正および局所的強度補正の双方を使用する強度補正を採用することによって、データ転送要件の減少も達成され得る。すなわち、局所的強度補正は処理集中型であるため、以下に述べる全体的および局所的強度補正を提供する方法は、画素用の強度値に対する更新要件も減少させ、したがって、データ送信に必要な帯域幅も減少させ得る。
【００２０】
【数１】
0005236085.tif 000002
【００２１】
ビデオ監視システムは、光の条件を十分制御している十分に制約された環境では、一般に良好に機能する。ビデオ監視と動く物体の検出および追跡とにおいて使用されるアルゴリズムの多くは一定の画像強度を仮定しているため、環境光の変化は、これらのアルゴリズムの性能に影響を与える場合がある。画像強度の変化は、全体的強度変化と局所的強度変化とに分類され得る。全体的強度変化とは、フレーム全体に均一に影響を与える、バランスのとれた変化である。たとえば、全体的強度変化は、灯りがスイッチオンまたはオフされることによる、もしくは雲が太陽の前を動くことによる照明の変化によって生じる場合がある。加えて、カメラは、そのデジタイザのダイナミックレンジに反射光を最適にマッピングするよう、技術の組合せを採用しており、画像強度を変更する場合がある。通常使用される技術は、視野における光の量に従って露光を設定するために使用される自動利得制御（Automatic Gain Control：ＡＧＣ）、あらゆる色の強度を補正するためにカメラの基準を「真の白」に適応させる自動ホワイトバランス、および、レンズを通過する光の量（すなわち露光）を制御するために使用される自動絞り制御である。暗い物体と明るい物体とを同時に有するシーンでは、ＡＧＣは、レベルを平均化しようとして明るくなり過ぎるかまたは暗くなり過ぎることにより、過大／過小に補償する場合がある。また、局所的強度変化は、フレームの領域にその残りよりも影響を与えるバランスの悪い変化をもたらす場合があり、カメラのフラッシュのように突然、短期間起こる場合がある。
【００２２】
画像強度は以下のようにモデル化され得る。
【００２３】
【数２】
0005236085.tif 000003
【００２４】
ここで、Ｉ（ｔ）は現在の画像強度、Ｉr（ｔ）は基準画像強度、ａ（ｔ）は見かけ利得係数、Ntotal（ｔ）はゼロ平均の総ノイズである。全体的強度変化は、式１に示すような見かけ利得係数を用いて補正され得る。
【００２５】
【数３】
0005236085.tif 000004
【００２６】
【数４】
0005236085.tif 000005
【００２７】
シーケンスの第１のフレームは、基準画像として使用されてもよい。シーンが変わると、シーケンスの第１のフレームを基準画像として使用することはあまり良好に機能しない場合があるため、基準画像を定期的に更新することが可能であり得る。たとえば、基準画像は、数フレーム毎に基準画像を選択することによって、または前のフレームを基準画像として使用することによって更新されてもよい。いずれの場合も、基準画像は、未補正の画像かまたは以前に補正された画像であってもよい。選択された基準画像が歪んでいた場合、未補正の画像は歪んだ出力をもたらす場合があり、一方、以前に補正された画像は、補正エラーを伝搬させる可能性がある。
【００２８】
式２のａ（ｔ）を計算する４つの式は、以下を含む。
【００２９】
【数５】
0005236085.tif 000006
【００３０】
【数６】
0005236085.tif 000007
【００３１】
局所的強度補正は、画像強度変化のより進化したモデルを必要とする。以下の式は、進化したモデルを提供する。
【００３２】
【数７】
0005236085.tif 000008
【００３３】
ここで、ｘおよびｙは個別の空間座標であり、ｔはフレーム数である。Ｙ（ｘ，ｙ，ｔ）およびＩ（ｘ，ｙ，ｔ）はそれぞれ、観察された画像強度および元の画像強度である。α（ｘ，ｙ，ｔ）およびβ（ｘ，ｙ，ｔ）はそれぞれ、乗算強度変化パラメータおよび加算強度変化パラメータである。
【００３４】
α（ｘ，ｙ，ｔ）およびβ（ｘ，ｙ，ｔ）が空間的に滑らかである場合、それらは局所的に一定であると仮定され得る。
【００３５】
【数８】
0005236085.tif 000009
【００３６】
そのため、各領域について、以下が成立する。
【００３７】
【数９】
0005236085.tif 000010
【００３８】
良好に近似させるために、静止領域については、以下が真である。
【００３９】
【数１０】
0005236085.tif 000011
【００４０】
そのため、画像は以下のように補正され得る。
【００４１】
【数１１】
0005236085.tif 000012
【００４２】
動きのある領域についてはより複雑な操作が必要とされるが、画像強度補正は通常、動きがない場合にフレームの一部を用いて行なわれる。
【００４３】
図４は、この発明の一実施例に従った全体的強度補正（global intensity correction：ＧＩＣ）を示すブロック図である。ＧＩＣブロックは、図４に示す補正段階と図５に示す更新段階という２つの段階を有する。補正段階は見かけ利得係数方法を用いて行なわれ、ここで、ａ（ｔ）値が次に、式６に示すような商の中央値の式を用いて計算され得る。参照用の全フレームおよび現在の画像を格納することを避けるために、現在の画像および基準画像の上から数行のみを使用して、現在のフレームＹ（ｔ）全体を補正するために使用される見かけ利得係数ａ（ｔ）を求める。一実施例によれば、フレームの上の部分は大抵、背景の部分であるため、上から数行を使用することは、ａ（ｔ）を求めるのに十分である。加えて、ａ（ｔ）を求めるのに式６の商の中央値の式を使用することは、異常値の除去なしでも良好な結果を与える。したがって、フレームの上の部分に動く物体がある場合でも、ａ（ｔ）を求める商の中央値の式は十分であり、ａ（ｔ）を求めるのにフレームの上の部分だけが依然として使用され得る。したがって、ａ（ｔ）を計算するのに、典型的には上から５行が使用され得る。
【００４４】
【数１２】
0005236085.tif 000013
【００４５】
ここで図５を参照すると、ブロック図は、この発明の一実施例に従った、フレーム用の強度値の更新を示している。補正段階の後、基準画像が更新される。以下の式に示すように、バッファ５０２に格納された現在のフレームの上から５行の平均値とバッファ５０４に格納された補正されたフレームの上から５行の平均値との絶対差が、しきい値Ｔｈ１と比較される。
【００４６】
【数１３】
0005236085.tif 000014
【００４７】
【数１４】
0005236085.tif 000015
【００４８】
ここで図６を参照すると、フローチャートは、この発明の一実施例に従った、ビデオ画像用の強度補正を提供する方法を示している。現在のフレームと前のフレームとの比較に依存して、全体的強度補正および局所的強度補正が行なわれる。ＧＩＣブロックは、前のフレームから学んだ知識を用いることによって現在のフレームを補正する。各フレームを十分に特徴付けるために、統計学的に静止した区域（statistically stationary area：ＳＳＡ）が使用される。多くのビデオにとって、ＳＳＡは、フレームの左、右および上の境界を縁取る帯状部分からなる、カメラによって取込まれた区域である。動きを有するフレームの部分は通常、フレームの中央を占めており、ＳＳＡの外部にある。したがって、ＳＳＡにおけるデータは動く物体の部分を含む可能性が低く、動く物体の発生は一時的であり、以下により詳細に説明するように効率的に扱われる。全体的強度補正ブロック３０２などのＧＩＣブロックは、現在のフレームの最初の５行をＳＳＡとして使用し、それは、フレーム間の背景画像の特徴を判断するのに十分である。ステップ６０２で、ＧＩＣブロックは、見かけ利得係数ａ（ｔ）を推定し、それを用いて現在のフレームの最初の５行を補正する。全体的利得係数を推定し、それを用いて最初の５行を補正するための回路は、図４および図５で説明されている。ステップ６０４で、以下の式に示すように、補正されたフレームおよび前のフレームの最初の５行の平均強度の絶対差が求められ、しきい値Ｔｈ２と比較される。
【００４９】
【数１５】
0005236085.tif 000016
【００５０】
Ｔｈ２の値はユーザによって定められる。小さい値のＴｈ２を用いると、小さい局所的強度変化を補正するために局所的強度補正をより頻繁に使用することになり、一方、大きい値のＴｈ２を用いると、大きな局所的強度変化があった場合にのみ局所的強度補正が実行されるようになる。
【００５１】
絶対差がＴｈ２よりも大きく、かつ見かけ利得係数が予め定められた範囲外にある（すなわち、ａ（ｔ）＞１．１またはａ（ｔ）＜０．９）場合、ＧＩＣブロックによって補正されなかった局所的強度変化が存在する。その場合、ステップ６０７で、元のフレームが、局所的強度ブロック３０４などのＬＩＣブロックを用いて補正され、ここで現在のフレームの全ブロックが補正されるであろう。すなわち、局所的強度変化を有するフレームは、８×８の画素サイズを有するブロックといった小さい矩形のブロックに分割される。各ブロックについて、補正パラメータαm, n（ｔ）およびβm, n（ｔ）が推定され、αm, n（ｔ）およびβm, n（ｔ）の値は画像強度を補正するために使用される。一実施例によれば、動きを取入れている領域を扱うのに、高度な操作は使用されない。強度補正プロセスの計算コストを減少させるために、局所的強度補正は、好ましくは、あらゆるフレームに対して適用されるわけではない。局所的強度補正はぼやけアーチファクトをフレームに生じさせる場合があるため、必要な場合以外、局所的強度補正を使用しないことが好ましい。動きのある領域ではいくつかのぼやけアーチファクトが認識される場合があるが、ぼやけアーチファクトは、適応背景推定および減算ブロックを含む、図２に示すような全体的および局所的強度補正ブロックの次のブロックの効率を悪化させることはない。
【００５２】
絶対差がＴｈ２よりも少なく、または見かけ利得係数が予め定められた範囲内にある（０．９＜ａ（ｔ）＜１．１）場合、フレームは小さいブロック（たとえば８×８個の画素）に分割される。すなわち、フレームは何行ものブロックに分割され、各ブロックは、見かけ利得係数ａ（ｔ）を用いて、およびおそらく局所的強度補正を用いて補正される。各ブロックを補正するかどうかの判断は、ブロック毎に行なわれる。ステップ６０８で、各ブロックは見かけ利得係数ａ（ｔ）を用いて補正され、ステップ６１０で、フレームの補正されたブロックと前のフレームの対応するブロックとの平均強度の絶対差が求められる。この絶対差は次に、ステップ６１２で、第２のしきい値（たとえば１０×Ｔｈ２）と比較される。現在のブロックの平均強度が前のフレームの対応するブロックよりもはるかに大きく、見かけ利得係数が予め定められた範囲外にある（すなわち、ａ（ｔ）＞１．１またはａ（ｔ）＜０．９）と判断された場合、ステップ６１４で、現在のブロックは局所的強度補正を用いて補正される。
【００５３】
現在のブロックの平均強度が前のフレームの対応するブロックよりもはるかに大きいか、または、見かけ利得係数が予め定められた範囲外にある（すなわち、ａ（ｔ）＞１．１またはａ（ｔ）＜０．９）と判断されなかった場合、ステップ６１６で、現在のブロックの平均強度が前のフレームの対応するブロックよりもはるかに大きく、見かけ利得係数が予め定められた範囲内にある（すなわち、０．９＜ａ（ｔ）＜１．１）かどうかが判断される。そうである場合、ステップ６１８で、前の２つのブロックが歪んでいるかどうかが判断される。前の２つのブロックが歪んでいない場合、ステップ６２０で、局所的強度カウンタが、歪んだブロックの数を用いて更新される。前の２つのブロックが歪んでいる場合、ステップ６２２で、現在のフレームにおける前のブロックが局所的強度補正を用いて補正される。次に、ステップ６２４で、ブロックの現在の行の最後に達しているかどうかが判断される。そうである場合、ステップ６２６で、現在のフレームにおける現在のブロックが局所的強度補正を用いて補正される。次に、ステップ６２８で、現在のフレームの最後に達していたかどうかが判断される。すなわち、各ブロックは、その前のブロックと次のブロックとが歪んでいれば補正されるため、行の最後のブロックは、前のブロックが歪んでいれば補正される。現在のフレームの最後ではない場合、ステップ６３０で、次のブロックを処理する必要があると判断され、ステップ６０８で、次のブロックが見かけ利得係数ａ（ｔ）を用いて補正される。フレームの最後に達した場合、ステップ６３２で、ビデオの最後のフレームに達したかどうかが判断される。ビデオの追加のフレームを処理すべき場合、ステップ６０２で、次のフレーム用のプロセスが再度始まる。
【００５４】
ここで図７を参照すると、この発明の一実施例に従った、全体的強度補正および局所的強度補正を提供するための回路のブロック図が示されている。全体的および局所的強度補正ブロック２０８への入力は、ラスター走査順序のＲＧＢフレームである。ＲＧＢフレームはＹＵＶフォーマットに変換され、色成分は４：２：０フォーマットにダウンサンプリングされて、ラインバッファ１および３に８行の画素を格納するためにメモリを節約する。すべての強度補正ステップは輝度成分のみを処理するが、次の段階にとって必要なＲＧＢフォーマットに画像を再変換するには、色成分を格納しなければならない。全体的および局所的強度補正ブロック２０８は、入力画素、出力画素、および基準画素を格納するために、３つのラインバッファを使用する。それは、局所的強度補正にとって必要な、現在のフレームからのブロックの現在の行および基準フレーム（すなわち、前のフレーム）からのブロックの対応する行の双方の平均値ならびに標準偏差を格納するために、２つのローカルメモリを有する。加えて、全体的強度補正用の前の３つのフレームの上から５行（輝度のみ）と、局所的強度補正用の基準フレームの８×８個のブロックの平均値および標準偏差とを格納するために、外部メモリが使用される。
【００５５】
特に、全体的および局所的強度補正回路２０８は、ＲＧＢ−ＹＵＶ変換器７０２でＲＧＢ画像を受信し、その画像をＹＵＶ画像に変換するよう結合されており、その出力は、マルチプレクサ７０４およびラインバッファ７０６に結合されている。マルチプレクサ７０４およびラインバッファ７０６の出力は、複数の除算器回路を有する算術演算ロジックブロック７０８に結合されている。マルチプレクサ７０４は、ＲＧＢ−ＹＵＶ変換器７０２かまたはラインバッファ７０６の出力を選択し、その出力は、ラインバッファ７１６を介して基準の５行も受信する除算器７１０に結合されている。すなわち、中央値回路７１４は、ラインバッファ７１６により、前の３つのフレーム４０２、４０４および４０６の上から５行の中央値を除算器回路７１０に結合している。算術演算ブロックの出力はラインバッファ７１８に結合され、その出力はＹＵＶ−ＲＧＢ変換器７２０に結合されている。マルチプレクサ７２２が、ラインバッファ７０６かまたはラインバッファ７１８の出力を受信し、値を外部メモリに提供するよう、結合されている。
【００５６】
算術演算ロジックブロック７３０も、算術演算ロジックブロック７０８の出力およびラインバッファ７１８の出力を受信するよう結合されている。以下により詳細に説明するように、上述のさまざまな計算を行なうために、除算器および累算器を有する算術演算ブロックが使用されてもよい。算術演算ロジックブロック７３０は第１の累算器７３２を含み、第１の標準偏差回路７３４は、ブロックの現在の行の平均値Ｅ［］および標準偏差値σ［］を格納するためのブロック７３５に結合されている。同様に、第２の累算器７３６および第２の標準偏差回路７３８は、マルチプレクサ７４２および７４４により、ブロックの基準行の平均値Ｅ［］および標準偏差値σ［］を格納するためのブロック７４６に結合されている。ブロック７４６の出力は乗算器７５０に結合されており、それは減算器７５２に出力を提供し、減算器７５２はブロック７３５の出力も受信するよう結合されている。減算器７５２の出力は減算器７５４に結合されており、それはラインバッファ７０６の出力も受信する。乗算器７５０は除算器ブロック７０８の出力を受信し、一方、ブロック７３５および７４６ならびに減算器７５４の出力が除算器７０８に結合されている。最後に、ブロック７３５またはブロック７４６の出力のうちの一方がマルチプレクサ７５６によって選択され、その出力はオフチップメモリ２０４に結合され得る。
【００５７】
【数１６】
0005236085.tif 000017
【００５８】
ここで図８を参照すると、この発明の一実施例に従った、図１〜７の回路を実現するためのプログラマブルロジックデバイスのブロック図が示されている。図８のデバイスは、マルチギガビット送受信機（multi-gigabit transceiver：ＭＧＴ８０１）と、コンフィギュラブルロジックブロック（ＣＬＢ８０２）と、ランダムアクセスメモリブロック（random access memory block：ＢＲＡＭ８０３）と、入力／出力ブロック（ＩＯＢ８０４）と、コンフィギュレーションおよびクロッキングロジック（ＣＯＮＦＩＧ／ＣＬＯＣＫＳ８０５）と、デジタル信号処理ブロック（digital signal processing：ＤＳＰ８０６）と、特化入力／出力ブロック（Ｉ／Ｏ８０７）（たとえば、コンフィギュレーションポートおよびクロックポート）と、デジタルクロックマネージャ、アナログ−デジタル変換器、システムモニタリングロジックなどのその他のプログラマブルロジック８０８とを含む、多数の異なるプログラマブルタイルを有するＦＰＧＡアーキテクチャ８００を含む。ＦＰＧＡの中には、専用プロセッサブロック（processor block：ＰＲＯＣ８１０）を含むものもある。図７のさまざまなメモリは、ＢＲＡＭで、またはＣＬＥの分散メモリで実現されてもよい。算術演算ロジックブロックはＤＳＰブロックで実現されてもよく、一方、制御ユニット７４０は専用プロセッサブロックで実現されてもよい。
【００５９】
一部のＦＰＧＡでは、各プログラマブルタイルは、隣接する各タイルの対応する相互接続素子との標準化接続を有するプログラマブル相互接続素子（interconnect element：ＩＮＴ８１１）を含む。したがって、これらのプログラマブル相互接続素子を合わせると、図示されたＦＰＧＡ用のプログラマブル相互接続構造が実現される。プログラマブル相互接続素子（ＩＮＴ８１１）はまた、図８の上部に含まれる例によって示されるように、同じタイル内のプログラマブルロジック素子との接続も含む。
【００６０】
たとえば、ＣＬＢ８０２は、ユーザロジックを実現するようプログラミングされ得るコンフィギュラブルロジック素子（configurable logic element：ＣＬＥ８１２）と、単一のプログラマブル相互接続素子（ＩＮＴ８１１）とを含んでいてもよい。ＢＲＡＭ８０３は、１つ以上のプログラマブル相互接続素子に加えて、ＢＲＡＭロジック素子（ＢＲＬ８１３）を含んでいてもよい。ＢＲＡＭは、コンフィギュレーションロジックブロックの分散されたＲＡＭから離れた専用メモリを含む。通常、１つのタイルに含まれる相互接続素子の数は、そのタイルの高さに依存する。図示された実施例では、ＢＲＡＭタイルは４つのＣＬＢと同じ高さであるが、他の数（たとえば５つ）も使用可能である。ＤＳＢタイル８０６は、適切な数のプログラマブル相互接続素子に加えて、ＤＳＰロジック素子（ＤＳＰＬ８１４）を含んでいてもよい。ＩＯＢ８０４は、１インスタンスのプログラマブル相互接続素子（ＩＮＴ８１１）に加えて、たとえば、２インスタンスの入力／出力ロジック素子（ＩＯＬ８１５）を含んでいてもよい。デバイスの接続の場所は、その目的のためにデバイスに設けられたコンフィギュレーションビットストリームのコンフィギュレーションデータビットによって制御される。以下により詳細に説明するように、プログラマブル相互接続は、コンフィギュレーションビットストリームのビットに応答して、プログラマブルロジックで実現された回路、もしくはＢＲＡＭなどの他の回路、またはプロセッサにさまざまな信号を結合するために、相互接続線を含む接続が使用されることを可能にする。
【００６１】
図示された実施例では、ダイの中央近くの列区域（図８に影付きで示す）が、コンフィギュレーション、クロック、および他の制御ロジック用に使用される。この列から延びる水平区域８０９は、ＦＰＧＡの幅にわたってクロックおよびコンフィギュレーション信号を分配するために使用される。図８に示すアーキテクチャを利用するＦＰＧＡの中には、ＦＰＧＡの大部分を構成する規則的な列構造を乱す追加のロジックブロックを含むものもある。追加のロジックブロックは、プログラマブルブロックおよび／または専用ロジックであってもよい。たとえば、図８に示すプロセッサブロックＰＲＯＣ８１０は、ＣＬＢおよびＢＲＡＭの数列分に及んでいる。
【００６２】
なお、図８は例示的なＦＰＧＡアーキテクチャを単に例示するよう意図されている。１列におけるロジックブロックの数、列の相対的な幅、列の数および順序、列に含まれるロジックブロックの種類、ロジックブロックの相対的なサイズ、および図８の上部に含まれる相互接続／ロジック実現化例は、単なる例示である。たとえば、実際のＦＰＧＡでは、ＣＬＢがどこに出現しても、ＣＬＢの２つ以上の隣接する列が通常含まれており、ユーザロジックの効率的な実現を容易にする。この発明の回路および方法は、図８のＰＬＤで、またはプログラマブルロジックを有する任意の種類の集積回路を含む任意の他の好適なデバイスで実現されてもよい。実際、ＦＰＧＡの使用を最大にする応用分野は、カメラのレベルで行なわれるビデオ解析にある。図１は、ともにネットワーク化されたＦＰＧＡを含むリンクされたカメラシステムの一例を示す。ＦＰＧＡはビデオ解析を行ない、それらのそれぞれのカメラを制御可能である。ＦＰＧＡは、高品位（ＨＤ）レートでのビデオ画像の生成を含む、ビデオ監視用のデータレートをサポートするために必要な帯域幅の増加から生じる課題に取組みのに、完全に適している。
【００６３】
ここで図９を参照すると、この発明の一実施例に従った、図８のデバイスのコンフィギュラブルロジック素子のブロック図が示されている。特に図９は、図８のコンフィギュレーションロジックブロック８０２のコンフィギュラブルロジック素子を簡略化された形で示している。図９の実施例では、スライスＭ１００１は４つのルックアップテーブル（ＬＵＴＭ）９０１Ａ〜９０１Ｄを含み、それらは各々６つのＬＵＴデータ入力端子Ａ１〜Ａ６、Ｂ１〜Ｂ６、Ｃ１〜Ｃ６、およびＤ１〜Ｄ６によって駆動され、各々２つのＬＵＴ出力信号Ｏ５およびＯ６を提供している。ＬＵＴ９０１Ａ〜９０１ＤからのＯ６出力端子は、スライス出力端子Ａ〜Ｄをそれぞれ駆動する。ＬＵＴデータ入力信号は、入力マルチプレクサを介して、ＦＰＧＡ相互接続構造によって供給され、ＬＵＴ出力信号も相互接続構造に供給される。スライスＭはまた、出力端子ＡＭＵＸ〜ＤＭＵＸを駆動する出力選択マルチプレクサ９１１Ａ〜９１１Ｄと、メモリ素子９０２Ａ〜９０２Ｄのデータ入力端子を駆動するマルチプレクサ９１２Ａ〜９１２Ｄと、組合せマルチプレクサ９１６、９１８および９１９と、バウンスマルチプレクサ回路９２２〜９２３と、（ともに入力クロック経路に対してオプションの反転を提供する）インバータ９０５およびマルチプレクサ９０６によって表わされる回路と、マルチプレクサ９１４Ａ〜９１４Ｄ、９１５Ａ〜９１５Ｄ、９２０〜９２１、および排他的ＯＲゲート９１３Ａ〜９１３Ｄを含むキャリーロジックとを含む。これらの全素子は、図９に示すようにともに結合されている。図９に示すマルチプレクサについて選択入力が図示されていない場合、それらの選択入力はコンフィギュレーションメモリセルによって制御される。すなわち、コンフィギュレーションメモリセルに格納されたコンフィギュレーションビットストリームのコンフィギュレーションビットは、マルチプレクサへの正しい入力を選択するために、マルチプレクサの選択入力に結合される。周知であるこれらのコンフィギュレーションメモリセルは、分かりやすくするために、図９から、およびここにある他の選択された図面から省略されている。
【００６４】
図示された実施例では、各メモリ素子９０２Ａ〜９０２Ｄは、同期型または非同期型のフリップフロップもしくはラッチとして機能するようプログラミングされてもよい。同期型および非同期型の機能性の選択は、同期／非同期選択回路９０３をプログラミングすることにより、スライスのすべての４つのメモリ素子について行なわれる。Ｓ／Ｒ（セット／リセット）入力信号がセット機能を提供するようメモリ素子がプログラミングされると、ＲＥＶ入力端子はリセット機能を提供する。Ｓ／Ｒ入力信号がリセット機能を提供するようメモリ素子がプログラミングされると、ＲＥＶ入力端子はセット機能を提供する。メモリ素子９０２Ａ〜９０２Ｄはクロック信号ＣＫによってクロックされ、それは、全体的クロックネットワークによって、またはたとえば相互接続構造によって提供され得る。そのようなプログラマブルメモリ素子は、ＦＰＧＡ設計の分野で周知である。各メモリ素子９０２Ａ〜９０２Ｄは、登録された出力信号ＡＱ〜ＤＱを相互接続構造に提供する。各ＬＵＴ９０１Ａ〜９０１Ｄは２つの出力信号Ｏ５およびＯ６を提供するため、ＬＵＴは、共有された５つの入力信号（ＩＮ１〜ＩＮ５）を有する２つの５入力ＬＵＴとして、または入力信号ＩＮ１〜ＩＮ６を有する１つの６入力ＬＵＴとして構成されてもよい。
【００６５】
図９の実施例では、各ＬＵＴＭ９０１Ａ〜９０１Ｄは、いくつかのモードのうちのいずれかで機能し得る。ルックアップテーブルモードの場合、各ＬＵＴは、入力マルチプレクサを介してＦＰＧＡ相互接続構造によって供給される６つのデータ入力信号ＩＮ１〜ＩＮ６を有する。信号ＩＮ１〜ＩＮ６の値に基づいて、コンフィギュレーションメモリセルから、６４個のデータ値のうちの１つがプログラム可能に選択される。ＲＡＭモードの場合、各ＬＵＴは、単一の６４ビットＲＡＭとして、または共有アドレシングを有する２つの３２ビットＲＡＭとして機能する。ＲＡＭ書込データは、入力端子ＤＩ１を介して（ＬＵＴ９０１Ａ〜９０１Ｃについてはマルチプレクサ９１７Ａ〜９１７Ｃを介して）６４ビットＲＡＭに供給され、または入力端子ＤＩ１およびＤＩ２を介して２つの３２ビットＲＡＭに供給される。ＬＵＴ  ＲＡＭでのＲＡＭ書込動作は、マルチプレクサ９０６からのクロック信号ＣＫによって、およびマルチプレクサ９０７からの書込イネーブル信号ＷＥＮによって制御され、マルチプレクサ９０７は、クロックイネーブル信号ＣＥか書込イネーブル信号ＷＥのいずれかを選択的に通過させ得る。シフトレジスタモードでは、各ＬＵＴは、２つの１６ビットシフトレジスタとして、またはその２つの１６ビットシフトレジスタが単一の３２ビットシフトレジスタを作り出すよう直列結合された状態で機能する。入力端子ＤＩ１およびＤＩ２の一方または双方を介して、シフトイン信号が提供される。ＬＵＴ出力端子を通して、１６ビットおよび３２ビットシフトアウト信号が提供されてもよく、３２ビットシフトアウト信号はまた、ＬＵＴ出力端子ＭＣ３１を介してより直接的に提供されてもよい。ＬＵＴ９１０Ａの３２ビットシフトアウト信号ＭＣ３１はまた、出力選択マルチプレクサ９１１ＤおよびＣＬＥ出力端子ＤＭＵＸを介して、シフトレジスタ連鎖のために相互接続構造全体に提供されてもよい。この発明のプログラマブルロジックおよび方法を有するデバイスは、図８および図９のデバイスに従って、またはプログラマブルロジックを有する任意の種類の集積回路を含む任意のデバイスで実現されてもよい。
【００６６】
回路は、ザイリンクス  インコーポレイテッド（Xilinx, Inc.）から入手可能なバーテックス（Virtex）４  ＦＰＧＡなどのプログラマブルロジックデバイスで効果的に実現されてもよい。リソースは、１９２０×１０８０のフレームサイズおよび３０フレーム／秒のフレームレートで推定されてもよい。推定されたリソースは、各々１０個のブロックＲＡＭを用いたラインバッファ７０６および７１８を含む。ラインバッファ７１６は、５個のブロックＲＡＭと、平均値および標準偏差値を格納するためのメモリ７３５および７４６などの２つのメモリ用の１個のブロックＲＡＭとを使用し、合計２６個のブロックＲＡＭになる。前の３つの画像の上から５行、ならびに前の画像の８×８個のブロックの平均値および標準偏差のための外部メモリサイズおよび帯域幅が、外部メモリに格納され、新しい画像毎に更新される。したがって、必要とされる外部メモリサイズはおよそ、１９２０×５×３×８ビット＋（（１９２０×１０８０）／（８×８））×３２ビット＝１，２６７，２００ビット≒１．３Ｍビットである。新しい各画像について、外部メモリのデータが読出され、更新される。最も古い前の画像の上から５行に、前述のような元の現在の画像または補正された画像からの新しい上から５行が上書きされる。したがって、１秒当たりに読出される総データはおよそ、（１９２０×５×３×８ビット＋（（１９２０×１０８０）／（８×８））×３２ビット）×３０＝３８，０１６，０００ビット／ｓである。１秒当たりに書込まれる総データはおよそ、（１９２０×５×１×８ビット＋（（１９２０×１０８０）／（８×８））×３２ビット）×３０＝３３，４０８，０００ビット／ｓである。最後に、総外部メモリ帯域幅は７１，４２４，０００≒７２Ｍビット／ｓである。
【００６７】
したがって、ビデオ画像用の強度補正を提供する新しく新規の集積回路および方法が説明されてきたことが理解され得る。開示された発明を取入れている多くの代替例および均等物が存在すると見られることは、当業者には理解されるであろう。その結果、この発明は、前述の実施例によって限定されるものではなく、添付された請求項によってのみ限定されるものである。
【図１】
0005236085.tif 000018
【図２】
0005236085.tif 000019
【図３】
0005236085.tif 000020
【図４】
0005236085.tif 000021
【図５】
0005236085.tif 000022
【図６】
0005236085.tif 000023
【図７】
0005236085.tif 000024
【図８】
0005236085.tif 000025
【図９】
0005236085.tif 000026