JP2019033494A - ビデオソースデバイスからストリーム配信されるデータの格納管理 - Google Patents

ビデオソースデバイスからストリーム配信されるデータの格納管理 Download PDF

Info

Publication number
JP2019033494A
JP2019033494A JP2018172525A JP2018172525A JP2019033494A JP 2019033494 A JP2019033494 A JP 2019033494A JP 2018172525 A JP2018172525 A JP 2018172525A JP 2018172525 A JP2018172525 A JP 2018172525A JP 2019033494 A JP2019033494 A JP 2019033494A
Authority
JP
Japan
Prior art keywords
data
storage
stream
encoding
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018172525A
Other languages
English (en)
Other versions
JP6753902B2 (ja
Inventor
ショーン・ピー・マーラット
P Marlatt Shaun
オーレン・シャー
Shir Oren
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avigilon Corp
Original Assignee
Avigilon Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avigilon Corp filed Critical Avigilon Corp
Publication of JP2019033494A publication Critical patent/JP2019033494A/ja
Application granted granted Critical
Publication of JP6753902B2 publication Critical patent/JP6753902B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • G06F16/125File system administration, e.g. details of archiving or snapshots using management policies characterised by the use of retention policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations

Abstract

【課題】ビデオソースデバイスから受信されるデータを管理するコンピュータ実装方法を提供する。【解決手段】ビデオソースデバイスから受信されるデータを管理する方法において、格納媒体上の少なくとも第1の格納層と第2の格納層が、データの様々なカテゴリを個々に格納するために特定される。データストリームがビデオソースから受信されると、データストリームは、少なくとも第1の格納層若しくは第2の格納層と関連付けられ、受信されたストリームからのデータは、関連付けられる格納層内に格納される。格納媒体がフルである、若しくは、或る他の特定の最大限容量閾値を満たすと、一つ若しくはそれ以上の特定の最大限の保持期間を超える期間を有するデータを発端に、データが削除され、第1と第2の格納層の一つ若しくは両方からの最も古い期間のデータが続いて削除される。【選択図】図9

Description

関連出願のクロスリファレンス
本願は、2014年12月11日提出の米国非仮特許出願第14/568077号の米国特許法119条(e)の優先権の利益を主張するものであり、更に該出願は、2014年1月15日提出の米国仮特許出願第61/927923号の米国特許法119条(e)の優先権の利益を主張するものであり、それらの開示は参照の上全体として本明細書に組み込まれる。
技術分野
本開示は、概略、ビデオソースデバイスからストリーミング配信されるデータの格納を管理することに関する。
背景技術
通常のビデオ監視システムでは、一つ若しくはそれ以上のカメラがサーバシステムに通信自在に結合し得る。ビデオデータはカメラにより記録されると、サーバシステムに転送され、そこで後続の検索のために格納される。クライアントシステムは、サーバシステムと通信自在に結合し、記録されたビデオデータのストリームを要求して受信するのに用いられ得る。
ビデオ監視システムは、1日に24時間、及び1週間に7日間、動作していることを要求されることが多い。結果として、大量のデータがそれらシステムにて記録されて格納され得る。記録されたデータを格納するのに利用可能である計算メモリの量にも物理的限度があることも多い。監視システムで記録され得る大量のデータは、システムの格納容量限度の範囲内で動作しつつも所望のデータに迅速にアクセスし得るべくデータをどのように管理するのか、という実際的問題を提起する。
概要
出願人は、ビデオソースデバイスから受信するデータを管理するシステム及びコンピュータ実装方法を本明細書に開示する。例示の実施形態では、格納管理システムは、第1のカテゴリのデータを格納するための、格納層と称され得る、第1の格納エリアと、第1のカテゴリのデータを格納するための第2の格納エリア若しくは層を、少なくとも管理する。エンコードされたデータストリームは、格納管理システムにて受信され、システムは一つ若しくはそれ以上のデータストリームを第1の格納エリアと関連付け、一つ若しくはそれ以上のデータストリームを第2の格納エリアと関連付ける。データストリームは関連付けられた格納エリア内に格納される。格納管理システムは、格納されるデータをモニタして、格納エリア及び/又は格納媒体がフルであるかどうか、若しくは、或る他の特定の最大限容量閾値を満たすかどうかを判別する。もしそうであるならば、格納管理システムは、閾値を超えるデータを削除する。例示の実施形態では、格納管理システムは、一つ若しくはそれ以上の特定の最大限の保持期間を超える期間を有するデータを削除する。格納されるデータが更に閾値を超えれば、第1と第2の格納層の一方若しくは両方から最も古い期間を伴うデータが削除されてもよい。
開示される実施形態の別の形態によると、格納管理システムは、第1と第2の格納層内に格納されるデータの相対的量を特定する比率を特定し得る。比率を維持する必要があるときは、特定された格納の比率が維持されるように、最も古い期間を伴うデータが、第1と第2の格納層の一方若しくは両方から削除され得る。例示の実施形態では、第1の格納層は、長期間の最大限の保持期間を有する長期間格納層であってもよく、第2の格納層は、前記長期間の最大限の保持期間より短い短期間の最大限の保持期間を有する短期間格納層であってもよい。
開示される実施形態の別の形態によると、データストリームは、様々な解像度の少なくとも二つのバーチャルストリームを含み得る。格納管理システムは、より低い解像度のバーチャルストリームを短期間格納層と関連付け、より高い解像度のバーチャルストリームを長期間格納層と関連付ける。例示のシナリオでは、バーチャルストリームは、多重バーチャルストリームを含み、各々は視野内に様々な関心領域をキャプチャする。そのようなシナリオでは、格納管理システムは、第1の関心領域を短期間格納エリアと関連付け、第2の関心領域を長期間格納エリアと関連付け得る。様々な関心領域は、視野の様々な部分を含み得、その場合、視野の中心部分のバーチャルストリームは、長期間格納層と関連付けられ、視野の非中心部分のバーチャルストリームは、短期間格納層と関連付けられる。
この概要は、以下、例示の実施形態の詳細な説明にて更に記載する、簡素な形式での概念の選択を導入するべく提示する。この概要は、特許請求の範囲の主題の肝要な特徴若しくは本質的な特徴を特定することを意図するものでは無く、該主題の範囲を限定することを意図するものでも無い。他の特徴を以下に記載する。
前述の概要、及び実施形態についての以下の更なる説明は、添付の図面と併せて読むことでより良く理解され得る。当然ながら、開示のシステム及び方法の潜在的な実施形態は、描写するものに限定されない。
図1は、多重解像度エンコーディングを生成して格納するように調整された例示の監視システムを示す。 図2は、多重解像度エンコーディングを表示するように適応された例示のディスプレイモニタを示す。 図3は、多重解像度エンコーディングを生成し受信するように適応された例示のビデオソースデバイス及びコントロールサーバを示す。 図4は、ビデオソースデバイス及びコントロールサーバにより提供される例示の機能特徴を示す。 図5は、多重化されたコンテナフレームを含むビデオストリームの例示の処理を示す。 図6は、多重解像度エンコーディングに含まれる個別のバーチャルストリームを記述する例示のビデオソースデバイスレスポンスを示す。 図7は、異なる解像度での関心領域の例示のエンコーディングの図を示す。 図8は、ビデオソースデバイスからデータをストリーミングする例示の方法のフロー図を示す。 図9は、データ格納媒体の異なる位置でビデオソースデバイスから受信したデータストリームを格納する例示の方法のフロー図を示す。 図10は、データストリームを格納する例示の方法のフロー図を示す。 図11は、データ格納媒体上にデータストリームを格納する例示の方法を示す。 図12は、データ格納媒体からデータを削除する例示の方法のフロー図を示す。
要旨
概略、デジタル監視システムは、モニタリングステーションに接続する複数のカメラを含む。モニタリングステーションは、多数のカメラから受信されるビデオを格納する。モニタリングステーションにより、受信されたビデオは、モニタリングのための一つ若しくはそれ以上の接続されたクライアントに、ストリーム配信され得る。カメラは、特定の解像度でのビデオのエンコーディングをモニタリングステーションにストリーム配信するエンコーダに接続する、アナログカメラでもデジタルカメラでもよい。カメラは、特定の解像度でのビデオのエンコーディングを、IPネットワークに亘ってモニタリングステーションにストリーム配信するエンコーダを含む、インターネットプロトコル(IP)カメラを、更に含んでもよい。
カメラの中に組み込まれていてもカメラから分離していても、エンコーダは、エンコードされたビデオをストリーム配信するための、要求されるストレージサイズ及びネットワーク帯域幅を減少させるために、ビデオをエンコードする際に様々なできる限りの符号化/圧縮フォーマットを用いてもよい。サーベイランス産業で共通に用いられるフォーマットは、JPEG、MPEG−2、MPEG−4及びH.264を含む。モニタリングクライアントは、ある環境では、多数のカメラからのビデオを一斉にディスプレイする。従って、モニタリングクライアントは、多数のビデオエンコーディングを受信してデコードしなければならない。ビデオがファイルサイズを減少させるようにエンコードされても、多数の最大解像度のストリームをワイドエリアネットワーク(WAN)に亘ってモニタリングステーションにストリーム配信することは、困難であることがある。圧縮技術は、特定の解像度のためのエンコーディングの質を大きく減少させること無く、エンコーディングのファイルサイズを更に減少し得る。しかしながら、そのような圧縮技術のデコーディングは、より計算的に複雑である。従って、モニタリングクライアントは、タイミング良く多数のエンコーディングを表示のためにデコードするということができない。
モニタリングクライアントにてデコードされディスプレイされ得る複数のエンコーディングを提供するために、帯域幅を減少するようにビデオに重い圧縮を用いることが、可能である。しかしながら、多数のビデオエンコーディングが、モニタリングクライアントにてタイミング良くデコードされディスプレイされ得るようにする圧縮技術は、ビデオの質を大きく減じ得る。ビデオの質がディスプレイ解像度にて見るには十分であるが、エンコードされたビデオの一部を詳細に眺め得るのに十分な質を提供し得ない。
ビデオの詳細の実質的一部を保つビデオと共に、モニタリングロケーションにリアルタイムでストリーム配信され得るビデオを提供するために、ビデオは、例えば、解像度、フレームレート、及び種々の他の質のセッティングを含む、種々のエンコーディングパラメータに従って、エンコードされてもよい。例示のシナリオでは、低解像度エンコーディングはビデオをモニタリングクライアントにストリーム配信するのに用いられ得、高解像度エンコーディングは中央のモニタリングステーションにて格納されてビデオの一部のより詳細な調査が要求されるときにモニタリングロケーションに提供され得る。しかしながら、最大解像度エンコーディングを見る際には、高解像度エンコーディングは更にモニタリングクライアントに転送されねばならず、最大解像度エンコーディングの大きいサイズを考慮すると、その転送は遅くてもよい。
JPEG2000などの、エンコーディング技術は、単独の画像で多数の解像度をエンコードすることができるが、多数の独立のエンコーディングを、ビデオソースデバイスからモニタリングステーションにストリーム配信することが、望ましい。多数の独立のエンコーディングは、後続の検索のために格納され得る。更に、JPEG2000の場合のような単独のエンコーディングとは対照的に、複数のエンコーディングが独立であるとき、更なる格納を提供するために、最早関連が無ければ高解像度エンコーディングは格納から削除され得る。低解像度エンコーディングは、より長期間、保持され得る。
本明細書に記載の実施形態は、有限のストレージ容量を有するデータ格納媒体上で、ビデオソースデバイスからのデータストリームの格納を管理するシステム及び方法に、概略関する。開示された格納管理システムは、プロセッサによって実行可能である、プログラムコードを含み、該プログラムコードは、カメラにより記録されるデータストリームがいつ格納されるべきか、及び、データストリームがデータ格納媒体上のどこに格納されるべきかを判別する。開示されたシステムは更に、予め格納されたどのデータが削除されるべきか、格納媒体がいつフルになるか、又は、例えば、格納閾値などの他の基準がいつ満足されたか、を判別する。
本明細書に記載の、一つの特定の一連の実施形態では、ビデオソースデバイスは、多数の独立の解像度エンコーディングを含むデータストリームを提供し、それらは、コントロールサーバに対して「モザイクストリーム」を集合的に形成するものと考えられ得る。エンコーディングのより多くのもののうちの一つは、カメラの全体視野の特定の解像度にて記録されたバーチャルストリームであってもよい。他のエンコーディングのうちの一つ若しくはそれ以上は、異なる関心領域の、個別にエンコードされたバーチャルストリームのモザイクを、含み得る。異なる関心領域の各々は、タイルのモザイクがアセンブルされて全体の視野を表し得るように、カメラの視野内の、「タイル」と称されることがある、特定エリアのバーチャルストリームでもよい。例えば、最大解像度エンコーディングは、エンコードされたビデオのタイルの2×2モザイクにより、提供され得る。従って、ビデオクライアントが、フルフレームの一部の詳細な表示を見ることを望むときは、モザイクタイルのサブセットのみ提供されることを必要とし、そのことにより、要求される帯域幅及び処理は減少する。
異なるデータストリームの各々は、独立してエンコードされ更に独立してデコードされ得るので、データ格納管理プログラムは、異なるデータストリームが格納媒体の異なる格納エリア/ロケーション、即ち「層」に格納されるように仕向けるべく、実行され得る。ある実施形態では、データ格納管理システムは、異なる格納層内に、解像度エンコーディングの一つの、異なるタイルを格納し得る。例えば、システムは、格納エリア即ち層を長期間格納層として識別して、その長期間格納層内にフルフレームのより低い解像度エンコーディングのバーチャルストリームを格納してもよい。システムは、別の層を、短期間格納層に向けられるものとして指定し、その短期間格納層内に最大解像度エンコーディングタイルの、一部若しくは全部を格納してもよい。例示の実施形態では、動きを伴う、若しくは、ドアをキャプチャする、フレーム内の領域などの、最大解像度エンコーディングのうちの特に関連するタイルが、長期間格納層内に格納され、あまり関連しないタイルが短期間格納層内に格納されてもよい。
データ格納管理プログラムは、規定された基準に従って、格納媒体から或るビデオデータを選択的に除去し得る。例えば、長期間格納層上に格納されたエンコーディングが除去される前に、より高い解像度エンコーディングが短期間格納層から除去されてもよい。データを除去する若しくは削除するための、規定された基準は、例えば、格納容量限度や、データが格納された時間の長さを含む、任意の適切なパラメータを含み得る。
本明細書に記載のシステム及び方法は、多数の、独立にデコード可能なバーチャルストリームを含むモザイクストリームの格納管理のために採用され得、ここで最大解像度のストリームは関心領域の多数のバーチャルストリームで構成され、各々の関心領域は、カメラの視野の別々のエリアをカバーするタイルにより表される。そのような実施形態では、関心領域の全てはグリッド内にアセンブルされ、全体の視野を表し得る。
開示のデータ格納管理システム及び方法の幾つかの形態を、モザイクストリームの文脈で説明しているが、当然ながら、開示のシステム及び方法は他のタイプのデータストリームを管理するのに用いられてもよい。例えば、二つのカメラ(若しくは、別のタイプのビデオソースデバイス)は、夫々、統合されたH.264リアルタイムトランスポートプロトコル(RTP)ストリームを送信し得、ここで一つのデータストリームは高解像度のストリームであり、もう一つのデータストリームは、低解像度のデータストリームである。そのような実施形態では、高解像度のストリームは、短期間格納層内に格納され、低解像度のストリームは、長期間格納層内に格納され得る。別の例によると、カメラは、最初のデータストリームとして機能する一つのJPEGストリームを送信し得る。そのような実施形態では、一つの格納媒体層は、ストリームの偶数フレームを格納し、別の格納媒体層は、ストリームの奇数フレームを格納し得る。一つのカメラが一つのH.246RTPストリームを送信する更に別の例では、ストリームのキーフレームを格納するのに一つの格納媒体層が採用され、ストリームの、Pフレーム、即ち予測ピクチャフレームを格納するのに別の格納媒体層が用いられる。
例示のエンコーディング及び格納管理システム
図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)を含む、一つ若しくはそれ以上の個別のネットワークにより、提供され得る。
コントロールサーバ102は、バーチャルストリームマネジャ機能部を提供する。例示の実施形態では、「サーバ−デバイスバーチャルストリームマネジャ」や「サーバ−デバイスVSマネジャ」と称され得る、バーチャルストリームマネジャレジデントは、コントロールサーバ102が記録デバイスから受信するバーチャルストリームを管理する。サーバ−デバイスVSマネジャ104は、独立の多重解像度エンコーディングをストリーム配信するために、ビデオソースデバイス110、114を構成するために機能部を提供する。サーバ−デバイスVSマネジャ104は、ビデオソースデバイス110、114からストリームを受信し、受信したストリームを個別のバーチャルストリームに逆多重化する機能も、含み得る。逆多重化されたバーチャルストリームは、組み合わされ、例えば、バーチャルストリームの一つ若しくはそれ以上を除去することを含む、様々なやり方で再多重化され得る。ビデオソースデバイス110、114からのストリームの個別のバーチャルストリームは、格納のために格納管理機能部に提供され得る。
個別のバーチャルストリームの一つ若しくはそれ以上は、更なるバーチャルストリームマネジャ機能部に提供され得る。例えば、本明細書にて「サーバ−クライアントバーチャルストリームマネジャ」や「サーバ−クライアントVSマネジャ」と称され得る、バーチャルストリームマネジャ106は、コントロールサーバ102がクライアント142に送信するバーチャルストリームを管理する。個別のバーチャルストリームは、格納管理機能部108と、サーバ−デバイスVSマネジャ104との、いずれかから、サーバ−クライアントVSマネジャ106に提供され得る。サーバ−クライアントVSマネジャ106は、ネットワーク144に亘って、モニタリングクライアントに一つ若しくはそれ以上のバーチャルストリームをストリーム配信する。
ビデオソースデバイス110、114の各々は、個別のビデオソースデバイス110、114の容量と、ネットワーク116の帯域幅、ネットワーク144の帯域幅、利用可能な格納空間などの他のコンポーネントの容量と、及び、監視システムの条件とに依存して、種々のバーチャルストリームエンコーディングを提供するように構成され得る。ビデオソースデバイス110、114は、単独の解像度エンコーディングを提供してもよく、複数の個別の解像度エンコーディングを提供してもよい。更に、個々の解像度エンコーディングは、複数のバーチャルストリームにより提供され得る。ネットワーク116に亘ってIPカメラ110からコントロールサーバ102へストリーム配信されるものとして、ストリーム118は図1にて示されている。
図視するように、ストリーム118は、複数の個別の解像度エンコーディング120、122、124を含む。個別の解像度エンコーディング120、122、124は、ソースビデオの同じ部位をエンコードするものとして示され、それは、カメラ110aのセンサの関心領域の実質的に全てであると考えられる。個別の解像度エンコーディング120、122、124の各々は、夫々の圧縮アルゴリズムを用いてソースコードをエンコードし、解像度、フレームレート、及び/又はビデオの質を、減じ得る。例えば、解像度エンコーディング120は、ソースの最大解像度にエンコードされ得、解像度エンコーディング122は、ソースの解像度の半分にエンコードされ得、及び、解像度エンコーディング124は、ソースの解像度の4分の1にエンコードされ得る。
個別の解像度エンコーディング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の解像度を有し得る。より大きい領域のタイル表示を提供するものとして記載しているが、バーチャルストリームは、タイル表示を形成する必要は無い。むしろ、各々のバーチャルストリームが、特定の関心領域をエンコードするものでもよく、その場合特定の関心領域は全体のソースビデオを含んでもよく、一部を含んでもよい。種々のバーチャルストリームは、同じ関心領域をオーバラップしてもよく、ソースビデオの非オーバラップ部位をエンコードしてもよい。
サーバ−デバイスVSマネジャ104は、ビデオソースデバイス110から、ストリーム118などのストリーム配信を受信し得る。サーバ−デバイスVSマネジャ104は、受信したストリーム118から、個別の解像度エンコーディング120、122、124のバーチャルストリームを逆多重化し得、逆多重化されたバーチャルストリームは、格納及び格納管理のために格納管理機能部108に通され得る。更に、バーチャルストリームの一つ若しくはそれ以上は、クライアントにストリーム配信するために、サーバ−クライアントVSマネジャ106に通され得る。
格納管理機能部108は、コントロールサーバ102内のプロセッサにより実行可能であり、且つ、図10〜図12に関連して含む本明細書に記載のデータ格納媒体132内の解像度エンコーディングの格納を管理するように適応された、データ管理プログラムを含む。データ管理プログラムは、データ格納媒体132へ、各々の、若しくは選択された数の、解像度エンコーディングを通し得る。データ管理プログラムは、データ格納媒体132内の、例えば、格納セクション若しくは層と称され得る様々な格納領域内に様々なビデオデータを格納することにより、格納されるデータを構造化する。例示の実施形態では、格納層は短期間格納層136、中間期間格納層138、及び長期間格納層140を、含み得る。短期間格納層136は、解像度エンコーディングの各々を格納するのに用いられ得る。データ管理プログラムは、一連の基準に基づいて各々の格納層からビデオデータを消去するように適応される。データ格納媒体132は、コントロールサーバ102と同じコンピュータシステム内に、含まれ得る。更に、若しくは、別途、データ格納媒体132は、独立のコンピュータデバイス(図示せず)により提供されてもよい。また更に、コントロールサーバ102に直接に接続するように図示しているが、データ格納媒体132はネットワークによりコントロールサーバ102に結合し得ることも想定される。データ格納媒体132は、一つ若しくはそれ以上のローカルハードドライブのような、持続性データ格納のための一つ若しくはそれ以上の不揮発性コンピュータ読み取り可能媒体を含んでもよい。一方で、持続性格納媒体は、クラウド格納内やネットワーク格納内のリモートハードドライブでもよい。
前述のように、サーバ−クライアントVSマネジャ106は、ネットワーク144に亘ってストリーム配信するために、サーバ−デバイスVSマネジャ104か、格納管理機能部108かのいずれかから、解像度エンコーディングを受信し得る。解像度エンコーディングは、異なるビデオソースデバイスからでもよい。図示するように、各々の解像度エンコーディング146a、146b、146c、及び146dは、個別にストリーム配信されてもよく、解像度エンコーディングの一つ若しくはそれ以上が単独のストリーム内に共に組み合わされてもよい。図1に示す例示のシナリオでは、異なるビデオソースデバイスからの低い解像度エンコーディングに対応する、複数のバーチャルストリーム148a、148b、148c、及び148dは、モニタリングデバイス142にストリーム配信される。モニタリングデバイス142は、バーチャルストリーム148a、148b、148c、及び148dを受信してデコードし、デコードされたビデオ150をディスプレイする。
多重解像度エンコーディングをストリーム配信する。
図2は、ビデオの様々な解像度エンコーディングをディスプレイするモニタを示す。図2は、三つの異なるビュー200、212、及び218を示す。例示の実施形態では、モニタリングクライアントは、ビュー200を最初にディスプレイし得、該ビュー200は、四つのバーチャルストリームの最も低い解像度エンコーディング202、204、206、208を含む。例えば、四つの異なるカメラからのバーチャルストリームが、同時にディスプレイされ得る。低解像度エンコーディングの一つ202は、例えば、マウス若しくは他のポインタ210でその上にクリックすることにより、ズームインのために選択され得る。解像度エンコーディング202がフルスクリーンでディスプレイされると、エンコーディングの質は、所望のものより低くなり得る。従って、選択されたカメラからの中間解像度エンコーディング214がストリーム配信され得、ビュー212に示すようにディスプレイされ得る。ユーザは、ディスプレイされる解像度エンコーディング214の一部を更に見るために、ズームインすることを望んでもよい。更に、解像度エンコーディング214の質は、所望の画像の質を提供すべくズームインする際には十分ではないことがある。従って、ビュー218に示すようなズームインされる部分220をディスプレイする際に最大解像度エンコーディングが用いられてもよい。前述のように、最大解像度エンコーディングは、複数のバーチャルストリームを含んでもよい。従って、選択されたズームインされる領域をカバーする最大解像度エンコーディングのバーチャルストリームのみが、モニタリングクライアントにストリーム配信される必要がある。例えば、最大解像度エンコーディングが、バーチャルストリームの4×3グリッドとして提供されるならば、最上の行と第3及び第4の列のバーチャルストリームは、所望の領域を覆い得る。
多数のカメラからのビデオがディスプレイされているかどうかにかかわらずモニタリングロケーションにビデオをストリーム配信すると、又は、単独のカメラの小部分のみがディスプレイのためにズームインされれば、多重バーチャルストリームを提供することで十分な帯域幅の使用が可能になる。図3は、ビデオソースデバイス316と機能部、加えて、コントロールサーバ102と、多重解像度エンコーディングをストリーム配信できる機能部を、示す。図示するように、コントロールサーバ302は、命令を処理するための中央処理装置(CPU)304を含む。対応する命令は、メモリ306内に格納され得る。コントロールサーバ302は更に、データ及び命令の持続性格納のための不揮発性格納部308を含み得る。コントロールサーバ302は更に、一つ若しくはそれ以上のインプット/アウトプット(I/O)インタフェース310を含み得る。I/Oインタフェースにより、インプット及び/又はアウトプットコンポーネントは、コントロールサーバに接続できる。例えば、コントロールサーバ302を通信ネットワークに接続するために、ネットワークインタフェースカード(NIC)がコントロールサーバ302に接続してもよい。CPU304は、メモリ内に格納された命令を実行し得る。312として示す命令は、実行時には、本明細書に記載の他の機能部と共に、サーバ−デバイスVSマネジャ314を提供するようにコントロールサーバ302を構成し得る。
ビデオソースデバイス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を構成し得る。
コントロールサーバ302のサーバ−デバイスバーチャルストリーム(VS)マネジャ304と、ビデオソースデバイス316のデバイスVSマネジャ328とは、所望のように若しくは要求されるように、例えば、カメラを含み得るビデオソースデバイス316を構成する332ために、協働する。エンコーダ機能部330は、複数の行及び列の個別のエンコードされたタイル表示を含み得る、ビデオ及び特定のセッティングを、各々エンコードし得る多重エンコードコンポーネントを提供するように、構成され得る。エンコーディングコンポーネントにより提供されるエンコーディングは、データストリーム334により示すようにコントロールサーバ302にストリーム配信され得る。
本明細書の図面及び記載はビデオソースデバイス316とサーバ102とに別々に言及しているが、当然ながら、ある実施形態では、記載の両方のシステムからの機能部が単独とシステム内に存在してもよい。例えば、ビデオソースデバイス316は、コントロールサーバ102に関する本明細書に記載の機能部に加えて、カメラ及び画像収集に関する本明細書に記載の機能部の全てを提供する、カメラシステムであってもよい。そのような実施形態では、カメラシステムは、他のカメラシステムをコントロールし且つ他のカメラシステムと通信できるサーバとして、動作し得る。
図4は更に、多重解像度エンコーディングをストリーム配信できる、ビデオソースデバイス機能部及びコントロールサーバ機能部を、示す。機能部は、例えば、メモリに格納される命令により前述のコントロールサーバ302内に設けられてもよい。コントロールサーバのCPUにより実行されると、命令は、ネットワークレイヤプロトコル機能部402、アプリケーションレイヤプロトコル機能部404、及びコンフィギュレーション機能部408を提供し得る。当然ながら、他の機能部がコントロールサーバ内に設けられてもよい。
同様に、ビデオソースデバイス機能部は、プロセッサで命令を実行することにより前述のビデオソースデバイス316などのビデオソースデバイス内に設けられ得る。ビデオソースデバイス機能部は、ネットワークレイヤプロトコル機能部410、エンコーダ機能部412、及びアプリケーションレイヤプロトコル機能部414を、含み得る。ビデオソースデバイスは、図4に示されない更なる機能部を提供してもよい。
所望のようにビデオソースデバイスを構成するために、コントロールサーバ402とビデオソースデバイス316との、ネットワークレイヤプロトコル機能部402、410は協働する。ネットワークレイヤプロトコル機能部は、ビデオデバイスに対して標準的ネットワークインタフェースを提供し、準拠デバイスの、発見、構成、管理、及びコントロールを可能にする。ネットワークレイヤプロトコル機能部は、ビデオソースデバイス316及びその能力の発見を、加えて、デバイスの構成を可能にする、コントロールサーバ102とビデオソースデバイス316との間の共通のインタフェースを提供する。後で更に説明するが、ネットワークレイヤプロトコル機能部は、デバイスをセットアップして、前述のようなタイル表示のエンコーディングを含む多重の独立の解像度エンコーディングをストリーム配信するために、エンコーダ機能部416を構成するように、用いられ得る。所望のように構成されると、ビデオソースデバイスは、構成された解像度エンコーディングのデータストリームを提供するために、構成されたエンコーダ機能部を用いてソースビデオをエンコードし得る。エンコーダからのデータストリームは、データストリーム418のリアルタイムのコントロール及びトランスポートを提供するアプリケーションレイヤプロトコル機能部404/414を用いて、ビデオソースデバイスからコントロールサーバへ送信され得る。
データストリームがコントロールサーバ102にて受信されると、共に同じ解像度エンコーディングに属するバーチャルストリームをグループ化するために、処理され得る。前述のように、単独の解像度エンコーディングは、一つ若しくはそれ以上の、独立してエンコードされたタイル表示で構成され得る。解像度エンコーディングは、更に、例えば、格納のために、又は、モニタリングクライアントにストリーム配信するために、所望のように処理され得る。
コントロールサーバは、コンフィギュレーション機能部408も含み得る。コンフィギュレーション機能部408により、ユーザは、監視システムのコンポーネントのコンフィギュレーションパラメータをセットすること、見ること、及び/又は、変更することができる。例えば、コンフィギュレーション機能部により、ビデオソースデバイスのための所望のエンコーダ構成が可能になる。
図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へ実質的に時分割多重化することとなる。
バーチャルフレーム508のグループを、単独のソースフレームタイムスタンプと関連付けることで、バーチャルフレーム508と、結果として、クライアント142上にディスプレイされる様々なバーチャルストリームからのビデオとの間の、同期化が促進される。同期化されたバーチャルストリームは、待ち時間を減少することにもなる。サーバ−デバイスVSマネジャ314がストリーム118を受信すると、(サーバ−デバイスVSマネジャ314は)個々のフレーム506のタイムスタンプ510に基づいてコンテナフレーム506の各々を逆多重化することができ、続いて、相互にコンテナフレーム506を逆多重化し、コンテナフレーム506の範囲内のどの他のバーチャルフレーム508からのバーチャルフレーム508の各々を逆多重化することができる。コントロールサーバ302は、データ格納媒体132内にコンテナフレーム506を格納することなどにより、コンテナフレーム506及びバーチャルフレーム504の、一つ若しくはそれ以上の、任意のものを所望のように処理し得る。
図6は、多重解像度エンコーディングを提供する個別のバーチャルストリームを記述するビデオソースデバイスからのレスポンスを示す。記述情報若しくは記述ファイルと称し得る、レスポンス600は、ビデオソースデバイスから提供されるストリームを記述する。レスポンス600は、ビデオストリーム内のバーチャルストリームの各々を記述する。ビデオストリームは、複数の個別のバーチャルストリーム610a、610b、610c、612、及び614を有し得る。個々のバーチャルストリームのエンコーディングパラメータは、レスポンス600内に提供される。例えば、各々のバーチャルストリームは、バーチャルストリームの一意識別子602、バーチャルストリームによりエンコードされるビデオソースの関心エリア若しくは領域604、エンコードされたバーチャルストリームの結果の解像度606、及びエンコードされたバーチャルストリームの質の表示608を、含み得る。概略示すように、バーチャルストリームは、同じエンコーダセッティングにて、異なる関心領域をエンコードし得る。例えば、バーチャルストリーム610a、610b、610cは、同じエンコーダセッティングにて、ソースビデオの異なる関心領域をエンコードする。更に、バーチャルストリームは、異なるパラメータセッティングにて、同じ関心領域をエンコードし得る。例えば、バーチャルストリーム612と614は、同じ関心領域をエンコードするが、異なる解像度となる。ストリームの記述600は種々のフォーマットで提供可能であり、コントロールサーバなどの、ストリームを受信するコンポーネントがコンポーネントバーチャルストリームを適切に逆多重化して識別できるように、十分な情報を提供する。
図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の寸法を有することになる。
図8は、ビデオソースデバイス316からコントロールサーバ302へデータをストリーム配信する方法を示す。ブロック802にて、ビデオソースデバイスのエンコーディングコンポーネントが構成される。構成する動作は、例えば、コントロールサーバ302から、エンコーダ114を含み得る一つ若しくはそれ以上のビデオソースデバイス316へ、一つ若しくはそれ以上の構成コマンドを送信するステップを、含み得る。ビデオソースデバイス316のエンコーディングコンポーネントは、ビデオソースデバイス316から送信されるストリームの範囲内で複数のバーチャルストリームを提供するべく、構成される。エンコーディングコンポーネントは、ソースビデオの少なくとも一部の、独立の解像度エンコーディングを提供するべく、構成され得る。独立の解像度エンコーディングのうち、少なくとも一つは、解像度エンコーディングのモザイクのタイル表示を各々が含む、複数のバーチャルストリームにより提供される。ビデオソースデバイス316内に含まれるエンコーディングコンポーネントは、各々のバーチャルストリームを提供するように構成され得る。
ストリームのためのエンコーディングコンポーネントが構成されると、ブロック804にて、図6に関連して記述したような、ストリームの記述が、ビデオソースデバイス316からコントロールサーバ102へ伝えられる。例示の実施形態では、コントロールサーバ302により送信される記述リクエストに応じて、ストリーム記述は、ビデオソースデバイス316によりコントロールサーバ302へ提供され得る。受信される記述は、ビデオソースデバイスが提供するように構成されている、複数の個別のストリームを記述する。所望の解像度エンコーディングの各々は、記述内に記述される一つ若しくはそれ以上のバーチャルストリームにより、提供され得る。各々のバーチャルストリームの記述は、バーチャルストリームの識別子、更に加えて、バーチャルストリームのエンコーディング情報、及び、バーチャルストリームによりエンコードされるソースビデオのエリアの表示を、含み得る。
ブロック806では、データストリーム自身が、ビデオソースデバイス316から伝えられてコントロールサーバ302にて受信される。ブロック808では、コントロールサーバ302は、各々のバーチャルストリームを、個々の解像度エンコーディングと関連付ける。バーチャルストリームのいずれが個々の解像度エンコーディングと関連付けられるかを識別することは、ストリーム記述内の情報を用いて為され得る。更に、多重バーチャルストリームがソースビデオの同じエリアをエンコードするならば、バーチャルストリームがどの解像度エンコーディングと関連付けられるかを決定するために、バーチャルストリーム内でエンコードされる更なる情報を利用することが必要となり得る。個々の解像度エンコーディングが各々のバーチャルストリームと関連付けられると、同じ解像度エンコーディングのバーチャルストリームは、更に処理され得る。例えば、ブロック810にて、各々の解像度エンコーディングのバーチャルストリームは、格納のために提供され得る。バーチャルストリームとストリーム記述509は、相互に関連して格納され得る。更に、若しくは、一方で、ブロック812では、ある解像度エンコーディングのバーチャルストリームの一つ若しくはそれ以上は、一つ若しくはそれ以上のモニタリングクライアントにストリーム配信され得る。前述では、個別のバーチャルストリームが格納される及び/又はクライアントに送信される前に、複数のバーチャルストリームが処理されることが暗示されているが、当然ながら、バーチャルストリームの各々は、独立してデコード可能であり、即座に、格納され得る、及び/又はクライアントに送信され得る。
ストリーム配信するデータのデータ格納管理。
図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)コマンドの検出、例えば、特定のナンバープレート若しくは人の顔の存在などの記録されたストリーム内のイベントの検出、又は、デジタル監視システムの別の部分から受信された任意の他の特定のデジタルインプットの検出などの、システム内の任意のイベントソースであればよい。
例示の実施形態では、データ格納管理プログラムは、レコーディング前及びレコーディング後のバッファ構成を判別する、トリガ毎の最小限記録時間を採用し得る。言い換えれば、システムが自動トリガイベントを採用すると、システムは、トリガイベントの前の所定の期間、及び、トリガイベントの後の所定の期間、関連するビデオストリームを格納し得る。例えば、5秒のデフォルト値が、レコーディングバッファとして用いられ得る。当然ながら、バッファサイズはどの適切な長さでもよく、ユーザによりカスタマイズされてもよい。
データ格納媒体132内の独立の格納スペース若しくはエリア912は、「ビン」と称されることもあり、各々のビデオソースデバイスに割り当てられ得る。例示の実施形態では、各々のビン912は、層914に細分され得、各々の格納エリア若しくは層は異なるカテゴリのデータと関連付けられる。図9の例示の実施形態では、格納媒体132は、二つのビン(ビンAとビンB)に分割されるように示され、一つは二つのビデオ格納デバイスA、Bの各々に対するものであり、各々のビン912は、二つの層914(層0、層1)に細分される。一つの層914は、長期間格納(例えば、層1)として指定され、他方の層914は短期間格納(例えば、層0)として指定されてもよい。
データ格納管理プログラムは、データストリーム118内のデータの各々のセグメントが格納媒体132内のどこに格納されるべきかを判別するルールエンジンも含む。特に、ルールエンジンは、複数の格納エリアのどこに特定のビデオセグメントが格納されるべきかを判別し得る。例示の実施形態では、ルールエンジンは、ルールエンジンのためのインプットとして、データストリーム118の一部であるメタデータを用い得る。例示のシナリオでは、メタデータは、データストリーム118内のビデオの各々のフレームに対する解像度及びタイムスタンプを含み得る。そのシナリオでは、ルールエンジンは、最小の解像度を有するバーチャルストリームを含むデータセグメントを、長期間格納層914と関連付けるルールを、含み得る。他のメタデータは、最大解像度フレーム内のバーチャルストリームのタイル表示の位置を含み得る。ルールエンジンは、フレームの特定の部分(例えば、センター)に位置するバーチャルストリームを長期間格納層914と関連付ける、このメタデータを採用し得る。他のメタデータは、バーチャルストリームが内部に記録されたモーションを有するかどうかを示し得る。ルールエンジンは、モーションを包含するバーチャルストリームを長期間格納層914と関連付ける、このメタデータを採用し得る。更に別の例示のシナリオでは、メタデータは、バーチャルストリームがモーションマスクによりカバーされるかどうかを示し得る。ルールエンジンは、対応するバーチャルストリームを長期間格納層914と関連付ける、この情報を採用し得る。
図10は、データストリーム118が記録されるべきかどうかを判別し、記録されるべきであれば、データストリーム内のデータセグメントを格納媒体132内の対応する格納エリア若しくは層914と関連付ける、データ管理プログラムにより実行される方法900を示す。コントロールサーバ302内のプロセッサにより実行すると、データ管理プログラムは、ブロック920にて、前述のもののようなトリガイベントに対するインプットをモニタする。ブロック922にて、データ管理プログラムが、トリガイベントを示すインプットが発生したと判別すると、データ管理プログラムは、ブロック924にて、データストリーム118を分析し、ルールエンジン内のデータストリーム内にメタデータをインプットして、データストリーム118内のデータセグメントを特定の格納エリア若しくは層914と関連付ける。データセグメントが特定の格納エリアと関連付けられると、ブロック926にて、データセグメントは、関連付けられた格納層914に保存される。
図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と関連付ける。
図11は、二つの層136、140が個々のビデオソースデバイスのモザイクストリーム118内のバーチャルストリームと関連付けられるシナリオを示しているが、どんな個数の格納エリアが採用されてもよい。例えば、三つの格納層136、138、140は、図1に示すように指定され、中間解像度のバーチャルストリームBは、上記の例に記載する短期間格納層138の代わりに(図11に示さない)中間期間格納層138と関連づけされ得る。モザイクストリーム118内の種々のバーチャルストリームが短期間、中間期間、及び長期間格納層136、138、140に格納され得る、別途の実施形態が提示され得る。例えば、最大解像度のバーチャルストリームが長期間格納層に格納され、より低解像度のバーチャルストリームが短期間格納層に格納され得る。
図12は、格納媒体132がフルであるときに、又は、或る他の特定の最大限容量閾値を満たすときに、データ格納媒体132内のスペースを確保する、データ格納管理プログラムにより実行されるプロセス950を示す。図12を参照して、ブロック952にて、データ格納管理プログラムは、データ格納媒体132がフルであるか、若しくは、或る他の特定の閾値を有するか、を判別する。フルで無い若しくは有さないならば、ブロック952にて処理が継続し、データストリームは前述のように関連付けられた格納層内に保存される。しかしながら、ブロック952にて、データ格納管理プログラムが、特定の格納エリア(若しくは複数の特定の格納エリア)内に格納されるデータに対する閾値が到達された若しくは超えられた、と判別すれば、ブロック954にて、プログラムは、特定の最大限の保持期間を超えたビデオソースデバイスの任意のものからの任意のデータを、格納媒体132から削除する。ブロック956にて、プログラムは、データ格納媒体132がフルであるか、若しくは、或る他の特定の最大限容量閾値を満たすか、を再び判別する。フルで無い若しくは有さないならば、ブロック952にて処理が継続し、データストリームは格納媒体132上の関連付けられた格納層内に保存される。ブロック956にて格納エリア内のデータが閾値を超えれば、ブロック958にて処理が継続し、データが削除される。削除されるデータは、例えば、格納媒体132上の層136、140のうちの一つ内の、二番目に最も古いデータでよい。
例示の実施形態では、格納管理プログラムは、二つの層間の(又は、二つより多い層が特定されていれば、三つ若しくはそれ以上の層間の)特定の格納比率(層比率)を与えられ得る。比率は、二つ若しくはそれ以上の格納エリアの各々で格納されるデータの、相対的な量を定義する。比率を採用する例示の実施形態では、図12のブロック960にて、データ格納管理プログラムは、特定の比率を維持するように、他の格納層136、140からデータを削除する。例えば、最大限の保持期間を超えるデータの全てを削除した後に格納閾値が続いて超えていれば、プログラムは、例えば、層1にたまたま格納されている二番目に最も古いデータを削除してもよい。データを削除した結果、層比率がアンバランスとなるシナリオでは、プログラムは、特定の層比率が再び確立されるまで層2内に格納される最も古いデータの一部を削除する。
開示の実施形態の別の形態によると、最大限の保持期間は、長期間層及び短期間層136、140の各々に対して、特定され得る。例示のシナリオでは、長期間格納層の最大限の保持期間は、短期間格納層のものよりも、長くてもよい。データ格納管理プログラムは、各々の層の個別の最大限の保持期間よりも古いどのデータも削除するように構成されてもよい。全ての残余データが最大限の保持期間よりも新しく、且つ、格納媒体132がフルとなれば(若しくは、或る他の最大限容量閾値を超えれば)、データ格納管理プログラムは、層比率が再び均衡するまで、短期間格納層及び長期間格納層136、140の一つから最も古いコンテンツを削除し、短期間格納層及び長期間格納層136、140の他の一つから最も古いデータを削除するように、構成される。
以上のように、出願人は、ビデオソースからストリーム配信されるデータの格納を管理するシステム及び方法を開示した。開示の実施形態では、多重のエンコードされたビデオストリームを含むデータストリームが受信される。開示のシステムは、トリガイベントに応答して、データを分析し、複数の格納エリア若しくは層のどれに独立のエンコードされたビデオストリームの夫々が格納されるべきか判別する。格納エリアの夫々が指定されて、特定の特徴を有するデータを格納する。システムは、ビデオストリームの特徴に基づいて、エンコードされたビデオストリームの各々に対して、特定の格納エリアを選択する。システムは、所定の閾値に到達したときに格納エリア若しくは層からデータを削除するように適応される。閾値に到達すると、任意の適宜の計測基準を用いて削除のためのデータが選択される。例えば、最長期間格納されていたデータなどである。
前述にて、幾つかあるコンポーネントの中で、特にハードウエア上で実行されるソフトウエアを含む例示の方法及びシステムを開示しているが、それら方法及びシステムは例示に過ぎず、限定するものと考えるべきでは無い、ということに留意すべきである。例えば、これらのハードウエア及びソフトウエアコンポーネントの任意のもの若しくはすべては、もっぱらハードウエアで、もっぱらソフトウエアで、もっぱらファームウエアで、又は、ハードウエア、ソフトウエア、及び/若しくはファームウエアの任意の組み合わせで、具現化され得ると考えられる。例えば、ネットワークサーバコンポーネントは、もっぱらビデオソースデバイスで提供され得る。その場合、クライアントは、デバイスと調節的に相互作用し得、ビデオソースデバイスは、その搭載格納をこのように管理する。従って、以下にて例示の方法及び装置を記載するが、示される例はそれら方法及び装置を実装する唯一のものではない、ということを当業者であれば即座に理解するであろう。例えば、プロセッサ及びマイクロプロセッサ、特定用途向け集積回路(ASIC)、又は他のハードウエアコンポーネントを含む、コンピュータハードウエアの一つ若しくはそれ以上の部品で、方法は実装され得る。
一つ若しくはそれ以上の実施形態に関して、本開示は種々のシステム及び方法を記載した。しかしながら、多数の変更及び修正が本開示の教示内容から乖離すること無く為され得る、ということが当業者には明白であろう。例えば、図面及び本明細書はカメラ118/ビデオソースデバイス316及びコントロールサーバ102に別々に言及するが、ある実施形態では、両方に記載するシステムからの機能部は単独のシステムに存在し得る。例えば、ビデオソースデバイス316は、カメラ及び画像収集に関連して本明細書に記載した機能部の全てを、加えて、コントロールサーバ102に関連して本明細書に記載した機能部を、提供するカメラシステムであってもよい。そのような実施形態では、カメラシステムは、他のカメラシステムをコントロールして他のカメラシステムと通信し得るサーバとして、動作し得る。
構造上の特性及び/又は方法上の行為に特有の表現で本発明を記載したが、当然ながら、添付の特許請求の範囲に規定される本発明は前述の特定の特性若しくは行為に必ずしも限定されない。寧ろ、前述の特定の特性若しくは行為は、特許請求の範囲を実装する例示の形式として開示されている。
100・・・システム、102・・・コントロールサーバ、104・・・サーバ−デバイスVSマネジャ、106・・・バーチャルストリームマネジャ、108・・・格納管理機能部、110・・・IPカメラ、112・・・カメラ、114・・・エンコーダ、116・・・ネットワーク、132・・・データ格納媒体、144・・・ネットワーク。

