(57)【特許請求の範囲】
【請求項１】
イベントのビデオシーケンスの生成方法であって、前記方法は、
ピクチャグループ内に配列された画像フレームのシーケンスにエンコードされた入力画像フレームを受信することであって、各ピクチャグループが１つのイントラフレーム及びゼロ又はそれ以上の後続するインターフレームを含み、前記画像フレームのシーケンス内の各ピクチャグループがＧＯＰ構造を有する、受信すること、
画像フレームのイベント前シーケンス（ＳＥＱ１）を、先入先出バッファ（１２）に格納することであって、前記イベント前シーケンス（ＳＥＱ１）が既定の第１のＧＯＰ構造を有する、格納すること、
イベントの通知を受信すること、
前記イベントの通知の受信を受けて、前記イベント前シーケンス（ＳＥＱ１）を前記バッファ（１２）から読み出すこと、並びに、
画像フレームの前記イベント前シーケンス（ＳＥＱ１）と、前記第１のＧＯＰ構造とは異なる第２のＧＯＰ構造を有するイベント後シーケンス（ＳＥＱ２）とを結び付けることによって前記イベントのビデオシーケンスを生成することを含み、
前記第１のＧＯＰ構造の第１のＧＯＰ長が前記第２のＧＯＰ構造の第２のＧＯＰ長と異なるという点で、前記第１のＧＯＰ構造が前記第２のＧＯＰ構造と異なり、各ＧＯＰ長がそれぞれのピクチャグループに含まれるフレームの数によって規定され、及び、
前記第１のＧＯＰ長が既定であり、ユーザ入力により設定され、前記第２のＧＯＰ長が動的であることを特徴とする、方法。
【請求項２】
前記第２のＧＯＰ長が前記第１のＧＯＰ長よりも長い、請求項１に記載の方法。
【請求項３】
前記動的ＧＯＰ長が、１又は複数の入力画像フレームのために決定される動作レベル、１又は複数の入力画像フレームのノイズレベル、前記入力画像フレームがエンコードされるフレームレート、又は前記画像フレームをエンコードする際に設定されるビットレート限界、のうちの少なくとも１つに基づいて設定される、請求項１に記載の方法。
【請求項４】
イベントビデオシーケンスを生成するシステムであって、前記システムは、
ピクチャグループ内に配列された画像フレームのシーケンスにエンコードされた入力画像フレームを受信するように準備された画像受信機（１１）であって、各ピクチャグループが１つのイントラフレーム及びゼロ又はそれ以上の後続するインターフレームを含み、前記画像フレームのシーケンス内の各ピクチャグループがＧＯＰ構造を有する、画像受信機（１１）、
画像フレームのイベント前シーケンス（ＳＥＱ１）を、先入先出ベースで格納するように準備されたバッファ（１２）であって、前記イベント前シーケンス（ＳＥＱ１）が既定の第１のＧＯＰ構造を有する、バッファ（１２）、
イベントの通知を受信するように準備されたイベント通知受信機（１３）、
イベントの通知の受信を受けて、前記イベント前シーケンス（ＳＥＱ１）を前記バッファ（１２）から読み出し、画像フレームのイベント後シーケンス（ＳＥＱ２）と結び付けるように準備された生成モジュール（１４）であって、前記イベント後シーケンス（ＳＥＱ２）が前記第１のＧＯＰ構造とは異なる第２のＧＯＰ構造を有する生成モジュール（１４）を含み、
前記第１のＧＯＰ構造の第１のＧＯＰ長が前記第２のＧＯＰ構造の第２のＧＯＰ長と異なるという点で、前記第１のＧＯＰ構造が前記第２のＧＯＰ構造と異なり、各ＧＯＰ長がそれぞれのピクチャグループに含まれるフレームの数によって規定され、及び、
前記第１のＧＯＰ長が既定であり、前記第２のＧＯＰ長が動的であり、前記システムがさらに、前記規定のＧＯＰ長を設定するためのユーザ入力を受け取るように構成されたユーザ入力モジュール（１６）を含むことを特徴とする、システム。
【請求項５】
前記第２のＧＯＰ長が前記第１のＧＯＰ長よりも長い、請求項４に記載のシステム。
【請求項６】
１又は複数の入力画像フレームのために決定される動作レベル、１又は複数の入力画像フレームのノイズレベル、前記入力画像フレームがエンコードされるフレームレート、又は前記画像フレームをエンコードする際に設定されるビットレート限界、のうちの少なくとも１つに基づいて、前記動的ＧＯＰ長を設定するように準備されたＧＯＰ長モジュール（１５）を更に含む、請求項４に記載のシステム。
【請求項７】
請求項４から６の何れか一項に記載のシステム（１０）を備えるカメラ。
【請求項８】
コンピュータによって実行されたときに請求項１から３の何れか一項に記載の方法を実行するように適合された命令を含むコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオシーケンスを捕捉する分野に関し、より具体的にはエンコードされた画像フレームのビデオシーケンスを生成することに関する。
【背景技術】
【０００２】
ネットワークカメラ監視システムなどのデジタルビデオシステムにおいて、ビデオシーケンスは様々なビデオエンコーディング方法を用いて伝送前に圧縮される。多くのデジタルビデオエンコーディングシステムで、２つの主要なモード（イントラモード及びインターモード）が使用されて、一連のビデオフレームの複数のビデオフレームが圧縮される。イントラモードでは、予測、変換、及びエントロピー符号化を通じて、単一のフレームの所与のチャネル内のピクセルの空間的な冗長性を利用することによって、輝度チャネル及び色度チャネルがエンコードされる。したがって、ピクセルのマクロブロックは、同一フレーム内の、別の同様のマクロブロックに関連してエンコードされ得る。当該エンコードされたフレームはイントラフレームと称され、Ｉフレームとも称され得る。一方、インターモードは、別々のフレーム間の時間的冗長性を利用し、選択されたピクセルブロックについて１つのフレームから別のフレームへのピクセル内の動きをエンコードすることによって、１又は複数の他のフレームからフレームの各部を予測する、動き補償予測技術に依存する。こうして、ピクセルのマクロブロックは、別の同様のマクロブロックに関連づけられて、過去にデコードされた別のフレーム内でエンコードされ得る。当該エンコードされたフレームはインターフレームと称され、デコードの順において先行するフレームを表し得るＰフレーム（前方向予測フレーム）、又は、予測に用いられるフレームの任意の表示順序（ｄｉｓｐｌａｙ−ｏｒｄｅｒ）関係を有し得、２つ以上の先行してデコードされたフレームを表し得るＢフレーム（両方向予測フレーム）とも称され得る。更に、エンコードされたフレームは、ピクチャグループ（ｇｒｏｕｐｓ  ｏｆ  ｐｉｃｔｕｒｅｓ）（ＧＯＰ）内に配列される。各ピクチャグループはＩフレームで始まり、後続するフレームはＰフレーム又はＢフレームである。ピクチャグループの構造は、ＧＯＰ構造と呼ばれ得る。ＧＯＰ構造の中の一側面は、ピクチャグループ内のフレーム数であり、一般的にＧＯＰ長と称される。ＧＯＰ長は、ピクチャグループ内に１つのイントラフレームのみが存在しインターフレームが存在しないことを意味する１から、例えば、ピクチャグループ内に１つのイントラフレームが存在しこれに６１，４３９のインターフレームが後続することを意味する６１，４４０まで変化し得る。一般的に、イントラフレームはインターフレームよりも画像表現においてより多くのビットを要求するので、より長いＧＯＰ長を有するモーションビデオは一般的に、より短いＧＯＰ長を有するモーションビデオよりも低い出力ビットレートを生み出す。
【０００３】
エンコードされたビデオシーケンスを受信する場所で、エンコードされたフレームがデコードされる。ネットワークカメラ監視システムにおける課題は、エンコードされたビデオの送信に利用可能なバンド幅である。このことは、特に多数のカメラを利用したシステムにおいて当てはまる。更に、この課題は、利用可能なバンド幅が小さい場合、例えばビデオシーケンスがモバイルデバイス（例えば、携帯電話、ＰＤＡ、又はタブレットコンピュータ）に送信される際に特に重要である。画像の格納に関して、例えばカメラに統合されたＳＤカードに画像を格納する際に、類似の問題が発生する。高画質なビデオ画像という利益と利用可能なバンド幅又は記憶域とを釣り合わせるよう、妥協が必要となる。カメラからの送信ビットレートを低下させるようエンコーディングを制御する幾つかの方法及びシステムが用いられてきた。一般的に、これらの既知の方法及びシステムは、ビットレート制限を適用し、カメラからの出力ビットレートが常にビットレート制限未満であるようにエンコーディングを制御する。この方式によって、システム内のすべてのカメラが、それらのカメラのビデオシーケンスを受信場所（例えば、コントロールセンターなど）へ送信し得るように、利用可能なバンド幅が確実に十分なものになり得る。そのような受信場所では作業員がシステムカメラからのビデオを監視し得、ビデオは後の利用のために録画され得る。しかしビットレート制限は、監視されている現場で何が起こっているかに関係なく、多くの細部を含む画像の大幅な圧縮を必要とし得るので、すべてのカメラにビットレート制限を適用することによって、時として望ましくないほどの低画質につながり得る。近年、出力ビットレートを制御するために、ＧＯＰ構造を変化させる様々な技法を使用することが提案されてきた。例えば、監視される現場に動作がほとんど又は全くない場合にはより長いＧＯＰ長を用いることによって出力ビットレートを減らし、現場に動作がある場合にはＧＯＰ長を減少させることによって高いビットレートという代価によってより高画質の画像を可能にするというように、ＧＯＰ長は変更され得る。
【０００４】
ビデオシーケンスの録画は、特に監視や調査のための応用においては、例えば動作検知イベントトリガといった、１又は複数のイベントトリガに基づき得る。こうして、それまで静止していた現場に動作が起こるというようにあるイベントが起こったときに、録画が開始され得る。録画がイベントトリガに基づいている場合、イベント前のビデオシーケンスも録画することが、しばしば有用である。例えば、ある人物が監視される現場の一部を表す関心領域に入ってくることが録画のトリガとなる場合、人物がどのように当該現場の部分に入ってきたかを示すビデオシーケンスも録画することは、興味深いことであり得る。同様に、人物が関心領域の外に出て行った後に何が起こったかを捕捉するようにイベント後のシーケンスも録画することは、一般的に有用である。あるイベントの発生時にイベント前のビデオシーケンスの録画を可能にするために、画像フレームは先入先出バッファ（ＦＩＦＯバッファとも称される）によって連続的にバッファリングされ得る。イベントが発生した際、当該画像フレームは、イベントの時点で開始されるビデオシーケンスに先立って録画され得るように、バッファから読み出される。次いで、イベントが過ぎた後、既定の時間にわたって、録画は継続され得る。イベント前及びイベント後のシーケンスの時間の長さは、ユーザによって設定され得る。
【０００５】
しかし、ビットレートを制御するためにＧＯＰ長が変更される場合には、イベント前シーケンスが視覚可能であることを確実にすることはできない。なぜならば、デコーディングはイントラフレームで開始されなければならないからである。もしイベント前のバッファ内の第１の画像がインターフレームである場合、当該バッファに使われているＦＩＦＯの原則によって、当該インターフレームが参照する先行フレームは失われてしまっている。イベント前シーケンスに用いられるＧＯＰ長及び設定時間に応じて、イベント前のバッファ内にイントラフレームが存在し得るが、ユーザが望むよりもイベントにより近い時点からであり得る。イベント前のバッファ内に、イベントよりも十分に長い前の時点からイントラフレームが存在する見込みは、実際にはユーザがイベント前録画時間として設定したよりも数秒より長くイベント前のバッファ内に格納されるように、既定の安全期間をユーザが設定するイベント前時間に加えることによって、増大し得る。それでも、これによって大きなバッファが必要となり、短いＧＯＰ長が使われている場合、バッファは不必要に大きいものとなる。更に、ＧＯＰ長が長い場合、設定されたイベント前時間の前からバッファ内にイントラフレームが存在することを確実にする、十分な数のフレームのための余地が依然として不足し得る。したがって、イベントのビデオシーケンスを生成する方法を改良する必要が、依然としてあるかどうかが確認されて良い。
【発明の概要】
【０００６】
本発明の目的は、様々なＧＯＰ長が用いられた場合でも、望ましい長さの時間のイベント前ビデオシーケンスが確実に録画又は表示され得ることを可能にする、イベントのビデオシーケンスの生成方法を提供することである。さらなる目的は、ＧＯＰ構造が他の態様で変更されても、イベント前シーケンスの録画又は表示を可能にする、イベントのビデオシーケンスの生成方法を提供することである。
【０００７】
本発明の更なる目的は、可変のＧＯＰ構造、より具体的には可変のＧＯＰ長が用いられた場合であっても、望ましい長さの時間のイベント前シーケンスを含むビデオシーケンスの生成を可能にする、イベントのビデオシーケンスの生成システムを提供することである。
【０００８】
第１の態様によると、これらの目的は、以下を含むイベントのビデオシーケンスの生成方法を実施することによって、完全に又は少なくとも部分的に達成される。ピクチャグループ内に配列された画像フレームのシーケンスへとエンコードされた、入力画像フレームを受信することであって、各ピクチャグループが、１つのイントラフレームと、後続するゼロ又はそれ以上のインターフレームを含み、画像フレームの前記シーケンス内の各ピクチャグループがＧＯＰ構造を有する、受信すること。イベント前の画像フレームのシーケンスを、先入先出バッファ内に格納することであって、前記イベント前シーケンスが、第１の既定のＧＯＰ構造を有する、格納すること。前記イベント通知の受信後に、イベントの通知を受信すること。前記イベント前シーケンスを前記バッファから読み出すこと。及び、前記イベント前シーケンスをイベント後の画像フレームのシーケンスと結び付けることによってイベントのビデオシーケンスを生成することであって、前記イベント後シーケンスが、前記第１のＧＯＰ構造とは異なる第２のＧＯＰ構造を有する、生成すること。この方法によって、望ましい長さの時間の有用なイベント前ビデオシーケンスがイベントのビデオシーケンスに含まれ得ることを確実にする一方、同時に、例えば出力ビットレートの制御のために可変のＧＯＰ構造を使用することが可能になる。したがって、既定のＧＯＰ構造がイベント前シーケンスのために使用され、一方で別のＧＯＰ構造がイベント後シーケンスのために使用される。
【０００９】
第１のＧＯＰ構造の第１のＧＯＰ長が第２のＧＯＰ構造の第２のＧＯＰ長と異なり、各ＧＯＰ長はそれぞれのピクチャグループに含まれるフレームの数によって規定されるという点で、第１のＧＯＰ構造は第２のＧＯＰ構造と異なり得る。
【００１０】
第２のＧＯＰ長は、前記第１のＧＯＰ長より長くて良い。例えば、ユーザは、使用されるＧＯＰ長を、ピクチャグループ全体がイベント前のバッファに収まるには長すぎるように設定して良い。そうした場合、より短いＧＯＰ長がイベント前シーケンスに使用され得る。
【００１１】
第１のＧＯＰ長は既定であり得、第２のＧＯＰ長は動的であり得る。これは、出力ビットレートが変化するＧＯＰ長によって制御されている場合には、有用であり得る。十分な長さの視覚可能なイベント前シーケンスが提供され得ることを確実にするため、イベント前シーケンスには、イベント前のバッファにフィットする、既定の静的なＧＯＰ長が使用され得る。
【００１２】
当該方法の変形によると、動的ＧＯＰ長は、１もしくは複数の入力画像フレームのために決定される動作レベル、１もしくは複数の入力画像フレームのノイズレベル、前記入力画像フレームがエンコードされるフレームレート、又は前記画像フレームをエンコードする際のビットレート限界、のうちの少なくとも１つに基づいて設定される。例えば、画像フレーム中に高レベルの動作がある場合には、高画質の画像を提供するためにＧＯＰ長は低減され得る。更に、ノイズレベルが高い場合には、誤って高レベルの動作と認識され得、出力ビットレートを低減させるためにＧＯＰ長は増大され得る。
【００１３】
既定のＧＯＰ構造は、ユーザ入力によって設定され得る。
【００１４】
第２の態様によると、上記の諸目的は、イベントのビデオシーケンスを生成するシステムであって、以下を含むシステムによって、完全に又は少なくとも部分的に達成される。ピクチャグループ内に配列された画像フレームのシーケンスへとエンコードされた、入力画像フレームを受信するように準備された画像受信機であって、各ピクチャグループが、１つのイントラフレームと、後続するゼロ又はそれ以上のインターフレームを含み、画像フレームの前記シーケンス内の各ピクチャグループがＧＯＰ構造を有する、画像受信機。画像フレームのイベント前シーケンスを、先入先出ベースで格納するように準備されたバッファであって、前記イベント前シーケンスが第１の既定のＧＯＰ構造を有する、バッファ。イベント通知を受信するように準備されたイベント通知受信機。イベント前シーケンスを前記バッファから読み出し、それをイベントの通知の受信を受けて画像フレームのイベント後シーケンスと結び付けるように準備された生成モジュールであって、前記イベント後シーケンスが、前記第１のＧＯＰ構造とは異なる第２のＧＯＰ構造を有する、生成モジュール。こうしたシステムによって、望ましい長さの時間のイベント前ビデオシーケンスを含むイベントのビデオシーケンスを生成し、なお可変又は動的なＧＯＰ構造を利用することが可能になる。
【００１５】
当該システムの一実施形態では、前記第１のＧＯＰ構造の第１のＧＯＰ長が前記第２のＧＯＰ構造の第２のＧＯＰ長と異なり、各ＧＯＰ長はそれぞれのピクチャグループに含まれるフレームの数によって規定されるという点で、第１のＧＯＰ構造は第２のＧＯＰ構造と異なる。
【００１６】
第２のＧＯＰ長は、第１のＧＯＰ長よりも長くて良い。これによって、長いＧＤＰ長がイベント後シーケンスにとって長すぎる場合には、出力ビットレートを低減するため、例えば長いＧＯＰ長をイベント前シーケンスに使用することが可能になる。
【００１７】
第１のＧＯＰ長は既定であり得、前記第２のＧＯＰ長は動的であり得る。したがって、第１のＧＯＰ長はユーザによってあらかじめプログラム又は設定され得、第２のＧＯＰ長は、例えば監視される現場の変化に応じて、変更され得る。
【００１８】
一実施形態によると、システムは、１又は複数の入力画像フレームのために決定される動作レベル、１又は複数の入力画像フレームのノイズレベル、前記入力画像フレームがエンコードされるフレームレート、又は前記画像フレームをエンコードする際のビットレート限界、のうちの少なくとも１つに基づいて、前記動的ＧＯＰ長を設定するように準備されたＧＯＰ長モジュールを更に含む。これによって、例えば、ビットレートの節約が可能になり得る。
【００１９】
システムは、前記既定のＧＯＰ長を設定するためのユーザ入力を受信するように準備された、ユーザ入力モジュールを更に備え得る。それによって、ユーザはイベント前バッファに使用するＧＯＰ長を設定し得る。
【００２０】
第３の態様によれば、第２の態様によるシステムを備えたカメラによって、上記の諸目的が完全に又は少なくとも部分的に達成される。カメラは、一般的に、システムと同じ方式で実装され得、その利点も付随する。
【００２１】
第４の態様によれば、プロセッサによって実行されたときに第１の態様による方法を実行するように適合された命令を含むコンピュータ可読記憶媒体を含む、コンピュータプログラム製品によって、上記の目的が完全に又は少なくとも部分的に達成される。プロセッサは、処理能力を有する任意のタイプのデバイスであり得、例えば、中央処理装置（ＣＰＵ）、グラフィック処理装置（ＧＰＵ）、集積回路中に実装されるカスタム仕様の処理デバイス、ＡＳＩＣ、ＦＰＧＡ又はディスクリート素子を含む論理回路であり得る。
【００２２】
本明細書で使用される「イベント」という用語は、広く解釈されるべきである。したがって、イベントは、例えば動作検知アルゴリズムといったビデオ分析アルゴリズムによって生成される、又はドアコンタクトもしくはＰＩＲセンサといった外部装置によって生成されるアラームイベントや、カメラシステムによって生成される、エラー通知のようなシステムイベントや、コマンドの入力といったユーザ入力イベントであり得る。
【００２３】
本発明の利用可能性の更なる範囲は、以下の詳細な説明から明らかになるであろう。しかし、この詳細な説明よって本発明の範囲内の様々な変更及び修正が当業者に明らかとなるため、詳細な説明及び具体例は、本発明の好適な実施形態を示しながらも例示的な形でのみ提示されることは理解されるべきである。
【００２４】
したがって、記載のデバイス及び記載の方法は異なる場合があるため、この発明は、記載のデバイスの特定の構成要素部品又は記載の方法のステップに限定されないことは理解されるべきである。また、本明細書で使用される用語は、特定の実施形態だけを説明することを目的としており、限定的であることを意図していないということも理解されるべきである。明細書及び添付の特許請求の範囲で使用されるように、冠詞（「ａ」、「ａｎ」、「ｔｈｅ」、及び「ｓａｉｄ」）は、文脈によって他のことが明らかに示されない限り、１つ又は複数の要素があることを意味していると意図されることに留意するべきである。それゆえ、例えば、「ａｎ  ｏｂｊｅｃｔ」又は「ｔｈｅ  ｏｂｊｅｃｔ」に対する言及は、幾つかのｏｂｊｅｃｔなどを含み得る。更に、「ｃｏｍｐｒｉｓｉｎｇ（備える、含む）」という言葉は、他の要素又はステップを排除しない。
【００２５】
ここで、本発明を、実施例を用い且つ添付の概略図を参照しながら、より詳細に説明する。
【図面の簡単な説明】
【００２６】
【図１】カメラによって監視されている現場の図である。
【図２】エンコードされた画像フレームのシーケンスの例である。
【図３】イベントのビデオシーケンスの例である。
【図４】イベントのビデオシーケンスの生成方法のフロー図である。
【図５】イベントのビデオシーケンスの生成システムのブロック図である。
【発明を実施するための形態】
【００２７】
図１は、カメラ１によって監視されている現場を示す。この現場には、ドア３を有する建物２がある。この例ではカメラ１は、ドア３の前のエリア、具体的にはドア３付近の人々の動作を監視するのに使用される。
【００２８】
カメラ１は現場の画像を捕捉し、捕捉された画像に対してビデオ動作検知アルゴリズムが実施される。カメラ１は、動作検知アルゴリズムからのイベントに基づいて、ビデオを録画するように設定されている。グラフィカルユーザインターフェースを通じて、ユーザは、現場の画像中の、動作検知アルゴリズムが実行される関心領域を規定することができる。例えば、ユーザが、例えば小径５上のようなドア３の前だけの動作のみに関心があるが、茂み４が揺れる動きには関心がないということはあり得る。したがって、ユーザは、ドア３の前の望ましいエリアをカバーする（が茂み４はカバーしない）関心領域を規定し得る。
【００２９】
イベント前ビデオシーケンスが録画に含まれることを可能にするために、カメラ１は、以下で図４及び５に関連して更に記載されるＦＩＦＯバッファ（図５の１２）を有する。動作検知アルゴリズムによって関心領域内に動作があると決定されたとき、イベントが生成される。当該イベントによって、捕捉された画像の録画及び、イベントの時点でバッファ内にある画像の録画が、トリガされる。次いで、録画は、動作検知アルゴリズムがもはや関心領域内の動作を検知しなくなるまで、継続される。人物が関心領域を去った後何が起こったかもユーザに見えるように、イベント後の現場のビデオシーケンスもまた録画するため、動作検知のイベントが関心領域内の動作検知を停止した後、追加時間も録画が継続するように、追加のイベント後録画時間が設定され得る。イベントのビデオシーケンスの録画に加えて（又はその代わりに）、カメラは、イベントのビデオシーケンスを使用場所、例えば安全コントロールセンターに送信し得、安全コントロールセンターでは、イベントのビデオシーケンスは視覚及び／又は録画され得る。
【００３０】
イベントのビデオシーケンスは、録画又は送信され得る前には、例えばｈ．２６４コーデックといった、ブロックベースのハイブリッドビデオコーデックを使ってエンコードされる。上記のように、画像はＩフレーム又はＰフレームとしてエンコードされ、ＧＯＰとも称されるピクチャグループ内でグルーピングされる。図２は、２つのピクチャグループＧＯＰ１及びＧＯＰ２内に配置された、エンコードされた画像フレームのシーケンスを示す。第１のピクチャグループＧＯＰ１は、Ｉフレーム１０１で開始し、その後複数のＰフレームが続いている。第１のピクチャグループは、Ｐフレーム１０２で終了する。次のフレームはＩフレーム１０３としてエンコードされ、第２のピクチャグループＧＯＰ２の始点を形成する。Ｉフレーム１０３の後、後続する画像フレームはＰフレームとしてエンコードされ、第２のピクチャグループは、Ｐフレーム１０４によって終了する。
【００３１】
ここで図３を参照すると、どのようにイベントのビデオシーケンスが生成されるかの例が示されている。ここでは、画像フレームはＩフレームを表すＩ及びＰフレームを表すＰによって示されている。カメラ１は、捕捉された画像フレームをバッファ（図５の参照番号１１で示す）内に連続的に格納する。当該バッファはＦＩＦＯバッファであり、バッファがフルになった場合、バッファ内の最も古い画像フレームが、最後に捕捉された画像フレームによって上書きされる。イベント前の録画時間が、例えば３秒間のように、ユーザによって設定されている。この３秒間がデコード可能で視覚可能であるためには、当該イベント前ビデオシーケンスはＩフレームで開始されなければならない。しかし、この３秒間の第１の画像フレームがＰフレームであるということは非常によく起こり得、デコーディングはＰフレームからは開始されることができない。なぜならば、Ｐフレームは、当該Ｐフレームがエンコードされた際に参照したＩフレームなしには、それ自体では、必要なデータ全てを内包していないからである。イベント前の少なくとも３秒間のビデオがあることを保証するため、１つのピクチャグループに相当する、更なる時間がイベント前のバッファに追加される。したがって、イベント前のバッファの実際の長さは、ユーザによって選択されたイベント前時間、並びに現在のフレームレート及びＧＯＰ長による。例えば、ユーザによって設定された３秒間というイベント前時間、３０ｆｐｓというフレームレート、及び１２８というＧＯＰ長によって、イベント前のバッファに格納される合計時間は７．３秒になる。
【００３２】
人物が監視された現場に入ると、動作検知アルゴリズムによって関心領域内に動作があると決定され、イベントがトリガされる。当該イベントの通知を受けて、現在イベント前のバッファにある画像フレームが録画され、イベントに際して捕捉が開始された画像フレームの録画が開始される。動作検知アルゴリズムがもはや関心領域内の動作を検知しなくなったとき、録画はユーザに設定されたイベント後録画時間の終了まで、継続される。イベント後録画時間は、例えば５秒間であり得る。
【００３３】
ビットレートを制御するためには、録画に動的ＧＯＰ長を使用することが望ましい。この方法によって、現場に動作がほとんど又は全くない場合には長いＧＯＰ長が使用され得る。一般的にＰフレームがエンコーディングのために必要とするビット数はＩフレームよりも少ないため、それによって、出力ビットレートが低減される。現場に動作がたくさんある場合には、より短いＧＯＰ長が使用され得る。これによって出力ビットレートの増大に結び付くが、エンコーディングアーティファクトの低減にもつながる。上記のように、これによって、望ましいイベント前時間のぶんデコードされ視覚され得ることを確実にする、イベント前のバッファ長を決定することが困難になるか、又は不可能にさえなる。ユーザによって設定されたイベント前録画時間が３秒でフレームレートが３０ｆｐｓである例を再び使用するが、ＧＯＰ長は増大されて２５６である。この例では、イベント前バッファは１１．３秒ぶんのイベント前ビデオを入れられなければならない。もし以前計算した７．３秒ぶんのビデオだけがイベント前のバッファに格納されるとすると、望ましい３秒間のイベント前録画の開始時点又はそれ以前に、Ｉフレームが存在しないというリスクが大きい。フレームレートとＧＯＰ長とのこの組み合わせでは、ピクチャグループが、ユーザによってイベント前録画時間として設定された３秒よりも長いことは、指摘され得る。
【００３４】
本発明によると、これは、バッファに別のＧＯＰ構造、（例では別のＧＯＰ長）を使用することによって解決する。バッファに、既定のＧＯＰ長が使用される場合、バッファの必要な長さは上記のように予測的に計算され得る。図３では、イベント前シーケンスは、参照記号ＳＥＱ１によって示される。動作検知イベントがトリガされると、バッファ内に存在するイベント前ビデオシーケンスＳＥＱ１は読み出されて録画され、捕捉された画像フレームの録画が開始される。イベント後シーケンスは、参照記号ＳＥＱ２によって示され、イベントの間に捕捉された画像フレーム、即ちイベントの開始からイベントの終了まで、及び設定されたイベント後録画時間の間に捕捉された画像フレームを含む。イベント前シーケンスとは対照的に、イベントに際して開始されるビデオシーケンスでは、図３の各Ｉフレーム後の様々な数のＰフレームによって表されるように、動的ＧＯＰ長が使用される。ここでは、動的ＧＯＰ長は、画像フレーム中の動作レベルに基づいて制御される。このような動的ＧＯＰ長制御は、例えば、本出願人の欧州特許出願第１４１９３２９１．３に開示されたような、多くの方法によって実施され得、本明細書ではさらに詳細には記載しない。
【００３５】
上記の記載はイベントのビデオシーケンスの録画に言及しているが、イベントのビデオシーケンスを生成する同じ原理が、例えばイベントのビデオシーケンスを例えばコントロールセンター内の警備員に対して表示するといった、他の目的にとっても有用であることは、留意され得る。同じ原理はまた、イベントのビデオシーケンスを電子メール又はｆｔｐ経由で送信するためにも有用である。
【００３６】
イベントビデオシーケンスを生成する方法は、本方法の変形のフロー図である図４を参照して、より一般的な条件で記載され得る。入力画像フレームが受信される（ステップＳ０１）。入力画像フレームは、ピクチャグループに配列された画像フレームのシーケンスにエンコードされる。各ピクチャグループは、例えば、使用されるフレームのタイプ（例えばＩフレーム及びＰフレーム、及び／又はＢフレーム）及び、ピクチャグループあたりのフレーム数、即ちＧＯＰ長を規定するＧＯＰ構造を有する。画像フレームのイベント前シーケンスは、ＦＩＦＯバッファ内に格納される（ステップＳ０２）。イベント前シーケンスは、第１の既定のＧＯＰ構造を有する。イベントの通知又はトリガが受信される（Ｓ０３）。イベントの通知が受信されると、イベント前シーケンスがバッファから読み出される。（ステップＳ０４）。イベントビデオシーケンスは、画像フレームのイベント前シーケンスとイベント後シーケンスとを結び付けることによって生成される。画像フレームのイベント後シーケンスは、イベントの時点で捕捉を開始され、第１のＧＯＰ構造とは異なる第２のＧＯＰ構造を有する。第１の及び第２のＧＯＰ構造は、例えば異なるＧＯＰ長を有するというように、幾つかの点で異なり得る。生成されたイベントビデオシーケンスは、例えば録画、表示又は送信など、様々な方法で使用され得る。当該方法は、コンピュータプログラムを手段として実施され得る。
【００３７】
上記の方法によって使用され得るシステムが、ここで図５を参照して記載される。イベントビデオシーケンスを生成するシステム１０には、ピクチャグループ内に配列された画像フレームのシーケンスにエンコードされた入力画像フレームを受信するように準備された画像受信機１１が含まれる。システム１０は、画像フレームのイベント前シーケンスを格納するためのＦＩＦＯバッファ１２を更に備える。イベント前シーケンスは、第１の既定のＧＯＰ構造を有する。さらに、システム１０は、イベント通知を受信するように準備されたイベント通知受信機１３を有する。システム１０はまた、イベント前シーケンスをバッファ１２から読み出し、それをイベント通知の受信を受けて画像フレームのイベント後シーケンスと結び付けるように準備された、生成モジュール１４を有する。イベント後シーケンスは、第１のＧＯＰ構造とは異なる第２のＧＯＰ構造を有する。本実施形態では、システム１０には、イベント後シーケンス用に動的ＧＯＰ長を設定するように準備されたＧＯＰ長モジュールが含まれる。動的ＧＯＰ長は、例えば入力画像フレーム内の動作レベルに基づき得る。更に、システム１０は、イベント前シーケンス用に既定のＧＯＰ長を設定するためのユーザ入力を受信するように準備されたユーザ入力モジュール１６を含み得る。ユーザは、例えば、望ましいＧＯＰ長をシステム１０のグラフィカルユーザインターフェース経由で入力し得る。
【００３８】
当業者は、上記の実施形態を様々な方法で変更することができ、その上でなお上記の実施形態に示される本発明の利点を使用することができると理解されるだろう。例として、上記の記載では、インターフレームとしてＰフレームだけが使用されていることは留意され得る。しかし、Ｂフレームを使用することもできる。
【００３９】
上記のとおり、イベントビデオシーケンスの生成は、例えば、上記のように、録画、又は表示、又は例えば電子メールもしくはｆｔｐによる送信といった、様々な理由のために実施され得る。
【００４０】
イベントのビデオシーケンスを生成するためのシステム１０は、例えば図１に示す監視カメラ１のように、カメラ内に統合され得る。システム１０はまた、カメラとは別個だが操作可能に接続された形でも実装され得る。
【００４１】
上記の例の動的ＧＯＰ長は、動作レベルに基づいている。しかし、イベント後シーケンスのＧＯＰ長は、他の技法を使用してもまた変更され得る。ＧＯＰ長の動的制御は、１又は複数の入力画像フレームのノイズレベル、前記入力画像フレームがエンコードされるフレームレート、又は前記画像フレームをエンコードする際のビットレート限界、に基づき得る。
【００４２】
更に、Ｉフレームは、デコーディングのための新しい開始地点を確実にするために、ネットワーク接続がなくなってから挿入されることが必要とされ得る。
【００４３】
更に、又は代替的に、ユーザは、録画に使用されるＧＯＰ長を、利用可能なイベント前バッファよりも長すぎるように設定していて良い。このような場合、イベント前シーケンスには、バッファにフィットする、より短いＧＯＰ長が使用され得る。一方で、ユーザによって設定されたより長いＧＯＰ長は、イベント後シーケンスに使用される。
【００４４】
第２のＧＯＰ構造は、第１のＧＯＰ構造と、単にＧＯＰ長が異なるだけでなく、それに代替的又は付加的な態様で異なり得る。単なる例示として、第１のＧＯＰ構造はＩフレーム、Ｐフレーム及びＢフレームから構成され得、第２のＧＯＰ構造はＩフレーム及びＰフレームのみから構成され得る。
【００４５】
ＧＯＰ構造の変化に加えて、イベント前シーケンスとイベント後シーケンスとでは、エンコーディングに関する他の違いもあり得る。例えば、イベント前シーケンスにはある圧縮値が使用され得、イベント後シーケンスには別の圧縮値が使用され得る。代替的に、イベント前シーケンスには静的圧縮値が使用され得、イベント後シーケンスには動的圧縮値が使用され得る。
【００４６】
上記の例では、イベントは、動作検知イベントである。当該方法が、例えば物体追跡アルゴリズム、境界通過検知（ｃｒｏｓｓ−ｌｉｎｅ  ｄｅｔｅｃｔｉｏｎ）アルゴリズム、道間違い検知アルゴリズム、顔検知アルゴリズム、又はナンバープレート認識アルゴリズムといった、他のビデオ分析アルゴリズムに起因する諸イベントにも同様によく利用され得ることは、理解されるべきである。イベントはまた、例えば、マイクやドアコンタクト、ＰＩＲセンサといった外部センサに起因する、この他のアラームイベントのタイプでもあり得る。こうした装置は、カメラ一体型でも、Ｉ／Ｏポート経由でカメラと接続されていても、又は別個でもよい。別個の装置は、例えばイーサネット接続経由で、システム又はカメラに対してイベントの通知を提示し得る。
【００４７】
イベントはアラームイベントでなくても良く、システムイベント又はユーザ入力イベントであっても良い。システムイベントはカメラシステムによって生成され得、例えば、ネットワークロス通知といった、エラー通知であり得る。ユーザイベントは、例えば手動による録画開始といった、コマンド入力であり得る。
【００４８】
図５に示す実施形態では、システムはただ１つのバッファを有している。しかし、システムはより多くのバッファを備え得、方法はより多くのバッファを使用し得る。例えば、システム及び方法は、１種類以上のイベントによって操作可能であり得、例えば、動作検知に１つのバッファ、顔検知に１つのバッファ、システムイベントに１つのバッファ、及びユーザイベントに１つのバッファというように、こうした各イベントごとに１つのバッファを有し得る。このようにして、利用可能な種類のイベントのそれぞれが、各自のイベントのビデオシーケンスの生成を開始し得る。例えば、第１のイベントのビデオシーケンスの生成は、例えば人物が現場に入ってきたときにコントロールセンターの作業員に対して第１のビデオシーケンスの表示がなされるように、監視される現場の動作検知によって開始され得る。もし当該人物がネットワーク接続を切断するなどカメラに対して手を加える場合、システムイベントが第２のイベントのビデオシーケンスの生成を開始し得、第２のイベントビデオシーケンスはカメラ内に（例えば搭載されているＳＤカード上に）ローカルに格納され得る。
【００４９】
入力画像フレームが生じ得る元であるカメラは、例えば可視光を用いるカメラ、ＩＲカメラ又はサーマルカメラといった、任意の種類のカメラであり得る。カメラは、監視カメラであり得る。
【００５０】
入力画像フレームは、一般的には、イントラフレーム及びインターフレームエンコーディング技術を用いてエンコードされる情報の生成が可能な、可視光センサ、サーマルセンサ、ＴＯＦ（ｔｉｍｅ−ｏｆ−ｆｌｉｇｈｔ）センサ、又は他のタイプの画像生成センサによって生成され得る。
【００５１】
画像フレームをエンコードするのに使用されるエンコーダーは、任意の、ブロックベースのハイブリッドビデオコーデックであり得る。エンコーダーは、イベントのビデオシーケンスの生成システムに統合されていても良く、又は、イベントビデオシーケンス生成システムに操作可能に接続されている、個別の装置もしくはモジュールであっても良い。
【００５２】
当該システムは、ソフトウェア、ファームウェアもしくはハードウェア、又はそれらの組み合わせとして実装され得る。
【００５３】
したがって、本発明は、図示された実施形態に限定されるべきではなく、添付の特許請求の範囲によってのみ定義されるべきである。
【図１】
0006467368.tif 000002
【図２】
0006467368.tif 000003
【図３】
0006467368.tif 000004
【図４】
0006467368.tif 000005
【図５】
0006467368.tif 000006