特許第6753902号(P6753902)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ アビジロン コーポレイションの特許一覧

特許6753902ビデオソースデバイスからストリーム配信されるデータの格納管理
<>
  • 特許6753902-ビデオソースデバイスからストリーム配信されるデータの格納管理 図000002
  • 特許6753902-ビデオソースデバイスからストリーム配信されるデータの格納管理 図000003
  • 特許6753902-ビデオソースデバイスからストリーム配信されるデータの格納管理 図000004
  • 特許6753902-ビデオソースデバイスからストリーム配信されるデータの格納管理 図000005
  • 特許6753902-ビデオソースデバイスからストリーム配信されるデータの格納管理 図000006
  • 特許6753902-ビデオソースデバイスからストリーム配信されるデータの格納管理 図000007
  • 特許6753902-ビデオソースデバイスからストリーム配信されるデータの格納管理 図000008
  • 特許6753902-ビデオソースデバイスからストリーム配信されるデータの格納管理 図000009
  • 特許6753902-ビデオソースデバイスからストリーム配信されるデータの格納管理 図000010
  • 特許6753902-ビデオソースデバイスからストリーム配信されるデータの格納管理 図000011
  • 特許6753902-ビデオソースデバイスからストリーム配信されるデータの格納管理 図000012
  • 特許6753902-ビデオソースデバイスからストリーム配信されるデータの格納管理 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6753902
(24)【登録日】2020年8月24日
(45)【発行日】2020年9月9日
(54)【発明の名称】ビデオソースデバイスからストリーム配信されるデータの格納管理
(51)【国際特許分類】
   H04N 21/231 20110101AFI20200831BHJP
   H04N 21/218 20110101ALI20200831BHJP
   H04N 5/76 20060101ALI20200831BHJP
   H04N 5/77 20060101ALI20200831BHJP
【FI】
   H04N21/231
   H04N21/218
   H04N5/76
   H04N5/77