Claims (34)

  1. データを管理するコンピュータ実装方法であって、
    コンピュータシステムが、第1のカテゴリのデータを格納する第1の格納エリアと第2のカテゴリのデータを格納する第2の格納エリアとを、少なくとも特定するステップと、
    コンピュータシステムが、複数のデータストリームを受信するステップと、
    コンピュータシステムが、受信した複数のデータストリームからの一つ若しくはそれ以上のデータストリームを第1の格納エリアと関連付け、受信した複数のデータストリームからの一つ若しくはそれ以上のデータストリームを第2の格納エリアと関連付けるステップと、
    コンピュータシステムが、第1の格納エリアと関連付けされた一つ若しくはそれ以上のデータストリームに対するデータを第1の格納エリア内に格納し、第2の格納エリアと関連付けされた一つ若しくはそれ以上のデータストリームに対するデータを第2の格納エリア内に格納するステップと、
    コンピュータシステムが、第1の格納エリアと第2の格納エリアとの、少なくとも一つの内に格納されるデータが閾値を超えるか判別するステップと、及び、
    閾値を超えればデータを削除するステップと
    を含む、コンピュータ実装方法。
  2. 閾値を超えればデータを削除するステップが、一つ若しくはそれ以上の特定の最大限の保持期間を超える期間を有するデータを削除するステップを、含む、請求項1に記載のコンピュータ実装方法。
  3. 更に、第1の格納エリア内と第2の格納エリア内とに格納されるデータの相対的量を特定する比率を特定するステップを含み、
    閾値を超えればデータを削除するステップが、前記比率が維持されるように、第1の格納エリアと第2の格納エリアの、一方若しくは両方からデータを削除するステップを含む、
    請求項1に記載のコンピュータ実装方法。
  4. 第1の格納エリアは、長期間の最大限の保持期間を有する長期間格納エリアであり、第2の格納エリアは、前記長期間の最大限の保持期間より短い短期間の最大限の保持期間を有する短期間格納エリアである、請求項3に記載のコンピュータ実装方法。
  5. 複数のデータストリームを受信するステップが、第1の関心領域をキャプチャする第1のバーチャルストリームを受信し第2の関心領域をキャプチャする第2のバーチャルストリームを受信するステップを含み、
    一つ若しくはそれ以上のデータストリームを第1の格納エリアと関連付け、一つ若しくはそれ以上のデータストリームを第2の格納エリアと関連付けるステップが、第1のバーチャルストリームを第1の格納エリアと関連付け、第2のバーチャルストリームを第2の格納エリアと関連付けるステップを含む、
    請求項4に記載のコンピュータ実装方法。
  6. 第1の関心領域をキャプチャする第1のバーチャルストリームを受信することが、第1の視野をキャプチャする第1のバーチャルストリームを受信することを含み、
    第2の関心領域をキャプチャする第2のバーチャルストリームを受信することが、第2の視野をキャプチャする第2のバーチャルストリームを受信することを含み、
    第2の視野は、第1の視野とは異なる、
    請求項5に記載のコンピュータ実装方法。
  7. 第1の視野が、より大きい視野の中央部分を含み、
    第2の視野が、前記より大きい視野の中央で無い部分を含む、
    請求項6に記載のコンピュータ実装方法。
  8. データを管理するシステムにおいて、
    コンピュータプロセッサと、
    前記コンピュータプロセッサと通信上結合するコンピュータメモリであって、実行時に前記システムに動作を実行させるコンピュータ実行可能命令を内部に格納する、コンピュータメモリと
    を含み、
    前記動作は、
    複数のデータストリームを受信するステップと、
    記録のために前記複数のデータストリーム内の第1のデータストリームと第2のデータストリームを特定するステップと、
    第1のデータストリームを第1の格納部に関連付けて第2のデータストリームを第2の格納部に関連付けるステップであって、第1の格納部と第2の格納部は異なるカテゴリのデータを格納するために割り当てられている、関連付けるステップと、
    第1のデータストリームからのデータを第1の格納部内に格納するステップと、及び、
    第2のデータストリームからのデータを第2の格納部内に格納するステップと
    を含む、システム。
  9. 前記複数のデータストリーム内の第1のデータストリームと第2のデータストリームを特定するステップが、トリガイベントを検出するステップを含む、請求項8に記載のシステム。
  10. トリガイベントを検出するステップが、あるデータストリームが記録されるべきであることを示すユーザ定義スケジュールを検出するステップを含む、請求項9に記載のシステム。
  11. トリガイベントを検出するステップが、分析基準が満たされたことを検出するステップを含む、請求項9に記載のシステム。
  12. 分析基準が満たされたことを検出するステップが、ビデオストリームの分析によりイベントが発生したことを判別するステップを含む、請求項11に記載のシステム。
  13. ビデオストリームの分析によりイベントが発生したことを判別するステップが、ビデオストリームの分析によりモーションが視野内に生じたことを判別するステップを含む、請求項12に記載のシステム。
  14. 分析基準が満たされたことを検出するステップが、ビデオストリームと関連付けられるメタデータの分析によりイベントが発生したことを判別するステップを含む、請求項11に記載のシステム。
  15. ビデオストリームと関連付けられるメタデータの分析によりイベントが発生したことを判別するステップが、ビデオストリームの従前の分析からの結果を記録したメタデータをレビューするステップを含む、請求項14に記載のシステム。
  16. トリガイベントを検出するステップが、ユーザ定義ルールが満たされたことを検出するステップを含む、請求項9に記載のシステム。
  17. 第1のデータストリームを第1の格納部に関連付けて第2のデータストリームを第2の格納部に関連付けるステップであって、第1の格納部と第2の格納部は異なるカテゴリのデータを格納するために割り当てられている、関連付けるステップが、短期間格納のために指定された第1の格納部に第1のデータストリームを割り当て、長期間格納のために指定された第2の格納部に第2のデータストリームを割り当てるステップを含む、請求項8に記載のシステム。
  18. 前記コンピュータメモリは、実行時に前記システムに更に、
    第1の格納部と第2の格納部の少なくとも一つと関連付けられる閾値が満たされたかどうか判別するステップと、
    第1の格納部と第2の格納部の少なくとも一つからデータを削除するステップと
    を含む動作を、実行させるコンピュータ実行可能命令を内部に格納する、請求項8に記載のシステム。
  19. データを管理するコンピュータ実装方法において、
    コンピュータシステムが、データストリームを受信するステップであって、データストリームは、ソースストリームの第1のエンコーディング、ソースストリームの第2のエンコーディング、及びソースストリームの第3のエンコーディングを含む、データストリームを受信するステップと、
    コンピュータシステムが、データストリームを記録することを示すトリガイベントを検出するステップと、
    コンピュータシステムが、データストリームから第1のエンコーディング、第2のエンコーディング、及び第3のエンコーディングを特定するステップと、並びに、
    コンピュータシステムが、第1のエンコーディング、第2のエンコーディング、及び第3のエンコーディングの各々を、少なくとも第1の格納部と第2の格納部との少なくとも一つと関連付けるステップであって、第1の格納部と第2の格納部は異なるカテゴリのデータを受信するように指定されている、関連付けるステップと
    を含む、コンピュータ実装方法。
  20. 第1のエンコーディングが複数のバーチャルストリームを含み、第2のエンコーディングが単独のバーチャルストリームを含み、及び、第3のエンコーディングが第2の単独のバーチャルストリームを含み、並びに、
    第1のエンコーディング、第2のエンコーディング、及び第3のエンコーディングの各々を、少なくとも第1の格納部と第2の格納部との少なくとも一つと関連付けるステップが、
    第1のエンコーディング内に含まれる複数のバーチャルストリームのサブセットを第1の格納部と関連付け、該サブセット以外の複数のバーチャルストリームを第2の格納部と関連付けるステップと、
    第2のエンコーディング内に含まれるバーチャルストリームを第2の格納部と関連付けるステップと、及び、
    第3のエンコーディング内に含まれる第2のバーチャルストリームを第3の格納部と関連付けるステップとを含む、
    請求項19に記載のコンピュータ実装方法。
  21. 前記第1のエンコーディングに含まれる前記複数のバーチャルストリームが、グリッドを形成する複数のバーチャルストリームを含み、
    前記複数のバーチャルストリームのサブセットを第1の格納部と関連付けるステップが、グリッド内の中央に位置する複数のバーチャルストリームの一つ若しくはそれ以上を第1の格納部と関連付けるステップを含む、
    請求項20に記載のコンピュータ実装方法。
  22. 第1のエンコーディングは、第2のエンコーディング及び第3のエンコーディングの解像度と対比して、高解像度エンコーディングであり、
    第2のエンコーディングは、第1のエンコーディング及び第3のエンコーディングの解像度と対比して、低解像度エンコーディングである、
    請求項21に記載のコンピュータ実装方法。
  23. 第1のエンコーディング、第2のエンコーディング、及び第3のエンコーディングの各々を、少なくとも第1の格納部と第2の格納部との少なくとも一つと関連付けるステップが、第1のエンコーディングを第1の格納部と、第2のエンコーディングを第2の格納部と、及び第3のエンコーディングを第3の格納部と、関連付けるステップを含む、
    請求項19に記載のコンピュータ実装方法。
  24. 第1のエンコーディングを第1の格納部と関連付けることが、第1のエンコーディングを長期間格納部と関連付けることを含み、
    第2のエンコーディングを第2の格納部と関連付けることが、第2のエンコーディングを中間期間格納部と関連付けることを含み、
    第3のエンコーディングを第3の格納部と関連付けることが、第3のエンコーディングを短期間格納部と関連付けることを含む、
    請求項23に記載のコンピュータ実装方法。
  25. 更に、
    第1の格納部内のデータが閾値を超えることを検出するステップと、
    削除のための、第1の格納部内のデータを特定するステップであって、特定されるデータは、定義された保持期間よりも長く第1の格納部内に格納されたデータである、請求項19に記載に記載のコンピュータ実装方法。
  26. データを管理するコンピュータ実装方法において、
    コンピュータシステムが、データストリームを受信するステップと、
    コンピュータシステムが、データストリームを格納するための第1の格納部を特定するステップと、
    コンピュータシステムが、特定された第1の格納部内で閾値が超えられたかどうかを判別するステップと、
    コンピュータシステムが、閾値が超えられていないと判別すると、受信されたデータストリームと関連付けられたデータを第1の格納部内に格納するステップと、
    コンピュータシステムが、特定された第1の格納部内で閾値が超えられたと判別すると、
    第1の格納部から削除のための第1のデータを特定するステップと、
    特定された削除のための第1のデータを削除するステップと、
    特定された第1のデータを削除した後に、閾値が超えられているかどうか特定するステップと、
    特定された第1のデータを削除した後に閾値が超えられていないと判別すると、受信されたデータストリームと関連付けられたデータを第1の格納部内に格納するステップと、
    特定された第1のデータを削除した後に閾値が超えられたと判別すると、第1の格納部から削除のための第2のデータを特定するステップと、
    を含む、コンピュータ実装方法。
  27. 更に、
    コンピュータシステムが、第1の格納部と第2の格納部とに格納されるデータのターゲット比率が満たされているかどうかを判別するステップと、
    コンピュータシステムが、ターゲット比率が満たされていないと判別すると、ターゲット比率を満たすのに十分なように、第2の格納部からデータを削除するステップと
    を含む、請求項26に記載に記載のコンピュータ実装方法。
  28. ターゲット比率を満たすのに十分なように、第2の格納部からデータを削除するステップが、長期間第2の格納部内に格納されたデータを第2の格納部から削除するステップと含む、請求項27に記載に記載のコンピュータ実装方法。
  29. 長期間第2の格納部内に格納されたデータを第2の格納部から削除するステップが、ターゲット比率が満たされるまで長期間格納されたデータを削除し続けるステップを含む、請求項28に記載に記載のコンピュータ実装方法。
  30. ターゲット比率を満たすのに十分なように、第2の格納部からデータを削除するステップが、定義された保持期間を超える期間第2の格納部内に格納されたデータを第2の格納部から削除するステップを含む、請求項28に記載に記載のコンピュータ実装方法。
  31. コントロールシステムにおいて、
    ネットワークに亘って複数のコンテナフレームを受信するように適応されたレシーバであって、個々のコンテナフレームは、複数のバーチャルフレームと、前記複数のバーチャルフレームの各々に適用可能であるコンテナタイムスタンプとを含み、前記複数のバーチャルフレームの各々は少なくとも一つの異なるエンコーディングパラメータを用いてソースフレームからエンコードされる、レシーバと、
    個々のコンテナフレーム内部の受信された複数のバーチャルフレームの各々をエンコーディングと関連付け、関連付けられたバーチャルフレームのバーチャルストリームをコンテナタイムスタンプに従って再構成するように適応されたプロセッサと、
    ネットワークに亘ってバーチャルストリームを送信するように適応されたトランスミッタと
    を含む、コントロールシステム。
  32. 個々のコンテナフレームは、前記複数のバーチャルフレームを記述する記述子を含み、
    プロセッサは更に、記述子をバーチャルストリームと関連付けるように適応されている、
    請求項31に記載のコントロールシステム。
  33. 記述子は、エンコードされているソースビデオのエリアの表示を含む、
    請求項32に記載のコントロールシステム。
  34. トランスミッタは更に、バーチャルストリームに対するリクエストを受信すると、バーチャルストリームを送信するように適応されており、該リクエストは記述子を含む、請求項33に記載のコントロールシステム。
