JP4612906B2 - シーケンスを送信する方法、装置、及びコンピュータ・プログラム - Google Patents
シーケンスを送信する方法、装置、及びコンピュータ・プログラム Download PDFInfo
- Publication number
- JP4612906B2 JP4612906B2 JP2006525576A JP2006525576A JP4612906B2 JP 4612906 B2 JP4612906 B2 JP 4612906B2 JP 2006525576 A JP2006525576 A JP 2006525576A JP 2006525576 A JP2006525576 A JP 2006525576A JP 4612906 B2 JP4612906 B2 JP 4612906B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- camera
- processor
- event
- video
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 671
- 238000004590 computer program Methods 0.000 title claims description 5
- 238000003860 storage Methods 0.000 claims description 636
- 238000012546 transfer Methods 0.000 claims description 27
- 230000005540 biological transmission Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 description 623
- 239000000523 sample Substances 0.000 description 393
- 230000004044 response Effects 0.000 description 164
- 238000010586 diagram Methods 0.000 description 104
- 230000033001 locomotion Effects 0.000 description 100
- 230000009471 action Effects 0.000 description 71
- 230000008859 change Effects 0.000 description 57
- 238000001514 detection method Methods 0.000 description 57
- 238000007726 management method Methods 0.000 description 49
- 238000004891 communication Methods 0.000 description 45
- 238000012545 processing Methods 0.000 description 45
- 230000001960 triggered effect Effects 0.000 description 41
- 230000006870 function Effects 0.000 description 29
- 238000012544 monitoring process Methods 0.000 description 17
- 230000000694 effects Effects 0.000 description 15
- 238000012937 correction Methods 0.000 description 14
- 238000003825 pressing Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 238000010191 image analysis Methods 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 210000001072 colon Anatomy 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 244000070969 koal Species 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 210000003811 finger Anatomy 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000000779 smoke Substances 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000036962 time dependent Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 101150052583 CALM1 gene Proteins 0.000 description 1
- 101150114882 CALM2 gene Proteins 0.000 description 1
- 241001282110 Pagrus major Species 0.000 description 1
- 241001024096 Uleiota Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4143—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/34—Indicating arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25875—Management of end-user data involving end-user authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/27—Server based end-user applications
- H04N21/274—Storing end-user multimedia data in response to end-user request, e.g. network recorder
- H04N21/2747—Remote storage of video programs received via the downstream path, e.g. from the server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/4223—Cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42684—Client identification by a unique number or address, e.g. serial number, MAC address, socket ID
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
- H04N21/4314—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47214—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/475—End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
- H04N21/4753—End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for user identification, e.g. by entering a PIN or password
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Graphics (AREA)
- Marketing (AREA)
- Power Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Television Signal Processing For Recording (AREA)
- Closed-Circuit Television Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
「QuickTime File Format」
前記画像データ・サンプルのうちの第1のサンプルにアクセスすることと、
前記画像データ・サンプルのうちの第2のサンプルにアクセスすることと、
表示のため前記第1および第2の画像データ・サンプルを供給することとを含み、前記第1および第2の画像データ・サンプルが連続していない場合にさらに1つまたは複数のデータ・サンプルが供給され、前記他のデータ・サンプルは、画像データ・サンプルが前記第1の画像データ・サンプルと前記第2の画像データ・サンプルとの間で利用可能でないことを示す。
前記画像データ・サンプルのうちの第1のサンプルにアクセスするコードと、
前記画像データ・サンプルのうちの第2のサンプルにアクセスするコードと、
表示のため前記第1および第2の画像データ・サンプルを供給するコードとを備え、前記第1および第2の画像データ・サンプルが連続していない場合にさらに1つまたは複数のデータ・サンプルが供給され、前記他のデータ・サンプルは、画像データ・サンプルが前記第1の画像データ・サンプルと前記第2の画像データ・サンプルとの間で利用可能でないことを示す。
図1は、映像監視システム100を示す。システム100は、関連付けられたカメラ・サーバ109、110、および111を介して、インターネットまたはイントラネットなどのコンピュータ・ネットワーク2220に接続された、ビデオ・カメラ112、113、114、および115を備える。一部の実装では、ネットワーク2220は、ローカル・エリア・ネットワーク(LAN)とすることができる。さらに、一実装では、カメラ112〜115のうちの1つまたは複数を、カメラおよびカメラ・サーバとが単一ユニットになるように、関連付けられたカメラ・サーバ109〜111内に構成することができる。
それとは別に、サンプル・データは、図1からわかるように、ストレージ・サーバ2300から1つまたは複数のビューア2200A、2200B、2200C、および2200Dに、コンピュータ・ネットワーク2220を介して、アップロードすることができる。ビューア2200A〜2200Dは、これ以降、明示的に区別する場合を除き、ビューア2200と総称される。ビューア2200は、ビューア2200とともに構成されているディスプレイ・デバイス2214(図24を参照)を使用して、サンプル・データを処理し表示するためにユーザ側で使用することができる。
図2は、ストレージ・サーバ2300を詳しく説明している。ストレージ・サーバ2300は、記録エンジン201およびアクセス・エンジン203を備えるが、これらについて以下で詳しく説明する。記録エンジン201およびアクセス・エンジン203は、ハーグ・ディスク・ドライブ2310上に常駐し、プロセッサ2305による実行時に制御される、別々のソフトウェア・アプリケーションとして実装されるのが好ましい。それとは別に、記録エンジン201およびアクセス・エンジン203は、単一のソフトウェア・アプリケーションとして実装できるが、さらには、記録エンジン201およびアクセス・エンジン203の一方または両方をハードウェアで実装することも可能である。
3.1 記録エンジンのモジュール
記録エンジン201は、図3に示されているように、モジュール群300に分割することができる。モジュール300はそれぞれ、ハード・ディスク・ドライブ2310上に常駐する単一のソフトウェア・プログラムとしてまとめて、またプロセッサ2305により実行時に制御されるように実装されることが好ましい。それとは別に、モジュール300の1つまたは複数を、別のソフトウェア・プログラムとして実装することができる。
この節では、ストレージ・サーバ2300構成を伴うオペレーションの基礎である、ストレージ・サーバ構成オブジェクトについて説明する。
要素400の第1の要素は、図4に示されているように、ネットワーク・ビデオ・レコーダ(NVR)要素と呼ばれる。ネットワーク・ビデオ・レコーダ要素401は、ストレージ・サーバ2300に対応する、特定のストレージ・サーバ構成オブジェクトに格納されている、構成情報をカプセル化するものである。ネットワーク・ビデオ・レコーダ要素401は、特定のストレージ・サーバ構成オブジェクトの型と目的を示す、「type」属性402を含む。型要素は、以下のように6つの値のうちの1つに設定することができる。
ストレージ・サーバ構成オブジェクトのGENERAL要素405は、図5に示されている。GENERAL要素405は、図5に示されているように、ストレージ・サーバ2300の一般的構成を記述し、多数の他の要素501〜515を含む。
上述のように、EMAIL要素509は、記録エンジン201の電子メール通知システムにより使用される設定を指定する。図6に示されているように、EMAIL要素509は、子要素603〜613を含む。EMAIL要素509は、さらに、enabled属性601も含む。enabled属性601が0に設定された場合、電子メール通知システムは無効化され、すべての子要素を無視することができる。enabled属性601が非ゼロ値に設定された場合、電子メール通知システムは有効化される。
上述のように、LIMITER要素511は、いつビデオ・ファイルおよびイベント・ファイルがスワップされ、他の要素703および705を含むかを決定するために使用される基準を指定する。図7に示されているように、LIMITER要素511は、「bysize」属性701を含む。bysize属性701が非ゼロの場合、ビデオ・ファイルとイベント・ファイルがいつスワップされるかを決定するためにSIZE要素703の値が使用される。「bytime」属性702も、LIMITER要素511に含まれる。bytime属性702が非ゼロの場合、ビデオ・ファイルとイベント・ファイルがいつスワップされるかを決定するためにTIME要素705の値が使用される。
上述のように、それぞれのDRIVE要素515は、記録エンジン201により使用される、ストレージ・サーバ2300のストレージ・デバイス2309内に構成された、それぞれのドライブの状態を記述する。ストレージ・サーバ2300に利用可能なそれぞれのドライブに対応するDRIVE要素515が1つあるのが好ましい。これは、内部ストレージ・デバイス(例えば、ハブ・ディスク)、ストレージ・デバイス内のパーティション、周辺部ストレージ・デバイス、ネットワーク・アクセス可能ストレージ・デバイス、および他のストレージ・デバイスのそれぞれにマッピングされる論理ドライブを含むシステム100上に構成されたすべての論理ドライブを含む。図8に示されているように、このドライブ要素は、さらに2つの要素802および803を含む。DRIVE要素515は、ストレージ・デバイス2309の特定のドライブ(例えば、Windows(登録商標)システムでは、「C:1」は、第1のハード・ディスクを示す)にアクセスするためにプロセッサ2305により使用されるパスを示すpath属性801を含む。
上述のように、ストレージ・サーバ構成オブジェクトを形成するXMLドキュメントは、CAMSVR要素407を含む。CAMSVR要素407は、ストレージ・サーバ2300により制御される単一のカメラ・サーバ109〜111を記述する。図9に示されているように、CAMSVR要素407は、さらに要素901〜905を含む。CAMSVR要素407は、ストレージ・サーバ構成オブジェクトが関連付けられているカメラ・サーバ109〜111の専用の型を記述する、type属性907を含む。type属性907は、以下の専用の型値のうちの1つを含むことができる。
(ii)VB150、
(iii)VB−C10、
(iv)unknown−カメラ・サーバの型が上記の1つでない場合、またはカメラ・サーバ109〜111の型が他の何らかの理由により決定できない場合にのみ使用される。
PRESET要素904は、ストレージ・サーバ2300に関連付けられているカメラ・サーバ109〜111のカメラ112〜115に対しプリセットされている位置のうちの1つを記述する。図10からわかるように、PRESET要素904は、記述されるプリセットを指定し、1から8までの整数とすることができる、「id」属性1009を含む。PRESET要素904は、さらに、要素1001、1003、および1005も含む。
ストレージ・サーバ構成オブジェクトのCAMERA要素409は、システム100内の単一カメラ112〜115を記述する。図11に示されているように、CAMERA要素409は、多数の他の要素1101〜1115を含む。CAMERA要素409は、CAMERA要素409に関連付けられているカメラ112〜115に割り当てられた一意的なカメラ識別子を指定する、「id」属性1116を含む。type属性1118は、カメラ112〜115の型を指定する。type属性1118の値は、文字列であり、カメラ・サーバ109〜111により報告される特定のカメラ112〜1115の型を示す。
STATE要素1109は、特定のカメラ112〜115の現在状態を示すためにCAMERA要素409内に含めることができる。図12に示されているように、STATE要素1109は、多数の他の要素1201〜1209を含む。
(ii)disconnected、
(iii)idle、
(iv)starting、
(v)monitoring、
(vi)recording、
(vii)error。
SCHED要素1115は、曜日内の単一スケジュール・アイテムを記述する。図13に示されているように、SCHED要素1115は、多数の他の要素1301〜1307を含む。weekdays属性1309は、特定のスケジュール・アイテムが有効である曜日の集合を示す。weekdays属性1309は、記録エンジン201により使用されない。weekdays属性1309は、ビューア2200が複数の曜日に出現する同一スケジュール・アイテムを容易にグループ化できるように、ストレージ・サーバ構成ファイル205に格納され、ビューア2200に送信される。start 1311およびstop 1313属性は、スケジュール・アイテムが有効である期間を示し、それぞれの属性1311および1313は形式「hhmm」を取る。
図14は、BASE要素1301を示す。BASE要素1301は、特定のスケジュール期間の通常記録設定を記述する。図14に示されているように、BASE要素は、多数の他の要素1401〜1408を含む。
MOTION要素1303は、SCHED要素1115により定義された所定のスケジュール期間に使用される運動検出パラメータを示す。図15に示されているように、MOTION要素1303は、多数の他の要素1501〜1506を含む。enabled属性1507は、運動検出が有効化されるかどうかを制御する。enabled属性1507の値が0の場合、運動検出は無効化される。enabled属性1507の値が非0の場合、運動検出はアクティブ化される。engine属性1509は、運動検出が実行されるかどうかを制御する。engine属性1509は、以下のように2つの有効な値のうちの1つを取りうる。
図16は、SENSOR要素1305を示す。SENSOR要素1305は、親CAMERA要素409により記述された特定のカメラ・サーバ109〜111に関連付けられた特定のセンサにより使用される設定を示すために使用することができる。図16に示されているように、id属性1601は、特定のカメラ・サーバ109〜111上の特定のセンサに対応する識別子を示す。VB101およびVB150型カメラ・サーバでは、SENSOR要素1305は、値0または1に設定することができる。VB−C10型カメラ・サーバでは、SENSOR要素1305は0にすることができる。enabled属性1603は、関連付けられたセンサによるセンサ・ベースの記録が有効化されるかどうかを示す。
図17は、EVENT要素1506を示す。上述のように、EVENT要素1506は、特定のイベントが発生したときに記録エンジン201を制御する。図17に示されているように、EVENT要素1506は、多数の他の要素1701〜1707を含む。trigger属性1709は、非ゼロの値により、関連付けられているイベントがトリガされることを示す。つまり、対応するEVENT要素の内側の設定が、特定の時間について適用されるということである。
3.3.1 ストレージ・サーバ構成ファイル
ストレージ・サーバ構成ファイル205は、型「file」のストレージ・サーバ構成ファイル(SSCO)を含むデータ・ファイルである。ストレージ・サーバ構成ファイル205は、個々のストレージ・サーバ(例えば、ストレージ・サーバ2300A、2300B、2300C、および2300Dのうちの1つ)を稼働させるために必要な情報を含む。ストレージ・サーバ構成ファイル205は、記録エンジン201が実行を開始すると記録エンジン201により読み込まれる。ストレージ・サーバ構成ファイル205は、記録エンジン201の構成が管理者により変更される毎に書き換えられる。
ストレージ・サーバ・ユーザ・ファイルは、Webインターフェース213を介して記録エンジン201にアクセスできるユーザを定義し、また、ストレージ・サーバ構成ツール211を使用して修正することができるが、これについては以下で詳しく説明する。ストレージ・サーバ・ユーザ・ファイルは、一連のエントリを1行に1つずつ並べたテキスト・ファイルである。それぞれのエントリは、ユーザ名(ユーザを識別する)、レルム(つまり、ユーザが有効であるコンテクストを識別する文字列)、およびダイジェストからなる。使用されるレルムは、システム100に対し構成された値である(例えば、「COMPANYNAME」)。ダイジェストは、区切り文字として「:」(コロン)を使用してユーザ名、レルム、およびパスワードを連結し、その後、MD5アルゴリズムをこのデータに適用してハッシュを生成することにより生成される。
記録エンジン201により格納されるビデオおよびイベント・データは、一連のファイルに分配される。カメラ112〜115から受信されたすべてのビデオ・データは、ビデオ・ファイルに格納される。イベント・データは、カメラ・サーバ109〜111、ビューア2200、および内部ストレージ・サーバ2300イベントを含む様々なソースから収集することができる。イベント・データは、イベント・レコードの形で別のイベント・ファイルに格納される。イベント・データは、さらに、受信されたビデオ・フレームとともにビデオ・ファイル内に格納されている、テキスト・サンプル内に挿入することもできる。図93は、データが記録エンジンを通ってデータのソースからファイルへ流れる道筋を示している。
ビデオ監視および記録システムでは、標準またはデ・ファクト・スタンダードの形式を使用してビデオをファイルに記録しておくと、ユーザがストレージ・サーバ2300からビデオを抽出し、サードパーティ製プログラム(通常使用されるメディア・プレーヤーなど)を使用して再生または処理するのに便利であり、好都合である。また、状況によっては、異なる持続時間に関連付けられたさらに小さなチャンクでデータを保持すると都合がよい場合もある。こうした状況では、小さなチャンクを使用すると、ビデオ・サンプル・データの削除をきめ細かく簡単に制御することができ、またサードパーティ製ツールで格納されているデータに容易にアクセスすることができる。
カメラ・サーバ109〜111のそれぞれに対応するデータ・ファイル209は、そのカメラ・サーバ109〜111に対しファイルを格納するために選択されたドライブのサブディレクトリに格納される。例えば、データ・ファイル209は、ディレクトリ「drive:\Webview−NVR\videofiles」に格納することができるが、ただし、driveは、データ・ファイル209を格納するために選択されたドライブの文字で置き換えられる。所定の時刻に記録しているカメラ・サーバ109〜111はそれぞれ、特定のカメラ・サーバ109〜111に関連付けられているスタンバイ・ファイルの1つのペア(つまり、メディア・ファイル1800および関連付けられたインデックス・ファイル1805)を持つ。スタンバイ・ファイルは、以下のテンプレート(1)に従って名前を付けられる。
Standby(0|1)_cameraid_creationdate_creationtime_count.mov (1)
Standbyという単語の直後の文字は、0または1のいずれかに設定され、どのスタンバイ・ファイル(つまり、メディア・ファイル1800および関連付けられているインデックス・ファイル1805)が表されているかを示す。後述のように、カメラ・サーバ109〜111に従って2つのスタンバイ・ファイル(つまり、2つのメディア・ファイル1800と2つの関連付けられたインデックス・ファイル1805)がありうる。
INDEX_cameraid_startdate_starttime_enddate_endtime_count.mov (2)
前のように、テンプレート(2)のcameraidセクションは、特定のカメラ・サーバ109〜111が最初にシステム100に追加されたときに記録エンジン201により特定のカメラ・サーバ109〜111に与えられた特定のカメラ・サーバ109〜111の一意的な識別子を表す16文字からなる文字列である。cameraidセクションの値は、16進数形式で表され、小文字は値A〜Fを表す。
後述のように、インデックス・ファイル1805は、1つまたは複数のトラック1813および1815を含む。それぞれのトラックは、関連付けられたメディア・ファイル200への参照(例えば、参照1807)を含む。そのようなものとして、他の実装では、複数のトラック213を含むインデックス・ファイル205は、複数のメディア・ファイル(例えば、メディア・ファイル1800)をポイントすることができる。例えば、一方のメディア・ファイル(例えば、メディア・ファイル1800)がすべてのビデオ・サンプルを含み、他方のメディア・ファイル(図に示されていない)がそれらのビデオ・サンプルに関連付けられたすべてのイベント記述を含む場合には、関連付けられたインデックス・ファイル(例えば、ファイル1805)は、両方のメディア・ファイル1800をポイントすることができる。
インデックス・ファイル1805は、QuickTime(登録商標)ファイル形式に従って構成される。QuickTime(登録商標)ファイル形式は、アトムと呼ばれる特別なメモリ構造を使用してデータを格納する。アトムは、QuickTime(登録商標)ファイル形式により指定されたデータ・コンテナである。それぞれのアトムは、関連付けられているアトムに格納されるデータの種類を指定する関連付けられた型コードを持つ。上述のように、QuickTime(登録商標)ファイル形式、特にQuickTime(登録商標)アトムの詳細な説明は、アップル・コンピュータ社が公開している「QuickTime File Format」というタイトルの出版物にある。
メディア・ファイル1800の形式は順応性がある。それぞれの個別サンプル(例えば、1801)は、連続するバイトの1つの集合として格納される。以下の節では、説明されている配列によりサポートされる、メディア・ファイル1800の好ましい形式を説明する。しかし、当業者であれば、メディア・ファイル1800に対し任意の好適なファイル形式を使用できることは理解するであろう。
メディア・ファイル1800は、Microsoft AVI(登録商標)ファイル形式に従って構成される。AVI(登録商標)ファイル形式は、AVI(登録商標)メディア・プレーヤー・アプリケーションまたはAVI(登録商標)ファイル形式に従って構成されたファイルを読み込むことができる任意のメディア・プレーヤー・アプリケーションで使用されるファイル仕様である。このようなメディア・プレーヤー・アプリケーションは、ビデオ/オーディオ・シーケンスを取り込み、編集し、再生するために使用することができる。一般に、AVI(登録商標)ファイル形式に従って構成されたファイルは、異なる型のデータのサンプルを含む複数のデータ・ストリーム(つまり、サンプル)を含む。ほとんどのAVI(登録商標)シーケンスでは、オーディオとビデオの両方のストリームを使用する。そのようなAVI(登録商標)シーケンスの単純な変更形態では、ビデオ・データを使用し、オーディオ・ストリームを必要としない。メディア・ファイル1800は、AVI(登録商標)ファイル形式を読み込むことができるメディア・プレーヤー・ソフトウェア・アプリケーションにより再生可能である。
カメラ・サーバ109〜111により取り込まれたサンプル・データのそれぞれのビデオ・サンプルは、AVI(登録商標)メディア・ファイル1800内に別のサンプル(つまり、サンプル・チャンク)として挿入される、別のJPEGファイルとして構成されることが好ましい。
上述のように、QuickTime(登録商標)ファイル形式は、同じ名前のQuickTime(登録商標)メディア・プレーヤー・アプリケーションまたはQuickTime(登録商標)ファイル形式に従って構成されたファイルを読み込むことができる任意のメディア・プレーヤー・アプリケーションで使用されるファイル仕様である。QuickTime(登録商標)ファイル形式は、可変ビデオ・フレーム速度および解像度をサポートする。QuickTime(登録商標)ファイル形式の詳細な説明は、アップル・コンピュータ社が公開している「QuickTime File Format」というタイトルの出版物にある。「QuickTime File Format」という刊行物は、Webサイトhttp://developer.apple.com/techpubs/quicktime/qtdevdocs/PDF/QTFileFormat.pdf(2003年1月9日現在)にある。
それぞれのカメラ・サーバ109〜111に対応するイベント・ファイルは、ストレージ・デバイス2309内に構成され、そのカメラ・サーバ109〜111についてイベント・ファイルを格納するために選択されたドライブのサブディレクトリに格納される。例えば、イベント・ファイルは、ディレクトリ「drive:\Webview−NVR\eventfiles」に格納することができるが、ただし、driveは、イベント・ファイルを格納するために選択されたドライブの文字で置き換えられる。
テンプレート(3)のcameraidセクションは、特定のカメラ・サーバ109〜111が最初にシステム100に追加されたときに記録エンジン201により特定のカメラ109〜111に与えられた特定のカメラ・サーバ109〜111の一意的な識別子を表す16文字からなるデータ文字列である。テンプレート・セクション(3)のcameraidの値は、16進数形式で表され、小文字は値A〜Fを表す。
イベント・ファイル行(4)のdatetimeフィールドには、イベントが記録された日時を記述する。datetimeフィールドは、追加millisecondフィールドが挿入された、ANSI関数ctime()により生成される標準形式である。このような時刻の例は、Tue Aug 19 05:05:53.585 2003であり、日時は、常に、UTC形式で表される。
構成管理モジュール315は、ストレージ・サーバ構成ファイルの読み込みおよび書き込みを行い、またストレージ・サーバ構成ファイルを修正する場合に他のアプリケーションが記録エンジン201に信号を送れるようにするメカニズムを備える。
記録エンジン201のビデオ・ファイル管理モジュール317は、ストレージ・サーバ2300のストレージ・デバイス2309内に構成されているドライブ上に格納されたすべてのビデオ・ファイル(つまり、メディア・ファイル1800および関連付けられたインデックス・ファイル1805)を管理する。ビデオ・ファイル管理モジュール317は、必要に応じて新しいビデオ・ファイルを作成し、ビデオ・サンプル・データをそのビデオ・ファイルに書き込み、既存のビデオ・ファイルのサイズまたは持続時間が設定限界を超えた場合にスタンバイ・ファイルにスワッピングする役割を持つ。
ビデオ・ファイル管理モジュール317は、ビデオ・ファイル管理スレッドまたはサブルーチンを含む。ビデオ・ファイル管理スレッドは、ビデオ・ファイルを作成し、閉じる役割を持つ。作成および閉じるオペレーションは、比較的時間を食う場合があり、したがって、カメラ・サーバ109〜111から受信されたサンプル・データを処理する際の潜在的遅延を避けるためにメイン・スレッドよりも低い優先度の別のスレッド(つまり、実行コンテクスト)により実行される。
ビデオ・ファイル集合作成プロセス2100は、図21の流れ図を参照しつつ説明される。プロセス2100は、ビデオ・ファイル管理スレッドにより呼び出される。プロセス2100の目的は、それぞれ1つのメディア・ファイル1800と1つの関連付けられたインデックス・ファイル1805からなるスタンバイ・ファイルの集合を作成することである。プロセス2100は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
次に、ステップ2109のメディア・ファイル作成プロセス2400は、図24の流れ図を参照しつつ説明される。プロセス2400は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。プロセス2400は、プロセッサ2305が、ステップ2109でプロセッサ2305により供給されるメディア・ファイル・パス・パラメータにより指定された、ハード・ディスク・ドライブ2310内のメモリ・アドレスにメディア・ファイル1800を作成するステップ2401から始まる。次のステップ2403で、メディア・ファイル形式パラメータが、メディア・ファイル1800がAVI(登録商標)形式に従って構成されることを指定している場合、プロセス2400はステップ2405に進む。そうでない場合、プロセス2400は終了する。
次に、インデックス・ファイル1805を作成するプロセス2500を、図25の流れ図を参照しつつ説明する。プロセス2500は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。プロセス2500は、プロセッサ2305が、ステップ2111でプロセッサ2305により供給されるメディア・ファイル・パス・パラメータにより指定された、ハード・ディスク・ドライブ2310内のメモリ・アドレスにインデックス・ファイル1805を作成するステップ2501から始まる。その後、次のステップ2503で、プロセッサ2305は、インデックス・ファイル1805のムービー・ヘッダ・アトムを初期化する。
図26は、ビデオ・ファイル・ペア(つまり、メディア・ファイル1800および関連付けられたインデックス・ファイル1805)を閉じるプロセス2600を示す流れ図である。ビデオ・ファイル・ペア・クローズ・プロセス2600は、ビデオ・ファイル管理スレッドにより呼び出される。プロセス2600の目的は、ファイルのアクティブな(開いている)ペアを受け取って、ファイルを閉じ、ファイルの名前を適切なファイル名に変更することである。プロセス2600は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
ステップ2607および2609で実行されるプロセス2700について、図27の流れ図を参照しつつ説明する。プロセス2700は、メディア・ファイル1800が破損しておらず、再生可能であることを角にするために必要なクリーンアップ・タスクを実行し、その後、メディア・ファイル1800を閉じる。プロセス2700は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
次に、ステップ2613および2623で実行されるインデックス・ファイル完成プロセス2800について、図28の流れ図を参照しつつ説明する。プロセス2800は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
図29は、サンプルをメディア・ファイル1800に書き込むプロセス2900を示す流れ図である。プロセス2900は、メモリ2306内に構成されているフレーム・バッファから単一のビデオ・データ・サンプルを表すサンプルを取り出し、そのサンプルがメディア・ファイル1800に書き込まれるようにする。その後、関連付けられたインデックス・ファイル1805は、新しく書き込まれたサンプルを参照するように更新される。プロセス2900は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
次に、ビデオ・ファイル・リミットをチェックするプロセス3000について、図30を参照しつつ説明する。プロセス3000は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。プロセス3000は、カメラ・サーバ109〜111(つまり、現在アクティブな、または開いているメディア・ファイル1800)に対するアクティブ・ファイル・ペアが追加サンプル(つまり、ビデオ・フレームを収容することができるかどうかを決定する。それ以上サンプルを収容できない場合、プロセッサ2305は、そのカメラ・サーバ109〜111に対する非アクティブ・スタンバイ・ファイルに切り替わり、前のアクティブなメディア・ファイル・ペアを閉じる要求を発行する。
次に、ステップ2915で実行される、サンプルをビデオ・トラックに書き込むプロセス3100について、図31を参照しつつ説明する。プロセス3100は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
次に、サンプル・プロパティをテキスト・トラックに書き込むプロセス3200について、図32を参照しつつ説明する。プロセス3200は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。プロセス3200は、時刻およびイベント情報が、ストレージ・サーバ2300のハード・ディスク・ドライブ2310内に構成されたメディア・ファイル1800のテキスト・トラックに書き込まれるようにする。QuickTime(登録商標)またはAVI(登録商標)プレーヤーを使用してメディア・ファイル1800が再生される場合、時刻およびイベント情報は、後から、サンプル・データと連携して表示することができる。
次に、ステップ3105および3207で実行される、サンプルをビデオ・トラックに追加するプロセス3300について、図33を参照しつつ説明する。プロセス3300は、ビデオ・サンプルまたはテキスト・サンプル(つまり、テキスト文字列)を受け取り、サンプル・データがアクティブ・メディア・ファイル1800に書き込まれるようにし、また関連付けられたインデックス・ファイル1805内にサンプルへの参照が設定されるようにする。プロセス3300は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
次に、サンプルをメディア・ファイル1800に追加するプロセス3400について、図34を参照しつつ説明する。プロセス3400は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
上述のように、記録エンジン201は、ストレージ・サーバ2300のストレージ・デバイス2309内に構成されたドライブ上に格納されているすべてのイベント・ファイルを管理するイベント管理モジュール321を含む。イベント・ファイル管理モジュール321は、必要に応じて新しいイベント・ファイルを作成し、データをそれらの新しいイベント・ファイルに書き込み、既存のイベント・ファイルのサイズまたは持続時間が所定の限界を超えた場合にさらに新しいイベント・ファイルにスワッピングする役割を持つ。
図35は、イベント・ファイル作成プロセス3500を示す流れ図である。プロセス3500は、スタンバイ・メディア・ファイル1800を作成する。プロセス3500は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
図95は、イベントをイベント・ファイルに書き込むプロセス9500を示す流れ図である。プロセス9500は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。プロセス9500は、第1のステップ9501で始まるが、そこでは、イベント・レコードが上述の形式に従って作成される。次のステップ9502で、イベント・レコードは、ストレージ・デバイス2309内に構成された現在開いているイベント・ファイルまたは現在開いているシステム・イベント・ファイルに書き込まれる。
図36は、イベント・ファイル完成プロセス3600を示す流れ図である。プロセス3600は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
上述のように、カメラ・サーバ通信モジュール305は、記録エンジン201と、記録エンジン201が制御するカメラ・サーバ109〜111との間の通信を管理する。通信モジュール305は、正しい設定が特定のカメラ・サーバ109〜111に必ず送信されるようにし、必要に応じてサンプルおよびイベント通知を受信するようにする役割を持つ。したがって、カメラ・サーバ通信モジュール305は、カメラ・サーバ109〜111との接続を保持し、記録エンジン201とカメラ・サーバ109〜111のそれぞれとの間のすべてのデータの交換を行う役割を持つ。
図37は、ストレージ・サーバ2300上で実行する記録エンジン201とカメラ・サーバ109〜111のそれぞれとの間のカメラ・サーバ接続を確立するプロセスを示す流れ図である。プロセス3700は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。プロセス3700は、記録エンジン201でカメラ・サーバ109〜111が初期化されると、プログラムが最初に起動されたとき、または新しいカメラ・サーバ109〜111が管理者用インターフェースを使用して登録されたときに、必ず実行される。プロセス3700は、制御および通知用のソケットを作成し、接続することにより開始する。その後、プロセス3700は、カメラ・サーバ109〜111により参照されるそれぞれのカメラ112〜115を通じて反復し、カメラ毎に1つの画像ソケットを接続して行く。ソケットに接続するすべてのステップは、非同期接続の試みを開始することによりそのような動作を行う。オペレーティング・システムは、記録エンジン201に通知する。プロセス3700は、プロセッサ2305が制御ソケットを作成するステップ3701から開始する。次のステップで、プロセッサ2305は、記録エンジンと、関連付けられたストレージ・サーバ2300の記録エンジン201と関連付けられているカメラ・サーバ109〜111のそれぞれとの間で制御ソケットを接続する。その後、次のステップ3705で、プロセッサ2305は、通知ソケットを作成する。次のステップ3709で、記録エンジン201に接続されていないカメラ・サーバ109〜111があるとプロセッサ2305が決定した場合、プロセス3700はステップ3711に進む。そうでない場合、プロセス3700は終了する。
図96は、ソケット・イベントを処理するプロセス9600を示す流れ図である。プロセス9600は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またストレージ・サーバ2300のプロセッサ2305により実行に際して制御される。プロセス9600は、ソケット上で接続または切断が発生した場合、ソケットへの書き込みのためソケットがデータを受け付け可能状態になった場合、または着信データがソケットから読み込める状態になった場合に、オペレーティング・システムにより実行される。
図97は、次のコマンドを送信するプロセス9700を示す流れ図である。プロセス9700は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
図98は、ソケット読み込みコマンドを処理するプロセス9800を示す流れ図である。プロセス9800は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
図99は、ソケット切断を処理するプロセス9900を示す流れ図である。プロセス9900は、オペレーティング・システムがソケットが切断されたことを記録エンジン201に通知した場合に実行される。メモリ2306内に構成された送信データ・バッファがデータを含む場合、そのソケット上で送信される必要があるコマンドがある。この場合、プロセッサ2305は、接続を確立すべきであることをオペレーティング・システムに通知する。オペレーティング・システムは、後から、接続が正常になされたことを記録エンジン201に通知する。
図100は、制御コマンドを作成するプロセス10000を示す流れ図である。プロセス10000は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
図101は、制御応答を受信するプロセス10100を示す流れ図である。
図102は、制御プロセスを制御するプロセス10200を示す流れ図である。プロセス10200は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
図103は、通知コマンドを作成するプロセス10300を示す流れ図である。プロセス10300は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
図104は、通知応答を受信するプロセス10400を示す流れ図である。現在の応答が完全なHTTPヘッダをまだ含んでいない場合、HTTPヘッダに対するバッファ内にデータが受信される。HTTPヘッダを解析して応答の内容の長さを取得し、追加データが利用可能であれば、そのデータが受信データ・バッファ内に受信される。
図105は、プロセス10400のステップ10409で実行されるように通知応答を処理するプロセス10500を示す流れ図である。プロセス10500は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。要求が外部入力出力(IO)ステータス要求であると決定された場合、プロセッサ2305は、カメラ109〜111により報告される現在のセンサおよび運動検出ステータスが記録エンジン201により知られているものと一致しているかどうかを決定する。変更があれば、イベント・ルーチンを生成するプロセスを使用して、センサおよび/または運動イベントが生成される。カメラ設定は、以下で詳しく説明するように、カメラ設定を更新するプロセスを実行することによりトリガされたイベントに従って更新される。
図106は、画像コマンドを作成するプロセス10600を示す流れ図である。プロセス10600は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。プロセス10600は、画像ソケットが接続されていた場合に実行される。与えられたカメラに現在必要な取得フレーム速度が0よりも大きい場合、画像取得メッセージが作成される。そうでない場合、記録エンジン201は、ソケットを使用して画像データを受信する必要はない。
図38は、画像応答受信プロセス3800を示す流れ図である。プロセス3800は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。プロセス3800は、カメラ・サーバ109〜111の画像ソケット上でストレージ・サーバ2300により受信できるサンプル・データが用意される毎に実行される。
上述のように、記録エンジン201は、さらに、フレーム・バッファ・モジュール329も含む。フレーム・バッファ・モジュール329は、カメラ・サーバ109〜111からサンプル・データを受信し、サンプル・データをストレージ・サーバ2300のメモリ2306内に構成された循環フレーム・バッファに保存する。サンプル・データが記録される画像を表す場合、サンプル・データはビデオ・ファイル管理モジュール317に送られ、ハード・ディスク・ドライブ2310に書き込まれる。サンプル・データは、さらに、運動検出アルゴリズムにも供給することができる。記録が実行されない場合、サンプル・データは、フレーム・バッファからオーバーフローするまでできる限り長い間、メモリ2306内に保持され、イベントがトリガされ、事前イベント記録がそのイベントに対して有効になっている場合に、後でハード・ディスク・ドライブ2310に保存することができる。
記録エンジン201に対するアクセス・プロトコルが定義される。アクセス・プロトコルは、6つのコマンドを含み、2つの主要なグループに細分できる。
記録エンジン管理者インターフェースは、3つのコマンドを備えており、これらのコマンドを以下の表7にまとめた。
RE_Getコマンドは、以下のリソース上でHTTP「Getメソッド」を使用してビューア2200により要求として送信される。
リソース(8)の「action」引数は、要求されている情報の型を記述する。「action」引数の中でいくつかの値が使用される場合、他にもいくつかオプション引数が存在しうる。
REDETAILSアクションは、一般的記録エンジン201構成を取り出す。REDETAILSアクションは、上述のように、型「general」のストレージ・サーバ構成オブジェクトを返す。追加オプション引数は利用できない。
CAMSVRDETAILSアクションは、ストレージ・サーバ2300に関連付けられたカメラ・サーバ109〜111およびカメラ・サーバ109〜111に接続されたカメラ112〜115のリストを取り出す。CAMSVRDETAILSアクションは、上述のように、型「camsvr」のストレージ・サーバ構成オブジェクトを返す。オプション引数「camsvrs」は、カメラ・サーバ110〜115のホスト名のカンマで区切られたリストを含む。「camsvrs」引数が存在する場合、返されるカメラ・サーバ109〜111のリストは、引数内で言及されたものに制限される。そうでない場合、すべてのカメラ・サーバ109〜111が返される。
CAMERADETAILSアクションは、ストレージ・サーバ2300に関連付けられたカメラ112〜115のリストおよびカメラ112〜115のステータスを取り出す。CAMERADETAILSアクションは、上述のように、型「camera」のストレージ・サーバ構成オブジェクトを返す。オプション引数「cameras」は、カメラ識別子のカンマで区切られたリストを含む。「cameras」引数が存在する場合、返されるカメラ112〜115のリストは、引数内で言及されたものに制限される。そうでない場合、すべてのカメラ112〜115が返される。
SCHEDDETAILSアクションは、ストレージ・サーバ2300に属しているスケジュールのリストを取り出す。SCHEDDETAILSアクションは、上述のように、型「sched」のストレージ・サーバ構成オブジェクトを返す。オプション引数「cameras」は、カメラ識別子のカンマで区切られたリストを含み、オプション引数「days」は、曜日名のカンマで区切られたリストを含む。「cameras」または「days」のいずれかの、または両方の引数が存在する場合、返されるスケジュールのリストは、指定されたカメラ112〜115および/または曜日に関連付けられたスケジュール制限される。
RE_Setコマンドは、以下のリソース上でHTTP「Postメソッド」を使用してビューア2200により要求として送信される。
リソース(9)の「action」引数は、送信される情報の型を記述する。「action」引数の中でいくつかの値が使用される場合、他にもいくつかオプション引数が存在しうる。
CAMSVRDETAILSアクションは、ストレージ・サーバ2300上で、カメラ112〜115およびカメラ・サーバ109〜111に関する情報を追加、修正、および削除するために使用される。ストレージ・サーバ2300上のカメラ112〜115およびカメラ・サーバ109〜111に関する情報に関して、表現「add」、「modify」、および「delete」は、それぞれ、カメラ112〜115またはカメラ・サーバ109〜111に関する情報の追加、情報の修正、および情報の削除を指す。関連付けられたネットワーク・ビデオ・レコーダ要素400内のaction属性は、さらに、コマンドの動作を定義する。図42は、カメラ・サーバ109〜111の詳細を設定するプロセス4200を示す流れ図である。プロセス4200は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。
上述のように、プロセッサ2305により受信されたストレージ・サーバ構成オブジェクトに関連付けられたアクションがaddまたはmoveinである場合、与えられたストレージ・サーバ構成オブジェクト内に記述されているすべてのカメラ・サーバ109〜111がストレージ・サーバ2300に追加される。このオペレーションは、以下の理由から失敗する場合がある。
上述のように、プロセッサ2305により受信されたストレージ・サーバ構成オブジェクトに関連付けられたアクションがmodifyである場合、与えられたストレージ・サーバ構成オブジェクト内に記述されているすべてのカメラ・サーバ109〜111がストレージ・サーバ2300の中の対をなすもう片方とマッチングされ、新しい設定が入力される。カメラ・サーバ109〜111の個数が変更された場合、必要なカメラ112〜115がストレージ・サーバ2300に追加されるか、または削除される。
上述のように、プロセッサ2305により受信されたストレージ・サーバ構成オブジェクトに関連付けられたアクションがdeleteまたはmoveoutである場合、与えられたストレージ・サーバ構成オブジェクト内に記述されているカメラ・サーバ109〜111に関するすべての情報がストレージ・サーバ2300から削除される。CAMSVR要素内に必要な唯一の情報は、HOST要素である。CAMSVR要素の他の要素は、この特別な場合には省略できる。
SCHEDDETAILSアクションは、カメラ112〜115に関連付けられたスケジュール曜日を修正し、削除するために使用される。個々のスケジュール・アイテムは、修正されないことが好ましい。変更が行われると、一日全体が一度に書き換えられる。ネットワーク・ビデオ・レコーダ要素400内のaction属性は、さらに、コマンドの動作を定義する。しかし、SCHEDDETAILSアクションのactiion属性は、3つの値「add」、「modify」、および「delete」のみに制限される。
プロセッサ2305により受信されたストレージ・サーバ構成オブジェクトに関連付けられたアクションがaddである場合、ストレージ・サーバ構成オブジェクト内で参照されているすべてのスケジュール曜日がストレージ・サーバ2300に追加される。与えられたカメラ・サーバ2300に対し特定の曜日がすでに存在している場合、その曜日は新しい曜日で上書きされる。
プロセッサ2305により受信されたストレージ・サーバ構成オブジェクトに関連付けられたアクションがmodifyである場合、ストレージ・サーバ構成オブジェクト内で参照されているすべてのスケジュール曜日がストレージ・サーバ2300に追加される。与えられたカメラ・サーバ2300に対し特定の曜日がすでに存在している場合、その曜日はストレージ・サーバ構成オブジェクト内に記述されている新しい曜日で上書きされる。MODIFYアクションは、ADDアクションと実質的に同じである。
プロセッサ2305により受信されたストレージ・サーバ構成オブジェクトに関連付けられたアクションが「delete」である場合、ストレージ・サーバ構成オブジェクト内で参照されているすべてのスケジュール曜日がストレージ・サーバ2300から削除される。DAY要素内で必要な唯一の情報は、削除すべき曜日を識別する、name属性である。
RE_Triggerコマンドは、以下のリソース(10)上でHTTP「Postメソッド」を使用してCGI要求として送信される。
RE_Triggerコマンドのストレージ・サーバ構成オブジェクトは、要求メッセージの本体内で供給することができる。RE_Triggerコマンドに対するストレージ・サーバ構成オブジェクトは、関連付けられたネットワーク・ビデオ・レコーダ要素400内のaction属性を含む。action属性値は「trigger」に等しい。
記録エンジン201は、ビューア・インターフェースを備える。ビューア・インターフェースは、3つのコマンドを備えており、これらのコマンドを以下の表8にまとめた。
NVR_UserGetコマンドは、以下のリソース(11)上でHTTP「Getメソッド」を使用して要求として送信される。
リソース(11)内の「file」引数の値は以下のうちの1つとすることができる。
NVR_UserSetコマンドは、以下のリソース(12)上でHTTP「Postメソッド」を使用してWebサーバ213に要求として送信される。
リソース(12)内の「file」引数の値は以下のようにできる。
NVR_AdminSetコマンドは、以下のリソース(13)上でHTTP「Postメソッド」を使用して記録エンジン201によりWebサーバ213に送信される。
リソース(13)内の「file」引数の値は以下のようにできる。
上述のように、ストレージ・サーバ構成ツール211は、ストレージ・サーバ2300をホスティングするコンピュータ2301にユーザがログオンすることにより利用可能になる。構成ツール211は、管理者がストレージ・サーバ構成ファイル205のGENERAL要素405で記述されている設定の変更を行えるようにするグラフィカル・ユーザ・インターフェースを備える。
図107は、イベントを生成するプロセス10700を示す流れ図である。プロセス10700は、ハード・ディスク・ドライブ2310上に常駐するソフトウェアとして実装するのが好ましく、またプロセッサ2305により実行に際して制御される。このプロセス10700は、条件に応じてイベントが生成される場合に必ず実行される。イベントが特定のカメラ112〜115に関連付けられ、そのカメラが現在データを記録中である場合、イベントの詳細がその彼らのイベント・キューに追加される。イベント・キューの目的は、書き込まれる次のビデオ・フレームとともにビデオ・ファイル内に保存できるようにイベント記述を保持することである。
アクセス・エンジン203は、ビデオおよびイベント・ファイルの照合および提供を処理するシステム100のコンポーネントである。アクセス・エンジン203は、完了およびアクティブ・ビデオおよびイベント・ファイルとしてストレージ・サーバ2300(または上述のように周辺ストレージ・デバイスおよびネットワーク接続ストレージ・デバイスなどの外部ストレージ・デバイス)のハード・ディスク・ドライブ2310内に記録エンジン201が格納するデータ・ファイル209を監視する。アクセス・エンジン203は、データ・ファイル209のレコードを保持し、ビューア2200が個々のデータ・ファイル209のサイズおよび時間範囲を意識しないようにビューア2200を使用してデータ・ファイル209へのアクセス権を提供する。この方法で、アクセス・エンジン203は、ビューア2200に、格納されているビデオおよびイベント・データに対する継ぎ目のないアクセスを提供する。
図52は、アクセス・エンジン203の5つの機能単位を示している。図52で、実線矢印は、ビデオをまたはイベント・ファイル・ペアからのデータの移動を示すが、波線矢印は、ファイル名からのデータの移動を示す(つまり、波線矢印の目標のユニットがデータ・ファイル209のファイル名を読み込む)。ビデオおよびイベント・ストレージ209を監視しているときに、アクセス・エンジン203は、実際のファイルにアクセスすることに優先して、できるならばファイル名解析を使用する。ファイル名解析を使用することにより、ハード・ディスク2310およびプロセッサ2305の負荷を低減できる。
アクセス・エンジン203および記録エンジン201は、両方ともデータ・ファイル209にアクセスするので、緩く統合されている。アクセス・エンジン203がデータ・ファイル209を含むディレクトリ内のファイルを開いた場合、アクセス・エンジン203は、記録エンジン201の活動に干渉する場合があるが、それは、記録エンジン201は開いているファイルのリネームまたは削除を行えないからである。ファイルは、アクセス・エンジン203によりファイルが使用されている間、またはファイルが必要になるすぐ前にしか開かれない。これは、記録エンジン203のオペレーションが必要以上に干渉を受けないようにするために重要である。
アクティブ・ファイルは、記録エンジン201により現在更新中のファイルである。図18からわかるように、アクティブ・ファイルは、通常、2つの関連付けされたファイル、インデックス・ファイル1805とメディア・ファイル1800からなる構造である。アクティブ・ファイル・ペアの場合、メディア・ファイル1800およびインデックス・ファイル1805は両方とも、開いており、ビデオ・サンプル・データを記録中に記録エンジン201により追加される。
データ209に対する継ぎ目のないアクセスを可能にするために、アクセス・エンジン203は、カメラ112〜115毎に現在のファイル集合の2つの順序付きリストを保持する。アクセス・エンジン203により保持される順序付きリストに使用されるデータ構造は、図54に示されている。ビデオ・ファイルに関係する複数のリストとイベント・ファイルに関係するリストがある。
ビデオ・ファイル・スティッチングを保持するステップ5310は、図55にさらに詳しく示されている。ステップ5310は、ハード・ディスク・ドライブ2310上に常駐するソフトウェア・アプリケーションとして実装するのが好ましく、図23に示されているように、実行はプロセッサ2305により制御される。
イベント・ファイル・スティッチングを保持する、ステップ5315では、ビデオ・ファイル・スティッチングの保持に類似の手順を使用して、様々なイベントへの継ぎ目のないアクセスを可能にする(ステップ5310)。イベント・ファイル・スティッチングは、イベント・ファイルがビデオ・ファイルの3段階ライフ・サイクルを通過しないという点でいくぶん単純である。イベント・ファイルは、アクティブと完了の2つの段階しか持たない。
アクセス・エンジン203の主タスクの1つは、データ・ファイル209内に格納されているビデオ・サンプルおよびイベント・レコードに対する要求を処理することである。要求処理ステップ5305は、図56にさらに詳しく示されている。
図57は、ビデオ要求処理ステップ5615をさらに詳しく示している。ビデオ要求処理ステップ5615は、ハード・ディスク・ドライブ2310上に常駐するソフトウェア・アプリケーションとして実装するのが好ましく、図23に示されているように、実行はプロセッサ2305により制御される。
図58は、イベント要求処理ステップ5610をさらに詳しく示している。イベント要求処理ステップ5610は、ハード・ディスク・ドライブ2310上に常駐するソフトウェア・アプリケーションとして実装するのが好ましく、図23に示されているように、実行はプロセッサ2305により制御される。
データ・ファイル209として格納されているビデオ・データは、ギャップを含む場合がある。これらのギャップは、記録がまったく行われていない期間から生じうる。さらに、ビデオ記録が運動検出または所定のイベントによりトリガされた場合、ビデオ記録がトリガされていない期間からの記録済みデータ内に中断がありうる。
アクセス・エンジン203は、HTTP(ハイパーテキスト・トランスポート・プロトコル)の上に層をなすプロトコル(アクセス・エンジン・プロトコルと呼ばれる)を使用して、データ・ファイル209内に格納されたビデオおよびイベント・データにアクセスできるようにする。このようなプロトコルを使用することにより、アクセス・エンジン203およびビューア2200がHTTPプロキシの反対側にある場合にデータにアクセスすることができる。このプロトコルを使用すると、通常、非HTTPトラフィックを使用できるようにファイヤウォールを再構成しなくても、ファイヤウォールを通じてストレージ・サーバ2300上でビューア2200からアクセス・エンジン203にアクセスすることができる。このプロトコルは、(1999年6月にインターネット・エンジニアリング・タスク・フォース(IETF)により公開されているような)HTTP 1.1規格に完全準拠している。アクセス・エンジン・プロトコルの目標は、ビデオおよびイベント・データを要求する待ち時間をできる限り短縮することであり、また時間に厳しいデータ(ビデオなど)に、時間にあまり厳しくないデータと異なる優先度を与えられるようにすることである。
ブロブは、ブロブ・ヘッダとオプションによりブロブ・データの一部分とからなる。ブロブが接続を介して送信される場合、それらは、次々に送信される。
付録Aには、ブロブの使用可能な型のリストをまとめた。
図62は、ビューア2200とアクセス・エンジン203との間の接続を確立する手順のまとめである。
アクセス・エンジン203が記録エンジン201とは別のソフトウェア・アプリケーションである利点の1つは、システムが記録機能のみを実行する場合に、記録エンジン201のみが実行する必要があり、またこれにより、ストレージ・サーバ2300上の記録のパフォーマンスが向上しうる。逆に、システムがアクセス機能のみを実行する必要がある場合(例えば、システムがアーカイブされたビデオのみを表示できるようにセットアップされている場合)、アクセス・エンジン203だけを実行すればよく、このため、アクセス・パフォーマンスが向上しうる。一実装では、アクセス・エンジン203は、記録エンジン201とは異なるストレージ・サーバ2300上で実行される。このような配列では、記録エンジン201が一連のビデオおよびイベント・データ・ファイル209を閉じた後(つまり、スワップオーバーの後)、ソフトウェア・アプリケーションは、ネットワーク2220を介して、第1のストレージ・サーバ2300Aから第2のストレージ・サーバ2300Bにビデオおよびイベント・データ・ファイルを移動する。この配列では、アクセス・エンジン203は、第2のストレージ・サーバ2300B上で実行され、これにより、ビデオおよびイベント・データがビューア2200から使用できるようになる。さらに他の代替え配列では、アクセス・エンジン203は、未完了の(つまり、アクティブ)ファイルからデータを提供する第1のストレージ・サーバ2003A上で実行している可能性があり、他のアクセス・エンジン203は、上述のようにネットワーク2220を介してコピーされた完了したファイルからデータを提供する第2のストレージ・サーバ2003B上で実行している可能性がある。
5.1 ビューアの概要
ビューア2200は、ハード・ディスク・ドライブ2205上に常駐するビューア・アプリケーション・ソフトウェアを含み、またプロセッサ2205によりその実行に際して制御される。ビューア・アプリケーション・ソフトウェアは、通常、Windows(登録商標)オペレーティング・システムの下で実行される。ビューア・アプリケーション・ソフトウェアは、カメラ112〜115により取り込まれ、カメラ・サーバ109〜111によりネットワーク経由で提供されるライブおよび記録済みサンプル・データ(つまり、ビデオ画像およびイベントを表す)の両方へのローカルまたはリモートでのアクセスを、コンピュータ・ネットワーク2220上で可能にする。
ビューア2200が起動されると、ダイアログ・ウィンドウがディスプレイ・デバイス2214上に表示される。ダイアログ・ウィンドウは、通常、ビューア・アプリケーション・ソフトウェアに関する情報および「cancel」ボタンを含む。ダイアログが表示されている間、ビューア2200は、マスタ・ストレージ・サーバ(MSS)(例えば、ストレージ・サーバ2300A、2300B、2300C、または2300Dのいずれか1つ)に接続を試みる。マスタ・ストレージ・サーバは、本明細書では、マスタ・ストレージ・サーバ2300Aと呼ばれる。マスタ・ストレージ・サーバ2300Aは、ビューア2200がシステム100の様々な設定を取り出す、取り出し元のストレージ・サーバである(カメラ112〜115、カメラ・サーバ109〜111、Zones、Locations、およびビデオ・ウィンドウ・レイアウト情報など)。これらの設定は、ネットワーク・ビデオ・レコーダ構成データと呼ばれる。
− それぞれのエントリは、名前、そのLocation内のZonesのリストを含み、それぞれのZoneエントリは、それぞれそのカメラに関連付けられているデータを含むカメラ識別子のリストを含む、Locationsのリスト。
[Location 1] Sydney
%[Zone 1] Bronte: 111111, 222222, 333333
%[Zone 2] Coogee: 444444
[Location 2] Melbourne
%[Zone 1] St Kilda: 555555
[Storage Server 1]
%Name: cupboard; Hostname: server; Port: 80
%[Camera Server 1]
%%Name: koal; Hostname: koal; Port: 80; Username: root; Password: VB
%%Remote Hostname: koal; Remote Port: 80
%%[Camera 1]
%%%Name (English): koal1; Name (Japanese): jkoal2; Camera ID: 111111
%%%Cam #: 1; Drive: D:; Thumbnail: abbbbba123212412434... (16進数データ)
%[Camera Server 2] ...
[Camera Server S]...// ストレージ・サーバに関連付けられていないカメラ・サーバ
NVR_UserGetコマンドは、構成され、上述のようにHTTP Getメソッドを使用して要求としてマスタ・ストレージ・サーバ2300Aに送信される。メッセージを送信するために、ビューア2200は、指定されたポートで指定されたホスト名またはIPアドレスに接続することを試み、以下のリソース(14)についてHTTP GETメッセージを送信する。
マスタ・ストレージ・サーバ2300Aが認証を必要とするように構成されていない場合、マスタ・ストレージ・サーバ2200A上のHTTPサーバは、ネットワーク・ビデオ・レコーダ構成データをビューア2200に返す。この場合、後述の「login dialog」ウィンドウは、ユーザに対し示されず、ビューア2200が、ビューイング画面7600とともに提示されるが、これについては、図76を参照しつつ以下で詳しく説明する。
− フォルダ内のレイアウトがレイアウトの入っているフォルダ内にネストされて表されるレイアウトおよびレイアウトのフォルダのリスト。レイアウト毎に、名前およびグリッド・タイプおよび、カメラid、位置、およびサイズのリストがある。
[Layout 1]
%Name: Carpark
%Gridtype: alignment
%Window: x:24; y:26; width:320; height 240; camera:111111
%Window: x:38; y:128; width:320; height 240; camera:222222
[Layout Folder 1]
%Name: Andrew's layouts
%[Layout 2]
%Name: Kitchen
%Gridtype: none
%Window: x:23; y:25; width:320; height 240; camera:333333
%Window: x:38; y:127; width:320; height 240; camera:444444
%[Layout 2]...
共有ビデオ・ウィンドウ・レイアウトは、管理者により作成され、任意のユーザによって読み出すことができる。共有ビデオ・ウィンドウ・レイアウトは、管理者(つまり、管理者権限を有するユーザ)しか修正できない。パーソナル・ビデオ・ウィンドウ・レイアウトは、特定のユーザ名に関連付けられており、そのユーザ名でログインしたユーザしか読み取り、作成、または修正を行うことができない。
マスタ・ストレージ・サーバ2300A上の記録エンジン201は、上述のように、ビューア2200から受信されたGETメッセージを処理し、ハード・ディスク・ドライブ2310内に構成された共有ビデオ・ウィンドウ・レイアウトを含むファイル(つまり、「共有レイアウト・ファイル」)を読み込み、コンピュータ・ネットワーク2220を介して共有レイアウト・ファイルからビューア2200にデータを返す。
パーソナル・ビデオ・ウィンドウ・レイアウトの場合、マスタ・ストレージ・サーバ2300A上の記録エンジン201は、上述のように、ビューア2300から受信されたGETメッセージを処理し、要求で使用されるユーザ名に基づいてファイル名を構築し、ハード・ディスク・ドライブ2310内に構成されたパーソナル・ビデオ・ウィンドウ・レイアウトを含むファイル(つまり、「パーソナル・レイアウト・ファイル」)を読み込み、コンピュータ・ネットワークを介して、パーソナル・レイアウト・ファイルからビューア2200にデータを返す。
ビューア2200は、ディスプレイ・デバイス2214上に表示され、2つの主画面を含むユーザ・インターフェースを備える。第1の画面は、図64に示されているように、「configuration and preferences」画面6401であり、第2の画面は、図76に示されているように、ビューイング画面7600である。
(iii)アイテム「Viewing screen」、「Configuration」、および「Live Events Log」を含む「View」メニュー
(iv)アイテム「About」を含む「Help」メニュー
以下では、メニュー・アイテムについて説明する。
「Exit」アイテムは、ビュー・アプリケーション・ソフトウェアを閉じる。
ビューイング画面7600で、「Delete」アイテムは、ディスプレイ・デバイス2214上に表示されるビューイング画面7600上のビデオ・ウィンドウの現在のレイアウトから選択されたビデオ・ウィンドウ(例えば、7625)を削除する。「Storage」および「Camera Server Summary」ダイアログと呼ばれるビューア2200が備える他のダイアログでは、「Delete」アイテムは、ストレージ・サーバ2300、Locations、Zones、またはカメラ・サーバ109〜111を削除するために使用される。「recording schedule」ダイアログ6403で、「Delete」アイテムは、通常のスケジュールまたは特別日記録スケジュールから選択された記録スケジュール・アイテムを削除する。「Delete」アイテムは、削除可能なディスプレイ2214上に表示される特定のアイテムが選択されていない限り無効である。
ビューイング画面7600で、「Cut」メニュー・アイテムは、レイアウトから選択されたビデオ・ウィンドウ(例えば、7625)を削除し、コピーをクリップボード内に置いて、これを同じまたは別のレイアウト内に貼り付ける。「Cut」メニュー・アイテムは、ビューイング画面7600内で選択されたビデオ・ウィンドウがない場合には無効である。「configuration and preferences」画面6401の「recording schedules」ダイアログ6403では、「Cut」メニュー・アイテムは無効である。
ビューイング画面7600で、「Copy」メニュー・アイテムは、選択されたビデオ・ウィンドウ(例えば、7625)のコピーをクリップボード内に置く。「Copy」メニュー・アイテムは、ビューイング画面7600内で選択されたビデオ・ウィンドウがない場合には無効である。「configuration and preferences」画面6401の「recording schedules」ダイアログ6403では、「Copy」メニュー・アイテムは無効である。
ビューイング画面7600で、「Paste」メニュー・アイテムは、ビデオ・ウィンドウ(例えば、7625)をクリップボード内に現在のレイアウトに貼り付ける。「Paste」メニュー・アイテムは、ビデオ・ウィンドウ(例えば、7625)が切り取り、またはコピーされない限り無効である。「configuration and preferences」画面6401の「recording schedules」ダイアログ6403では、「Paste」メニュー・アイテムは無効である。
ビューイング画面7600で、「Select All」メニュー・アイテムは、現在のレイアウト内のすべてのビデオ・ウィンドウを選択する。「configuration and preferences」画面6401の「recording schedules」ダイアログ6403では、「Select All」メニュー・アイテムは無効である。
「Viewing Screen」メニュー・アイテムは、ビューイング画面7600へのビューを変更する。「Viewing Screen」メニュー・アイテムは、ユーザが現在「configuration and preferences」画面6401を表示している場合にのみアクティブである。
「Configuration」メニュー・アイテムは、「configuration and preferences」画面6401の「camera summary」ダイアログ6400へのビューを変更する。「Configuration」メニュー・アイテム・オプションは、ユーザがビューイング画面7600を表示している場合にのみアクティブである。
ビューイング画面7600で、「Live Events Log」メニュー・アイテムは、ライブ・イベント・ログ7619が最後に開かれた位置およびサイズで、図76に示されているように、ライブ・イベント・ログ7619を開く。ライブ・イベント・ログ7619がすでに開いている場合、ライブ・イベント・ログ7619が表示されたときに、「Live Events」メニュー・アイテムの隣にチェックマークが示される。ライブ・イベント・ログ7619がすでに開いている場合に「Live Events Log」メニュー・アイテムを選択すると、ライブ・イベント・ログ7619は閉じて、そのチェックマークが消える。
「About」メニュー・アイテムは、製品情報をユーザに提供する「About」ダイアログを開く。「About」メニュー・アイテムは、「OK」ボタンを持ち、ユーザがこのボタンを選択すると、「About」ダイアログは消える。
「configuration and preferences」画面6401は、管理者(つまり、管理者権限を持つユーザ)しかアクセスできない。「configuration and preferences」画面6401にアクセスするには、ユーザは、「View」メニューから「Configuration」メニュー・アイテムを選択する。ユーザが管理者特権を持たない場合、「Configuration」メニュー内で「Configuration」メニュー・アイテムは無効になっている。「configuration and preferences」画面6401は、1つまたは複数のストレージ・サーバ2300を構成し、ローカル・プリファレンスを設定するために使用される。このようなストレージ・サーバ2300は、使用されているローカル・コンピュータ・モジュール2201、ローカル・エリア・ネットワーク(LAN)上の他のコンピュータ・モジュール(例えば、コンピュータ・モジュール2201)、またはネットワーク2220上のリモート・コンピュータ・モジュールに実装することができる。
「configuration and preferences」画面6401の図64に示されているような「storage and camera server summary」6400では、管理者は、システム100が認識するすべてのストレージ・サーバ2300およびカメラ・サーバ109〜111の要約を表示することができる。「storage and camera server summary」6400では、さらに、ユーザは、システム100に認識されているストレージ・サーバ2300またはカメラ・サーバ109〜111の、メモリ2206内に構成されたリストを修正することができる。
このメッセージは、メモリ2206内に格納されている構成データから生成され、POSTメッセージの一部としてWebサーバ213に送信され、構成データをディスク2310に書き込む記録エンジン201に渡される、新しいネットワーク・ビデオ・レコーダ構成データを含む。
ユーザが「Add Storage Server」ボタン6421を選択すると、ディスプレイ2214上にダイアログが表示され、そこで、ユーザは、ストレージ・サーバ2300のホスト名またはIPアドレスおよびストレージ・サーバ2300にアクセスするためのポート番号を入力することができる。「Add Storage Server」ダイアログには、さらに、「OK」ボタンおよび「cancel」ボタンもある。ユーザが「OK」ボタンを選択すると、ビューア2300は、指定されたポートを使用してホスト名またはIPアドレスに接続しようと試みる。このような接続が成功しない場合、エラー・メッセージがディスプレイ・デバイス2214上に表示される。ユーザが「cancel」ボタンを選択すると、オペレーションはキャンセルされ、ダイアログが消える。
図65に示されているようにユーザが「storage camera server summary」6400上の「Add Location」ボタン6511を選択すると、ユーザが追加すべきロケーションに対する名前を入力するためのダイアログが表示される。このダイアログには、さらに、「OK」ボタンおよび「Cancel」ボタンもある。
ユーザが「Add Zone」ボタン6517を選択した場合、ユーザがそのZoneに対する名前を入力するためのダイアログが表示される。「Add Zone」ダイアログは、追加すべきZoneを入れるLocationを選択するためのプルダウン・メニューを含む。プルダウン・メニューは、ネットワーク2220に接続されたカメラ・サーバ109〜111の知られているすべてのLocationsのリストを含む。「Add Zone」ダイアログには、さらに、「OK」ボタンおよび「Cancel」ボタンもある。
図65に示されているように、「find camera server」ボタン6523がユーザによって選択された場合、ビューア2200は、ブロードキャスト・メッセージをネットワーク2220上に送信する。そのようなブロードキャスト・メッセージに応答するように構成されているネットワーク2220上のカメラ・サーバ109〜111は、ビューア2200に応答する。ブロードキャスト・メッセージがビューア2200によって送信された後、ビューア2200は、ディスプレイ2214上で図66に示されているように検索結果ダイアログ6600を表示する。カメラ・サーバ109〜111がブロードキャストに応答した場合、ビューア2200は、名前、IPアドレス、および型をダイアログ6600内のリストに配置する。結果は、ネットワーク2220に接続されたカメラ・サーバ109〜111のすべてのリストである。
「add camera server」ダイアログ6700では、ユーザは、新しいカメラ・サーバ109〜111またはカメラ112〜115をシステム100に登録することができる。ユーザが「add camera server」ダイアログ6700にどのようにして辿り着いたかに応じて、フィールドのいくつかが事前に選択されているか、または事前に初期値が入力されている場合がある。「storage and camera summary」ダイアログ6400から来た場合には、「Storage Server」ダイアログがアクティブであれば、対応するストレージ・サーバ設定が、現在選択されているストレージ・サーバとして事前に選択されている。「Locations / Zones」ダイアログがアクティブであれば、「Location and/or Zone」設定が、現在選択されている「Location and/or Zone」として事前に選択されている。
カメラ112〜115は、カメラ・サーバ・リスト上でカメラ112〜115を選択し、「Edit Camera Server」ボタンをクリックするか、または特定のカメラ・サーバの名前をダブルクリックすることにより、編集される。その応答として、ビューア2200は、特定のカメラ112〜115のカメラ・サーバ設定を編集することができる「Edit Camera Server」ダイアログを開く。「Edit Camera Server」ダイアログは、「Edit Camera Server」ダイアログが「Edit Camera Server」というタイトルを使用することを除き、「Add Camera Server」ダイアログと同じダイアログである。
カメラ112〜115またはカメラ・サーバ109〜111は、「storage and camera server summary」ダイアログ6400の右パネル6509内の特定のカメラまたはカメラ・サーバの名前(例えば、6521)を選択し、「Remove Camera Server」ボタンをクリックするか、「edit」アプリケーション・メニュー6513から「delete」を選択するか、またはキーボード2202上のdeleteキーを押すことにより、システム100から削除される。「Confirmation」ダイアログは、「Yes」ボタンを押すことによりカメラ・サーバの削除を続行するか、または「No」ボタンを押すことによりオペレーションをキャンセルするオプションとともに表示される。
図69に示されているように、「configuration and preferences」画面6401上の「recording schedules」ダイアログ6403は、それぞれの知られているカメラ112〜115について、イベントおよびセンサ・ベースの記録を含む、記録スケジュールを構成するために使用できる。「recording schedules」ダイアログ6403は、毎日、および指定された日の通常スケジュールをオーバーライドする祝祭日などの特別日に、システム100の通常記録オペレーションをセットアップするために使用することができる。
「normal schedule」は、それぞれのストレージ・サーバ2300の標準的な毎日の記録設定をセットアップするために使用される。ストレージ・サーバ2300は、指定日の設定をオーバーライドするように代替え「Special Day」スケジュールがセットアップされていない限り、これらの通常のスケジュール設定を使用する。通常のスケジュールは、ストレージ・サーバ2300に関連付けられているそれぞれのカメラ112〜115についてスケジュール・アイテム1115(例えば、図13)を作成することによりセットアップされる。
スケジュール・アイテム1115は、「recording schedules」ダイアログ6403上に個々のカメラ112〜115に対する期間をドラッグすることにより追加される。例えば、図69に示されているように、「Information Desk」カメラ・サーバ6907について、スケジュール・アイテム1115の期間は、図69に示されているように、従来の方法でダイアログ6403上の行6909を選択し、その行をダイアログ6403に関して左または右にドラッグすることにより変更することができる。ユーザがマウス2203を離すと、「add schedule item」ダイアログ7000がディスプレイ2214上に表示される。ユーザは、さらに、スケジュール・エリア6905内でクリックして、「add schedule item」ダイアログ7000を開くこともできる。スケジュール・アイテム1115の詳細は、スケジュール・アイテム・ダイアログ7000を使用して設定できる。デフォルトでは、コンテクスト・メニューを通じて追加されるときのスケジュール・アイテム1115の持続時間は、他のスケジュール・アイテムに干渉しない場合に可能な限り長く取られる。それぞれのスケジュール・アイテムの長さは、最大24時間とすることができる。
メモリ2206内のスケジュール・データは、CAMERA要素409を含むXMLドキュメントに変換され、HTTP POSTメッセージの一部として送信される。これは、Webサーバ213を介して記録エンジン201により受信され、ディスク2310に書き込まれる。
図71は、「motion detection settings」ダイアログ7100を示す。「motion detection settings」ダイアログ7100で、管理者は、カメラ・サーバ109〜111に関連付けられているセンサにより運動イベントが検出された場合に検出および記録に対する設定をセットアップすることができる。運動検出設定は、「add/edit schedule item」ダイアログ7000で決定されたカメラ・サーバ109〜111の位置設定とともに使用される。
アクティブ領域設定は、運動のチェックが実行されるビデオ・フレーム(つまり、サンプル)内に領域を設定するために使用できる。アクティブ設定領域の値は、ビデオ・プレビュー・ウィンドウ7113上にオーバーレイされる領域の境界を示す矩形として表示される。デフォルトでは、この領域は完全画像エリアであり、表示される矩形の辺は、プレビュー・ウィンドウ7113の辺に対応する。管理者は、従来の方法でマウス2203を使用し、表示されている矩形の隅または辺をクリックして、マウス・カーソルを所望のロケーションにドラッグすることができる。ビデオ・プレビュー・ウィンドウ上に描画される表示矩形は、継続的に再描画され、カーソルの移動を追跡し、ユーザが従来の方法でカーソルのドラッグを停止したときに現在位置に留まる。選択された領域は、表示矩形の座標および次元に対応する。
「detect motion using」メニューと呼ばれるプルダウン・メニュー7107は、運動検出が実行される場所を決定するために使用できる。「detect motion using」メニュー7107に関連付けられる値は、運動検出がストレージ・サーバ2300上で実行される場合には「storage server」に設定し、運動検出がカメラ・サーバ109〜111上で実行される場合には「camera server」に設定することができる。デフォルトでは、この値は、「storage server」であることが好ましい。「camera server」のオプションは、カメラ・サーバ109〜111のタイプが運動検出をサポートすると知られている場合にのみプルダウン・メニュー7107内に提示される(例えば、Canon(登録商標)VB150)。カメラ・サーバ109〜111上で運動検出を実行することが、ストレージ・サーバ2300上で運動検出を実行することよりも勝る利点は、ストレージ・サーバ2300が、通常、多数のカメラ・サーバ109〜111からビデオを記録し、運動検出はプロセッサ能力を集中的に使用できる点である。しかし、ストレージ・サーバ2300は、多数のカメラ・サーバ109〜111から同時にアップロードされたビデオ・サンプル・データに対する運動検出を適切に実行することができない場合がある。この場合、管理者側でカメラ・サーバ109〜111上で運動検出を実行させるように選択することが好ましいことが多い。しかし、このようなことは、多くのカメラ・サーバ109〜111が運動検出を直接サポートしていない場合があるため必ずしも可能ではない。
運動検出の解析が実行されるフレーム速度を選択するための「analysis frame rate」プルダウン・メニュー7105も用意されている。「analysis frame rate」プルダウン・メニューは、通常、上述のフレーム速度の同じ集まりのうちの1つに設定できる(例えば、0.1から30の範囲内の速度)。
図からわかるように「switch sensitivity setting」スライダー7101を使用して、低から中までの範囲(つまり、Low〜Med)を表すように、または中から高までの範囲(つまり、Med〜 High)を表すようにスイッチ感度の範囲を変更することができる。
「area ratio」スライダー7103は、運動検出がトリガされる前に変更しなければならないアクティブ領域の割合を指定するために使用される。スケールは、0%から100%までである。
「duration」スライダー7109は、運動検出イベントがトリガされる前に運動が生じている時間の長さを指定するために使用することができる。スライダー7109は、0〜5秒である。
「event priority」プルダウン・メニュー7111は、与えられた運動検出設定で運動検出によりトリガされるイベントの優先度を選択するために使用できる。「event priority」フルダウン・メニュー7111は、以下の値のうちの1つに設定できる。
「maximum frame rate」プルダウン・メニュー7115は、運動イベント(つまり、指定された設定を満たすイベント)がトリガされたときに記録される1秒当たりの最大フレーム数を選択するために使用することができる。
「pre−event recording entry」フィールド7117は、イベントの直前に発生したものを取り込むためにイベントが発生する前に記録を実行すべき秒単位の持続時間を入力するために使用することができる。
「post−event recording entry」フィールド7119は、イベントが発生した後に記録を実行すべき秒単位の持続時間を入力するために使用することができる。「post−event recording entry」フィールド7119が0に設定されている場合、ビデオ・サンプル・データは、運動が検出されている持続時間の間のみ記録される。
図72に示されているように、「sensor event settings」ダイアログ7200を使用することにより、ユーザは、カメラ・サーバ109〜111に関連付けられたセンサのトリガの発生に基づき記録設定を指定できる。カメラ・サーバ109〜111が複数の関連付けられたセンサを持つ場合、それぞれのセンサは、異なるダイアログ上で表される。
「special day schedule」は、祝祭日などの特別日に対する異なる記録設定をセットアップするために使用することができる。図73に示されているように、「Special day schedule」アイテムは、「Days to use this schedule」リスト7301で指定された日付の「normal schedule」アイテムをオーバーライドする。
ユーザは、異なる種類の特別日に対しスケジュール・タイプを定義することができる。例えば、週末の祝祭日では、その週の祝祭日に対し異なる記録設定を使用することがありえる。このようなスケジュールは、再利用可能であり、編集または削除できる。その後、特別日スケジュールが適用される日が追加される。「Add」ボタン7303を選択することにより、管理者向けに、管理者側でスケジュール・タイプの名前を入力できるダイアログが表示される。
スケジュール・タイプが使用されるときに日を追加するには、ユーザが「Add」ボタン7303をクリックすると、カレンダー・コントロールが表示され、そこで、ユーザは、使用されるスケジュール・タイプに対する日を選択する。カレンダー・コントロールは、日を選択するための従来のカレンダー・コントロールである。スケジュール・タイプは、「Add」ボタン7303がクリックされたときに「schedule type」パネル7307内で選択される必要がある。
図74に示されているように、「configuration and preferences」画面6401の「viewer settings」ダイアログ7400は、それぞれビューア(例えば、2200A、2200B、2200C、および2200D)に特有の設定を構成するために使用することができる。これらの設定は、ビューア2200のハード・ディスク・ドライブ2210内に格納され、ビューア2300によってのみ使用される。これらの設定は、他のビューア2200により使用するためマスタ・ストレージ・サーバ2300A上に格納されない。ビューア設定の値は、通常、ハード・ディスク・ドライブ2210内に構成されたファイル・システム上のビューア構成ファイルに、またはビューア2200のオペレーティング・システムにより保持されているレジストリ内のエントリとして格納される。
「Iive video viewing settings」プルダウン・メニュー7401は、ライブ・ビデオを表示する最大フレーム速度を制御するために使用することができる。フレーム速度は、オプションのリストから選択される。これらのオプションは、通常、上で与えられたフレーム速度の同じリストとなるであろう。デフォルト値は、毎秒5フレームである。
マスタ・ストレージ・サーバ2300Aとして使用されている現在のストレージ・サーバ(例えば、2300A、2300B、2300C、および2300D)は、編集不可能テキスト・フィールド7403内に表示される。編集不可能テキスト・フィールド7403は、管理者の情報用である。このフィールドは、マスタ・ストレージ・サーバ2300Aの名前および、マスタ・ストレージ・サーバ2300Aにアクセスするために使用されるホスト名またはIPアドレスを示す。
上述のように、特定の時刻に特定のカメラ112〜115に関連付けられた運動イベントまたはセンサ・イベントは、ビデオ・サンプル・データの記録をトリガすることができ、特定の優先度レベルに設定できる。イベントは、以下のように、ビューイング画面7600内で表すために使用される5つの指定優先度に従って分類される。
図75は、ビューア構成ファイル7500の一実施例を示す。
図76は、ビューイング画面7600を示す。上述のように、ビューア2200がマスタ・ストレージ・サーバ2300Aに接続し、ログインできる場合、マスタ・ストレージ・サーバ2300Aがビューア2200が実装されるのと同じコンピュータ・モジュール(例えば、2301)上に実装される場合を含めて、ユーザは、ビューイング画面7600を提示される。
カメラ選択エリア7603は、監視に使用できるカメラ112〜115のそれぞれに関連付けられたサムネイルを表示し、レイアウト・エリア7605内でユーザが表示することを望んでいるカメラ112〜115を選択するために使用される。カメラ選択エリア7603は、「location」7609および「zone」7611メニューおよびカメラ・サムネイル・エリア7613で構成される。
レイアウト・エリア7605は、カメラ112〜115からのライブ・ビデオ・サンプル・データおよびストレージ・サーバ2300からの記録済みサンプル・データに対応する複数のビデオ・ウィンドウ(例えば、7625)を表示するために使用される。上述のように、それぞれ特定のカメラ・サーバ112〜115に関連付けられた一組のビデオ・ウィンドウ(例えば、7625)の、レイアウト・エリア7605内の特定の配列をレイアウトと呼ぶ。ユーザは、レイアウト・エリア7605上に特定のカメラに関連付けられたビデオ・ウィンドウの配列を行い、その配列を将来使用するレイアウトとして保存することができる。
(ii)ビデオ・ウィンドウ(例えば、7625)、
(iii)「Live Events Log」7619。
レイアウト選択ボタン7629およびレイアウト名7627は、図76に示されているように、レイアウト・エリア7605の左上隅に表示される。レイアウト名7627の表示は、ユーザが現在使用しているレイアウトに関する情報をユーザに示す。レイアウト選択ボタンは、選択されると、選択メニューを表示し、これにより、ユーザは、レイアウトの保存および編成、および他の保存レイアウトの表示切替えを行うことができる。レイアウトは、レイアウト選択メニューからレイアウトの名前を選択することにより選択メニューから選択される。
メモリ2206内に格納された共有レイアウト構造からのデータは、要求の一部として送信される。
メモリ2206内に格納されたパーソナル・レイアウト構造からのデータは、要求の一部として送信される。
ビデオ・ウィンドウ(例えば、7625、8201、8301)は、ビューイング画面7600のレイアウト・エリア7605内にライブまたは事前記録済みビデオ・サンプル・データを表示するために使用される。それぞれのビデオ・ウィンドウは、個々のカメラ112〜115のビデオ画像を表示し、ユーザは、ビデオ・ウィンドウを再配置、サイズ変更、または閉じることができる。
ビデオ・ウィンドウ(例えば、8700)は、以下を表示するタイトル・バー8601を持つ。
(ii)カメラ名8607、
(iii)運動検出またはセンサ8705などのイベント、
(iv)ライブ・ビデオ8703または事前記録済み8603ビデオ・アイコンおよびタイムコード。
Small
Medium
Large
Get Camera Control
Release Camera Control
Preset Camera Angles
(Preset 1 Name)
(Preset 2 Name)
(Preset 3 Name)
(Preset 4 Name)
(Preset 5 Name)
(Preset 6 Name)
(Preset 7 Name)
(Preset 8 Name)
Backlight Compensation
On
Off
Control External Devices
(External Device 1 Name) On
(External Device 1 Name) Off
(External Device 2 Name) On
(External Device 2 Name) Off
Record Now
Capture Still Frame
Close Window
ユーザがビデオ・ディスプレイ・メニューからビデオ・ディスプレイ・サイズ(つまり、small(小)、medium(中)、large(大))を選択した場合、ビデオ・ウィンドウは、選択されたサイズに合わせてサイズ変更される(例えば、smallでは160×120ピクセル、mediumでは320×240、largeでは640×480)。
上述のように、RE_Triggerコマンドのストレージ・サーバ構成オブジェクトは、要求メッセージの本体内で供給することができる。RE_Triggerコマンドのストレージ・サーバ構成オブジェクトは、選択が行われたビデオ・ウィンドウに関連付けられているカメラ112〜115のカメラ識別子を使用して上述のように構築される。ストレージ・サーバ2300への他のコマンドと同様に、このコマンドは、ユーザを認証するWebサーバ213を介して送信される。通常、ユーザの認証情報がHTTPヘッダに含まれる要求が送信される(前に述べたように)。ユーザ名ヘッダは、記録エンジン201により取り出され、イベント・レコードの一部としてイベント・ファイルに書き込まれ、イベントの優先度は、「highest priority」に設定され、イベントの型は、「manual rec.」に設定される。これにより、それ以降「Record Now」イベントを追跡することができるが、これは、「Record Now」イベントがスケジュールされた設定をオーバーライドするので必要であり、頻繁に使用すると、管理者側で想定していないディスク所要量になる可能性がある。例えば、データを上書きする前の総持続時間は、予想ほど長くない場合がある。ユーザ名および「Manual Rec.」の型は、時刻表にそってビューア2200上に表示される(後述)。
ビデオ・サンプル・データは、特定のカメラ・サーバ109〜111から来るライブ・ビデオ・サンプル・データの解像度または記録されたビデオ・サンプル・データの解像度に関係なく、関連付けられているビデオ・ウィンドウを作成するサイズで表示される。
事前記録済みビデオ・サンプル・データがビデオ・ウィンドウ内に表示されていることを示すために、タイトル・バー8601は、異なる色で表示され、再生ビデオ・インジケータ8607は、図86に示されているように、事前記録済みビデオを見ているときに表示される。さらに、再生されているビデオのタイムコードおよび日付8607はタイトル・バー8601内に表示される。
イベント・インジケータ8707は、図87に示されているように、イベントがトリガされたときにビデオ・ウィンドウ8700の最上部に表示される色付きバンドである。イベント・インジケータ8707は、レイアウト・エリア7605内にすでにロードされているビデオ・ウィンドウにのみ適用される。イベント・インジケータ8707の色は、イベントの優先度により決定される。
関連付けられているカメラ・サーバ109〜111のカメラ112〜115を制御しパン、傾斜、およびズーム設定を変更するには、ユーザは、ビデオ・ウィンドウ・メニュー内の「Get Camera Control」を選択するか、または特定の関連付けられているビデオ・ウィンドウ上でダブルクリックする。ビューア2200が制御権を持つと、ビデオ・ウィンドウの異なる領域上で異なるカーソルを使用することで、視覚的フィードバックが送られ、これにより、「Add Camera」ダイアログに関して上記で説明したのと同じ形式のパン、傾斜、およびズーム(PTZ)コントロールを使用できる。
特定のカメラ112〜115および関連付けられたカメラ・サーバ109〜111に関連付けられたビデオ・ウィンドウ(例えば、7625)に表示されるメッセージは、以下を含む。
図88に示されているように、「live events log」7619は、カメラ112〜115がレイアウト・エリア7605内に表示されているかどうかに関係なく、すべての知られているカメラ112〜115に対するイベントのリストを含む。
(ii)優先度、
(iii)イベントの型(例えば、運動検出には「motion」、センサ・イベントにはカメラ・サーバ上のセンサの名前)、
(iv)カメラ・サーバ名、
(v)日付および時刻、
(vi)ロケーションとゾーン。
時刻表7607は、レイアウト・エリア7605内の選択されたビデオ・ウィンドウ(例えば、7625)に関連付けられたカメラ112〜115に対するイベントを表示する。ビデオ・ウィンドウが選択されていない場合、時刻表7607は、レイアウト・エリア7605内のすべてのビデオ・ウィンドウに関連付けられたカメラ112〜115に対するイベントを表示する。
図90に示されているように、タイトル8901は、単一のカメラ112〜115が選択されている場合に現在選択されているカメラ112〜115の名前を表示する。カメラ112〜115選択されていない場合、タイトルは「No cameras selected」である。複数のカメラ112〜115選択されている場合、タイトルは「Multiple cameras selected」である。
(ii)事前記録済みビデオ・サンプル・データの再生
5.5.3.1.1 ライブ・ビデオ・サンプル・データの監視
デフォルトで、レイアウト・エリア7605にロードされたビデオ・ウィンドウは、ライブ・ビデオ・サンプル・データを表示し、これは、時刻表7607上の「Live」位置にある再生ヘッド9001の位置により指示される。ライブ位置は、スクロールバー8915が図90に示されているように時刻表7607に関して右へずっとスクロールされるときの時刻表の右辺からの固定距離である。ユーザがライブ・ビデオ・サンプル・データを見続ける場合、再生ヘッド9001は静止したままであるが、時刻表7607は、再生ヘッド9001の下で左にスクロールし、時間の経過を表す。
事前記録済みビデオ・サンプル・データを表示するには、再生ヘッド9001を「Live」位置以外の時刻表7607上のある位置に移動する。再生ヘッド9001は、以下を使用して再配置できる。
(ii)再生ヘッド90001を新しいタイムコードにドラッグする
(iii)時刻表7607のイベント表示エリア8913内をクリックする
(iv)時刻表7607内のイベントをクリックする
(v)「live events log」7619内のイベントをクリックする
再生ヘッド9001は、例えば、マウス2203を使用して再生ヘッド9001をクリックしてドラッグすることにより再配置するか、または再生ヘッド9001の周りのアクティブ領域内に再配置するか、または再生ヘッド9001の底部のグリップ・エリア9003に再配置することができる。再生ヘッド9001は、ユーザがドラッグを離し、選択されたすべてのビデオ・ウィンドウ上のビデオ・サンプル・データの再生が、ユーザがドラッグ・オペレーションを開始する前の特定の選択されたビデオ・ウィンドウの状態に応じて再生または一時停止に戻る場合に再配置される。再生ヘッド9001を再配置する前にユーザがライブ・ビデオ・サンプル・データを見ていた場合に、再生は自動的に再生に設定される。
ライブ・ビデオ画像を見ることに戻るには、再生ヘッド9001が「Live」位置に当たるまで再生ヘッド9001を右へずっとドラッグするか、または「Return to Live」ボタンをクリックすることにより、再生ヘッド9001を再配置できる。「Return to Live」ボタンが押されると、再生ヘッド9001は時刻表7607の右側の「Live」位置に移動される。「Return to Live」ボタンは、再生ヘッド9001がライブ位置にない場合にのみ使用可能である。
ビデオ・サンプル・データのセグメントは、単一のビデオ・ウィンドウを選択し、時刻表7607内のエリアをクリックしてドラッグすることにより、抽出目的のために選択することができる。選択されたセグメントは、左辺がイン・ポイント(つまり、開始タイムコード)として使用され、右辺がアウト・ポイント(つまり、終了タイムコード)として使用される、左から右または右から左からドラッグ・アウトすることができる。選択されたエリアは、半透明ハイライト表示エリアで表示される。
図91に示されているように、再生コントロール8903は、再生ヘッド9001の位置を変更する。これらは、以下を含み、それぞれ従来の記号で表される。
(ii)Rewind
(iii)Nudge Back
(iv)Play/Pause
(v)Nudge Forward
(vi)Fast Forward
(vii)Next Event
再生コントロールは、1つまたは複数のビデオ・ウィンドウが選択されるまで無効状態である。
イベント表示エリア8913は、イベントが時刻表7607上に表示される場所である。イベント表示エリア8913は、さらに、日にちの間の区切り、および選択されたビデオ・ウィンドウに使用可能な記録済みビデオ・サンプル・データがある時期を示すために使用される。
特定のカメラ・サーバ109〜111に接続されているセンサからのイベントを含む特定のカメラ・サーバ109〜111に関連付けられたイベント、ドア開放、運動検出など、およびストレージ・サーバ2300内の画像ベースの運動検出からのイベントは、視覚的に表現することができる(例えば、図90に示されているようなイベント9005)。このようなイベントは、イベントがいつ発生したか、およびその重要度レベルを示すために、イベント表示エリア8913内に表示される。表示されるイベントは、さらに、再生ヘッド9001の位置を変更するクリック可能なオブジェクトでもあり、ビデオ・ウィンドウを選択し、対応する時間からビデオを再生するようにビデオ・ウィンドウを設定することができる。
スクロールバー8915は、図90に示されているように、時刻表7607にそってナビゲーションを行う。スクロールバー8915は、再生ヘッド9001の位置を変更しない。左にスクロールすると、時刻表のビューは時間的に逆方向に移動し、右にスクロールすると、ビューは順方向に移動する。時刻表7607は、現在の「Live」時間と同じように一番右にのみスクロールできる。
時刻表7607をズームインすることにより、詳細を表示し、ズームアウトすることにより、表示期間を長く取ることができる。ズームアウトを実行すると、イベント活動の概要がさらに表示され、パターンの認識がさらにしやすくなる。
時刻表ナビゲーションは、時刻表7607内に表示される日付範囲を制御する。時刻表ナビゲーションは、再生ヘッド9001の位置を変更しない。時刻表ナビゲーション・コントロールは、Calendar、Previous Week、Previous Day、Next Day、Next Weekを含む。
「event search」ボタン8917を押すと、図92に示されているように、「event search」ダイアログ9200が表示され、これは、イベントの検索に使用することができる。「event search」ダイアログ9200を使用することで、ユーザは、検索条件を指定する、検索結果を表示する、「event search」ダイアログ8917から直接、イベントに関連付けられているビデオ・ウィンドウを開くという操作を行うことができる。
特定のタイムコードにジャンプするために、ユーザは、時刻表7607の上にある「jump to time」ボタン8907をクリックすることができる。その結果、「jump to time」ダイアログが起動され、そこで、ユーザはタイムコードを入力し、「OK」を押すことができる。再生ヘッド9001および時刻表が、再生ヘッド9001が現在置かれている日にち内の入力された時刻に移動される。
ビューア2200は、例えば、カメラ・サーバ109〜111への接続に問題が生じた場合にユーザに知らせる。ユーザに提示される可能性のあるエラーおよび警告メッセージの例を以下に示す。
次に、アクセス・エンジン203とビューア2200との間で送信されるような多数のコマンド、フラグ、およびパラメータについて、説明する。
図116は、ビューア2200のソフトウェア・コンポーネントを示す。記録エンジン通信モジュール14024は、記録エンジン201との通信を実行する。これは、上述のように記録エンジン・プロトコルを使用して構成情報および他の情報の読み書きを行うことができる(例えば、NVR_AdminSet、RE_Trigger、RE_Set、NVR_UserGetコマンドなど)。
イベント・キャッシュ・マネージャ14022は、プロセッサ2205により実行されるソフトウェア・コンポーネントであり、イベント情報を収集し、保持することを受け持つ。システム100に知られているカメラ112〜115毎に別々のイベント・キャッシュ・マネージャ14022が作成される。内部的には、イベント・キャッシュ・マネージャ14022は、アクセス・エンジン203との通信をアクセス・エンジン通信モジュール14021にデリゲートする。
{
time_t mi_begin; // 関心の開始時刻
time_t mi_end; // 関心の終了時刻(未来を表す特別な値−1に設定することができる)
bool mi_complete; // 関心が完全に完了したことを示すフラグ。つまり、この関連付けられたカメラ112〜115に対するこの時間範囲内のすべてのイベントが、イベント・キャッシュ・マネージャ14022に知られていること。
14120(14121、14122、14123、14124を含む)のブロックは、イベント・キャッシュ・マネージャがストレージ・サーバ2300から取り出したイベントの知られている範囲を表す。知られている範囲は、以下のデータ構造を使用して実装することができる。
{
list<Events> mk_events; // イベント・データのリスト
time_t mk_begin; // 範囲の開始時刻
time_t mk_end; // 範囲の終了時刻
bool mk_complete; // 知られている範囲が完全に完了したことを示すフラグ。つまり、関連付けられたカメラ112〜115に対するこの時間範囲内のすべてのイベントが、イベント・キャッシュ・マネージャ14022に知られていること。
イベント・データのリスト(上述のデータ構造のmk_events)は、時間範囲内(つまり、mk_begin以上で、mk_end未満)にあるタイムスタンプを持つイベントのリストである。
付録A:ブロブの形式
アクセス・エンジン203とビューア2200との間の通信で使用されるブロブの形式を以下に示す。
struct AE_VideoBlob
{
CNV_Time time;
Image im;
}
それぞれのビデオ・ブロブは、時間構造体の中で指定された時刻の単一のjpeg画像を含む。時刻構造体は、年の後に、当年の0から始まる日の通し番号(つまり、1月1日は日0、2月2日は日32)、フレームが記録された日までのミリ秒数が続く。
Struct event
{
uint16 num_events;
struct event events [] ;
};
イベントの数は、番号の後のイベントの数である。それぞれのイベントは、改行文字により区切られる。
struct start
{
uint32 connection_id;
}
これは、データ接続上で送信される第1のブロブである。これは、データ・ストリームの接続idを含む。ブロブのストリームidは、0に設定される。
このブロブは、タイムアウトにより介在するプロキシ・サーバが接続を閉じるのを防ぐために一定の不活動期間の後にクライアント(ビューア2200)に送信される。接続上で他の活動がある場合(ストリーミング・ビデオなど)、keepaliveブロブは送信されない。このようなブロブは、クライアント(つまり、ビューア2200)によりタイミングに関して依存されるべきでない。このブロブ・タイプには付加データはない。
struct start
{
uint32 stream_id;
}
「End stream」ブロブは、ストリームが終了している場合に送信される。これは、アクセス・エンジン203がストリームを終了しつつあり、クライアント(ビューア2200)がもはやこのストリームからブロブを受信しなくなることを意味する。終了したストリームを修正する他のすべての要求は失敗する。
「Close stream」ブロブは、データ接続上の最後のブロブとして送信される。クライアント(ビューア2200)は、ビューアが「close stream」ブロブを受信すると、接続をきれいに閉じる。このブロブ・タイプには付加データはない。
struct no_video blob
{
CNV_Time curr_time;
CNV_Time next_time;
}
「No video」ブロブは、ビデオはまだ来るが、現在、ストリーム内の現在時刻には何もない場合に、ビデオ・ブロブの代わりに、クライアント(つまり、ビューア2200)に送信される。これらのブロブは、no video期間に定期的に送信されるが、ビデオと同じ速度では送信されない。現在時刻は、ストリーム内の現在時刻である。この現在時刻値は、欠落ビデオの期間中にアクセス・エンジン203との同期を保持するためにクライアント(つまり、ビューア2200)により使用されることができる。次のフレームまでの時間は、ストリーム内の次のフレームが送信されるべきときまでの時間である。
付録B:アクセス・エンジンおよびビューアによって使用されるヘッダ、応答、およびコマンド
ヘッダ
以下のヘッダは、クライアント(つまり、ビューア2200)により送信される要求のすべてまたはほとんど、またはサーバ(つまり、アクセス・エンジン203)により送信される応答内に存在していなければならない。特定のコマンドに関して他のヘッダを含めることもできる。
クライアント(つまり、ビューア2200)またはサーバ(つまり、アクセス・エンジン203)が使用しているプロトコルのバージョン。versioinはプロトコルのバージョンを指定する整数である。本書では、veersion 1と記述する。これは、クライアント(つまり、ビューア2200)からのすべての要求、およびサーバ(つまり、アクセス・エンジン203)からの応答に含まれなければならない。
クライアント(つまり、ビューア2200)の名前。nameは、ブラウザを記述するために使用されるUser−agent文字列などのような自由形式文字列である。これは、クライアント(つまり、ビューア2200)からのすべての要求に含まれなければならない。
クライアント(つまり、ビューア2200)のバージョン。versionは、「1.2.3」の形のドット数値記表文字列である。これは、クライアント(つまり、ビューア2200)からのすべての要求に含まれなければならない。
サーバ(つまり、アクセス・エンジン203)の名前。nameは、Webサーバ応答の中のServer文字列のような自由形式文字列であり、サーバ(つまり、アクセス・エンジン203)からのすべての応答に含まれなければならない。
サーバのバージョン。versionは、「1.2.3」の形式のドット数値記表文字列であり、サーバ(つまり、アクセス・エンジン203)からのすべての応答に含まれなければならない。
これは、現在のクライアント(つまり、ビューア2200)接続の接続idであり、セットアップ要求を除きクライアント(つまり、ビューア2200)からのすべての要求で送信されなければならない。idは、10進数形式の32ビット整数である。
いくつかの応答は、すべての、またはほとんどすべてのコマンドにわたって共通である。これらは、すべてのコマンドに関して以下で繰り返されないエラー・メッセージである。
これは、未指定の発信源のサーバ(つまり、アクセス・エンジン203)内のエラーを示す。サーバ(つまり、アクセス・エンジン203)は、不規則に実行を開始する場合がある。この応答は、すべてのコマンドに適用される。
クライアント(つまり、ビューア2200)は、セットアップ・コマンドを発行していない。サーバ(つまり、アクセス・エンジン203)は、クライアント(つまり、ビューア2200)がセットアップまたは再接続を呼び出すまで、セットアップまたは再接続を除き、この応答でコマンドに応答する。試みられていたコマンドは失敗し、データ接続がもし存在すればそれに対し変更が加えられていない。
以下に、制御接続6005上でクライアント(つまり、ビューア2200)によりサーバ(つまり、アクセス・エンジン203)に送信されるコマンドのリストをまとめた。これらはコマンドとして説明されているが、実際には、キャンバス・ストリーミング・サーバ「ファイル」をフェッチするHTTP GETコマンドへのパラメータである。例えば、セットアップ・コマンドは、実際には、以下のHTTPコマンド(最低限のヘッダを持つ)である。
Host: <access server host>
nvr-protocol-version: 1.0
nvr-client: operator interface
nvr-client-version: 1.0
Connection: keep-alive
応答は、標準的なHTTP応答であり、応答のデータ・セクション内に追加情報が含まれる。例えば、次のようである。
nvr-protocol-version: 1.0
nvr-server: Access Engine
nvr-server-version: 1.0
Connection: keep-alive
Keep-alive: timeout=20, max=0
Content-type: text/text
Connection-id=1234
Num-Data-connections =2
Data-connection-ids=2345, 3456
それぞれのコマンドは、URLに入れるコマンド・テキスト、他のパラメータ、および可能な応答をリストにしたものである。
これは、ビューア2200が接続した後、クライアント(つまり、ビューア2200)によりサーバ(つまり、アクセス・エンジン203)に送信される第1のコマンドである。これの前に送信される他のコマンドはどれも、サーバ(つまり、アクセス・エンジン203)からエラーを生成する。setupは、クライアント(つまり、ビューア2200)がセットアップ応答で示されているデータ接続回数を確定するまで完了しない。
パラメータ:なし
応答:
OK
セットアップの第1の部分は、正常に完了した。クライアント(つまり、ビューア2200)がデータ接続を完了するまで、セットアップ手順は終了しない。この応答の中野データは以下のフィールドを持つ。
これは、コマンド接続のコマンド接続idを指定する。
データ接続のid
Num−data−connections
クライアント(つまり、ビューア2200)がサーバ(つまり、アクセス・エンジン203)に対し開く必要があるデータの数。プロトコルのこのバージョンでは、これは常に1である。
クライアント(つまり、ビューア2200)はすでにセットアップされている。データ接続はまだ有効である。この応答ではデータはない。
このコマンドは、サーバ(つまり、アクセス・エンジン203)へのクライアント(つまり、ビューア2200)の接続をシャットダウンするために使用される。すべてのデータ・ストリームは、閉じられ、すべてのサーバ(つまり、アクセス・エンジン203)リソースは、解放される。このコマンドが完了すると、ビューアは接続を閉じなければならない。クライアント(つまり、ビューア2200)は、「close」ブロブが受信されるまでデータ接続を閉じてはならない。
パラメータ:
Connection−id
セットアップ応答の中のクライアント(つまり、ビューア2200)に与えられたコマンド接続id。
OK
シャットダウンは正常に完了した。クライアント(つまり、ビューア2200)は、データ接続上で「close」ブロブを予期すべきである。サーバ(つまり、アクセス・エンジン203)によって新しいデータは送信されないが、出力バッファ内のデータが送信されている間に遅延がありうる。
このコマンドは、サーバ(つまり、アクセス・エンジン203)からのビデオ・データのストリーミングを開始するために使用される。クライアント(つまり、ビューア2200)は、サーバ(つまり、アクセス・エンジン203)ができる限り速くビデオを転送するか、またはビューイング速度でストリーミングすることを要求することができる。サーバ(つまり、アクセス・エンジン203)は、ビデオ・ストリームの到達に使用される接続を決定する。
パラメータ:
Connection−id
セットアップ応答の中のクライアント(つまり、ビューア2200)に与えられたコマンド接続id。このパラメータは必須である。
要求されたビデオの望むフレーム速度。これが、使用可能なフレーム速度よりも高い場合、ストリーミングは、そのまま開始し、クライアント(つまり、ビューア2200)は、第1のビデオ・フレームの前にコマンド接続応答またはデータ接続のいずれかでこのことを通知される。この値は、0.1から25(PAL記録システムの場合)、または30(NTSC記録システムの場合)までの範囲の値である。
再生速度は、ビューアでビデオを見ることが望まれている知覚される速度である。値は、100を超える比であるため、100は通常再生速度であり、200は倍速であり、25は1/4倍速である。巻き戻し再生の場合、再生速度を負の数に設定する。パラメータは、オプションである。
ビデオが生成されたカメラのid。
ネットワーク輻輳のため、フレームをスキップするのではなく、ビデオ内のすべてのフレームをストリーミングするようにサーバ(つまり、アクセス・エンジン203)に通知する論理値フラグである。このフラグは、転送が設定された場合に暗示され、設定は、転送がURL内で設定されている値に関係なく設定される場合に常に真である。すべてのサーバがフレームのスキップをサポートしているわけではないことに注意されたい。
このストリームが転送ストリームであることサーバ(つまり、アクセス・エンジン203)に知らせる論理値フラグ。これは、2つの影響を持つ。第1に、ネットワーク輻輳に関係なくすべてのフレームが送信されるようにno−skipフラグをセットすることであり、第2に、サーバ(つまり、アクセス・エンジン203)が実時間ではなく可能な限り速くビデオを送信しようとすることを意味する。サーバ(つまり、アクセス・エンジン203)は、そのまま、転送により使用される帯域幅を絞り、ネットワーク帯域幅の実時間ビデオ転送の不足を生じさせないようにすることを選択することができる。
これは、取り出すビデオの時間範囲または特別な値「live」のいずれかである。「live」が設定されている場合、カメラからのライブ・フィードは、ほぼ指定されたフレーム速度で供給される。ライブ要求では、転送およびno−skipオプションを無視する。時間範囲形式は以下のとおりである。
つまり、4桁の年、2桁の月、2桁の日、下線、2桁の時(24時間UTC)、2桁の分、オプションの3桁のミリ秒、オプションの下線、その後、開始時刻と同じ形式のオプションの終了時刻。終了時刻がない場合、後続の下線はあってはならない。終了時刻がない場合、時間は、連続要求であると想定される。
OK
要求は成功した。ビデオは、指定されたストリーム内の指定されたデータ接続で到着を始める。この応答は以下のフィールドを持つ。
ビデオが送信されるデータ接続。このフィールドは、常に、コマンド応答の中にある。
ビデオ・ストリームのストリームid。このフィールドは、常に、コマンド応答の中にある。
要求されたカメラは存在しない。ビデオはストリーミングされない。
このコマンドは、フレーム・シーケンス番号、カメラ、および位置指定子(次、現在、または前)が与えられた場合、サーバ(つまり、アクセス・エンジン203)から単一フレームをフェッチする。これにより、クライアント(つまり、ビューア2200)は、順方向または逆方向に、1フレームずつビデオ・フレームのセクションを辿る。
パラメータ:Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。
フレームを生成したカメラのid。
参照フレームのシーケンス番号。
seq−numに関して取り出すフレームを参照する「current」、「next」、または「previous」のうちの1つ。「Current」は、与えられたseq−numに最も近いフレームを取得することを意味する。最も近いフレームが2つある場合、一番最近のものが返される。「next」は、与えられたシーケンス番号の後の次のフレームを返し、「previous」は、与えられたシーケンス番号の前の前のフレームを返す。
OK
要求は成功した。フレームは、返されたストリームの中で、返された接続id上に到着する。この応答は以下のフィールドを持つ。
フレームが届く接続id。これは、クライアント(つまり、ビューア2200)が開いているデータ接続のうちの1つとなる。このフィールドは、常に、コマンド応答の中にある。
フレームが届くストリームid。このフィールドは、コマンド応答の中にある。
使用可能なフレームがないため要求は失敗した。これは、例えばビデオ内の最後のフレームの後の次のフレームが要求された場合に発生することがある。
要求されたカメラは存在しない。
このコマンドは、サーバ(つまり、アクセス・エンジン203)から与えられた時間範囲内のイベント・データを要求する。また、ロケーション、ゾーン、またはカメラのオプション・パラメータを持つこともできる。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。
イベントが発生した時間範囲。これは、ビデオ要求と同じ形式である。このパラメータは必須である。
このカメラに関係するイベントを返す。このパラメータは必須である。
OK
要求は成功した。イベント・データは、返されたデータ接続およびストリーム上に到着し始める。この応答は以下のフィールドを持つ。
イベント・データが到着する接続の接続id。これは、クライアント(つまり、ビューア2200)が開いているデータ接続のうちの1つとなる。このフィールドは、常に、コマンド応答の中にある。
イベント・データが届くストリームid。このフィールドは、常に、コマンド応答の中にある。
指定されたカメラは存在しない。
送信するイベント・データが多すぎるため、サーバ(つまり、アクセス・エンジン203)は、要求を完了することができない。クライアント(つまり、ビューア2200)は、小さな時間範囲を要求し、複数のさらに小さなチャンクで要求を完了しなければならない。
指定されたクエリ内にイベント・データがない。
このコマンドは、進行中のストリームを一時停止する。ビデオとイベントの両方に適用可能である。ストリームは、ストリームに対しresumeを呼び出すことにより後から再開できる。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。これは、一時停止させるストリームを含むデータ接続の接続idではない。
一時停止させるビデオまたはイベント・ストリームのストリームid。
OK
コマンドは正常に完了した。ストリームは、近い将来一時停止される。いくつかのブロブは、そのまま、ネットワークのバッファリングにより、アクセス・エンジン203から受信できる。
指定されたストリームが存在しない。
このコマンドは、すでに一時停止されているストリームを再開する。ストリームは、ちょうど一時停止されたところから継続する。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。これは、再開させるストリームを含む接続の接続idではない。
OK
コマンドは正常に完了した。ストリームは、そのデータについて再開される。
指定されたストリームが存在しない。
一時停止ストリーム内の次のフレームを要求する。ストリームは、すでに一時停止されていない場合、まず一時停止され、その後、(複数の)次のフレームが送信される。この場合、送信されるフレームは、ネットワーク待ち時間およびバッファリングのせいで不確定である。すべてのフレームが順序正しく、この場合は一度だけ、送信されることが保証される。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。これは、フレームを取り出したいストリームを含む接続の接続idではない。
フレームを取り出したいストリームのストリームid。
OK
コマンドは正常に完了した。1つのフレームがデータ接続上でクライアント(つまり、ビューア2200)に送信される。
指定されたストリームが存在しない。
一時停止ストリーム内の前のフレームを要求する。ストリームは、すでに一時停止されていない場合、まず一時停止され、その後、前のフレームが送信される。この場合、送信されるフレームは、ネットワーク待ち時間およびバッファリングのせいで不確定である。すべてのフレームが順序正しく、この場合は一度だけ、送信されることが保証される。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。これは、フレームを取り出したいストリームを含む接続の接続idではない。
フレームを取り出したいストリームのストリームid。
OK
コマンドは正常に完了した。1つのフレームがデータ接続上でクライアント(つまり、ビューア2200)に送信される。
このコマンドは、指定されたビデオ・ストリームのフレーム速度を修正する。ストリーミングされる実際のフレーム速度は、指定されたフレーム速度と異なる場合がある。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。これは、修正したいストリームを含む接続の接続idではない。
修正するビデオ・ストリームのストリームid。これは、ビデオ・ストリームでなければならない。
ストリームが変更されなければならないフレーム速度。これは、絶対値(つまり、20)、または相対値(つまり、−2)とすることができる。プラスまたはマイナス記号で始まる値は、相対値である。フレーム速度は、サーバ(つまり、アクセス・エンジン203)が使用可能である値よりも高くすることはできない。
要求の範囲を変更する。これにより、ストリームは、範囲の先頭から再び開始する。
ストリームの再生速度を変更する。これは、ストリームが最初に要求されたときの再生速度を設定するのと同じ影響を持つ。ビデオ・ストリームの位置は変化しない。
ビデオの「transfer」フラグをセットまたはクリアする。これは、ストリームが要求されたときの設定と同じ影響を持つ。
OK
コマンドは正常に完了した。この応答が受信された後、その時点以降のすべてのフレームは、新しいフレーム速度になる。
指定されたストリームは存在しないか、またはこのクライアント(つまり、ビューア2200)に送信されていない。
指定されたストリームは、ビデオ・ストリームではない。
このコマンドは、クライアント(つまり、ビューア2200)に現在送信されているストリームを停止する。これは、イベント要求などのビデオ・ストリームを含まない。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。これは、停止すべきストリームを含む接続の接続idではない。
停止すべきストリームid。
OK
コマンドは正常に完了した。ストリームは、停止される。「close」ブロブは、ストリーム内の最後のブロブを示すためにストリームを介して送信される。クライアント(つまり、ビューア2200)はこのブロブを受信した後、stream−idは有効でなくなる。
指定されたストリームは存在しないか、またはこのクライアント(つまり、ビューア2200)に送信されていない。
このコマンドは、no−opコマンドであり、接続が閉じられないようにするために定期的にクライアント(つまり、ビューア2200)によりサーバ(つまり、アクセス・エンジン203)に送信されなければならない。クライアント(つまり、ビューア2200)がコマンド接続上で他のデータを送信していない場合にのみ必要である。
パラメータ:なし
応答
OK
このコマンドは失敗しえない。どのデータ接続にもブロブは送信されない。
クライアント(つまり、ビューア2200)がコマンド接続を行い、セットアップ・コマンドを発行した後、クライアント(つまり、ビューア2200)は、サーバ(つまり、アクセス・エンジン203)との1つまたは複数のデータ接続を行う必要がある。これは、ただ1つのパラメータ、つまり、データ接続の接続idとともに、コマンドをサーバ(つまり、アクセス・エンジン203)に発行するのと同じ方法で実行される。
/canvas/access_engine/stream?command=data&connection_
id=2345&command_connection=1234 HTTP/1.0
Host: <access server host>
Canvas-protocol-version: 1.0
Canvas-client- operator interface
Canvas-client-version: 1.0
Connection: keep-alive
これに対する可能な応答は以下のとおりである。
データ接続はこれで準備完了である。サーバ(つまり、アクセス・エンジン203)は、チャンク符号を指定し、HTTP応答は、終了しない。
与えられた接続idが割り当てられていないか、与えられたコマンドidに割り当てられていないか、またはデータ接続ではない。
与えられたコマンド接続idは、有効なコマンド接続idでないか、またはそのデータ接続に関連付けられていない。
与えられたコマンド接続には、すでに必要な回数のデータ接続がある。
付録B:ブロブの形式
アクセス・エンジン203とビューア2200との間の通信で使用されるブロブの形式を以下に示す。
struct AE_VideoBlob
{
CNV_Time time;
Image im;
}
それぞれのビデオ・ブロブは、時間構造体の中で指定された時刻の単一のjpeg画像を含む。時刻構造体は、年の後に、当年の0から始まる日の通し番号(つまり、1月1日は日0、2月2日は日32)、フレームが記録された日までのミリ秒数が続く。
struct event
{
uint16 num_events;
struct event events[];
};
イベントの数は、番号の後のイベントの数である。それぞれのイベントは、改行文字により区切られる。
struct start
{
uint32 connection_id;
}
これは、データ接続上で送信される第1のブロブである。これは、データ・ストリームの接続idを含む。ブロブのストリームidは、0に設定される。
このブロブは、タイムアウトにより介在するプロキシ・サーバが接続を閉じるのを防ぐために一定の不活動期間の後にクライアント(ビューア2200)に送信される。接続上で他の活動がある場合(ストリーミング・ビデオなど)、keepaliveブロブは送信されない。このようなブロブは、クライアント(つまり、ビューア2200)によるタイミングに関して依存されるべきでない。このブロブ・タイプには付加データはない。
struct start
{
uint32 stream_id;
}
「End stream」ブロブは、ストリームが終了している場合に送信される。これは、アクセス・エンジン203がストリームを終了しつつあり、クライアント(ビューア2200)がもはやこのストリームからブロブを受信しなくなることを意味する。終了したストリームを修正する他のすべての要求は失敗する。
「Close stream」ブロブは、データ接続上の最後のブロブとして送信される。クライアント(ビューア2200)は、ビューアが「close stream」ブロブを受信すると、接続を閉じる。このブロブ・タイプには付加データはない。
struct no_video_blob
{
CNV_Time curr_time;
CNV_Time next_time;
}
「No video」ブロブは、ビデオはまだ来るが、現在、ストリーム内の現在時刻には何もない場合に、ビデオ・ブロブの代わりに、クライアント(つまり、ビューア2200)に送信される。これらのブロブは、no video期間に定期的に送信されるが、ビデオと同じ速度では送信されない。現在時刻は、ストリーム内の現在時刻である。この現在時刻値は、欠落ビデオの期間中にアクセス・エンジン203との同期を保持するためにクライアント(つまり、ビューア2200)により使用されることができる。次のフレームまでの時間は、ストリーム内の次のフレームが送信されるべきときまでの時間である。
付録C:アクセス・エンジンおよびビューアによって使用されるヘッダ、応答、およびコマンド
ヘッダ
以下のヘッダは、クライアント(つまり、ビューア2200)により送信されるすべてまたはほとんどの要求、またはサーバ(つまり、アクセス・エンジン203)により送信される応答内に存在していなければならない。特定のコマンドに関して他のヘッダを含めることもできる。
クライアント(つまり、ビューア2200)またはサーバ(つまり、アクセス・エンジン203)が使用しているプロトコルのバージョン。versionはプロトコルのバージョンを指定する整数である。本書では、version 1と記述する。これは、クライアント(つまり、ビューア2200)からのすべての要求、およびサーバ(つまり、アクセス・エンジン203)からの応答に含まれなければならない。
クライアント(つまり、ビューア2200)の名前。nameは、ブラウザを記述するために使用されるUser−agent文字列などのような自由形式文字列である。これは、クライアント(つまり、ビューア2200)からのすべての要求に含まれなければならない。
クライアント(つまり、ビューア2200)のバージョン。versionは、「1.2.3」の形のドット数値記表文字列である。これは、クライアント(つまり、ビューア2200)からのすべての要求に含まれなければならない。
サーバ(つまり、アクセス・エンジン203)の名前。nameは、Webサーバ応答の中のServer文字列のような自由形式文字列であり、サーバ(つまり、アクセス・エンジン203)からのすべての応答に含まれなければならない。
サーバのバージョン。versionは、「1.2.3」の形式のドット数値記表文字列であり、サーバ(つまり、アクセス・エンジン203)からのすべての応答に含まれなければならない。
これは、現在のクライアント(つまり、ビューア2200)接続の接続idであり、セットアップ要求を除きクライアント(つまり、ビューア2200)からのすべての要求で送信されなければならない。idは、10進数形式の32ビット整数である。
いくつかの応答は、すべての、またはほとんどすべてのコマンドにわたって共通である。これらは、すべてのコマンドに関して以下で繰り返されないエラー・メッセージである。
これは、未指定の発信源のサーバ(つまり、アクセス・エンジン203)内のエラーを示す。サーバ(つまり、アクセス・エンジン203)は、不規則に実行を開始する場合がある。この応答は、すべてのコマンドに適用される。
クライアント(つまり、ビューア2200)は、セットアップ・コマンドを発行していない。サーバ(つまり、アクセス・エンジン203)は、クライアント(つまり、ビューア2200)がセットアップまたは再接続を呼び出すまで、セットアップまたは再接続を除き、この応答でコマンドに応答する。試みられていたコマンドは失敗し、データ接続がもし存在すればそれに対し変更が加えられていない。
以下に、制御接続6005上でクライアント(つまり、ビューア2200)によりサーバ(つまり、アクセス・エンジン203)に送信されるコマンドのリストをまとめた。これらはコマンドとして説明されているが、実際には、キャンバス・ストリーミング・サーバ「ファイル」をフェッチするHTTP GETコマンドへのパラメータである。例えば、セットアップ・コマンドは、実際には、以下のHTTPコマンド(最低限のヘッダを持つ)である。
Host: <access server host>
nvr-protocol-version: 1.0
nvr-client: operator interface
nvr-client-version: 1.0
Connection: keep-alive
応答は、標準的なHTTP応答であり、応答のデータ・セクション内に追加情報が含まれる。例えば、次のようである。
nvr-protocol-version: 1.0
nvr-sever: Access Engine
nvr-sever-version: 1.0
Connection: keep-alive
Keep-alive: timeout=20, max=0
Content-type: text/text
Connection-id=1234
Num-Data-connections=2
Data-connection-ids=2345, 3456
それぞれのコマンドは、URLに入れるコマンド・テキスト、他のパラメータ、および可能な応答をリストにしたものである。
これは、ビューア2200が接続した後、クライアント(つまり、ビューア2200)によりサーバ(つまり、アクセス・エンジン203)に送信される第1のコマンドである。これの前に送信される他のコマンドはどれも、サーバ(つまり、アクセス・エンジン203)からエラーを生成する。setupは、クライアント(つまり、ビューア2200)がセットアップ応答で示されているデータ接続回数を確定するまで完了しない。
パラメータ:なし
応答:
OK
セットアップの第1の部分は、正常に完了した。クライアント(つまり、ビューア2200)がデータ接続を完了するまで、セットアップ手順は終了しない。この応答の中のデータは以下のフィールドを持つ。
これは、コマンド接続のコマンド接続idを指定する。
データ接続のid
Num−data−connections
クライアント(つまり、ビューア2200)がサーバ(つまり、アクセス・エンジン203)に対し開く必要があるデータの数。プロトコルのこのバージョンでは、これは常に1である。
クライアント(つまり、ビューア2200)はすでにセットアップされている。データ接続はまだ有効である。この応答ではデータはない。
このコマンドは、サーバ(つまり、アクセス・エンジン203)へのクライアント(つまり、ビューア2200)の接続をシャットダウンするために使用される。すべてのデータ・ストリームは、閉じられ、すべてのサーバ(つまり、アクセス・エンジン203)リソースは、解放される。このコマンドが完了すると、ビューアは接続を閉じなければならない。クライアント(つまり、ビューア2200)は、「close」ブロブが受信されるまでデータ接続を閉じてはならない。
パラメータ:
Connection−id
セットアップ応答の中のクライアント(つまり、ビューア2200)に与えられたコマンド接続id。
OK
シャットダウンは正常に完了した。クライアント(つまり、ビューア2200)は、データ接続上で「close」ブロブを予期すべきである。サーバ(つまり、アクセス・エンジン203)によって新しいデータは送信されないが、出力バッファ内のデータが送信されている間に遅延がありうる。
Fetch Video
このコマンドは、サーバ(つまり、アクセス・エンジン203)からのビデオ・データのストリーミングを開始するために使用される。クライアント(つまり、ビューア2200)は、サーバ(つまり、アクセス・エンジン203)ができる限り速くビデオを転送するか、またはビューイング速度でストリーミングすることを要求することができる。サーバ(つまり、アクセス・エンジン203)は、ビデオ・ストリームの到達に使用される接続を決定する。
パラメータ:
Connection−id
セットアップ応答の中のクライアント(つまり、ビューア2200)に与えられたコマンド接続id。このパラメータは必須である。
要求されたビデオの望ましいフレーム速度。これが、使用可能なフレーム速度よりも高い場合、ストリーミングは、そのまま開始し、クライアント(つまり、ビューア2200)は、第1のビデオ・フレームの前にコマンド接続応答またはデータ接続のいずれかでこのことを通知される。この値は、0.1から25(PAL記録システムの場合)、または30(NTSC記録システムの場合)までの範囲の値である。
再生速度は、ビューアがビデオを見せようと望む知覚速度である。値は、100を超える比であるため、100は通常再生速度であり、200は倍速であり、25は1/4倍速である。巻き戻し再生の場合、再生速度を負の数に設定する。パラメータは、オプションである。
ビデオが生成されたカメラのid。
ネットワーク輻輳のため、フレームをスキップするのではなく、ビデオ内のすべてのフレームをストリーミングするようにサーバ(つまり、アクセス・エンジン203)に通知する論理値フラグである。このフラグは、転送が設定された場合に暗示され、設定は、転送がURL内で設定されている値に関係なく設定される場合に常に真である。すべてのサーバがフレームのスキップをサポートしているわけではないことに注意されたい。
このストリームが転送ストリームであることサーバ(つまり、アクセス・エンジン203)に知らせる論理値フラグ。これは、2つの影響を持つ。第1に、ネットワーク輻輳に関係なくすべてのフレームが送信されるようにno−skipフラグをセットすることであり、第2に、サーバ(つまり、アクセス・エンジン203)が実時間ではなく可能な限り速くビデオを送信しようとすることを意味する。サーバ(つまり、アクセス・エンジン203)は、そのまま、転送により使用される帯域幅を絞り、ネットワーク帯域幅の実時間ビデオ転送の不足を生じさせないようにすることを選択することができる。
これは、取り出すビデオの時間範囲または特別な値「live」のいずれかである。「live」が設定されている場合、カメラからのライブ・フィードは、ほぼ指定されたフレーム速度で供給される。ライブ要求では、転送およびno−skipオプションを無視する。時間範囲のフォーマットは:
Yyyymmdd_hhmmss[uuu][_yyyymmdd_hhmmss[uuu]]
つまり、4桁の年、2桁の月、2桁の日、下線、2桁の時(24時間UTC)、2桁の分、オプションの3桁のミリ秒、オプションの下線、その後、開始時刻と同じ形式のオプションの終了時刻。終了時刻がない場合、後続の下線はあってはならない。終了時刻がない場合、時間は、連続要求であると想定される。
OK
要求は成功した。ビデオは、指定されたストリーム内の指定されたデータ接続で到着を始める。この応答は以下のフィールドを持つ。
ビデオが送信されるデータ接続。このフィールドは、常に、コマンド応答の中にある。
ビデオ・ストリームのストリームid。このフィールドは、常に、コマンド応答の中にある。
要求されたカメラは存在しない。ビデオはストリーミングされない。
このコマンドは、フレーム・シーケンス番号、カメラ、および位置指定子(次、現在、または前)が与えられた場合、サーバ(つまり、アクセス・エンジン203)から単一フレームをフェッチする。これにより、クライアント(つまり、ビューア2200)は、順方向または逆方向に、1フレームずつビデオ・フレームのセクションを辿る。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。
フレームを生成したカメラのid。
参照フレームのシーケンス番号。
seq−numに関して取り出すフレームを参照する「current」、「next」、または「previous」のうちの1つ。「Current」は、与えられたseq−numに最も近いフレームを取得することを意味する。最も近いフレームが2つある場合、一番最近のものが返される。「next」は、与えられたシーケンス番号の後の次のフレームを返し、「previous」は、与えられたシーケンス番号の前の前のフレームを返す。
OK
要求は成功した。フレームは、返されたストリームの中で、返された接続id上に到着する。この応答は以下のフィールドを持つ。
フレームが届く接続id。これは、クライアント(つまり、ビューア2200)が開いているデータ接続のうちの1つとなる。このフィールドは、常に、コマンド応答の中にある。
フレームが届くストリームid。このフィールドは、コマンド応答の中にある。
使用可能なフレームがないため要求は失敗した。これは、例えばビデオ内の最後のフレームの後の次のフレームが要求された場合に発生することがある。
要求されたカメラは存在しない。
このコマンドは、サーバ(つまり、アクセス・エンジン203)から与えられた時間範囲内のイベント・データを要求する。また、ロケーション、ゾーン、またはカメラのオプション・パラメータを持つこともできる。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。
イベントが発生した時間範囲。これは、ビデオ要求と同じ形式である。このパラメータは必須である。
このカメラに関係するイベントを返す。このパラメータは必須である。
OK
要求は成功した。イベント・データは、返されたデータ接続およびストリーム上に到着し始める。この応答は以下のフィールドを持つ。
イベント・データが到着する接続の接続id。これは、クライアント(つまり、ビューア2200)が開いているデータ接続のうちの1つとなる。このフィールドは、常に、コマンド応答の中にある。
イベント・データが届くストリームid。このフィールドは、常に、コマンド応答の中にある。
指定されたカメラは存在しない。
送信するイベント・データが多すぎるため、サーバ(つまり、アクセス・エンジン203)は、要求を完了することができない。クライアント(つまり、ビューア2200)は、小さな時間範囲を要求し、複数のさらに小さなチャンクで要求を完了しなければならない。
指定されたクエリ内にイベント・データがない。
このコマンドは、進行中のストリームを一時停止する。ビデオとイベントの両方に適用可能である。ストリームは、ストリームに対しresumeを呼び出すことにより後から再開できる。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。これは、一時停止させるストリームを含むデータ接続の接続idではない。
一時停止させるビデオまたはイベント・ストリームのストリームid。
OK
コマンドは正常に完了した。ストリームは、近い将来一時停止される。いくつかのブロブは、まだネットワークのバッファリングにより、アクセス・エンジン203から受信できる。
指定されたストリームが存在しない。
このコマンドは、すでに一時停止されているストリームを再開する。ストリームは、ちょうど一時停止されたところから継続する。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。これは、再開させるストリームを含む接続の接続idではない。
OK
コマンドは正常に完了した。ストリームは、そのデータについて再開される。
指定されたストリームが存在しない。
一時停止ストリーム内の次のフレームを要求する。ストリームは、すでに一時停止されていない場合、まず一時停止され、その後、(複数の)次のフレームが送信される。この場合、送信されるフレームは、ネットワーク待ち時間およびバッファリングのせいで不確定である。すべてのフレームが順序正しく、この場合は一度だけ、送信されることが保証される。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。これは、フレームを取り出したいストリームを含む接続の接続idではない。
フレーム形式を取り出したいストリームのストリームid。
OK
コマンドは正常に完了した。1つのフレームがデータ接続上でクライアント(つまり、ビューア2200)に送信される。
指定されたストリームが存在しない。
一時停止ストリーム内の前のフレームを要求する。ストリームは、すでに一時停止されていない場合、まず一時停止され、その後、前のフレームが送信される。この場合、送信されるフレームは、ネットワーク待ち時間およびバッファリングのせいで不確定である。すべてのフレームが順序正しく、この場合は一度だけ、送信されることが保証される。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。これは、フレームを取り出したいストリームを含む接続の接続idではない。
フレーム形式を取り出したいストリームのストリームid。
OK
コマンドは正常に完了した。1つのフレームがデータ接続上でクライアント(つまり、ビューア2200)に送信される。
このコマンドは、指定されたビデオ・ストリームのフレーム速度を修正する。ストリーミングされる実際のフレーム速度は、指定されたフレーム速度と異なる場合がある。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。これは、修正したいストリームを含む接続の接続idではない。
修正するビデオ・ストリームのストリームid。これは、ビデオ・ストリームでなければならない。
ストリームが変更されなければならないフレーム速度。これは、絶対値(つまり、20)、または相対値(つまり、−2)とすることができる。プラスまたはマイナス記号で始まる値は、相対値である。フレーム速度は、サーバ(つまり、アクセス・エンジン203)が使用可能である値よりも高くすることはできない。
要求の範囲を変更する。これにより、ストリームは、範囲の先頭から再び開始する。
ストリームの再生速度を変更する。これは、ストリームが最初に要求されたときの再生速度を設定するのと同じ影響を持つ。ビデオ・ストリームの位置は変化しない。
ビデオの「transfer」フラグをセットまたはクリアする。これは、ストリームが要求されたときの設定と同じ影響を持つ。
OK
コマンドは正常に完了した。この応答が受信された後、その時点以降のすべてのフレームは、新しいフレーム速度になる。
指定されたストリームは存在しないか、またはこのクライアント(つまり、ビューア2200)に送信されていない。
指定されたストリームは、ビデオ・ストリームではない。
このコマンドは、クライアント(つまり、ビューア2200)に現在送信されているストリームを停止する。これは、イベント要求などのビデオ・ストリームを含まない。
パラメータ:
Connection−id
セットアップ・コマンドによりクライアント(つまり、ビューア2200)に割り当てられたコマンド接続id。これは、停止すべきストリームを含む接続の接続idではない。
停止すべきストリームid。
OK
コマンドは正常に完了した。ストリームは、停止される。「close」ブロブは、ストリーム内の最後のブロブを示すためにストリームを介して送信される。クライアント(つまり、ビューア2200)がいったんこのブロブを受信すると、stream−idは有効でなくなる。
指定されたストリームは存在しないか、またはこのクライアント(つまり、ビューア2200)に送信されていない。
このコマンドは、no−opコマンドであり、接続が閉じられないようにするために定期的にクライアント(つまり、ビューア2200)によりサーバ(つまり、アクセス・エンジン203)に送信されなければならない。クライアント(つまり、ビューア2200)がコマンド接続上で他のデータを送信していない場合にのみ必要である。
パラメータ:なし
応答
OK
このコマンドは失敗しえない。どのデータ接続にもブロブは送信されない。
クライアント(つまり、ビューア2200)がコマンド接続を行い、セットアップ・コマンドを発行した後、クライアント(つまり、ビューア2200)は、サーバ(つまり、アクセス・エンジン203)との1つまたは複数のデータ接続を行う必要がある。これは、ただ1つのパラメータ、つまり、データ接続の接続idとともに、コマンドをサーバ(つまり、アクセス・エンジン203)に発行するのと同じ方法で実行される。
/canvas/access_engine/stream?command=data&connection_
id=2345&command_connection=1234 HTTP/1.0
Host: <access server host>
Canvas-protocol-version: 1.0
Canvas-client: operator interface
Canvas-client-version: 1.0
Connection: keep-alive
これに対する可能な応答は以下のとおりである。
データ接続はこれで準備完了である。サーバ(つまり、アクセス・エンジン203)は、チャンク符号を指定し、HTTP応答は、終了しない。
与えられた接続idが割り当てられていないか、与えられたコマンドidに割り当てられていないか、またはデータ接続ではない。
与えられたコマンド接続idは、有効なコマンド接続idでないか、またはそのデータ接続に関連付けられていない。
与えられたコマンド接続には、すでに必要な回数のデータ接続がある。
アクセス・エンジンとビューアとの間の通信で使用されるブロブの形式の説明。
アクセス・エンジンおよびビューアにより使用されるヘッダ、応答、およびコマンドの説明。
Claims (5)
- ディスプレイ・デバイスによって表示するために、画像取り込みデバイスにより取り込まれた複数の画像を含むシーケンスを送信する方法であって、
前記画像取り込みデバイスにより取り込まれたシーケンスに含まれる第1の画像を記憶手段から読み込む工程と、
前記シーケンスに含まれる、前記第1の画像の次の第2の画像を前記記憶手段から読み込む工程と、
表示するために前記ディスプレイ・デバイスに前記第1の画像を送信し、続いて前記第2の画像を送信する工程と、
現在のクロック手段による時刻から、前記第2の画像に付加されている該第2の画像の送信時刻、までの間の時間が、予め定められた時間より大きいか否かを判定する判定工程とを備え、
前記送信工程では、前記時間が前記予め定められた時間より大きいと判定された場合には、画像が存在していないことを示すデータを前記ディスプレイ・デバイスに送信することを特徴とする方法。 - 前記画像が存在していないことを示すデータは、前記シーケンスの転送速度より遅い速度で送信されることを特徴とする請求項1に記載の方法。
- 前記画像が存在していないことを示すデータは、前記第2の画像が表示される時刻を示すことを特徴とする請求項1に記載の方法。
- ディスプレイ・デバイスによって表示するために、画像取り込みデバイスにより取り込まれた複数の画像を含むシーケンスを送信する装置であって、
前記画像取り込みデバイスにより取り込まれたシーケンスに含まれる第1の画像を記憶手段から読み込む手段と、
前記シーケンスに含まれる、前記第1の画像の次の第2の画像を前記記憶手段から読み込む手段と、
表示するために前記ディスプレイ・デバイスに前記第1の画像を送信し、続いて前記第2の画像を送信する手段と、
現在のクロック手段による時刻から、前記第2の画像に付加されている該第2の画像の送信時刻、までの間の時間が、予め定められた時間より大きいか否かを判定する判定手段とを備え、
前記送信手段は、前記時間が前記予め定められた時間より大きいと判定された場合には、画像が存在していないことを示すデータを前記ディスプレイ・デバイスに送信することを特徴とする装置。 - コンピュータを、請求項4に記載の装置が有する各手段として機能させるためのコンピュータ・プログラム。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2003905159A AU2003905159A0 (en) | 2003-09-12 | Streaming Non-Continuous Video Data | |
AU2003905157A AU2003905157A0 (en) | 2003-09-12 | Event Caching Method | |
AU2003905162A AU2003905162A0 (en) | 2003-09-12 | Configurable Video Window Layouts | |
AU2003905160A AU2003905160A0 (en) | 2003-09-12 | Initiating Video Recording in a Networked Video Recording System | |
AU2003905163A AU2003905163A0 (en) | 2003-09-12 | Representation of Networked Video Cameras in a User Interface | |
AU2003905158A AU2003905158A0 (en) | 2003-09-12 | Stitching and Streaming Files in a Networked Video Recording System | |
AU2003905161A AU2003905161A0 (en) | 2003-09-12 | Re-establishment of Camera Control | |
PCT/AU2004/001229 WO2005027068A1 (en) | 2003-09-12 | 2004-09-10 | Streaming non-continuous video data |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009104537A Division JP5173919B2 (ja) | 2003-09-12 | 2009-04-22 | ビデオデータの再生装置、再生方法、コンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007505523A JP2007505523A (ja) | 2007-03-08 |
JP4612906B2 true JP4612906B2 (ja) | 2011-01-12 |
Family
ID=34317814
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006525576A Expired - Fee Related JP4612906B2 (ja) | 2003-09-12 | 2004-09-10 | シーケンスを送信する方法、装置、及びコンピュータ・プログラム |
JP2009104537A Expired - Fee Related JP5173919B2 (ja) | 2003-09-12 | 2009-04-22 | ビデオデータの再生装置、再生方法、コンピュータプログラム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009104537A Expired - Fee Related JP5173919B2 (ja) | 2003-09-12 | 2009-04-22 | ビデオデータの再生装置、再生方法、コンピュータプログラム |
Country Status (3)
Country | Link |
---|---|
US (2) | US7683940B2 (ja) |
JP (2) | JP4612906B2 (ja) |
WO (1) | WO2005027068A1 (ja) |
Families Citing this family (361)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9038108B2 (en) | 2000-06-28 | 2015-05-19 | Verizon Patent And Licensing Inc. | Method and system for providing end user community functionality for publication and delivery of digital media content |
US7970260B2 (en) | 2001-06-27 | 2011-06-28 | Verizon Business Global Llc | Digital media asset management system and method for supporting multiple users |
US8990214B2 (en) | 2001-06-27 | 2015-03-24 | Verizon Patent And Licensing Inc. | Method and system for providing distributed editing and storage of digital media over a network |
US8972862B2 (en) | 2001-06-27 | 2015-03-03 | Verizon Patent And Licensing Inc. | Method and system for providing remote digital media ingest with centralized editorial control |
US8321534B1 (en) * | 2003-10-15 | 2012-11-27 | Radix Holdings, Llc | System and method for synchronization based on preferences |
US20050097046A1 (en) | 2003-10-30 | 2005-05-05 | Singfield Joy S. | Wireless electronic check deposit scanning and cashing machine with web-based online account cash management computer application system |
US8064752B1 (en) | 2003-12-09 | 2011-11-22 | Apple Inc. | Video encoding |
US8041186B1 (en) | 2003-12-09 | 2011-10-18 | Apple Inc. | Propagating metadata associated with digital video |
US8135261B1 (en) | 2003-12-09 | 2012-03-13 | Apple Inc. | Insertion and usage of metadata in digital video |
US9460346B2 (en) | 2004-04-19 | 2016-10-04 | Google Inc. | Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device |
JP4182932B2 (ja) * | 2004-08-04 | 2008-11-19 | ソニー株式会社 | 記録装置および方法、再生装置および方法、記録再生装置および方法、並びにプログラム |
WO2006034135A2 (en) * | 2004-09-17 | 2006-03-30 | Proximex | Adaptive multi-modal integrated biometric identification detection and surveillance system |
US7821533B2 (en) * | 2004-09-23 | 2010-10-26 | Smartvue Corporation | Wireless video surveillance system and method with two-way locking of input capture devices |
US7728871B2 (en) | 2004-09-30 | 2010-06-01 | Smartvue Corporation | Wireless video surveillance system & method with input capture and data transmission prioritization and adjustment |
US20060095539A1 (en) | 2004-10-29 | 2006-05-04 | Martin Renkis | Wireless video surveillance system and method for mesh networking |
US8842179B2 (en) | 2004-09-24 | 2014-09-23 | Smartvue Corporation | Video surveillance sharing system and method |
US7590648B2 (en) * | 2004-12-27 | 2009-09-15 | Brocade Communications Systems, Inc. | Template-based development of servers |
US7797288B2 (en) * | 2004-12-27 | 2010-09-14 | Brocade Communications Systems, Inc. | Use of server instances and processing elements to define a server |
JP4529775B2 (ja) * | 2005-04-15 | 2010-08-25 | ソニー株式会社 | 再生装置、その表示方法および表示プログラム、表示装置および表示方法、ならびに記録再生装置およびその表示方法 |
US20060242678A1 (en) * | 2005-04-20 | 2006-10-26 | Anthony Pugliese, | Remote network video content recorder system |
JP4551813B2 (ja) * | 2005-04-28 | 2010-09-29 | 株式会社東芝 | コンピュータおよびプログラム |
US7650069B1 (en) * | 2005-05-06 | 2010-01-19 | Caringfamily, Llc | GrannySnap architecture |
US20060268330A1 (en) * | 2005-05-10 | 2006-11-30 | Tetsuhiro Takanezawa | Image reproduction apparatus and image reproduction method |
US8001076B2 (en) * | 2005-07-12 | 2011-08-16 | International Business Machines Corporation | Ranging scalable time stamp data synchronization |
US9401080B2 (en) | 2005-09-07 | 2016-07-26 | Verizon Patent And Licensing Inc. | Method and apparatus for synchronizing video frames |
US8631226B2 (en) | 2005-09-07 | 2014-01-14 | Verizon Patent And Licensing Inc. | Method and system for video monitoring |
US9076311B2 (en) | 2005-09-07 | 2015-07-07 | Verizon Patent And Licensing Inc. | Method and apparatus for providing remote workflow management |
DE102005046664B4 (de) * | 2005-09-29 | 2016-11-17 | Robert Bosch Gmbh | Verfahren zur Erzeugung eines flexiblen Anzeigebereichs für ein Videoüberwachungssystem |
US20070093973A1 (en) * | 2005-10-20 | 2007-04-26 | Hoogenboom Christopher L | Digital communication system for monitoring the structural integrity of a building and sensor therefor |
US7312703B2 (en) * | 2005-10-20 | 2007-12-25 | Hoogenboom Christopher L | Initialization of a sensor for monitoring the structural integrity of a building |
US20070090945A1 (en) * | 2005-10-20 | 2007-04-26 | Hoogenboom Christopher L | Power conserving mode for a sensor for monitoring the structural integrity of a building |
US20070093974A1 (en) * | 2005-10-20 | 2007-04-26 | Hoogenboom Christopher L | Remote configuration of a sensor for monitoring the structural integrity of a building |
US20070093975A1 (en) * | 2005-10-20 | 2007-04-26 | Hoogenboom Christopher L | Link establishment in a system for monitoring the structural integrity of a building |
WO2007045051A1 (en) | 2005-10-21 | 2007-04-26 | Honeywell Limited | An authorisation system and a method of authorisation |
CN101365522B (zh) * | 2005-12-27 | 2012-03-28 | 巨大股份有限公司 | 如在视频游戏或移动设备环境中的流媒体投放 |
US8214516B2 (en) * | 2006-01-06 | 2012-07-03 | Google Inc. | Dynamic media serving infrastructure |
US8068541B2 (en) * | 2006-01-30 | 2011-11-29 | Jan Harding Thomsen | Systems and methods for transcoding bit streams |
US20070177519A1 (en) * | 2006-01-30 | 2007-08-02 | Thomsen Jan H | Systems and methods for transcoding bit streams |
US8954852B2 (en) | 2006-02-03 | 2015-02-10 | Sonic Solutions, Llc. | Adaptive intervals in navigating content and/or media |
US7823056B1 (en) * | 2006-03-15 | 2010-10-26 | Adobe Systems Incorporated | Multiple-camera video recording |
TWI288918B (en) * | 2006-03-30 | 2007-10-21 | Sunplus Technology Co Ltd | Optical storage media for real-time recording AVI-format file and method therefor |
KR100848128B1 (ko) * | 2006-04-24 | 2008-07-24 | 한국전자통신연구원 | 실시간 스트리밍 프로토콜을 이용한 프로그래시브 스트리밍방법 |
US7877777B2 (en) * | 2006-06-23 | 2011-01-25 | Canon Kabushiki Kaisha | Network camera apparatus and distributing method of video frames |
JP4337849B2 (ja) * | 2006-07-26 | 2009-09-30 | ソニー株式会社 | 記録装置、記録方法および記録プログラム、ならびに、撮像装置、撮像方法および撮像プログラム |
CN101146217A (zh) * | 2006-09-14 | 2008-03-19 | 鸿富锦精密工业(深圳)有限公司 | 摄像监控系统以及该系统的控制装置和控制方法 |
US7933994B1 (en) * | 2006-09-29 | 2011-04-26 | Sprint Communications Company L.P. | Extracting embedded NAIS (network access identifiers) |
US8274564B2 (en) * | 2006-10-13 | 2012-09-25 | Fuji Xerox Co., Ltd. | Interface for browsing and viewing video from multiple cameras simultaneously that conveys spatial and temporal proximity |
US7885451B1 (en) | 2006-10-31 | 2011-02-08 | United Services Automobile Association (Usaa) | Systems and methods for displaying negotiable instruments derived from various sources |
US7873200B1 (en) | 2006-10-31 | 2011-01-18 | United Services Automobile Association (Usaa) | Systems and methods for remote deposit of checks |
US8351677B1 (en) | 2006-10-31 | 2013-01-08 | United Services Automobile Association (Usaa) | Systems and methods for remote deposit of checks |
US8799147B1 (en) | 2006-10-31 | 2014-08-05 | United Services Automobile Association (Usaa) | Systems and methods for remote deposit of negotiable instruments with non-payee institutions |
US8708227B1 (en) | 2006-10-31 | 2014-04-29 | United Services Automobile Association (Usaa) | Systems and methods for remote deposit of checks |
US7876949B1 (en) | 2006-10-31 | 2011-01-25 | United Services Automobile Association | Systems and methods for remote deposit of checks |
US8375302B2 (en) * | 2006-11-17 | 2013-02-12 | Microsoft Corporation | Example based video editing |
JP2008129821A (ja) * | 2006-11-20 | 2008-06-05 | Canon Inc | 検索システム及び前記システムにおける検索結果の表示方法 |
JP4795212B2 (ja) * | 2006-12-05 | 2011-10-19 | キヤノン株式会社 | 録画装置、端末装置及び処理方法 |
EP2095260B1 (en) * | 2006-12-13 | 2015-04-15 | Johnson Controls, Inc. | Source content preview in a media system |
GB0625178D0 (en) * | 2006-12-18 | 2007-01-24 | Ubc Media Group Plc | Improvements relating to downloading data |
AU2006252090A1 (en) * | 2006-12-18 | 2008-07-03 | Canon Kabushiki Kaisha | Dynamic Layouts |
US8276098B2 (en) | 2006-12-22 | 2012-09-25 | Apple Inc. | Interactive image thumbnails |
US9142253B2 (en) * | 2006-12-22 | 2015-09-22 | Apple Inc. | Associating keywords to media |
US20080288869A1 (en) * | 2006-12-22 | 2008-11-20 | Apple Inc. | Boolean Search User Interface |
US8205230B2 (en) | 2006-12-29 | 2012-06-19 | Google Inc. | System and method for displaying and searching multimedia events scheduling information |
US20080163048A1 (en) * | 2006-12-29 | 2008-07-03 | Gossweiler Iii Richard Carl | System and method for displaying multimedia events scheduling information and Corresponding search results |
US8544040B2 (en) * | 2006-12-29 | 2013-09-24 | Google Inc. | System and method for displaying multimedia events scheduling information |
US8291454B2 (en) * | 2006-12-29 | 2012-10-16 | Google Inc. | System and method for downloading multimedia events scheduling information for display |
US20080178232A1 (en) * | 2007-01-18 | 2008-07-24 | Verizon Data Services Inc. | Method and apparatus for providing user control of video views |
US8959033B1 (en) | 2007-03-15 | 2015-02-17 | United Services Automobile Association (Usaa) | Systems and methods for verification of remotely deposited checks |
US10380559B1 (en) | 2007-03-15 | 2019-08-13 | United Services Automobile Association (Usaa) | Systems and methods for check representment prevention |
US7777783B1 (en) * | 2007-03-23 | 2010-08-17 | Proximex Corporation | Multi-video navigation |
US9544563B1 (en) | 2007-03-23 | 2017-01-10 | Proximex Corporation | Multi-video navigation system |
BRPI0721555A2 (pt) * | 2007-04-11 | 2015-06-16 | Thomson Licensing | Indicação de relação de aspecto para janelas de exibição que podem ser redimensionadas |
IL182701A0 (en) * | 2007-04-19 | 2007-09-20 | Zeev Rojanski | A novel interface for previewing records of a network video recorder |
US8799952B2 (en) * | 2007-04-24 | 2014-08-05 | Google Inc. | Virtual channels |
US8972875B2 (en) * | 2007-04-24 | 2015-03-03 | Google Inc. | Relevance bar for content listings |
US8538124B1 (en) | 2007-05-10 | 2013-09-17 | United Services Auto Association (USAA) | Systems and methods for real-time validation of check image quality |
US8433127B1 (en) | 2007-05-10 | 2013-04-30 | United Services Automobile Association (Usaa) | Systems and methods for real-time validation of check image quality |
US8212884B2 (en) * | 2007-05-22 | 2012-07-03 | University Of Washington | Scanning beam device having different image acquisition modes |
JP5100215B2 (ja) * | 2007-06-20 | 2012-12-19 | キヤノン株式会社 | 画像表示装置、画像表示装置の制御方法、及びコンピュータ読み取り可能なプログラム |
US7912803B2 (en) * | 2007-06-27 | 2011-03-22 | International Business Machines Corporation | Creating a session log with a table of records for a computing device being studied for usability by a plurality of usability experts |
US20090006108A1 (en) * | 2007-06-27 | 2009-01-01 | Bodin William K | Creating A Session Log For A Computing Device Being Studied For Usability |
US7822702B2 (en) * | 2007-06-27 | 2010-10-26 | International Business Machines Corporation | Creating a session log for studying usability of computing devices used for social networking by filtering observations based on roles of usability experts |
US20090031381A1 (en) * | 2007-07-24 | 2009-01-29 | Honeywell International, Inc. | Proxy video server for video surveillance |
US9084025B1 (en) | 2007-08-06 | 2015-07-14 | Google Inc. | System and method for displaying both multimedia events search results and internet search results |
EP2191643A4 (en) * | 2007-09-21 | 2010-10-06 | Pelco Inc | METHOD AND DEVICE FOR CONFIGURING THE STORAGE OF VIDEO DATA FROM MULTIPLE SOURCES |
US9178957B2 (en) * | 2007-09-27 | 2015-11-03 | Adobe Systems Incorporated | Application and data agnostic collaboration services |
US9058512B1 (en) | 2007-09-28 | 2015-06-16 | United Services Automobile Association (Usaa) | Systems and methods for digital signature detection |
US8380045B2 (en) * | 2007-10-09 | 2013-02-19 | Matthew G. BERRY | Systems and methods for robust video signature with area augmented matching |
US8358826B1 (en) | 2007-10-23 | 2013-01-22 | United Services Automobile Association (Usaa) | Systems and methods for receiving and orienting an image of one or more checks |
US9892454B1 (en) | 2007-10-23 | 2018-02-13 | United Services Automobile Association (Usaa) | Systems and methods for obtaining an image of a check to be deposited |
US9898778B1 (en) | 2007-10-23 | 2018-02-20 | United Services Automobile Association (Usaa) | Systems and methods for obtaining an image of a check to be deposited |
US9159101B1 (en) | 2007-10-23 | 2015-10-13 | United Services Automobile Association (Usaa) | Image processing |
US7996314B1 (en) | 2007-10-30 | 2011-08-09 | United Services Automobile Association (Usaa) | Systems and methods to modify a negotiable instrument |
US7996316B1 (en) | 2007-10-30 | 2011-08-09 | United Services Automobile Association | Systems and methods to modify a negotiable instrument |
US8001051B1 (en) | 2007-10-30 | 2011-08-16 | United Services Automobile Association (Usaa) | Systems and methods to modify a negotiable instrument |
US8046301B1 (en) | 2007-10-30 | 2011-10-25 | United Services Automobile Association (Usaa) | Systems and methods to modify a negotiable instrument |
US7996315B1 (en) | 2007-10-30 | 2011-08-09 | United Services Automobile Association (Usaa) | Systems and methods to modify a negotiable instrument |
US8320657B1 (en) | 2007-10-31 | 2012-11-27 | United Services Automobile Association (Usaa) | Systems and methods to use a digital camera to remotely deposit a negotiable instrument |
US8290237B1 (en) | 2007-10-31 | 2012-10-16 | United Services Automobile Association (Usaa) | Systems and methods to use a digital camera to remotely deposit a negotiable instrument |
US8661096B2 (en) * | 2007-11-05 | 2014-02-25 | Cyberlink Corp. | Collaborative editing in a video editing system |
US7896232B1 (en) | 2007-11-06 | 2011-03-01 | United Services Automobile Association (Usaa) | Systems, methods, and apparatus for receiving images of one or more checks |
US7900822B1 (en) | 2007-11-06 | 2011-03-08 | United Services Automobile Association (Usaa) | Systems, methods, and apparatus for receiving images of one or more checks |
US9420014B2 (en) | 2007-11-15 | 2016-08-16 | Adobe Systems Incorporated | Saving state of a collaborative session in an editable format |
AU2007237206B2 (en) * | 2007-11-27 | 2009-12-10 | Canon Kabushiki Kaisha | Method, apparatus and system for displaying video data |
KR100885734B1 (ko) * | 2007-12-17 | 2009-02-26 | 한국전자통신연구원 | 영상정보 처리 시스템 및 방법 |
CN101472146B (zh) * | 2007-12-28 | 2010-11-10 | 鸿富锦精密工业(深圳)有限公司 | 视频监控系统及方法 |
CA2617119A1 (en) * | 2008-01-08 | 2009-07-08 | Pci Geomatics Enterprises Inc. | Service oriented architecture for earth observation image processing |
US8477811B2 (en) * | 2008-02-02 | 2013-07-02 | Qualcomm Incorporated | Radio access network (RAN) level keep alive signaling |
US10380562B1 (en) | 2008-02-07 | 2019-08-13 | United Services Automobile Association (Usaa) | Systems and methods for mobile deposit of negotiable instruments |
US10341615B2 (en) * | 2008-03-07 | 2019-07-02 | Honeywell International Inc. | System and method for mapping of text events from multiple sources with camera outputs |
US10354689B2 (en) | 2008-04-06 | 2019-07-16 | Taser International, Inc. | Systems and methods for event recorder logging |
US7856402B1 (en) | 2008-04-07 | 2010-12-21 | United Services Automobile Association (Usaa) | Video financial deposit |
US7912785B1 (en) | 2008-04-07 | 2011-03-22 | United Services Automobile Association (Usaa) | Video financial deposit |
US7792752B1 (en) * | 2008-04-07 | 2010-09-07 | United Services Automobile Association (Usaa) | Video financial deposit |
US8892689B1 (en) * | 2008-04-30 | 2014-11-18 | Netapp, Inc. | Method and apparatus for a storage server to automatically discover and join a network storage cluster |
US20170155877A1 (en) * | 2008-05-06 | 2017-06-01 | Careview Communications, Inc. | System and method for predicting patient falls |
US9959471B2 (en) | 2008-05-06 | 2018-05-01 | Careview Communications, Inc. | Patient video monitoring systems and methods for thermal detection of liquids |
US8531522B2 (en) * | 2008-05-30 | 2013-09-10 | Verint Systems Ltd. | Systems and methods for video monitoring using linked devices |
US8351678B1 (en) | 2008-06-11 | 2013-01-08 | United Services Automobile Association (Usaa) | Duplicate check detection |
CN101605246A (zh) * | 2008-06-13 | 2009-12-16 | 索尼株式会社 | 监控设备计划的管理系统及方法 |
US7882173B2 (en) * | 2008-06-30 | 2011-02-01 | International Business Machines Corporation | Interactive remote command execution over a stateless client/server network protocol |
EP2230629A3 (en) | 2008-07-16 | 2012-11-21 | Verint Systems Inc. | A system and method for capturing, storing, analyzing and displaying data relating to the movements of objects |
JP2010041535A (ja) * | 2008-08-07 | 2010-02-18 | Hitachi Ltd | データ配信装置 |
US8422758B1 (en) | 2008-09-02 | 2013-04-16 | United Services Automobile Association (Usaa) | Systems and methods of check re-presentment deterrent |
US10504185B1 (en) | 2008-09-08 | 2019-12-10 | United Services Automobile Association (Usaa) | Systems and methods for live video financial deposit |
US8300098B1 (en) * | 2008-09-16 | 2012-10-30 | Emc Corporation | Techniques for providing access to video data using a network attached storage device |
US7885880B1 (en) | 2008-09-30 | 2011-02-08 | United Services Automobile Association (Usaa) | Atomic deposit transaction |
US8275710B1 (en) | 2008-09-30 | 2012-09-25 | United Services Automobile Association (Usaa) | Systems and methods for automatic bill pay enrollment |
US7974899B1 (en) | 2008-09-30 | 2011-07-05 | United Services Automobile Association (Usaa) | Atomic deposit transaction |
US7962411B1 (en) | 2008-09-30 | 2011-06-14 | United Services Automobile Association (Usaa) | Atomic deposit transaction |
US8391599B1 (en) | 2008-10-17 | 2013-03-05 | United Services Automobile Association (Usaa) | Systems and methods for adaptive binarization of an image |
US20100097472A1 (en) * | 2008-10-21 | 2010-04-22 | Honeywell International Inc. | Method of efficient camera control and hand over in surveillance management |
US7970677B1 (en) | 2008-10-24 | 2011-06-28 | United Services Automobile Association (Usaa) | Systems and methods for financial deposits by electronic message |
US7949587B1 (en) | 2008-10-24 | 2011-05-24 | United States Automobile Association (USAA) | Systems and methods for financial deposits by electronic message |
US9294291B2 (en) | 2008-11-12 | 2016-03-22 | Adobe Systems Incorporated | Adaptive connectivity in network-based collaboration |
US8831090B2 (en) | 2008-11-18 | 2014-09-09 | Avigilon Corporation | Method, system and apparatus for image capture, analysis and transmission |
US20100208082A1 (en) * | 2008-12-18 | 2010-08-19 | Band Crashers, Llc | Media systems and methods for providing synchronized multiple streaming camera signals of an event |
US8306522B1 (en) * | 2008-12-23 | 2012-11-06 | Sprint Communications Company L.P. | Dynamic interface for mobile devices |
US8452689B1 (en) | 2009-02-18 | 2013-05-28 | United Services Automobile Association (Usaa) | Systems and methods of check detection |
US10956728B1 (en) | 2009-03-04 | 2021-03-23 | United Services Automobile Association (Usaa) | Systems and methods of check processing with background removal |
WO2010106474A1 (en) | 2009-03-19 | 2010-09-23 | Honeywell International Inc. | Systems and methods for managing access control devices |
US8745186B2 (en) * | 2009-03-31 | 2014-06-03 | Canon Kabushiki Kaisha | Network streaming of a video media from a media server to a media client |
JP5393236B2 (ja) | 2009-04-23 | 2014-01-22 | キヤノン株式会社 | 再生装置及び再生方法 |
US8553879B2 (en) * | 2009-05-11 | 2013-10-08 | Panasonic Corporation | Content transmission device and content transmission method |
US8078870B2 (en) * | 2009-05-14 | 2011-12-13 | Microsoft Corporation | HTTP-based authentication |
US8836601B2 (en) | 2013-02-04 | 2014-09-16 | Ubiquiti Networks, Inc. | Dual receiver/transmitter radio devices with choke |
US9496620B2 (en) | 2013-02-04 | 2016-11-15 | Ubiquiti Networks, Inc. | Radio system for long-range high-speed wireless communication |
US20110002548A1 (en) * | 2009-07-02 | 2011-01-06 | Honeywell International Inc. | Systems and methods of video navigation |
EP2452489B1 (en) * | 2009-07-08 | 2020-06-17 | Honeywell International Inc. | Systems and methods for managing video data |
US8542921B1 (en) | 2009-07-27 | 2013-09-24 | United Services Automobile Association (Usaa) | Systems and methods for remote deposit of negotiable instrument using brightness correction |
US20110035700A1 (en) * | 2009-08-05 | 2011-02-10 | Brian Meaney | Multi-Operation User Interface Tool |
US9779392B1 (en) | 2009-08-19 | 2017-10-03 | United Services Automobile Association (Usaa) | Apparatuses, methods and systems for a publishing and subscribing platform of depositing negotiable instruments |
US8977571B1 (en) | 2009-08-21 | 2015-03-10 | United Services Automobile Association (Usaa) | Systems and methods for image monitoring of check during mobile deposit |
US8699779B1 (en) | 2009-08-28 | 2014-04-15 | United Services Automobile Association (Usaa) | Systems and methods for alignment of check during mobile deposit |
ITMI20091600A1 (it) * | 2009-09-18 | 2011-03-19 | March Networks Corp | Tolleranza ai guasti in un sistema di video sorveglianza |
US8881012B2 (en) * | 2009-11-17 | 2014-11-04 | LHS Productions, Inc. | Video storage and retrieval system and method |
KR101337876B1 (ko) | 2009-12-14 | 2013-12-06 | 한국전자통신연구원 | 영상보안시스템용 서버/카메라 및 영상보안시스템용 서버/카메라의 이벤트 처리 방법 |
US9280365B2 (en) * | 2009-12-17 | 2016-03-08 | Honeywell International Inc. | Systems and methods for managing configuration data at disconnected remote devices |
US9167275B1 (en) * | 2010-03-11 | 2015-10-20 | BoxCast, LLC | Systems and methods for autonomous broadcasting |
US8718440B2 (en) * | 2010-03-22 | 2014-05-06 | Streaming Networks, Inc. | Decentralized symmetric network of autonomous digital video recorders and its method of use |
US20110242327A1 (en) * | 2010-04-05 | 2011-10-06 | Honeywell International Inc. | Intelligent camera display based on selective searching |
IT1399749B1 (it) | 2010-04-30 | 2013-05-03 | March Networks Corp | Configurazione automatica di connessione da telecamera a server di gestione video |
US9253548B2 (en) * | 2010-05-27 | 2016-02-02 | Adobe Systems Incorporated | Optimizing caches for media streaming |
US9129340B1 (en) | 2010-06-08 | 2015-09-08 | United Services Automobile Association (Usaa) | Apparatuses, methods and systems for remote deposit capture with enhanced image detection |
US8453186B2 (en) | 2010-09-15 | 2013-05-28 | At&T Intellectual Property I, L.P. | Method and system for remote control |
WO2012040725A2 (en) * | 2010-09-24 | 2012-03-29 | Pelco, Inc. | Method and system for configuring a sequence of positions of a camera |
CN102413274A (zh) * | 2010-09-24 | 2012-04-11 | 鸿富锦精密工业(深圳)有限公司 | 影像监控设备及影像监控方法 |
US11082665B2 (en) | 2010-11-05 | 2021-08-03 | Razberi Secure Technologies, Llc | System and method for a security system |
US10477158B2 (en) | 2010-11-05 | 2019-11-12 | Razberi Technologies, Inc. | System and method for a security system |
US8922658B2 (en) * | 2010-11-05 | 2014-12-30 | Tom Galvin | Network video recorder system |
US9860490B2 (en) | 2010-11-05 | 2018-01-02 | Tom Galvin | Network video recorder system |
US10157526B2 (en) | 2010-11-05 | 2018-12-18 | Razberi Technologies, Inc. | System and method for a security system |
US8787725B2 (en) | 2010-11-11 | 2014-07-22 | Honeywell International Inc. | Systems and methods for managing video data |
DE102010053181A1 (de) | 2010-12-03 | 2012-06-06 | Mobotix Ag | Überwachungskameraanordnung |
US9036001B2 (en) * | 2010-12-16 | 2015-05-19 | Massachusetts Institute Of Technology | Imaging system for immersive surveillance |
CN103649972B (zh) * | 2010-12-16 | 2017-03-22 | 索尼移动通信公司 | 一种用于通信设备的日历应用 |
US20120236147A1 (en) * | 2011-03-15 | 2012-09-20 | Honeywell International Inc. | Systems and methods of central station video alarm verification using an on site user video system |
US8438233B2 (en) | 2011-03-23 | 2013-05-07 | Color Labs, Inc. | Storage and distribution of content for a user device group |
US9876840B2 (en) | 2011-05-09 | 2018-01-23 | Wyse Technology L.L.C. | Method and apparatus for dynamically generating media sequences on demand for HTTP live streaming |
JP2012239001A (ja) * | 2011-05-11 | 2012-12-06 | Hitachi Kokusai Electric Inc | Cctvシステムの操作器 |
US8644620B1 (en) * | 2011-06-21 | 2014-02-04 | Google Inc. | Processing of matching regions in a stream of screen images |
US9894261B2 (en) | 2011-06-24 | 2018-02-13 | Honeywell International Inc. | Systems and methods for presenting digital video management system information via a user-customizable hierarchical tree interface |
US10362273B2 (en) | 2011-08-05 | 2019-07-23 | Honeywell International Inc. | Systems and methods for managing video data |
US9344684B2 (en) | 2011-08-05 | 2016-05-17 | Honeywell International Inc. | Systems and methods configured to enable content sharing between client terminals of a digital video management system |
WO2013020165A2 (en) * | 2011-08-05 | 2013-02-14 | HONEYWELL INTERNATIONAL INC. Attn: Patent Services | Systems and methods for managing video data |
KR101119848B1 (ko) * | 2011-08-05 | 2012-02-28 | (주)리얼허브 | 영상 입력 기기의 접속 장애 판별 장치 및 접속 장애 판별 방법 |
JP2013051462A (ja) * | 2011-08-30 | 2013-03-14 | Sony Corp | 上映管理システム、上映管理方法及びプログラム |
US8473550B2 (en) | 2011-09-21 | 2013-06-25 | Color Labs, Inc. | Content sharing using notification within a social networking environment |
JP6080346B2 (ja) * | 2011-10-03 | 2017-02-15 | 株式会社日立国際電気 | 映像表示装置 |
US8839109B2 (en) * | 2011-11-14 | 2014-09-16 | Utc Fire And Security Americas Corporation, Inc. | Digital video system with intelligent video selection timeline |
US20130128038A1 (en) * | 2011-11-21 | 2013-05-23 | Ronald Steven Cok | Method for making event-related media collection |
US9003124B2 (en) | 2011-12-13 | 2015-04-07 | International Business Machines Corporation | Managing a region cache |
US8983272B2 (en) * | 2011-12-27 | 2015-03-17 | Intel Corporation | Method and system to play linear video in variable time frames |
US10380565B1 (en) | 2012-01-05 | 2019-08-13 | United Services Automobile Association (Usaa) | System and method for storefront bank deposits |
EP2613530A1 (en) * | 2012-01-06 | 2013-07-10 | Alcatel Lucent | A method for video surveillance, a related system, a related surveillance server, and a related surveillance camera |
US8824750B2 (en) * | 2012-03-19 | 2014-09-02 | Next Level Security Systems, Inc. | Distributive facial matching and notification system |
US20130283330A1 (en) * | 2012-04-18 | 2013-10-24 | Harris Corporation | Architecture and system for group video distribution |
TWI540886B (zh) * | 2012-05-23 | 2016-07-01 | 晨星半導體股份有限公司 | 音訊解碼方法及音訊解碼裝置 |
CN104350734B (zh) * | 2012-06-11 | 2017-12-12 | 索尼电脑娱乐公司 | 图像生成设备以及图像生成方法 |
US9298717B2 (en) * | 2012-06-14 | 2016-03-29 | Empire Technology Development Llc | Data deduplication management |
US9183163B2 (en) | 2012-06-27 | 2015-11-10 | Ubiquiti Networks, Inc. | Method and apparatus for distributed control of an interfacing-device network |
CN102789187B (zh) * | 2012-07-05 | 2014-12-10 | 华为技术有限公司 | 云台设备识别方法、云台设备、摄像机及云台设备控制系统 |
US9158768B2 (en) | 2012-07-25 | 2015-10-13 | Paypal, Inc. | System and methods to configure a query language using an operator dictionary |
US9081821B2 (en) | 2012-07-25 | 2015-07-14 | Ebay Inc. | Spell check using column cursor |
US9749373B2 (en) * | 2012-08-14 | 2017-08-29 | Apple Inc. | System and method for improved content streaming |
US20140053065A1 (en) * | 2012-08-16 | 2014-02-20 | Motorola Mobility Llc | System and method for adjusting website displays |
US9612713B2 (en) * | 2012-09-26 | 2017-04-04 | Google Inc. | Intelligent window management |
US20150199092A1 (en) * | 2012-09-26 | 2015-07-16 | Google Inc. | Intelligent window placement |
US9955373B2 (en) | 2012-11-05 | 2018-04-24 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and methods for controlling logging and reporting under constraints |
US10552810B1 (en) | 2012-12-19 | 2020-02-04 | United Services Automobile Association (Usaa) | System and method for remote deposit of financial instruments |
EP2752724B1 (de) * | 2013-01-08 | 2016-06-01 | VEGA Grieshaber KG | Verfahren zur Kontrolle von Feldgeräten, Steuergerät, Programmelement und computerlesbares Medium |
US10419725B2 (en) | 2013-01-10 | 2019-09-17 | Tyco Safety Products Canada Ltd. | Security system and method with modular display of information |
US9543635B2 (en) | 2013-02-04 | 2017-01-10 | Ubiquiti Networks, Inc. | Operation of radio devices for long-range high-speed wireless communication |
US9397820B2 (en) | 2013-02-04 | 2016-07-19 | Ubiquiti Networks, Inc. | Agile duplexing wireless radio devices |
US9373885B2 (en) | 2013-02-08 | 2016-06-21 | Ubiquiti Networks, Inc. | Radio system for high-speed wireless communication |
US11743431B2 (en) | 2013-03-15 | 2023-08-29 | James Carey | Video identification and analytical recognition system |
US10657755B2 (en) | 2013-03-15 | 2020-05-19 | James Carey | Investigation generation in an observation and surveillance system |
EP2847992A4 (en) | 2013-03-15 | 2015-09-23 | James Carey | GENERATION OF A VERIFICATION IN AN OBSERVATION AND MONITORING SYSTEM |
US11039108B2 (en) | 2013-03-15 | 2021-06-15 | James Carey | Video identification and analytical recognition system |
US9571800B2 (en) | 2013-03-15 | 2017-02-14 | James Carey | Self-healing video surveillance system |
US11100334B2 (en) | 2013-04-19 | 2021-08-24 | James Carey | Video identification and analytical recognition system |
US9762865B2 (en) | 2013-03-15 | 2017-09-12 | James Carey | Video identification and analytical recognition system |
US11032520B2 (en) | 2013-03-15 | 2021-06-08 | James Carey | Self-healing video surveillance system |
JP6320068B2 (ja) | 2013-03-29 | 2018-05-09 | キヤノン株式会社 | 情報処理装置、ネットワークカメラ及びシステム |
US11023151B2 (en) * | 2013-04-18 | 2021-06-01 | Ruslan SHIGABUTDINOV | Systems and methods for file management by mobile computing devices |
US8984558B1 (en) * | 2013-05-14 | 2015-03-17 | Google Inc. | System and method for transitioning video |
KR102081087B1 (ko) | 2013-06-17 | 2020-02-25 | 삼성전자주식회사 | 동기적 영상과 비동기적 영상을 위한 영상 정합 장치 및 이미지 센서 |
USD736823S1 (en) * | 2013-06-21 | 2015-08-18 | Tencent Technology (Shenzhen) Company Limited | Display screen with animated graphical user interface |
US9742627B2 (en) * | 2013-06-25 | 2017-08-22 | Idis Co., Ltd. | System for automatic connection between NVR and IP camera |
CN104253974A (zh) * | 2013-06-28 | 2014-12-31 | 中兴通讯股份有限公司 | 移动前端动态接入的方法、移动前端和视频监控平台 |
JP5506990B1 (ja) * | 2013-07-11 | 2014-05-28 | パナソニック株式会社 | 追跡支援装置、追跡支援システムおよび追跡支援方法 |
US11138578B1 (en) | 2013-09-09 | 2021-10-05 | United Services Automobile Association (Usaa) | Systems and methods for remote deposit of currency |
US9544534B2 (en) * | 2013-09-24 | 2017-01-10 | Motorola Solutions, Inc. | Apparatus for and method of identifying video streams transmitted over a shared network link, and for identifying and time-offsetting intra-frames generated substantially simultaneously in such streams |
US9734681B2 (en) * | 2013-10-07 | 2017-08-15 | Ubiquiti Networks, Inc. | Cloud-based video monitoring |
ES2767051T3 (es) | 2013-10-11 | 2020-06-16 | Ubiquiti Inc | Optimización de sistema de radio inalámbrica mediante análisis de espectro persistente |
US9286514B1 (en) | 2013-10-17 | 2016-03-15 | United Services Automobile Association (Usaa) | Character count determination for a digital image |
US10523903B2 (en) | 2013-10-30 | 2019-12-31 | Honeywell International Inc. | Computer implemented systems frameworks and methods configured for enabling review of incident data |
USD771083S1 (en) * | 2013-12-01 | 2016-11-08 | Vizio Inc | Television screen with a graphical user interface |
USD768661S1 (en) * | 2013-12-01 | 2016-10-11 | Vizio Inc | Television screen with a transitional graphical user interface |
USD768160S1 (en) * | 2013-12-01 | 2016-10-04 | Vizio Inc | Television screen with a graphical user interface |
USD768161S1 (en) * | 2013-12-01 | 2016-10-04 | Vizio, Inc | Television screen with a graphical user interface |
USD768662S1 (en) * | 2013-12-01 | 2016-10-11 | Vizio Inc | Television screen with a graphical user interface |
USD773495S1 (en) * | 2013-12-01 | 2016-12-06 | Vizio, Inc | Television screen with a transitional graphical user interface |
US9699229B2 (en) * | 2014-01-16 | 2017-07-04 | Qualcomm Incorporated | Robust live operation of dash |
US20150256355A1 (en) | 2014-03-07 | 2015-09-10 | Robert J. Pera | Wall-mounted interactive sensing and audio-visual node devices for networked living and work spaces |
PL3114884T3 (pl) | 2014-03-07 | 2020-05-18 | Ubiquiti Inc. | Uwierzytelnianie i identyfikacja urządzenia w chmurze |
EP3120642B1 (en) | 2014-03-17 | 2023-06-07 | Ubiquiti Inc. | Array antennas having a plurality of directional beams |
US20150281122A1 (en) * | 2014-03-31 | 2015-10-01 | Byron L. Hoffman | Method and Apparatus for Facilitating Accessing Home Surveillance Data by Remote Devices |
WO2015153717A1 (en) | 2014-04-01 | 2015-10-08 | Ubiquiti Networks, Inc. | Antenna assembly |
US10366101B2 (en) | 2014-04-15 | 2019-07-30 | Splunk Inc. | Bidirectional linking of ephemeral event streams to creators of the ephemeral event streams |
US11281643B2 (en) | 2014-04-15 | 2022-03-22 | Splunk Inc. | Generating event streams including aggregated values from monitored network data |
US10360196B2 (en) | 2014-04-15 | 2019-07-23 | Splunk Inc. | Grouping and managing event streams generated from captured network data |
US10127273B2 (en) | 2014-04-15 | 2018-11-13 | Splunk Inc. | Distributed processing of network data using remote capture agents |
US10523521B2 (en) | 2014-04-15 | 2019-12-31 | Splunk Inc. | Managing ephemeral event streams generated from captured network data |
US9762443B2 (en) | 2014-04-15 | 2017-09-12 | Splunk Inc. | Transformation of network data at remote capture agents |
US9923767B2 (en) | 2014-04-15 | 2018-03-20 | Splunk Inc. | Dynamic configuration of remote capture agents for network data capture |
US11086897B2 (en) | 2014-04-15 | 2021-08-10 | Splunk Inc. | Linking event streams across applications of a data intake and query system |
US10462004B2 (en) | 2014-04-15 | 2019-10-29 | Splunk Inc. | Visualizations of statistics associated with captured network data |
US10693742B2 (en) | 2014-04-15 | 2020-06-23 | Splunk Inc. | Inline visualizations of metrics related to captured network data |
US9838512B2 (en) | 2014-10-30 | 2017-12-05 | Splunk Inc. | Protocol-based capture of network data using remote capture agents |
US10700950B2 (en) | 2014-04-15 | 2020-06-30 | Splunk Inc. | Adjusting network data storage based on event stream statistics |
US12028208B1 (en) | 2014-05-09 | 2024-07-02 | Splunk Inc. | Selective event stream data storage based on network traffic volume |
US9544540B2 (en) | 2014-06-04 | 2017-01-10 | Apple Inc. | Dynamic display of video communication data |
US9516269B2 (en) | 2014-06-04 | 2016-12-06 | Apple Inc. | Instant video communication connections |
US9232187B2 (en) * | 2014-06-04 | 2016-01-05 | Apple Inc. | Dynamic detection of pause and resume for video communications |
KR20150141095A (ko) * | 2014-06-09 | 2015-12-17 | 주식회사 아이티엑스시큐리티 | Nvr 자동 등록 기능을 구비한 무선 카메라, 무선 카메라 자동 등록 기능을 구비한 무선 nvr 장치 및 무선 카메라를 무선 nvr 장치에 자동으로 등록하는 방법 |
US20150370462A1 (en) | 2014-06-20 | 2015-12-24 | Microsoft Corporation | Creating calendar event from timeline |
US20160037138A1 (en) * | 2014-08-04 | 2016-02-04 | Danny UDLER | Dynamic System and Method for Detecting Drowning |
US11495102B2 (en) * | 2014-08-04 | 2022-11-08 | LiveView Technologies, LLC | Devices, systems, and methods for remote video retrieval |
US12014612B2 (en) | 2014-08-04 | 2024-06-18 | LiveView Technologies, Inc. | Event detection, event notification, data retrieval, and associated devices, systems, and methods |
JP2016046598A (ja) | 2014-08-20 | 2016-04-04 | キヤノン株式会社 | 通信装置、通信方法、及び、プログラム |
USD775198S1 (en) * | 2014-10-06 | 2016-12-27 | Vixlet LLC | Display screen with icons |
USD774085S1 (en) | 2014-10-06 | 2016-12-13 | Vixlet LLC | Computer display with icons |
USD772288S1 (en) | 2014-10-06 | 2016-11-22 | Vixlet LLC | Display screen with computer icons |
USD772928S1 (en) | 2014-10-06 | 2016-11-29 | Vixlet LLC | Display screen with computer icons |
USD772929S1 (en) | 2014-10-06 | 2016-11-29 | Vixlet LLC | Display screen with icons |
US9596253B2 (en) | 2014-10-30 | 2017-03-14 | Splunk Inc. | Capture triggers for capturing network data |
US10417883B2 (en) * | 2014-12-18 | 2019-09-17 | Vivint, Inc. | Doorbell camera package detection |
KR101539544B1 (ko) * | 2014-12-18 | 2015-07-24 | (주) 넥스트칩 | 프로토콜 교환 방법 및 장치 |
US10412342B2 (en) | 2014-12-18 | 2019-09-10 | Vivint, Inc. | Digital zoom conferencing |
US10586114B2 (en) * | 2015-01-13 | 2020-03-10 | Vivint, Inc. | Enhanced doorbell camera interactions |
US10133935B2 (en) * | 2015-01-13 | 2018-11-20 | Vivint, Inc. | Doorbell camera early detection |
US10635907B2 (en) * | 2015-01-13 | 2020-04-28 | Vivint, Inc. | Enhanced doorbell camera interactions |
US10334085B2 (en) | 2015-01-29 | 2019-06-25 | Splunk Inc. | Facilitating custom content extraction from network packets |
CN106162219B (zh) * | 2015-04-21 | 2019-08-16 | 杭州海康威视系统技术有限公司 | 视频云存储方法及系统 |
US10402790B1 (en) | 2015-05-28 | 2019-09-03 | United Services Automobile Association (Usaa) | Composing a focused document image from multiple image captures or portions of multiple image captures |
US10643442B2 (en) * | 2015-06-05 | 2020-05-05 | Withings | Video monitoring system |
US9940746B2 (en) * | 2015-06-18 | 2018-04-10 | Apple Inc. | Image fetching for timeline scrubbing of digital media |
US10255361B2 (en) * | 2015-08-19 | 2019-04-09 | International Business Machines Corporation | Video clips generation system |
US10560544B2 (en) * | 2015-08-25 | 2020-02-11 | Box, Inc. | Data caching in a collaborative file sharing system |
FR3040810B1 (fr) * | 2015-09-07 | 2017-10-13 | Docapost Dps | Systeme informatique de gestion securisee d'informations numeriques |
US9805567B2 (en) * | 2015-09-14 | 2017-10-31 | Logitech Europe S.A. | Temporal video streaming and summaries |
US10299017B2 (en) * | 2015-09-14 | 2019-05-21 | Logitech Europe S.A. | Video searching for filtered and tagged motion |
GB2544296B (en) * | 2015-11-11 | 2020-06-03 | Canon Kk | Method and apparatus for serving and managing storage of data streams in a surveillance and/or monitoring system |
US20170148291A1 (en) * | 2015-11-20 | 2017-05-25 | Hitachi, Ltd. | Method and a system for dynamic display of surveillance feeds |
US10650247B2 (en) | 2015-12-21 | 2020-05-12 | A9.Com, Inc. | Sharing video footage from audio/video recording and communication devices |
US10733456B2 (en) | 2015-12-21 | 2020-08-04 | A9.Com, Inc. | Sharing video footage from audio/video recording and communication devices |
KR102237973B1 (ko) | 2015-12-21 | 2021-04-07 | 아마존 테크놀로지스, 인크. | 오디오/비디오 레코딩 및 통신 디바이스들로부터의 비디오 영상의 공유 |
US10187255B2 (en) * | 2016-02-29 | 2019-01-22 | Red Hat, Inc. | Centralized configuration data in a distributed file system |
US11417202B2 (en) | 2016-03-01 | 2022-08-16 | James Carey | Theft prediction and tracking system |
BR112018067363B1 (pt) | 2016-03-01 | 2022-08-23 | James Carey | Método e sistema para previsão e rastreamento de roubos |
CN107147945B (zh) * | 2016-03-01 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 多媒体资源播放系统、方法及装置 |
US10126736B2 (en) * | 2016-04-25 | 2018-11-13 | Rockwell Automation Technologies, Inc. | Industrial process historian time synchronization of source based timestamp event data |
KR101809044B1 (ko) * | 2016-04-26 | 2017-12-14 | 주식회사 아이디스 | 프리-이벤트 순환 저장 방식 영상녹화장치 |
US11039181B1 (en) | 2016-05-09 | 2021-06-15 | Google Llc | Method and apparatus for secure video manifest/playlist generation and playback |
US10750248B1 (en) | 2016-05-10 | 2020-08-18 | Google Llc | Method and apparatus for server-side content delivery network switching |
US10785508B2 (en) | 2016-05-10 | 2020-09-22 | Google Llc | System for measuring video playback events using a server generated manifest/playlist |
US11069378B1 (en) | 2016-05-10 | 2021-07-20 | Google Llc | Method and apparatus for frame accurate high resolution video editing in cloud using live video streams |
US10750216B1 (en) | 2016-05-10 | 2020-08-18 | Google Llc | Method and apparatus for providing peer-to-peer content delivery |
US10595054B2 (en) | 2016-05-10 | 2020-03-17 | Google Llc | Method and apparatus for a virtual online video channel |
US10771824B1 (en) * | 2016-05-10 | 2020-09-08 | Google Llc | System for managing video playback using a server generated manifest/playlist |
US11032588B2 (en) | 2016-05-16 | 2021-06-08 | Google Llc | Method and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback |
US10567460B2 (en) * | 2016-06-09 | 2020-02-18 | Apple Inc. | Managing data using a time-based directory structure |
DK179494B1 (en) | 2016-06-12 | 2019-01-11 | Apple Inc. | USER INTERFACE FOR MANAGING CONTROLLABLE EXTERNAL DEVICES |
US10154317B2 (en) | 2016-07-05 | 2018-12-11 | BoxCast, LLC | System, method, and protocol for transmission of video and audio data |
US10079828B2 (en) * | 2016-07-06 | 2018-09-18 | Chekt Llc | CCTV monitoring system for registering camera and managing permission and control method thereof |
US10084868B2 (en) * | 2016-09-03 | 2018-09-25 | Microsoft Technology Licensing, Llc | IoT gateway for weakly connected settings |
US11197040B2 (en) * | 2016-10-17 | 2021-12-07 | Mediatek Inc. | Deriving and signaling a region or viewport in streaming media |
WO2018081328A1 (en) * | 2016-10-26 | 2018-05-03 | Ring Inc. | Customizable intrusion zones for audio/video recording and communication devices |
US12096156B2 (en) * | 2016-10-26 | 2024-09-17 | Amazon Technologies, Inc. | Customizable intrusion zones associated with security systems |
US10891839B2 (en) * | 2016-10-26 | 2021-01-12 | Amazon Technologies, Inc. | Customizable intrusion zones associated with security systems |
US20180205907A1 (en) * | 2017-01-16 | 2018-07-19 | JVC Kenwood Corporation | Registration apparatus that registers registration target apparatus and method thereof |
US11494729B1 (en) * | 2017-03-27 | 2022-11-08 | Amazon Technologies, Inc. | Identifying user-item interactions in an automated facility |
US11238401B1 (en) | 2017-03-27 | 2022-02-01 | Amazon Technologies, Inc. | Identifying user-item interactions in an automated facility |
US11087271B1 (en) | 2017-03-27 | 2021-08-10 | Amazon Technologies, Inc. | Identifying user-item interactions in an automated facility |
US10567502B2 (en) * | 2017-04-06 | 2020-02-18 | Avid Technology, Inc. | Format-independent media file indexing |
EP3445057A1 (en) * | 2017-08-18 | 2019-02-20 | NXP USA, Inc. | Electronic device and method for coherent enable/disable on a virtual data channel |
US10693709B2 (en) * | 2018-03-28 | 2020-06-23 | Salesforce.Com, Inc. | Processing gap events in a change detection management system |
US11030752B1 (en) | 2018-04-27 | 2021-06-08 | United Services Automobile Association (Usaa) | System, computing device, and method for document detection |
EP3769510A1 (en) | 2018-05-07 | 2021-01-27 | Apple Inc. | User interfaces for viewing live video feeds and recorded video |
US20190347915A1 (en) * | 2018-05-11 | 2019-11-14 | Ching-Ming Lai | Large-scale Video Monitoring and Recording System |
US10720123B2 (en) * | 2018-10-05 | 2020-07-21 | International Business Machines Corporation | Self-adjusting curved display screen |
US11741196B2 (en) | 2018-11-15 | 2023-08-29 | The Research Foundation For The State University Of New York | Detecting and preventing exploits of software vulnerability using instruction tags |
JP7151790B2 (ja) * | 2019-01-18 | 2022-10-12 | 日本電気株式会社 | 情報処理装置 |
US10904029B2 (en) | 2019-05-31 | 2021-01-26 | Apple Inc. | User interfaces for managing controllable external devices |
US11363071B2 (en) | 2019-05-31 | 2022-06-14 | Apple Inc. | User interfaces for managing a local network |
EP4068791A4 (en) * | 2019-11-26 | 2023-11-01 | Hanwha Vision Co., Ltd. | EVENT-ORIENTED MULTI-CHANNEL IMAGE SECURITY DEVICE AND METHOD THEREOF AND NETWORK SURVEILLANCE CAMERA SYSTEM THEREFOR |
US12094309B2 (en) * | 2019-12-13 | 2024-09-17 | Sony Group Corporation | Efficient user interface navigation for multiple real-time streaming devices |
US10972655B1 (en) | 2020-03-30 | 2021-04-06 | Logitech Europe S.A. | Advanced video conferencing systems and methods |
US10904446B1 (en) | 2020-03-30 | 2021-01-26 | Logitech Europe S.A. | Advanced video conferencing systems and methods |
US10965908B1 (en) | 2020-03-30 | 2021-03-30 | Logitech Europe S.A. | Advanced video conferencing systems and methods |
US10951858B1 (en) | 2020-03-30 | 2021-03-16 | Logitech Europe S.A. | Advanced video conferencing systems and methods |
CN113630643B (zh) * | 2020-05-09 | 2023-10-20 | 中央电视台 | 媒体流收录方法、装置及计算机存储介质、电子设备 |
US11079913B1 (en) | 2020-05-11 | 2021-08-03 | Apple Inc. | User interface for status indicators |
US11436906B1 (en) * | 2020-05-18 | 2022-09-06 | Sidhya V Peddinti | Visitor detection, facial recognition, and alert system and processes for assisting memory-challenged patients to recognize entryway visitors |
US11589010B2 (en) | 2020-06-03 | 2023-02-21 | Apple Inc. | Camera and visitor user interfaces |
US11657614B2 (en) | 2020-06-03 | 2023-05-23 | Apple Inc. | Camera and visitor user interfaces |
USD985005S1 (en) * | 2020-06-19 | 2023-05-02 | Airbnb, Inc. | Display screen of a programmed computer system with graphical user interface |
US11552812B2 (en) | 2020-06-19 | 2023-01-10 | Airbnb, Inc. | Outputting emotes based on audience member expressions in large-scale electronic presentation |
USD984457S1 (en) * | 2020-06-19 | 2023-04-25 | Airbnb, Inc. | Display screen of a programmed computer system with graphical user interface |
EP4189682A1 (en) | 2020-09-05 | 2023-06-07 | Apple Inc. | User interfaces for managing audio for media items |
US11416269B2 (en) * | 2020-11-20 | 2022-08-16 | Motorola Solutions, Inc. | Method, system and computer program product for serving user settings interface components |
US11900755B1 (en) | 2020-11-30 | 2024-02-13 | United Services Automobile Association (Usaa) | System, computing device, and method for document detection and deposit processing |
DE102021103102A1 (de) * | 2021-02-10 | 2022-08-11 | Pandia GmbH | Verfahren und Vorrichtung zur Maschinenüberwachung sowie Computerprogrammprodukt zur Maschinenüberwachung |
WO2022178076A1 (en) * | 2021-02-22 | 2022-08-25 | Activevideo Networks, Inc. | Systems and methods of alternative networked application services |
US20220311881A1 (en) * | 2021-03-24 | 2022-09-29 | Canon Kabushiki Kaisha | Information processing system, image processing apparatus, information processing apparatus, server apparatus, information processing method, and storage medium |
JP2023069323A (ja) * | 2021-11-05 | 2023-05-18 | i-PRO株式会社 | 監視カメラ映像共有システムおよび監視カメラ映像共有方法 |
US11734919B1 (en) * | 2022-04-19 | 2023-08-22 | Sas Institute, Inc. | Flexible computer architecture for performing digital image analysis |
ES2955369A1 (es) * | 2022-04-25 | 2023-11-30 | Biogreen Eng S L | Sistema de grabacion, localizacion y recuperacion de imagenes para videovigilancia y metodo para dicho sistema |
KR20240027435A (ko) * | 2022-08-23 | 2024-03-04 | 주식회사 팀그릿 | 실시간 데이터 송수신 방법 및 그 장치 |
EP4343647A1 (en) * | 2022-09-20 | 2024-03-27 | Rohde & Schwarz GmbH & Co. KG | Task scheduling system for spectrum monitoring |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU4513189A (en) | 1989-07-17 | 1991-02-22 | Siemens Aktiengesellschaft | Integrated slow scan and alarm system |
US5999634A (en) | 1991-09-12 | 1999-12-07 | Electronic Data Systems Corporation | Device and method for analyzing an electronic image signal |
US7448063B2 (en) * | 1991-11-25 | 2008-11-04 | Actv, Inc. | Digital interactive system for providing full interactivity with live programming events |
US5552824A (en) | 1993-02-18 | 1996-09-03 | Lynx System Developers, Inc. | Line object scene generation apparatus |
US6167143A (en) * | 1993-05-03 | 2000-12-26 | U.S. Philips Corporation | Monitoring system |
US6542183B1 (en) * | 1995-06-28 | 2003-04-01 | Lynx Systems Developers, Inc. | Event recording apparatus |
US5815634A (en) * | 1994-09-30 | 1998-09-29 | Cirrus Logic, Inc. | Stream synchronization method and apparatus for MPEG playback system |
US5594660A (en) * | 1994-09-30 | 1997-01-14 | Cirrus Logic, Inc. | Programmable audio-video synchronization method and apparatus for multimedia systems |
WO1996016497A1 (en) * | 1994-11-21 | 1996-05-30 | Oracle Corporation | Transferring binary large objects (blobs) in a network environment |
US5806005A (en) * | 1996-05-10 | 1998-09-08 | Ricoh Company, Ltd. | Wireless image transfer from a digital still video camera to a networked computer |
JP2001245281A (ja) * | 2000-02-29 | 2001-09-07 | Fujitsu Ltd | ネットワークシステム |
AT500721B1 (de) | 2000-05-10 | 2007-03-15 | Oesterr Forsch Seibersdorf | Verfahren und einrichtung zur übertragung von bildfolgen |
KR100327385B1 (en) * | 2000-07-18 | 2002-03-13 | Lg Electronics Inc | Spatio-temporal three-dimensional noise filter |
JP3591443B2 (ja) * | 2000-09-25 | 2004-11-17 | 日本ビクター株式会社 | 番組信号記録再生装置 |
JP3838012B2 (ja) * | 2000-09-25 | 2006-10-25 | 日本ビクター株式会社 | 番組記録再生装置 |
JP2002118827A (ja) * | 2000-10-04 | 2002-04-19 | Aiwa Co Ltd | 画像表示方法及び信号記録再生装置 |
US20030110511A1 (en) * | 2001-12-11 | 2003-06-12 | Schutte Mark E. | Controlling personal video recording functions from interactive television |
FI112018B (fi) | 2001-12-18 | 2003-10-15 | Hantro Products Oy | Menetelmä ja laite liikkeen tunnistamiseksi |
US7050096B2 (en) * | 2002-03-29 | 2006-05-23 | Hewlett-Packard Development Company, L.P. | Real-time image transfer by selective frame dropping between a camera and host computer |
JP2004088466A (ja) * | 2002-08-27 | 2004-03-18 | Nec Corp | ライブ映像配信システム |
US8218052B2 (en) * | 2003-03-07 | 2012-07-10 | Iconix Video, Inc. | High frame rate high definition imaging system and method |
-
2004
- 2004-09-10 JP JP2006525576A patent/JP4612906B2/ja not_active Expired - Fee Related
- 2004-09-10 US US10/567,641 patent/US7683940B2/en not_active Expired - Fee Related
- 2004-09-10 WO PCT/AU2004/001229 patent/WO2005027068A1/en active Application Filing
-
2009
- 2009-04-22 JP JP2009104537A patent/JP5173919B2/ja not_active Expired - Fee Related
-
2010
- 2010-02-02 US US12/698,764 patent/US8599277B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009201127A (ja) | 2009-09-03 |
US20060279628A1 (en) | 2006-12-14 |
US7683940B2 (en) | 2010-03-23 |
JP5173919B2 (ja) | 2013-04-03 |
JP2007505523A (ja) | 2007-03-08 |
US8599277B2 (en) | 2013-12-03 |
US20100135643A1 (en) | 2010-06-03 |
WO2005027068A1 (en) | 2005-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4612906B2 (ja) | シーケンスを送信する方法、装置、及びコンピュータ・プログラム | |
US6698021B1 (en) | System and method for remote control of surveillance devices | |
US20120098970A1 (en) | System and method for storing and remotely retrieving video images | |
US7595833B2 (en) | Visualizing camera position in recorded video | |
US10157526B2 (en) | System and method for a security system | |
US8160425B2 (en) | Storing video data in a video file | |
US7859571B1 (en) | System and method for digital video management | |
US9247110B2 (en) | System and method for remotely monitoring and/or viewing images from a camera or video device | |
US20060171453A1 (en) | Video surveillance system | |
CA2403270C (en) | Digital video system using networked cameras | |
EP1222821B1 (en) | System and method for controlling the storage and remote retrieval of surveillance video images | |
WO2005071965A1 (ja) | 映像配信装置 | |
KR100792240B1 (ko) | 멀티 비전 구현 방법 및 그 시스템 | |
EP2092746B1 (en) | Dynamic layouts | |
AU2005200021B2 (en) | Pre-event buffer management for operator triggered video recording | |
AU778463B2 (en) | System and method for digital video management | |
AU2006264221A1 (en) | Storing video data in a video file |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090302 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090422 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100312 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100428 |
|
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: 20101001 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101016 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131022 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |