(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-15
(45)【発行日】2024-11-25
(54)【発明の名称】ビデオカメラおよびビデオストリームを解析するための方法
(51)【国際特許分類】
G06T 1/20 20060101AFI20241118BHJP
H04N 19/85 20140101ALI20241118BHJP
H04N 23/60 20230101ALI20241118BHJP
【FI】
G06T1/20 Z
H04N19/85
H04N23/60 500
【外国語出願】
(21)【出願番号】P 2021040903
(22)【出願日】2021-03-15
【審査請求日】2024-03-14
(32)【優先日】2020-03-24
(33)【優先権主張国・地域又は機関】EP
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208205
【氏名又は名称】アクシス アーベー
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】ペンゼ, ミーケル
(72)【発明者】
【氏名】ヤルケモ, アダム
【審査官】小池 正彦
(56)【参考文献】
【文献】特開2012-109746(JP,A)
【文献】欧州特許出願公開第02521046(EP,A1)
【文献】中国特許出願公開第104506934(CN,A)
【文献】特表2019-537760(JP,A)
【文献】米国特許出願公開第2017/0339417(US,A1)
【文献】米国特許出願公開第2007/0150138(US,A1)
【文献】特開2009-015672(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/20
H04N 19/85
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
ビデオストリームを解析するためのビデオカメラであって、
前記ビデオストリームの画像フレームの画像データを取り込むように構成される画像センサ(402)と、
画像フレームの画像データをバッファリングするように構成される画像バッファ(410)と、
回路(420)とを備え、前記回路(420)は、
前記ビデオストリーム内の画像フレームのサブセットを、画像フレームの前記サブセットに関連するデータを評価することによって、非周期的に又は周期的に評価し、評価された各画像フレームについて、対応する第1の評価結果を出力するように構成され、1つの画像フレームの前記評価は前記ビデオストリームについての1/fpsより長い評価時間を有する、第1の評価関数(452)、
前記第1の評価関数(452)によって評価される各画像フレームについて、評価中であるとして前記画像フレームにマーク付けし、前記マーク付けされた画像フレームの画像データをバッファリングするように前記画像バッファに指示するように構成されるバッファ関数(454)、および、
利用可能になると、前記対応する第1の評価結果に基づいて画像フレームの各前記サブセットの画像データを評価するために前記画像バッファ(410)にアクセスし、対応する第2の評価結果を出力するように構成される第2の評価関数(456)
を実行するように構成される、ビデオカメラ。
【請求項2】
前記バッファ関数(454)は、前記出力された第2の評価結果に対応する1つの画像フレームの画像データを削除するように前記画像バッファ(410)に指令するように構成される、請求項1に記載のビデオカメラ。
【請求項3】
画像フレームのサブセットに関連する前記データは、画像フレームの前記サブセットの画像データ、および画像フレームの前記サブセットに時間的に対応する他のセンサデータのうちの1つまたは複数を含む、請求項1または2に記載のビデオカメラ。
【請求項4】
前記他のセンサデータを受信するように構成される送受信機(440)をさらに備える、請求項3に記載のビデオカメラ。
【請求項5】
前記他のセンサデータを取り込むように構成される1つまたは複数のセンサ(460)をさらに備える、請求項3または4に記載のビデオカメラ。
【請求項6】
前記第1の評価関数(452)は、物体検出関数、動き検出関数、変化検出関数、および画像区分化関数のうちの1つまたは複数を含む、請求項1から5のいずれか一項に記載のビデオカメラ。
【請求項7】
前記第2の評価関数(456)は、物体識別関数および物体分類関数の一方または両方を含む、請求項1から6のいずれか一項に記載のビデオカメラ。
【請求項8】
前記第1の評価結果は、前記第2の評価関数(456)によって評価される前記対応する画像データの領域の識別情報を含む、請求項1から7のいずれか一項に記載のビデオカメラ。
【請求項9】
前記バッファ関数(454)は、画像フレームの前記サブセットの1つの画像フレームを、前記画像フレームのヘッダーにデータを付加することによって評価中であるとしてマーク付けするように構成される、請求項1から8のいずれか一項に記載のビデオカメラ。
【請求項10】
前記バッファ関数(454)は、画像フレームの前記サブセットの1つの画像フレームに、前記第1の評価関数によって評価中である画像フレームに対する記録を更新することによって、評価中であるとしてマーク付けするように構成される、請求項1から9のいずれか一項に記載のビデオカメラ。
【請求項11】
複数の画像フレームを含むビデオストリームを解析するための方法であって、
第1の評価関数(452)によって、前記ビデオストリーム内の画像フレームのサブセットを、画像フレームの前記サブセットに関連するデータを評価することによって、非周期的に又は周期的に評価し(S302)、評価された各画像フレームについて、対応する第1の評価結果を出力する(S306)こと、ここで、1つの画像フレームの前記評価は前記ビデオストリームについての1/fpsより長い評価時間を有し、
前記第1の評価関数(452)によって評価される各画像フレームについて、評価中であるとして前記画像フレームにマーク付けし、前記マーク付けされた画像フレームの画像データをバッファリングするように画像バッファ(410)に指示する(304)こと、
前記画像バッファ(410)にアクセスするように構成される第2の評価関数(454)によって、利用可能になると、前記対応する第1の評価結果に基づいて画像フレームの各前記サブセットの画像データを評価する(S308)こと、および、
画像フレームの各前記サブセットについて、対応する第2の評価結果を出力する(S310)こと
を含む、方法。
【請求項12】
画像フレームのサブセットに関連する前記データは、画像フレームの前記サブセットの画像データ、および画像フレームの前記サブセットに時間的に対応する他のセンサデータのうちの1つまたは複数を含む、請求項11に記載の方法。
【請求項13】
非一時的コンピュータ可読記憶媒体であって、非一時的コンピュータ可読記憶媒体上に記憶された命令を有し、前記命令は、処理能力を有するデバイス上で実行されると、請求項11または12に記載の方法を実装するためのものである、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオカメラおよび評価関数のカスケードを使用してビデオストリームを解析するための方法ならびに特に、そのような評価関数のカスケードを使用するビデオ解析の実行中における画像バッファ使用に関する。
【背景技術】
【0002】
ビデオ解析は評価関数のカスケードを使用して実施することができる。例えば、第1の評価関数Algo1は、ビデオストリームにおいて第1の評価、例えば顔検出を行うために専用であり、第2の評価関数Algo2は、Algo1によって検出される顔に対して第2の評価、例えば顔認識を行うために専用である。典型的には、Algo1からの出力は、メタデータ、例えば、顔が検出されたビデオストリーム内のビデオフレームのタイムスタンプおよびビデオフレーム内の顔の座標からなる。Algo2は、その後、タイムスタンプを使用することによって、ビデオストリーム内のビデオフレームを識別し、メタデータで与えられる座標から顔領域(複数可)を切り抜き、さらなる解析、例えば、顔認識を行うことができる。したがって、Algo1はビデオフレームの多くのフレームを評価する必要があるが、Algo2は、Algo1が重要であるとしえマーク付けした、この例では、検出される顔を含むものとしてマーク付けしたフレームのサブセットに関心があるだけである。
【0003】
Algo1が重要であるとしてマーク付けした画像フレームをAlgo2が評価することができることを保全するために、或る年齢までの画像フレームに関連する画像データがバッファリングされる必要がある。これは、Algo1が重要であるとマーク付けした画像フレームに関連する画像データをAlgo2が入手できることを保証する。典型的には、画像フレームに関連する画像データは、種々の性能上の理由で未処理画像データである必要がある。バッファリングされる必要がある画像データの量は、特に、Algo1が、画像データの取り込みとメタデータ送出との間に何らかのレイテンシを有する場合、きわめて大きくなる可能性がある。1つの例によれば、画像データの取り込みとメタデータ送出との間のレイテンシは250msであり、画像データは、60フレーム/秒、fpsのレートで取り込まれる。この例によれば、少なくとも15(60fps*0.25s)のフル解像度未処理画像がバッファリングされる必要がある。Algo1のレイテンシが上がる場合、さらに多くの画像データがバッファリングされる必要がある。
【0004】
しかしながら、画像バッファのサイズは、特に、上記で述べたビデオ解析が典型的に実施されるビデオカメラについてしばしば制限される。したがって、評価関数のカスケードを含むビデオ解析を開発する必要性が存在する。
【発明の概要】
【0005】
当技術分野における上記で識別された欠点および不利益の1つまたは複数を単独でまたは任意の組み合わせで軽減し、緩和し、またはなくし、また、上記で述べた問題を少なくとも部分的に解決することが目的である。
【0006】
第1の態様によれば、ビデオカメラが提供される。ビデオカメラはビデオストリームを解析するように構成される。特に、ビデオカメラは、評価関数のカスケードを使用してビデオストリームを解析するように構成される。ビデオカメラは、画像センサと画像バッファと回路を備える。画像センサはビデオストリームの画像フレームの画像データを取り込むように構成される。画像バッファは画像フレームの画像データをバッファリングするように構成される。回路は、第1の評価関数、バッファ関数、および第2の評価関数を実行するように構成される。第1の評価関数は、ビデオストリーム内の画像フレームのサブセットを、画像フレームのサブセットに関連するデータを評価することによって評価するように構成される。第1の評価関数は、評価された各画像フレームについて、対応する第1の評価結果を出力するように構成される。1つの画像フレームの評価はビデオストリームについての1/fpsより長い評価時間を有する。バッファ関数は、第1の評価関数によって評価される各画像フレームについて、評価中であるとして画像フレームにマーク付けし、マーク付けされた画像フレームの画像データをバッファリングするように画像バッファに指示するように構成される。第2の評価関数は、利用可能になると、対応する第1の評価結果に基づいて画像フレームの各サブセットの画像データを評価するために画像バッファにアクセスするように構成される。第2の評価関数は、対応する第2の評価結果を出力するように構成される。
【0007】
評価関数のカスケードにおいて、第1の評価関数が、ビデオストリームについての1/fpsより長いレイテンシを有し、第2の評価関数が、その評価を実施するために第1の評価関数からの結果を必要とすることが留意される。ビデオ解析の実行中に、特に、評価関数のカスケードを使用するビデオ解析の実行中に画像データをバッファリングする方法に関して本発明者等が行った洞察によれば、画像バッファメモリ節約を行うことができる。第1の評価関数がビデオストリームのどの画像フレームを評価しているかを指示することは、評価中の画像フレームの画像データをバッファリングするだけであることを可能にする。したがって、画像バッファのメモリ使用を節約することができる。
【0008】
画像バッファは、取り込まれる全ての画像フレームの画像データを最初にバッファリングするように構成することができる。バッファ関数は、画像フレームのサブセットの特定の画像フレームの画像データをバッファリングするように画像バッファに指示するとき、画像フレームであって、特定の画像フレームに時間的に先行し、評価中であるとしてマーク付けされない、画像フレームの画像データを削除するように画像バッファに指令するように構成することができる。
【0009】
バッファ関数は、出力された第2の評価結果に対応する1つの画像フレームの画像データを削除するように画像バッファに指令するように構成することができる。
【0010】
画像フレームのサブセットに関連するデータは、画像フレームのサブセットの画像データ、および画像フレームのサブセットに時間的に対応する他のセンサデータのうちの1つまたは複数を含むことができる。
【0011】
ビデオカメラは、他のセンサデータを受信するように構成される送受信機を備えることができる。
【0012】
ビデオカメラは、他のセンサデータを取り込むように構成される1つまたは複数のセンサをさらに備えることができる。
【0013】
第1の評価関数は、物体検出関数、動き検出関数、変化検出関数、および画像区分化関数のうちの1つまたは複数を含むことができる。
【0014】
第2の評価関数は、物体識別関数および物体分類関数の一方または両方を含むことができる。
【0015】
第1の評価結果は、第2の評価関数によって評価される、対応する画像データの領域の識別情報(identification)を含むことができる。
【0016】
バッファ関数は、画像フレームのサブセットの1つの画像フレームに、画像フレームのヘッダーにデータを付加することによって評価中であるとしてマーク付けするように構成することができる。
【0017】
バッファ関数は、画像フレームのサブセットの1つの画像フレームに、第1の評価関数によって評価中である画像フレームに対する記録(register)を更新することによって、評価中であるとしてマーク付けするように構成することができる。
【0018】
第2の態様によれば、複数の画像フレームを含むビデオストリームを解析するための方法が提供される。方法はビデオ解析法である。ビデオ解析は評価関数のカスケードを使用して行うことができる。方法は、
第1の評価関数によって、ビデオストリーム内の画像フレームのサブセットを、画像フレームのサブセットに関連するデータを評価することによって評価し、評価された各画像フレームについて、対応する第1の評価結果を出力することであって、1つの画像フレームの評価はビデオストリームについての1/fpsより長い評価時間を有する、評価し、出力すること、
第1の評価関数によって評価される各画像フレームについて、評価中であるとして画像フレームにマーク付けし、マーク付けされた画像フレームの画像データをバッファリングするように画像バッファに指示すること、
画像バッファにアクセスするように構成される第2の評価関数によって、利用可能になると、対応する第1の評価結果に基づいて画像フレームの各サブセットの画像データを評価すること、および、
画像フレームの各サブセットについて、対応する第2の評価結果を出力すること
を含む。
【0019】
方法は、画像バッファによって、ビデオストリーム内の全ての画像フレームの画像データを、それを取り込むと、最初にバッファリングすることを含むことができる。画像フレームのサブセットの特定の画像フレームの画像データをバッファリングするように画像バッファに指示するステップ/動作は、画像フレームであって、特定の画像フレームに時間的に先行し、評価中であるとしてマーク付けされない、画像フレームの画像データを削除するように画像バッファに指令することを含む。
【0020】
ビデオカメラの上記で述べた特徴は、適用可能である場合、この第2の態様の方法にも適用される。不当な反復を回避するために、参照が上記に対して行われる。
【0021】
第3の態様によれば、非一時的コンピュータ可読記憶媒体が提供される。非一時的コンピュータ可読記憶媒体は、その上に記憶された命令を有し、命令は、処理能力を有するデバイス上で実行されると、第2の態様による方法を実装するためのものであ。デバイスは、ビデオカメラ、例えば、第1の態様のビデオカメラであるとすることができる。デバイスはビデオ管理サーバーであるとすることができる。
【0022】
本開示の適用性のさらなる範囲は、以下で示す詳細な説明から明らかになるであろう。しかしながら、本発明の範囲内の種々の変更および修正が、この詳細な説明から当業者に明らかになるため、詳細な説明および特定の例が、本発明の好ましい実施形態を示しながら、例証としてのみ示されることが理解されるべきである。
【0023】
したがって、本発明が、述べるデバイスの特定のコンポーネント部品または述べる方法の特定の動作に限定されず、なぜならば、そのようなデバイスおよび方法が変動する場合があるからであることが理解される。本明細書で使用される用語が特定の実施形態を述べるためのものに過ぎず、制限的であることを意図されないことも理解される。本明細書および添付特許請求の範囲で使用するとき、冠詞「1つの(a)」、「1つの(an)」、「その(the)」、および「(said)」が、別段に文脈が明確に指示しない限り、要素の1つまたは複数が存在することを意味することを意図されることが留意されなければならない。そのため、例えば、「1つのユニット(a unit)」または「そのユニット(the unit)」に対する言及は、幾つかのデバイスおよび同様なものを含むことができる。さらに、語「備えている(comprising)」、「含んでいる(including)」、「含んでいる(containing)」、および同様な語は、他の要素またはステップを排除しない。
【0024】
本発明の上記のおよび他の態様は、ここで、添付図を参照してより詳細に述べられる。図は、制限的であると考えられるべきでない;代わりに、図は、説明し理解するために使用される。
【0025】
図に示すように、層および領域のサイズは、例証のために誇張することができ、したがって、全体的な構造を示すために提供される。同様の参照符号は全体と通して同様の要素を指す。
【図面の簡単な説明】
【0026】
【
図1】従来技術による評価関数のカスケードを使用するビデオ解析のためのレイテンシおよび画像バッファ使用を概略的に示す図である。
【
図2】本発明による評価関数のカスケードを使用するビデオ解析のためのレイテンシおよび画像バッファ使用を概略的に示す図である。
【
図3】複数の画像フレームを含むビデオストリームを解析するための方法のブロックスキームである。
【
図4】評価関数のカスケードを使用してビデオ解析を実施するように構成されるビデオカメラを概略的に示す図である。
【発明を実施するための形態】
【0027】
本発明は、ここで、現在のところ好ましい本発明の実施形態が示される添付図面を参照して以降でより完全に述べられるであろう。しかしながら、本発明は、多くの異なる形態で具現化することができ、本明細書で述べる実施形態に限定されるものと解釈されるべきでない;むしろ、これらの実施形態は、徹底さおよび完全さ(thoroughness and completeness)のために、また、本発明の範囲を当業者に完全に伝えるために提供される。
【0028】
図1に関連して、従来技術による評価関数のカスケードを使用するビデオ解析のための画像バッファ使用が論じられる。背景の節で述べたのと同じように、ビデオ解析は、評価関数のカスケードを使用して実施することができる。評価関数のカスケードが第1の評価関数および第2の評価関数を含むと仮定する。第2の評価関数は、第1の評価関数が準備できると、実施され始めることができるだけである。したがって、第2の評価関数は、第1の評価関数からの結果に依存する。
図1に関連して論じられる例では、ビデオストリームの画像フレームα、β、およびxは第1の評価関数によって評価される。画像フレームαの評価は時刻Aで始まり、第1の評価関数による評価からの結果は時刻A’で準備ができる。画像フレームβの評価は時刻Bで始まり、第1の評価関数による評価からの結果は時刻B’で準備ができる。画像フレームxの評価は時刻Cで始まり、第1の評価関数による評価からの結果は時刻C’で準備ができる。これは、
図1の上部分に示され、ビデオストリームは、タイムラインに沿って配置された複数の連続画像フレームによって示される。画像フレームα、β、およびxはビデオストリーム内でマーク付けされる。さらに、異なる時刻A、A’、B、B’、C、およびC’はタイムライン上でマーク付けされる。
図1では、第1の評価関数のレイテンシは、実施される各評価について等しく長い。したがって、レイテンシA-A’、B-B’、およびC-C’は等しく長い。第1の評価関数によって実施される評価が、ビデオストリームについての1/fpsより長い評価時間を有することが留意される。
【0029】
実行されるために、第2の評価関数は、第1の評価関数によって評価される画像フレームに関連する画像データおよび第1の評価関数によって実施される評価からの結果を入手できる必要がある。典型的には、第2の評価関数は、第1の評価関数によって評価される画像フレームに関連する、未処理画像データまたは少なくとも非圧縮画像データを入手できる必要がある。そのため、第1の評価関数によって評価される画像フレームに関連する画像データを第2の評価関数が入手できることを保全するために、或る年齢までの画像フレームに関連する画像データが画像バッファ内にバッファリングされる必要がある。これは、
図1の下部分で詳細に述べられる。画像フレームに関連する画像データは画像バッファ内に連続的にバッファリングされる。
図1では、時刻A’、B’、およびC’における画像バッファ使用が論じられる。
【0030】
時刻A’までに、A’以前の全ての画像フレームに関連する画像データが画像バッファ内に連続的にバッファリングされた。これは、
図1の下部分において「A’:」で示される。時刻A’にて、画像フレームαの第1評価関数による評価が終了する。画像フレームα以前の画像フレームに関連する全ての画像データは、その後、廃棄することができる、すなわち、時刻A以前の画像フレームに関連する画像データは、画像バッファから除去することができる。しかしながら、時刻A後の画像フレームに関連する全ての画像データは、画像バッファ内に依然として維持されなければならない。これは、第2の評価関数が、時刻A後のどの画像データを入手できる必要があるかが依然としてわかっていないからである。したがって、時刻A後の画像フレームに関連する全ての画像データは、第1の評価関数からの新しい結果が準備できるまでバッファリングされる必要がある。
【0031】
時刻A~時刻B’まで、これらの2つの時刻の間の画像フレームに関連する画像データはバッファリングされる必要があり、これは、
図1の下部分において「B’:」で示される。時刻B’にて、画像フレームβの第1評価関数による評価が終了する。画像フレームβ以前の画像フレームに関連する全ての画像データは廃棄することができる、すなわち、時刻B以前の画像フレームに関連する画像データは、画像バッファから除去することができる。これは、画像フレームαに関連する画像データが画像バッファ内に依然として必要とされる場合があるという例外を有する。これは、第2の評価関数がαを評価することをまだ終えていない場合があるからである。しかしながら、第2の評価関数がαの評価を終えると、画像フレームαに関連する画像データは、画像バッファから除去することができる。さらに、時刻B後の画像フレームに関連する全ての画像データは、画像バッファ内に依然として維持されなければならない。これは、第2の評価関数が、時刻B後のどの画像データを入手できる必要があるかが依然としてわかっていないからである。したがって、時刻B後の画像フレームに関連する全ての画像データは、第1の評価関数からの新しい結果が準備できるまでバッファリングされる必要がある。
【0032】
時刻B~時刻C’まで、これらの2つの時刻の間の画像フレームに関連する画像データはバッファリングされる必要があり、これは、
図1の下部分において「C’:」で示される。時刻C’にて、画像フレームxの第1評価関数による評価が終了する。画像フレームx以前の画像フレームに関連する全ての画像データは廃棄することができる、すなわち、時刻B以前の画像フレームに関連する画像データは、画像バッファから除去することができる。これは、画像フレームαおよびβに関連する画像データが画像バッファ内に依然として必要とされる場合があるという例外を有する。これは、第2の評価関数がαおよび/またはβを評価することをまだ終えていない場合があるからである。しかしながら、第2の評価関数がαおよび/またはβの評価を終えると、画像フレームαおよび/またはβに関連する画像データは、画像バッファから除去することができる。さらに、時刻C後の画像フレームに関連する全ての画像データは、画像バッファ内に依然として維持されなければならない。これは、第2の評価関数が、時刻C後のどの画像データを入手できる必要があるかが依然としてわかっていないからである。したがって、時刻C後の画像フレームに関連する全ての画像データは、第1の評価関数からの新しい結果が準備できるまでバッファリングされる必要がある。
【0033】
ここで
図2を参照すると、
図2に関連して、本発明による評価関数のカスケードを使用するビデオ解析のための画像バッファ使用が論じられる。やはり、評価関数のカスケードが第1の評価関数および第2の評価関数を含むと仮定される。第2の評価関数は、第1の評価関数が準備できると、実施され始めることができるだけである。したがって、第2の評価関数は、第1の評価関数からの結果、すなわち、第1の評価関数から出力される第1の評価結果に依存する。ビデオストリームの画像フレームα、β、およびxに関連するデータは、第1の評価関数によって評価される。ビデオストリームの画像フレームα、β、およびxに関連するデータは、それぞれの画像フレームα、β、およびxに関連する画像データであるとすることができる。そのような画像データは、未処理画像データまたは少なくとも非圧縮画像データであるとすることができる。代替的にまたは組み合わせて、画像フレームα、β、およびxに関連するデータは、別のタイプのセンサからのデータであるとすることができる。そのようなデータは、今後、センサデータと呼ばれることになる。そのようなセンサデータを生成するために使用することができるセンサの例は、RADARセンサ、LIDARセンサ、PIRセンサ、および/またはマイクロフォンである。第1の評価関数によって解析される画像フレームに関連するデータは、それぞれの画像フレームの画像データと同時に取り込まれる。したがって、第1の評価関数によって評価されるデータは、それぞれの画像フレームの画像データと時間的に相関する。したがって、第1の評価関数によって評価されるデータは、第2の評価関数によって評価されるのと同じ画像データであるとすることができる。代替的にまたは組み合わせて、第1の評価関数によって評価されるデータは別のセンサデータであるとすることができる。別のセンサデータは、典型的には、第2の評価関数によって評価される画像データと相関する。
【0034】
画像フレームαに関連するデータの第1の評価関数による評価は時刻Aで始まり、評価からの結果は時刻A’で準備できる。画像フレームβに関連するデータの第1の評価関数による評価は時刻Bで始まり、評価からの結果は時刻B’で準備できる。画像フレームxに関連するデータの第1の評価関数による評価は時刻Cで始まり、評価からの結果は時刻C’で準備できる。これは、
図2の上部分に示され、ビデオストリームは、タイムラインに沿って配置された複数の連続画像フレームによって示される。画像フレームα、β、およびxはビデオストリーム内でマーク付けされる。さらに、異なる時刻A、A’、B、B’、C、およびC’はタイムライン上でマーク付けされる。
【0035】
図2では、第1の評価関数のレイテンシは、実施される各評価について等しく長い。したがって、レイテンシA-A’、B-B’、およびC-C’は等しく長い。しかしながら、第1の評価関数のレイテンシが変動する場合があることが留意される。第1の評価関数についてのレイテンシの変動は、例えば、第1の評価関数に対する入力データの組成によって変動する場合がある。第1の評価関数によって実施される評価が、ビデオストリームについての1/fpsより長い評価時間を有することが留意される。
【0036】
図3を参照すると、複数の画像フレームを含むビデオストリームを解析するための方法300のブロックスキームが最初に論じられる。方法は、ビデオストリーム内の画像フレームのサブセットを第1の評価関数によって評価するS302ことを含み、第1の評価関数は、ビデオストリーム内の画像フレームのサブセットを評価するように構成される。第1の評価関数によって行われる評価は、画像フレームのサブセットに関連するデータを評価することによって実施される。画像フレームのサブセットに関連するデータは、それぞれの画像フレームの画像データであるとすることができる。画像フレームのサブセットに関連するデータは、それぞれの画像フレームに時間的に相関するセンサデータであるとすることができる。センサデータは、例えば、RADARセンサ、LIDARセンサ、PIRセンサ、および/またはマイクロフォンによって生成することができる。ビデオストリーム内の1つの画像フレームに関連するデータを評価するS302ことが終了すると、方法は、対応する第1の評価結果を出力するS306ことを含む。したがって、第1の評価関数は、評価された各画像フレームについて、対応する第1の評価結果を出力するように構成される。第1の評価関数によって実施される1つの画像フレームに関連するデータの評価は、ビデオストリームについての1/fpsより長い評価時間を有する。
【0037】
画像バッファ使用についての従来技術のスキームと同じように、本スキームによる第2の評価関数は、実行されるために、第1の評価関数によって評価される画像フレームに関連する画像データおよび第1の評価関数によって実施される評価からの第1の結果を入手できる必要がある。典型的には、第2の評価関数は、第1の評価関数によって評価される画像フレームに関連する、未処理画像データまたは少なくとも非圧縮画像データを入手できる必要がある。したがって、第1の評価関数によって評価される画像フレームに関連する画像データは、画像バッファ内にバッファリングされる必要がある。
図3を参照すると、これは、第1の評価関数によって評価される各画像フレームについて、評価中であるとして画像フレームにマーク付けし、マーク付けされた画像フレームの画像データをバッファリングするように画像バッファに指示するS304ことによって行われる。
【0038】
さらに、画像バッファは、ビデオストリーム内の全ての画像フレームの画像データを、それを取り込むと、最初にバッファリングするように構成することができる。そうすると、画像フレームのサブセットの特定の画像フレームの画像データをバッファリングするように画像バッファに指示するS304ステップ/動作は、画像フレームであって、特定の画像フレームに時間的に先行し、評価中であるとしてマーク付けされない、画像フレームの画像データを削除するように画像バッファに指令することを含む。
【0039】
したがって、画像バッファは、第1の評価関数によって評価される画像フレームに対応する画像データをバッファリングする「だけ(only)」であるように指令される。これは、
図2の下部分に示される。第1の評価関数による評価の開始時に、画像バッファは、評価中である画像フレームに属する画像データをバッファリングするように指令される。したがって、時刻Aにて、画像バッファは、画像フレームαに属する画像データをバッファリングするように指令される。時刻Bにて、画像バッファは、画像フレームβに属する画像データをバッファリングするように指令される。時刻Cにて、画像バッファは、画像フレームxに属する画像データをバッファリングするように指令される。これは、
図2の左下部分に示される。時刻Aにて、画像フレームαの画像データがバッファリングされることが留意される。しかしながら、時刻Bにて、両方の画像フレームαおよびβの画像データがバッファリングされる。これは、第2の評価関数がαを評価することをまだ終えていない場合があるからである。さらに、時刻Cにて、画像フレームα、β、およびxの画像データがバッファリングされる。これは、第2の評価関数がαおよび/またはβを評価することをまだ終えていない場合があるからである。しかしながら、第2の評価関数が、1つの画像フレームに関連する画像データの評価を終えると、そのような画像データは、画像バッファから除去することができる。
【0040】
図2の右下部分に示すように、時刻A’にて、画像バッファは、1つのさらなる画像フレーム、すなわち、時刻A’で取り込まれる画像フレームの画像データを保持することができる。これは、画像バッファが、ビデオストリーム内の全ての画像フレームの画像データを、それを取り込むと、最初にバッファリングするように構成することができるからである。しかしながら、そうすると、画像フレームのサブセットの特定の画像フレームの画像データをバッファリングするように画像バッファに指示するS304ステップ/動作は、画像フレームであって、特定の画像フレームに時間的に先行し、評価中であるとしてマーク付けされない、画像フレームの画像データを削除するように画像バッファに指令することを含む。その結果、時刻B’にて、画像バッファは、1つのさらなる画像フレーム、すなわち、時刻B’で取り込まれる画像フレームの画像データを保持することになり、時刻C’にて、画像バッファは、1つのさらなる画像フレーム、すなわち、時刻C’で取り込まれる画像フレームの画像データを保持することになる。バッファリングされるために必要とされる画像データの量が、
図1に関連して示す従来技術のスキームと比較して実質的に減少することが留意される。
【0041】
再び、
図3参照すると、第1の評価関数によって評価され、画像バッファ内にバッファリングされる画像フレームの各サブセットの画像データを評価するS308ことは、第2の評価関数によって行われる。したがって、第2の評価関数は、利用可能になると、対応する第1の評価結果に基づいて画像フレームの各サブセットの画像データを評価するために画像バッファにアクセスするように構成される。第2の評価関数は、1つの画像フレームの画像データを評価する準備ができると、結果を、対応する第2の評価結果として出力するS310ようにさらに構成することができる。
【0042】
方法300は、第2の評価結果を出力するS310と、第2の評価関数によって評価される画像フレームの画像データを画像バッファから除去するS312ことをさらに含むことができる。
【0043】
図4に関連して、上記
図2および
図3に関連して論じたカスケードビデオ解析を実施するように構成されるビデオカメラ400が論じられる。したがって、ビデオカメラ400は、ビデオカメラ400によって取り込まれるビデオストリームを解析するように構成される。ビデオカメラ400はモニタリングカメラであるとすることができる。ビデオカメラ400は固定であるとすることができる。ビデオカメラ400は、乗り物などの移動物体上に取り付けられるビデオカメラであるとすることができる。ビデオカメラ400は人が装着することができる。ビデオカメラ400は、画像センサ402、画像バッファ410、および回路420を備える。
【0044】
画像センサ402は、ビデオストリームの画像フレームの画像データを取り込むように構成される。画像センサおよび画像データの取り込みは、当業者にとってよく知られており、本開示においてより詳細に論じられない。
【0045】
画像バッファ410は、画像フレームの画像データをバッファリングするように構成される。画像バッファ410は、典型的には、処理されている間に、画像データを一時的に記憶するために使用される物理的メモリ記憶域の或る領域または部分である。典型的には、画像データは、画像センサ402によって取り込まれると、画像バッファ410に記憶される。しかしながら、画像バッファ410は、関数間で画像データを移動させるときに使用することができる。画像バッファ410は、ハードウェアで固定メモリ場所において、または、物理的メモリ記憶域内の或る場所を指すソフトウェアで仮想データバッファを使用することによって実装することができる。全ての場合に、画像バッファ410に記憶される画像データは物理的記憶媒体上に記憶される。画像バッファ410は、ソフトウェアで実装することができ、典型的には、画像データを一時的に記憶するランダムアクセスメモリRAMを使用する。RAMを使用することは、ハードディスクドライブと比較してアクセス時間がずっと速いため、有利であるとすることができる。画像バッファは、典型的には、画像データが受信されるレートと画像データを処理できるレートとの間に差が存在するときに使用される。
【0046】
ビデオカメラ400は、ビデオエンコーダー430、送受信機440、およびメモリ450のうちの1つまたは複数をさらに備えることができる。
【0047】
ビデオエンコーダー430は、画像センサ402によって取り込まれる画像フレームの画像データをエンコードしてエンコード済みビデオストリームにするように構成される。ビデオエンコーダー430は、ビデオストリームの画像の一部をキーフレームとしてエンコードするように構成される。キーフレームは、他のエンコード済みビデオフレームからの情報がデコードされることを要求しないエンコード済みビデオフレームである。したがって、キーフレームは、キーフレームがそれに対応するように設定されるビデオデータの画像からの情報に基づいてエンコードされる。典型的には、画像をエンコードしてキーフレームにするために、画像内の類似性が使用される。ビデオエンコーディングにおいて、キーフレームは、しばしばIフレームと呼ばれるイントラフレームとしても知られる。ビデオエンコーダー430は、2つのキーフレームの間のビデオストリームの画像をデルタフレームとしてエンコードするようにさらに構成される。典型的には、デルタフレームは、1つのフレームから次のフレームまでに起こる変化を含むだけである。したがって、デルタフレームは、典型的には、キーフレームより少ないデータを含む。ビデオエンコーディングにおいて、デルタフレームは、しばしばPフレームまたはBフレームと呼ばれるインターフレームとしても知られる。Pフレームは、データ参照用の先行フレームを指す。したがって、先行フレームのコンテンツは、Pフレームをデコードするためにわかっていなければならない。Bフレームは、データ参照用の先行フレームと前方フレームの両方を指すことができる。したがって、先行フレームと前方フレームの両方のコンテンツは、Bフレームをデコードするためにわかっていなければならない。
【0048】
送受信機440は、ビデオカメラ400へおよび/またはから情報を受信および/または送信するように構成される。送受信機440は、ビデオストリームのエンコード済みバージョンを送出するように構成される。しかしながら、送受信機440は、他の情報/データも受信および/または送信するように構成することができる。例えば、送受信機440は、センサからのセンサデータを受信するように構成することができる。センサの例は、LASERセンサ、LIDARセンサ、PIRセンサ、およびマイクロフォンである。
【0049】
メモリ450は、バッファ、フラッシュメモリ、ハードドライブ、取り外し可能媒体、揮発性メモリ、不揮発性メモリ、ランダムアクセスメモリ(RAM)、または別の適切なデバイスのうちの1つまたは複数であるとすることができる。例えば、メモリ450は画像バッファ410を含むことができる。典型的な配置構成において、メモリ450は、長期データ記憶用の不揮発性メモリ、および、回路420用のシステムメモリとして機能する揮発性メモリを含むことができる。メモリ450は、データバスを通じて回路420とデータを交換することができる。メモリ450と回路420との間の付随する制御ラインおよびアドレスバスを同様に提示することができる。メモリ450は、ビデオストリームのエンコード済みバージョンおよび/またはビデオカメラ400によって生成されるメタデータを記憶するようにさらに構成することができる。
【0050】
回路420は、ビデオカメラ400の全体の関数を実施するように構成される。回路420は、中央処理ユニット(CPU)、マイクロコントローラー、またはマイクロプロセッサなどのプロセッサ422を含むことができる。プロセッサ422は、ビデオカメラ400の関数を実施するために、メモリ450内に記憶されたプログラムコードを実行するように構成される。
【0051】
ビデオカメラ400の関数は、ビデオカメラ400の非一時的コンピュータ可読媒体(例えば、メモリ450)上に記憶され、回路420によって(例えば、プロセッサ422を使用して)実行される実行可能論理ルーチン(例えば、コード行(lines of code)、ソフトウェアプログラムなど)の形態で具現化することができる。さらに、ビデオサーバー400の関数は、独立型ソフトウェアアプリケーションであるかまたはビデオカメラ400に関連するさらなるタスクを実施するソフトウェアアプリケーションの一部を形成することができる。述べる関数は、対応するデバイスがそれを実行するように構成される方法と考えることができる。同様に、述べる関数はソフトウェアで実装することができるが、そのような機能は、専用ハードウェアまたはファームウェア、あるいは、ハードウェア、ファームウェア、および/またはソフトウェアの何らかの組み合わせによって実施することもできる。
【0052】
回路420は、第1の評価関数452、バッファ関数454、および第2の評価関数456を実行するように構成される。
【0053】
第1の評価関数452は、ビデオストリーム内の画像フレームのサブセットを評価するように構成される。これは、画像フレームのサブセットに関連するデータを評価することによる。画像フレームのサブセット内の1つの画像フレームに関連するデータは特定の画像フレームの画像データであるとすることができる。しかしながら、代替的にまたは組み合わせて、画像フレームのサブセット内の1つの画像フレームに関連するデータはセンサデータであるとすることができる。センサデータは、任意のタイプのセンサが生成することができる。そのようなセンサデータを生成するために使用することができるセンサの例は、RADARセンサ、LIDARセンサ、PIRセンサ、および/またはマイクロフォンである。センサは、ビデオカメラ400の外部にあるとすることができる。そのような場合、送受信機440は、他のセンサデータを受信するように構成することができる。代替的にまたは組み合わせて、センサをビデオカメラ400に含むことができ、ビデオカメラは1つまたは複数のセンサ460を備えることができる。そのような場合、ビデオカメラ400のセンサ460はセンサデータを生成するように構成することができる。
【0054】
第1の評価関数452によって解析される1つの画像フレームに関連するデータは、それぞれの画像フレームの画像データと同時に取り込まれる。したがって、第1の評価関数452によって評価されるデータは、それぞれの画像フレームと時間的に相関する。したがって、第1の評価関数452によって評価されるデータは、第2の評価関数456によって後で評価されることになるものと同じ画像データであるとすることができる。代替的にまたは組み合わせて、第1の評価関数452によって評価されるデータは他のセンサデータであるとすることができる。他のセンサデータは、典型的には、第2の評価関数456によって評価される画像データと時間的に相関する。1つの画像フレームの評価は、ビデオストリームについての1/fpsより長い評価時間を有する。非制限的な例によれば、評価時間は250msであり、ビデオストリームは60fpsで取り込まれる。この例によれば、第1の評価関数の評価が1回実行される間に、少なくとも15(60fps*0.25s)画像フレームが生成されることになる。
【0055】
第1の評価関数452は、評価された各画像フレームについて、対応する第1の評価結果を出力するようにさらに構成される。第1の評価結果は、第2の評価関数456によって評価される、対応する画像データの領域の識別情報を含むことができる。
【0056】
第1の評価関数452は、物体検出関数、動き検出関数、変化検出関数、および画像区分化関数のうちの1つまたは複数を含むことができる。
【0057】
バッファ関数454は、第1の評価関数452によって評価される各画像フレームについて、評価中であるとして画像フレームにマーク付けし、マーク付けされた画像フレームの画像データをバッファリングするように画像バッファ410に指示するように構成される。バッファ関数454は、取り込まれる全ての画像フレームの画像データを最初にバッファリングするように構成することができる。画像バッファ410は、取り込まれる全ての画像フレームの画像データを最初にバッファリングするように構成することができる。バッファ関数454は、画像フレームのサブセットの特定の画像フレームの画像データをバッファリングするように画像バッファ410に指示するとき、画像フレームであって、特定の画像フレームに時間的に先行し、評価中であるとしてマーク付けされない、画像フレームの画像データを削除するように画像バッファ410に指令するように構成することができる。バッファ関数454は、画像フレームのサブセットの1つの画像フレームに、画像フレームのヘッダーにデータを付加することによって評価中であるとしてマーク付けするように構成することができる。代替的にまたは組み合わせて、バッファ関数454は、画像フレームのサブセットの1つの画像フレームに、第1の評価関数452によって評価中である画像フレームに対する記録を更新することによって、評価中であるとしてマーク付けするように構成することができる。
【0058】
第2の評価関数456は、対応する第1の評価結果が利用可能になると、対応する第1の評価結果に基づいて、第1の評価関数452によって評価される1つの画像フレームの画像データを評価するために画像バッファ410にアクセスするように構成される。第2の評価関数456は、対応する第2の評価結果を出力するようにさらに構成される。第2の評価関数456は、物体識別関数および物体分類関数の一方または両方を含むことができる。
【0059】
バッファ関数454は、出力された第2の評価結果に対応する1つの画像フレームの画像データを削除するように画像バッファ410に指令するように構成することができる。
【0060】
当業者は、本発明が、上述した好ましい実施形態に決して限定されないことを認識する。逆に、多くの修正および変形が、添付特許請求項の範囲内で可能である。
【0061】
例えば、
図2および
図3に関連して論じた方法は、ビデオ管理サーバー内で実施することができる。ビデオ管理サーバーは単一サーバーデバイスとして実装することができる、または、ビデオ管理サーバーは、多くの異なるデバイスにわたって分配される分散型サーバーとして実装することができる。ビデオ管理サーバーは、画像バッファおよび画像バッファと同様の回路およびビデオカメラ400に関連して論じた回路を備えることができる。
【0062】
図2では、第1の評価関数によって行われる評価が非周期的であることも留意される。しかしながら、幾つかの用途の場合、第1の評価関数によって行われる評価は周期的であるとすることができる。
【0063】
さらに、図面、本開示、および添付特許請求の範囲の調査によって、開示する実施形態に対する変形を、特許請求される本発明を実施するときに当業者が理解し実施することができる。