JP2018172525A 2014-01-15 2018-09-14 ビデオソースデバイスからストリーム配信されるデータの格納管理 Active JP6753902B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201461927923P 2014-01-15 2014-01-15
US61/927,923 2014-01-15
US14/568,077 2014-12-11
US14/568,077 US9489387B2 (en) 2014-01-15 2014-12-11 Storage management of data streamed from a video source device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016546933A Division JP2017509204A (ja) 2014-01-15 2014-12-19 ビデオソースデバイスからストリーム配信されるデータの格納管理

Publications (2)

Publication Number Publication Date
JP2019033494A true JP2019033494A (ja) 2019-02-28
JP6753902B2 JP6753902B2 (ja) 2020-09-09

Family

ID=53521549

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016546933A Pending JP2017509204A (ja) 2014-01-15 2014-12-19 ビデオソースデバイスからストリーム配信されるデータの格納管理
JP2018172525A Active JP6753902B2 (ja) 2014-01-15 2018-09-14 ビデオソースデバイスからストリーム配信されるデータの格納管理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016546933A Pending JP2017509204A (ja) 2014-01-15 2014-12-19 ビデオソースデバイスからストリーム配信されるデータの格納管理

Country Status (12)

Country Link
US (2) US9489387B2 (ja)
EP (1) EP3095100A4 (ja)
JP (2) JP2017509204A (ja)
KR (1) KR102249005B1 (ja)
CN (1) CN106104651B (ja)
AU (1) AU2014377545B2 (ja)
CA (1) CA2936217C (ja)
IL (1) IL246553B (ja)
MX (1) MX357672B (ja)
SG (1) SG11201605770WA (ja)
WO (1) WO2015108671A2 (ja)
ZA (1) ZA201605604B (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10567765B2 (en) 2014-01-15 2020-02-18 Avigilon Corporation Streaming multiple encodings with virtual stream identifiers
US10819943B2 (en) * 2015-05-07 2020-10-27 Magna Electronics Inc. Vehicle vision system with incident recording function
US10176182B2 (en) * 2015-08-31 2019-01-08 International Business Machines Corporation File deletion in storage devices based on the deletion priority rules
US20170230612A1 (en) * 2016-02-04 2017-08-10 Shane Ray Thielen Adaptive resolution encoding for streaming data
JP6686541B2 (ja) 2016-03-04 2020-04-22 日本電気株式会社 情報処理システム
CN107850991B (zh) * 2016-04-05 2021-11-30 韩华泰科株式会社 管理显示器的设备和方法
US11388455B2 (en) * 2016-06-02 2022-07-12 Multimo, Llc Method and apparatus for morphing multiple video streams into single video stream
WO2018222974A1 (en) * 2017-06-01 2018-12-06 Comet Technologies, Llc Method and apparatus for morphing multiple video streams into single video stream
CN109792544A (zh) * 2016-06-02 2019-05-21 彗星科技有限责任公司 用于流传输全景视频的方法和装置
US10567460B2 (en) * 2016-06-09 2020-02-18 Apple Inc. Managing data using a time-based directory structure
CN107967117B (zh) 2016-10-20 2020-10-20 杭州海康威视数字技术股份有限公司 一种数据存储、读取、清理方法、装置及云存储系统
US10095933B2 (en) * 2016-12-05 2018-10-09 Google Llc Systems and methods for locating image data for selected regions of interest
KR101763394B1 (ko) * 2017-04-24 2017-07-31 주식회사 모비젠 스트리밍 데이터 고속처리시스템을 모니터링하는 모니터링장치 및 그 방법
WO2019054360A1 (ja) * 2017-09-12 2019-03-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像表示方法、画像配信方法、画像表示装置及び画像配信装置
CN107635125A (zh) * 2017-10-20 2018-01-26 莲花丝路科技有限公司 应用于多种通信协议的三维视频的播放方法
US10579445B2 (en) * 2018-04-06 2020-03-03 Salesforce.Com, Inc. Dynamic routing of events to destinations
CN108650460B (zh) * 2018-05-10 2021-03-30 深圳视点创新科技有限公司 服务器、全景视频的存储和传输方法和计算机存储介质
US20200014740A1 (en) * 2018-07-06 2020-01-09 Avigilon Corporation Tile stream selection for mobile bandwith optimization
TWI680661B (zh) * 2018-07-20 2019-12-21 茂傑國際股份有限公司 加值遠端顯示服務的無線路由伺服裝置及方法
US11500822B2 (en) * 2019-04-15 2022-11-15 Microsoft Technology Licensing, Llc Virtualized append-only interface
US11507402B2 (en) * 2019-04-15 2022-11-22 Microsoft Technology Licensing, Llc Virtualized append-only storage device
KR102090308B1 (ko) 2019-10-16 2020-03-17 주식회사 스마트시티코리아 Gop 단위 기반의 영상 저장 시스템 및 방법
US11297218B1 (en) * 2019-10-25 2022-04-05 Genetec Inc. System and method for dispatching media streams for viewing and for video archiving
US11397534B2 (en) * 2020-07-29 2022-07-26 Netapp Inc. Data management across a persistent memory tier and a file system tier
US11509832B2 (en) 2020-12-01 2022-11-22 Western Digital Technologies, Inc. Low light surveillance system with dual video streams
KR102486980B1 (ko) * 2021-01-08 2023-01-11 주식회사 앤다스 블록 데이터 스토리지 시스템, 블록 데이터 스토리지 방법 및 기록 매체에 저장된 프로그램
US11496671B2 (en) 2021-02-19 2022-11-08 Western Digital Technologies, Inc. Surveillance video streams with embedded object data
CN112954249A (zh) * 2021-03-04 2021-06-11 联想(北京)有限公司 数据处理方法、装置、设备、介质及产品
US11895414B1 (en) * 2022-08-04 2024-02-06 Qualcomm Incorporated Virtual channel configuration session of a camera sensor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003153177A (ja) * 2001-11-08 2003-05-23 Mega Chips Corp 映像録画装置および映像録画方法
JP2004048636A (ja) * 2002-05-20 2004-02-12 Digital Network Appliance Inc 監視装置及び監視システム
JP2005217791A (ja) * 2004-01-29 2005-08-11 Hitachi Kokusai Electric Inc 画像表示方法及び画像表示装置並びに画像表示プログラム
JP2009296207A (ja) * 2008-06-04 2009-12-17 Toa Corp 監視映像記録システムおよび監視映像再生表示方法
WO2014007762A1 (en) * 2012-07-04 2014-01-09 Tan Seow Loong A method and system for automated monitoring of traffic

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664106A (en) 1993-06-04 1997-09-02 Digital Equipment Corporation Phase-space surface representation of server computer performance in a computer network
US5828788A (en) * 1995-06-29 1998-10-27 Thomson Multimedia, S.A. System for processing data in variable segments and with variable data resolution
US5920859A (en) * 1997-02-05 1999-07-06 Idd Enterprises, L.P. Hypertext document retrieval system and method
US6370198B1 (en) * 1997-04-07 2002-04-09 Kinya Washino Wide-band multi-format audio/video production system with frame-rate conversion
JPH1118072A (ja) * 1997-06-24 1999-01-22 Sony Corp 監視記録装置及び該監視記録装置を使用した記録方法
JP2000184320A (ja) * 1998-12-11 2000-06-30 Nec Corp 記録再生装置および電子番組ガイド表示装置
US6757896B1 (en) * 1999-01-29 2004-06-29 International Business Machines Corporation Method and apparatus for enabling partial replication of object stores
US6430562B1 (en) * 1999-03-01 2002-08-06 Electronic Data Systems Corporation Integrated resource management system and method
US6345281B1 (en) * 1999-03-01 2002-02-05 Electronic Data Systems Corporation Recovery method and system for a resource management system
ID29908A (id) * 2000-04-11 2001-10-25 Sony Corp Peranti transmisi data, peranti penerima data, metode pentransmisi data, metode penerima data, peranti perekam, peranti pemutar ulang, metode perekam dan metode pemutaran ulang
US6885395B1 (en) * 2000-05-26 2005-04-26 Eastman Kodak Company Selectively adjusting the resolution levels or the quality levels of digital images stored in a digital camera memory
FI120125B (fi) 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
US7272657B2 (en) 2001-07-30 2007-09-18 Digeo, Inc. System and method for displaying video streams ranked by user-specified criteria
JP2003259316A (ja) * 2002-02-28 2003-09-12 Toshiba Corp ストリーム処理システムおよびストリーム処理プログラム
JP4725104B2 (ja) 2002-06-20 2011-07-13 ソニー株式会社 復号装置及び復号方法
US7529471B2 (en) 2002-06-25 2009-05-05 International Business Machines Corporation Personal video recording with storage space loans
US6944612B2 (en) * 2002-11-13 2005-09-13 Xerox Corporation Structured contextual clustering method and system in a federated search engine
US6791603B2 (en) * 2002-12-03 2004-09-14 Sensormatic Electronics Corporation Event driven video tracking system
EP1618478A4 (en) * 2003-03-13 2007-10-03 Drm Technologies L L C CONTINUOUSLY CONTINUOUS CONTAINER
US7016409B2 (en) 2003-11-12 2006-03-21 Sony Corporation Apparatus and method for use in providing dynamic bit rate encoding
US7302159B2 (en) 2004-11-12 2007-11-27 Pelco Apparatus and method of storing video data
WO2007009239A1 (en) 2005-07-19 2007-01-25 March Networks Corporation Hierarchical data storage
TWI375469B (en) 2006-08-25 2012-10-21 Lg Electronics Inc A method and apparatus for decoding/encoding a video signal
US8515912B2 (en) * 2010-07-15 2013-08-20 Palantir Technologies, Inc. Sharing and deconflicting data changes in a multimaster database system
US8270469B2 (en) * 2006-12-15 2012-09-18 Precoad Inc. Encoding video at multiple resolution levels
US9069853B2 (en) * 2007-03-30 2015-06-30 Innography, Inc. System and method of goal-oriented searching
US8013738B2 (en) * 2007-10-04 2011-09-06 Kd Secure, Llc Hierarchical storage manager (HSM) for intelligent storage of large volumes of data
CA2659698C (en) * 2008-03-21 2020-06-16 Dressbot Inc. System and method for collaborative shopping, business and entertainment
JP5368547B2 (ja) * 2008-04-05 2013-12-18 ソーシャル・コミュニケーションズ・カンパニー 共有仮想エリアコミュニケーション環境ベースの装置および方法
US8831090B2 (en) * 2008-11-18 2014-09-09 Avigilon Corporation Method, system and apparatus for image capture, analysis and transmission
KR101531191B1 (ko) * 2008-11-24 2015-06-25 엘지전자 주식회사 카메라 영상 녹화 기기와 동영상 데이터 파일 삭제 방법
US8380790B2 (en) * 2008-12-15 2013-02-19 Microsoft Corporation Video conference rate matching
JP5137856B2 (ja) * 2009-01-08 2013-02-06 三菱電機株式会社 映像監視システム、映像情報配信装置およびクライアント装置
US20100269147A1 (en) 2009-04-15 2010-10-21 Echostar Technologies Llc Video stream index generation at a video content transmitter
US8171216B2 (en) * 2009-05-29 2012-05-01 Dell Products, Lp System and method for managing devices in an information handling system
US8180914B2 (en) 2009-07-17 2012-05-15 Sap Ag Deleting data stream overload
EP2316705B1 (en) * 2009-10-28 2012-06-20 Honda Research Institute Europe GmbH Behavior-based learning of visual characteristics from real-world traffic scenes for driver assistance systems
CN102148958B (zh) * 2010-02-08 2016-04-20 北京中星微电子有限公司 一种在模拟视频数据中嵌入监控附加信息的方法及系统
KR101077777B1 (ko) * 2010-04-26 2011-10-28 주식회사 프로브 네트워크 카메라 시스템, 그의 영상 데이터 처리 방법 및 그의 운용 방법
US8837900B2 (en) * 2010-05-11 2014-09-16 Cisco Technology, Inc. Unintended video recording detection in a video recording device
WO2012003504A2 (en) * 2010-07-02 2012-01-05 Air Computing, Inc. A system and method for cloud file management
JP5765920B2 (ja) * 2010-11-16 2015-08-19 キヤノン株式会社 送信装置および送信方法
IT1403450B1 (it) * 2011-01-19 2013-10-17 Sisvel S P A Flusso video costituito da frame video combinati, e procedimento e dispositivi per la sua generazione, trasmissione, ricezione e riproduzione
CN102394088B (zh) * 2011-06-28 2015-01-07 上海盈方微电子股份有限公司 一种多媒体数据源读取的方法
US9591318B2 (en) * 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
KR101171283B1 (ko) * 2011-12-23 2012-08-06 디비시스(주) 대용량, 고속으로 저장이 가능한 디브이알의 이벤트저장방법
KR101209515B1 (ko) * 2012-09-04 2012-12-07 엠엠피씨 주식회사 고해상도 네트워크 카메라용 멀티채널 임베디드 감시 시스템
KR101339363B1 (ko) * 2012-09-24 2013-12-09 주식회사 세종아이씨티 물리적 이중화 망분리 보안이 강화된 방범 감시카메라 감시장치
CN102968902A (zh) * 2012-12-11 2013-03-13 苏州群凯信息系统有限公司 一种载运工具视频监控与录像系统
US9417999B2 (en) * 2012-12-17 2016-08-16 International Business Machines Corporation Write peformance in solid state storage by recognizing copy source to target operations and only storing updates instead of entire block
US9524520B2 (en) * 2013-04-30 2016-12-20 Wal-Mart Stores, Inc. Training a classification model to predict categories
US9183074B2 (en) * 2013-06-21 2015-11-10 Dell Products, Lp Integration process management console with error resolution interface
US9329792B2 (en) * 2014-01-14 2016-05-03 International Business Machines Corporation Storage thin provisioning and space reclamation
US9454333B2 (en) * 2014-10-27 2016-09-27 International Business Machines Corporation Parity logs for RAID systems with variable capacity media
US9959054B1 (en) * 2015-12-30 2018-05-01 EMC IP Holding Company LLC Log cleaning and tiering in a log-based data storage system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003153177A (ja) * 2001-11-08 2003-05-23 Mega Chips Corp 映像録画装置および映像録画方法
JP2004048636A (ja) * 2002-05-20 2004-02-12 Digital Network Appliance Inc 監視装置及び監視システム
JP2005217791A (ja) * 2004-01-29 2005-08-11 Hitachi Kokusai Electric Inc 画像表示方法及び画像表示装置並びに画像表示プログラム
JP2009296207A (ja) * 2008-06-04 2009-12-17 Toa Corp 監視映像記録システムおよび監視映像再生表示方法
WO2014007762A1 (en) * 2012-07-04 2014-01-09 Tan Seow Loong A method and system for automated monitoring of traffic

Also Published As

Publication number Publication date
US9489387B2 (en) 2016-11-08
JP6753902B2 (ja) 2020-09-09
JP2017509204A (ja) 2017-03-30
CN106104651B (zh) 2019-03-08
SG11201605770WA (en) 2016-08-30
MX2016009247A (es) 2017-03-06
CN106104651A (zh) 2016-11-09
AU2014377545B2 (en) 2019-12-12
CA2936217A1 (en) 2015-07-23
KR102249005B1 (ko) 2021-05-07
IL246553B (en) 2020-02-27
US20170034572A1 (en) 2017-02-02
US11197057B2 (en) 2021-12-07
AU2014377545A1 (en) 2016-07-21
WO2015108671A3 (en) 2015-11-12
EP3095100A4 (en) 2017-08-30
KR20160111023A (ko) 2016-09-23
MX357672B (es) 2018-07-18
ZA201605604B (en) 2019-10-30
US20150199366A1 (en) 2015-07-16
EP3095100A2 (en) 2016-11-23
CA2936217C (en) 2023-01-10
IL246553A0 (en) 2016-08-31
WO2015108671A2 (en) 2015-07-23

Similar Documents

Publication Publication Date Title
JP6753902B2 (ja) ビデオソースデバイスからストリーム配信されるデータの格納管理
KR102324326B1 (ko) 상이한 인코딩 파라미터를 이용해 인코딩되는 복수의 인코딩 스트리밍
CA2656826C (en) Embedded appliance for multimedia capture
US20150208103A1 (en) System and Method for Enabling User Control of Live Video Stream(s)
US20150215583A1 (en) Cloud Video Surveillance
JP2015170874A (ja) 映像解析装置、監視装置、監視システムおよび映像解析方法
CN108965883A (zh) 使用虚拟帧内帧对视频内容进行编码的系统和方法
US20130084053A1 (en) System to merge multiple recorded video timelines
US10033930B2 (en) Method of reducing a video file size for surveillance
CN113938640A (zh) 分布式监视系统中的摄像头的选择性使用
US11495102B2 (en) Devices, systems, and methods for remote video retrieval
JP2003244683A (ja) 遠隔監視システム及びプログラム
EP3276967A1 (en) Systems and methods for adjusting the frame rate of transmitted video based on the level of motion in the video
KR101581835B1 (ko) 서브 관리형 영상 촬영 장치
CA2914803C (en) Embedded appliance for multimedia capture
JP2008148347A (ja) 画像蓄積配信システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181012

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190820

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20191021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200706

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200721

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200820

R150 Certificate of patent or registration of utility model

Ref document number: 6753902

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250