(57)【要約】【課題】カメラまたはその映像が伝達される経路（カメラ入力）を備えたシステムではカメラ入力の故障検出ができることが課題である。【解決手段】画像処理装置は入力画面のハッシュ値を計算する演算器と前記ハッシュ値を記憶する記憶回路とを有するハッシュ導出回路を備える。画像処理装置は複数フレーム間で前記ハッシュを比較することによって、画面が変化しているか、停止しているかを判断して、停止している場合に故障として検出する。【選択図】図１１
2018107588.tif 000002
【特許請求の範囲】
【請求項１】
入力されたビデオの画面のハッシュ値を計算する演算器と前記ハッシュ値を記憶する記憶回路とを有するハッシュ導出回路と、
前記入力されたビデオの複数画面間で前記ハッシュ値を比較することによって、画面が変化しているか、変化していないかを判断して、変化していない場合に故障として検出する故障検出回路と、
を備える
画像処理装置。
【請求項２】
請求項１において、
前記故障検出回路は、前記記憶回路のハッシュ値を読み出して複数画面間で比較することによって、画面が変化しているか、変化していないかを判断して、変化していない場合に故障として検出するＣＰＵを備える
画像処理装置。
【請求項３】
請求項２において、さらに、
ビデオ圧縮処理を行うビデオ符号化回路を備え、
前記ハッシュ導出回路は前記ビデオ符号化回路に含まれ、入力画面のハッシュ値をビデオ符号化の処理ブロック順に順次計算する
画像処理装置。
【請求項４】
請求項３において、
前記ハッシュ導出回路は、さらに、
複数の前記演算器と、
複数の前記記憶回路と、
を備え、
前記ハッシュ導出回路は入力画面の画素をビット列もしくは輝度・色差で分割して、分割したそれぞれの要素ごとに別のハッシュ値を前記複数の演算器で並列に計算し、前記ハッシュ値のそれぞれを前記複数の記憶回路に保存し、
前記ＣＰＵは前記複数の記憶回路のハッシュ値を読み出し、前記読み出したハッシュ値を用いて複数画面間で比較を行い、故障を検出する
画像処理装置。
【請求項５】
請求項３において、
前記ハッシュ導出回路は、さらに、
領域選択器と、
複数の演算器と、
複数の前記記憶回路と、
領域選択信号に基づいて前記領域選択器は複数の領域に分割した入力画面を前記複数の演算器のいずれかに入力し、
前記複数の演算器のそれぞれは、分割したそれぞれの領域ごとに別のハッシュ値を計算し、
前記複数の記憶回路は前記ハッシュ値のそれぞれを保存し、
前記ＣＰＵは前記複数の記憶回路のハッシュ値を読み出し、前記読み出したハッシュ値を用いて複数画面間で比較を行い、故障を検出する
画像処理装置。
【請求項６】
請求項３において、
前記ハッシュ導出回路は、さらに、
領域選択器と、
複数の前記記憶回路と、
前記ハッシュ導出回路は入力画面を複数の領域に分割して、分割したそれぞれの領域ごとに別のハッシュ値を前記演算器で計算し、領域選択信号に基づいて前記領域選択器は前記ハッシュ値のそれぞれを前記複数の記憶回路に保存し、
前記ＣＰＵは前記複数の記憶回路のハッシュ値を読み出し、前記読み出したハッシュ値を用いて複数画面間で比較を行い、故障を検出する
画像処理装置。
【請求項７】
請求項１において、
前記入力画面の画素データが１バイトよりも長く２バイトよりも短い場合、２バイトよりも短い部分のデータを元のデータの下位側のデータを結合して前記画素データを２バイトに拡張する
画像処理装置。
【請求項８】
請求項１において、
前記ハッシュ導出回路は前記演算器でハッシュ値を計算する前に入力画面の画素データの下位ビットをマスクする
画像処理装置。
【請求項９】
請求項２において、
前記ＣＰＵは連続する画面のハッシュ値が複数連続で一致した場合に故障として検出する
画像処理装置。
【請求項１０】
請求項２において、
前記ＣＰＵは連続する画面のハッシュ値が複数連続で一致した回数が所定数以上ある場合に故障として検出する
画像処理装置。
【請求項１１】
請求項２において、
前記ＣＰＵは過去の所定数の画面のハッシュ値を保存し、現在の画面のハッシュ値が前記過去の所定数の画面のハッシュ値のいずれかと一致した場合に故障として検出する
画像処理装置。
【請求項１２】
請求項３において、さらに、
カメラ装置からの映像信号を処理する映像信号処理回路を備え、
前記入力画面は前記映像信号処理回路で処理された画像である
画像処理装置。
【請求項１３】
請求項３において、
前記ビデオ符号化回路は、さらに、
画面予測回路と、
画面符号化回路と、
局所画面復号回路と、
エントロピー復号化回路と、
を備え、
前記入力画面は前記画面予測回路から出力されて前記画面符号化回路に入力される画面である
画像処理装置。
【請求項１４】
請求項１において、
前記記憶回路は、
現画面のハッシュ値を記憶する第一記憶回路と、
前画面のハッシュ値を記憶する第二記憶回路と、
を備え、
前記ハッシュ導出回路は、さらに、
前記第一記憶回路に記憶されているハッシュ値と前記第二記憶回路に記憶されているハッシュ値とを比較する比較器を備え、
前記故障検出回路は前記比較器であり、前記比較器が一致を検出した場合に故障として検出する
画像処理装置。
【請求項１５】
入力画面と予測画面とに基づいてデータ量圧縮した係数列を導出する画面符号化回路と、前記入力画面のハッシュ値を計算するハッシュ導出回路と、を有するビデオ符号化回路と、
前記ビデオ符号化回路を制御するＣＰＵと、
を備え、
前記ハッシュ導出回路は、
第一画素のハッシュ値を計算する第一演算器と、
第二画素のハッシュ値を計算する第二演算器と、
第三画素のハッシュ値を計算する第三演算器と、
前記第一演算器で計算されたハッシュ値を格納する第一記憶回路と、
前記第二演算器で計算されたハッシュ値を格納する第二記憶回路と、
前記第三演算器で計算されたハッシュ値を格納する第三記憶回路と、
を備え、
前記ハッシュ導出回路は入力画面の画素を第一輝度、第二輝度および色差で分割して、分割したそれぞれの要素ごとに前記第一演算器、第二演算器および第三演算器で並列に三つのハッシュ値を計算し、前記三つのハッシュ値のそれぞれを前記第一記憶回路、第二記憶回路および第三記憶回路に保存し、
前記ＣＰＵは前記第一記憶回路、第二記憶回路および第三記憶回路の三つのハッシュ値を読み出し、前記読み出したハッシュ値を用いて複数画面間で比較を行い、故障を検出する
半導体装置。
【請求項１６】
請求項１５において、
前記ビデオ符号化回路は、さらに、
入力画面と参照画面から画面内予測または画面間予測を行う画面予測回路と、
前記画面符号化回路の逆変換を行い、画面の復号を行う局所画面復号回路と、
画面符号化回路から出力される係数列から符号化ビット列を生成するエントロピー復号化回路と、
を備える
半導体装置。
【請求項１７】
請求項１５において、
前記入力画面が複数のマクロブロックに分割され、前記ビデオ符号化回路はマクロブロックごとに符号化およびハッシュの導出を行う
半導体装置。
【請求項１８】
請求項１５において、
前記入力画面の画素データは、データが１０ビット長の場合前記データの下位側６ビットのデータを上位側に結合し、データが１２ビット長の場合前記データの下位側４ビットのデータを上位側に結合することで、１６ビット長に拡張して構成される半導体装置。
【請求項１９】
請求項１５において、さらに、
カメラ装置からの映像信号を処理する映像信号処理回路と、
ネットワーク伝送回路と、
前記ＣＰＵが前記ビデオ符号化回路を制御するプログラムを格納するメモリと、
を備え、
前記映像信号処理回路から出力されるデータは前記メモリを介して前記ビデオ符号化回路に入力され、
前記ビデオ符号化回路から出力されるデータは前記メモリを介して前記ネットワーク伝送回路に入力される
半導体装置。
【請求項２０】
演算回路と記憶回路とを有する装置であって、
前記演算回路は入力されたビデオの画面のハッシュ値を計算し、
前記ハッシュ値を前記記憶回路に記憶し、
前記入力されたビデオの複数画面間で前記ハッシュ値を比較することによって、画面が変化しているか、変化していないかを判断して、変化していない場合に故障として検出する
画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は画像処理装置に関し、例えばカメラ画像を入力する画像処理装置に適用可能である。
【背景技術】
【０００２】
車両の先進運転支援システム（ＡＤＡＳ: Advanced Driver Assistance System）では、カメラから入力された画像から車両走行中に歩行者や障害物等を検知し、運転者の運転を支援するシステムが研究・開発されている。また、このような技術は自律運転の実現にも必須である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３６９２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、前述のシステム等、カメラまたはその映像が伝達される経路（以下、カメラ入力という。）を備えた装置やシステムにおいてカメラ入力の故障検出をすることが極めて重要な機能であり、課題である。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００５】
本開示のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
すなわち、画像処理装置は、複数の入力画面のハッシュ値を求めたり、複数の入力画面のヒストグラムデータを求めたりして、故障検出を行う。
【発明の効果】
【０００６】
上記半導体装置によれば、カメラ入力の故障を検出することができる。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係るＡＤＡＳシステム構成の構成を示すブロック図
【図２】図１の画像処理装置の構成を示すブロック図
【図３】固着故障の概略を説明するための図
【図４】実施例に係る画像処理装置の構成を示すブロック図
【図５】故障検出手法の概略を説明するための図
【図６】図４のＣＰＵで動作する制御プログラムで行う故障判定のフローチャート
【図７】画像フレームとマクロブロックの関係を説明するための図
【図８】ビデオ符号化における画面内予測と画面間予測の概要を示す図である。
【図９】Ｉピクチャ、Ｐピクチャ、Ｂピクチャの時間的な符号化の様子を示す図
【図１０】図４のビデオ符号化回路の構成を示すブロック図
【図１１】図１０のハッシュ導出回路の構成を示すブロック図
【図１２】図１０のハッシュ演算器の動作を説明するための図
【図１３】図１１のハッシュ導出回路の１画面のデータ処理順序を説明するための図
【図１４】１画素あたり１０ビット深度のデータ取り扱いを説明するための図
【図１５】変形例１に係るハッシュ導出回路の構成を示すブロック図
【図１６】図１５のハッシュ導出回路の１画面のデータ処理順序を説明するための図
【図１７Ａ】変形例２に係る画素データを丸めて曖昧さを与える手法を説明するための図
【図１７Ｂ】変形例２に係る画素データを丸めて曖昧さを与える手法を説明するための図
【図１８】過去３画面以上の画面から故障判定を行う場合のフローチャート
【図１９】過去５画面内に同じ画面が現れた場合に故障とする例を説明するための図
【図２０】３画面連続で同じ画面が現れた場合に故障とする例を説明するための図
【図２１】同じ画面組み合わせが繰り返し現れた場合に故障とする例を説明するための図
【図２２】変形例４に係るハッシュ導出回路の構成を示すブロック図
【図２３】画面を垂直方向にｎ個の領域に分割する例を説明するための図
【図２４】変形例５に係るハッシュ導出回路の構成を示すブロック図
【図２５】変形例６に係るハッシュ導出回路の構成を示すブロック図
【図２６】画面のある箇所が一定の画素値に固定された故障の様子を説明するための図
【図２７】画素値ヒストグラムによって故障判定する概念図
【図２８】実施例２に係るヒストグラム導出回路の構成を示すブロック図
【図２９】画素値ヒストグラムによる故障判定する場合のフローチャート
【図３０】図４のビデオ符号化回路の他の構成例を示すブロック図
【発明を実施するための形態】
【０００８】
以下、実施形態および実施例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
【０００９】
図１は実施形態に係るＡＤＡＳシステムの構成を示すブロック図である。ＡＤＡＳシステム１はカメラ装置２と画像処理装置３と第一表示装置４とネットワーク５と映像・情報処理装置６と第二表示装置７とを備える。カメラ装置２から入力した映像を画像処理装置３が処理を行い、第一表示装置４に映像表示するとともにネットワーク５に映像信号を出力する。ネットワーク５の後段の映像・情報処理装置６では、伝送された映像信号をそのまま、または他のセンサからの情報と統合して、第二表示装置７に表示する。
【００１０】
ネットワーク５の後段の映像・情報処理装置６では、例えば伝送された符号化映像信号を復号して表示したり、さらに他のセンサからの情報と統合して映像加工したりすることを行う。
【００１１】
図２は図１の画像処理装置の構成を示すブロック図である。図２では機能ブロックに着目して例示し、制御用のＣＰＵやその主記憶装置等は省略している。画像処理装置３は映像信号処理回路３１と表示処理回路３２とビデオ符号化回路３３とネットワーク伝送回路３４とを備える。映像信号処理回路３１はカメラ信号処理回路３１１と画像認識回路３１２とグラフィック処理回路３１３とを備える。画像処理装置３の機能としては様々あるが、例えば車外映像から白線検知や障害物検知を行って情報を映像に重ね合わせて表示するといったことを行う。カメラ装置２から入力した信号をカメラ信号処理回路３１１で映像信号化し、画像認識回路３１２およびグラフィック処理回路３１３で様々な検知処理および映像重ね合わせ等を行い、表示処理回路３２で第一表示装置４に出力する。またネットワーク伝送のデータ量削減のために映像を符号化して出力することも行う。グラフィック処理回路３１３の出力画像をビデオ符号化回路３３で符号化・圧縮して、ネットワーク伝送回路３４がネットワーク５へ出力する。
【００１２】
このようなシステムではカメラ入力の故障検出できることが極めて重要な機能である。
【００１３】
カメラ入力での故障は様々なタイプが考えられるが、その代表的なひとつとして画面固着がある。つまり、物理的またはシステム的な何らかの要因により、同じ画面が複数フレーム期間続いて、画面が停止しているように見える故障である。図３は画面固着の概略図であり、上に正常状態を示し、下に異常状態（画面固着状態）を示す。正常状態では画面Ｇ０〜Ｇ６において画面が変化している。しかし、異常状態では画面Ｇ０〜Ｇ２において画面は変化するが、画面Ｇ３〜Ｇ６において画面が同一になり、画面固着状態になっている。
【００１４】
実施形態では、この画面固着故障を簡便な手法で検出する構成および方法を提供する。すなわち、実施形態では、複数の入力画面のハッシュ値を求めたり、複数の入力画面のヒストグラムデータを求めたりして、故障検出を行う。例えば、複数画面分のハッシュ値を導出・保存し、複数ピクチャ間で比較することにより画面が停止しているような故障を検出することができる。これにより、カメラ故障が黒画面または一定色の一様な画面以外の故障パタンも検出することができる。カメラ映像を処理し表示または符号化の前で故障を検出することにより、カメラ装置および映像伝達経路のいずれかで起こる故障を検出することができる。
【００１５】
実施形態の一例について実施例および変形例を用いて説明する。なお、実施例等の構成は実施形態を説明するための一例であって異なる構成であってもよい。
【実施例】
【００１６】
実施例では図２に示した画像処理装置内のビデオ符号化回路およびその制御プログラムで固着故障検出を行う。
【００１７】
図４はビデオ符号化回路に着目した画像処理装置の構成を示すブロック図である。画像処理装置３は、映像信号処理回路３１と、ビデオ符号化回路３３と、ネットワーク伝送回路３４と、ＣＰＵ３５と、メモリ３６と、ＣＰＵバス３７と、メモリバス３８と、を備える。図２のカメラ信号処理回路３１１、画像認識回路３１２、グラフィック処理回路３１３を総合して映像信号処理回路３１と表し、表示処理回路３２は省略している。図２で省略していたＣＰＵ３５とメモリ３６を示している。カメラ装置２から入力された信号は映像信号処理回路３１で処理後、ビデオ符号化回路３３へ入力されて符号化・圧縮され、ネットワーク伝送回路３４へ入力されてネットワーク５へ出力される。各回路の間のデータ転送はメモリバス３８およびメモリ３６を介して行われる。ＣＰＵ３５で動作するプログラムはメモリ３６に格納され、ＣＰＵ３５がＣＰＵバス３７を介して各回路を制御する。画像処理装置３は一つまたは複数の半導体チップで構成される半導体装置である。例えば、映像信号処理回路３１と表示処理回路３２とビデオ符号化回路３３とネットワーク伝送回路３４とＣＰＵ３５とＣＰＵバス３７とメモリバス３８とは一つの半導体チップで構成され、メモリ３６は１つまたは複数のＳＤＲＡＭ等の半導体メモリチップで構成される。画像処理装置３は一つまたは複数の半導体チップを一つのパッケージに封止して構成されてもよい。
【００１８】
図５は故障検出の概要を示す図である。固着検出処理はビデオ符号化回路３３に備える回路とＣＰＵ３５上で動作するビデオ符号化回路３３の制御プログラムによって実現する。入力画面の画面Ｇ０から画面Ｇ４が順次ビデオ符号化回路３３に入力され、そのうち画面Ｇ３と画面Ｇ４が固着している状態を例示している。ビデオ符号化回路３３では、入力画面のフレーム毎のハッシュ値を導出する。ここで、Ｈ０〜Ｈ４はそれぞれ画面Ｇ０〜Ｇ４のハッシュ値である。ＣＰＵ３５上のプログラムは導出されたハッシュ値をフレーム毎に読み出し、前後２フレーム分でハッシュ値の比較を行う。前後２フレームでハッシュ値の変化がある場合は入力画面に変化があるとみなし、正常と判定する。一方、前後２フレームでハッシュ値が同一である場合は入力画面が変化していないとみなし、固着故障であると判定する。図５ではＨ０〜Ｈ３が変化するが、Ｈ３とＨ４が同一となり、固着故障が検出される。
【００１９】
ここで、ハッシュ値は入力データに依存して算出できるビット列で、同一の入力データからは同一の値が得られ、異なる入力からは異なる値が得られることを特徴としている。一般に様々なハッシュ関数が存在する。例えばＩＥＴＦ  ＲＦＣ  １３２１（参考文献１）として公開されているＭＤ５（Message Digest 5）やＩＥＴＦ  ＲＦＣ  ３１７４（参考文献２）、ＳＨＡ−１などが知られている。本実施例で使用するハッシュアルゴリズムは限定されない。また、巡回冗長検査（ＣＲＣ：Cyclic Redundancy Check）等の誤り検出符号も使用可能である。
［参考文献１］R. Rivest,“The MD5 Message-Digest Algorithm”, April 1992,Network Working Group Request for Comments: 1321, ［平成２８年９月５日検索］、インターネット（ＵＲＬ：https://tools.ietf.org/html/rfc1321）
［参考文献２］D. Eastlake, 3rd et.al., “US Secure Hash Algorithm 1 (SHA1)”, September 2001,Network Working Group Request for Comments: 3174 Category: Informational, ［平成２８年９月５日検索］、インターネット（ＵＲＬ：https://tools.ietf.org/html/rfc3174）
図６はＣＰＵ上のプログラムで行う故障判定のフローチャートである。故障検出回路であるＣＰＵ３５は、符号化完了した前画面のハッシュ値と符号化中の現画面のハッシュ値を比較して、同一である場合に固着故障検出と判定して、故障検出時処理を行う。なお、故障検出時処理については、例えば当該画面を送信せず次画面の処理に復帰したりアラームで知らせたりする処理等が考えられる。以下、各ステップについて説明する。
【００２０】
ステップＳ１：ＣＰＵ３５は下記のように変数の初期化を行う。
【００２１】
画面番号：ｎ＝０
前画面ハッシュ保存変数：PrevHashVar＝０
現画面ハッシュ保存変数：CurrHashVar＝０
ステップＳ２：ＣＰＵ３５は制御回路３３１に指示することにより、ビデオ符号化回路３３にビデオ符号化を開始させる（StartVideoEncode(画面Ｇｎ)）。
【００２２】
ステップＳ３：ＣＰＵ３５はビデオ符号化回路３３からのビデオ符号化完了を検知する（DetectVideoEncodeEnd(画面Ｇｎ)）。なお、制御回路３３１はビデオ符号化完了を示す信号を出力するか、またはフラグをセットするか、割り込み要求を出力する。
【００２３】
ステップＳ４：ＣＰＵ３５は前画面Ｇ(ｎ−１)のハッシュ値をＣＰＵ内のレジスタに退避する（PrevHashVar＝CurrHashVar）。
【００２４】
ステップＳ５：ＣＰＵ３５は符号化完了画面Ｇｎのハッシュ値をビデオ符号化回路３３から読み出す（CurrHashVar＝Read(Hash Gn)）。ここで、符号化完了画面Ｇｎのハッシュ値とは、符号化が完了した画面Ｇｎの入力画面のハッシュ値である。
【００２５】
ステップＳ６：ＣＰＵ３５は先頭画面かどうかを判断する（ｎ＝＝０？）。ＮＯの場合はステップＳ７に移り、ＹＥＳの場合はステップＳ８に移る。
【００２６】
ステップＳ７：ＣＰＵ３５は現画面のハッシュ値が前画面のハッシュ値と同一かどうかを判断する（PrevHashVar＝CurrHashVar ?）。ＮＯ（変化）の場合はステップＳ８に移り、ＹＥＳ（同一）の場合はステップＳ９に移る。
【００２７】
ステップＳ８：ＣＰＵ３５は画面番号を更新し（ｎ＋＋）、ステップＳ２に戻る。
【００２８】
ステップＳ９：ＣＰＵ３５は固着故障を検出する。
【００２９】
ステップＳＡ：ＣＰＵ３５は故障検出時の処理を行う。
【００３０】
次に、ビデオ符号化回路で行うビデオ符号化について説明する。図７は画面フレームをマクロブロックに分割した様子を示す図である。図８はビデオ符号化における画面内予測と画面間予測の概要を示す図である。図９はＩピクチャ、Ｐピクチャ、Ｂピクチャの時間的な符号化の様子を示す図である。
【００３１】
ビデオ符号化回路で行っているビデオ符号化とは、ＭＰＥＧ、Ｈ．２６４、Ｈ．２６５等の規格で知られるビデオ圧縮処理である。本実施形態はいずれの規格にも適用できるが、本実施例では便宜上Ｈ．２６４に即して説明を行う。主に画面を碁盤目状に分割した矩形ブロック単位で順次処理が行われる。単位ブロックについては規格により様々な名称で呼ばれるが、ここでは「マクロブロック」と称する。図７に示すように、画面左上から右下へラスター順にマクロブロックを処理していく。画面がＹＣｂＣｒ４：２：０フォーマットの場合、一つのマクロブロックは１６×１６画素の輝度Ｙと８×８画素の色差Ｃｂ、８×８画素の色差Ｃｒの３つのコンポーネントの組からなる。
【００３２】
ビデオ符号化では画面内予測、画面間予測といった技術が用いられる。図８に示すように、ビデオ符号化には３つのタイプの符号化モードがある。Ｉピクチャ符号化では、同一画面内の符号化済み位置のマクロブロックから符号化対象のマクロブロックを予測する画面内予測を行う。Ｐピクチャ符号化では、符号化済みの別画面から符号化対象のマクロブロックを予測する画面間予測を行う。Ｂピクチャ符号化では、符号化済みの２つの画面から画面間予測を行う。ここで「予測」は、簡単に言えば、符号化対象のマクロブロックと似ている画面を探して決定することで、その予測画面と差分を取ることで圧縮率を上げることができる。画面間予測で予測に使用される符号化済みの別画面のことを「参照画面」と呼ぶ。なおＰピクチャ、Ｂピクチャでも画面内予測も使用される。
【００３３】
図９に示すように、期間４のＰピクチャであるＰ４については、参照画面である期間２のＰピクチャのＰ２から画面予測が行われる。期間５のＢピクチャであるＢ３についてはＰ２とＰ４の２つの参照画面から画面予測が行われる。同様に、期間（２ｎ）のＰピクチャであるＰ（２ｎ）については、参照画面である期間（２ｎ−２）のＰピクチャのＰ（２ｎ−２）から画面予測が行われる。期間（２ｎ＋１）のＢピクチャであるＢ（２ｎ−１）についてはＰ（２ｎ−２）とＰ（２ｎ）の２つの参照画面から画面予測が行われる。
【００３４】
次に、ビデオ符号化回路の構成について図１０を用いて説明する。図１０は図４のビデオ符号化回路の構成を示すブロック図である。ビデオ符号化回路３３は、制御回路３３１と、メモリインタフェース回路３３２と、画面予測回路３３３と、画面符号化回路３３４と、エントロピー符号化回路３３５と、局所画面復号回路３３６と、ハッシュ導出回路３３Ｆと、を備える。
【００３５】
制御回路３３１は、ＣＰＵバス３７とのインタフェースでＣＰＵ３５との通信を行うのと、ビデオ符号化回路３３の各回路の制御を行う。メモリインタフェース回路３３２は、メモリバス３８とのインタフェースでビデオ符号化回路３３の外部のメモリ３６とのデータ入出力を行う。画面予測回路３３３は入力画面と参照画面（時間的に過去の局所復号画面、局所復号画面については後述）から画面内予測または画面間予測を行う。画面符号化回路３３４では予測画面との差分計算、周波数空間への変換、量子化等を行ってデータ量圧縮した係数列を導出する。エントロピー符号化回路３３５では画面符号化回路３３４からの係数列を可変長符号や算術符号などの技術を使って符号化ビット列を生成する。符号化ビット列がビデオ符号化回路３３の出力であり、メモリ３６に保存される。一方、局所画面復号回路３３６では、画面符号化回路３３４の逆変換を行い、画面の復号を行う。復号された画面（局所復号画面）はメモリ３６に保存され、次画面以降の参照画面として利用される。ビデオ符号化回路３３の各回路はマクロブロック単位で処理を行う。各回路の間にはそれぞれ数マクロブロック分のデータを蓄えるデータバッファ３３７，３３８，３３９，３３Ａ，３３Ｂ，３３Ｃ，３３Ｄ，３３Ｅがある構成をとる。データバッファ３３７、３３９は入力画面画素データを格納し、データバッファ３３８、３３Ａは参照画面画素データを格納し、データバッファ３３Ｂ、３３Ｄは符号化の中間データを格納し、データバッファ３３Ｅは局所復号画面画素データを格納し、データバッファ３３Ｃは符号化ビット列データを格納する。データバッファ３３７内の入力画像データは画面予測回路３３３を通過してデータバッファ３３９に格納される。
【００３６】
ビデオ符号化回路３３は固着検出用回路であるハッシュ導出回路３３Ｆを備え、ハッシュ導出回路３３Ｆは、画面符号化回路３３４へ入力される入力画面のデータを入力して、入力画面を一意に表すハッシュ値を導出する回路である。導出されたハッシュ値は制御回路３３１を介してＣＰＵ３５から読み出し可能である。
【００３７】
次に、ビデオ符号化回路で行うハッシュ導出について図１１〜１３を用いて説明する。図１１は図１０のハッシュ導出回路の構成を示すブロック図である。図１２は図１０のハッシュ演算器の動作を説明する図である。図１３は１画面のデータ処理順を示す図である。
【００３８】
図１１はハッシュ導出回路を示すブロック図である。ハッシュ導出回路３３Ｆは、データバッファ３３９から画素データを取得する画素データ取得回路３３Ｆ１と、ハッシュ演算を行うハッシュ演算器３３Ｆ２と、導出したハッシュ値を記憶するハッシュ記憶回路３３Ｆ３と、を備え、入力画面用のデータバッファ３３９から入力画面の画素データを順次入力し、ハッシュ演算を行う。ハッシュ記憶回路３３Ｆ３は例えばレジスタで構成される。
【００３９】
ハッシュ導出回路３３Ｆは、ビデオ符号化回路３３の他の回路ブロックと同期してマクロブロック単位に処理を行う。ハッシュ演算器３３Ｆ２はハッシュ関数としてＭＤ５を用いる。図１２に示すように、ＭＤ５では５１２ビットの入力データを元に、あるアルゴリズムにしたがって６４回の順次計算を行う。つまり図中のｉ＝０から６３までのループとなる。図中のＡ、Ｂ、Ｃ、Ｄは各３２ビットの変数で、Ａ[i+1]、Ｂ[i+1]、Ｃ[i+1]、Ｄ[i+1]をビット結合したものが１２８ビットのハッシュとなる。入力は、入力画面用データバッファに格納されたマクロブロックデータから順次５１２ビットを供給する。図の例では１画素あたり８ビットの輝度マクロブロックを仮定しており、８×８画素の合計６４画素単位でハッシュ演算を行うことを示している。左上の輝度Ｙ０から輝度Ｙ１、輝度Ｙ２、輝度Ｙ３、色差Ｃｂ、色差Ｃｒと順次処理を行って色差Ｃｒの処理が終わったところで当該マクロブロックの処理は完了となる。これを画面内の全マクロブロックに対して、前のマクロブロックの結果を次のマクロブロックのハッシュ導出に使用し、結果を引き継ぎながら処理を行っていく。
【００４０】
図１３の上側に示す画面フレームに記した矢印に示すように、１画面のデータ処理は、第零マクロブロック、第一マクロブロック、第二マクロブロック、・・・、とマクロブロック処理順にしたがって順次実行され、画面右下のマクロブロックが完了したときに最終のハッシュ値を導出する演算を行って完了となる。最終のハッシュ値は図１１のハッシュ記憶回路３３Ｆ３に格納され、ＣＰＵ３５から読み出される。なお、ここで示したデータの入力順序は一例である。
【００４１】
図１２で示すように、ハッシュ演算は従前のハッシュ値を順次更新していく処理となる。したがって、従前のハッシュ値を保存して次回のループに使用する構成とすることが考えられる。図１２ではＡ[i+1]、Ｂ[i+1]、Ｃ[i+1]、Ｄ[i+1]がそれに当たる。図１１のハッシュ記憶回路３３Ｆ３とハッシュ演算器３３Ｆ２内の従前のハッシュを保存する記憶を共有するようにしてもよい。
【００４２】
実施例によれば、２画面分のハッシュ値を導出・保存し、２つの画面間で比較することにより画面が停止しているような故障を検出することができる。データ出力直前に配置されるビデオ符号化部にハッシュ値導出回路を設けることにより、カメラ入力系全体のいずれかで起こる故障を検出することができる。
【００４３】
＜変形例＞
以下、代表的な変形例について、幾つか例示する。以下の変形例の説明において、上述の実施例にて説明されているものと同様の構成および機能を有する部分に対しては、上述の実施例と同様の符号が用いられ得るものとする。そして、かかる部分の説明については、技術的に矛盾しない範囲内において、上述の実施例における説明が適宜援用され得るものとする。変形例が上述の実施例の一部の構成の変形である場合は、上述の実施例の他の構成と変形例が組み合わせられることはいうまでもない。また、上述の実施例の一部、および、複数の変形例の全部または一部が、技術的に矛盾しない範囲内において、適宜、複合的に適用され得る。
【００４４】
（変形例１）
図１１、図１２、図１３の実施例では、１画面の輝度Ｙ、色差Ｃｂ、色差Ｃｒを全てシーケンシャルに処理する例を示した。ハッシュ演算の特徴として演算を直列で行う必要があり並列化はできないため、１画面の全データを直列に処理するためには実行時間がかかることになる。既存の符号化処理の実行時間に隠蔽できない場合、問題となる可能性がある。また１画素あたり８ビットのデータで説明をしていたが、例えば１画素あたり１０ビットや１２ビットの信号で使用されることも想定される。この場合、１０ビットを１６ビット（２バイト）に拡張して処理することが多く、よりハッシュ演算で直列処理するデータ量が多くなり、実行時間の問題がより顕著に現れることになる。
【００４５】
１画素あたり１０ビットのデータを分割して並列実行する例について図１４〜１６を用いて説明する。図１４は１０ビット信号を１６ビットへ拡張する例を示す図である。図１５は変形例１に係るハッシュ導出回路を示すブロック図である。図１６は１画素あたり１０ビットのときのデータ処理順序の例を示す図である。
【００４６】
まず、１０ビット信号を１６ビットへ拡張する例を説明する。１０ビットに６ビットの‘０’を拡張する方法も考えられるが、ハッシュ演算の結果の値の一意性が損なわれる確率が高くなるため、図１４に示すように元の１０ビットの下位６ビットを結合する手法をとる。輝度では拡張後１６ビットの上位８ビットをＹＨ、下位８ビットをＹＬとして扱うこととする。色差では１６ビットをＣとして扱う。なお、１２ビット信号を１６ビットに拡張する場合は、元の１２ビットの下位４ビットを結合する。すなわち、画素データが１バイトよりも長く２バイトよりも短い場合、２バイトよりも短い部分のデータに元のデータの下位側のデータを割り当て結合して画素データを２バイトに拡張する。これにより、ハッシュ演算の結果の値の一意性が損なわれる確率を低減することができる。
【００４７】
図１５に示すように、ハッシュ導出回路３３ＦＡは、第一ハッシュ演算器３３Ｆ２＿１と第一ハッシュ記憶回路３３Ｆ３＿１、第二ハッシュ演算器３３Ｆ２＿２と第二ハッシュ記憶回路３３Ｆ３＿２、第三ハッシュ演算器３３Ｆ２＿３と第三ハッシュ記憶回路３３Ｆ３＿３の組を３つ備える。第一ハッシュ記憶回路３３Ｆ３＿１、第二ハッシュ記憶回路３３Ｆ３＿２および第三ハッシュ記憶回路３３Ｆ３＿３のいずれか１つがセレクタ３３Ｆ４によって選択され、ハッシュ値がＣＰＵ３５によって読み出される。これにより、３組のハッシュ導出を並列化することができる。すなわち、第一ハッシュ演算器３３Ｆ２＿１ではＹＨのデータ、第二ハッシュ演算器３３Ｆ２＿２ではＹＬのデータ、第三ハッシュ演算器３３Ｆ２＿３ではＣのデータとすることで、１画面完了時に３つのハッシュ値を得ることができる。それぞれのハッシュ演算器の扱うデータ量はほぼ３等分となるため、実行時間の短縮ができて問題解決になる。
【００４８】
図１６に示すように、輝度Ｙは１６ビットを上下８ビットで分割しているためＹＨブロック（輝度ＹＨ０、輝度ＹＨ１、輝度ＹＨ２、輝度ＹＨ３）とＹＬブロック（輝度ＹＬ０、輝度ＹＬ１、輝度ＹＬ２、輝度ＹＬ３）で表している。一方、色差Ｃｂおよび色差Ｃｒはそれぞれ１６ビットデータとなっているため、図１３に比べて横幅２倍のブロックで表している。第一ハッシュ演算器３３Ｆ２＿１、第二ハッシュ演算器３３Ｆ２＿２および第三ハッシュ演算器３３Ｆ２＿３の各ハッシュ演算器の取り扱うデータ量は３等分となる。第一ハッシュ演算器３３Ｆ２＿１は各マクロブロックの輝度ＹＨ０、輝度ＹＨ１、輝度ＹＨ２、輝度ＹＨ３の順で処理し、第二ハッシュ演算器３３Ｆ２＿２は各マクロブロックの輝度ＹＬ０、輝度ＹＬ１、輝度ＹＬ２、輝度ＹＬ３の順で処理し、第三ハッシュ演算器３３Ｆ２＿３は各マクロブロックの色差Ｃｂ、色差Ｃｒの順で処理する。
【００４９】
１画面処理後に得られる３つのハッシュ値はＣＰＵ３５上のプログラムでそれぞれ独立に前画面との比較による故障検出を行う。これにより分割した領域単位で故障検出が可能となり、故障箇所の特定が可能となる。なお、３つのハッシュ値は加算や排他的論理輪等で１つのデータとして取り扱っても良い。
【００５０】
以上は画素データのビットの上位と下位に分ける例を示したが、画素データの順序で分ける例も考えられる。例えば連続する３画素を同時に入力できるとして、その３画素を画素（３ｍ）、画素（３ｍ＋１）、画素（３ｍ＋２）とした場合、画素（３ｍ）を第一ハッシュ演算器３３Ｆ２＿１、画素（３ｍ＋１）を第二ハッシュ演算器３３Ｆ２＿２、画素（３ｍ＋２）を第三ハッシュ演算器３３Ｆ２＿３と割り当てて並列処理することも考えられる（ここでｍ＝０，１，２，・・・）。３つに分離する例を示したが、当然２組以上の任意の組数に分離する構成もとることができる。なお、図１４の１０ビット信号を１６ビットへ拡張は変形例１に限定されるものではなく、実施例および後述する変形例に適用することができる。
【００５１】
（変形例２）
実施例および変形例１では、画像の厳密な一致を確認し１ビットでも異なる場合は故障と判定している。しかし、場合によっては厳格すぎて故障を見逃す危険性がある。すなわち、画面は故障によって停止しているにもかかわらず、何らかのノイズによって画素の下位数ビットが変化して「故障ではない」と判断されるような場面が想定される。これを対策するために、ハッシュ演算前に画素データの下位ビットを丸める処理を施す。
【００５２】
画素データを丸めて曖昧さを与える手法について図１７Ａ、１７Ｂを用いて説明する。図１７Ａ、１７Ｂは画素データを丸めて曖昧さを与える手法の一例を示す図であり、図１７Ａは８ビット／画素の場合、図１７Ｂは１０ビット／画素の場合である。例えば、図１７Ａに示すように、８ビット／画素時に下位２ビットを０でマスクすると、画素値の０〜３，４〜７，・・・,２５２〜２５５のそれぞれの組が同値とみなされるため、同一のハッシュになりやすくなる。つまり検出にあいまいさが出て、ノイズによる故障見逃しが低減される。この制御は画素あたりのビット深度に応じて制御するのが好適である。例えば、図１７Ｂに示すように、８ビットが下位２ビットマスクなら１０ビット時は下位４ビットマスクといった制御である。
【００５３】
下位ビットマスクの例で示したが、これは一例であり画素値にあいまいさを与える手法は例えばローパスフィルタ等別手段でもよい。なお、図１７Ａ、１７Ｂの下位ビットのマスクは実施例および変形例１に限定されるものではなく、後述する変形例に適用することができる。
【００５４】
（変形例３）
ここまでの実施例、変形例１、２では、連続した２画面の全データまたは部分データが一致した場合に故障としてきた。アプリケーションによっては２画面で直ちに故障と判定することが良くない場合も想定される。これにはハッシュ値を３つ以上の複数画面を保存して、３つ以上の複数画面で故障判定を行うことが考えられる。
【００５５】
３つ以上の複数画面で故障判定を行う例について図１８〜２１を用いて説明する。図１８はＫ枚の複数画面による故障判定のフローチャートである。図１９は過去５画面内に同じ画面が現れた場合に故障とする例を説明するための図である。図２０は過去３画面連続で同じ画面が現れた場合に故障とする例を説明するための図である。図２１は同じ画面組み合わせが繰り返し現れた場合に故障とする例を説明するための図である。
【００５６】
図１８に示すように、ハッシュ値を保存する変数を HashVar[i] (i=0,1,…,K-1) とする。ピクチャ完了ごとにビデオ符号化回路３３のハッシュ記憶回路３３Ｆ３からハッシュ値を取り出しHashVar[0]に格納する。その前にHashVar[ ]変数はＦＩＦＯ（First-In First-Out）動作させ、過去Ｋ枚分のハッシュ値を保存するようにする。そのHashVar[ ]変数があらかじめ決められた故障条件にあてはまった場合に、故障を検出したとする。以下、各ステップについて説明する。
【００５７】
ステップＳ１Ｃ：ＣＰＵ３５は下記のように変数の初期化を行う。
【００５８】
画面番号：ｎ＝０
ハッシュ保存変数：for(i=0; i<K; i++ )  HashVar[i]=0
ステップＳ２：ＣＰＵ３５は制御回路３３１に指示することにより、ビデオ符号化回路３３にビデオ符号化を開始させる（StartVideoEncode(画面Ｇｎ)）。
【００５９】
ステップＳ３：ＣＰＵ３５はビデオ符号化回路３３からのビデオ符号化完了を検知する（DetectVideoEncodeEnd(画面Ｇｎ)）。
【００６０】
ステップＳ４Ｃ：ＣＰＵ３５は過去（Ｋ−１）画面分のハッシュ保存変数を更新する。
for(i=1; i<K; i++) HashVar[i] = HashVar[i-1]
ステップＳ５Ｃ：ＣＰＵ３５は符号化完了画面Ｇｎのハッシュ値をビデオ符号化回路３３から読み出す（HashVar[0]＝Read(Hash Gn)）。
【００６１】
ステップＳ６：ＣＰＵ３５は先頭画面かどうかを判断する（ｎ＝＝０？）。ＮＯの場合はステップＳ７に移り、ＹＥＳの場合はステップＳ８に移る。
【００６２】
ステップＳ７Ｃ：ＣＰＵ３５はHashVar[ ]変数群が故障条件に適合するかどうかを判断する。ＮＯ（非適合）の場合はステップＳ８に移り、ＹＥＳ（適合）の場合はステップＳ９に移る。
【００６３】
ステップＳ８：ＣＰＵ３５は画面番号を更新し（ｎ＋＋）、ステップＳ２に戻る。
【００６４】
ステップＳ９：ＣＰＵ３５は固着故障を検出する。
【００６５】
ステップＳＡ：ＣＰＵ３５は故障検出時の処理を行う。
【００６６】
故障判定条件は様々なものが考えられる。図１９は過去５画面内に同じ画面が現れた場合に故障とする例を説明するための図である。図２０は３画面連続で同じ画面が現れた場合に故障とする例を説明するための図である。図２１は同じ画面組み合わせが繰り返し現れた場合に故障とする例を説明するための図である。
【００６７】
例えばビデオ符号化回路３３の前段に複数の画面バッファがあり、その一部が故障しており定期的に同じ画面が入力されるなどの故障が想定される。この場合、図１９に示すように、現ハッシュが過去４個のハッシュのいずれかと一致した場合に故障と判定する。なお、図１９は故障判定条件の様子を時系列で示したＫ＝５の例である。HashVar[0]が現ピクチャのハッシュ、HashVar[1]〜HashVar[4]が過去４画面のハッシュ値を保存している。第一時刻（Ｔ１）〜第六時刻（Ｔ６）で順にのべ６画面分のハッシュ記憶内のデータ遷移を示している。第一時刻（Ｔ１）で最初のハッシュ値のＨ００がHashVar[0]に格納される。第二時刻（Ｔ２）ではHashVar[0]のＨ００はHashVar[1]へ移動し、次のハッシュ値のＨ０１がHashVar[0]へ格納される。このようにHashVar[0]〜HashVar[4]までがＦＩＦＯ動作で更新されていく。故障判定はHashVar[0]内の値が、その他のHashVar[1]〜HashVar[4]に保存されている値と一致するか否かで行う。第五時刻（Ｔ５）まではすべて異なるため故障なしと判定される。第六時刻（Ｔ６）においては、HashVar[0]にハッシュ値のＨ０２が格納されるが、これはHashVar[3]内のものと一致しており、故障と判定される。
【００６８】
故障判定条件としては他に、図２０に示すように、HashVar[0]〜HashVar[2]のハッシュ値がＨ０３であり、連続した３つのハッシュ値が一致した場合に故障とする例が考えられる。この故障判定条件では、HashVar[ ]を使わずPrevHashVarとCurrHashVarのみを使うフローもとることができる。同値が連続した数を数えるカウンタを持ち、決められた閾値と比較する。ＡＤＡＳやドローン等のリアルタイム性・堅牢性が強く求められるアプリケーションでは少ない枚数で判定が好適であり、通常画面変化の少ない監視カメラでは長い期間での判定が好適である。
【００６９】
また、図２１に示すように、HashVar[0]〜HashVar[3]のハッシュ値がそれぞれＨ０４、Ｈ０３、Ｈ０２、Ｈ０１であり、HashVar[4]〜HashVar[7]のハッシュ値がそれぞれＨ０４、Ｈ０３、Ｈ０２、Ｈ０１であり、同じパタンがループして現れる等も考えられる。このような故障パタンを故障として検出する（故障判定条件とする）ようにしてもよい。
【００７０】
（変形例４）
実施例、変形例１〜３ではハッシュ導出回路３３Ｆをビデオ符号化回路３３に設けて、制御プログラムで故障判定を行う例を示した。故障判定をハッシュ導出回路内の回路で実現しても良い。
【００７１】
ハッシュ導出回路内に故障検出回路を備える例について図２２を用いて説明する。図２２は変形例４に係るハッシュ導出回路を示すブロック図である。変形例４に係るハッシュ導出回路３３ＦＤは、画素データ取得回路３３Ｆ１、ハッシュ演算器３３Ｆ２、現画面ハッシュ記憶回路３３Ｆ３＿Ｃ、前画面ハッシュ記憶回路３３Ｆ３＿Ｐおよびハッシュ比較器３３Ｆ５を備える。制御回路３３１から画面完了信号を入力し、そのタイミングでハッシュ比較を行う。結果としては故障通知を返す。なお、現画面ハッシュ記憶回路３３Ｆ３＿Ｃが現画面のハッシュ値を格納し、画面完了信号によって現画面ハッシュ記憶回路３３Ｆ３＿Ｃのハッシュ値は前画面ハッシュ記憶回路３３Ｆ３＿Ｐに移動して、前画面ハッシュ記憶回路３３Ｆ３＿Ｐは前画面のハッシュ値を格納する。故障検出までハードウェアで行うことによって、ソフトウェア介在なしで故障検出および故障時処理を行う自律動作可能な装置を構成できる。
【００７２】
実施例、変形例１〜４では、画像処理装置内のビデオ符号化回路に入力画面を一意にあらわすハッシュ値を導出する回路を設けることで、制御プログラム上またはハッシュ値を導出する回路で複数画面間のハッシュ値を比較することができる。これにより、複数画面間で画面が変化したか否かを簡便に確認することができ、変化していないことをもって固着故障であるということの判定が容易にできる。また、一定色となってしまう故障以外の故障を簡便に検出することができる。また、画面内を分割してそれぞれにハッシュ値を導出・比較することにより、故障箇所を特定することができる。
【００７３】
（変形例５）
実施例、変形例１〜４では１画面単位での故障検出を行うが、１画面を分割して、その分割領域ごとにハッシュ値を計算することで領域単位に故障検出を行ってもよい。
【００７４】
画面をある領域に分割して領域ごとに故障検出を行う例について図２３、２４を用いて説明する。図２３は画面を垂直方向にｎ領域に分割する例を示す図である。図２４は変形例５に係るハッシュ導出回路を示すブロック図である。
【００７５】
図２３に示すように、画面は垂直方向に、ｎ個の領域Ｒ０、Ｒ１、Ｒ３、・・・、Ｒ（ｎ−１）に分割される。
【００７６】
図２４に示すように、ハッシュ導出回路３３ＦＥは、画素データ取得回路３３Ｆ１と、領域選択器３３Ｆ６と、Ｒ０用ハッシュ演算器３３Ｆ２＿Ｒ０〜Ｒ（ｎ−１）用ハッシュ演算器３３Ｆ２＿Ｒ（ｎ−１）と、Ｒ０用ハッシュ記憶回路３３Ｆ３＿Ｒ０〜Ｒ（ｎ−１）用ハッシュ記憶回路３３Ｆ３＿Ｒ（ｎ−１）と、セレクタ３３Ｆ４と、を備える。
【００７７】
Ｒ０用ハッシュ演算器３３Ｆ２＿Ｒ０〜Ｒ(ｎ−１)用ハッシュ演算器３３Ｆ２＿Ｒ（ｎ−１）は領域Ｒ０〜Ｒ（ｎ−１）のそれぞれのハッシュ値を演算し、Ｒ０用ハッシュ記憶回路３３Ｆ３＿Ｒ０〜Ｒ(ｎ-１)用ハッシュ記憶回路３３Ｆ３＿Ｒ（ｎ−１）は領域Ｒ０〜Ｒ（ｎ−１）のそれぞれのハッシュ値を保存する。制御回路３３１から与えられる領域選択信号に従って領域選択器３３Ｆ６はＲ０用ハッシュ演算器３３Ｆ２＿Ｒ０〜Ｒ(ｎ−１)用ハッシュ演算器３３Ｆ２＿Ｒ（ｎ−１）のいずれか一つのハッシュ演算器を選択する。例えば、領域選択器３３Ｆ６で選択されたＲ０用ハッシュ演算器３３Ｆ２＿Ｒ０では、領域Ｒ０に属する画素からハッシュ値が導出され、Ｒ０用ハッシュ記憶回路３３Ｆ３＿Ｒ０に書き込まれる。同じ処理が全ｎ領域に対して実施され、１画面完了後にＲ０用ハッシュ記憶回路３３Ｆ３＿Ｒ０〜Ｒ(ｎ-１)用ハッシュ記憶回路３３Ｆ３＿Ｒ（ｎ−１）の全てのハッシュ記憶回路は有効となる。このような分割方法で、例えば１つの領域が１画素幅のカラムとした場合、カメラ装置２の撮像素子の一例であるＣＭＯＳセンサの１カラムだけが故障するような状況の検出が可能となる。分割の方法は種々考えられ、カメラなどの入力装置の故障モードに適した分割方法とすることができる。行単位での分割、矩形単位の分割などの例が考えられる。  
なお、画面のデータ処理順（走査順）と分割形状の組み合わせにより入力画面用のデータバッファ３３９の容量、格納フォーマットが変わること、また追加のバッファが必要になる場合がある。
【００７８】
変形例５によれば、分割した領域単位で細かく故障検出が可能となるため、故障原因・箇所の特定が容易になる。また、故障箇所の隠蔽を行う場合に、小範囲にとどめることができる。ＣＭＯＳセンサのカラム故障のように、センサ特有の故障モードに特化した検出が可能になる。
【００７９】
（変形例６）
前述のように、最終結果を保存するハッシュ記憶回路とハッシュ記憶内の更新用の記憶回路とは共有するようにしてもよい。この場合、Ｒ０用ハッシュ演算器〜Ｒ（ｎ−１）用ハッシュ演算器と領域専用にあるハッシュ演算器は１つで共有することができる。
【００８０】
図２５は変形例６に係るハッシュ導出回路を示すブロック図である。
【００８１】
変形例６に係るハッシュ導出回路３３ＦＦは、画素データ取得回路３３Ｆ１と、ハッシュ演算器３３Ｆ２と、領域選択器３３Ｆ６と、Ｒ０用ハッシュ記憶回路３３Ｆ３＿Ｒ０〜Ｒ（ｎ−１）用ハッシュ記憶回路３３Ｆ３＿Ｒ（ｎ−１）と、領域選択器３３Ｆ７と、を備える。
【００８２】
Ｒ０用ハッシュ記憶回路３３Ｆ３＿Ｒ０〜Ｒ(ｎ-１)用ハッシュ記憶回路３３Ｆ３＿Ｒ（ｎ−１）は領域Ｒ０〜Ｒ（ｎ−１）のそれぞれのハッシュ値を保存する。制御回路３３１から与えられる領域選択信号に従って領域選択器３３Ｆ６はＲ０用ハッシュ記憶回路３３Ｆ３＿Ｒ０〜Ｒ(ｎ-１)用ハッシュ記憶回路３３Ｆ３＿Ｒ（ｎ−１）のいずれか一つのハッシュ記憶回路を選択する。ハッシュ演算器３３Ｆ２では、例えば領域Ｒ０に属する画素からハッシュ値が導出され、領域選択器３３Ｆ６で選択されたＲ０用ハッシュ記憶回路３３Ｆ３＿Ｒ０に書き込まれる。なお、例えば、領域Ｒ０に属する画素のハッシュ値を導出している間、ハッシュ演算器３３Ｆ２は更新前のハッシュ値をＲ０用ハッシュ記憶回路３３Ｆ３＿Ｒ０から読み出して新たなハッシュ値を演算してハッシュ値を更新し、更新後のハッシュ値をＲ０用ハッシュ記憶回路３３Ｆ３＿Ｒ０に格納する。
【００８３】
（変形例７）
実施例および変形例１〜６ではハッシュ値を用いて故障判定を行うが、ハッシュ値以外で故障判定を行ってもよい。
【００８４】
ハッシュ値の代わりに画素値ヒストグラムで判定を行う例について図２６〜２９を用いて説明する。図２６は画面のある箇所が一定の画素値で固定された故障の様子を示す図である。図２７は画素値ヒストグラムによって故障判定する概念図である。図２８は変形例６に係るヒストグラム導出回路を示すブロック図である。図２９は制御プログラムの動作フローを示すフローチャートである。
【００８５】
図２６に示すような、画面内のある箇所が一定の画素値に固定されているような故障があることを考える。故障箇所以外は画面Ｇ０〜Ｇ５の各画面で変化がある動画を構成する画面であることを想定している。
【００８６】
図２７に示すように、画面の画素値ヒストグラムすなわち各画素値が何回使用されているかの頻度を取得し、複数画面で累計していくと、故障箇所は一定の画素値のみを示すため、当該画素値の頻度だけが大きくなることが推定される。例として画素値が５３で固定したとする場合、画面累計することにより画素値が５３のみが突出することが想定される。予め決めておいた故障判定閾値との比較を行い、故障と判定する。
【００８７】
ヒストグラムを累計する画面枚数、故障判定閾値の決め方は制限されない。またヒストグラムは単独の画素値単位ではなく画素値の範囲ごと（例えば５０〜５４等）であってもよい。
【００８８】
本変形例では、図２、４、１０と同様の構成でハッシュ導出回路の代わりにヒストグラム導出回路を備える。図２８に示すように、ヒストグラム導出回路３３ＦＧは画素データ取得回路３３Ｆ１と画素値ヒストグラム演算器３３Ｆ２Ｇとヒストグラムデータ記憶回路３３Ｆ３Ｇとを備える。画素データ取得回路３３Ｆ１で取得した画素データを元に、画素値ヒストグラム演算器３３Ｆ２Ｇで図２７に示すような画素値ごとのヒストグラムを導出し、ヒストグラムデータ記憶回路３３Ｆ３Ｇにピクチャの結果を保持する。なお、ヒストグラム演算は、例えば、特開２００８−３００９８０号公報（米国特許出願公開第２００８／０２９８６８５号明細書）に開示されている。
【００８９】
図２９に制御プログラムの動作フローを示す。以下、各ステップについて説明する。
【００９０】
ステップＳ１Ｆ：ＣＰＵ３５は下記のように変数の初期化を行う。
【００９１】
画面番号：ｎ＝０
ヒストグラム保存変数：for(i=0; i<K; i++ )  HistVar[i]=0
ステップＳ２：ＣＰＵ３５は制御回路３３１に指示することにより、ビデオ符号化回路３３にビデオ符号化を開始させる（StartVideoEncode(画面Ｇｎ)）。
【００９２】
ステップＳ３：ＣＰＵ３５はビデオ符号化回路３３からのビデオ符号化完了を検知する（DetectVideoEncodeEnd(画面Ｇｎ)）。
【００９３】
ステップＳ４Ｆ：ＣＰＵ３５は過去（Ｋ−１）画面分のヒストグラム保存変数を更新する。
for(i=1; i<K; i++) HistVar[i] = HistVar[i-1]
ステップＳ５Ｆ：ＣＰＵ３５は符号化完了画面Ｇｎのヒストグラムデータをビデオ符号化回路３３から読み出す（HistVar[0]＝Read(Hist Gn)）。
【００９４】
ステップＳＢ：ＣＰＵ３５は過去Ｋ画面分のヒストグラムデータを累計する。
TotalHistVar= 0
for(i=0; i<K; i++) TotalHistVar += HistVar[i]
ステップＳ６Ｆ：ＣＰＵ３５は画面番号がＫ以上かどうかを判断する（ｎ＞＝Ｋ？）。ＮＯの場合はステップＳ７Ｆに移り、ＹＥＳの場合はステップＳ８に移る。
【００９５】
ステップＳ７Ｆ：ＣＰＵ３５はTotalHistVar変数群が故障条件に適合するかどうかを判断する。ＮＯ（非適合）の場合はステップＳ８に移り、ＹＥＳ（適合）の場合はステップＳ９に移る。
【００９６】
ステップＳ８：ＣＰＵ３５は画面番号を更新し（ｎ＋＋）、ステップＳ２に戻る。
【００９７】
ステップＳ９：ＣＰＵ３５は固着故障を検出する。
【００９８】
ステップＳＡ：ＣＰＵ３５は故障検出時の処理を行う。
【００９９】
実施例の画面単位のハッシュの場合には、一部分の固着の検出はできない。なぜなら一部でも変化があるとハッシュ値は異なるものになるため。対して本実施例では一部分の固着による故障を検出することができる。
【０１００】
変形例７は変形例５または変形例６で示したような画面分割と組み合わせることで、画面内のどの箇所に故障が存在するかを判別できる。例えば１ピクセルごとに判定を行うと、ドット故障を検知できる。変形例７は変形例１で示したような輝度、色差ごとのデータ分割との組み合わせも可能である。
【０１０１】
以上、本発明者によってなされた発明を実施形態、実施例および変形例に基づき具体的に説明したが、本発明は、上記実施形態、実施例および変形例に限定されるものではなく、種々変更可能であることはいうまでもない。
【０１０２】
例えば、実施例およびその変形例では入力画面のハッシュを用いて故障検出を行うが、ハッシュではなく、入力画面の画素データそのものを用いて故障検出を行うようにしてもよい。
【０１０３】
また、実施例および変形例ではハッシュ導出回路またはヒストグラム導出回路を画像処理装置内のビデオ符号化回路に適用する例を説明したが、ここに限定するものではない。例えば、図２のカメラ信号処理回路、画像認識回路、グラフィック処理回路、表示処理回路のいずれか１つ、複数または全てにハッシュ導出回路またはヒストグラム導出回路を設けてもよい。これにより各回路での故障検出が可能となり、どこで故障が起こったかの特定が可能になる。
【０１０４】
また、実施例ではＡＤＡＳシステムを例に説明したが、カメラ映像を入力とする装置やシステムおよびカメラ映像以外の画像を入力とする装置やシステムに適用することができる。例えば、カメラ入力を持って自律動作や遠隔操作するようなロボットやドローン、車載カメラ、ドライブレコーダ、ネットワークカメラ、監視カメラに応用可能である。
【０１０５】
また、実施例および変形例ではビデオ符号化回路は専用ハードウェアで構成する例を説明したが、一部または全部をＣＰＵが実行するソフトフェアで構成してもよい。例えば、画面予測処理、ハッシュ導出処理、画面符号化処理、局所画面復号処理、エントロピー符号化処理などは、プログラムをメモリに記憶し、それをＣＰＵによって実行されるように構成しても良い。その場合、プログラムは例えばメモリ３６などの記憶装置に格納される。全部をＣＰＵで実行する場合は、画像処理装置３３０は、例えば図３０のようにＣＰＵ（演算回路）３５とメモリ（記憶回路）３６とを備え、プログラムはメモリ３６に格納される。処理をソフトウェアで行うことで専用のハードウェアが不必要となるため、チップ面積を縮小することが可能となる。
【０１０６】
＜付記＞
実施形態の一態様を下記する。
（１）画像処理装置は入力画面の画素値のヒストグラムデータを計算する演算器と前記ヒストグラムデータを記憶する記憶回路とを有するヒストグラム導出回路と、複数画面間で前記ヒストグラムデータを累積することによって、画面が変化しているか、停止しているかを判断して、停止している場合に故障として検出する故障検出回路と、を備える。
（２）上記（１）の画像処理装置において、
前記故障検出回路は、前記記憶回路のヒストグラムデータを読み出して複数画面間で累積することによって、画面が変化しているか、停止しているかを判断して、停止している場合に故障として検出するＣＰＵを備える。
（３）上記（２）の画像処理装置において、さらに、
ビデオ圧縮処理を行うビデオ符号化回路を備え、
前記ヒストグラム導出回路は前記ビデオ符号化回路に含まれ、入力画面のヒストグラムデータをビデオ符号化の処理ブロック順に順次計算する。
（４）上記（３）の画像処理装置において、
前記ヒストグラム導出回路は複数の前記演算器と複数の前記記憶回路とを備え、
前記ヒストグラム導出回路は入力画面の画素をビット列もしくは輝度・色差で分割して、分割したそれぞれの要素ごとに別のヒストグラムデータを前記複数の演算器で並列に計算し、前記ヒストグラムデータのそれぞれを前記複数の記憶回路に保存し、
前記ＣＰＵは前記複数の記憶回路のヒストグラムデータを読み出してそれぞれの要素ごとに複数画面間で累積して、故障を検出する。
（５）上記（３）の画像処理装置において、
前記ヒストグラム導出回路は、さらに、領域選択器と、複数の演算器と、複数の前記記憶回路と、を備え、
領域選択信号に基づいて前記領域選択器は複数の領域に分割した入力画面を前記複数の演算器のいずれかに入力し、
前記複数の演算器のそれぞれは、分割したそれぞれの領域ごとに別のヒストグラムデータを計算し、
前記複数の記憶回路は前記ヒストグラムデータのそれぞれを保存し、
前記ＣＰＵは前記複数の記憶回路のヒストグラムデータを読み出してそれぞれの領域ごとに複数画面間で累積して、故障を検出する。
（６）上記（３）の画像処理装置において、
前記ヒストグラム導出回路は領域選択器と複数の前記記憶回路とを備え、
前記ヒストグラム導出回路は入力画面を複数の領域に分割して、分割したそれぞれの領域ごとに別のヒストグラムデータを計算し、領域選択信号に基づいて前記領域選択器は前記ヒストグラムデータのそれぞれを前記複数の記憶回路に保存し、
前記ＣＰＵは前記複数の記憶回路のヒストグラムデータを読み出してそれぞれの領域ごとに複数画面間で累積して、故障を検出する。
（７）上記（３）の画像処理装置において、さらに、
カメラ装置からの映像信号を処理する映像信号処理回路を備え、
前記入力画面は前記映像信号処理回路で処理された画像である。
（８）上記（３）の画像処理装置において、
前記ビデオ符号化回路は画面予測回路と画面符号化回路と局所画面復号回路とエントロピー復号化回路とを備え、
前記入力画面は前記画面予測回路から出力されて前記画面符号化回路に入力される画面である。
【符号の説明】
【０１０７】
１・・・ＡＤＡＳシステム
２・・・カメラ装置
３・・・画像処理装置
３１・・・映像信号勝利装置
３１１・・・カメラ信号処理回路
３１２・・・画像認識回路
３１３・・・グラフィック処理回路
３２・・・表示処理回路
３３・・・ビデオ符号化回路
３３１・・・制御回路
３３２・・・メモリインタフェース回路
３３３・・・画像予測回路
３３４・・・画面符号化回路
３３５・・・エントロピー符号化回路
３３６・・・局所画面復号回路
３３Ｆ・・・ハッシュ導出回路
３３Ｆ１・・・画素データ取得回路
３３Ｆ２・・・ハッシュ演算器
３３Ｆ３・・・ハッシュ記憶回路
３４・・・ネットワーク伝送回路
３５・・・ＣＰＵ
３６・・・メモリ
３７・・・ＣＰＵバス
３８・・・メモリバス
４・・・第一表示装置
５・・・ネットワーク
６・・・映像・情報処理装置
７・・・第二表示装置
【図１】
2018107588.tif 000003
【図２】
2018107588.tif 000004
【図３】
2018107588.tif 000005
【図４】
2018107588.tif 000006
【図５】
2018107588.tif 000007
【図６】
2018107588.tif 000008
【図７】
2018107588.tif 000009
【図８】
2018107588.tif 000010
【図９】
2018107588.tif 000011
【図１０】
2018107588.tif 000012
【図１１】
2018107588.tif 000013
【図１２】
2018107588.tif 000014
【図１３】
2018107588.tif 000015
【図１４】
2018107588.tif 000016
【図１５】
2018107588.tif 000017
【図１６】
2018107588.tif 000018
【図１７Ａ】
2018107588.tif 000019
【図１７Ｂ】
2018107588.tif 000020
【図１８】
2018107588.tif 000021
【図１９】
2018107588.tif 000022
【図２０】
2018107588.tif 000023
【図２１】
2018107588.tif 000024
【図２２】
2018107588.tif 000025
【図２３】
2018107588.tif 000026
【図２４】
2018107588.tif 000027
【図２５】
2018107588.tif 000028
【図２６】
2018107588.tif 000029
【図２７】
2018107588.tif 000030
【図２８】
2018107588.tif 000031
【図２９】
2018107588.tif 000032
【図３０】
2018107588.tif 000033