IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アクシス アーベーの特許一覧

特許7463268ビデオのモニタリングにおけるリアルタイム偏差
<>
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図1
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図2
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図3
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図4
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図5
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図6
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図7
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図8A
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図8B
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図9A
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図9B
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図9C
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図10
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図11
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図12
  • 特許-ビデオのモニタリングにおけるリアルタイム偏差 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-29
(45)【発行日】2024-04-08
(54)【発明の名称】ビデオのモニタリングにおけるリアルタイム偏差
(51)【国際特許分類】
   H04N 21/2662 20110101AFI20240401BHJP
   H04N 21/24 20110101ALI20240401BHJP
【FI】
H04N21/2662
H04N21/24
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2020218149
(22)【出願日】2020-12-28
(65)【公開番号】P2021114763
(43)【公開日】2021-08-05
【審査請求日】2023-12-28
(31)【優先権主張番号】16/729,985
(32)【優先日】2019-12-30
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】20153030
(32)【優先日】2020-01-22
(33)【優先権主張国・地域又は機関】EP
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208205
【氏名又は名称】アクシス アーベー
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】ペッターソン, マティアス
【審査官】鈴木 隆夫
(56)【参考文献】
【文献】特開2010-028693(JP,A)
【文献】特開2018-110398(JP,A)
【文献】特開2018-110397(JP,A)
【文献】米国特許出願公開第2011/0102588(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00-21/858
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
最大伝送ビットレートに関連付けられたネットワーク伝送チャネルを介して、エンコードされたビデオビットストリームを伝送することと、
カメラによってキャプチャされたライブビデオデータに関連付けられた、開始時間と終了時間を有するイベントを検出することと
を含む方法であって、
前記イベントの開始時間の前に、前記方法が、
前記ネットワーク伝送チャネルの前記最大伝送ビットレートより低い第1の出力ビデオビットストリームビットレートを有するように、エンコードされたビデオビットストリームセットに前記キャプチャされたライブビデオデータをエンコードすることと、
前記最大伝送ビットレートより低い伝送ビットレートで、前記ネットワーク伝送チャネルを介して前記第1の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームを伝送して、それによりリアルタイム通信を可能にすることと
を含み、
前記イベントの間に、前記方法が、
前記ネットワーク伝送チャネルの前記最大伝送ビットレートより高い第2の出力ビデオビットストリームビットレートを有するように、エンコードされたビデオビットストリームセットに前記キャプチャされたライブビデオデータをエンコードすることと、
前記第2の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームをバッファリングすることと、
前記第2の出力ビデオビットストリームビットレートより低い伝送ビットレートで、前記ネットワーク伝送チャネルを介して前記第2の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームを伝送して、それにより前記第2の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームにタイムストレッチを導入することと
を含み、
前記イベントの終了時間の後に、前記方法が、
前記ネットワーク伝送チャネルの前記最大伝送ビットレートより低い第3の出力ビデオビットストリームビットレートを有するように、エンコードされたビデオビットストリームセットに前記キャプチャされたライブビデオデータを、エンコーダによってエンコードすることと、
バッファが空になるまで、前記第3の出力ビデオビットストリームビットレートより高い伝送ビットレートで、前記ネットワーク伝送チャネルを介して前記第3の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームを伝送して、それにより前記イベントの間に導入された前記タイムストレッチを補うように追いつくことと
を含む、方法。
【請求項2】
前記バッファが、アプリケーションレイヤバッファである、請求項1に記載の方法。
【請求項3】
前記ネットワーク伝送チャネルの前記最大伝送ビットレートを決定すること
をさらに含む、請求項1に記載の方法。
【請求項4】
前記イベントの間に、前記方法がさらに、
モニタリングステーションで、前記第2の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームを受信することと、
前記第2の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームをビデオにデコードすることと、
前記タイムストレッチに相当するスローモーションで、ディスプレイ上に前記ビデオを表示することと
を含む、請求項1に記載の方法。
【請求項5】
前記イベントの終了時間の後に、前記方法がさらに、
前記モニタリングステーションで、前記第3の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームを受信することと、
前記第3の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームを前記ビデオにデコードすることと、
ファストモーションで、ディスプレイ上に前記ビデオを表示することと
を含む、請求項4に記載の方法。
【請求項6】
前記第2の出力ビデオビットストリームビットレートが前記第1の出力ビデオビットストリームビットレートより高い、請求項1に記載の方法。
【請求項7】
前記第3の出力ビデオビットストリームビットレートが前記第1の出力ビデオビットストリームビットレートより低い、請求項1に記載の方法。
【請求項8】
前記イベントの開始時間の前に、エンコードされたビデオビットストリームセットに前記キャプチャされたライブビデオデータをエンコードすることが、前記ネットワーク伝送チャネルの前記最大伝送ビットレートに基づいて品質係数を調整することを含み、
前記イベントの間に、第2の出力ビデオビットストリームビットレートを有するように、エンコードされたビデオビットストリームセットに前記キャプチャされたライブビデオデータをエンコードすることが、ビットレートを上げることを含み、
前記イベントの終了時間の後に、第3の出力ビデオビットストリームビットレートを有するように、エンコードされたビデオビットストリームセットに前記キャプチャされたライブビデオデータをエンコードすることが、ビットレートを下げることを含む、請求項1に記載の方法。
【請求項9】
前記イベントの終了時間の後に、ビットレートを下げることが、品質係数を下げることを含み、
前記イベントの間に、ビットレートを上げることが、品質係数を上げることを含み、
前記品質係数が、フレームレート、量子化パラメータ、又は画像の解像度を含む、請求項8に記載の方法。
【請求項10】
前記ライブビデオデータに関連付けられたイベントを検出することが、
ライブビデオデータにおけるモーションを検出すること、
前記第1の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームにおけるビットレートの上昇を検出すること、
制御システムにおいてイベントメッセージを受信すること、又は
物理的アクセス制御システムにおいてイベントメッセージを受信すること
を含む、請求項1に記載の方法。
【請求項11】
カメラによってキャプチャされたライブビデオデータに関連付けられたイベントを検出するプロセッサと、
前記ライブビデオデータを、エンコードされたビデオビットストリームにエンコードするように構成されたエンコーダと、
前記エンコードされたビデオビットストリームをバッファリングするように構成されたメモリと、
最大伝送ビットレートに関連付けられたネットワーク伝送チャネルを介して、前記エンコードされたビデオビットストリーム送信するトランスミッタと
を備えるデバイスであって、
前記プロセッサがイベントを検出する前に、
前記エンコーダが、前記ネットワーク伝送チャネルの前記最大伝送ビットレートより低い第1の出力ビデオビットストリームビットレートを有するエンコードされたビデオビットストリームに前記キャプチャされたライブビデオデータをエンコードするように設定され、
前記トランスミッタが、伝送ビットレートで、前記ネットワーク伝送チャネルを介して前記第1の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームを伝送して、それによりリアルタイム通信を可能にするように構成され、
を含み、
前記イベントの間に、
前記エンコーダが、前記ネットワーク伝送チャネルの前記最大伝送ビットレートより高い第2の出力ビデオビットストリームビットレートを有するエンコードされたビデオビットストリームに前記ライブビデオデータをエンコードするように構成され、
前記メモリが、前記第2の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームをバッファリングするように構成され、
前記トランスミッタが、前記第2の出力ビデオビットストリームビットレートより低い伝送ビットレートで、前記第2の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームを伝送して、それにより前記第2の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームにタイムストレッチを導入するように構成され、
前記イベントの終了時間の後に、
前記エンコーダが、前記ネットワーク伝送チャネルの前記最大伝送ビットレートより低い第3の出力ビデオビットストリームビットレートを有するエンコードされたビデオビットストリームに前記キャプチャされたライブビデオデータをエンコードするように構成され、
前記トランスミッタが、前記メモリが空になるまで、前記第3の出力ビデオビットストリームビットレートより高い伝送ビットレートで、前記ネットワーク伝送チャネルを介して前記第3の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームを送信して、それにより前記イベントの間に導入された前記タイムストレッチを補うように追いつくように構成されている、デバイス。
【請求項12】
バッファリングするように構成された前記メモリがアプリケーションレイヤバッファである、請求項11に記載のデバイス。
【請求項13】
前記プロセッサが、前記ネットワーク伝送チャネルの最大伝送ビットレートを決定するように構成されている、請求項11に記載のデバイス。
【請求項14】
モニタリングステーションで、前記第2の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームを取得するレシーバと、
前記第2の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームをビデオにデコードするデコーダと、
前記イベントの間に、前記タイムストレッチに相当するスローモーションでビデオを提示するディスプレイと
をさらに備える、請求項11に記載のデバイス。
【請求項15】
前記デバイスが、ファストモーションで、前記イベントの後に相当する前記ビデオをディスプレイに提示するように構成されている、請求項14に記載のデバイス。
【請求項16】
前記第2の出力ビデオビットストリームビットレートが前記第1の出力ビデオビットストリームビットレートより高い、請求項11に記載のデバイス。
【請求項17】
前記第3の出力ビデオビットストリームビットレートが前記第1の出力ビデオビットストリームビットレートより低い、請求項11に記載のデバイス。
【請求項18】
前記イベントの開始時間の前に、前記エンコーダが、前記ネットワーク伝送チャネルの前記最大伝送ビットレートに基づいて品質係数を調整することによって、第1の出力ビデオビットストリームビットレートを有するエンコードされたビデオビットストリームに前記キャプチャされたライブビデオデータをエンコードするように構成され、
前記イベントの間に、前記エンコーダがさらに、ビットレートを上げることによって、前記第2の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームに前記キャプチャされたライブビデオデータをエンコードするように構成され、
前記イベントの終了時間の後に、前記エンコーダがさらに、ビットレートを下げることによって、前記第3の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームに前記キャプチャされたライブビデオデータをエンコードするように構成されている、請求項11に記載のデバイス。
【請求項19】
前記エンコーダが、前記品質係数を下げることによって、前記イベントの終了時間の後に、ビットレートを下げるように構成され、
前記エンコーダが、前記品質係数を上げることによって、前記イベントの間に、ビットレートを上げるように構成され、
前記プロセッサが、フレームレート、量子化パラメータ、又は画像の解像度を下げることによって、前記品質係数を調整するように構成されている、請求項18に記載のデバイス。
【請求項20】
前記プロセッサが、
前記ライブビデオデータにおけるモーションを検出すること、
前記第1の出力ビデオビットストリームビットレートを有する前記エンコードされたビデオビットストリームにおけるビットレートの上昇を検出すること、
制御システムにおいてイベントメッセージを受信すること、又は
物理的アクセス制御システムにおいてイベントメッセージを受信すること
によって、前記ライブビデオデータに関連付けられた前記イベントを検出するように構成されている、請求項11に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
この開示は一般的に、ビデオのモニタリングに関する。
【背景技術】
【0002】
ビデオ管理システムでは、オペレータ(例えば、警備員)は、多くの異なる監視エリアをカバーする、多くの異なるビデオストリームを見る場合がある。ビデオストリームを監視することに加えて、オペレータはまた、それらの監視エリアにて発生しているイベントに関連付けられた警報に対応する責任を負う場合もある。例えば、監視エリアには、温度センサ、モーションデテクタ、アライバルセンサ、プレゼンスセンサ、ドア開/閉(例えば、接触)センサ、光センサ、などがある場合がある。オペレータは、監視エリアにおけるモーション、及び/又は、ドアが開いた状態に対する警報を受ける場合がある。
【発明の概要】
【0003】
方法は、ライブシーンのビデオストリームをネットワークを経由してリアルタイムの伝送速度にて伝送することと、伝送されたビデオストリームに関連付けられたイベントを検出することと、を含んでよい。イベントは、ビデオストリームにおける開始時間及び終了時間を有する。本方法はまた、ビデオストリームをネットワークを経由してリアルタイムの伝送速度より低い速度にてイベント中に伝送することであって、ビデオストリームをリアルタイムの伝送速度より低い速度にて伝送することは、ビデオストリームがスローモーションにて再生されるようにするタイムストレッチを導入する、ビデオストリームを伝送することと、ビデオストリームのビットレートをイベント後に下げることと、ビットレートが下げられたビデオストリームをネットワークを経由してイベント後に伝送してタイムストレッチを補うことと、をも含んでよい。この実施形態は、例えば、追加的情報(例えば、モーション情報)が、それが失われること(例えば、パケットロス、又は、さもなければ、より低いビットレートへのエンコーディング)なく、エンコードされることを可能にし得る。この実施形態は、オペレータが、(追加的情報を含む)ビデオストリームをスローモーションにて見ることを可能にし得る。
【0004】
ビットレートが下げられたビデオストリームを伝送することは、ビットレートが下げられたビデオストリームをリアルタイムの伝送速度を超える速度にてイベント後に伝送してタイムストレッチを補うことを含んでよい。この実施形態は、タイムストレッチを補うことを可能にし得、オペレータがビデオをファストモーションにて見ることを可能にし得る。この方法は、ビデオストリームをイベント中にバッファにバッファリングすることを含んでよい。バッファは、アプリケーションレイヤバッファである。この実施形態は、多数のビデオストリーム又は他の情報を含み得るネットワークレベル上ではない、特定のビデオストリームに対してバッファリングが行われることに関する決定を可能にし得る。
【0005】
この方法は、ビデオストリームを伝送するためのネットワークにおけるチャネルの最大伝送速度に相当するチャネル容量を判定することを含んでよい。ビデオストリームをネットワークを経由してリアルタイムの伝送速度にて伝送することは、ビデオストリームをネットワークを経由してチャネル容量にて伝送することを含んでよい。この実施形態は、チャネル容量での、又は、それに近い容量でのビデオストリームの伝送を可能にし得る一方で、例えば、ビデオストリームのビットレートがイベント中にチャネル容量を超えることを依然として可能にし得る。
【0006】
この方法は、イベント中の時間に相当するビデオストリームをネットワークを経由してリアルタイムの伝送速度未満の速度にて受信することと、イベント中の時間に相当するビデオをディスプレイ上にタイムストレッチに相当するスローモーションにて表示することと、を含んでよい。この実施形態は、オペレータが、イベント中に、ビデオストリーム(例えば、モーション)においてエンコードされた追加的情報を見ることを可能にし得る。
【0007】
この方法は、イベント後の時間に相当するビデオストリームをネットワークを経由してリアルタイムの伝送速度を超える速度にて受信することと、イベント後に相当するビデオをディスプレイ上にファストモーションにて表示することと、を含んでよい。この実施形態は、オペレータが、イベント後に、ビデオストリームにおいてリアルタイムに見ることに「追いつく」ことを可能にし得る。
【0008】
伝送されたビデオストリームは、イベント前の第1のビットレートと、イベント中の第2のビットレートと、を有する。1つの実施形態では、第2のビットレートは、第1のビットレートより高い。伝送されたビデオストリームは、イベント前の第1のビットレートと、イベント後の第3のビットレートと、を有する。第3のビットレートは、下げられたビットレートに相当する。1つの実施形態では、第3のビットレートは、第1のビットレートより低い。ビデオストリームのビットレートを下げることは、ビデオストリームの品質係数を下げることを含んでよい。ビデオストリームの品質係数を下げることは、ビデオストリームにおけるフレームレート、量子化パラメータ、又は画像の解像度を下げることを含んでよい。
【0009】
ビデオストリームに関連付けられた、対象とするイベントを検出することは、ビデオストリームのビデオにおけるモーションを検出すること、ビデオストリームにおけるビットレートの上昇を検出すること、制御システムにおいてイベントメッセージを受信すること、又は、物理的アクセス制御システムにおいてイベントメッセージを受信すること、を含んでよい。この実施形態は、モニタリングシステムが、ビデオストリームにおける追加的情報(例えば、モーション又は品質の改善など)をキャプチャすることを可能にし得る一方で、ビデオストリームのビットレートがチャネル容量より高い場合に、この情報の伝送を依然として可能にし得る。
【0010】
デバイスは、トランスミッタと、プロセッサと、を含んでよい。トランスミッタは、ライブシーンのビデオストリームをネットワークを経由してリアルタイムの伝送速度にて伝送してよい。プロセッサは、伝送されたビデオストリームに関連付けられたイベントを検出してよい。イベントは、ビデオストリームにおける開始時間及び終了時間を有する。トランスミッタは、ビデオストリームをネットワークを経由してリアルタイムの伝送速度より低い速度にてイベント中に伝送してよい。ビデオストリームがリアルタイムの伝送速度より低い速度にて伝送されると、ビデオストリームがスローモーションにて再生されるようにするタイムストレッチが導入される。プロセッサは、ビデオストリームのビットレートをイベント後に下げてよい。トランスミッタは、ビットレートが下げられたビデオストリームをネットワークを経由してイベント後に伝送してタイムストレッチを補ってよい。この実施形態は、例えば、追加的情報(例えば、モーション情報)が、それが失われること(例えば、パケットロス、又は、さもなければ、より低いビットレートへのエンコーディング)なく、エンコードされることを可能にし得る。この実施形態は、オペレータが、(追加的情報を含む)ビデオストリームをスローモーションにて見ることを可能にし得る。
【0011】
1つの実施形態では、トランスミッタは、ビットレートが下げられたビデオストリームをリアルタイムの伝送速度を超える速度にてイベント後に伝送することにより、ビットレートが下げられたビデオストリームを伝送してタイムストレッチを補ってよい。この実施形態は、タイムストレッチを補うことを可能にし得、オペレータがビデオをファストモーションにて見ることを可能にし得る。デバイスは、ビデオストリームをイベント中にバッファにバッファリングする当該バッファを含んでよい。1つの実施形態では、バッファは、アプリケーションレイヤバッファである。この実施形態は、多数のビデオストリーム又は他の情報を含み得るネットワークレベル上ではない、特定のビデオストリームに対してバッファリングが行われることに関する決定を可能にし得る。
【0012】
プロセッサは、ビデオストリームを伝送するためのネットワークにおけるチャネルの最大伝送速度に相当するチャネル容量を判定するよう構成されてよい。トランスミッタは、ビデオストリームをネットワークを経由してチャネル容量にて伝送することにより、ビデオストリームをネットワークを経由してリアルタイムの伝送速度にて伝送してよい。この実施形態は、チャネル容量での、又は、それに近い容量でのビデオストリームの伝送を可能にし得る一方で、例えば、ビデオストリームのビットレートがイベント中にチャネル容量を超えることを依然として可能にし得る。
【0013】
デバイスは、イベント中の時間に相当するビデオストリームをネットワークを経由してリアルタイムの伝送速度未満の速度にて受信するレシーバに関連付けられてよい。デバイスは、イベント中の時間に相当するビデオをディスプレイ上にタイムストレッチに相当するスローモーションにて表示するディスプレイに関連付けられてよい。1つの実施形態では、トランスミッタは、ビットレートが下げられたビデオストリームをリアルタイムの伝送速度を超える速度にてイベント後に伝送することにより、ビットレートが下げられたビデオストリームを伝送してタイムストレッチを補ってよい。この実施形態は、オペレータが、イベント中に、ビデオストリーム(例えば、モーション)においてエンコードされた追加的情報を見ることを可能にし得る。
【0014】
レシーバは、イベント後の時間に相当するビデオストリームをネットワークを経由してリアルタイムの伝送速度を超える速度にて受信してよい。ディスプレイは、イベント後に相当するビデオをディスプレイ上にファストモーションにて表示してよい。この実施形態は、オペレータが、イベント後に、ビデオストリームにおいてリアルタイムに見ることに「追いつく」ことを可能にし得る。
【0015】
伝送されたビデオストリームは、イベント前の第1のビットレートと、イベント中の第2のビットレートと、を有する。1つの実施形態では、第2のビットレートは、第1のビットレートより高い。伝送されたビデオストリームは、イベント前の第1のビットレートと、イベント後の第3のビットレートと、を有する。1つの実施形態では、第3のビットレートは、下げられたビットレートに相当する。第3のビットレートは、第1のビットレートより低い。
【0016】
プロセッサは、ビデオストリームの品質係数を下げることにより、ビデオストリームのビットレートを下げてよい。プロセッサは、ビデオストリームにおけるフレームレート、量子化パラメータ、又は画像の解像度を下げることにより、ビデオストリームの品質係数を下げてよい。プロセッサは、ビデオストリームのビデオにおけるモーションを検出すること、ビデオストリームにおけるビットレートの上昇を検出すること、制御システムにおいてイベントメッセージを受信すること、又は、物理的アクセス制御システムにおいてイベントメッセージを受信すること、により、ビデオストリームに関連付けられた、対象とするイベントを検出するよう構成されてよい。この実施形態は、モニタリングシステムが、ビデオストリームにおける追加的情報(例えば、モーション又は品質の改善など)をキャプチャすることを可能にし得る一方で、ビデオストリームのビットレートがチャネル容量より高い場合に、この情報の伝送を依然として可能にし得る。
【図面の簡単な説明】
【0017】
図1図1は、1つの実施形態における、例示的な環境を示すブロック図である。
図2図2は、1つの実施形態における、図1のカメラの例示的なコンポーネントを示すブロック図である。
図3図3は、1つの実施形態における、コンピューティングモジュールの例示的なコンポーネントを示すブロック図である。
図4図4は、1つの実施形態における、図1のカメラ及び/又はビデオモニタリングシステムの例示的な機能的コンポーネントのブロック図である。
図5図5は、1つの実施形態における、図1のモーションデテクタ、フェイスデテクタ、及び/又はセンサの例示的な機能的コンポーネントのブロック図である。
図6図6は、1つの実施形態における、図1のモニタリングステーションの例示的な機能的コンポーネントのブロック図である。
図7図7は、簡略化したモニタリングシステム環境のブロック図である。
図8A-8B】図8A及び図8Bは、1つの実施形態における、ビデオモニタリングシステムにおけるリアルタイム偏差に対する処理のフローチャートである。
図9A-9B-9C】図9A図9B、及び図9Cは、1つの実施形態において、オペレータがイベント前、イベント中、及びイベント後にディスプレイ上に見るであろうものを示す。
図10図10は、1つの実施形態における、イベント前、イベント中、及びイベント後のビットレートを示す。
図11図11は、別の実施形態における、イベント前、イベント中、及びイベント後のビットレートを示す。
図12図12は、図11の実施形態において、オペレータがイベント中にディスプレイ上に見るであろうものを示す。
図13図13は、別の実施形態における、イベント前、イベント中、及びイベント後のビットレートを示す。
【発明を実施するための形態】
【0018】
以下の詳細説明は、添付の図面を参照する。それぞれの図面において、同じ参照番号は、同じ構成要素又は同様の構成要素を特定する。
【0019】
上述するように、オペレータはモニタリングステーションにおり、セキュリティカメラから流れてくるビデオを監視する。監視エリアにおいて、モーションなどの「イベント」が発生すると、モニタリングシステムにおいて問題が生じる場合がある。追加的情報がエンコードされる必要があるため、モーションにより、ビデオストリームのビットレートが一時的に上がる場合がある。この上昇したビットレートは、ネットワーク容量より高い場合があるため、この上昇により、パケットが結果として失われる場合がある。結果として、ビデオにおける、オペレータにとって最も関心のある正確な瞬間を逃す場合がある。いくつかのモニタリングシステムは、(例えば、フレームレート、画像品質、又はモーションキャプチャを下げることにより)ビデオの品質を下げて、ビットレートが上がることを防ぐ場合がある。これにより、オペレータにとって最も関心のある正確な瞬間のビデオの品質が下がることとなる。
【0020】
以下に開示する実施形態は、ネットワークに大きな負荷を掛けることや、パケットが欠落することが必ずしもなく、(例えば、追加的モーション情報を含むよう)モニタリングシステムがビデオストリームのビットレートを上げることを可能にし得る。その代わりに、下記の実施形態は、例えば、オペレータが、ビットレートがより高いイベントをスローモーションにて見ることを可能にし得る。
【0021】
図1は、1つの実施形態における、例示的な環境100を示すブロック図である。環境100は、例えば、エリアを保護する、又は、公共の安全を提供するモニタリングシステムであってよい。図1に示すように、環境100は、カメラ110-1から110-M、ネットワーク120、ビデオ管理システム(video management system又はVMS)150、モニタリングステーション125-1から125-N、及び/又はディスプレイ130-1から130-Nを含んでよい。環境100はまた、モーションデテクタ111、スモークデテクタ112、及び/又はセンサ113をも含んでよい。
【0022】
カメラ110-1から110-M(単一の「カメラ110」又は複数の「カメラ110」)は、監視エリア106の画像及び/又はビデオを撮像する。エリア106は、撮像されたビデオストリームがライブシーン又はライブイベントを表すことを意味する「ライブシーン」又は「ライブイベント」を含んでよい。監視エリア106は、1つ又はそれ以上のカメラ110により監視されてよい。例えば、カメラ110-1及びカメラ110-2が、対象102-1を含むエリア106-1を監視する。対象102は、ドア、人、動物、車両、車両のライセンスプレートなど、ビデオストリームにおいて識別可能ないずれの対象を含んでよい。
【0023】
カメラ110は、可視光、赤外線光、及び/又は他の非可視電磁放射線(例えば、紫外線光、遠赤外線光、テラヘルツ放射線、マイクロ波放射線、など)を使用して、イメージデータを撮像してよい。カメラ110は、サーマルカメラ及び/又はレーダー撮像用のレーダー(radio detection and ranging又はradar)を含んでよい。撮像されたイメージデータは、連続するイメージシーケンス(例えば、ビデオ)、限定的なイメージシーケンス、静止画像、及び/又はそれらの組み合わせを含んでよい。カメラ110は、画像を撮像してそれをデジタル化するデジタルカメラ、及び/又は、画像を撮像してそのイメージデータをアナログフォーマットにて保存するアナログカメラを含んでよい。
【0024】
カメラ110は、1つ又はそれ以上の二次元アレイ(単一又は複数)(例えば、イメージデータ又はビデオデータ)に配置されたデータを生成するセンサを含んでよい。ここで使用されるように、「ビデオデータ」、「ビデオストリーム」、及び「ビデオ」は、より一般的に、「イメージデータ」及び「画像」とそれぞれ呼ばれ得る。したがって、「イメージデータ」又は「画像」は、特に明記しない限り、「ビデオデータ」、「ビデオストリーム」、及び「ビデオ」を含むよう意味する。同様に、「ビデオデータ」、「ビデオストリーム」、又は「ビデオ」は、特に明記しない限り、静止画像を含み得る。
【0025】
他のモニタリングデバイス又はセンサは、監視エリア106からの情報をキャプチャしてよい。例えば、モーションデテクタ111(例えば、これは、カメラ以外のデバイスを含んでよい)は、エリア106-1におけるモーションを検出してよい。モーションデテクタ111は、近接センサ、磁気センサ、侵入センサ、圧力センサ、赤外線光センサ、レーダーセンサ、及び/又は放射線センサを含んでよい。スモークデテクタ112は、エリア106-1における煙を検出してよい。スモークデテクタ112はまた、ヒートセンサをも含んでよい。センサ113は、例えば、ドア又はウィンドウが開けられたり閉じられたりしたこと、又は、開いたか閉じたことを判定する近接センサを含む、いずれのタイプのセンサを含んでよい。
【0026】
モニタリングステーション125-1から125-Nは、ディスプレイ130-1から130-N(それぞれが単一の、「モニタリングステーション125」及び「ディスプレイ130」)に接続されている。モニタリングステーション125及びディスプレイ130は、オペレータ(図1に図示せず)が、カメラ110からの画像を見ることを可能にする。モニタリングステーション125及びディスプレイ130のそれぞれは、環境100に示すモニタリングシステムとやりとりするオペレータのための「クライアント」であってよい。
【0027】
ディスプレイ130は、1つ又はそれ以上のカメラ110からのビデオストリーム(単一又は複数)を受信して表示してよい。単一のディスプレイ130は、単一のカメラ110からの、又は、多数のカメラ110からの画像を(例えば、ディスプレイ130上の多数のフレーム又はウィンドウに)示してよい。単一のディスプレイ130はまた、単一のカメラからの複数の画像をも、それぞれ異なるフレームにて示してよい。つまり、単一のカメラは、例えば、広角又は魚眼レンズを含んでよく、多数のエリア106の複数の画像を提供してよい。異なるエリア106からの画像のそれぞれは、異なるウィンドウ及び/又はフレームにおいて個別に分けられてディスプレイ130上に示されてよい。ディスプレイ130は、液晶ディスプレイ(liquid-crystal display又はLCD)、発光ダイオード(light-emitting diode又はLED)ディスプレイ、有機LED(organic LED又はOLED)ディスプレイ、陰極線管(cathode ray tube又はCRT)ディスプレイ、プラズマディスプレイ、レーザビデオディスプレイ、電気泳動ディスプレイ、量子ドットディスプレイ、ビデオプロジェクタ、及び/又はいずれの他のタイプのディスプレイを含んでよい。
【0028】
ネットワーク120は、1つ又はそれ以上の回線交換ネットワーク及び/又はパケット交換ネットワークを含んでよい。例えば、ネットワーク120は、ローカルエリアネットワーク(local area network又はLAN)、ワイドエリアネットワーク(wide area network又はWAN)、メトロポリタンエリアネットワーク(metropolitan area network又はMAN)、公衆交換電話網(Public Switched Telephone Network又はPSTN)、アドホックネットワーク、イントラネット、インターネット、光ファイバに基づくネットワーク、ワイヤレスネットワーク、及び/又は、これら若しくは他のタイプのネットワークの組み合わせを含んでよい。
【0029】
VMS150は、カメラ110及び/又はディスプレイ130の作動をコーディネートするサーバーデバイスなどの、1つ又はそれ以上のコンピュータデバイスを含んでよい。VMS150は、カメラ110からのイメージデータを受信して、これを保存してよい。VMS150はまた、VMS150に保存されたイメージデータ又はカメラ110から流れてくるイメージデータを見る、モニタリングステーション125のオペレータのためのユーザインターフェースをも提供してよい。VMS150は、カメラ110からのイベントの通知を受信して、それらの通知が、(例えば、アラームを生成する)作動を行うためのルール(例えば、適合基準)を呼び出すか否かを判定するルールエンジンを含んでよい。例えば、エリア106におけるモーションをカメラ110が検出すると、カメラ110はこれをVMS150に通知してよい。ルールの結果として、VMS150におけるルールエンジンは、モニタリングステーション125におけるディスプレイ130にネットワーク120を通してアラームを送信してよい。イベント(及び、それらの通知)は、環境100における、カメラ110以外のデバイス及びセンサによりトリガされてよい。例えば、環境は、イベントの通知を生成できるモーションデテクタやフォトデテクタなどを含んでよい。
【0030】
いくつかの実施形態では、環境100は、個別のVMS150を含まない。その代わりに、VMS150により提供されるサービスは、モニタリングステーション125及び/又はカメラ110自体により提供されるか、又は、環境100におけるデバイス間に分散して提供される。例えば、カメラ110は、イベントの通知により、(例えば、検出されたモーションに基づいてアラームを発令する)作動を行うルールが呼び出されたときを判定するルールエンジンを含んでよい。同様に、VMS150は、カメラ110により行われるものとして説明された作動を行ってよい。例えば、VMS150は、カメラ110の代わりにイメージデータを解析してモーションを検出してよい。
【0031】
図1は、環境100の例示的なコンポーネントを示すが、他の実装では、環境100は、図1に描くものと比較して、より少ないコンポーネント、異なるコンポーネント、異なって配置されたコンポーネント、又は追加的コンポーネントを含んでよい。加えて、又はその代わりに、いずれの1つのデバイス(又は、いずれのグループのデバイス)は、1つ又はそれ以上の他のデバイスにより行われるものとして説明された機能を行ってよい。
【0032】
図2は、1つの実施形態における、カメラ110の例示的なコンポーネントを示すブロック図である。図2に示すように、カメラ110は、光学系チェーン210、センサアレイ220、バス225、イメージプロセッサ230、コントローラ240、メモリ245、ビデオエンコーダ250、及び/又は通信インターフェース260を含んでよい。1つの実施形態では、カメラ110は、カメラ110をパン、チルト、及びズームするための、1つ又はそれ以上のモータコントローラ270(例えば、3つ)と、1つ又はそれ以上のモータ272(例えば、3つ)と、を含んでよい。バス225は、カメラ110におけるコンポーネントが互いに通信できるようにする通信パスである。
【0033】
光学系チェーン210は、入射放射線(例えば、光、可視光、赤外線波、ミリメートル波、など)をセンサアレイ220に向ける筐体を含み、入射放射線に基づく画像を撮像する。光学系チェーン210は、監視エリアからの入射放射線を集めて、これらの焦点をセンサアレイ220上に合わせるレンズ212を含む。
【0034】
センサアレイ220は、センサアレイ220に入射する、又は、ここに落ちる放射線(例えば、光)を検知し、感知し、そして測定するセンサのアレイを含んでよい。放射線は、可視光波長帯、赤外線波長帯、又は他の波長帯にあってよい。センサアレイ220は、例えば、電荷結合素子(charged coupled device又はCCD)アレイ及び/又はアクティブピクセルアレイ(例えば、相補型金属酸化膜半導体(complementary metal-oxide-semiconductor又はCMOS)センサアレイ)を含んでよい。センサアレイ220はまた、マイクロボロメータをも含んでよい(例えば、カメラ110が、サーマルカメラ又はデテクタを含む場合)。
【0035】
センサアレイ220は、センサアレイ220上に入射する放射線(例えば、光)を示す(例えば、性状又は性質を説明する)データを出力する。例えば、センサアレイ220から出力されたデータは、センサアレイ220における1つ又はそれ以上のピクセル上に入射する光の強度(例えば、輝度)や色などの情報を含んでよい。センサアレイ220上に入射する光は、光学系チェーン210におけるレンズそれぞれの結果としてその光の焦点が合ってよい「画像」であってよい。センサアレイ220は、「イメージセンサ」とみなすことができる。なぜならこれは、センサアレイ220上に衝突する電磁放射線(例えば、光)を感知して、これらの放射線を多次元信号に変換するからである。用語「画像」は、ここで使用されるように、センサアレイ220上に入射する放射線を示す(例えば、光の性状又は性質を説明する)データを含む。これにより、用語「画像」はまた、画像を説明する「イメージセンサデータ」、又は、いずれのデータ若しくはデータセットを意味するよう使用されてもよい。さらに、「ピクセル」は、放射線の測定(単一又は複数)(例えば、センサアレイ220上に入射する光を示す測定)が行われる、センサアレイ220のいずれの領域又はエリアを意味してよい。ピクセルは、センサアレイ220における1つ又はそれ以上(又は、1未満)のセンサ(単一又は複数)に相当してよい。代替的な実施形態では、センサ220は、スキャニングハードウェア(例えば、回転ミラー)を使用して画像を形成してよいリニアアレイ、又は、イメージプロセッサ230及び/又はコントローラ240に依存してイメージセンサデータを作成してよいノンアレイセンサであってよい。
【0036】
ビデオエンコーダ250は、ステーション125及び/又はVMS150などの、環境100における他のデバイスへの伝送のためのイメージセンサデータをエンコードしてよい。ビデオエンコーダ250は、ISO/MPEG又はITU-H.26Xファミリのビデオコーディング標準などのビデオコーディング技術を使用してよい。
【0037】
イメージプロセッサ230及び/又はコントローラ240は、センサアレイ220により撮像されたイメージデータに対する信号処理動作を行ってよい。イメージプロセッサ230及び/又はコントローラ240は、各種の命令を解釈して実行する、いずれのタイプのシングルコア又はマルチコアプロセッサ、マイクロプロセッサ、ラッチベースプロセッサ、及び/又は、処理ロジック(又は、プロセッサ、マイクロプロセッサ、及び/又は処理ロジックのファミリ)を含んでよい。イメージプロセッサ230及び/又はコントローラ240は、グラフィック処理ユニット(graphics processing unit又はGPU)、汎用グラフィック処理ユニット(general purpose graphics processing unit又はGPGPU)、セル(Cell)、フィールドプログラマブルゲートアレイ(field programmable gate array又はFPGA)、特定用途向け集積回路(アプリケーション specific integrated circuit又はASIC)、及び/又は、別のタイプの集積回路又は処理ロジックなどの、ハードウェアアクセラレータを含んでよい、又は、これに接続されてよい。
【0038】
コントローラ240はまた、カメラ110の所望する焦点及び位置(例えば、チルト及びズーム)をも判定して制御してよい。そのために、コントローラ240は、1つ又はそれ以上のモータコントローラ270にコマンドを送信し、1つ又はそれ以上のモータ272を駆動し、カメラ110をチルト及び/又はパンするか、又は、レンズ212を光学的にズームする。
【0039】
メモリ245は、情報及び/又は命令を保存する、いずれのタイプの揮発性及び/又は不揮発性ストレージデバイスを含んでよい。メモリ245は、ランダムアクセスメモリ(random access memory又はRAM)若しくはいずれのタイプのダイナミックストレージデバイス、読み取り専用メモリ(read-only memory又はROM)デバイス若しくはいずれのタイプのスタティックストレージデバイス、磁気的若しくは光学的記録メモリデバイス及びそれに相当するドライブ、又は、リムーバブルメモリデバイスを含んでよい。メモリ245は、プロセッサカメラ110による使用のための、情報及び命令(例えば、アプリケーション及び/又はオペレーティングシステム)と、データ(例えば、アプリケーションデータ)と、を保存してよい。
【0040】
メモリ245は、コントローラ240及び/又はイメージプロセッサ230による実行のための命令を保存してよい。ソフトウェア命令は、別のコンピュータ可読媒体から、又は、別のデバイスから、メモリ245に読み込まれてよい。ソフトウェア命令は、コントローラ240及び/又はイメージプロセッサ230に、ここに説明する処理を行わせてよい。例えば、カメラ110は、メモリ245に保存されているソフトウェア命令を実行するコントローラ240及び/又はイメージプロセッサ230に応えて、画像処理(例えば、対象をエンコードすること、トランスコードすること、検出すること、など)に関連する作動を行ってよい。代替的に、配線接続された回路(例えば、ロジック)が、ソフトウェア命令の代わりに、又は、これらと組み合わせて使用されて、ここに説明する処理を実装してよい。
【0041】
通信インターフェース260は、別のデバイスへのデータの伝送を促進する、入力及び/又は出力ポート、入力及び/又は出力システム、及び/又は、他の入力及び出力コンポーネントを含む回路及びロジック回路を含む。例えば、通信インターフェース260は、有線通信用のネットワークインターフェースカード(例えば、イーサネット(Ethernet(登録商標))カード)、又は、無線通信用のワイヤレスネットワークインターフェース(例えば、WiFi(登録商標))カードを含んでよい。
【0042】
カメラ110(例えば、メモリ245、イメージプロセッサ230、ビデオエンコーダ250、及び/又はコントローラ240)は、イメージパイプラインと、ビデオストリームをクライアント(例えば、モニタリングステーション125)に提供するストリーミングサーバーと、の間のバッファとして作用するキャッシュを実装してよい。イメージパイプラインは安定した状態にて流れ、データをキャッシュにプッシュする。ストリーミングサーバーは、各クライアントに対して独立して、キャッシュ(又は、バッファ)からデータを取り出してよい。1つの実施形態では、ストリーミングサーバーは、クライアントへの最終的な伝送のために、リアルタイムより速いレートにて、リアルタイムにて、リアルタイムより遅いレートにて、キャッシュからデータを取り出してよい。
【0043】
図2は、カメラ110の例示的なコンポーネントを示すが、他の実装では、カメラ110は、図2に描くものと比較して、より少ないコンポーネント、異なるコンポーネント、異なって配置されたコンポーネント、又は追加的コンポーネントを含んでよい。加えて、又はその代わりに、カメラ110の1つ又はそれ以上のコンポーネントは、カメラ110の1つ又はそれ以上の他のコンポーネントにより行われるものとして説明された機能を行ってよい。例えば、コントローラ240は、イメージプロセッサ230により行われるものとして説明された機能を行ってよいし、逆もまたしかりである。その代わりに、又それに加えて、カメラ110は、図3に関連して下に説明するようなコンピューティングモジュールを含んでよい。
【0044】
図3は、1つの実施形態における、コンピューティングモジュール300の例示的なコンポーネントを示すブロック図である。環境100における各種のデバイス(例えば、VMS150、ディスプレイ130、モーションデテクタ111、スモークデテクタ112、及び/又はセンサ113)は、1つ又はそれ以上のコンピューティングモジュール300を含んでよい。図3に示すように、コンピューティングモジュール300は、バス310、プロセッサ320、メモリ330、及び/又は通信インターフェース360を含んでよい。いくつかの実施形態では、コンピューティングモジュール300はまた、入力デバイス340及び/又は出力デバイス350をも含んでよい。
【0045】
バス310は、コンピューティングモジュール300又は他のデバイスのコンポーネント間の通信を可能にするパスを含む。プロセッサ320は、各種の命令を解釈して実行する、いずれのタイプのシングルコアプロセッサ、マルチコアプロセッサ、マイクロプロセッサ、ラッチベースプロセッサ、及び/又は、処理ロジック(又は、プロセッサ、マイクロプロセッサ、及び/又は処理ロジックのファミリ)を含んでよい。プロセッサ320は、ASIC、FPGA、及び/又は別のタイプの集積回路又は処理ロジックを含んでよい。プロセッサ320は、GPU、GPGPU、セル、FPGA、ASIC、及び/又は、別のタイプの集積回路又は処理ロジックなどの、ハードウェアアクセラレータを含んでよい、又は、これに接続されてよい。
【0046】
メモリ330は、情報及び/又は命令を保存する、いずれのタイプの揮発性及び/又は不揮発性ストレージデバイスを含んでよい。メモリ330は、RAM若しくはいずれのタイプのダイナミックストレージデバイス、ROM若しくはいずれのタイプのスタティックストレージデバイス、磁気的若しくは光学的記録メモリデバイス及びそれに相当するドライブ、又はリムーバブルメモリデバイスを含んでよい。メモリ330は、プロセッサ320による使用のための、情報及び命令(例えば、アプリケーション及びオペレーティングシステム)と、データ(例えば、アプリケーションデータ)と、を保存してよい。
【0047】
メモリ330は、プロセッサ320による実行のための命令を保存してよい。ソフトウェア命令は、別のコンピュータ可読媒体から、又は、別のデバイスから、メモリ330に読み込まれてよい。ソフトウェア命令は、プロセッサ320に、ここに説明する処理を行わせてよい。代替的に、配線接続された回路(例えば、ロジック)が、ソフトウェア命令の代わりに、又は、これらと組み合わせて使用されて、ここに説明する処理を実装してよい。
【0048】
オペレーティングシステムは、コンピューティングモジュール300のハードウェアリソース及びソフトウェアリソースを管理するためのソフトウェア命令を含んでよい。例えば、オペレーティングシステムは、Linux(登録商標)、Windows(登録商標)、OS X(登録商標)、Android(登録商標)、埋め込み型オペレーティングシステム、などを含んでよい。アプリケーション及びアプリケーションデータは、特定のコンピューティングモジュール300が見つかるデバイスに依存して、ネットワークサービスを提供してよい、又は、アプリケーションを含んでよい。
【0049】
通信インターフェース360は、コンピューティングモジュール300が、他のコンポーネント、デバイス、及び/又はシステムと通信できるようにするトランスミッタ及び/又はレシーバ(例えば、トランシーバ)を含んでよい。通信インターフェース360は、無線通信(例えば、ラジオ周波数(radio frequency又はRF)、赤外線、など)、有線通信、又はそれらの組み合わせを介して通信してよい。通信インターフェース360は、ベースバンド信号をラジオ周波数(RF)信号に変換する、又は、その逆にも変換するトランシーバを含んでよく、これは、アンテナに接続されてよい。
【0050】
通信インターフェース360は、他のデバイスへのデータの伝送を促進する、入力及び/又は出力ポート、入力及び/又は出力システム、及び/又は他の入力及び出力コンポーネントを含むロジカルコンポーネントを含んでよい。例えば、通信インターフェース360は、有線通信用のネットワークインターフェースカード(例えば、イーサネットカード)、又は、無線通信用のワイヤレスネットワークインターフェース(例えば、WiFi)カードを含んでよい。
【0051】
いくつかのデバイスはまた、入力デバイス340と、出力デバイス350と、をも含んでよい。入力デバイス340は、ユーザが、情報をコンピューティングモジュール300に入力できるようにしてよい。入力デバイス370は、キーボード、マウス、ペン、マイクロフォン、カメラ、タッチスクリーンディスプレイ、などを含んでよい。
【0052】
出力デバイス350は、ユーザに情報を出力してよい。出力デバイス350は、ディスプレイ、プリンタ、スピーカ、などを含んでよい。入力デバイス340及び出力デバイス350は、ユーザが、コンピューティングモジュール300により実行されるアプリケーションとやりとりできるようにしてよい。「ヘッドレス」デバイス(展開されたリモートカメラなど)の場合、入力及び出力は主に、入力デバイス340及び出力デバイス350ではなく、通信インターフェース360を通る。
【0053】
コンピューティングモジュール300は、データを受信すること、伝送すること、及び/又は処理することを支援する他のコンポーネント(図示せず)を含んでよい。さらに、コンピューティングモジュール300において、他の構成のコンポーネントが可能である。他の実装では、コンピューティングモジュール300は、図3に描くものと比較して、より少ないコンポーネント、異なるコンポーネント、追加的コンポーネント、又は異なって配置されたコンポーネントを含んでよい。加えて、又はその代わりに、コンピューティングモジュール300の1つ又はそれ以上のコンポーネントは、コンピューティングモジュール300の1つ又はそれ以上の他のコンポーネントにより行われるものとして説明された、1つ又はそれ以上のタスクを行ってよい。
【0054】
図4は、1つの実施形態における、カメラ110及び/又はVMS150の例示的な機能的コンポーネントのブロック図である。カメラ110及び/又はVMS150は、リアルタイム偏差ロジック402、チャネル容量デテクタ404、エンコーダ406、バッファ408、ルールテーブル410、ルールエンジン412、モーション検出ロジック414、及び/又は対象検出ロジック416を含んでよい。
【0055】
リアルタイム偏差ロジック402は、カメラ110及び/又はVMS150が、ビデオストリームをビデオストリームのビットレート(例えば、リアルタイムのビットレート又は速度)にて伝送することから逸脱し得るときを判定する。例えば、1つ又はそれ以上の適格条件(例えば、ビデオストリームにおけるモーション、ドアが開く、など)が満たされると、リアルタイム偏差ロジック402は、ビデオのビットレートを上げるよう判定してよく(又は、ビデオのビットレートを上げることを許可する、又は、これを可能にする)、ビデオストリームがビデオストリームのビットレートにて伝送され得ない程度にビデオをバッファリングしてよく、オペレータがディスプレイ130上にて(例えば、スローモーションにて)見る、より長い時間間隔(タイムストレッチ)にわたり、ビデオストリームをモニタリングステーション125に伝送してよい。
【0056】
チャネル容量デテクタ404は、カメラ110とモニタリングステーション125との間のチャネルの容量(例えば、ビット数毎秒での最大伝送速度)を判定する。チャネル容量を判定するための、多くの異なる方法が使用されてよい。チャネル容量ロジック404は、パケットが欠落する伝送速度を判定するために上げた速度にて、ネットワーク120を通してデータを伝送することにより、チャネル容量を判定してよい。チャネル容量を超えていると、パケットが欠落し始める。その容量を測定するためにネットワーク120を通過するデータは、ビデオストリームを含んでよい。つまり、ネットワーク120の容量に到達していると、ビデオストリームにおけるパケットが欠落し始める。1つの実施形態では、チャネル容量は、連続して測定されてよい、又は、これが判定されてよい。1つの実施形態では、チャネル容量は、カメラ110又は特定のビデオストリームにアサインされてよい(例えば、ネットワーク120の実際の容量を考慮することなく)。例えば、構成中、環境100における各カメラ110には、各カメラ110が超えるべきではないチャネル容量が提供されてよい。別の実施形態では、チャネル容量は、カメラ110により(例えば、エンコーダ406により)設定されたダイナミックな閾値であってよい。例えば、エンコーダ406に、可変ビットレート(variable bitrate又はVBR)エンコーダが採用されている場合、チャネル容量は、VBRエンコーダにアサインされた最大ビットレートであってよい。エンコーダ406に、一定ビットレート(constant bitrate又はCBR)エンコーダが採用されている場合、チャネル容量は、CBRエンコーダにアサインされた一定ビットレートであってよい。ここに説明するように、イベント中、エンコーダ406は、チャネル容量より高いビットレートを提供可能であってよい。これは、エンコーダ406が、そのアサインされた最大ビットレートより高い(VBRエンコーダについて)、又は、そのアサインされた一定ビットレートより高い(CBRエンコーダについて)ビットレートを用いて、ストリームを(例えば、イベント中に)生成可能であることを含んでよい。チャネル容量はまた、いずれの他の理由によりビデオストリームがしたがわなければならない、任意のビットレート閾値ともされ得る。
【0057】
エンコーダ406は、画像情報及び/又はビデオ情報を入力し、それを、ネットワーク120を通してモニタリングステーション125に伝送するために、ビデオストリームにエンコードする。エンコーダ406は、可変ビットレートエンコーディング法を使用してよい。エンコーダ406は、ビデオにおけるモーションによっては、ビットレートを上げてよい。例えば、カメラ110が、ドアのシーンのビデオを撮像しており、そのシーンに人が入ると、エンコーダ406は、そのシーンに入る人に関する追加的情報をエンコードするために、ビットレートを上げてよい。エンコーダ406は、ビデオの品質を必ずしも変えることなく、(例えば、エンコーディングモーションの結果として)ビットレートを上げてよい。追加的要因は、エンコーダ406に、ビデオストリームのビットレートを上げさせてよい。エンコーダ406は、ビデオストリームの「品質係数」を変えることにより、ビデオの品質を調整してよい。品質係数は、(離散余弦変換(discrete cosine transform又はDCT)係数に対する)量子化パラメータ、画像解像度、フレームレート、ダイナミックカラーレンジ、無色(例えば、黒及び白)、などを含んでよい。品質の向上及び/又は追加的情報(モーションなど)は結果として、より高いビットレートとなる場合がある。エンコーダ406は、ネットワーク120の容量に依存して、ビデオストリームを異なるビットレートにてエンコードしてよい。つまり、ネットワーク120を通る、より高いチャネル容量により、より高いビットレート及びより高い品質のビデオが可能となり得る。一方、ネットワーク120を通る、より低いチャネル容量により、ビデオの品質及びビットレートが下がり得る(例えば、伝送中にパケットを失うことを回避するために)。
【0058】
バッファ408は、ビデオストリームのビットレートが、ネットワーク120を通るビデオストリームの伝送レートより高い場合は、伝送前にビデオストリームを保存してよい。ビデオストリームのビットレートは、(モーションイベントなど)より多くの情報がエンコードされる必要があり得るイベント中などは、伝送レートより高くともよい。メモリ330及び/又はメモリ245は、バッファ408を含んでよい。1つの実施形態では、バッファ408は、アプリケーションレイヤバッファである(例えば、ネットワークレイヤバッファとは対照的に)。この実施形態では、バッファ408は、(オペレーティングシステムのカーネルにあってよい)伝送制御プロトコル(transmission control protocol又はTCP)バッファとは別の、アプリケーションレイヤバッファである。加えて、バッファ408は、カーネルにおけるバッファに関連付けられなくともよい、ユーザデータグラムプロトコル(user datagram protocol又はUDP)にて使用されてよい。アプリケーションレイヤでは、バッファ408は、(例えば、ネットワークデバイスにおける)カーネル又はネットワークにおいてではなく、イメージデータの撮像に近くともよい。1つの実施形態では、バッファ408は、イメージパイプラインとストリーミングサーバーとの間にあってよい。
【0059】
ルールテーブル410は、ルールの条件が満たされる場合に取る、ルールエンジン412に対するアクションを保存する。ルールエンジン412は、(例えば、センサから)イベント通知を受信し、ルールテーブル410に保存されたルールを解釈し、ルールの条件が満たされる場合にアクションを行う。例えば、モーション検出ロジック414によりモーションが検出されると、ルールエンジン412は、エンコーダ406に指示を出し、ビデオストリームにおけるより高いビットレートを許可し、リアルタイム偏差モードを受理し、及び/又は、モニタリングステーション125に伝送されており、ディスプレイ130上に表示されているビデオストリームの品質を上げてよい(ビットレートが上がることがあっても)。別の例として、センサが、ドアが開いたことを判定すると、ルールエンジン412は、エンコーダ406に指示を出し、ビデオストリームのより高いビットレートを許可し(例えば、品質係数を変えて、又は、これを変えることなく)、リアルタイム偏差モードを受理し、及び/又は、モニタリングステーション125に伝送されており、ディスプレイ130上に表示されているビデオストリームの品質を上げてよい(ビットレートが上がることがあっても)。
【0060】
モーション検出ロジック414は、モーションイベントを検出し、モーションイベントの通知を、他のデバイス及び/又はルールエンジン412に送信する。例えば、カメラ110におけるモーション検出ロジック414は、1つの画像を次の画像と比較して、モーションを検出してよい。モーション(例えば、イベント)が検出されると、モーション検出ロジック414は、イベント通知を、別のデバイスのルールエンジン412に送信してよい。1つの実施形態では、モーション検出ロジック414は、ビデオストリームのビットレートが上がったことを判定することにより、モーションイベントを判定してよい。
【0061】
対象検出ロジック416は、ビデオストリームにおける対象を検出してよい。特定の対象(例えば、イベント)が検出されると、対象検出ロジック416は、イベント通知を、別のデバイスに、又は、ルールエンジン412に送信してよい。イベントは、対象であって、カメラの視野に入る対象の動きや、カメラの視野を出る対象の動きを含んでよく、対象が、特定のクラスの物理的対象に属することを認識する、又は、対象が、特定の人の顔であることを認識する。
【0062】
図5は、1つの実施形態における、モーションデテクタ111、対象デテクタ112、及び/又はセンサ113の例示的な機能的コンポーネントのブロック図である。これらのデバイスは、対象検出ロジック502、モーション検出ロジック504、及び/又はセンサロジック506を含んでよい。
【0063】
対象検出ロジック502は、対象検出ロジック416と同様に作動してよいが、カメラ110とは分けられてよい。対象検出ロジック416と同様に、対象検出ロジック502は、ビデオストリームにおける対象及び/又は顔を検出してよい。特定の対象又は顔(例えば、イベント)が検出されると、対象検出ロジック502は、イベント通知を、別のデバイスに、又は、ルールエンジン412に送信してよい。ルールエンジン412は、エンコーダ406に指示を出し、(例えば、品質係数を変えて、又は、これを変えることなく)ビデオストリームのより高いビットレートを許可し、リアルタイム偏差モードを受理し、及び/又は、モニタリングステーション125に伝送されており、ディスプレイ130上に表示されているビデオストリームの品質を上げてよい。
【0064】
モーション検出ロジック504は、モーション検出ロジック414と同様に作動してよいが、カメラ110とは分けられてよい。モーション検出ロジック504は、モーションイベントを検出し、モーションイベントの通知を、他のデバイス及び/又はルールエンジン412に送信する。例えば、モーション(例えば、イベント)が検出されると、モーション検出ロジック504は、イベント通知を、別のデバイスのルールエンジン412に送信してよい。ルールエンジン412は、エンコーダ406に指示を出し、(例えば、品質係数を変えて、又は、これを変えることなく)ビデオストリームのより高いビットレートを許可し、リアルタイム偏差モードを受理し、及び/又は、モニタリングステーション125伝送されており、ディスプレイ130上に表示されているビデオストリームの品質を上げてよい。
【0065】
センサロジック506は、イベントを作成できるいずれのタイプのセンサを含む。例えば、ドアが開いたことをセンサロジック506が判定すると、センサロジック506は、イベントメッセージをルールエンジン412に送信してよい。ルールエンジン412は、エンコーダ406に指示を出し、ビデオストリームのより高いビットレートを許可し、リアルタイム偏差モードを受理し、及び/又は、モニタリングステーション125に伝送されており、ディスプレイ130上に表示されているビデオストリームの品質を上げてよい。
【0066】
図6は、1つの実施形態における、モニタリングステーション125の例示的な機能的コンポーネントのブロック図である。モニタリングステーション125は、デコーダ602と、表示ロジック604と、を含んでよい。デコーダ602は、ネットワーク120を通して受信したビデオストリームをデコードし、ビデオをディスプレイ130上に表示する。表示ロジック604は、例えば、ビデオがスローモーション又はファストモーションにて表示されているときを、オペレータに知らせる。1つの実施形態では、表示ロジック604はまた、カメラ110及び/又はVMS150に信号を送信し戻し、リアルタイム偏差の停止を要求してよい。
【0067】
図7は、簡略化したモニタリングシステム環境700のブロック図である。環境700は、エリア106の画像を撮像し、その画像を、ネットワークチャネル702を経由して伝送するためのビデオストリームにエンコードするためのカメラ110を含む。チャネル702は単一の線として示されているが、チャネル702は、ネットワーク(例えば、ネットワーク120)を含んでよい。したがって、チャネル702は、多数のデバイスによりシェアされてよく、各セグメントが異なるデバイスによりシェアされている多くのセグメントを有する場合がある。環境700はまた、ビデオストリームをディスプレイ130上にてオペレータ704に見せるためのディスプレイ130を伴うモニタリングステーション125をも含む。環境700は簡略化されている。コンポーネントの追加的又は異なる配置が可能であり、それらは、チャネル702を経由して伝送するためのビデオストリームをエンコードするため、及び/又は、これをトランスコードするための、VMS150の使用を含む。
【0068】
ビデオストリームは、「ビットレート」又は「ビデオストリームのビットレート」を有する。ビデオストリームのビットレートは、撮像されたシーンにおける、単位時間毎のビデオストリームにおけるビット数に相当する。したがって、1秒間のビデオをエンコードするために、ビデオストリームが1メガビット(megabit又はMb)を使用する場合、ビデオストリームに対するビットレートは、1メガビット/秒(megabits per second又はMbps)となる。ビデオストリームは、チャネル702に、「伝送速度」にて伝送される。「伝送速度」はまた、ビット/秒にて測定されてもよい。したがって、トランスミッタが1秒間に1Mbのデータを伝送する場合、伝送速度は1Mbpsとなる。ビデオストリームの伝送速度がビデオストリームのビットレートにマッチすると、伝送速度は、「リアルタイムの伝送速度」とみなされる。ビデオストリームが(例えば、デコーダにより)受信されたレートは一般的に、(パケットが失われていないものと仮定して)伝送速度と同じである。この用語「レート」は、「速度」と同義とみなされる。
【0069】
伝送速度は、チャネル702の容量(「チャネル容量」)により制限されてよい。なぜなら、チャネル702は一般的に、他のデバイス(他のカメラ110など)によりシェアされる多くのセグメントを持つネットワーク120であるためである。チャネル容量は、時間と共に変わってよい(例えば、他のデバイスが起動してオフラインとなる場合、又は、別のデバイスが一時的に、より高いビットレートを必要とする場合)。チャネル容量はまた、ビット/秒にて表されてもよい。伝送レートがチャネル容量より高いと、パケットがネットワークにおいて欠落する場合があり、データが失われる場合がある。
【0070】
ビデオストリームのビットレートがチャネル容量より高いと、システムは、(1)ビデオストリームを、チャネル容量より高い伝送レートにて伝送しようと試みる場合がある。この場合、パケットがネットワーク120にて欠落する場合があり、デコーダが不完全なビデオを提示する場合がある。代替的に、ビデオストリームのビットレートがチャネル容量より高いと、システムは、(2)ビデオストリームのビットレートより低いレートにて伝送する場合がある。この場合、伝送速度がリアルタイムの速度より低く、デコーダが、唐突に始まって唐突に終わるビデオを提示する場合がある。なぜなら、デコーダが、ビデオストリームを、リアルタイムのレートより低いレートにて受信するからである。別の代替例として、ビデオストリームのビットレートがチャネル容量より高いと、システムは、(2)ビデオストリームのビットレートを下げて、チャネル容量にマッチするよう、ビデオをエンコード、トランスコード、及び/又は再エンコードする場合がある。この場合、オペレータ704に提示されるビデオの品質が低くなり得る。
【0071】
オペレータ704は一般的に、エリア106にて生じるビデオを見ることに関して、2つの基準を有する。第1に、オペレータ704は、できるだけ高品質のビデオを見たがる。第2に、(チャネル702における)伝送ディレイと、潜在的なエンコーディングディレイ及びデコーディングディレイと、があることを理解した上で、オペレータ704は、「リアルタイム」に生じていることを、又は、生じていることを「そのまま」見たがる。それら2つの基準を満たすVMS150及び/又はカメラ110の能力は、チャネル702の容量に依存する。より高い品質のビデオとは一般的に、より高いビデオストリームのビットレートを意味する。したがって、カメラ110及び/又はVMS150は、ビデオストリームのビットレートがチャネル容量に相当するようになる(例えば、ビデオストリームのビットレートが、チャネル容量と同じになる、又は、これより低くなる)までビデオ品質を上げる。ビデオ品質をいくぶん高く上げることは、パケットが失われたり、又は、ディレイが生じたりして、結果として、オペレータ704に提示されるビデオ品質が下がることを意味することとなる。
【0072】
これは、ビデオストリームのビットレートが変動することがあるため(特に、エンコーダが可変ビットレートアルゴリズムを使用する場合)、システムに問題が生じる場合がある。例えば、人がエリア106に入ると(「イベント」)、ビデオストリームのビットレートが一時的に上がる場合がある。なぜなら、(モーションを含む)追加的情報がエンコードされる必要があるからである。ビデオストリームのビットレートがチャネル容量を超えて上がることを防ぐために、本システムは、オペレータ704が、ビデオの品質が下がることを望まない場合がある(しかし、品質が維持される、及び/又は、これが上がることを望む場合がある)正確な時間に、ビデオの品質を下げるよう、ビデオをエンコードしてよい。ここに開示するものは、システムが、そのような状況においても(例えば、イベント中)、モニタリングシステムにおけるビデオ品質を維持することを可能にし得る方法である。
【0073】
図8A及び図8Bは、1つの実施形態における、ビデオモニタリングシステムにおけるリアルタイム偏差に対する処理のフローチャートである。処理800Aは、ビデオストリームを撮像することと、エンコードすることと、伝送することと、に関する。処理800Bは、ビデオストリームを受信することと、表示することと、に関する。処理800A及び処理800B(まとめて、処理800)は、カメラ110及び/又はVMS150、そして、モニタリングステーション125及び/又はディスプレイ130、にて、又は、これらにより、実行され得る。処理800Aは、デバイスにおいて、メモリ(例えば、メモリ245及び/又はメモリ330)に保存された命令を実行するプロセッサ(例えば、プロセッサ230、エンコーダ250、コントローラ240、及び/又はプロセッサ320)により実行されてよい。処理800Aは、図7図9Aから図9C、及び図10と合わせて説明される。図9A図9B、及び図9Cは、1つの実施形態において、オペレータ704が、イベント前、イベント中、及びイベント後のそれぞれに、ディスプレイ130上に見るであろうものを示す。図10は、1つの実施形態における、イベント前、イベント中、及びイベント後のビットレートを示す。
【0074】
処理800Aは、イメージデータ及び/又はビデオデータの撮像及びエンコーディングと共に始まる(ブロック802)。この例では、カメラ110は、エリア106の画像を撮像する。モニタリングシステムでは、カメラ110は、エリア106の「ライブ」画像(例えば、ライブシーン又はライブイベント)を撮像する。ビデオストリームの品質の判定を支援するために、チャネル容量(例えば、パケットロスのない最大伝送速度)が判定されてよい(ブロック804)。チャネル容量を判定するための、多くの異なる技術が使用されてよい。例えば、チャネル容量ロジック404は、パケットが欠落する伝送速度を判定ために上げた速度にて、チャネル702を通してデータを伝送することにより、チャネル容量を判定してよい。チャネル容量を超えていると、パケットが欠落し始める。その容量を測定するためにチャネル702を通過するデータは、ビデオストリームを含んでよい。つまり、チャネル702の容量に到達していると、ビデオストリームにおけるパケットが欠落し始める。1つの実施形態では、チャネル容量は、連続して測定されてよい、又は、これが判定されてよい。図10は、チャネル容量1002を、一点短鎖線として示す。1つの実施形態では、イベントが発生していないとき(例えば、イベント前)のチャネル容量が判定される。他の実施形態では、チャネル容量ロジック404は、チャネル容量(ブロック804)をカメラ110又は特定のビデオストリームにアサインしてよい(例えば、ネットワーク120の実際の容量を考慮することなく)。例えば、構成中、環境100における各カメラ110には、各カメラ110が超えるべきではないチャネル容量が提供されてよい。別の実施形態では、チャネル容量は、カメラ110により(例えば、チャネル容量ロジック404及び/又はエンコーダ406により)設定されたダイナミックな閾値であってよい。例えば、エンコーダ406に、可変ビットレート(variable bitrate又はVBR)エンコーダが採用されている場合、チャネル容量は、VBRエンコーダにアサインされた最大ビットレートであってよい。エンコーダ406に、一定ビットレート(constant bitrate又はCBR)エンコーダが採用されている場合、チャネル容量は、CBRエンコーダにアサインされた一定ビットレートであってよい。
【0075】
ビデオストリームの品質係数は、チャネル容量に基づいて調整されてよい(ブロック805)。例えば、チャネル702が追加的データを運ぶことができれば、画像の解像度が上げられてよい(及び、ビデオストリームのビットレートが上げられてよい)。別の例として、チャネル702が追加的データを運ぶことができれば、レベル数を増やすことができるように、DCT係数の量子化パラメータが変更されてよい(及び、ビデオストリームのビットレートが上げられてよい)。一方、チャネル702においてパケットが欠落する場合には、画像の解像度が下げられてよい(及び、ビデオストリームのビットレートが下げられてよい)。代替的に、チャネル702においてパケットが欠落する場合には、レベル数を減らすよう、DCT係数の量子化パラメータが変更されてよい(及び、ビデオストリームのビットレートが下げられてよい)。品質係数が判定されると、処理800Aは、イメージデータ及びビデオデータを撮像することと、これをエンコードすることと(ブロック806)、ビデオストリームを(リアルタイムの速度にて)チャネル702を通して伝送することと(ブロック807)、に続いてよい。この処理(例えば、ブロック804から807)は、ビデオが撮像されて伝送されると共に続いてよい。処理800B(図8Bを参照されたい)は、ビデオストリームをリアルタイムの速度にてチャネル702から受信することと(ブロック852)、ビデオをリアルタイムの速度にて表示することと(ブロック854)、により始まってよい。
【0076】
図10は、ビデオストリームのビットレート1004(上)と、イベント前、イベント中、及びイベント後の伝送レート1006(下)と、のグラフを示す。この例では、イベント開始時間1010の前に、ビデオストリームのビットレート(セクション1014)は、チャネル容量1002の近くをたどっている。この時間中、ビデオストリームのビットレートはチャネル容量未満であるため、ビデオストリームは、そのリアルタイムの速度にて伝送される(ブロック807)(図10の下を参照されたい)。モニタリングステーション125は、図9Aに示すように、ビデオストリームを(リアルタイムのレートにて)受信し(ブロック852)、ビデオストリームをディスプレイ130上に表示する(ブロック854)。図9Aは、エリア106が(カメラ110から)「ライブ」にて示されていることを示すウィンドウ920Aのあるディスプレイ130を示す。ウィンドウ920Aにおけるビデオはまた、ノーマルモーション速度(例えば、スローモーション又はファストモーションではない)にて表示されてもよい(ブロック854)。このシチュエーションは、イベント開始時間1010まで続いてよい。
【0077】
処理800A(例えば、ブロック804から807)は、イベントが検出されたら中断されてよい(ブロック808)。対象とするイベントは、例えば、モーション検出ロジック414又は502、対象検出ロジック416又は504、及び/又はセンサロジック506による、モーション、対象検出、及び/又は、顔検出を含んでよい。イベントを検出することは、ビデオの画像におけるモーションに起因する上昇などの、ビデオストリームのビットレートが上がったことを判定することを含んでよい。イベント中、ビデオストリームのビットレートが(例えば、モーションからの結果として)上がることが望ましくともよい(ブロック810)。例えば、図9Bに示すように、人910がエリア106に入る。これは、イベント開始時間1010でのイベントに相当する。図10に示すように、ビデオストリームのビットレート1004は、チャネル容量1002より高いレートまで上がる(セグメント1016)。上記の1つの実施形態では、イベント中、エンコーダ406は、チャネル容量より高いビットレートを提供可能であってよい。これは、エンコーダ406が、そのアサインされた最大ビットレートより高い(VBRエンコーダについて)、又は、そのアサインされた一定ビットレートより高い(CBRエンコーダについて)ビットレートを用いて、ストリームを(例えば、イベント中に)生成可能であることを含んでよい。
【0078】
ビデオストリームのビットレートがチャネル容量より高いため、ビデオストリームをリアルタイムのレートにて伝送することは、パケットが結果として失われる場合がある。これにより、ビデオストリームは、リアルタイムのビットレートより低いビットレートにて伝送されてよい(ブロック812)。ビデオストリームがリアルタイムのレートより低いレートにて伝送されるため、ビデオストリームの伝送には、(対応するビデオ記録時間より)多くの時間がかかる。図10に示すように、イベント中の時間セグメント1016には、伝送中に、ストレッチがある(対応するセグメント1018まで)。この時間中、ビデオストリームは、イベント中にパケットを失うことを回避するために、バッファリングされてよい(ブロック813)。ビデオストリームをリアルタイム伝送レートより低いレートにて伝送することは、タイムストレッチ1025を導入する。リアルタイム偏差ロジック402は、ビデオストリームをバッファリングするために、バッファ408を使用してよい。バッファはアプリケーションレイヤバッファであるため(ネットワークレイヤバッファではなく)、ビデオストリームのビットレートがチャネル容量より高い場合でも、パケットは欠落しない。1つの実施形態では、伝送されたビデオストリームは、ビデオストリームにタイムストレッチがあることを、デコーダ602に示す情報を含んでよい。別の実施形態では、デコーダ602は、ビデオストリームに追加的情報が加えられることなく、タイムストレッチを暗示してよい。
【0079】
処理800Bは、ビデオストリームをリアルタイムの速度未満の速度にて受信することと(ブロック856)、ビデオをスローモーションにて表示することと(ブロック858)、に続く。モニタリングステーション125は、ビデオストリームをリアルタイム伝送レートより低いレートにて受信する。唐突に始まって唐突に終わるビデオを表示する代わりに、モニタリングステーション125は、ビデオをスローモーションにて表示する。図9Bに示すように、ディスプレイ130上のウィンドウ920Bは、ビデオがスローモーションにて(例えば、リアルタイムの速度の90%にて)表示されていることと、(例えば、より高いビットレートにて提供するために)表示されているシーンには追加的な1秒の累積的なディレイがあることと、を、オペレータ704に示す。より高いビットレートでのスローモーションは、イベントの終わりまで続いてよい。1つの実施形態では、オペレータ704は、図9Bに「リアルタイムまで早送り」とマークされているボタン924を選択することにより、イベントを終えてよい(例えば、早送り、スキップ送り、及び/又は、ノーマル速度に戻る)。1つの実施形態では、ビデオストリームをリアルタイムの速度より低いレートにて受信することは、ビデオをスローモーションにて表示させる(例えば、デコーダ602により)。別の実施形態では、ビデオストリームは、デコーダ602にビデオをスローモーションにて表示させるモニタリングステーション125にて解釈される(例えば、エンコーダ406により加えられる)情報を含んでよい。
【0080】
イベントの終了が検出されるか、又は、これが判定されると(ブロック814)、ビデオストリームのビットレートは下げられてよい(ブロック816)。イベントの終了は、例えば、モーション検出ロジック414又は502、対象検出ロジック416又は504、及び/又はセンサロジック506により、モーションが無いこと、対象が検出されないこと、及び/又は、顔が認識されないことを含んでよい。例えば、図9Cに示すように、人910がシーンを退出する場合がある。これは、イベント終了時間1012後に相当する。イベントが終わったことを判定することはまた、ビデオの画像においてモーションが無いことに起因する減少など、ビデオストリームのビットレートが下がったことを判定することをも含んでよい。図10に示すように、ビデオストリームのビットレートは、追加的チャネル容量(例えば、セグメント1020中のビデオストリームのビットレート1004とチャネル容量1002との間の差)が存在する程度にまで下げられる。トランスミッタがビデオストリームのこの部位(例えば、セクション1020)を伝送すると、ビデオストリームは、リアルタイム伝送レートより高い伝送レートにて(ブロック818)伝送されてよく、これは、バッファが空になり得るまで(ブロック820)続いてよい。リアルタイム伝送レートより高いレートでの伝送は、先のイベント中に導入されたタイムストレッチ1025を補う。1つの実施形態では、伝送されたビデオストリームは、ビデオストリームが、タイムストレッチ1025を補うよう伝送されたことを、デコーダ602に示す情報を含んでよい。別の実施形態では、デコーダ602は、ビデオストリームに追加的情報を加えることなく、これを暗示してよい。
【0081】
処理800Bは、ビデオストリームをリアルタイムの速度を超える速度にて受信することと(ブロック860)、ビデオをファストモーションにて表示することと(ブロック862)、に続く。モニタリングステーション125は、ビデオストリームをリアルタイムのレートより高いレートにて受信する。ビデオをリアルタイムのレートにて表示する代わりに、モニタリングステーション125は、ビデオをファストモーションにて表示する。図9Cに示すように、ディスプレイ130上のウィンドウ920Cは、ビデオがファストモーションにて(例えば、リアルタイムの速度の110%にて)表示されていることと、(例えば、より高いビットレートにて提供するために)表示されているシーンには追加的な0.5秒の累積的なディレイがあることと、を、オペレータ704に示す。より低いビットレートでのファストモーションは、バッファが空になるまで(ブロック820)、及び/又は、モニタリングステーション125が、ビデオストリームをリアルタイムのレートに相当する伝送レートにて受信し始めるまで、続いてよい。
【0082】
バッファが空になった後は、処理800Aは、リアルタイム伝送レートに相当するビデオストリームのビットレートを用いて再度始まってよい。イベントが終わったことの判定(ブロック814)後及びバッファが空になる(ブロック820)前に、別のイベントが検出されてよい(ブロック808)。ブロック810から813(例えば、ビデオストリームのビットレートを上げることと(ブロック810)、ビデオストリームをリアルタイムのレートより低いビットレートにて伝送することと(ブロック812)、ビデオストリームをバッファリングすることと(ブロック813)、ビデオをスローモーションにて再生することと(ブロック858))が繰り返されてよい。
【0083】
図10に示すように、伝送されたビデオストリームは、イベント前の第1のビットレート(セグメント1014)と、イベント中の第2のビットレート(セグメント1016)と、を有する。1つの実施形態では、第2のビットレートは、第1のビットレートより高い。伝送されたビデオストリームは、イベント後の第3のビットレートを有する(セグメント1020)。第3のビットレートは、下げられたビットレートに相当する。1つの実施形態では、第3のビットレートは、第1のビットレートより低い。ビデオストリームのビットレートを下げることは、ビデオストリームの品質係数を下げることを含んでよい。ビデオストリームの品質係数を下げることは、ビデオストリームにおけるフレームレート、量子化パラメータ、及び/又は画像の解像度を下げることを含んでよい。
【0084】
図11は、別の実施形態における、イベント前、イベント中、及びイベント後のビットレートを示す。図11に示すように、イベント中、ビデオストリームは、ベースレイヤ1102と、エンハンスメントレイヤ1104と、の2つに分けられてよい。ベースレイヤ1102は、より高い品質のバージョンのビデオを達成するために、エンハンスメントレイヤ1104を用いてエンハンス可能な、より低い品質のバージョンのビデオである。ベースレイヤ1102は、リアルタイム伝送レートにて伝送されてよい一方で、エンハンスメントレイヤ1104は、リアルタイム伝送レートより低いレートにて伝送されてよい。この場合、バッファ408には、エンハンスメントレイヤ1104が満たされてよい。結果として、モニタリングステーション125は、より高い品質(及び、スローモーション)のバージョンのビデオと、より低い品質(実際の速度又はノーマルモーションの速度)のバージョンのビデオと、の双方共を、同時に表示してよい。イベントが終わると、バッファ408は空にされ、モニタリングステーション125にチャネル容量にて伝送されてよい。図12は、図11の実施形態において、オペレータがイベント中にディスプレイ上に見るであろうものを示す。図12では、ディスプレイ130は、エリア106のリアルタイム(ノーマルモーション)での低品質ビューを映す小さいウィンドウ1122を含む。ディスプレイ130はまた、エリア106のスローモーションでのより高い品質のビューを映す大きなウィンドウ1122を含む。
【0085】
図13は、別の実施形態における、イベント前、イベント中、及びイベント後のビットレートを示す。(図11と同様に)図13に示すように、イベント中、ビデオストリームは、ベースレイヤ1102と、エンハンスメントレイヤ1104と、の2つに分けられてよい。図13の場合では、ベースレイヤ1102は、リアルタイム伝送レートにて伝送されてよい一方で、エンハンスメントレイヤ1104は、低品質伝送を中断することなく、リアルタイム伝送レートより低いレートにて伝送されてよい(図11に示すように)。結果として、モニタリングステーション125は、より高い品質(及び、スローモーション)のバージョンのビデオと、より低い品質(実際の速度又はノーマルモーションの速度)のバージョンのビデオと、の双方共を、同時に表示してよい。
【0086】
1つの実施形態では、ビデオストリームがオーディオを含む場合、このオーディオはまた、オーディオピッチが変わらない方法にて、タイムストレッチされてもよい(例えば、ビデオがタイムストレッチされる場合)か、又は、時間圧縮されてもよい(例えば、ビデオが時間圧縮される場合)。つまり、ビデオがモニタリングステーション125によりスローモーション及び/又はファストモーションにて再生され得るとしても、オーディオピッチは、下方又は上方にはシフトしない。オーディオが調整される場合、これは、モニタリングステーション125におけるデコーダ602により行われてよい。代替的に、オーディオの調整は、カメラ110及び/又はVMS150におけるエンコーダ406により行われてよい。
【0087】
モニタリングシステム(環境100におけるオペレータ704など)は、ビデオストリームからオーディオを除外してよい。例えば、オペレータ704は、ディスプレイ130上に1つを超えるビデオストリームを見る場合がある。このシチュエーションでは、1つを超えるオーディオストリームを再生することは、オペレータ704を混乱させる場合がある。結果として、カメラ110及び/又はVMS150は、いずれのビデオストリームからオーディオを(例えば、ソースにて)除外する機能を含んでよい。オーディオは、他の理由によっても、望ましくない場合がある(例えば、オーディオは、帯域幅に関連しない、又は、これを保持しない場合がある)。上記の方法及びシステムは、ビデオストリームからオーディオを除外してよい(この場合、スローモーション又はファストモーション中のオーディオに対するピッチ調整は必要なくなる)。
【0088】
別の実施形態では、上記の本方法及びシステムは、ビデオストリームを伴わないオーディオストリームに適用されてよい。つまり、オーディオストリームのビットレートが閾値を超える場合(又は、イベントが検出された場合)(ブロック808と同様)、オーディオビットレートは、リアルタイムのレートより低いレートにて伝送されてよい(例えば、バッファが使用されている間)(ブロック810から813と同様)。イベントが終わると(ブロック814と同様)、オーディオビットレートは下げられてよく、リアルタイムのレートより高いレートにて伝送されてよい(ブロック816から820と同様)。
【0089】
上述するように、ここに説明する方法及びシステムは、ネットワークに大きな負荷を掛けることや、パケットが欠落することが必ずしもなく、(例えば、追加的モーション情報又は品質の向上を含むよう)モニタリングシステムがビデオストリームのビットレートを上げることを可能にし得る。その代わりに、下記の実施形態は、例えば、オペレータが、ビットレートがより高いイベントを、より高い品質にて、スローモーションにて見ることを可能にし得る。これらの方法及びシステムはまた、(例えば、フレームレート、画像品質、又はモーションキャプチャを下げることにより)ビデオの品質を下げて、ビットレートが上がることを防ぐ場合がある。
【0090】
先の説明では、添付の図面を参照して、各種の好ましい実施形態を説明した。しかし、以下の特許請求の範囲に示す通りの、本発明のより広い範囲から逸脱することなく、様々な改変及び変更がそれらに行われてよいこと、及び、追加的実施形態が実装されてよいことが明白となるであろう。本明細書及び図面はこれにより、限定的意味を持つものではなく、例示的なものとみなされる。
【0091】
例えば、フローチャートを含む図面に関連して、いくつかのシリーズのブロックを説明した一方で、他の実装では、ブロックの順序が変更されてよい。さらに、互いに依存しないブロックが平行して行われてよい。
【0092】
上述するようなシステム及び/又は方法は、図面に示す実装において、多くの異なる形態のソフトウェア、ファームウェア、及びハードウェアにて実施されてよいことが明らかとなるであろう。これらのシステム及び方法を実施するために使用される実際のソフトウェアコード又は専用制御ハードウェアは、本実施形態に限定されない。したがって、システム及び方法の作動及び動作は、特定のソフトウェアコードを参照することなく説明した。しかし、ソフトウェア及び制御ハードウェアは、本説明に基づくシステム及び方法を実装するよう設計できることが理解される。
【0093】
さらに、上記の特定の部位は、1つ又はそれ以上の機能を行うコンポーネントとして実装されてよい。ここで使用されるように、コンポーネントは、プロセッサ、ASIC、若しくはFPGAなどのハードウェアを含んでよいし、又は、ハードウェアとソフトウェアの組み合わせ(例えば、ソフトウェアを実行するプロセッサ)を含んでよい。
【0094】
用語「含む(comprises)」/「含む(comprising)」が本明細書にて使用される場合、これらは、ここに記す特徴、整数、ステップ、又はコンポーネントの存在を明記するために用いられるが、1つ又はそれ以上の他の特徴、整数、ステップ、コンポーネント、又はそれらのグループの存在又は追加を除外しない、ということが強調されるべきである。
【0095】
本出願において使用される構成要素、作用、又は命令はいずれも、特にそのように明記しない限り、実施形態にとって重要又は必須なものとして解釈されるべきではない。また、ここで使用されるように、冠詞「a」は、1つ又はそれ以上のアイテムを含むことを意図する。さらに、フレーズ「に基づいて(based on)」は、特に明記しない限り、「に、少なくとも部分的に基づいて(based, at least in part, on)」を意味することを意図する。
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9A
図9B
図9C
図10
図11
図12
図13