(57)【要約】【課題】内部論理回路を再構成可能なゲートアレイを用いた処理装置において、動作温度保証範囲の逸脱による動作の停止を有効に回避する。【解決手段】コンフィグレーション部２は、複数の設定データを格納するとともに、複数の設定データのいずれかに基づいて、ＦＰＧＡ１の回路構成を設定する。温度検出部３，４は、ＦＰＧＡ１の内外の温度Ｔ1，Ｔ2を検出する。制御部５は、内外の温度Ｔ1，Ｔ2に基づき、予め設定された複数の動作モードから動作モードを選択し、コンフィグレーション部２に対して、この選択された動作モードに対応する設定データの適用を指示する。【選択図】図１
2008269302.tif 000002
【特許請求の範囲】
【請求項１】
処理装置において、
内部論理回路を再構成可能なゲートアレイと、
前記ゲートアレイの回路構成を設定する複数の設定データを格納するとともに、前記複数の設定データのいずれかに基づいて、前記ゲートアレイの回路構成を設定するコンフィグレーション部と、
前記ゲートアレイの内部における内部温度を検出する内部温度検出部と、
前記ゲートアレイの外部における外部温度を検出する外部温度検出部と、
前記内部温度と、前記外部温度とに基づき、予め設定された複数の動作モードから動作モードを選択し、前記コンフィグレーション部に対して、当該選択された動作モードに対応する前記設定データの適用を指示する制御部と
を有することを特徴とする処理装置。
【請求項２】
前記コンフィグレーション部は、前記ゲートアレイに所定の処理を実行させる第１の動作モード用の設定データと、前記第１の動作モードと同一の処理目的を前記第１の動作モード時よりも少ない処理負荷で実行する第２の動作モード用の設定データとを格納することを特徴とする請求項１に記載された処理装置。
【請求項３】
前記制御部は、前記内部温度が同一の条件下では、前記外部温度が前記ゲートアレイの動作を停止させる限界値に近づくに従い、前記第２の動作モードを優先的に選択するとともに、前記外部温度が同一の条件下では、前記内部温度が前記ゲートアレイの動作を停止させる限界値に近づくに従い、前記第２の動作モードを優先的に選択することを特徴とする請求項２に記載された処理装置。
【請求項４】
前記ゲートアレイは、画像中のブロックの相関先を探索する画像処理回路として機能し、
前記第２の動作モード時における前記ブロックのサイズは、前記第１の動作モード時における前記ブロックのサイズよりも大きいことを特徴とする請求項２または３に記載された処理装置。
【請求項５】
前記第２の動作モード時における動作サイクルは、前記第１の動作モード時における動作サイクルよりも長いことを特徴とする請求項２から４のいずれかに記載された処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部論理回路を再構成可能なゲートアレイを用いた処理装置に関する。
【背景技術】
【０００２】
内部論理回路を再構成可能なゲートアレイの一つとして、ＦＰＧＡ（Field Programmable Gate Array）と呼ばれる装置が広く知られている。ＦＰＧＡを用いて、膨大な演算を必要とする画像処理をリアルタイムで実行する場合には、動作クロックを高速化するといった対応が必要になるが、その配線の複雑さ等に起因した発熱が問題になる。ＦＰＧＡの内部温度が発熱によって上昇し、正常動作を保証する動作温度保証範囲を超えてしまうと、正常動作が保証されないばかりか、最悪の場合にはＦＰＧＡの破壊を招く。そこで、例えば特許文献１に開示されているように、ＦＰＧＡの内部温度を検出し、検出された温度が動作温度保証範囲から外れる場合には、ＦＰＧＡの動作を停止させるといった手法が従来より知られている。
【０００３】
【特許文献１】特開平１１−１６１５１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、自動車に搭載される電子部品には、過酷な外温状況下でも使用に耐え得ることが要求される。炎天下または極寒下で放置された自動車の車内温度を考えてみれば、その過酷さは容易に理解できるであろう。このような使用環境では、上述した従来技術のように、ＦＰＧＡの動作・停止の判断を内部温度のみに依存することは好ましくない。また、ＦＰＧＡの停止によって、これが組み込まれた車載システム全体が停止（フェィル）してしまうといった状況の発生は、車載システムとして要求される信頼性に鑑みても、極力避けるべきである。しかしながら、外部温度（雰囲気温度）が高い状況下でＦＰＧＡをフル稼働させた場合、自己の発熱によって動作温度保証範囲を容易に超えてしまい、結果的に、システム自体が停止してしまうといった事態を招きやすい。
【０００５】
そこで、本発明の目的は、内部論理回路を再構成可能なゲートアレイを用いた処理装置において、動作温度保証範囲の逸脱による動作の停止を有効に回避することである。
【課題を解決するための手段】
【０００６】
かかる課題を解決するために、本発明は、内部論理回路を再構成可能なゲートアレイと、ゲートアレイの回路構成を設定する複数の設定データを格納するとともに、複数の設定データのいずれかに基づいて、ゲートアレイの回路構成を設定するコンフィグレーション部と、ゲートアレイの内部における内部温度を検出する内部温度検出部と、ゲートアレイの外部における外部温度を検出する外部温度検出部と、内部温度と、外部温度とに基づき、予め設定された複数の動作モードから動作モードを選択し、コンフィグレーション部に対して、この選択された動作モードに対応する設定データの適用を指示する制御部とを有する処理装置を提供する。
【０００７】
ここで、本発明において、コンフィグレーション部は、ゲートアレイに所定の処理を実行させる第１の動作モード用の設定データと、第１の動作モードと同一の処理目的を第１の動作モード時よりも少ない処理負荷で実行する第２の動作モード用の設定データとを格納することが好ましい。この場合、制御部は、内部温度が同一の条件下では、外部温度がゲートアレイの動作を停止させる限界値に近づくに従い、第２の動作モードを優先的に選択するとともに、外部温度が同一の条件下では、内部温度がゲートアレイの動作を停止させる限界値に近づくに従い、第２の動作モードを優先的に選択することが望ましい。
【０００８】
また、本発明において、ゲートアレイを、画像中のブロックの相関先を探索する画像処理回路として用いてもよい。この場合、第２の動作モード時におけるブロックのサイズは、第１の動作モード時におけるブロックのサイズよりも大きいことが好ましい。また、第２の動作モード時における動作サイクルは、第１の動作モード時における動作サイクルよりも長いことが好ましい。
【発明の効果】
【０００９】
本発明によれば、内部温度のみならず外部温度も考慮し、これらの温度に応じてゲートアレイの動作モードを選択することで、ゲートアレイをきめ細かく制御する。このような制御を通じて、動作温度保証範囲の逸脱による動作の停止を極力回避することができる。
【発明を実施するための最良の形態】
【００１０】
（第１の実施形態）
図１は、本実施形態にかかる処理装置の構成図である。この処理装置は、内部論理回路を再構成可能なゲートアレイの一つであるＦＰＧＡ１を主体とし、これに、コンフィグレーション部２と、内部温度検出部３と、外部温度検出部４と、制御部５とを加えた構成を有している。
【００１１】
本実施形態において、ＦＰＧＡ１は、例えば、本願出願人による特開２００６−７２４８０号公報に開示されたステレオ画像処理装置の一部、具体的には、一対の画像を用いてステレオマッチングを行う画像処理回路として機能する。ステレオマッチングについて概略的に説明すると、まず、一方の画像上の相関元となる所定サイズのブロックに対して、対応する検索範囲が他方の画像上に設定される。この範囲内において、相関先の候補となるブロックを１画素ずつ順次シフトさせながら、それぞれの相関先候補について、相関元との相関性が評価される（相関先の探索）。周知のように、両者の相関性は、内部に存在する画素値の輝度差絶対和や輝度差自乗和等によって評価でき、基本的に、その値の最も小さい相関先候補が相関先として決定される。そして、相関元を基準とした相関先の水平方向のズレ量（視差ｄ）が距離情報となる。測距対象物の三次元位置は、画像平面上の座標値と視差ｄとを入力とした座標変換によって一義的に算出される。
【００１２】
コンフィグレーション部２は、ＦＰＧＡ１の回路構成を設定する複数の設定データを格納する。また、コンフィグレーション部２は、複数の設定データのいずれかに基づいて、ＦＰＧＡ１の回路構成を設定する。なお、本実施形態では、ＦＰＧＡ１の内部論理回路を構成するための設定データとして、後述する通常モード用の通常モードプログラム２ａと、後述するセーフモード用のセーフモードプログラム２ｂとが予め用意されている。コンフィグレーション部２は、制御部５からの指示に基づいて、プログラム２ａ，２ｂのいずれかを選択的に適用し、これに規定された設定内容・設定手順に従って、ＦＰＧＡ１の再構成を行う。
【００１３】
内部温度検出部３は、ＦＰＧＡ１の内部の温度（回路素子の温度または表面温度）を内部温度Ｔ1として検出する。また、外部温度検出部４は、ＦＰＧＡ１の外部の温度（雰囲気温度または周辺温度）を外部温度Ｔ2として検出する。制御部５は、内部温度検出部３によって検出された内部温度Ｔ1と、外部温度検出部４によって検出された外部温度Ｔ2とに基づき、予め設定された複数の動作モードのいずれかを選択し、コンフィグレーション部２に対して、この選択された動作モードに対応する設定データの適用を指示する。
【００１４】
制御部５は、自己が備える動作モード設定テーブルを参照し、内外の温度Ｔ1，Ｔ2に対応した動作モードを選択する。図２は、動作モード設定テーブルの一例を示す図である。動作モードは、通常モードと、セーフモードと、停止モードの３つがあり、入力値としての内外温度Ｔ1，Ｔ2に基づいて、いずれかが選択される。通常モードは、ＦＰＧＡ１の発熱や消費電力よりもパフォーマンス(処理速度）を優先したモードであり、一例として、ステレオマッチングのブロックサイズを４×４画素、ＦＰＧＡ１の動作サイクルを３３ｍｓとする。セーフモードは、パフォーマンスよりもＦＰＧＡ１の発熱等を優先したモードであり、一例として、ステレオマッチングのブロックサイズを８×８画素、ＦＰＧＡ１の動作サイクルを１００ｍｓ（１／３倍速）とする。また、停止モードは、ＦＰＧＡ１の動作を停止させるモードである。
【００１５】
通常モードおよびセーフモードは、共に同一の処理目的、すなわち、ステレオマッチングを実行するためのモードである。しかしながら、セーフモードは、通常モードと比較して、ブロックサイズが大きく、動作サイクルも長く設定されている。ブロックサイズを大きくすれば、１フレームの画像全体におけるブロックの個数、すなわち、処理単位の個数が少なくなるので、処理負荷が軽減される。また、動作サイクルを長くすれば、単位時間当たりの演算量が少なくなるので、演算負荷が軽減される。したがって、セーフモードは、通常モードよりも処理負荷が少ない。ＦＰＧＡ１の発熱量（処理負荷）は、通常モード＞セーフモード＞停止モードの順となる。
【００１６】
この動作モード設定テーブルによれば、通常モードの周囲を覆うように、セーフモードが設けられている。具体的には、内部温度Ｔ1が同一の条件下では、外部温度Ｔ2がＦＰＧＡ１の動作を停止させる限界値に近づくに従い、セーフモードが優先的に選択される。外部温度Ｔ2の限界値（上限値）は、ＦＰＧＡ１の動作温度保証範囲内において可変に設定されており、内部温度Ｔ1が低いほど、高くなるように設定されている。これにより、外部温度Ｔ2が上昇すると、通常モードからセーフモードに移行して、ＦＰＧＡ１の負荷が軽減され、発熱等が抑制される。その結果、停止モードに至るケースの発生が抑制されるので、ＦＰＧＡ１が継続的に動作する可能性を高めることができる。
【００１７】
また、外部温度Ｔ2が同一の条件下では、内部温度Ｔ1がＦＰＧＡ１の動作を停止させる限界値に近づくに従い、セーフモードが優先的に選択される。内部温度Ｔ1の限界値（下限値０°Ｃおよび上限値８５°Ｃ）は、ＦＰＧＡ１の動作温度保証範囲として固定的に設定されている。これにより、外部温度Ｔ2の場合と同様の理由で、ＦＰＧＡ１が継続的に動作する可能性を高めることができる。
【００１８】
図３は、ＦＰＧＡ１の動作タイミングチャートであり、動作モードの切り替えタイミングを示す。動作モードの選択は、内部温度Ｔ1と外部温度Ｔ2と基づいて、制御部５によって決定されるが、その切り替えは、動作モードの移行条件を満たしたタイミングで行われるのではなく、画像サンプリングおよび画像処理計算を行うフレーム期間と同期して行われる。例えば、同図のケースにおいて、ＦＰＧＡ１が通常モードで動作している２番目のフレームの途中で、通常モードからセーフモードに移行すべき状況が生じた場合、２番目のフレーム目の処理の終了を待って、３番目のフレーム以降で、ＦＰＧＡ１の再構成が行われる（その際、画像処理は一時的に中断する）。この場合、制御部５からの指示を受けたコンフィグレーション部２は、セーフモードに対応する設定データとして、セーフモードプログラム２ｂを読み出し、このプログラム２ｂに基づいて、ＦＰＧＡ１の再構成を実行する。そして、このようなコンフィグレーション処理の終了に続く次のフレームの開始タイミングから、ＦＰＧＡ１がセーフモードで動作する。フレームの途中で切り替えを行わない理由は、現在のフレームで実行されている画像処理を途中で中断すると、処理能力が低下するばかりか制御の複雑化をも招くので、それを避けるためである。なお、具体的なコンフィグレーション処理としては、通常モード用の回路とセーフモード用の回路をＦＰＧＡ１内に予め構成しておき、これらを切り替える手法も考えられるが、発熱や消費電力を考慮すると、プログラム２ａ，２ｂによってＦＰＧＡ１の回路を逐次書き換える手法の方が好ましい。
【００１９】
このように、本実施形態によれば、内部温度Ｔ1および外部温度Ｔ2の双方に基づいて、ＦＰＧＡ１の動作モードを選択し、選択された動作モードに対応した回路構成にＦＰＧＡ１を再構成した上で、ＦＰＧＡ１を動作させる。使用状況に応じて、ＦＰＧＡ１をきめ細かく制御することで、動作温度保証範囲の逸脱によって、ＦＰＧＡ１の動作が停止してしまうことを極力回避することができる。また、セーフモードを設けることで、ＦＰＧＡ１の消費電力の抑制を図ることができる他、ストレス（処理負荷）の緩和によるＦＰＧＡ１の寿命向上にも寄与する。
【００２０】
なお、上述した実施形態では、図３に示したように、コンフィグレーション処理中は、画像処理が中断するため、”フレーム落ち”（画像処理されないフレームが発生すること）が生じる。これを防止するためには、ＦＰＧＡ１として、１クロック毎に回路構成を組み替えることが可能な「ダイナミック・リコンフィギュラブル」タイプを用いることが好ましい。このタイプを用いれば、コンフィグレーション処理を極短時間（数クロック程度）に短縮できるので、画像処理を実質的な影響を与えることなく、コンフィグレーション処理を実行できる。
【００２１】
また、上述した実施形態において、セーフモードではブロックサイズの拡大および動作サイクルの長時間化の双方を採用しているが、処理負荷の軽減を図るという観点でいえば、いずれか一方のみであってもよい。また、セーフモードを複数設けることも可能である。
【００２２】
図４は、２種類のセーフモードＡ，Ｂを設けた場合における動作モード設定テーブルの一例を示す図である。ここで、セーフモードＡは、セーフモードＢよりも、より一層発熱等を優先したモードであり、一例として、以下のような内容になっている。
【００２３】
（セーフモードＡ）ブロックサイズ＝８×８  動作サイクル＝３３ｍｓ
（セーフモードＢ）ブロックサイズ＝８×８  動作サイクル＝１００ｍｓ
【００２４】
ＦＰＧＡ１の発熱量（処理負荷）は、通常モード＞セーフモードＢ＞セーフモードＡ＞停止モードの順となる。この動作モード設定テーブルによれば、通常モードの周囲を覆うように、セーフモードＢが設けられているとともに、このセーフモードＢの周囲を覆うように、セーフモードＡが設けられている。それ以外については図２と同様なので、ここでの説明を省略する。このような動作モード設定テーブルを用いて、ＦＰＧＡ１をよりきめ細かく制御することで、ＦＰＧＡ１の動作の停止を一層有効に回避することができる。
【００２５】
さらに、上述した実施形態では、内外の温度Ｔ1，Ｔ2に基づいて動作モードを設定しているが、これ以外のファクター（車速や画像の解析状況といった車両状態）を加味してもよい。一例として、省燃費走行スイッチを入力とし、これがオンの場合に、通常モードの設定範囲を縮小して、セーフモードの範囲を拡大する。これにより、ＦＰＧＡ１の消費電力が抑制され、スイッチの入力に意図した通りの燃費向上に繋がる。別の一例として、車速に応じて、視差算出のスキャン範囲を可変に設定する。高速道路での走行時では、近くの障害物を検出してもあまり意味がないので、このようなケースでは、ＦＰＧＡ１を再構成してスキャン範囲を狭くするといった如くである。また、別の一例として、ＡＣＣ（Adaptive Cruise Control：車間距離制御）の自動ブレーキ介入時のように、車両が危険な状態であると推測できる場合には、内外の温度Ｔ1，Ｔ2による動作モードの切り替えを禁止し、現在の動作モードを継続する。さらに、別の一例として、ＦＰＧＡ１が再構成される場合、通常モードからセーフモードに切り替わる際のコンフィグレーション期間において、車両などに装備されたエアコン等の冷却装置と連携してＦＰＧＡ１を冷却する。これにより、ＦＰＧＡ１の動作が継続する可能性を一層高めることができる。なお、上述した実施形態では、一対の画像に対するステレオマッチングを行う画像処理装置に適用しているが、これに限定されない。例えば、複数画像内または単一画像内における相関元となるブロックとの相関性を評価する場合にも適用することができる。
【図面の簡単な説明】
【００２６】
【図１】処理装置の構成図
【図２】動作モード設定テーブルの一例を示す図
【図３】ゲートアレイの動作タイミングチャート
【図４】動作モード設定テーブルの別の一例を示す図
【符号の説明】
【００２７】
１  ＦＰＧＡ
２  コンフィグレーション部
２ａ  通常モードプログラム
２ｂ  セーフモードプログラム
３  内部温度検出部
４  外部温度検出部
５  制御部
【図１】
2008269302.tif 000003
【図２】
2008269302.tif 000004
【図３】
2008269302.tif 000005
【図４】
2008269302.tif 000006