【請求項の数】9
【外国語出願】
【全頁数】21
(21)【出願番号】特願2018-172525(P2018-172525)
(22)【出願日】2018年9月14日
(62)【分割の表示】特願2016-546933(P2016-546933)の分割
【原出願日】2014年12月19日
(65)【公開番号】特開2019-33494(P2019-33494A)
(43)【公開日】2019年2月28日
【審査請求日】2018年10月12日
(31)【優先権主張番号】61/927,923
(32)【優先日】2014年1月15日
(33)【優先権主張国】US
(31)【優先権主張番号】14/568,077
(32)【優先日】2014年12月11日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】511210637
【氏名又は名称】アビジロン コーポレイション
(74)【代理人】
【識別番号】100101454
【弁理士】
【氏名又は名称】山田 卓二
(74)【代理人】
【識別番号】100189544
【弁理士】
【氏名又は名称】柏原 啓伸
(72)【発明者】
【氏名】ショーン・ピー・マーラット
(72)【発明者】
【氏名】オーレン・シャー
【審査官】 松元 伸次
(56)【参考文献】
【文献】 国際公開第2014/007762(WO,A1)
【文献】 特開2003−153177(JP,A)
【文献】 特開2004−048636(JP,A)
【文献】 特開2005−217791(JP,A)
【文献】 特開2009−296207(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N5/76−5/775
5/80−5/956
7/10
7/14−7/56
21/00−21/858
(57)【特許請求の範囲】
【請求項1】
ネットワークと、
複数の格納ビンを含む単独の不揮発性格納媒体であって、個々の格納ビンは少なくとも第1の格納層と第2の格納層に分割され、前記第2の格納層は、前記第1の格納層に格納される第1のビデオデータよりも長く格納されると特定される第2のビデオデータを格納するように構成されている、不揮発性格納媒体と、
前記第1のビデオデータと前記第2のビデオデータを含むビデオを、前記ネットワークに亘って、送信するように構成された複数のビデオソースデバイスと、
コンピュータプロセッサと、
前記コンピュータプロセッサと通信上結合するコンピュータメモリであって、実行時には、
前記第1の格納層に格納されると前記第1のビデオデータが第1の格納層に対する格納量閾値を超えるかを判別するステップと、
前記格納量閾値を超える、前記第1のビデオデータの部分を削除するステップと
を含む動作を、実行させるコンピュータ実行可能命令を内部に格納する、コンピュータメモリと
を含む、装置。
【請求項2】
前記ネットワークはローカルエリアネットワークを含み、前記不揮発性格納媒体と前記複数のビデオソースデバイスの両方が前記ローカルエリアネットワークの内部にある、
請求項1に記載の装置。
【請求項3】
前記複数のビデオソースデバイスが、ビデオカメラである、請求項1に記載の装置。
【請求項4】
前記ビデオカメラが、デジタルIPカメラである、請求項3に記載の装置。
【請求項5】
前記第1の格納層は、前記第2の格納層よりも低い解像度のデータを格納するように指定されている、請求項1に記載の装置。
【請求項6】
前記第2の格納層は、前記第1の格納層よりも低い解像度のデータを格納するように指定されている、請求項1に記載の装置。
【請求項7】
前記不揮発性格納媒体が、クラウド格納である、請求項1に記載の装置。
【請求項8】
更に、前記コンピュータプロセッサ及び前記コンピュータメモリを含むコントロールサーバを含む、請求項1に記載の装置。
【請求項9】
前記ビデオは、前記ビデオの個別のフレームに対する、解像度及びタイムスタンプを含むメタデータを含む、請求項1に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願のクロスリファレンス
本願は、2014年12月11日提出の米国非仮特許出願第14/568077号の米国特許法119条(e)の優先権の利益を主張するものであり、更に該出願は、2014年1月15日提出の米国仮特許出願第61/927923号の米国特許法119条(e)の優先権の利益を主張するものであり、それらの開示は参照の上全体として本明細書に組み込まれる。
【0002】
技術分野
本開示は、概略、ビデオソースデバイスからストリーミング配信されるデータの格納を管理することに関する。
【背景技術】
【0003】
背景技術
通常のビデオ監視システムでは、一つ若しくはそれ以上のカメラがサーバシステムに通信自在に結合し得る。ビデオデータはカメラにより記録されると、サーバシステムに転送され、そこで後続の検索のために格納される。クライアントシステムは、サーバシステムと通信自在に結合し、記録されたビデオデータのストリームを要求して受信するのに用いられ得る。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ビデオ監視システムは、1日に24時間、及び1週間に7日間、動作していることを要求されることが多い。結果として、大量のデータがそれらシステムにて記録されて格納され得る。記録されたデータを格納するのに利用可能である計算メモリの量にも物理的限度があることも多い。監視システムで記録され得る大量のデータは、システムの格納容量限度の範囲内で動作しつつも所望のデータに迅速にアクセスし得るべくデータをどのように管理するのか、という実際的問題を提起する。
【課題を解決するための手段】
【0005】
概要
出願人は、ビデオソースデバイスから受信するデータを管理するシステム及びコンピュータ実装方法を本明細書に開示する。例示の実施形態では、格納管理システムは、第1のカテゴリのデータを格納するための、格納層と称され得る、第1の格納エリアと、第1のカテゴリのデータを格納するための第2の格納エリア若しくは層を、少なくとも管理する。エンコードされたデータストリームは、格納管理システムにて受信され、システムは一つ若しくはそれ以上のデータストリームを第1の格納エリアと関連付け、一つ若しくはそれ以上のデータストリームを第2の格納エリアと関連付ける。データストリームは関連付けられた格納エリア内に格納される。格納管理システムは、格納されるデータをモニタして、格納エリア及び/又は格納媒体がフルであるかどうか、若しくは、或る他の特定の最大限容量閾値を満たすかどうかを判別する。もしそうであるならば、格納管理システムは、閾値を超えるデータを削除する。例示の実施形態では、格納管理システムは、一つ若しくはそれ以上の特定の最大限の保持期間を超える期間を有するデータを削除する。格納されるデータが更に閾値を超えれば、第1と第2の格納層の一方若しくは両方から最も古い期間を伴うデータが削除されてもよい。
【0006】
開示される実施形態の別の形態によると、格納管理システムは、第1と第2の格納層内に格納されるデータの相対的量を特定する比率を特定し得る。比率を維持する必要があるときは、特定された格納の比率が維持されるように、最も古い期間を伴うデータが、第1と第2の格納層の一方若しくは両方から削除され得る。例示の実施形態では、第1の格納層は、長期間の最大限の保持期間を有する長期間格納層であってもよく、第2の格納層は、前記長期間の最大限の保持期間より短い短期間の最大限の保持期間を有する短期間格納層であってもよい。
【0007】
開示される実施形態の別の形態によると、データストリームは、様々な解像度の少なくとも二つのバーチャルストリームを含み得る。格納管理システムは、より低い解像度のバーチャルストリームを短期間格納層と関連付け、より高い解像度のバーチャルストリームを長期間格納層と関連付ける。例示のシナリオでは、バーチャルストリームは、多重バーチャルストリームを含み、各々は視野内に様々な関心領域をキャプチャする。そのようなシナリオでは、格納管理システムは、第1の関心領域を短期間格納エリアと関連付け、第2の関心領域を長期間格納エリアと関連付け得る。様々な関心領域は、視野の様々な部分を含み得、その場合、視野の中心部分のバーチャルストリームは、長期間格納層と関連付けられ、視野の非中心部分のバーチャルストリームは、短期間格納層と関連付けられる。
【0008】
この概要は、以下、例示の実施形態の詳細な説明にて更に記載する、簡素な形式での概念の選択を導入するべく提示する。この概要は、特許請求の範囲の主題の肝要な特徴若しくは本質的な特徴を特定することを意図するものでは無く、該主題の範囲を限定することを意図するものでも無い。他の特徴を以下に記載する。
【図面の簡単な説明】
【0009】
前述の概要、及び実施形態についての以下の更なる説明は、添付の図面と併せて読むことでより良く理解され得る。当然ながら、開示のシステム及び方法の潜在的な実施形態は、描写するものに限定されない。
図1図1は、多重解像度エンコーディングを生成して格納するように調整された例示の監視システムを示す。
図2図2は、多重解像度エンコーディングを表示するように適応された例示のディスプレイモニタを示す。
図3図3は、多重解像度エンコーディングを生成し受信するように適応された例示のビデオソースデバイス及びコントロールサーバを示す。
図4図4は、ビデオソースデバイス及びコントロールサーバにより提供される例示の機能特徴を示す。
図5図5は、多重化されたコンテナフレームを含むビデオストリームの例示の処理を示す。
図6図6は、多重解像度エンコーディングに含まれる個別のバーチャルストリームを記述する例示のビデオソースデバイスレスポンスを示す。
図7図7は、異なる解像度での関心領域の例示のエンコーディングの図を示す。
図8図8は、ビデオソースデバイスからデータをストリーミングする例示の方法のフロー図を示す。
図9図9は、データ格納媒体の異なる位置でビデオソースデバイスから受信したデータストリームを格納する例示の方法のフロー図を示す。
図10図10は、データストリームを格納する例示の方法のフロー図を示す。
図11図11は、データ格納媒体上にデータストリームを格納する例示の方法を示す。
図12図12は、データ格納媒体からデータを削除する例示の方法のフロー図を示す。
【発明を実施するための形態】
【0010】
要旨
概略、デジタル監視システムは、モニタリングステーションに接続する複数のカメラを含む。モニタリングステーションは、多数のカメラから受信されるビデオを格納する。モニタリングステーションにより、受信されたビデオは、モニタリングのための一つ若しくはそれ以上の接続されたクライアントに、ストリーム配信され得る。カメラは、特定の解像度でのビデオのエンコーディングをモニタリングステーションにストリーム配信するエンコーダに接続する、アナログカメラでもデジタルカメラでもよい。カメラは、特定の解像度でのビデオのエンコーディングを、IPネットワークに亘ってモニタリングステーションにストリーム配信するエンコーダを含む、インターネットプロトコル(IP)カメラを、更に含んでもよい。
【0011】
カメラの中に組み込まれていてもカメラから分離していても、エンコーダは、エンコードされたビデオをストリーム配信するための、要求されるストレージサイズ及びネットワーク帯域幅を減少させるために、ビデオをエンコードする際に様々なできる限りの符号化/圧縮フォーマットを用いてもよい。サーベイランス産業で共通に用いられるフォーマットは、JPEG、MPEG−2、MPEG−4及びH.264を含む。モニタリングクライアントは、ある環境では、多数のカメラからのビデオを一斉にディスプレイする。従って、モニタリングクライアントは、多数のビデオエンコーディングを受信してデコードしなければならない。ビデオがファイルサイズを減少させるようにエンコードされても、多数の最大解像度のストリームをワイドエリアネットワーク(WAN)に亘ってモニタリングステーションにストリーム配信することは、困難であることがある。圧縮技術は、特定の解像度のためのエンコーディングの質を大きく減少させること無く、エンコーディングのファイルサイズを更に減少し得る。しかしながら、そのような圧縮技術のデコーディングは、より計算的に複雑である。従って、モニタリングクライアントは、タイミング良く多数のエンコーディングを表示のためにデコードするということができない。
【0012】
モニタリングクライアントにてデコードされディスプレイされ得る複数のエンコーディングを提供するために、帯域幅を減少するようにビデオに重い圧縮を用いることが、可能である。しかしながら、多数のビデオエンコーディングが、モニタリングクライアントにてタイミング良くデコードされディスプレイされ得るようにする圧縮技術は、ビデオの質を大きく減じ得る。ビデオの質がディスプレイ解像度にて見るには十分であるが、エンコードされたビデオの一部を詳細に眺め得るのに十分な質を提供し得ない。
【0013】
ビデオの詳細の実質的一部を保つビデオと共に、モニタリングロケーションにリアルタイムでストリーム配信され得るビデオを提供するために、ビデオは、例えば、解像度、フレームレート、及び種々の他の質のセッティングを含む、種々のエンコーディングパラメータに従って、エンコードされてもよい。例示のシナリオでは、低解像度エンコーディングはビデオをモニタリングクライアントにストリーム配信するのに用いられ得、高解像度エンコーディングは中央のモニタリングステーションにて格納されてビデオの一部のより詳細な調査が要求されるときにモニタリングロケーションに提供され得る。しかしながら、最大解像度エンコーディングを見る際には、高解像度エンコーディングは更にモニタリングクライアントに転送されねばならず、最大解像度エンコーディングの大きいサイズを考慮すると、その転送は遅くてもよい。
【0014】
JPEG2000などの、エンコーディング技術は、単独の画像で多数の解像度をエンコードすることができるが、多数の独立のエンコーディングを、ビデオソースデバイスからモニタリングステーションにストリーム配信することが、望ましい。多数の独立のエンコーディングは、後続の検索のために格納され得る。更に、JPEG2000の場合のような単独のエンコーディングとは対照的に、複数のエンコーディングが独立であるとき、更なる格納を提供するために、最早関連が無ければ高解像度エンコーディングは格納から削除され得る。低解像度エンコーディングは、より長期間、保持され得る。
【0015】
本明細書に記載の実施形態は、有限のストレージ容量を有するデータ格納媒体上で、ビデオソースデバイスからのデータストリームの格納を管理するシステム及び方法に、概略関する。開示された格納管理システムは、プロセッサによって実行可能である、プログラムコードを含み、該プログラムコードは、カメラにより記録されるデータストリームがいつ格納されるべきか、及び、データストリームがデータ格納媒体上のどこに格納されるべきかを判別する。開示されたシステムは更に、予め格納されたどのデータが削除されるべきか、格納媒体がいつフルになるか、又は、例えば、格納閾値などの他の基準がいつ満足されたか、を判別する。
【0016】
本明細書に記載の、一つの特定の一連の実施形態では、ビデオソースデバイスは、多数の独立の解像度エンコーディングを含むデータストリームを提供し、それらは、コントロールサーバに対して「モザイクストリーム」を集合的に形成するものと考えられ得る。エンコーディングのより多くのもののうちの一つは、カメラの全体視野の特定の解像度にて記録されたバーチャルストリームであってもよい。他のエンコーディングのうちの一つ若しくはそれ以上は、異なる関心領域の、個別にエンコードされたバーチャルストリームのモザイクを、含み得る。異なる関心領域の各々は、タイルのモザイクがアセンブルされて全体の視野を表し得るように、カメラの視野内の、「タイル」と称されることがある、特定エリアのバーチャルストリームでもよい。例えば、最大解像度エンコーディングは、エンコードされたビデオのタイルの2×2モザイクにより、提供され得る。従って、ビデオクライアントが、フルフレームの一部の詳細な表示を見ることを望むときは、モザイクタイルのサブセットのみ提供されることを必要とし、そのことにより、要求される帯域幅及び処理は減少する。
【0017】
異なるデータストリームの各々は、独立してエンコードされ更に独立してデコードされ得るので、データ格納管理プログラムは、異なるデータストリームが格納媒体の異なる格納エリア/ロケーション、即ち「層」に格納されるように仕向けるべく、実行され得る。ある実施形態では、データ格納管理システムは、異なる格納層内に、解像度エンコーディングの一つの、異なるタイルを格納し得る。例えば、システムは、格納エリア即ち層を長期間格納層として識別して、その長期間格納層内にフルフレームのより低い解像度エンコーディングのバーチャルストリームを格納してもよい。システムは、別の層を、短期間格納層に向けられるものとして指定し、その短期間格納層内に最大解像度エンコーディングタイルの、一部若しくは全部を格納してもよい。例示の実施形態では、動きを伴う、若しくは、ドアをキャプチャする、フレーム内の領域などの、最大解像度エンコーディングのうちの特に関連するタイルが、長期間格納層内に格納され、あまり関連しないタイルが短期間格納層内に格納されてもよい。
【0018】
データ格納管理プログラムは、規定された基準に従って、格納媒体から或るビデオデータを選択的に除去し得る。例えば、長期間格納層上に格納されたエンコーディングが除去される前に、より高い解像度エンコーディングが短期間格納層から除去されてもよい。データを除去する若しくは削除するための、規定された基準は、例えば、格納容量限度や、データが格納された時間の長さを含む、任意の適切なパラメータを含み得る。
【0019】
本明細書に記載のシステム及び方法は、多数の、独立にデコード可能なバーチャルストリームを含むモザイクストリームの格納管理のために採用され得、ここで最大解像度のストリームは関心領域の多数のバーチャルストリームで構成され、各々の関心領域は、カメラの視野の別々のエリアをカバーするタイルにより表される。そのような実施形態では、関心領域の全てはグリッド内にアセンブルされ、全体の視野を表し得る。
【0020】
開示のデータ格納管理システム及び方法の幾つかの形態を、モザイクストリームの文脈で説明しているが、当然ながら、開示のシステム及び方法は他のタイプのデータストリームを管理するのに用いられてもよい。例えば、二つのカメラ(若しくは、別のタイプのビデオソースデバイス)は、夫々、統合されたH.264リアルタイムトランスポートプロトコル(RTP)ストリームを送信し得、ここで一つのデータストリームは高解像度のストリームであり、もう一つのデータストリームは、低解像度のデータストリームである。そのような実施形態では、高解像度のストリームは、短期間格納層内に格納され、低解像度のストリームは、長期間格納層内に格納され得る。別の例によると、カメラは、最初のデータストリームとして機能する一つのJPEGストリームを送信し得る。そのような実施形態では、一つの格納媒体層は、ストリームの偶数フレームを格納し、別の格納媒体層は、ストリームの奇数フレームを格納し得る。一つのカメラが一つのH.246RTPストリームを送信する更に別の例では、ストリームのキーフレームを格納するのに一つの格納媒体層が採用され、ストリームの、Pフレーム、即ち予測ピクチャフレームを格納するのに別の格納媒体層が用いられる。
【0021】
例示のエンコーディング及び格納管理システム
図1は、ビデオをエンコードし、エンコードされたデータストリームを格納する例示のシステムを表す。例示の実施形態では、システムは、ビデオの多重解像度エンコーディングを提供できる監視システムであってもよい。システム100は、複数のビデオソースデバイスからビデオを受信すること、受信したビデオの格納を管理すること、及びビデオを一つ若しくはそれ以上のクライアントにストリーム配信することを含む、種々の機能を提供するコントロールサーバ102を含む。コントロールサーバ102は、一つ若しくはそれ以上の物理コンピュータにより、及び/又は、一つ若しくはそれ以上の仮想コンピュータにより、提供され得る。一つの別途の実施形態(図示せず)では、コントロールサーバ102の機能は、ビデオソースデバイス110、114自身の一つ若しくはそれ以上により実装され得、それらは多数のエンコーディングをクライアントに直接送信し得る。コントロールサーバは、(IPカメラ110と総称する)複数のデジタルIPカメラ110a、110b、110c、110dと接続し得、更に、(エンコーダ114と総称する)複数のストリミングエンコーダ114a、114bと接続し得、該エンコーダ114は(カメラ112と総称する)一つ若しくはそれ以上のデジタル若しくはアナログカメラ112a、112b、112cと結合し得る。IPカメラ110及びエンコーダ114は、ビデオソースデバイスと総称され得る。ビデオソースデバイスは、ネットワーク116に亘って、コントロールサーバにビデオをストリーム配信し得る。ネットワーク116は、任意の適切な技術を含み得、有線ローカルネットワーク(LANG)、無線ローカルネットワーク(WLAN)、更にワイドエリアネットワーク(WAN)を含む、一つ若しくはそれ以上の個別のネットワークにより、提供され得る。
【0022】
コントロールサーバ102は、バーチャルストリームマネジャ機能部を提供する。例示の実施形態では、「サーバ−デバイスバーチャルストリームマネジャ」や「サーバ−デバイスVSマネジャ」と称され得る、バーチャルストリームマネジャレジデントは、コントロールサーバ102が記録デバイスから受信するバーチャルストリームを管理する。サーバ−デバイスVSマネジャ104は、独立の多重解像度エンコーディングをストリーム配信するために、ビデオソースデバイス110、114を構成するために機能部を提供する。サーバ−デバイスVSマネジャ104は、ビデオソースデバイス110、114からストリームを受信し、受信したストリームを個別のバーチャルストリームに逆多重化する機能も、含み得る。逆多重化されたバーチャルストリームは、組み合わされ、例えば、バーチャルストリームの一つ若しくはそれ以上を除去することを含む、様々なやり方で再多重化され得る。ビデオソースデバイス110、114からのストリームの個別のバーチャルストリームは、格納のために格納管理機能部に提供され得る。
【0023】
個別のバーチャルストリームの一つ若しくはそれ以上は、更なるバーチャルストリームマネジャ機能部に提供され得る。例えば、本明細書にて「サーバ−クライアントバーチャルストリームマネジャ」や「サーバ−クライアントVSマネジャ」と称され得る、バーチャルストリームマネジャ106は、コントロールサーバ102がクライアント142に送信するバーチャルストリームを管理する。個別のバーチャルストリームは、格納管理機能部108と、サーバ−デバイスVSマネジャ104との、いずれかから、サーバ−クライアントVSマネジャ106に提供され得る。サーバ−クライアントVSマネジャ106は、ネットワーク144に亘って、モニタリングクライアントに一つ若しくはそれ以上のバーチャルストリームをストリーム配信する。
【0024】
ビデオソースデバイス110、114の各々は、個別のビデオソースデバイス110、114の容量と、ネットワーク116の帯域幅、ネットワーク144の帯域幅、利用可能な格納空間などの他のコンポーネントの容量と、及び、監視システムの条件とに依存して、種々のバーチャルストリームエンコーディングを提供するように構成され得る。ビデオソースデバイス110、114は、単独の解像度エンコーディングを提供してもよく、複数の個別の解像度エンコーディングを提供してもよい。更に、個々の解像度エンコーディングは、複数のバーチャルストリームにより提供され得る。ネットワーク116に亘ってIPカメラ110からコントロールサーバ102へストリーム配信されるものとして、ストリーム118は図1にて示されている。
【0025】
図視するように、ストリーム118は、複数の個別の解像度エンコーディング120、122、124を含む。個別の解像度エンコーディング120、122、124は、ソースビデオの同じ部位をエンコードするものとして示され、それは、カメラ110aのセンサの関心領域の実質的に全てであると考えられる。個別の解像度エンコーディング120、122、124の各々は、夫々の圧縮アルゴリズムを用いてソースコードをエンコードし、解像度、フレームレート、及び/又はビデオの質を、減じ得る。例えば、解像度エンコーディング120は、ソースの最大解像度にエンコードされ得、解像度エンコーディング122は、ソースの解像度の半分にエンコードされ得、及び、解像度エンコーディング124は、ソースの解像度の4分の1にエンコードされ得る。
【0026】
個別の解像度エンコーディング120、122、124の各々は、ストリーム118の範囲内の一つ若しくはそれ以上のバーチャルストリーム126、128、130により、提供され得る。各々のバーチャルストリーム126、128、130は、夫々の解像度エンコーディング120、122、124の圧縮レベルにてエンコードされたビデオソースの少なくとも一部を含む。図示されるように、最大解像度エンコーディング120は、バーチャルストリームの3×4のタイル表示により、提供される。12のバーチャルストリーム126の各々は、同じ圧縮技術によりエンコードされ、12のバーチャルストリームが組み合わされると、それらは、ソースビデオの最大解像度を提供する。解像度エンコーディング122は、単独のバーチャルストリームにより提供されるべく図示されている。従って、バーチャルストリーム128は、ビデオソースの1/2の解像度を有し得る。同様に、バーチャルストリーム128は、ビデオソースの1/4の解像度を有し得る。より大きい領域のタイル表示を提供するものとして記載しているが、バーチャルストリームは、タイル表示を形成する必要は無い。むしろ、各々のバーチャルストリームが、特定の関心領域をエンコードするものでもよく、その場合特定の関心領域は全体のソースビデオを含んでもよく、一部を含んでもよい。種々のバーチャルストリームは、同じ関心領域をオーバラップしてもよく、ソースビデオの非オーバラップ部位をエンコードしてもよい。
【0027】
サーバ−デバイスVSマネジャ104は、ビデオソースデバイス110から、ストリーム118などのストリーム配信を受信し得る。サーバ−デバイスVSマネジャ104は、受信したストリーム118から、個別の解像度エンコーディング120、122、124のバーチャルストリームを逆多重化し得、逆多重化されたバーチャルストリームは、格納及び格納管理のために格納管理機能部108に通され得る。更に、バーチャルストリームの一つ若しくはそれ以上は、クライアントにストリーム配信するために、サーバ−クライアントVSマネジャ106に通され得る。
【0028】
格納管理機能部108は、コントロールサーバ102内のプロセッサにより実行可能であり、且つ、図10図12に関連して含む本明細書に記載のデータ格納媒体132内の解像度エンコーディングの格納を管理するように適応された、データ管理プログラムを含む。データ管理プログラムは、データ格納媒体132へ、各々の、若しくは選択された数の、解像度エンコーディングを通し得る。データ管理プログラムは、データ格納媒体132内の、例えば、格納セクション若しくは層と称され得る様々な格納領域内に様々なビデオデータを格納することにより、格納されるデータを構造化する。例示の実施形態では、格納層は短期間格納層136、中間期間格納層138、及び長期間格納層140を、含み得る。短期間格納層136は、解像度エンコーディングの各々を格納するのに用いられ得る。データ管理プログラムは、一連の基準に基づいて各々の格納層からビデオデータを消去するように適応される。データ格納媒体132は、コントロールサーバ102と同じコンピュータシステム内に、含まれ得る。更に、若しくは、別途、データ格納媒体132は、独立のコンピュータデバイス(図示せず)により提供されてもよい。また更に、コントロールサーバ102に直接に接続するように図示しているが、データ格納媒体132はネットワークによりコントロールサーバ102に結合し得ることも想定される。データ格納媒体132は、一つ若しくはそれ以上のローカルハードドライブのような、持続性データ格納のための一つ若しくはそれ以上の不揮発性コンピュータ読み取り可能媒体を含んでもよい。一方で、持続性格納媒体は、クラウド格納内やネットワーク格納内のリモートハードドライブでもよい。
【0029】
前述のように、サーバ−クライアントVSマネジャ106は、ネットワーク144に亘ってストリーム配信するために、サーバ−デバイスVSマネジャ104か、格納管理機能部108かのいずれかから、解像度エンコーディングを受信し得る。解像度エンコーディングは、異なるビデオソースデバイスからでもよい。図示するように、各々の解像度エンコーディング146a、146b、146c、及び146dは、個別にストリーム配信されてもよく、解像度エンコーディングの一つ若しくはそれ以上が単独のストリーム内に共に組み合わされてもよい。図1に示す例示のシナリオでは、異なるビデオソースデバイスからの低い解像度エンコーディングに対応する、複数のバーチャルストリーム148a、148b、148c、及び148dは、モニタリングデバイス142にストリーム配信される。モニタリングデバイス142は、バーチャルストリーム148a、148b、148c、及び148dを受信してデコードし、デコードされたビデオ150をディスプレイする。
【0030】
多重解像度エンコーディングをストリーム配信する。
図2は、ビデオの様々な解像度エンコーディングをディスプレイするモニタを示す。図2は、三つの異なるビュー200、212、及び218を示す。例示の実施形態では、モニタリングクライアントは、ビュー200を最初にディスプレイし得、該ビュー200は、四つのバーチャルストリームの最も低い解像度エンコーディング202、204、206、208を含む。例えば、四つの異なるカメラからのバーチャルストリームが、同時にディスプレイされ得る。低解像度エンコーディングの一つ202は、例えば、マウス若しくは他のポインタ210でその上にクリックすることにより、ズームインのために選択され得る。解像度エンコーディング202がフルスクリーンでディスプレイされると、エンコーディングの質は、所望のものより低くなり得る。従って、選択されたカメラからの中間解像度エンコーディング214がストリーム配信され得、ビュー212に示すようにディスプレイされ得る。ユーザは、ディスプレイされる解像度エンコーディング214の一部を更に見るために、ズームインすることを望んでもよい。更に、解像度エンコーディング214の質は、所望の画像の質を提供すべくズームインする際には十分ではないことがある。従って、ビュー218に示すようなズームインされる部分220をディスプレイする際に最大解像度エンコーディングが用いられてもよい。前述のように、最大解像度エンコーディングは、複数のバーチャルストリームを含んでもよい。従って、選択されたズームインされる領域をカバーする最大解像度エンコーディングのバーチャルストリームのみが、モニタリングクライアントにストリーム配信される必要がある。例えば、最大解像度エンコーディングが、バーチャルストリームの4×3グリッドとして提供されるならば、最上の行と第3及び第4の列のバーチャルストリームは、所望の領域を覆い得る。
【0031】
多数のカメラからのビデオがディスプレイされているかどうかにかかわらずモニタリングロケーションにビデオをストリーム配信すると、又は、単独のカメラの小部分のみがディスプレイのためにズームインされれば、多重バーチャルストリームを提供することで十分な帯域幅の使用が可能になる。図3は、ビデオソースデバイス316と機能部、加えて、コントロールサーバ102と、多重解像度エンコーディングをストリーム配信できる機能部を、示す。図示するように、コントロールサーバ302は、命令を処理するための中央処理装置(CPU)304を含む。対応する命令は、メモリ306内に格納され得る。コントロールサーバ302は更に、データ及び命令の持続性格納のための不揮発性格納部308を含み得る。コントロールサーバ302は更に、一つ若しくはそれ以上のインプット/アウトプット(I/O)インタフェース310を含み得る。I/Oインタフェースにより、インプット及び/又はアウトプットコンポーネントは、コントロールサーバに接続できる。例えば、コントロールサーバ302を通信ネットワークに接続するために、ネットワークインタフェースカード(NIC)がコントロールサーバ302に接続してもよい。CPU304は、メモリ内に格納された命令を実行し得る。312として示す命令は、実行時には、本明細書に記載の他の機能部と共に、サーバ−デバイスVSマネジャ314を提供するようにコントロールサーバ302を構成し得る。
【0032】
ビデオソースデバイス316は、例えば、カメラデバイスやシステムであってもよいが、命令を処理するための中央処理装置318を含む。命令はメモリ320内に格納され得る。ビデオソースデバイス316は更に、データ及び命令の持続性格納のための不揮発性格納部322を含み得る。ビデオソースデバイス316は更に、一つ若しくはそれ以上のインプット/アウトプット(I/O)インタフェース324を含み得る。I/Oインタフェースにより、インプット及び/又はアウトプットコンポーネントは、ビデオキャプチャに接続できる。例えば、ビデオソースデバイス316を通信ネットワークに接続するために、ネットワークインタフェースカード(NIC)がインプット/アウトプットインタフェース324に接続してもよい。更に、ビデオソースデバイス316が、IPであってもアナログであっても、カメラであれば、I/Oインタフェースは更に、画像データをキャプチャするためにセンサをCPUに接続し得る。CPU318は、メモリ内に格納される命令を実行し得る。326として示す命令は、実行時には、エンコーダ機能部330と共に、デバイスバーチャルストリーム(VS)マネジャ328を提供するようにビデオソースデバイス316を構成し得る。
【0033】
コントロールサーバ302のサーバ−デバイスバーチャルストリーム(VS)マネジャ304と、ビデオソースデバイス316のデバイスVSマネジャ328とは、所望のように若しくは要求されるように、例えば、カメラを含み得るビデオソースデバイス316を構成する332ために、協働する。エンコーダ機能部330は、複数の行及び列の個別のエンコードされたタイル表示を含み得る、ビデオ及び特定のセッティングを、各々エンコードし得る多重エンコードコンポーネントを提供するように、構成され得る。エンコーディングコンポーネントにより提供されるエンコーディングは、データストリーム334により示すようにコントロールサーバ302にストリーム配信され得る。
【0034】
本明細書の図面及び記載はビデオソースデバイス316とサーバ102とに別々に言及しているが、当然ながら、ある実施形態では、記載の両方のシステムからの機能部が単独とシステム内に存在してもよい。例えば、ビデオソースデバイス316は、コントロールサーバ102に関する本明細書に記載の機能部に加えて、カメラ及び画像収集に関する本明細書に記載の機能部の全てを提供する、カメラシステムであってもよい。そのような実施形態では、カメラシステムは、他のカメラシステムをコントロールし且つ他のカメラシステムと通信できるサーバとして、動作し得る。
【0035】
図4は更に、多重解像度エンコーディングをストリーム配信できる、ビデオソースデバイス機能部及びコントロールサーバ機能部を、示す。機能部は、例えば、メモリに格納される命令により前述のコントロールサーバ302内に設けられてもよい。コントロールサーバのCPUにより実行されると、命令は、ネットワークレイヤプロトコル機能部402、アプリケーションレイヤプロトコル機能部404、及びコンフィギュレーション機能部408を提供し得る。当然ながら、他の機能部がコントロールサーバ内に設けられてもよい。
【0036】
同様に、ビデオソースデバイス機能部は、プロセッサで命令を実行することにより前述のビデオソースデバイス316などのビデオソースデバイス内に設けられ得る。ビデオソースデバイス機能部は、ネットワークレイヤプロトコル機能部410、エンコーダ機能部412、及びアプリケーションレイヤプロトコル機能部414を、含み得る。ビデオソースデバイスは、図4に示されない更なる機能部を提供してもよい。
【0037】
所望のようにビデオソースデバイスを構成するために、コントロールサーバ402とビデオソースデバイス316との、ネットワークレイヤプロトコル機能部402、410は協働する。ネットワークレイヤプロトコル機能部は、ビデオデバイスに対して標準的ネットワークインタフェースを提供し、準拠デバイスの、発見、構成、管理、及びコントロールを可能にする。ネットワークレイヤプロトコル機能部は、ビデオソースデバイス316及びその能力の発見を、加えて、デバイスの構成を可能にする、コントロールサーバ102とビデオソースデバイス316との間の共通のインタフェースを提供する。後で更に説明するが、ネットワークレイヤプロトコル機能部は、デバイスをセットアップして、前述のようなタイル表示のエンコーディングを含む多重の独立の解像度エンコーディングをストリーム配信するために、エンコーダ機能部416を構成するように、用いられ得る。所望のように構成されると、ビデオソースデバイスは、構成された解像度エンコーディングのデータストリームを提供するために、構成されたエンコーダ機能部を用いてソースビデオをエンコードし得る。エンコーダからのデータストリームは、データストリーム418のリアルタイムのコントロール及びトランスポートを提供するアプリケーションレイヤプロトコル機能部404/414を用いて、ビデオソースデバイスからコントロールサーバへ送信され得る。
【0038】
データストリームがコントロールサーバ102にて受信されると、共に同じ解像度エンコーディングに属するバーチャルストリームをグループ化するために、処理され得る。前述のように、単独の解像度エンコーディングは、一つ若しくはそれ以上の、独立してエンコードされたタイル表示で構成され得る。解像度エンコーディングは、更に、例えば、格納のために、又は、モニタリングクライアントにストリーム配信するために、所望のように処理され得る。
【0039】
コントロールサーバは、コンフィギュレーション機能部408も含み得る。コンフィギュレーション機能部408により、ユーザは、監視システムのコンポーネントのコンフィギュレーションパラメータをセットすること、見ること、及び/又は、変更することができる。例えば、コンフィギュレーション機能部により、ビデオソースデバイスのための所望のエンコーダ構成が可能になる。
【0040】
図5に示すビデオストリーム118の一部は、ネットワーク116に亘ってのコントロールサーバ102への送信の前に、ビデオソースデバイスにより準備される第1と第2のコンテナフレーム506a−c(「コンテナフレーム506」と総称する)を含む。コンテナフレーム506a−cの各々は、夫々、そのコンテナフレーム506a−cの全てのバーチャルフレーム508に共通するタイムスタンプ510a−cを含む。バーチャルフレームヘッダの各々は、バーチャルフレーム508の各々を相互に区切るフレームデリミッタを含む。例示の実施形態では、フレームデリミッタはvストリームidを含む。図5のコンテナフレーム506は、夫々、H.246コード化ビデオのための、一つのバーチャルフレーム508a、c、eと、JPEGコード化ビデオのための、別のバーチャルフレーム508b、d、fを含む。H.264及びJPEGビデオを、各々それ自身のタイムスタンプを伴って、別々のストリームに亘ってコントロールサーバに送信することとは反対に、図示する実施形態では、H.246及びJPEGビデオをコンテナフレーム506内に配置し続いてコンテナフレーム506を送信することで、H.246及びJPEGビデオをコントロールサーバ102へ実質的に時分割多重化することとなる。
【0041】
バーチャルフレーム508のグループを、単独のソースフレームタイムスタンプと関連付けることで、バーチャルフレーム508と、結果として、クライアント142上にディスプレイされる様々なバーチャルストリームからのビデオとの間の、同期化が促進される。同期化されたバーチャルストリームは、待ち時間を減少することにもなる。サーバ−デバイスVSマネジャ314がストリーム118を受信すると、(サーバ−デバイスVSマネジャ314は)個々のフレーム506のタイムスタンプ510に基づいてコンテナフレーム506の各々を逆多重化することができ、続いて、相互にコンテナフレーム506を逆多重化し、コンテナフレーム506の範囲内のどの他のバーチャルフレーム508からのバーチャルフレーム508の各々を逆多重化することができる。コントロールサーバ302は、データ格納媒体132内にコンテナフレーム506を格納することなどにより、コンテナフレーム506及びバーチャルフレーム504の、一つ若しくはそれ以上の、任意のものを所望のように処理し得る。
【0042】
図6は、多重解像度エンコーディングを提供する個別のバーチャルストリームを記述するビデオソースデバイスからのレスポンスを示す。記述情報若しくは記述ファイルと称し得る、レスポンス600は、ビデオソースデバイスから提供されるストリームを記述する。レスポンス600は、ビデオストリーム内のバーチャルストリームの各々を記述する。ビデオストリームは、複数の個別のバーチャルストリーム610a、610b、610c、612、及び614を有し得る。個々のバーチャルストリームのエンコーディングパラメータは、レスポンス600内に提供される。例えば、各々のバーチャルストリームは、バーチャルストリームの一意識別子602、バーチャルストリームによりエンコードされるビデオソースの関心エリア若しくは領域604、エンコードされたバーチャルストリームの結果の解像度606、及びエンコードされたバーチャルストリームの質の表示608を、含み得る。概略示すように、バーチャルストリームは、同じエンコーダセッティングにて、異なる関心領域をエンコードし得る。例えば、バーチャルストリーム610a、610b、610cは、同じエンコーダセッティングにて、ソースビデオの異なる関心領域をエンコードする。更に、バーチャルストリームは、異なるパラメータセッティングにて、同じ関心領域をエンコードし得る。例えば、バーチャルストリーム612と614は、同じ関心領域をエンコードするが、異なる解像度となる。ストリームの記述600は種々のフォーマットで提供可能であり、コントロールサーバなどの、ストリームを受信するコンポーネントがコンポーネントバーチャルストリームを適切に逆多重化して識別できるように、十分な情報を提供する。
【0043】
図7は、異なる解像度におけるタイル表示のエンコーディングを示す。バーチャルストリームは、ビデオソースの特定エリアを特定サイズにエンコードし得る。例えば、ソースビデオは、4944×3280のエリア702を有し得る。第1のバーチャルストリームは、ソースビデオの左上であるx=0、y=0に位置し、1232×1080の寸法を有する全体エリアの一部704をエンコードし得る。第1のバーチャルストリームは、エリア704の最大解像度エンコーディングを提供でき、1232×1080の寸法を有する第1のバーチャルストリームエンコーディング706となる。第2のバーチャルストリームは、同じエリア704をエンコードし得るが、エンコーディングは、ソースの解像度の1/4を提供するべく、解像度をダウンサンプルし得る。よって、同じソースビデオエリア704をエンコードする第2のバーチャルストリーム708は、308×270の寸法を有することになる。
【0044】
図8は、ビデオソースデバイス316からコントロールサーバ302へデータをストリーム配信する方法を示す。ブロック802にて、ビデオソースデバイスのエンコーディングコンポーネントが構成される。構成する動作は、例えば、コントロールサーバ302から、エンコーダ114を含み得る一つ若しくはそれ以上のビデオソースデバイス316へ、一つ若しくはそれ以上の構成コマンドを送信するステップを、含み得る。ビデオソースデバイス316のエンコーディングコンポーネントは、ビデオソースデバイス316から送信されるストリームの範囲内で複数のバーチャルストリームを提供するべく、構成される。エンコーディングコンポーネントは、ソースビデオの少なくとも一部の、独立の解像度エンコーディングを提供するべく、構成され得る。独立の解像度エンコーディングのうち、少なくとも一つは、解像度エンコーディングのモザイクのタイル表示を各々が含む、複数のバーチャルストリームにより提供される。ビデオソースデバイス316内に含まれるエンコーディングコンポーネントは、各々のバーチャルストリームを提供するように構成され得る。
【0045】
ストリームのためのエンコーディングコンポーネントが構成されると、ブロック804にて、図6に関連して記述したような、ストリームの記述が、ビデオソースデバイス316からコントロールサーバ102へ伝えられる。例示の実施形態では、コントロールサーバ302により送信される記述リクエストに応じて、ストリーム記述は、ビデオソースデバイス316によりコントロールサーバ302へ提供され得る。受信される記述は、ビデオソースデバイスが提供するように構成されている、複数の個別のストリームを記述する。所望の解像度エンコーディングの各々は、記述内に記述される一つ若しくはそれ以上のバーチャルストリームにより、提供され得る。各々のバーチャルストリームの記述は、バーチャルストリームの識別子、更に加えて、バーチャルストリームのエンコーディング情報、及び、バーチャルストリームによりエンコードされるソースビデオのエリアの表示を、含み得る。
【0046】
ブロック806では、データストリーム自身が、ビデオソースデバイス316から伝えられてコントロールサーバ302にて受信される。ブロック808では、コントロールサーバ302は、各々のバーチャルストリームを、個々の解像度エンコーディングと関連付ける。バーチャルストリームのいずれが個々の解像度エンコーディングと関連付けられるかを識別することは、ストリーム記述内の情報を用いて為され得る。更に、多重バーチャルストリームがソースビデオの同じエリアをエンコードするならば、バーチャルストリームがどの解像度エンコーディングと関連付けられるかを決定するために、バーチャルストリーム内でエンコードされる更なる情報を利用することが必要となり得る。個々の解像度エンコーディングが各々のバーチャルストリームと関連付けられると、同じ解像度エンコーディングのバーチャルストリームは、更に処理され得る。例えば、ブロック810にて、各々の解像度エンコーディングのバーチャルストリームは、格納のために提供され得る。バーチャルストリームとストリーム記述509は、相互に関連して格納され得る。更に、若しくは、一方で、ブロック812では、ある解像度エンコーディングのバーチャルストリームの一つ若しくはそれ以上は、一つ若しくはそれ以上のモニタリングクライアントにストリーム配信され得る。前述では、個別のバーチャルストリームが格納される及び/又はクライアントに送信される前に、複数のバーチャルストリームが処理されることが暗示されているが、当然ながら、バーチャルストリームの各々は、独立してデコード可能であり、即座に、格納され得る、及び/又はクライアントに送信され得る。
【0047】
ストリーム配信するデータのデータ格納管理。
図1に関連して前述したが、格納管理機能部108は、コントロールサーバ102内のプロセッサにより実行可能であるデータ格納管理プログラムを含む。データ格納管理プログラムは、データストリーム118の格納を管理し、データストリーム118は、例えば、データ格納媒体132の様々なエリア、セクション、若しくは層における、ビデオ、オーディオ、及びメタデータを含み得る。図9は、データストリーム118がいつ格納されるべきか、及び、データストリーム内のあるデータがデータ格納媒体132上のどこに格納されるべきか、を決定するデータ格納管理プログラムにより実行される方法を示す。図9を参照して、コントロールサーバ102内のプロセッサ901は、トリガソースイベント902の発生が検出されるときはいつも、デバイスからのデータストリーム118を記録させる一連のトリガレコードイベント902のいずれも検出するステップを含む、方法を実施するデータ格納管理プログラムを実行する。トリガイベントは、ストリーム配信されるデータを記録させるに適したどんな情報でもよい。例えば、トリガレコードイベント902は、以下のようなものを含み得る。
(1.)スケジュールされたレコーディング904:ビデオソースデバイスからのデータストリーム118のレコーディングは、ユーザ定義のスケジュールに基づいて引き起こされる。スケジュールは、各々のビデオソースデバイス316に対して定義され得る。
(2.)分析エンジン906:ある分析基準がビデオソースデバイスの視野で検出されるときレコーディングが引き起こされる。検出可能な分析基準の例は、視野内のモーションである。更なる例では、分析基準が満たされたことを検出することは、ビデオストリームと関連するメタデータの分析によりイベントが発生したかどうか判別することを、含み得る。例えば、ビデオストリームと関連するメタデータメタデータは、ビデオストリームの経過中の特定の時間にて発生する種々のイベントを、示し得る。例示のシナリオでは、メタデータは、ビデオの経過中の特定の時間にて、モーションが発生したこと、又は、顔や物体が認識されたことを、示し得る。例示の実施形態では、ビデオストリームは、予め分析されていてもよく、分析の結果はビデオストリームと関連するメタデータ内に格納される。例示のシナリオでは、ビデオストリームは、モーションや、人若しくは物体の存在などの、種々のイベントに対して、レコーディングデバイス、例えば、カメラにて分析さていてもよく、その分析の結果がメタデータに格納される。
(3.)マニュアルレコーディング908:レコーディングがユーザにより手動で引き起こされる。例えば、ビデオソースデバイスからライブのビデオストリームを眺めつつ、クライアント上のユーザインタフェースデバイスを介して人のオペレータにより、レコーディングが引き起こされ得る。
(4.)ルールエンジン910:一つ若しくはそれ以上のユーザ定義のルールに合うとき、レコーディングが引き起こされる。ルールインプットは、例えば、パンチルトズーム(PTZ)コマンドの検出、例えば、特定のナンバープレート若しくは人の顔の存在などの記録されたストリーム内のイベントの検出、又は、デジタル監視システムの別の部分から受信された任意の他の特定のデジタルインプットの検出などの、システム内の任意のイベントソースであればよい。
【0048】
例示の実施形態では、データ格納管理プログラムは、レコーディング前及びレコーディング後のバッファ構成を判別する、トリガ毎の最小限記録時間を採用し得る。言い換えれば、システムが自動トリガイベントを採用すると、システムは、トリガイベントの前の所定の期間、及び、トリガイベントの後の所定の期間、関連するビデオストリームを格納し得る。例えば、5秒のデフォルト値が、レコーディングバッファとして用いられ得る。当然ながら、バッファサイズはどの適切な長さでもよく、ユーザによりカスタマイズされてもよい。
【0049】
データ格納媒体132内の独立の格納スペース若しくはエリア912は、「ビン」と称されることもあり、各々のビデオソースデバイスに割り当てられ得る。例示の実施形態では、各々のビン912は、層914に細分され得、各々の格納エリア若しくは層は異なるカテゴリのデータと関連付けられる。図9の例示の実施形態では、格納媒体132は、二つのビン(ビンAとビンB)に分割されるように示され、一つは二つのビデオ格納デバイスA、Bの各々に対するものであり、各々のビン912は、二つの層914(層0、層1)に細分される。一つの層914は、長期間格納(例えば、層1)として指定され、他方の層914は短期間格納(例えば、層0)として指定されてもよい。
【0050】
データ格納管理プログラムは、データストリーム118内のデータの各々のセグメントが格納媒体132内のどこに格納されるべきかを判別するルールエンジンも含む。特に、ルールエンジンは、複数の格納エリアのどこに特定のビデオセグメントが格納されるべきかを判別し得る。例示の実施形態では、ルールエンジンは、ルールエンジンのためのインプットとして、データストリーム118の一部であるメタデータを用い得る。例示のシナリオでは、メタデータは、データストリーム118内のビデオの各々のフレームに対する解像度及びタイムスタンプを含み得る。そのシナリオでは、ルールエンジンは、最小の解像度を有するバーチャルストリームを含むデータセグメントを、長期間格納層914と関連付けるルールを、含み得る。他のメタデータは、最大解像度フレーム内のバーチャルストリームのタイル表示の位置を含み得る。ルールエンジンは、フレームの特定の部分(例えば、センター)に位置するバーチャルストリームを長期間格納層914と関連付ける、このメタデータを採用し得る。他のメタデータは、バーチャルストリームが内部に記録されたモーションを有するかどうかを示し得る。ルールエンジンは、モーションを包含するバーチャルストリームを長期間格納層914と関連付ける、このメタデータを採用し得る。更に別の例示のシナリオでは、メタデータは、バーチャルストリームがモーションマスクによりカバーされるかどうかを示し得る。ルールエンジンは、対応するバーチャルストリームを長期間格納層914と関連付ける、この情報を採用し得る。
【0051】
図10は、データストリーム118が記録されるべきかどうかを判別し、記録されるべきであれば、データストリーム内のデータセグメントを格納媒体132内の対応する格納エリア若しくは層914と関連付ける、データ管理プログラムにより実行される方法900を示す。コントロールサーバ302内のプロセッサにより実行すると、データ管理プログラムは、ブロック920にて、前述のもののようなトリガイベントに対するインプットをモニタする。ブロック922にて、データ管理プログラムが、トリガイベントを示すインプットが発生したと判別すると、データ管理プログラムは、ブロック924にて、データストリーム118を分析し、ルールエンジン内のデータストリーム内にメタデータをインプットして、データストリーム118内のデータセグメントを特定の格納エリア若しくは層914と関連付ける。データセグメントが特定の格納エリアと関連付けられると、ブロック926にて、データセグメントは、関連付けられた格納層914に保存される。
【0052】
図11は、例示のデータストリームと関連付けられた処理を示す。図11の例示のシナリオでは、データストリーム118は、三つの独立の解像度エンコーディングを含む、モザイクストリームを含む。図11に示す例では、データストリームは、最大解像度エンコーディング“A”、中間解像度エンコーディング“B”、及び低解像度エンコーディング“C”を含む。最大解像度エンコーディング“A”は、3×4グリッドの12のバーチャルストリーム(タイル表示)を含み、各々のタイル表示は、最大解像度フレームの1.3メガピクセル(MP)部分を表す。ストリームB及びCの各々は、2MPで記録された最大限の関心領域(ROI)の単独のバーチャルストリームと、クオータビデオグラフィックアレイ(QVGA)を、夫々含む。トリガイベント902が検出されると、データ格納管理プログラムは、モザイクストリーム118内のメタデータを用いて、各々のバーチャルストリームの解像度を特定(し、最大解像度のバーチャルストリームの場合には、最大解像度のフレーム内のそのバーチャルストリームの位置を特定)する。例示のシナリオでは、プログラムは、低解像度のバーチャルストリームCと、最大解像度のストリームAの二つのセンタータイル表示とを、長期間格納エリア若しくは層914と関連付ける。プログラムは、中間解像度のバーチャルストリームBと、二つのセンタータイル表示以外の最大解像度のバーチャルストリームAの各々のタイル表示とを、短期間格納層140と関連付ける。
【0053】
図11は、二つの層136、140が個々のビデオソースデバイスのモザイクストリーム118内のバーチャルストリームと関連付けられるシナリオを示しているが、どんな個数の格納エリアが採用されてもよい。例えば、三つの格納層136、138、140は、図1に示すように指定され、中間解像度のバーチャルストリームBは、上記の例に記載する短期間格納層138の代わりに(図11に示さない)中間期間格納層138と関連づけされ得る。モザイクストリーム118内の種々のバーチャルストリームが短期間、中間期間、及び長期間格納層136、138、140に格納され得る、別途の実施形態が提示され得る。例えば、最大解像度のバーチャルストリームが長期間格納層に格納され、より低解像度のバーチャルストリームが短期間格納層に格納され得る。
【0054】
図12は、格納媒体132がフルであるときに、又は、或る他の特定の最大限容量閾値を満たすときに、データ格納媒体132内のスペースを確保する、データ格納管理プログラムにより実行されるプロセス950を示す。図12を参照して、ブロック952にて、データ格納管理プログラムは、データ格納媒体132がフルであるか、若しくは、或る他の特定の閾値を有するか、を判別する。フルで無い若しくは有さないならば、ブロック952にて処理が継続し、データストリームは前述のように関連付けられた格納層内に保存される。しかしながら、ブロック952にて、データ格納管理プログラムが、特定の格納エリア(若しくは複数の特定の格納エリア)内に格納されるデータに対する閾値が到達された若しくは超えられた、と判別すれば、ブロック954にて、プログラムは、特定の最大限の保持期間を超えたビデオソースデバイスの任意のものからの任意のデータを、格納媒体132から削除する。ブロック956にて、プログラムは、データ格納媒体132がフルであるか、若しくは、或る他の特定の最大限容量閾値を満たすか、を再び判別する。フルで無い若しくは有さないならば、ブロック952にて処理が継続し、データストリームは格納媒体132上の関連付けられた格納層内に保存される。ブロック956にて格納エリア内のデータが閾値を超えれば、ブロック958にて処理が継続し、データが削除される。削除されるデータは、例えば、格納媒体132上の層136、140のうちの一つ内の、二番目に最も古いデータでよい。
【0055】
例示の実施形態では、格納管理プログラムは、二つの層間の(又は、二つより多い層が特定されていれば、三つ若しくはそれ以上の層間の)特定の格納比率(層比率)を与えられ得る。比率は、二つ若しくはそれ以上の格納エリアの各々で格納されるデータの、相対的な量を定義する。比率を採用する例示の実施形態では、図12のブロック960にて、データ格納管理プログラムは、特定の比率を維持するように、他の格納層136、140からデータを削除する。例えば、最大限の保持期間を超えるデータの全てを削除した後に格納閾値が続いて超えていれば、プログラムは、例えば、層1にたまたま格納されている二番目に最も古いデータを削除してもよい。データを削除した結果、層比率がアンバランスとなるシナリオでは、プログラムは、特定の層比率が再び確立されるまで層2内に格納される最も古いデータの一部を削除する。
【0056】
開示の実施形態の別の形態によると、最大限の保持期間は、長期間層及び短期間層136、140の各々に対して、特定され得る。例示のシナリオでは、長期間格納層の最大限の保持期間は、短期間格納層のものよりも、長くてもよい。データ格納管理プログラムは、各々の層の個別の最大限の保持期間よりも古いどのデータも削除するように構成されてもよい。全ての残余データが最大限の保持期間よりも新しく、且つ、格納媒体132がフルとなれば(若しくは、或る他の最大限容量閾値を超えれば)、データ格納管理プログラムは、層比率が再び均衡するまで、短期間格納層及び長期間格納層136、140の一つから最も古いコンテンツを削除し、短期間格納層及び長期間格納層136、140の他の一つから最も古いデータを削除するように、構成される。
【0057】
以上のように、出願人は、ビデオソースからストリーム配信されるデータの格納を管理するシステム及び方法を開示した。開示の実施形態では、多重のエンコードされたビデオストリームを含むデータストリームが受信される。開示のシステムは、トリガイベントに応答して、データを分析し、複数の格納エリア若しくは層のどれに独立のエンコードされたビデオストリームの夫々が格納されるべきか判別する。格納エリアの夫々が指定されて、特定の特徴を有するデータを格納する。システムは、ビデオストリームの特徴に基づいて、エンコードされたビデオストリームの各々に対して、特定の格納エリアを選択する。システムは、所定の閾値に到達したときに格納エリア若しくは層からデータを削除するように適応される。閾値に到達すると、任意の適宜の計測基準を用いて削除のためのデータが選択される。例えば、最長期間格納されていたデータなどである。
【0058】
前述にて、幾つかあるコンポーネントの中で、特にハードウエア上で実行されるソフトウエアを含む例示の方法及びシステムを開示しているが、それら方法及びシステムは例示に過ぎず、限定するものと考えるべきでは無い、ということに留意すべきである。例えば、これらのハードウエア及びソフトウエアコンポーネントの任意のもの若しくはすべては、もっぱらハードウエアで、もっぱらソフトウエアで、もっぱらファームウエアで、又は、ハードウエア、ソフトウエア、及び/若しくはファームウエアの任意の組み合わせで、具現化され得ると考えられる。例えば、ネットワークサーバコンポーネントは、もっぱらビデオソースデバイスで提供され得る。その場合、クライアントは、デバイスと調節的に相互作用し得、ビデオソースデバイスは、その搭載格納をこのように管理する。従って、以下にて例示の方法及び装置を記載するが、示される例はそれら方法及び装置を実装する唯一のものではない、ということを当業者であれば即座に理解するであろう。例えば、プロセッサ及びマイクロプロセッサ、特定用途向け集積回路(ASIC)、又は他のハードウエアコンポーネントを含む、コンピュータハードウエアの一つ若しくはそれ以上の部品で、方法は実装され得る。
【0059】
一つ若しくはそれ以上の実施形態に関して、本開示は種々のシステム及び方法を記載した。しかしながら、多数の変更及び修正が本開示の教示内容から乖離すること無く為され得る、ということが当業者には明白であろう。例えば、図面及び本明細書はカメラ118/ビデオソースデバイス316及びコントロールサーバ102に別々に言及するが、ある実施形態では、両方に記載するシステムからの機能部は単独のシステムに存在し得る。例えば、ビデオソースデバイス316は、カメラ及び画像収集に関連して本明細書に記載した機能部の全てを、加えて、コントロールサーバ102に関連して本明細書に記載した機能部を、提供するカメラシステムであってもよい。そのような実施形態では、カメラシステムは、他のカメラシステムをコントロールして他のカメラシステムと通信し得るサーバとして、動作し得る。
【0060】
構造上の特性及び/又は方法上の行為に特有の表現で本発明を記載したが、当然ながら、添付の特許請求の範囲に規定される本発明は前述の特定の特性若しくは行為に必ずしも限定されない。寧ろ、前述の特定の特性若しくは行為は、特許請求の範囲を実装する例示の形式として開示されている。
【符号の説明】
【0061】
100・・・システム、102・・・コントロールサーバ、104・・・サーバ−デバイスVSマネジャ、106・・・バーチャルストリームマネジャ、108・・・格納管理機能部、110・・・IPカメラ、112・・・カメラ、114・・・エンコーダ、116・・・ネットワーク、132・・・データ格納媒体、144・・・ネットワーク。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12