DE112021000193T5 - Audioprivatsphärenschutz für überwachungssysteme - Google Patents

Audioprivatsphärenschutz für überwachungssysteme Download PDF

Info

Publication number
DE112021000193T5
DE112021000193T5 DE112021000193.0T DE112021000193T DE112021000193T5 DE 112021000193 T5 DE112021000193 T5 DE 112021000193T5 DE 112021000193 T DE112021000193 T DE 112021000193T DE 112021000193 T5 DE112021000193 T5 DE 112021000193T5
Authority
DE
Germany
Prior art keywords
video
video stream
audio data
audio
human
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.)
Pending
Application number
DE112021000193.0T
Other languages
English (en)
Inventor
Shaomin Xiong
Toshiki Hirano
Pritam Das
Ramy Ayad
Rajeev Nagabhirava
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of DE112021000193T5 publication Critical patent/DE112021000193T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating
    • G10L21/028Voice signal separating using properties of sound source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K11/00Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/16Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/175Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound
    • G10K11/1752Masking
    • G10K11/1754Speech masking
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/06Decision making techniques; Pattern matching strategies
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/57Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for processing of video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/802Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving processing of the sound signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal

Abstract

Es werden Systeme und Verfahren zum Schutz der Privatsphäre in Netzwerkvideoüberwachungssystemen beschrieben. Eine Videokamera kann einen Bildsensor und ein Mikrofon einschließen, um einen Videostream zu erzeugen. Als Reaktion auf die Erkennung einer menschlichen Sprechbedingung im Videostream können die Audiodaten selektiv modifiziert werden, um eine menschliche Stimmenkomponente der Audiodaten für die Speicherung und/oder Anzeige des Überwachungsvideostreams zu maskieren.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich allgemein auf Videoüberwachungssysteme und insbesondere auf Netzwerkvideoüberwachungssysteme mit Audioprivatsphärenschutz.
  • HINTERGRUND
  • Netzwerkbasierte Videoüberwachungssysteme sind eine wachsende Computeranwendung sowohl im geschäftlichen als auch im privaten Bereich. Einige Videoüberwachungssysteme können eine oder mehrere Videokameras einschließen, die über eine verdrahtete Schnittstelle, ein verdrahtetes oder drahtloses lokales Netzwerk oder ein verdrahtetes oder drahtloses Wide Area Network, wie beispielsweise das Internet, mit einem Server, wie beispielsweise einem Netzwerk-Videorecorder, verbunden sind. Die von den Kameras aufgezeichneten Videos werden an das Serversystem weitergeleitet, wo sie gespeichert und/oder analysiert werden, um sie später abzurufen. Client- oder Benutzersysteme sind kommunikativ mit dem Serversystem verbunden, um Streams von aufgezeichneten Videodaten und/oder zugehörige Warnmeldungen und Analysen anzufordern, zu empfangen und anzuzeigen.
  • Einige Videoüberwachungssysteme können so eingerichtet sein, dass sowohl Bildals auch Audiodaten in den Videostreams erfasst werden. Zum Beispiel kann jede Videokamera sowohl einen Bildsensor als auch mindestens ein Mikrofon (oder ein Mikrofon-Array) einschließen und eine synchronisierte Audiospur mit den Bilddaten im Videostream kodieren. Im normalen Vorgang kann der Videostream einschließlich der Audiodaten vom Serversystem gespeichert und zur Anzeige auf den Client- oder Benutzersystemen bereitgestellt werden, wobei das aufgenommene Audio erhalten bleibt. In einigen Überwachungssystemen können Analysen auf die Audiodaten angewandt werden, um Audioereignisse zu erkennen und entsprechende Warnungen oder Auslöser zu erhalten. Die Erkennung eines Schusses, eines Babyschreis, einer Sprache, eines Feueralarms usw. kann eine Systemreaktion auslösen, wie beispielsweise einen Alarm oder die Benachrichtigung des Notdienstes. In einigen Überwachungssystemen kann Audio auch für die Kommunikation von Person zu Person verwendet werden, wenn beispielsweise ein Wachmann in der Etage innerhalb des Mikrofonbereichs einer oder mehrerer Kameras spricht, um mit einem anderen Wachmann in einer Überwachungsstation zu kommunizieren, die den Videostream anzeigt. Der Videostream mit Tonspur kann sowohl für den Bild- als auch für den Toninhalt gespeichert, analysiert und angezeigt werden.
  • In einigen Anwendungen und/oder für einige Benutzer können die Audiodaten als unnötig oder störend empfunden werden oder Bedenken hinsichtlich der Privatsphäre hervorrufen. Einige Systemkonfigurationen schließen möglicherweise keine Audiofähigkeiten ein oder erlauben es dem Benutzer, die Audioaufnahme und/oder -anzeige zu deaktivieren, um beispielsweise die Privatsphäre von Gesprächen in den überwachten Bereichen zu gewährleisten. In einigen Überwachungssystemen können Audiofähigkeiten auf der Grundlage eines regelbasierten Systems aktiviert oder deaktiviert werden, wie beispielsweise die selektive Aktivierung oder Deaktivierung von Audioaufnahmen an bestimmten Orten oder zu vordefinierten Zeiten.
  • Ein robusteres und automatisiertes System zur Verwaltung des Datenschutzes bei gleichzeitiger Erfassung und Verwendung anderer Audiodaten in Videoüberwachungssystemen könnte von Vorteil sein. Möglicherweise ist eine flexiblere und zuverlässigere Methode erforderlich, um einen selektiv aktivierten Audioprivatsphärenschutz in Videoüberwachungssystemen bereitzustellen.
  • KURZDARSTELLUNG
  • Es werden verschiedene Gesichtspunkte für den Schutz der Audiodaten in Videoüberwachungssystemen beschrieben, insbesondere die selektive Audiomodifikation, wenn eine menschliche Sprechbedingung erkannt wird.
  • Ein allgemeiner Gesichtspunkt schließt ein System ein, das eine Videokamera und eine Steuerung einschließt. Die Videokamera kann Folgendes einschließen: einen Bildsensor, der so eingerichtet ist, dass er Bilddaten für einen Videostream erfasst, und ein Mikrofon, das so eingerichtet ist, dass es Audiodaten für den Videostream erfasst. Die Steuerung kann eingerichtet sein, um: den Videostream von der Videokamera zu empfangen; aus dem Videostream eine menschliche Sprechbedingung zu bestimmen; als Reaktion auf das Bestimmen der menschlichen Sprechbedingung die Audiodaten im Videostream während der menschlichen Sprechbedingung selektiv zu modifizieren; und den Videostream mit den geänderten Audiodaten zu speichern.
  • Implementierungen können eines oder mehrere der folgenden Merkmale einschließen. Das selektive Verändern der Audiodaten im Videostream während der menschlichen Sprechbedingung kann die Verarbeitung der Audiodaten einschließen, um eine menschliche Stimmenkomponente der Audiodaten zu maskieren. Die Steuerung kann weiterhin so eingerichtet sein, dass sie die menschliche Stimmenkomponente der Audiodaten während der menschlichen Sprechbedingung bestimmt. Die Verarbeitung der Audiodaten zur Maskierung der menschlichen Stimmenkomponente der Audiodaten kann Folgendes einschließen: Trennen der menschlichen Stimmenkomponente der Audiodaten von einer stimmlosen Restkomponente der Audiodaten; selektives Maskieren der menschlichen Stimmenkomponente in den Audiodaten; und Belassen der Restkomponente der Audiodaten, die keine Stimme ist, unverändert. Die Verarbeitung der Audiodaten zur Maskierung der menschlichen Stimmenkomponente der Audiodaten kann weiterhin Folgendes einschließen: Trennen der menschlichen Stimmenkomponente der Audiodaten in eine Vielzahl menschlicher Stimmenkomponenten, die einzelnen Sprechern der Vielzahl von Sprechern entsprechen; Identifizieren mindestens eines einzelnen Sprechers aus der Vielzahl der Sprecher; und selektives Maskieren eines Abschnitts der menschlichen Stimmenkomponente der Audiodaten, der dem mindestens einen individuellen Sprecher entspricht, in Reaktion auf die Identifizierung des mindestens einen individuellen Sprechers. Die Steuerung kann weiterhin eingerichtet sein, um: ein Audioereignis aus den Audiodaten im Videostream zu erkennen; und unter Verwendung eines Stimmerkennungsalgorithmus die Audiodaten im Videostream während der menschlichen Sprechbedingung verarbeiten, um einen geschützten Sprecher zu identifizieren. Das Bestimmen der menschlichen Sprechbedingung aus dem Videostream kann auf das Erkennen des Audioereignisses reagieren und das selektive Ändern der Audiodaten im Videostream während der menschlichen Sprechbedingung kann weiterhin auf das Identifizieren des geschützten Sprechers reagieren. Die Steuerung kann weiterhin so eingerichtet sein, dass sie unter Verwendung eines Stimmerkennungsalgorithmus die Audiodaten im Videostream verarbeitet, um ein Zustimmungsmuster zu identifizieren, und die selektive Änderung der Audiodaten im Videostrom während der menschlichen Sprechbedingung kann weiterhin auf ein Fehlen des Zustimmungsmusters in den Audiodaten reagieren. Die Steuerung kann weiterhin so eingerichtet sein, dass sie ein Videoereignis aus den Bilddaten im Videostrom erkennt, und die Bestimmung der menschlichen Sprechbedingung aus dem Videostream kann auf die Erkennung des Videoereignisses reagieren. Die Steuerung kann weiterhin so eingerichtet sein, dass sie unter Verwendung eines Gesichtserkennungsalgorithmus die Bilddaten im Videostream verarbeitet, um einen geschützten Sprecher zu identifizieren, und die selektive Änderung der Audiodaten im Videostrom während der menschlichen Sprechbedingung kann weiterhin auf die Identifizierung des geschützten Sprechers reagieren. Das System kann eine Speicherungsvorrichtung, eine Analyse-Engine und eine Benutzervorrichtung einschließen. Die Speicherungsvorrichtung kann so eingerichtet sein, dass sie einen unmodifizierten Videostrom von der Videokamera und den Videostream mit den modifizierten Audiodaten von der Steuerung speichert. Die Analyse-Engine kann eingerichtet sein, um: den unmodifizierten Videostream zu verarbeiten, um die menschliche Sprechbedingung aus dem Videostream zu bestimmen; und die Steuerung über die menschliche Sprechbedingung zu informieren. Die Benutzervorrichtung kann eingerichtet sein, um: über eine grafische Benutzeroberfläche und einen Lautsprecher der Benutzervorrichtung den Videostream mit den modifizierten Audiodaten für einen Benutzer anzuzeigen; eine Sicherheitsberechtigung für den Benutzer zu bestimmen; eine Audiozugriffsberechtigung zu überprüfen, die dem Sicherheitsnachweis entspricht; und dem Benutzer über die grafische Benutzeroberfläche und den Lautsprecher der Benutzervorrichtung den unveränderten Videostream anzuzeigen.
  • Ein weiterer allgemeiner Gesichtspunkt schließt ein computerimplementiertes Verfahren ein, das Folgendes einschließt: Empfangen eines Videostreams von einer Videokamera, wobei die Videokamera einen Bildsensor einschließen kann, der eingerichtet ist, um Bilddaten für den Videostream zu erfassen; und ein Mikrofon, das eingerichtet ist, um Audiodaten für den Videostream zu erfassen; Bestimmen einer menschlichen Sprechbedingung anhand des Videostreams; selektives Modifizieren der Audiodaten im Videostream während der menschlichen Sprechbedingung in Reaktion auf die Bestimmung der menschlichen Sprechbedingung; und Speichern des Videostreams mit den modifizierten Audiodaten.
  • Implementierungen können eines oder mehrere der folgenden Merkmale einschließen. Das selektive Verändern der Audiodaten im Videostream während der menschlichen Sprechbedingung kann die Verarbeitung der Audiodaten einschließen, um eine menschliche Stimmenkomponente der Audiodaten zu maskieren. Das computerimplementierte Verfahren kann das Bestimmen der menschlichen Stimmenkomponente der Audiodaten während der menschlichen Sprechbedingung einschließen. Die Verarbeitung der Audiodaten zur Maskierung der menschlichen Stimmenkomponente der Audiodaten kann Folgendes einschließen: Trennen der menschlichen Stimmenkomponente der Audiodaten von einer stimmlosen Restkomponente der Audiodaten; selektives Maskieren der menschlichen Stimmenkomponente in den Audiodaten; und Belassen der Restkomponente der Audiodaten, die keine Stimme ist, unverändert. Das computerimplementierte Verfahren kann das Erkennen eines Audioereignisses aus den Audiodaten im Videostrom einschließen, wobei die Bestimmung der menschlichen Sprechbedingung aus dem Videostream auf das Erkennen des Audioereignisses reagiert. Das computerimplementierte Verfahren kann die Verarbeitung der Audiodaten im Videostream unter Verwendung eines Spracherkennungsalgorithmus einschließen, um einen geschützten Sprecher zu identifizieren, wobei das selektive Modifizieren der Audiodaten im Videostream während der menschlichen Sprechbedingung eine weitere Reaktion auf die Identifizierung des geschützten Sprechers ist. Das computerimplementierte Verfahren kann die Verarbeitung der Audiodaten im Videostream unter Verwendung eines Stimmerkennungsalgorithmus einschließen, um ein Zustimmungsmuster zu identifizieren, wobei das selektive Modifizieren der Audiodaten im Videostream während der menschlichen Sprechbedingung weiterhin auf ein Fehlen des Zustimmungsmusters in den Audiodaten reagiert. Das computerimplementierte Verfahren kann Folgendes einschließen: Erkennen eines Videoereignisses aus den Bilddaten im Videostream, wobei die Bestimmung der menschlichen Sprechbedingung aus dem Videostream auf das Erkennen des Videoereignisses reagiert; und Verarbeiten der Bilddaten im Videostrom unter Verwendung eines Gesichtserkennungsalgorithmus, um einen geschützten Sprecher zu identifizieren, wobei das selektive Modifizieren der Audiodaten im Videostream während der menschlichen Sprechbedingung eine weitere Reaktion auf die Identifizierung des geschützten Sprechers ist. Das computerimplementierte Verfahren kann Folgendes einschließen: Speichern eines unmodifizierten Videostroms der Videokamera und des Videostreams mit den modifizierten Audiodaten in einer Speicherungsvorrichtung; Verarbeiten des unveränderten Videostreams, um die menschliche Sprechbedingung aus dem Videostrom zu bestimmen; Anzeigen, unter Verwendung einer grafischen Benutzeroberfläche und eines Lautsprechers einer Benutzervorrichtung, des Videostreams mit den modifizierten Audiodaten für einen Benutzer; Bestimmen eines Sicherheitsnachweises für den Benutzer; Verifizieren einer Audiozugriffsberechtigung, die dem Sicherheitsnachweis entspricht; und Anzeigen des unveränderten Videostreams für den Benutzer über die grafische Benutzeroberfläche und den Lautsprecher der Benutzervorrichtung.
  • Ein weiterer allgemeiner Gesichtspunkt schließt ein Überwachungssystem ein, das Folgendes einschließt: eine Videokamera, die einen Bildsensor enthält, der eingerichtet ist, um Bilddaten für einen Videostream zu erfassen, und ein Mikrofon, das eingerichtet ist, um Audiodaten für den Videostream zu erfassen; einen Prozessor; einen Speicher, Mittel zum Empfang des Videostreams von der Videokamera; Mittel zur automatischen Bestimmung einer menschlichen Sprechbedingung aus dem Videostream; Mittel, um als Reaktion auf die Bestimmung der menschlichen Sprechbedingung die Audiodaten im Videostream während der menschlichen Sprechbedingung selektiv zu modifizieren; und Mittel zur Anzeige des Videostreams unter Verwendung der modifizierten Audiodaten.
  • Die verschiedenen Ausführungsformen wenden vorteilhaft die Lehren der computerbasierten Überwachungssysteme an, um die Funktionalität solcher Computersysteme zu verbessern. Die verschiedenen Ausführungsformen schließen Vorgänge ein, die die Probleme, die bisher bei Videoüberwachungssystemen aufgetreten sind, überwinden oder mindestens verringern, und sind daher effektiver und/oder flexibler als andere Videoüberwachungssysteme. Das heißt, die verschiedenen hierin offenbarten Ausführungsformen schließen Hardware und/oder Software mit Funktionen zur Verbesserung des Schutzes der Audioprivatsphäre in Videoüberwachungssystemen ein, wie beispielsweise durch die Verwendung selektiver Audiomodifikation, wenn eine menschliche Sprechbedingung und/oder andere Ereignisauslöser erfüllt sind. Dementsprechend stellen die hierin offenbarten Ausführungsformen verschiedene Verbesserungen für netzwerkbasierte Videoüberwachungssysteme bereit.
  • Es sei klargestellt, dass die in der vorliegenden Offenbarung verwendete Ausdrucksweise hauptsächlich für Lesbarkeits- und Anweisungszwecke gewählt wurde und den Schutzumfang des hierin offenbarten Gegenstands nicht beschränken soll.
  • Figurenliste
    • 1 veranschaulicht schematisch ein computerbasiertes Überwachungssystem.
    • 2 veranschaulicht schematisch die Handhabung des Audioprivatsphärenmodus, der von dem computerbasierten Überwachungssystem von 1 verwendet werden kann.
    • 3 veranschaulicht schematisch einige Elemente des computerbasierten Überwachungssystems von 1.
    • 4 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Bereitstellen eines Audioprivatsphärenmodus.
    • 5 ist ein Flussdiagramm eines beispielhaften Verfahrens zum selektiven Modifizieren von Audiodaten für einen Audioprivatsphärenmodus.
    • 6 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Auslösen eines Audioprivatsphärenmodus.
    • 7 ist ein Flussdiagramm eines beispielhaften Verfahrens zur Anzeige von Videostreams mit einem Audioprivatsphärenmodus auf einer Benutzervorrichtung.
  • DETAILLIERTE BESCHREIBUNG
  • 1 zeigt eine Ausführungsform eines beispielhaften Videoüberwachungssystems 100 mit mehreren Videokameras 110, die mit einem Netzwerkvideorekorder 130 zur Anzeige von Überwachungsvideos auf der Benutzervorrichtung 170 verbunden sind. Obgleich einige beispielhafte Merkmale veranschaulicht sind, wurden verschiedene andere Merkmale zum Zwecke der Kürze, und um nicht unnötig von den sachdienlichen Gesichtspunkten der hierin beschriebenen Ausführungsbeispiele abzulenken, nicht veranschaulicht. In einigen Ausführungsformen sind die Kameras 110, der Netzwerkvideorekorder 130 und die Benutzervorrichtung 170 computerbasierte Komponenten, die über ein Netzwerk 102 miteinander verbunden sein können. Zusätzliche Komponenten wie der Netzwerkvideoserver 160 und/oder der Netzwerkvideospeicher 162 können ebenfalls an das Netzwerk 102 angeschlossen werden. In einigen Ausführungsformen können eine oder mehrere Kameras direkt mit dem Netzwerkvideorekorder 130 verbunden werden, wie beispielsweise die Kameras 110.5-110.n in 1, ohne über das Netzwerk 102 zu kommunizieren. In alternativen Ausführungsformen (nicht gezeigt) kann die Benutzervorrichtung 170 auch direkt mit dem Netzwerkvideorekorder 130 verbunden werden.
  • In einigen Ausführungsformen können ein oder mehrere Netzwerke 102 verwendet werden, um die verschiedenen Komponenten des Überwachungssystems 100 miteinander zu verbinden. Zum Beispiel kann jede Komponente, wie die Kameras 110, der Netzwerkvideorekorder 130, die externe Speicherungsvorrichtung 140.n, der Netzwerkvideoserver 160, der Netzwerkvideospeicher 162 und/oder die Benutzervorrichtung 170 eine oder mehrere Netzwerkschnittstellen und entsprechende Netzwerkprotokolle für die Kommunikation über das Netzwerk 102 einschließen. Das Netzwerk 102 kann ein drahtgebundenes und/oder drahtloses Netzwerk einschließen (z. B. öffentliche und/oder private Computernetzwerke in beliebiger Anzahl und/oder Konfiguration), die in geeigneter Art und Weise zur Datenübertragung gekoppelt werden können. Das Netzwerk 102 kann zum Beispiel ein herkömmliches Datenkommunikationsnetz wie ein lokales Netzwerk (LAN), ein Wide Area Network (WAN), ein Telefonnetz wie das öffentliche Telefonnetz (PSTN), ein Intranet, das Internet oder jedes andere geeignete Kommunikationsnetz oder jede Kombination von Kommunikationsnetzen einschließen. In einigen Ausführungsformen kann das Netzwerk 102 eine Vielzahl verschiedener Netzwerke, Teilnetzwerke und/oder virtuelle private Netzwerke (VPN) aufweisen, um die Kommunikation zwischen bestimmten Komponenten einzuschränken. Die Kameras 110 können sich zum Beispiel in einem Netzwerk mit eingeschränktem Zugang befinden, so dass Video- und Steuerungsdaten nur zwischen den Kameras 110 und dem Netzwerkvideorekorder 130 übertragen werden können, so dass der Netzwerkvideorekorder 130 den Zugriff auf die Kameras 110 und ihre Videodaten kontrollieren kann.
  • Die Kameras 110 können analoge oder digitale Kameras einschließen, die an einen Encoder angeschlossen sind, der einen kodierten Videostream mit einer bestimmten Auflösung, einem bestimmten Seitenverhältnis und einem bestimmten Videokodierungsformat erzeugt. Die Kameras 110 können so eingerichtet sein, dass sie sowohl Bild- als auch Audiodaten in einem Videostream erfassen. In einigen Ausführungsformen können die Kameras 110 Internetprotokoll (IP)-Kameras einschließen, die so eingerichtet sind, dass sie ihre jeweiligen Videostreams kodieren und über das Netzwerk 102 an den Netzwerkvideorekorder 130 übertragen. In einigen Ausführungsformen (nicht gezeigt) kann sich der Encoder im Netzwerkvideorekorder 130 befinden. In einigen Ausführungsformen können die Kameras 110 so eingerichtet sein, dass sie Audiodaten über integrierte oder angeschlossene Mikrofone empfangen und eingebettete und/oder synchronisierte Audiostreams in ihre jeweiligen Videostreams einschließen. In einigen Ausführungsformen können Videokameras 110 einen Bildsensor 112, einen Prozessor oder eine Zentraleinheit CPU 114, einen Speicher 116, einen Encoder 118, ein Mikrofon 120, eine Steuerschaltung 122 und/oder eine Netzwerkschnittstelle 126 einschließen. In einigen Ausführungsformen können die Videokameras 110 eine integrierte Analysefunktion einschließen, wie beispielsweise ein Videoanalysesubsystem 124.
  • Der Bildsensor 112 kann zum Beispiel eine Festkörpervorrichtung einschließen, die so eingerichtet ist, dass sie Lichtwellen und/oder andere elektromagnetische Wellen einfängt und das Licht in ein Bild umwandelt, das im Allgemeinen aus farbigen Pixeln besteht. Der Bildsensor 112 kann eine Basisbildgröße, Auflösung, Bandbreite, Schärfentiefe, Dynamikbereich und andere Parameter der aufgenommenen Videobildrahmen bestimmen. Der Bildsensor 112 kann einen CCD-Sensor (Charge Couple Device), einen CMOS-Sensor (Complementary Metal Oxide Semiconductor) und/oder einen anderen Bildsensor mit verschiedenen Sensorgrößen und Seitenverhältnissen einschließen.
  • Digitale Videodaten vom Bildsensor 112 können vom Prozessor 114 zur (temporären) Speicherung und Verarbeitung im Speicher 116 und/oder zur Kodierung durch den Encoder 118 empfangen werden. Der Prozessor 114 kann einen beliebigen Typ von herkömmlichem Prozessor oder Mikroprozessor einschließen, der Anweisungen interpretiert und ausführt. Der Speicher 116 kann einen Direktzugriffsspeicher (RAM) oder eine andere Art von dynamischer Speichervorrichtung einschließen, die Informationen und Befehle zur Ausführung durch den Prozessor 114 speichert, und/oder einen Festwertspeicher (ROM) oder eine andere Art von statischer Speichervorrichtung, die statische Informationen und Befehle zur Verwendung durch den Prozessor 114 speichert, und/oder ein beliebiges geeignetes Speicherelement wie ein Festkörperspeicherelement. Im Speicher 116 können BIOS (Basic Input/Output System), Firmware und/oder Betriebssystemanweisungen für die Initialisierung und Ausführung der Anweisungen und Vorgänge der Kameras 110 gespeichert werden. Der Encoder 118 kann verschiedene mögliche digitale Kodierungs- und/oder Kompressionsformate für die Kodierung des vom Bildsensor 112 empfangenen Videostreams verwenden. In einigen Ausführungsformen kann der Encoder 118 ein komprimiertes Videoformat verwenden, um die Speichergröße und die Netzwerkbandbreite zu verringern, die für die Speicherung und Übertragung des ursprünglichen Videostreams erforderlich sind. Der Encoder 118 kann zum Beispiel so eingerichtet sein, dass er die Videodaten als Joint Photographic Expert Group (JPEG), Motion Picture Expert Group (MPEG)-2, MPEG-4, Advanced Video Coding (AVC)/H.264 und/oder andere Videokodierungsstandards oder proprietäre Formate kodiert.
  • In einigen Ausführungsformen können ein oder mehrere Mikrofone 120 selektiv aktiviert werden, um Audiodaten parallel zu den vom Bildsensor 112 erfassten Bilddaten aufzunehmen. Das Mikrofon 120 kann zum Beispiel mit einem Audiosensor ausgestattet sein, der Schallwellen aufnimmt und in einen zeitbasierten Audiodatenstream umwandelt. In einigen Ausführungsformen kann der Kodierer 118 einen Audiokodierer einschließen, der in Verbindung mit dem Videokodierer arbeitet, um einen synchronisierten Audiodatenstrom in den Videostream zu kodieren. Zum Beispiel kann das Videoformat, das von Encoder 118 verwendet wird, eine oder mehrere Audiospuren einschließen, um Audiodaten zu kodieren, die die Bilddaten während der Wiedergabe des Videostreams begleiten.
  • Die Steuerschaltung 122 kann eine Steuerschaltung zur Verwaltung der physischen Position einer Kamera 110 einschließen. In einigen Ausführungsformen kann die Kamera 110 eine Schwenk-Neige-Zoom-Kamera (PTZ) sein, die die Fähigkeit hat, die Richtung und den Zoom aus der Ferne zu steuern. Die Steuerschaltung 122 kann so eingerichtet sein, dass sie Bewegungsbefehle über die Netzwerkschnittstelle 126 und/oder über eine andere Schnittstelle empfängt, wie beispielsweise eine spezielle Fernsteuerungsschnittstelle, wie beispielsweise Kurzstreckeninfrarotsignale, Bluetooth usw. Der Netzwerkvideorekorder 130 und/oder die Benutzervorrichtung 170 können beispielsweise so eingerichtet sein, dass sie PTZ-Befehle an die Steuerschaltung 122 senden, die diese Befehle in Motorsteuerungssignale für eine Vielzahl von Aktuatoren umwandelt, die die Position der Kamera 110 steuern. In einigen Ausführungsformen kann die Steuerschaltung 122 eine Logik einschließen, die automatisch auf die vom Bildsensor 112 erkannte Bewegung reagiert und die Kamera 110 auf die Quelle der Bewegung ausrichtet. So kann zum Beispiel eine automatische Verfolgungsfunktion in der Firmware enthalten sein, die die Kamera in die Lage versetzt, die Größe und Position eines Objekts auf der Grundlage von Änderungen der Pixel im rohen Videostrom des Bildsensors 112 zu schätzen und die Position der Kamera so anzupassen, dass sie dem sich bewegenden Objekt folgt und zu einer Standardposition zurückkehrt, wenn keine Bewegung mehr erkannt wird. In einigen Ausführungsformen kann die Steuerschaltung 122 eine Logik für virtuelles PTZ oder ePTZ einschließen, die es einer hochauflösenden Kamera ermöglicht, digital in Abschnitte des vom Bildsensor 112 erfassten Bildes zu zoomen und zu schwenken, ohne dass die Kamera physisch bewegt werden muss. In einigen Ausführungsformen kann die Steuerschaltung 122 Software und eine oder mehrere Anwendungsprotokollschnittstellen (APIs) einschließen, die es entfernten Vorrichtungen ermöglichen, zusätzliche Funktionen und Fähigkeiten der Kamera 110 zu steuern. Zum Beispiel kann die Steuerschaltung 122 den Netzwerkvideorekorder 130 und/oder die Benutzervorrichtung 170 in die Lage versetzen, Videoformate einzurichten, das Mikrofon 120 zu aktivieren und zu deaktivieren, die Bewegungserkennung, die automatische Verfolgung und ähnliche Merkmale einzustellen und/oder das Streaming von Videodaten zu initiieren.
  • In einigen Ausführungsformen kann die Videokamera 110 ein Videoanalysesubsystem 124 einschließen, das für die Videoanalyse an Bord eingerichtet ist. Das Videoanalysesubsystem 124 kann zum Beispiel so eingerichtet sein, dass es die CPU 114 und den Speicher 116 verwendet, um zumindest einen Abschnitt der Videoanalyse für die von der Videokamera 110 erfassten Videodaten auszuführen. In einigen Ausführungsformen kann das Videoanalysesubsystem 124 so eingerichtet sein, dass es ähnlich wie das Videoanalysesubsystem 156 im Netzwerkvideorekorder 130 arbeitet, wie weiterhin unten beschrieben, und eine oder mehrere Analyse-Engines und/oder analytische Modellbibliotheken enthält.
  • Die Netzwerkschnittstelle 126 kann eine oder mehrere drahtgebundene oder drahtlose Verbindungen zum Netzwerk 102 und/oder eine spezielle Kameraschnittstelle des Netzwerkvideorekorders 130 einschließen. Die Netzwerkschnittstelle 126 kann zum Beispiel eine Ethernet-Buchse und entsprechende Protokolle für die IP-Kommunikation mit dem Netzwerkvideorekorder 130 einschließen. In einigen Ausführungsformen kann die Schnittstelle 126 eine Power-over-Ethernet (PoE)-Verbindung mit dem Netzwerkvideorekorder 130 oder einem anderen Kamerazugangspunkt einschließen. PoE kann es ermöglichen, dass sowohl die Stromversorgung der Kamera 110 als auch die Netzwerkdaten über dieselbe Leitung laufen. In einigen Ausführungsformen kann die Netzwerkschnittstelle 126 es ermöglichen, eine IP-Kamera als Netzwerkressource mit einer IP-Adresse einzurichten, die über ein LAN, WAN oder das Internet zugänglich ist. Der Netzwerkvideorekorder 130 und/oder die Benutzervorrichtung 170 können zum Beispiel so eingerichtet werden, dass sie selektiv Videos von Kameras 110 von jedem beliebigen Standort mit Internetanschluss empfangen können, indem sie Internetadressierung und Sicherheitsprotokolle verwenden.
  • Der Netzwerkvideorekorder 130 kann ein Computersystem einschließen, das für die Aufzeichnung der Videostreams der Kameras 110 eingerichtet ist. Zum Beispiel kann der Netzwerkvideorekorder 130 so eingerichtet werden, dass er Videostreams von jeder der Kameras 110 zur Speicherung, Analyse und/oder Anzeige über die Benutzervorrichtung 170 empfängt. In einigen Ausführungsformen können die Kameras 110 kodierte Videoströme senden, die auf den von ihren jeweiligen Bildsensoren 112 erfassten Rohbilddaten basieren, mit oder ohne Videodatenkompression. Von jeder Kamera 110 kann ein einzelner Videostream empfangen werden, und der Netzwerkvideorekorder 130 kann so eingerichtet werden, dass er Videostreams von allen angeschlossenen Kameras parallel empfängt, sofern die Netzwerkbandbreite und die Verarbeitungsressourcen dies zulassen.
  • Der Netzwerkvideorekorder 130 kann ein Gehäuse und einen Bus einschließen, der mindestens einen Prozessor oder eine CPU 132, mindestens einen Speicher 134, mindestens eine Speichervorrichtung 140 und mindestens eine Schnittstelle, wie die Kameraschnittstelle 136, die Netzwerkschnittstelle 138 und/oder die Speicherschnittstelle 142, miteinander verbindet. Das Gehäuse (nicht abgebildet) kann einschließen, dass die verschiedenen Teilkomponenten des Netzwerkvideorekorders 130 montiert werden, alle physischen Verbinder für die Schnittstellen untergebracht werden und die Teilkomponenten geschützt werden. Einige Gehäuse können für den Einbau in ein Rack-System eingerichtet werden. Der Bus (nicht abgebildet) kann einen oder mehrere Leiter einschließen, die die Kommunikation zwischen den Komponenten des Netzwerkvideorekorders 130 ermöglichen. Der Prozessor 132 kann jede Art von Prozessor oder Mikroprozessor einschließen, der Anweisungen oder Vorgänge interpretiert und ausführt. Der Speicher 134 kann einen Direktzugriffsspeicher (RAM) oder eine andere Art von dynamischer Speichervorrichtung einschließen, die Informationen und Anweisungen zur Ausführung durch den Prozessor 132 speichert, und/oder einen Festwertspeicher (ROM) oder eine andere Art von statischer Speicherungsvorrichtung, die statische Informationen und Anweisungen zur Verwendung durch den Prozessor 132 speichert, und/oder jedes geeignete Speicherelement.
  • In einigen Ausführungsformen kann der Netzwerkvideorekorder 130 eine Kameraschnittstelle 136 einschließen, die für die Verbindung mit einer oder mehreren Kameras 110 eingerichtet ist. Die Kameraschnittstelle 136 kann zum Beispiel eine Vielzahl von Ethernetanschlüssen einschließen und Protokolle unterstützen, die mit den PoE-Standards für die Verbindung mit den Kameras 110.5-110.n kompatibel sind. In einigen Ausführungsformen kann die Kameraschnittstelle 136 einen PoE-Netzwerkschalter einschließen, der die Stromversorgung der angeschlossenen Kameras bereitstellt und Datenpakete zu und von den Kameras 110.5-110.n weiterleitet, wie beispielsweise Steuer- und Videodaten. In einigen Ausführungsformen kann der Netzwerkvideorekorder 130 keine eigene Kameraschnittstelle 136 einschließen und die Netzwerkschnittstelle 138 für die Kommunikation mit den Kameras 110 über das Netzwerk 102 verwenden.
  • Die Netzwerkschnittstelle 138 kann eine oder mehrere drahtgebundene oder drahtlose Netzwerkverbindungen zum Netzwerk 102 einschließen. Die Netzwerkschnittstelle 138 kann eine physikalische Schnittstelle, beispielsweise einen Ethernetanschluss, und zugehörige Hardware- und Softwareprotokolle für die Kommunikation über das Netzwerk 102 einschließen, beispielsweise eine Netzwerkschnittstellenkarte.
  • Die Speicherungsvorrichtungen 140 können eine oder mehrere nichtflüchtige Speicherungsvorrichtungen einschließen, die für die Speicherung von Videodaten eingerichtet sind, wie beispielsweise ein Festplattenlaufwerk (HDD) oder ein Festkörperlaufwerk (SSD). In einigen Ausführungsformen ist die Speicherungsvorrichtung 140 eine Vielzahl von Festkörperlaufwerken (SSDs) oder schließt sie ein. In einigen Ausführungsformen kann der Netzwerkvideorekorder 130 eine interne Speicherungsvorrichtung 140.1 und einen erweiterbaren Speicher einschließen, an den zusätzliche Speicherungsvorrichtungen 140.n über die Schnittstelle 142 angeschlossen werden können. Jede Speicherungsvorrichtung 140 kann einen nichtflüchtigen Speicher (NVM) oder eine auf Rechenressourcen (Prozessor und Speicher) basierende Steuerung 144 und eine Vielzahl von NVM- oder Medienvorrichtungen 146 zur Datenspeicherung einschließen (z. B. eine oder mehrere NVM-Vorrichtung(en), wie eine oder mehrere Flash-Speicher-Vorrichtungen). In einigen Ausführungsformen schließt eine jeweilige Datenspeicherungsvorrichtung 140 der einen oder mehreren Datenspeicherungsvorrichtungen eine oder mehrere NVM-Steuerungen ein, wie beispielsweise Flash-Steuerungen oder Kanalsteuerungen (z. B. für Speichervorrichtungen mit NVM-Vorrichtungen in mehreren Speicherkanälen). In einigen Ausführungsformen können die Speicherungsvorrichtungen 140 jeweils in einem Gehäuse verpackt sein, wie beispielsweise in einem mehrteiligen versiegelten Gehäuse mit einem definierten Formfaktor und Anschlüssen und/oder Verbindern zur Verbindung mit der Speicherschnittstelle 142. Die Speicherungsvorrichtung 140.1 und jede erweiterte Speicherungsvorrichtung 140.n können vom selben Speicherungsvorrichtungstyp oder von einem anderen Speicherungsvorrichtungstyp sein.
  • In einigen Ausführungsformen kann eine jeweilige Datenspeicherungsvorrichtung 140 eine einzelne Medienvorrichtung einschließen, während in anderen Ausführungsformen die jeweilige Datenspeicherungsvorrichtung 140 eine Vielzahl von Medienvorrichtungen einschließt. In einigen Ausführungsformen schließen die Medienvorrichtungen einen NAND-Flash-Speicher oder einen NOR-Flash-Speicher ein. In einigen Ausführungsformen kann die Speicherungsvorrichtung 140 eine oder mehrere Festplattenlaufwerke (HDDs) einschließen. In einigen Ausführungsformen können die Speicherungsvorrichtungen 140 eine Flash-Speicherungsvorrichtung einschließen, die ihrerseits einen oder mehrere Flash-Speicherchips, ein oder mehrere Flash-Speicherpakete, einen oder mehrere Flash-Speicherkanäle oder dergleichen einschließt. In einigen Ausführungsformen können jedoch eine oder mehrere der Datenspeicherungsvorrichtungen 140 andere Arten von nichtflüchtigen Datenspeichermedien innehaben (z. B. Phasenänderungs-Direktzugriffsspeicher (PCRAM), resistive Direktzugriffsspeicher (ReRAM), Spin-Transfer-Drehmoment-Direktzugriffsspeicher (STT-RAM), magnetoresistive Direktzugriffsspeicher (MRAM) usw.).
  • In einigen Ausführungsformen schließt jede Speicherungsvorrichtung 140 eine Gerätesteuerung 144 ein, die eine oder mehrere Verarbeitungseinheiten (manchmal auch CPUs oder Prozessoren oder Mikroprozessoren oder Mikrocontroller genannt) einschließt, die so eingerichtet sind, dass sie Anweisungen in einem oder mehreren Programmen ausführen. In einigen Ausführungsformen werden die ein oder mehreren Prozessoren von einer oder mehreren Komponenten innerhalb und in einigen Fällen über die Funktion der Vorrichtungssteuerungen hinaus gemeinsam genutzt. Die Medienvorrichtungen 146 sind mit den Vorrichtungssteuerungen 144 über Verbindungen gekoppelt, die üblicherweise zusätzlich zu den Daten Befehle und optional zusätzlich zu den in den Medienvorrichtungen zu speichernden Datenwerten und den von den Medienvorrichtungen 146 gelesenen Datenwerten Metadaten, Fehlerkorrekturinformationen und/oder andere Informationen übermitteln. Die Medienvorrichtungen 146 können eine beliebige Anzahl von (d. h. eine oder mehrere) Arbeitsspeichervorrichtungen einschließen, einschließlich, ohne Einschränkung, nichtflüchtiger Halbleiterspeichervorrichtungen, wie Flash-Speichervorrichtung(en). In einigen Ausführungsformen können die Medienvorrichtungen 146 NAND- oder NOR-Flash-Speicherungsvorrichtungen einschließen, die aus einstufigen Zellen (SLC), mehrstufigen Zellen (MLC) oder dreistufigen Zellen bestehen.
  • In einigen Ausführungsformen sind die Medienvorrichtungen 146 in den Speicherungsvorrichtungen 140 in eine Anzahl von adressierbaren und einzeln auswählbaren Blöcken unterteilt, die manchmal auch als Löschblöcke bezeichnet werden. In einigen Ausführungsformen sind die individuell auswählbaren Blöcke die löschbaren Einheiten mit minimaler Größe in einer Flash-Speichervorrichtung. Mit anderen Worten: jeder Block enthält die minimale Anzahl von Speicherzellen, die gleichzeitig gelöscht werden können (d. h. in einer einzigen Löschoperation). Jeder Block wird in der Regel weiter unterteilt in eine Vielzahl von Seiten und/oder Wortleitungen, wobei jede Seite oder Wortleitung in der Regel eine Instanz des kleinsten individuell zugänglichen (lesbaren) Abschnitts in einem Block ist. In einigen Ausführungsformen (z. B. unter Verwendung einiger Arten von Flash-Speichern) ist die kleinste individuell zugängliche Einheit eines Datensatzes jedoch ein Sektor oder Codewort, der bzw. das eine Untereinheit einer Seite ist. Das heißt, ein Block schließt eine Vielzahl von Seiten ein, wobei jede Seite eine Vielzahl von Sektoren oder Codewörtern enthält, und jeder Sektor oder jedes Codewort die minimale Dateneinheit zum Lesen von Daten aus der Flash-Speichervorrichtung ist.
  • Eine Dateneinheit kann eine beliebig große Zuweisung von Daten beschreiben, z. B. Host-Block, Datenobjekt, Sektor, Seite, Seite mit mehreren Ebenen, Lösch-/Programmierblock, Medienvorrichtung/Paket usw. Speicherorte können physische und/oder logische Orte auf Medienvorrichtungen 140 einschließen und können je nach Speichermedium, Speichervorrichtung/Systemkonfiguration und/oder Kontext auf unterschiedlichen Granularitätsebenen beschrieben und/oder zugewiesen werden. Beispielsweise können Speicherorte bei einer logischen Blockadressierungsdateneinheit (LBA-Dateneinheit) eines Hosts Größe und Adressierbarkeit für Host-Lese/Schreibzwecke zugewiesen werden, aber als Seiten mit Speichervorrichtungsadressierung verwaltet werden, die in der Medien-Flash-Translationsschicht (FTL) in anderen Kontexten verwaltet wird. Die Mediensegmente können physische Speicherplätze auf den Speicherungsvorrichtungen 140 einschließen, die auch mit einem oder mehreren logischen Speicherplätzen korrespondieren können. In einigen Ausführungsformen können Mediensegmente eine kontinuierliche Reihe von physikalischem Speicherort wie benachbarte Dateneinheiten auf einem Speichermedium einschließen und können bei Flash-Speichern einem oder mehreren Medien zum Löschen oder Programmieren der Blöcke entsprechen. Eine logische Datengruppe kann eine Vielzahl von logischen Dateneinheiten einschließen, die auf einer logischen Basis gruppiert werden können, unabhängig vom Speicherort, wie beispielsweise Datenobjekte, Video-Mediendateien oder andere logische Datenkonstrukte, die aus mehreren Host-Blöcken bestehen. In einigen Ausführungsformen kann die Speicherungsvorrichtung 140 speziell für die Verwaltung der Speicherung und des Überschreibens von Videodaten in einer Anwendung zur kontinuierlichen Videoüberwachung eingerichtet werden.
  • Die Speicherschnittstelle 142 kann eine physische Schnittstelle zur Verbindung mit einer oder mehreren externen Speicherungsvorrichtungen einschließen, die ein Schnittstellenprotokoll verwendet, das den Zugriff auf die Speicherungsvorrichtung unterstützt. Die Speicherschnittstelle 142 kann zum Beispiel eine PCIe-Schnittstelle (Peripheral Component Interconnect Express), eine SATA-Schnittstelle (Serial Advanced Technology Attachment), eine SCSI-Schnittstelle (Small Computer System Interface), eine SAS-Schnittstelle (Serial Attached SCSI), einen USB-Bus (Universal Serial Bus), eine Firewire-Schnittstelle oder einen ähnlichen Verbinder für Speicherschnittstellen einschließen, der den Zugriff auf die Speicherungsvorrichtungen 140.n unterstützt. In einigen Ausführungsformen kann die Speicherschnittstelle 142 eine drahtlose Datenverbindung mit ausreichender Bandbreite für die Übertragung von Videodaten einschließen. Abhängig von der Konfiguration und den Protokollen, die von der Speicherschnittstelle 142 verwendet werden, kann die Speicherungsvorrichtung 140.n einen entsprechenden Schnittstellenadapter, Firmware und/oder Protokolle für den Empfang, die Verwaltung und die Beantwortung von Speicherbefehlen vom Netzwerkvideorekorder 130 einschließen.
  • Der Netzwerkvideorekorder 130 kann eine Vielzahl von Modulen oder Subsystemen einschließen, die im Speicher 134 gespeichert und/oder instanziiert sind und vom Prozessor 132 als Anweisungen oder Vorgänge ausgeführt werden. In den Speicher 134 kann zum Beispiel Kamerasteuerungssubsystem 150 eingeschlossen sein, das für die Steuerung der Kameras 110 eingerichtet ist. Der Speicher 134 kann ein Videoaufnahmesubsystem 152 einschließen, das für den Empfang von Videostreams von den Kameras 110 eingerichtet ist. Der Speicher 134 kann ein Videospeichersubsystem 154 einschließen, das so eingerichtet ist, dass es empfangene Videodaten in der/den Speichervorrichtung(en) 140 und/oder im Netzwerkvideospeicher 162 speichert. Der Speicher 134 kann ein Videoanalysesubsystem einschließen, das so eingerichtet ist, dass es Videostreams und/oder Videodaten auf bestimmte Ereignisse hin analysiert, wie beispielsweise Bewegungen, erkannte Objekte, erkannte Gesichter und Kombinationen davon. Der Speicher 134 kann ein Videoanzeigesubsystem einschließen, das so eingerichtet ist, dass es selektiv Videostreams auf der Benutzervorrichtung 170 anzeigt, die an den Netzwerkvideorekorder 130 angeschlossen oder über das Netzwerk 102 ferngesteuert sein kann.
  • In einigen Ausführungsformen kann das Kamerasteuerungssubsystem 150 Schnittstellenprotokolle und einen Satz von Funktionen und Parametern für die Verwendung, das Einrichten, die Kommunikation mit und das Bereitstellen von Befehlsnachrichten für Kameras 110 einschließen. So kann das Kamerasteuerungssubsystem 150 zum Beispiel eine API und einen Befehlssatz für die Interaktion mit der Steuerschaltung 122 einschließen, um auf eine oder mehrere Kamerafunktionen zuzugreifen. In einigen Ausführungsformen kann das Kamerasteuerungssubsystem 150 so eingerichtet werden, dass es Videokonfigurationsparameter für den Bildsensor 112 und/oder den Video-Encoder 118 einstellt, das Mikrofon 120 und zugehörige Parameter verwaltet, auf die Schwenk-Neige-Zoom-Funktionen der Steuerschaltung 122 zugreift, Parameter für die kamerabasierte Bewegungserkennung, den Stolperdraht und/oder die Erkennung von schlechten Lichtverhältnissen im Speicher 116 einstellt oder modifiziert und/oder anderweitig den Vorgang der Kameras 110 verwaltet. Das Kamerasteuerungssubsystem 150 kann zum Beispiel eine Videokamerakonfigurationstabelle, Seiten oder ähnliche Datenstrukturen verwalten, die Einträge für jede verwaltete Videokamera und ihre jeweiligen kameraspezifischen Konfigurationsparameter, aktive Steuerungsfunktionen (wie PTZ-Steuerung) und andere Konfigurations- und Steuerungsinformationen für die Verwaltung der Kameras 110 einschließen. In einigen Ausführungsformen kann jeder Kamera 110 eine eindeutige Kamerakennung zugewiesen werden, die vom Kamerasteuerungssubsystem 150, dem Videoaufnahmesubsystem 152 und/oder anderen Subsystemen verwendet werden kann, um Videodaten der Kamera zuzuordnen, von der sie empfangen wurden.
  • In einigen Ausführungsformen kann das Videoaufnahmesubsystem 152 Schnittstellenprotokolle und einen Satz von Funktionen und Parametern für den Empfang von Videostreams von Kameras 110 einschließen. Das Videoaufnahmesubsystem 152 kann zum Beispiel Videodatenkanäle und zugehörige Datenpuffer für die Verwaltung einer Vielzahl von Kameradatenstreams einschließen. In einigen Ausführungsformen kann jeder Videokamera 110 ein eigener Videokanal zugewiesen werden, um ihren Videostream kontinuierlich und/oder selektiv an den Netzwerkvideorekorder 130 zu senden. Das Videoaufnahmesubsystem 152 kann so eingerichtet sein, dass es jeden empfangenen Videostream an das Videospeichersubsystem 154, das Videoanalysesubsystem 156 und/oder das Videoanzeigesubsystem 158 weiterleitet. Empfangene Videostreams können zum Beispiel vom Videoaufnahmesubsystem 152 gepuffert werden, bevor sie an das Videospeichersubsystem 154, das Videoanalysesubsystem 156 und/oder das Videoanzeigesubsystem 158 weitergeleitet werden. Das Videoaufnahmesubsystem 152 kann Kameravideostreams empfangen, die eingebettete Audiodaten einschließen, die mit den Bilddaten synchronisiert sind. In einigen Ausführungsformen kann das Videoaufnahmesubsystem 152 so eingerichtet sein, dass es den kombinierten Audio-/Bild-Videostrom verarbeitet und/oder die Audiospur in einen separaten Audiostream zur Speicherung, Analyse und/oder Anzeige aufteilt.
  • In einigen Ausführungsformen kann das Videospeichersubsystem 154 Schnittstellenprotokolle und einen Satz von Funktionen und Parametern zur Verwaltung der Speicherung von Videodaten in Speicherungsvorrichtungen 140 und/oder Netzwerkvideospeichern 162 zum späteren Abruf und zur Verwendung durch das Videoanalysesubsystem 156 und/oder das Videoanzeigesubsystem 158 einschließen. Das Videospeichersubsystem 154 kann beispielsweise Kameravideostromdaten aus Videodatenpuffern in nichtflüchtige Speicher in den Speicherungsvorrichtungen 140 schreiben und das Videoanalysesubsystem 156 und/oder das Videoanzeigesubsystem 158 können so eingerichtet werden, dass sie Videodaten selektiv aus den Speicherungsvorrichtungen 140 lesen. In einigen Ausführungsformen kann das Videospeichersubsystem 154 die Verwaltung des Videospeicherraums in den Speicherungsvorrichtungen 140 und/oder dem Netzwerkvideospeicher 162 in Übereinstimmung mit einem oder mehreren Datenaufbewahrungs- und/oder Datenarchivierungsschemata einschließen. So kann das Überwachungssystem 100 zum Beispiel die kontinuierliche und/oder getriggerte Aufzeichnung von Videodaten der Kameras 110 unterstützen und das Videospeichersubsystem 154 kann eine Logik zur Durchsetzung einer Datenaufbewahrungs- und Überschreibungsrichtlinie einschließen, bei der der feste Raum der Speicherungsvorrichtungen 140 für die Speicherung eines kürzlichen Zeitraums von erfassten Videos, von Videodaten, die bestimmte Aufbewahrungskriterien erfüllen, und/oder zum Löschen oder Archivieren von Videodaten nach einem oder mehreren Zeiträumen, die in der Datenaufbewahrungsrichtlinie definiert sind, wiederverwendet wird. In einigen Ausführungsformen kann das Videospeichersubsystem 154 Videodecoder und/oder -encoder einschließen oder darauf zugreifen, um Videodaten in einem Speicher-Videoformat zu speichern, das sich vom Videoformat der Kamera unterscheidet, wie beispielsweise die Verwendung eines anderen Codecs, Kompressionsfaktors, einer anderen Bildrate, Auflösung, Bildgröße usw.
  • In einigen Ausführungsformen kann das Videoanalysesubsystem 156 Schnittstellenprotokolle und einen Satz von Funktionen und Parametern für die Analyse von Videodaten der Kameras 110 zur Erzeugung von Metadaten, zur Erkennung von Ereignissen und zugehörigen Auslösern und/oder zur weiteren Verarbeitung der Kameravideostreams einschließen. Das Videoanalysesubsystem 156 kann zum Beispiel so eingerichtet sein, dass es einen oder mehrere Algorithmen zur Bestimmung, Kennzeichnung und/oder Auslösung von Warnmeldungen oder anderen Aktionen als Reaktion auf erkannte Videoereignisse ausführt. In einigen Ausführungsformen kann das Videoanalysesubsystem 156 so eingerichtet sein, dass es Metadatenstrukturen erstellt, die erkannten Ereignissen Zeit- und Bildpositionsmarkierungen für den Videostream, aus dem sie erkannt wurden, zuordnen. Das Videoanalysesubsystem 156 kann zum Beispiel Bewegungs-, Tripwire-, Objekterkennungs-, Gesichtserkennungs-, Audiodetektions-, Stimmerkennungs-, Spracherkennungs- und/oder andere Algorithmen verwenden, um Ereignisse in einem Videostream zu bestimmen und sie in einer entsprechenden Metadatenspur und/oder einer separaten Metadatentabelle zu kennzeichnen, die dem Videodatenobjekt zugeordnet ist. In einigen Ausführungsformen können Videostreams und/oder Abschnitte davon mit Zustandsmarkierungen oder Tags versehen werden. Das Videoanalysesubsystem 156 kann zum Beispiel eine menschliche Sprechbedingung auf der Grundlage von Audioerkennung und/oder Spracherkennung oder eine schlechte Lichtbedingung anhand der in den Videodaten vorhandenen Licht-, Farb- und/oder Wellenlängenbandbreite bestimmen und entsprechende Tags hinzufügen. In einigen Ausführungsformen kann das Videoanalysesubsystem 156 eine Ereignisbehandlungslogik einschließen, um die Reaktion auf die Erkennung eines oder mehrerer erkannter Ereignisse zu bestimmen, wie beispielsweise das Auslösen eines Alarms an die Benutzervorrichtung 170, das Initiieren weiterer Videoverarbeitung und/oder das Auslösen der selektiven Anzeige eines Videostreams, der das erkannte Ereignis enthält, durch das Videoanzeigesubsystem 158. In einigen Ausführungsformen kann das Videoanalysesubsystem 156 in Echtzeit oder nahezu in Echtzeit mit den vom Videoaufnahmesubsystem 152 empfangenen Videodaten arbeiten, die vom Videospeichersubsystem 154 gespeicherten Videodaten verzögert verarbeiten und/oder eine Kombination aus beidem auf der Grundlage der Art (und der Verarbeitungsanforderungen) der Videoereignisse, des zu verarbeitenden Videovolumens und anderer Faktoren. In einigen Ausführungsformen kann das Videoanalysesubsystem 156 eine oder mehrere Analyse-Engines aufweisen, die für einen bestimmten Ereignistyp und den entsprechenden Ereigniserkennungsalgorithmus oder das entsprechende Modell eingerichtet sind, wie beispielsweise eine Analyse-Engine zur Stimmerkennung, eine Analyse-Engine zur Spracherkennung, eine Analyse-Engine zur Objekterkennung, eine Analyse-Engine zur Gesichtserkennung usw.
  • In einigen Ausführungsformen kann das Videoanzeigesubsystem 158 Schnittstellenprotokolle und einen Satz von Funktionen und Parametern für die Anzeige von Videos vom Videoaufnahmesubsystem 152 und/oder Videospeichersubsystem 154 auf der Benutzervorrichtung 170 einschließen. Das Videoanzeigesubsystem 158 kann zum Beispiel eine Überwachungs- oder Anzeigekonfiguration zur Anzeige eines oder mehrerer Videostreams in Echtzeit oder nahezu in Echtzeit auf einer grafischen Benutzeranzeige der Benutzervorrichtung 170 einschließen und/oder Videonavigationsbefehle von der Benutzervorrichtung 170 empfangen, um gespeicherte Videodaten vom Videospeichersubsystem 154 selektiv anzuzeigen. In einigen Ausführungsformen kann das Videoanzeigesubsystem 158 Videostreams mit oder ohne Audiodaten unterstützen und/oder ermöglichen, dass Audiokanäle in den Videostreams selektiv der Benutzervorrichtung 170 bereitgestellt werden. Einige Benutzervorrichtungen können zum Beispiel so eingerichtet sein, dass sie keine Audiodaten empfangen, während andere einen oder mehrere Audiokanäle auf der Grundlage der Benutzeridentifikation und/oder der Sicherheitsdaten empfangen können. In einigen Ausführungsformen kann das Videoanzeigesubsystem 158 einen Index von Echtzeit-/Nahe-Echtzeit-Videostreams und/oder gespeicherten oder archivierten Videostreams führen, die für den Zugriff durch die Benutzervorrichtung 170 verfügbar sind. In einigen Ausführungsformen kann der Videoindex einen entsprechenden Metadatenindex einschließen, der Videodatenparameter (z. B. Zeit, Ort, Kamerakennung, Format, schwaches/ normales Licht, Audiokanäle usw.), erkannte Videoereignis-Metadaten (Ereigniszeit, Ort, Typ, Parameter, Ereignisbedingungen usw.) und/oder Videoverwaltungsparameter (Ablauf, aktiv/archiviert, Zugriffskontrolle usw.) zur Verwendung bei der Anzeige und Verwaltung von Videodaten enthält. Das Videoanzeigesubsystem 158 kann so eingerichtet werden, dass es die Benutzervorrichtung 170 unterstützt, wenn diese direkt an den Netzwerkvideorekorder 130 und/oder über das Netzwerk 102 innerhalb eines LAN, WAN, VPN oder des Internets angeschlossen ist.
  • In einigen Ausführungsformen kann das Überwachungssystem 100 eine oder mehrere entfernte und/oder cloudbasierte Ressourcen zur Unterstützung der Funktionen des Netzwerkvideorekorders 130 und/oder der Benutzervorrichtung 170 einschließen. Das Überwachungssystem 100 kann zum Beispiel einen Netzwerkvideoserver 160 einschließen, der so eingerichtet ist, dass er einige, alle oder ausgewählte Abschnitte der Funktionen des Netzwerkvideorekorders 130 hosten kann, beispielsweise ein cloudbasiertes Serversystem. Als weiteres Beispiel kann das Überwachungssystem 100 einen Netzwerkvideospeicher 162 zum Speichern aktiver und/oder archivierter Videodaten einschließen, der die Speicherungsvorrichtungen 140 ergänzt und/oder ersetzt, wie beispielsweise ein cloudbasiertes netzwerkgebundenes Speichersystem oder ein verteiltes Speichersystem. In einigen Ausführungsformen kann der Großteil der vorstehend für den Netzwerkvideorekorder 130 beschriebenen Funktionen im Netzwerkvideorekorder 130 untergebracht sein, und ausgewählte Funktionen können so eingerichtet werden, dass sie zusätzliche Ressourcen im Netzwerkvideoserver 160 und/oder im Netzwerkvideospeicher 162 nutzen. Beispielsweise kann der Netzwerkvideoserver 160 so eingerichtet werden, dass er spezielle und/oder verarbeitungsintensive Algorithmen zur Ereigniserkennung unterstützt, um das Videoanalysesubsystem 156 zu ergänzen, und/oder der Netzwerkvideospeicher 162 kann so eingerichtet werden, dass er die Archivierung inaktiver Videodaten für eine längerfristige Speicherung unterstützt.
  • Bei der Benutzervorrichtung 170 kann es sich um jede geeignete Rechnervorrichtung handeln, beispielsweise um einen Computer, einen Computerserver, einen Laptop, ein Tablet, ein Netbook, einen Internetkiosk, einen persönlichen digitalen Assistenten, ein Mobiltelefon, ein Smartphone, eine Spielvorrichtung oder eine andere Rechnervorrichtung. Die Benutzervorrichtung 170 wird manchmal auch als Host-, Client oder Client-System bezeichnet. In einigen Ausführungsformen kann die Benutzervorrichtung 170 eine oder mehrere Anwendungen für die Verbindung mit dem Überwachungssystem 100 hosten oder instanziieren. Bei der Benutzervorrichtung 170 kann es sich beispielsweise um einen persönlichen Computer oder eine mobile Vorrichtung handeln, auf der eine Überwachungs- und Verwaltungsanwendung läuft, die so eingerichtet ist, dass sie eine Benutzeroberfläche für den Netzwerkvideorekorder 130 bereitstellt. In einigen Ausführungsformen kann die Benutzervorrichtung 170 so eingerichtet sein, dass sie über den Netzwerkvideorekorder 130 und/oder direkt über das Netzwerk 102 auf die Kameras 110 und/oder ihre jeweiligen Videostreams zugreift. In einigen Ausführungsformen können eine oder mehrere Funktionen des Netzwerkvideorekorders 130 in der Benutzervorrichtung 170 und/oder eine oder mehrere Funktionen der Benutzervorrichtung 170 im Netzwerkvideorekorder 130 instanziiert werden.
  • Die Benutzervorrichtung 170 kann einen oder mehrere Prozessoren oder CPUs 172 für die Ausführung von Rechenvorgängen oder Anweisungen einschließen, die im Speicher 174 für den Zugriff auf Videodaten und andere Funktionen des Netzwerkvideorekorders 130 über das Netzwerk 102 gespeichert sind. In einigen Ausführungsformen kann der Prozessor 172 mit dem Speicher 174 und der Eingabe-/Ausgabevorrichtung 176 verbunden sein, um sowohl Vorgänge der Videoanzeige als auch Vorgänge der Verwaltung des Überwachungssystems auszuführen. Der Prozessor 172 kann jede Art von Prozessor oder Mikroprozessor einschließen, der Anweisungen oder Vorgänge interpretiert und ausführt. Der Speicher 174 kann einen Direktzugriffsspeicher (RAM) oder eine andere Art von dynamischer Speichervorrichtung einschließen, die Informationen und Anweisungen zur Ausführung durch den Prozessor 172 speichert, und/oder einen Festwertspeicher (ROM) oder eine andere Art von statischer Speicherungsvorrichtung, die statische Informationen und Anweisungen zur Verwendung durch den Prozessor 172 speichert, und/oder jedes geeignete Speicherelement. In einigen Ausführungsformen kann die Benutzervorrichtung 170 einen Abschnitt des Speichers 174 und/oder einer anderen lokalen Speicherungsvorrichtung (in oder an der Benutzervorrichtung 170) zuweisen, um ausgewählte Videodaten für die Benutzervorrichtung 170 zu speichern. In einigen Ausführungsformen kann die Benutzervorrichtung 170 eine oder mehrere E/A-Vorrichtungen 176 einschließen. Zum Beispiel eine grafische Anzeige wie ein Monitor und/oder ein Touchscreen und/oder andere Komponenten der Benutzeroberfläche wie eine Tastatur, eine Maus, Funktionstasten, Lautsprecher, ein Mikrofon, ein Vibrationsmotor, ein Trackpad, ein Stift, Spracherkennung, biometrische Mechanismen und/oder eine beliebige Anzahl zusätzlicher Vorrichtungen zur Erweiterung der Funktionalität der Benutzervorrichtung 170. Die Netzwerkschnittstelle 178 kann eine oder mehrere drahtgebundene oder drahtlose Netzwerkverbindungen zum Netzwerk 102 einschließen. Die Netzwerkschnittstelle 178 kann eine physische Schnittstelle, wie beispielsweise einen Ethernetanschluss, und/oder zugehörige Hardware- und Softwareprotokolle für die Kommunikation über das Netzwerk 102 einschließen, wie beispielsweise eine Netzwerkschnittstellenkarte, einen drahtlosen Netzwerkadapter und/oder eine zellulare Datenschnittstelle.
  • Die Benutzervorrichtung 170 kann eine Vielzahl von Modulen oder Subsystemen einschließen, die im Speicher 174 gespeichert und/oder instanziiert sind und vom Prozessor 172 als Befehle oder Vorgänge ausgeführt werden. Zum Beispiel kann der Speicher 174 einen Videomanager 180 einschließen, der so eingerichtet ist, dass er eine Benutzeroberfläche zum selektiven Navigieren und Anzeigen von Echtzeit-, echtzeitnahen und/oder gespeicherten Videostreams bereitstellt. Der Speicher 174 kann einen Alarmmanager 182 einschließen, der eine Benutzeroberfläche zum Einstellen, Überwachen und Anzeigen von Alarmen auf der Grundlage von Videoereignissen bereitstellt. Der Speicher 174 kann einen Kameramanager 184 einschließen, der so eingerichtet ist, dass er eine Benutzeroberfläche zum Identifizieren, Konfigurieren und Verwalten der Kameras 110 bereitstellt. Der Speicher 174 kann einen Konfigurationsmanager 186 einschließen, um eine Benutzeroberfläche zum Einrichten und Verwalten von Systemeinstellungen, Benutzerzugriffskontrollen, Speicheroptionen und anderen Konfigurationseinstellungen für das Überwachungssystem 100 bereitzustellen. Der Speicher 174 kann einen Manager 188 für Netzwerkvideorekorder (NVR) einschließen, der so eingerichtet ist, dass er eine Benutzeroberfläche zur Identifizierung, Konfiguration und Verwaltung des Netzwerkvideorekorders 130 und/oder mehrerer Netzwerkvideorekorder bereitstellt. Der Speicher 174 kann einen Analysemanager einschließen, der so eingerichtet ist, dass er eine Schnittstelle für die Auswahl, das Training und die Verwaltung von Algorithmen zur Ereigniserkennung für das Überwachungssystem 100 bereitstellt.
  • In einigen Ausführungsformen kann der Videomanager 180 Schnittstellenprotokolle und einen Satz von Funktionen und Parametern zum Navigieren und Anzeigen von Videostreams der Kameras 110 einschließen. Der Videomanager 180 kann beispielsweise eine grafische Benutzeroberfläche und interaktive Steuerelemente zur Anzeige von Listen, Tabellen, Miniaturansichten oder ähnlichen Oberflächenelementen zur Auswahl und Anzeige von Videostreams für bestimmte Kameras, Zeiten, Orte und/oder Ereignisse einschließen. In einigen Ausführungsformen kann der Videomanager 180 die geteilte Anzeige von Videostreams mehrerer Kameras ermöglichen. So können zum Beispiel die nahezu in Echtzeit stattfindenden Videoströme (mit einer vorgegebenen Verzögerung auf der Grundlage von Netzwerkverzögerung, Speicher- und Verarbeitungszeiten) von allen aktiven Kameras auf einer Überwachungsschnittstelle angezeigt werden, oder ein Satz von Videostreams, die einem erkannten Ereignis entsprechen, kann in einer Ereignisübersichtsschnittstelle angezeigt werden. In einigen Ausführungsformen kann der Videomanager 180 Audiodaten von Videostreams über Lautsprecher in der Benutzervorrichtung 170 anzeigen oder abspielen. Zum Beispiel können Videostreams über begleitende Audiokanäle oder -spuren verfügen, um synchronisierte Audiodaten mit den auf der Benutzervorrichtung 170 angezeigten Videoströmen bereitzustellen. In einigen Ausführungsformen kann der Videomanager 180 eine Datenstruktur einschließen, die alle im Überwachungssystem 100 gespeicherten Videodaten zusammenfasst, damit der Benutzer ältere Überwachungsvideos auffinden und ansehen kann. Ein Videoverwaltungsprotokoll oder eine Datenbank kann zum Beispiel Einträge für gespeicherte Videodaten einschließen, die durch zugehörige Metadaten indiziert sind, wie beispielsweise Videodatenparameter (z. B. Zeit, Ort, Kamerakennung, Format, schwaches Licht/normales Licht usw.), Metadaten zu erkannten Videoereignissen (Ereigniszeit, Ort, Typ, Parameter usw.) und/oder Videoverwaltungsparameter (Ablauf, aktiv/archivieren, Zugriffskontrolle usw.). In einigen Ausführungsformen kann der Videomanager 180 so eingerichtet sein, dass er eine Schnittstelle zum Videoanzeigesubsystem 158 und/oder zum Speichersubsystem 154 hat, um ausgewählte Videodaten zu bestimmen und abzurufen. In einigen Ausführungsformen kann der Zugriff auf Videostreams über das Videoanzeigesubsystem 158 von der Benutzeridentifikation, den Sicherheitsnachweisen und/oder den Zugriffsrechten abhängig sein.
  • In einigen Ausführungsformen kann der Alarmmanager 182 Schnittstellenprotokolle und einen Satz von Funktionen und Parametern zum Einstellen, Überwachen und Anzeigen von Alarmen auf der Grundlage von Videoereignissen einschließen. Der Benutzer kann zum Beispiel einen Satz von Auslöseereignissen definieren, die einen visuellen, akustischen, taktilen und/oder benachrichtigungsbasierten (elektronische Post, Textnachricht, automatischer Anruf usw.) Alarm auf der Benutzervorrichtung 170 auslösen. In einigen Ausführungsformen kann der Alarmmanager 182 eine Vielzahl von voreingestellten Alarmbedingungen mit zugehörigen Ereignisparametern einschließen und es einem Benutzer ermöglichen, Alarmtypen zu aktivieren und zu deaktivieren und/oder zugehörige Ereignisparameter zu ändern. In einigen Ausführungsformen kann der Alarmmanager 182 so eingerichtet sein, dass er grafische Elemente, die erkannte Ereignisse oder Ereignisindikatoren darstellen, in die über den Videomanager 180 angezeigten Videostreams einblendet. Erkannte Bewegungen, Objekte oder Gesichter können zum Beispiel umrahmt oder hervorgehoben, mit entsprechenden Kennzeichnungen versehen oder auf andere Art und Weise in der Videowiedergabe auf der Benutzervorrichtung 170 angezeigt werden. In einigen Ausführungsformen kann der Alarmmanager 182 so eingerichtet werden, dass er eine Schnittstelle zum Videoanalysesubsystem 156, zum Videoaufnahmesubsystem 152 und/oder direkt zu den Kameras 110 bildet, um Ereignisbenachrichtigungen oder Parameter zu empfangen.
  • In einigen Ausführungsformen kann der Kameramanager 184 Schnittstellenprotokolle und einen Satz von Funktionen und Parametern zur Identifizierung, Einrichtung und Verwaltung von Kameras 110 einschließen. Der Konfigurationsmanager 186 kann Schnittstellenprotokolle und einen Satz von Funktionen und Parametern zum Einrichten und Verwalten von Systemeinstellungen, Benutzerzugriffskontrollen, Benutzeridentifikation und Sicherheitsnachweisen, Speicheroptionen und anderen Konfigurationseinstellungen einschließen. Der NVR-Manager 188 kann Schnittstellenprotokolle und einen Satz von Funktionen und Parametern zur Identifizierung, Einrichtung und Verwaltung des Netzwerkvideorekorders 130 einschließen. Zum Beispiel können der Kameramanager 184, der Konfigurationsmanager 186 und/oder der NVR-Manager 188 eine Reihe grafischer Benutzerschnittstellen einschließen, um ihre jeweiligen Komponentenbezeichnungen und die zugehörigen Konfigurationsparameter anzuzeigen und es dem Benutzer zu ermöglichen, diese Parameter zur Verwaltung des Überwachungssystems 100 und seiner Komponentensysteme anzuzeigen und/oder zu ändern. In einigen Ausführungsformen können der Kameramanager 184, der Konfigurationsmanager 186 und/oder der NVR-Manager 188 Änderungen der Parameter für die betroffenen Komponenten bereitstellen, wie beispielsweise der Kameramanager 184, der Änderungen der Kamerakonfigurationsparameter an ausgewählte Kameras 110, der NVR-Manager 188, der Änderungen der NVR-Konfigurationsparameter an den Netzwerkvideorekorder 130 sendet, und/oder der Konfigurationsmanager 186, der Änderungen der Systemkonfigurationsparameter an alle betroffenen Komponenten sendet.
  • In einigen Ausführungsformen kann der Analysemanager 190 Schnittstellenprotokolle und einen Satz von Funktionen und Parametern für die Auswahl, das Training und die Verwaltung von Algorithmen zur Ereigniserkennung einschließen. Der Analysemanager 190 kann zum Beispiel eine Bibliothek mit Algorithmen zur Ereigniserkennung für verschiedene Ereignistypen einschließen. In einigen Ausführungsformen können die Algorithmen zur Ereigniserkennung einen Satz von Parametern und/oder Modellgewichtungen einschließen, die auf der Grundlage von Trainingsdatensätzen vorkonfiguriert sind, die unabhängig vom Überwachungssystem 100 verarbeitet werden. Der Analysemanager 190 kann zum Beispiel Algorithmen zur Objekterkennung für gängige Objekte, Situationen und Kamerakonfigurationen einschließen. In einigen Ausführungsformen kann der Analysemanager 190 vorkonfigurierte Trainingsdatensätze einschließen und/oder es dem Benutzer ermöglichen, Trainingsdatensätze für die Bestimmung oder Verfeinerung von Algorithmusparametern für die Ereigniserkennung und/oder Modellgewichtungen auf der Grundlage von vordefinierten Basisalgorithmen oder -modellen zu definieren. In einigen Ausführungsformen kann der Analysemanager 190 eine Schnittstelle zum Analysesubsystem 156 haben, um die über den Analysemanager 190 eingerichteten Algorithmen zur Ereigniserkennung zu verwenden, um die vom Netzwerkvideorekorder 130 empfangenen Videodaten zu verarbeiten und/oder diese Algorithmen auszuwählen, zu trainieren und zu verwalten.
  • 2 zeigt eine schematische Darstellung der Handhabung des Audioprivatsphärenmodus, die in einem computerbasierten Überwachungssystem 200, wie dem Überwachungssystem 100 in 1, implementiert werden kann. Die Videokamera 210 kann, ähnlich wie die Kameras 110 in 1, so eingerichtet sein, dass sie Bilddaten aus Lichtwellen, die auf einen Bildsensor treffen, und Audiowellen, die von einem Mikrofon empfangen werden, erfasst. Ein Audio-/Videostream 212 (z. B. ein Videostream, der mindestens einen Audiokanal mit synchronisierten Audiodaten einschließt) kann von der Kamera 210 erzeugt werden.
  • Der Audio-/Videostream 212 kann an einen Audio-Ereignis-Detektor 214 und/oder einen Video-Ereignis-Detektor 216 weitergeleitet werden, um zu bestimmen, ob eine menschliche Sprechbedingung in einem oder mehreren Rahmen der Audio- und/oder Videodaten vorliegt. Die Videokamera 210 kann zum Beispiel eine automatische Steuerschaltung einschließen, die menschliche Sprachereignisse aus den Audiodaten identifiziert. In einem anderen Beispiel kann die Ereigniserkennung für eine menschliche Sprechbedingung eine Funktion eines Netzwerkvideorekorders sein, wie beispielsweise des Netzwerkvideorekorders 130 in 1, der Audio-/Videodaten 212 von der Videokamera 210 empfängt. Der Netzwerkvideorekorder kann den Echtzeit-Videostream der Videokamera 210 verarbeiten, um anhand der Audiodaten, der Videodaten oder einer Kombination davon zu bestimmen, ob eine menschliche Sprechbedingung vorliegt. Der Audio-Ereignis-Detektor 214 kann beispielsweise einen Algorithmus zur Erkennung menschlicher Stimmen oder einen Algorithmus zur Stimmerkennung einschließen, um die Anwesenheit einer oder mehrerer Personen zu bestimmen, die in den Audiodaten sprechen. In einem anderen Beispiel kann der Video-Ereignis-Detektor 216 eine Verhaltenserkennung auf der Grundlage von Gesichtsmerkmalen oder Körpersprache verwenden, die darauf schließen lassen, dass eine oder mehrere Personen auf den Videobildern sprechen. Wenn im Entscheidungsblock 218 ein Audio- oder Videoereignis erkannt wird, das menschlicher Sprache entspricht, kann die weitere Verarbeitung 228 unter Verwendung des Stimmdetektors 230, der Spracherkennung 234, der Gesichtserkennung 250 und/oder der Verhaltenserkennung 252 erfolgen, um zu bestimmen, ob ein Audioprivatsphärenmodus für die menschliche Sprache eingeleitet werden sollte oder ob der Ereignisauslöser ausreicht, um den Audioprivatsphärenmodus 240 ohne weitere Verarbeitung 228 einzuleiten. Andernfalls kann in den Blöcken 220, 222 und 224 eine normale Verarbeitung des Audio-/Videostreams 212 ohne modifiziertes Audio erfolgen.
  • Wenn in Block 218 keine Ereignisauslöser erkannt werden, die auf eine menschliche Sprechbedingung hinweisen, dann hat der Audio-/Videostream 212 keine menschliche Sprechbedingung. In Block 220 kann der Audio-/Videostream 212 in einem dauerhaften Speicher abgelegt werden. Ein Netzwerkvideorekorder kann zum Beispiel einen kodierten Audio-/Videostream in einer oder mehreren Speicherungsvorrichtungen speichern, die für die Speicherung von Überwachungsvideos eingerichtet sind. Bei Block 222 kann der Audio-/Videostream 212 mit den ursprünglichen Audiodaten angezeigt werden. So kann der Netzwerkvideorekorder zum Beispiel den Audio-/Videostream 212 zur Überwachung oder Überprüfung an eine Benutzeranzeige, wie beispielsweise eine grafische Benutzeranzeige und Lautsprecher auf der Benutzervorrichtung 170, übertragen. Bei Block 224 kann der Audio-/Videostream 212 auf zusätzliche Ereignisse und/oder weitere Prozesse analysiert werden, die nichts mit dem Audioprivatsphärenmodus zu tun haben. Der Netzwerkvideorekorder kann zum Beispiel eine oder mehrere Analyse-Engines einschließen, um verschiedene Ereignistypen zu erkennen, zugehörige Metadaten hinzuzufügen/zu modifizieren, Alarme oder Benachrichtigungen auszulösen und/oder die weitere Verarbeitung der Bild- und/oder Audiodaten einzuleiten.
  • In einigen Ausführungsformen kann die weitere Verarbeitung 228 aus dem Ereignisauslöser 218 resultieren. In einigen Ausführungsformen können einige oder alle Funktionen des Sprachdetektors 230, der Spracherkennung 234, der Gesichtserkennung 250 und/oder der Verhaltenserkennung 252 in den Audio-Ereignis-Detektor 214 und/oder den Video-Ereignis-Detektor 216 eingeschlossen sein. Die weitere Verarbeitung 228 kann zum Beispiel zusätzliche Kriterien und/oder eine Logik zur Ereignisauswertung darstellen, um zu bestimmen, ob der Audioprivatsphärenmodus 240 eingeleitet werden soll, und verschiedene Implementierungen können einige oder alle für die Aktivierung des Audioprivatsphärenmodus 240 verwenden, nachdem zunächst eine menschliche Sprechbedingung festgestellt wurde.
  • Der Detektor für menschliche Stimmen 230 kann einen Prozessor einschließen, der so eingerichtet ist, dass er die Anwesenheit einer menschlichen Stimme in einem Audiodatenstream erkennt. Zum Beispiel kann der Sprachdetektor 230 die Audiodaten aus dem Audio-/Videostream 212 verarbeiten, um Audiodatensignaturen zu erkennen, die auf menschliche Sprache innerhalb eines breiteren Spektrums von Audio-Artefakten hinweisen, die den Hintergrund, die Umgebung und/oder andere nicht-sprachliche Schallquellen einschließen. In einigen Ausführungsformen kann eine Analyse-Engine einen Algorithmus zur Erkennung von Sprachaktivität (VAD) ausführen, der auf den Audio-/Videostream 212 und/oder den Audiokanal abzielt, um das Vorhandensein oder Nichtvorhandensein von menschlicher Sprache zu erkennen. Der Algorithmus kann sich zum Beispiel auf das Vorhandensein von Frequenzen konzentrieren, die für die menschliche Sprache typisch sind, und/oder auf Signalmuster, die auf Sprachtöne und -muster hinweisen. Bei Block 232 kann der Audioprivatsphärenmodus entfallen, wenn keine menschliche Stimme erkannt wird, und die Verarbeitung des Audio-/Videostreams 212 kann mit Block 220 fortgesetzt werden. Wenn eine menschliche Stimme erkannt wird, kann eine menschliche Sprechbedingung markiert werden. In einigen Ausführungsformen reicht die menschliche Sprechbedingung aus, um den Audioprivatsphärenmodus 240 auszulösen. In einigen Ausführungsformen kann eine zusätzliche Verarbeitung der Audiodaten, die die menschliche Stimme enthalten, erforderlich sein, bevor der Audioprivatsphärenmodus gestartet wird.
  • Die Spracherkennung 234 kann einen Prozessor einschließen, der so eingerichtet ist, dass er das Vorhandensein oder Fehlen einzelner menschlicher Stimmen erkennt. Zum Beispiel kann die Spracherkennung 234 die Audiodaten aus dem Audio-/Videostream 212 verarbeiten und die menschlichen Stimmmuster in den Audiodaten mit einem oder mehreren bekannten Stimmmustern vergleichen. In einigen Ausführungsformen kann eine Analyse-Engine eine Stimmerkennung, eine Sprechererkennung oder eine Stimmauthentifizierung anhand einer Stimmbibliothek von erkannten Benutzern durchführen. Durch den Vergleich eines Satzes einzigartiger Audiofaktoren, die eine menschliche Stimme ausmachen (Stimmabdruck), mit der menschlichen Stimme in den Audiodaten kann die Spracherkennung 234 feststellen, ob der Sprecher bekannt ist und, falls ja, ob es sich um einen geschützten Sprecher handelt, um den Audioprivatsphärenmodus zu aktivieren. Das Überwachungssystem 200 kann zum Beispiel eine Liste mit geschützten Sprechern einschließen, die die Personen identifiziert, für die der Audioprivatsphärenmodus aktiviert werden soll, und die ihre Stimmabdrücke zur Verwendung durch die Spracherkennung 234 einschließt. In einigen Ausführungsformen kann die Spracherkennung 234 die Stimmbildung 235 unterstützen, bei der mehrere individuelle Sprecher in denselben Audiodaten der menschlichen Stimme erkannt und/oder identifiziert werden. Wenn der Audio-/Videostream zum Beispiel mehrere Sprecher einschließt, wie beispielsweise ein Gespräch zwischen mehreren Parteien, kann die Sprachtagebuchfunktion 235 die Identifizierung und Verfolgung einer Vielzahl von einzelnen Sprechern und ihrer Beiträge zum kollektiven Audiostream unterstützen. Bei Block 236 wird der Audioprivatsphärenmodus nicht benötigt, wenn ein Sprecher nicht geschützt ist, und die Verarbeitung des Audio-/Videostreams 212 kann mit Block 220 fortgesetzt werden. Wenn ein geschützter Sprecher erkannt wird, kann die Kennung des geschützten Sprechers markiert werden. In einigen Ausführungsformen reicht die geschützte Sprecherkennung aus, um den Audioprivatsphärenmodus 240 auszulösen. In einigen Ausführungsformen kann eine zusätzliche Verarbeitung der Audiodaten, die den identifizierten Sprecher enthalten, erforderlich sein, bevor der Audioprivatsphärenmodus gestartet wird.
  • In einigen Ausführungsformen kann die Spracherkennung 234 auch eine Spracherkennung einschließen, um bestimmte Phrasen zu identifizieren, die eine Zustimmung zur Aufzeichnung signalisieren. Zum Beispiel kann die Spracherkennung 234 Audiodaten aus dem Audio-/Videostream 212 verarbeiten, um bestimmte Wörter oder Sätze aus der menschlichen Stimme zu extrahieren. In einigen Ausführungsformen kann die Erkennung von Zustimmungsmustern die Umgehung oder Deaktivierung des Audioprivatsphärenmodus ermöglichen, wenn ein Sprecher auf der Liste der geschützten Sprecher aufgezeichnet werden möchte und seine Sprache über das Überwachungssystem 200 angezeigt werden soll. Die Analyse-Engine kann zum Beispiel eine Bibliothek von Zustimmungsmustern einschließen, die Phrasen darstellen, mit denen der Sprecher sein Einverständnis zur Aufnahme signalisiert. Bei Block 238 kann der Audioprivatsphärenmodus überflüssig werden, wenn der Sprecher sein Einverständnis zur Aufnahme gibt, und die Bearbeitung des Audio-/Videostreams 212 kann mit Block 220 fortgesetzt werden. Wird keine Zustimmung erteilt, kann der Audioprivatsphärenmodus 240 eingeleitet werden. In einigen Ausführungsformen kann die Spracherkennung zur Bestimmung der Zustimmung zur Aufzeichnung eine Standardreaktion sein, wenn eine menschliche Sprechbedingung erkannt wird, mit oder ohne Sprechererkennung. So kann das Überwachungssystem 200 zum Beispiel standardmäßig den Audioprivatsphärenmodus für alle Sprecher aktivieren, um die Privatsphäre zu wahren, es sei denn, die Zustimmung wird proaktiv erteilt und von der Spracherkennung 234 erkannt.
  • Der Audioprivatsphärenmodus 240 kann Metadaten-Tags und/oder Betriebszustände für die Verarbeitung, Speicherung und Anzeige des Audio-/Videostreams 212 bei aktiviertem Audioprivatsphärenmodus einschließen. Der Audioprivatsphärenmodus 240 kann zum Beispiel einen Vorgang einschließen, der die menschliche Stimme oder die Sprachkomponente eines Audiokanals des Audio-/Videostreams 212 maskiert. Der Audioprivatsphärenmodus 240 kann durch einen modifizierten Audio-Video-Stream 242 durchgesetzt werden, der die menschliche Stimmenkomponente maskiert. Die Audiodaten können zum Beispiel modifiziert werden, indem die menschliche Stimmenkomponente abgetrennt und entfernt oder durch weißes Rauschen, einen Ersatzton oder ein anderes Audiomerkmal ersetzt wird, das verhindert, dass der Benutzer die Sprache hört, wenn der Videostream angezeigt wird. In einigen Ausführungsformen kann der modifizierte Videostream 242 mit Metadaten versehen sein, die anzeigen, dass der Audioprivatsphärenmodus aktiviert wurde.
  • Einmal modifiziert, schützt die weitere Verwendung des modifizierten Audio-/Videostreams 212 die Audioprivatsphäre der menschlichen Sprache im Videostream. Bei Block 244 kann der modifizierte Audio-/Videostream 242 im dauerhaften Speicher abgelegt werden. Ein Netzwerkvideorekorder kann zum Beispiel einen kodierten Audio-/Videostream in einer oder mehreren Speicherungsvorrichtungen speichern, die für die Speicherung von Überwachungsvideos eingerichtet sind. Bei Block 246 kann der modifizierte Audiovideostream 242 mit den modifizierten Audiodaten, die die menschliche Sprachkomponente schützen, einem Benutzer angezeigt werden. Zum Beispiel kann der Netzwerkvideorekorder den modifizierten Audio-Videostream 242 auf eine Benutzeranzeige, wie beispielsweise eine grafische Benutzeranzeige und Lautsprecher auf der Benutzervorrichtung 170, zur Überwachung oder Überprüfung streamen. Bei Block 248 kann der modifizierte Audiovideostream 212 auf zusätzliche Ereignisse und/oder weitere Prozesse analysiert werden, die nichts mit dem Audioprivatsphärenmodus zu tun haben. Der Netzwerkvideorekorder kann zum Beispiel eine oder mehrere Analyse-Enginen einschließen, um verschiedene Ereignistypen zu erkennen, zugehörige Metadaten hinzuzufügen/zu modifizieren, Alarme oder Benachrichtigungen auszulösen und/oder die weitere Verarbeitung der Bild- und/oder Audiodaten einzuleiten.
  • In einigen Ausführungsformen kann der Video-Ereignis-Detektor 216 und/oder die zusätzliche Verarbeitung 228 die Gesichtserkennung 250 und/oder die Verhaltenserkennung 252 zur Verarbeitung der Bilddaten des Audio-/Videostreams 212 einschließen, um Sprecheridentitäten und/oder Zustimmungsmuster zu bestimmen. In einigen Ausführungsformen kann die Gesichtserkennung 250 ähnlich wie die Stimmerkennung 234 zur Identifizierung geschützter Sprecher vorgehen, allerdings auf der Grundlage von Gesichtsvektoren in Bilddaten und nicht von Stimmabdrücken in Audiodaten. In einigen Ausführungsformen kann die Verhaltenserkennung 252 ähnlich wie die Stimmerkennung 234 funktionieren, um die Zustimmung eines Sprechers zur Aufzeichnung zu identifizieren, allerdings auf der Grundlage von visuellen Zustimmungsmustern in der Körpersprache oder Gestik und nicht auf der Grundlage von Sprachinhalten.
  • 3 zeigt schematisch ausgewählte Module eines Überwachungssystems 300, das für den selektiven Audioprivatsphärenmodus eingerichtet ist. Das Überwachungssystem 300 kann Elemente und Konfigurationen enthalten, die den in 1-2 gezeigten ähnlich sind. Das Überwachungssystem 300 kann zum Beispiel in einem Netzwerkvideorekorder ähnlich dem Netzwerkvideorekorder 130 eingerichtet werden. In einigen Ausführungsformen können eines oder mehrere der ausgewählten Module auf die Prozessoren, Speicher und anderen Ressourcen von Videokameras, die für die Videoaufnahme eingerichtet sind, ähnlich wie die Videokameras 110, und/oder Benutzervorrichtungen, die für die Videoüberwachung eingerichtet sind, ähnlich wie die Benutzervorrichtung 170, zugreifen oder dort instanziiert werden.
  • Das Überwachungssystem 300 kann einen Bus 310 einschließen, der mindestens einen Prozessor 312, mindestens einen Speicher 314 und mindestens eine Schnittstelle, wie die Kameraschnittstelle 316 und die Netzwerkschnittstelle 318, miteinander verbindet. Der Bus 310 kann eine oder mehrere Leitungen einschließen, die die Kommunikation zwischen den Komponenten des Überwachungssystems 300 ermöglichen. Der Prozessor 312 kann jede Art von Prozessor oder Mikroprozessor einschließen, der Anweisungen oder Vorgänge interpretiert und ausführt. Der Speicher 314 kann einen Direktzugriffsspeicher (RAM) oder eine andere Art von dynamischer Speicherungsvorrichtung einschließen, die Informationen und Anweisungen zur Ausführung durch den Prozessor 312 speichert, und/oder einen Festwertspeicher (ROM) oder eine andere Art von statischer Speicherungsvorrichtung, die statische Informationen und Anweisungen zur Verwendung durch den Prozessor 312 speichert, und/oder ein beliebiges geeignetes Speicherelement wie eine Festplatte oder ein Festkörperspeicherelement.
  • Die Videokameraschnittstelle 316 kann für die Verbindung mit einer oder mehreren Videokameras eingerichtet werden. Die Videokameraschnittstelle 316 kann zum Beispiel eine Vielzahl von Ethernetanschlüssen einschließen und Protokolle unterstützen, die mit PoE-Standards kompatibel sind, um eine Vielzahl von Kameras anzuschließen. In einigen Ausführungsformen kann die Videokameraschnittstelle 316 einen PoE-Netzwerkschalter einschließen, der die Stromversorgung der angeschlossenen Kameras bereitstellt und Datenpakete von und zu den angeschlossenen Kameras weiterleitet, wie beispielsweise Steuer-und Videodaten.
  • Die Netzwerkschnittstelle 318 kann eine oder mehrere drahtgebundene oder drahtlose Netzwerkverbindungen zum Netzwerk einschließen, ähnlich wie das Netzwerk 102. Die Netzwerkschnittstelle 318 kann eine physische Schnittstelle, wie beispielsweise einen Ethernetanschluss, und zugehörige Hardware- und Softwareprotokolle für die Kommunikation über das Netzwerk einschließen, wie beispielsweise eine Netzwerkschnittstellenkarte oder einen drahtlosen Adapter.
  • Das Überwachungssystem 300 kann eine oder mehrere nichtflüchtige Speicherungsvorrichtungen 320 einschließen, die zum Speichern von Videodaten eingerichtet sind. Nichtflüchtige Speichervorrichtungen 320 können zum Beispiel eine Vielzahl von Flash-Speicherpaketen einschließen, die als adressierbares Speicherarray organisiert sind, und/oder ein oder mehrere Festkörperlaufwerke oder Festplattenlaufwerke. In einigen Ausführungsformen können die nichtflüchtigen Speicherungsvorrichtungen 320 eine Vielzahl von Speicherungsvorrichtungen innerhalb eines Netzwerkvideorekorders einschließen, die an diesen angeschlossen sind oder auf die er zugreifen kann, um Videodaten zu speichern und darauf zuzugreifen.
  • Das Überwachungssystem 300 kann eine Vielzahl von Modulen oder Subsystemen einschließen, die im Speicher 314 gespeichert und/oder instanziiert sind und vom Prozessor 312 als Befehle oder Vorgänge ausgeführt werden. Der Speicher 314 kann zum Beispiel eine Überwachungssteuerung 330 einschließen, die so eingerichtet ist, dass sie eine Vielzahl von Videokameras steuert, Videostreams von diesen Kameras erfasst und speichert und den Benutzerzugriff ermöglicht, wie beispielsweise durch die Überwachungsanwendung 350. Der Speicher 314 kann eine Analyse-Engine einschließen, die so eingerichtet ist, dass sie Videodaten analysiert, um Ereignisse zu erkennen und/oder eine weitere Verarbeitung zur Verwendung durch die Steuerung 330 und/oder die Überwachungsanwendung 350 einzuleiten. Der Speicher 314 kann eine Überwachungsanwendung einschließen, die so eingerichtet ist, dass sie eine Benutzeroberfläche für die Überwachung, Überprüfung und Verwaltung von Überwachungsvideos und/oder des Überwachungssystems 300 bereitstellt.
  • Die Überwachungssteuerung 330 kann Schnittstellenprotokolle, Funktionen, Parameter und Datenstrukturen für die Verbindung mit und die Steuerung von Kameras, die Erfassung und Speicherung von Videodaten von diesen Kameras und die Anbindung an die Analyse-Engine 340 und die Überwachungsanwendung 350 einschließen. Bei der Überwachungssteuerung 330 kann es sich zum Beispiel um eine eingebettete Firmware-Anwendung und entsprechende Hardware in einem Netzwerkvideorekorder handeln, der für die Netzwerk- und/oder direkte Kommunikation mit einem Satz von zugehörigen Videokameras eingerichtet ist. Die Überwachungssteuerung 330 kann als zentraler Sammelpunkt für Videostreams von den zugehörigen Videokameras eingerichtet werden, der die Analyse der erfassten Videodaten durch die Analyse-Engine 340 und die Darstellung von Videostreams und Videoereigniswarnungen für einen Benutzer über die Überwachungsanwendung 350 ermöglicht.
  • In einigen Ausführungsformen kann die Überwachungssteuerung 330 eine Vielzahl von Hardware- und/oder Softwaremodulen einschließen, die so eingerichtet sind, dass sie den Prozessor 312 und den Speicher 314 verwenden, um bestimmte Vorgänge der Überwachungssteuerung 330 zu bearbeiten oder zu verwalten. So kann die Überwachungssteuerung 330 zum Beispiel eine Kameraschnittstelle 332, eine Videoaufnahmeschnittstelle 334, eine Speicherschnittstelle 336 und einen Zugriffs- und Anzeigemanager 338 einschließen.
  • Die Kamerasteuerungsschnittstelle 332 kann Kameraschnittstellenprotokolle und einen Satz von Funktionen, Parametern und Datenstrukturen einschließen, um Kameras über die Videokameraschnittstelle 316 und/oder die Netzwerkschnittstelle 318 zu verwenden, einzurichten, mit ihnen zu kommunizieren und ihnen Befehlsmeldungen bereitzustellen. So kann die Kameraschnittstelle 332 zum Beispiel eine API und einen Befehlssatz für die Interaktion mit der Steuerschaltung in jeder Kamera einschließen, um auf eine oder mehrere Kamerafunktionen zuzugreifen. In einigen Ausführungsformen kann die Kamerasteuerungsschnittstelle 332 so eingerichtet werden, dass sie Videokonfigurationsparameter für Kamerabildsensoren, Mikrofone und/oder Video-Encoder einstellt, auf Schwenk-Neige-Zoom-Merkmale zugreift, kamerabasierte Bewegungserkennungs-, Stolperdraht- und/oder Schwachlichterkennungsparameter einstellt oder modifiziert und/oder den Vorgang der Kameras anderweitig verwaltet. Die Kamerasteuerungschnittstelle 332 kann zum Beispiel eine Videokamerakonfigurationstabelle, Seiten oder ähnliche Datenstrukturen verwalten, die Einträge für jede verwaltete Videokamera und ihre jeweiligen kameraspezifischen Konfigurationsparameter, aktive Steuerungsfunktionen (wie PTZ-Steuerung) und andere Konfigurations- und Steuerungsinformationen für die Verwaltung der Kameras einschließen. In einigen Ausführungsformen kann jeder Kamera eine eindeutige Kamerakennung zugewiesen werden, die von der Überwachungssteuerung 330, der Analyse-Engine 340 und/oder der Überwachungsanwendung 350 verwendet werden kann, um die Videodaten der Kamera zuzuordnen, von der sie empfangen wurden.
  • In einigen Ausführungsformen kann die Kameraschnittstelle 332 Steuersignale, Befehle oder Nachrichten zur Manipulation bestimmter Merkmale von einer oder mehreren Kameras einschließen. Zum Beispiel kann die Kameraschnittstelle 332 ein Steuersignal für die Audiosteuerung 332.1 einschließen. In einigen Ausführungsformen kann die Audiosteuerung 332.1 eine API und eine entsprechende Logik zum Aktivieren und/oder Deaktivieren eines Mikrofons in der ausgewählten Kamera einschließen, indem Befehlsnachrichten oder Signale an die Kamera gesendet werden. In einigen Ausführungsformen kann die Schnittstelle zur Kamerasteuerung 332 einen Detektor für die menschliche Stimme 332.2 einschließen, der so eingerichtet ist, dass er eine menschliche Sprechbedingung erkennt. Eine menschliche Sprechbedingung kann zum Beispiel anhand von Frequenzbereichen und anderen Audiosignalmustern bestimmt werden, die mit menschlicher Sprache korrelieren. Das Audiosignal oder die Daten können mit einem Satz von Audiomerkmalen der menschlichen Stimme verglichen werden, um die menschliche Sprechbedingung zu bestimmen. In einigen Ausführungsformen kann die Audiosteuerung 332.1 das Mikrofon der Kamera deaktivieren, wenn der Sprachdetektor 332.2 eine menschliche Sprechbedingung erkennt. So kann zum Beispiel ein einfacher Audioprivatsphärenmodus aktiviert werden, indem die Kameraschnittstelle 332 so eingerichtet wird, dass sie das Mikrofon deaktiviert oder die Frequenzen der menschlichen Sprechbedingung filtert, so dass der kodierte Videostream, der anderen Komponenten zur Verfügung steht, die menschliche Stimmenkomponente nicht einschließt oder maskiert. In einigen Ausführungsformen können die Funktionen zum Aktivieren und Deaktivieren des Mikrofons als Reaktion auf die Erkennung der menschlichen Sprechbedingung in ähnlichen Hardware- und/oder Softwarefunktionen innerhalb jeder Videokamera enthalten sein, und die Kameraschnittstelle 332 kann lediglich die einfache Funktion zur Aktivierung des Audioprivatsphärenmodus über einen Kamerakonfigurationsparameter einrichten.
  • Die Videoaufnahmeschnittstelle 334 kann Kameraschnittstellenprotokolle und einen Satz von Funktionen, Parametern und Datenstrukturen für den Empfang von Videostreams von zugehörigen Kameras einschließen. Die Videoaufnahmeschnittstelle 334 kann zum Beispiel Videodatenkanäle und zugehörige Datenpuffer für die Verwaltung einer Vielzahl von Kameradatenstreams einschließen. In einigen Ausführungsformen kann jeder Videokamera ein dedizierter Videokanal zugewiesen werden, um ihren Videostream kontinuierlich und/oder selektiv an die Videoaufnahmeschnittstelle 334 zu senden. Die Videoaufnahmeschnittstelle 334 kann so eingerichtet sein, dass sie jeden empfangenen Videostream an die Videospeicherschnittstelle 336, die Analyse-Engine 340 und/oder den Zugriffs-/Anzeigemanager 338 weiterleitet. Empfangene Videostreams können zum Beispiel von der Videoaufnahmeschnittstelle zwischengespeichert werden, bevor sie an die Videospeicherschnittstelle 336, die Analyse-Engine 340 und/oder den Zugriffs-/Anzeigemanager 338 weitergeleitet werden. In einigen Ausführungsformen kann die Videoaufnahmeschnittstelle 334 Video-Metadaten der Kamera empfangen, die das Videoformat der Kamera, Zeit- und Standortinformationen sowie Ereignis- oder Zustandsmarkierungen auf der Grundlage der On-Board-Kameraanalyse beschreiben. Die Videoaufnahmeschnittstelle 334 kann zusätzliche Video-Metadaten für Videoformatänderungen generieren und Video-Metadaten für die Speicherschnittstelle 336 und/oder andere Komponenten bereitstellen.
  • In einigen Ausführungsformen kann die Videoaufnahmeschnittstelle 334 einen Videostream-Manager 336.1 einschließen, der so eingerichtet ist, dass er die Vielzahl der von den Kameras empfangenen Videostreams identifiziert und verwaltet. Der Videostream-Manager 336.1 kann zum Beispiel die Zuweisung von Videopuffern und Raum, die Verarbeitung von Videostreams von einem Kamera-Videoformat in ein anderes Videoformat, das Flushing von gepufferten Videos in den Speicher über die Videospeicherschnittstelle 336 und/oder für die Anzeige über den Zugriffs-/Anzeigemanager 338 verwalten. In einigen Ausführungsformen kann der Analysemanager 336.1 Videostreams zur Analyse an die Analyse-Engine 340 senden und/oder der Analyse-Engine 340 eine Benachrichtigung über die Verfügbarkeit und den Speicherort von Videodaten zur Analyse im nichtflüchtigen Speicher 320 (wie von der Speicherschnittstelle 336 bestimmt) bereitstellen. In einigen Ausführungsformen kann der Videostream-Manager 334.1 konfigurierbare Videopfade einschließen. So können zum Beispiel der Speicherpfad (über die Videospeicherschnittstelle 336), der Anzeigepfad (über den Zugriffs-/Anzeigemanager 338) und/oder der Analysepfad (über den Analysemanager 340) jeweils für bestimmte Prozesse, Prioritäten und Zeiten eingerichtet werden. In einigen Ausführungsformen kann der Videostream-Manager 334.1 so eingerichtet sein, dass er den Encoder/Decoder 334.2 verwendet, um Videostreams der Kamera in einem ersten (Kamera-)Videoformat zu dekodieren und sie in einem oder mehreren anderen Formaten neu zu kodieren. Der Videostream-Manager 334.1 kann zum Beispiel den Encoder/Decoder 334.2 verwenden, um die Auflösung, die Bildgröße, die Bildrate, den Codec, den Komprimierungsfaktor, die Farb-/Grauskala oder andere Videoformatparameter zu ändern. In einigen Ausführungsformen kann die Videoaufnahmeschnittstelle 334 so eingerichtet sein, dass sie Audiokanäle in empfangenen Videostreams identifiziert, und der Encoder/Decoder 334.2 kann so eingerichtet sein, dass er synchronisierte Audiodaten in den Audiokanälen von Audio-/Videostreams kodiert und dekodiert.
  • Die Videospeicherschnittstelle 336 kann Speicherschnittstellenprotokolle und einen Satz von Funktionen, Parametern und Datenstrukturen für die Verwaltung der Speicherung von Videodaten in einem nichtflüchtigen Speicher 320, wie beispielsweise Speicherungsvorrichtungen und/oder Netzwerkvideospeicher, zum späteren Abruf und zur Verwendung durch den Zugriffs-/Anzeigemanager 338 und/oder die Analyse-Engine 340 einschließen. Zum Beispiel kann die Speicherschnittstelle 336 die Videostream-Daten der Kamera 320.1 aus den Videodatenpuffern und/oder die Speicherpfad-Videodaten der Videoaufnahmeschnittstelle 334 in den nichtflüchtigen Speicher 320 schreiben. In einigen Ausführungsformen kann die Speicherschnittstelle 336 einen Speichermanager 336.1 einschließen, der so eingerichtet ist, dass er den Videospeicherraum im nichtflüchtigen Speicher 320 gemäß einem oder mehreren Datenaufbewahrungs- und/oder Datenarchivierungsschemata verwaltet. Das Überwachungssystem 300 kann zum Beispiel die kontinuierliche und/oder getriggerte Aufzeichnung von Videodaten von zugehörigen Kameras unterstützen, und der Speichermanager 336.1 kann eine Logik zur Durchsetzung einer Datenaufbewahrungs- und Überschreibungsrichtlinie einschließen, bei der der feste Speicherplatz des nichtflüchtigen Speichers 320 für die Speicherung eines aktuellen Zeitraums von aufgenommenen Videos, von Videodaten, die bestimmte Aufbewahrungskriterien erfüllen, und/oder für das Löschen oder Archivieren von Videodaten nach einem oder mehreren Zeiträumen, die in der Datenaufbewahrungsrichtlinie definiert sind, wiederverwendet wird. Die Videospeicherschnittstelle 336 kann auch Video-Metadaten 320.7 als Tags oder Metadatenspuren in den Videodaten oder in einer zugehörigen Metadatentabelle, Datei oder ähnlichen Datenstruktur empfangen und speichern, die mit den entsprechenden Videodatenobjekten verbunden ist.
  • In einigen Ausführungsformen kann die Videospeicherschnittstelle 336 so eingerichtet sein, dass sie Videostreams in mehreren Formaten speichert. Die Videospeicherschnittstelle 336 kann zum Beispiel ein normales Videoformat, wie die Kamera-Videostream-Daten 320.1, und einen Audioprivatsphärenmodus, wie die Videostream-Daten 320.4, unterstützen. In einigen Ausführungsformen können die Videostream-Daten der Kamera 320.1 Bilddaten 320.2 und Audiodaten 320.3 einschließen, die in einem synchronisierten Videostream-Format kodiert sind. Bei den Kamera-Videostream-Daten 320.1 kann es sich zum Beispiel um den Kamera-Videostream handeln, der von einer angeschlossenen Kamera empfangen wird, und zwar in dem von der Videokamera kodierten Format und/oder einem Standard-Videospeicherformat, das von der Videospeicherschnittstelle 336 zum Speichern von Videostreams unterstützt wird. In einigen Ausführungsformen können die privaten Videostream-Daten 320.4 Bilddaten 320.5 und maskierte Audiodaten 320.6 einschließen, die in einem synchronisierten Videostream-Format kodiert sind. Zum Beispiel können die Videostream-Daten 320.4 auf den Kamera-Videostream-Daten 320.1 basieren, wobei die Audiodaten 320.3 in maskierte Audiodaten 320.6 modifiziert wurden, um eine oder mehrere menschliche Stimmen zu entfernen oder zu verbergen, wenn ein Audioprivatsphärenmodus aktiviert ist und eine menschliche Sprechbedingung erkannt wird. In einigen Ausführungsformen können die Bilddaten 320.2 und die Bilddaten 320.5 identisch sein. In einigen Ausführungsformen weist der Speichermanager 336.1 Speicherplätze für gespeicherte Videodaten zu oder empfängt sie und stellt die Speicherplätze, die den verschiedenen Videopfaden entsprechen, den jeweiligen Verbraucherkomponenten bereit. Beispielsweise kann der Speichermanager 336.1 dem Zugriffs-/Anzeigemanager 338 den Speicherort für die Daten des privaten Videostreams 320.4 bereitstellen und die Daten des Videostreams der Kamera 320.1 der Analyse-Engine 340. In einigen Ausführungsformen kann der Speichermanager 336.1 zunächst die Daten des Videostreams der Kamera 320.1 der Analyse-Engine 340 bereitstellen, um den Videostream für den Sprachprivatsphärenmodus zu bestimmen und zu verarbeiten, und dann die Daten des Videostreams für die Privatsphäre 320.4 von der Analyse-Engine 340 zur Speicherung empfangen.
  • Der Zugriffs-/Anzeigemanager 338 kann APIs und einen Satz von Funktionen, Parametern und Datenstrukturen für die Anzeige von Videos von der Videoaufnahmeschnittstelle 334 und/oder der Videospeicherschnittstelle 336 für eine Benutzeranzeigeanwendung, wie die Überwachungsanwendung 350, einschließen. Der Zugriffs-/Anzeigemanager 338 kann zum Beispiel eine Überwachungs- oder Anzeigekonfiguration einschließen, um einen oder mehrere Videostreams in Echtzeit oder nahezu in Echtzeit auf einer grafischen Benutzeranzeige einer Benutzervorrichtung anzuzeigen und/oder Videonavigationsbefehle von der Benutzervorrichtung zu empfangen, um gespeicherte Videodaten aus dem nichtflüchtigen Speicher 320 selektiv anzuzeigen. In einigen Ausführungsformen kann der Zugriffs-/Anzeigemanager 338 einen Index von Echtzeit-/Nahe-Echtzeit-Videostreams und/oder gespeicherten oder archivierten Videostreams führen, die für den Zugriff durch die Überwachungsanwendung 350 verfügbar sind. In einigen Ausführungsformen kann der Videoindex einen entsprechenden Metadatenindex einschließen, der Videodatenparameter (z. B. Zeit, Ort, Kamerakennung, Format, schwaches/ normales Licht usw.), erkannte Videoereignis-Metadaten (Ereigniszeit, Ort, Typ, Parameter usw.) und/oder Videoverwaltungsparameter (Ablauf, aktiv/archiviert, Zugriffskontrolle usw.) zur Verwendung bei der Anzeige und Verwaltung von Videodaten enthält. Der Zugriffs-/AnzeigeManager 338 kann so eingerichtet werden, dass er die Überwachungsanwendung 350 unterstützt, wenn sie in derselben Rechnervorrichtung wie die Überwachungssteuerung 330 instanziiert ist, direkt an die Rechnervorrichtung angeschlossen ist, die die Überwachungssteuerung 330 hostet, und/oder über ein Netzwerk innerhalb eines LAN, WAN, VPN oder das Internet.
  • In einigen Ausführungsformen kann der Zugriffs-/Anzeige-Manager 338 Steuerungen einschließen, die bestimmen, welche Überwachungsanwendungen und deren Benutzer auf bestimmte Videostreams, Funktionen und/oder Konfigurationsparameter zugreifen können. Der Zugriffs-/Anzeige-Manager 338 kann zum Beispiel einen Zugangskontrolldienst 338.1 einschließen, um einen oder mehrere Sicherheitsnachweise für die Authentifizierung eines Benutzers zu validieren. In einigen Ausführungsformen kann der Zugangskontrolldienst 338.1 einen Benutzernamen oder eine ähnliche Benutzerkennung einschließen, die mit einem oder mehreren Sicherheitsnachweisen wie Passwörtern, biometrischer Authentifizierung, Sicherheitsfragen, Validierungscodes usw. zur Authentifizierung des Benutzers verbunden ist. In einigen Ausführungsformen kann die Benutzerkennung oder das Profil auf der Grundlage der Authentifizierung des Benutzers mit einem Satz von Zugriffsprivilegien für die Videostreams, Funktionen und Konfigurationsparameter des Überwachungssystems 300 verknüpft werden. Jedes Benutzerprofil kann zum Beispiel mit Benutzereinstellungen verknüpft sein, die den Zugriff bestimmen, wie beispielsweise verschiedene Benutzerstufen (z. B. Systemadministrator, Eigentümer/Superuser, Monitor/Benutzer usw.) mit unterschiedlichen Zugriffsrechten oder benutzerdefinierte Benutzereinstellungen, die bei der Systemeinrichtung oder von einem Benutzer mit Systemadministrator-Zugangsdaten eingerichtet werden können. In einigen Ausführungsformen können die Benutzereinstellungen Audiozugriffsberechtigungen 338.2 einschließen, die bestimmen können, ob der Benutzer den Audioprivatsphärenmodus umgehen kann. Normale Benutzer können zum Beispiel über allgemeine Audiozugriffsberechtigungen verfügen, die nur den Zugriff auf die datenschutzgeschützten Versionen von Videostreams erlauben, wie beispielsweise Audioprivatsphärenmodus 320.4, wenn der Audioprivatsphärenmodus für dieses Video aktiviert ist. Systemadministratoren, Superuser und/oder bestimmte Benutzerprofile können so eingerichtet werden, dass sie bei Videos im Audioprivatsphärenmodus sowohl auf die Videostream-Daten 320.4 als auch auf die Kamera-Videostream-Daten 320.1 zugreifen können, um entweder die Original-Audiodaten 320.3 oder die maskierten Audiodaten 320.6 zu hören. In einigen Ausführungsformen können Benutzerprofile auch zur Bestimmung und Zuordnung von Stimmprofilen für Sprechererkennungsmerkmale verwendet werden. Beispielsweise können einige oder alle Benutzer Audiodaten für die Erstellung und Speicherung eines Stimmabdrucks bereitstellen und entsprechende geschützte Sprecher und/oder Standardeinwilligungsparameter für die Aktivierung oder Deaktivierung des Audioprivatsphärenmodus einrichten, wenn ihre Stimmen erkannt werden.
  • Die Analyse-Engine 340 kann Schnittstellenprotokolle, Funktionen, Parameter und Datenstrukturen für die Analyse von Videodaten einschließen, um Videoereignisse zu erkennen, sie zu den Video-Metadaten hinzuzufügen, Alarme auszulösen, wie beispielsweise durch die Überwachungsanwendung 350, und/oder zusätzliche Prozesse bereitzustellen, die auf erkannten Ereignissen oder Bedingungen basieren, wie beispielsweise die Maskierung der Daten menschlicher Sprecher für den Audioprivatsphärenmodus. Bei der Analyse-Engine 340 kann es sich zum Beispiel um eine eingebettete Firmware-Anwendung und entsprechende Hardware in einem Netzwerkvideorekorder handeln, die für die lokale Analyse von Videodaten eingerichtet ist, die von zugehörigen Videokameras erfasst wurden, und die in die Überwachungssteuerung 330 integriert oder über diese zugänglich ist. In einigen Ausführungsformen kann die Analyse-Engine 340 auf einer von der Überwachungssteuerung 330 getrennten Rechnervorrichtung laufen, wie beispielsweise einer Videokamera mit integrierter Analyse, einer dedizierten Analyseanwendung, einem Datenspeichersystem mit Analysefähigkeiten oder einem cloudbasierten Analysedienst. In einigen Ausführungsformen kann die Analyse-Engine 340 in Echtzeit oder nahezu in Echtzeit mit Videodaten arbeiten, die von der Videoaufnahmeschnittstelle 334 empfangen wurden, oder die Videodaten, die von der Videospeicherschnittstelle 336 gespeichert wurden, verzögert verarbeiten und/oder eine Kombination aus beidem auf der Grundlage der Art (und der Verarbeitungsanforderungen) der Videoereignisse, des Volumens der zu verarbeitenden Videos und anderer Faktoren. In einigen Ausführungsformen kann das Überwachungssystem 200 eine Vielzahl von Analyse-Enginen aufweisen, die für einen bestimmten Ereignistyp und einen entsprechenden Algorithmus oder ein Modell zur Ereigniserkennung eingerichtet sind.
  • In einigen Ausführungsformen kann die Analyse-Engine 340 eine Vielzahl von Hardware- und/oder Softwaremodulen einschließen, die so eingerichtet sind, dass sie den Prozessor 312 und den Speicher 314 verwenden, um bestimmte Vorgänge der Analyse-Engine 340 zu bearbeiten oder zu verwalten. Die Analyse-Engine 340 kann zum Beispiel einen Ereignismanager 342, eine analytische Modellbibliothek 344 und einen Audiodatenprozessor 346 einschließen. Die Analyse-Engine 340 kann so eingerichtet werden, dass sie einen oder mehrere Ereigniserkennungsalgorithmen ausführt, um als Reaktion auf erkannte Videoereignisse Bestimmungen, Markierungen und/oder Warnmeldungen oder andere Aktionen zu veranlassen. In einigen Ausführungsformen kann die Analyse-Engine 340 so eingerichtet sein, dass sie Metadatenstrukturen erstellt, die erkannten Ereignissen Zeit- und Bildpositionsmarkierungen für den Videostream, aus dem sie erkannt wurden, zuordnen. Die Analyse-Engine 340 kann zum Beispiel Bewegungs-, Tripwire-, Objekterkennungs-, Gesichtserkennungs-, Audiodetektions-, Spracherkennungs- und/oder andere Algorithmen verwenden, um Ereignisse in einem Videostream zu bestimmen und sie in einer entsprechenden Metadatenspur und/oder einer separaten Metadatentabelle zu kennzeichnen, die mit dem Videodatenobjekt verbunden ist.
  • Der Ereignismanager 342 kann Speicherschnittstellen- und/oder Pufferschnittstellen-Protokolle und einen Satz von Funktionen, Parametern und Datenstrukturen für die Verarbeitung von Ziel-Videostreams für vordefinierte Ereignistypen, die Aktualisierung oder Hinzufügung von Metadaten-Parametern, die die erkannten Videoereignisse beschreiben, und/oder die Auslösung zusätzlicher Aktionen, wie beispielsweise Alarme, Benachrichtigungen und/oder zusätzliche Verarbeitung, einschließen. Der Ereignismanager 342 kann beispielsweise so eingerichtet werden, dass er alle eingehenden Videostreams für die Überwachungssteuerung 330 verarbeitet und/oder Videodaten auf der Grundlage von Benutzerauswahlen (über die Überwachungsanwendung 350) oder Metadatenkriterien, die von der Videokamera oder der Videoaufnahmeschnittstelle 334 empfangen werden, selektiv verarbeitet. In einigen Ausführungsformen kann der Ereignismanager 342 einen Videoselektor 342.1 einschließen, der so eingerichtet ist, dass er Videostreams oder Videodatensätze für die Analyse auswählt. So kann der Videoselektor 342.1 zum Beispiel einen Videostream für die Analyse in nahezu Echtzeit oder einen begrenzten Videodatensatz identifizieren, wie beispielsweise ein Video mit einer bestimmten Kamerakennung und Zeitstempeln zwischen Anfangs- und Endzeitmarken und/oder einen definierten Satz von Metadatenparametern einschließen.
  • Der Ereignismanager 342 kann einen Ereignistyp-Selektor 342.2 einschließen, der so eingerichtet ist, dass er einen oder mehrere Ereignistypen bestimmt, die anhand der ausgewählten Videodaten erkannt werden sollen. Eine Analysekonfiguration kann zum Beispiel so eingerichtet sein, dass sie den ausgewählten Videostream auf eine vordefinierte Menge von Bewegungserkennung, Stolperdraht-Erkennung, Objekterkennung, Gesichtserkennung, Audioerkennung, Spracherkennung und/oder ähnliche Videoereignistypen analysiert. Jeder Ereignistyp kann einem analytischen Modelltyp, einem Satz von Parametern und einer oder mehreren Modellgewichtungen zur Definition eines Algorithmus zur Erkennung von Ereignissen entsprechen, der in der analytischen Modellbibliothek 344 gespeichert ist und von der Analyse-Engine 340 zur Erkennung potenzieller Videoereignisse verwendet wird. In einigen Ausführungsformen kann der Ereignismanager 342 so eingerichtet sein, dass er menschliche Sprechbedingungen erkennt und eine Logik zur Bestimmung eines Audioprivatsphärenmodus einleitet. Zum Beispiel kann der Ereignistyp-Selektor 342.2 mit einer Sequenz von Audio- und/oder Videoereignissen eingerichtet werden, die sich auf die Bestimmung des Audioprivatsphärenmodus und die zugehörige Logik beziehen, um zu bestimmen, ob der Audioprivatsphärenmodus für einen Videostream (oder einen Abschnitt davon) gekennzeichnet und zur Verarbeitung des Audioprivatsphärenmodus an den Audiodatenprozessor 346 weitergeleitet werden soll.
  • In einigen Ausführungsformen kann der Ereignismanager 342 eine Logik zur Behandlung erkannter Ereignisse einschließen, um die Reaktion auf die Erkennung eines oder mehrerer erkannter Ereignisse zu bestimmen. Ein Metadaten-/Alarmmanager 342.3 kann zum Beispiel ein oder mehrere erkannte Ereignis-Tags zu den Video-Metadaten 320.7 hinzufügen, einen Alarm oder eine Benachrichtigung an den Zugriffs-/Anzeigemanager 338 zur Weiterleitung an die Überwachungsanwendung 350 senden und/oder eine zusätzliche Sequenz von Ereigniserkennungen und/oder -verarbeitungen einleiten. In einigen Ausführungsformen kann der Metadaten-/Alarmmanager 342.3 einen Satz logischer Regeln einschließen, die auf eine Vielzahl von sequentiellen und/oder parallelen Erkennungsereignissen reagieren, wobei die entsprechenden Tags, Alarmauslöser und Verarbeitungsschritte innerhalb des Satzes logischer Regeln definiert sind. Beispielsweise kann ein Regelwerk für den Audioprivatsphärenmodus im Metadaten-/Benachrichtigungsmanager ähnlich wie die zusätzliche Verarbeitung 228 in 2 eingerichtet werden, um eine Reihe von Ereigniserkennungen unter Verwendung verschiedener Analysemodelle logisch zu steuern, wie beispielsweise die Erkennung der menschlichen Stimme, die Erkennung der Stimme (des Sprechers), die Erkennung der Stimme (mehrerer Sprecher), die Erkennung der Stimme (des Einverständnisses), die Erkennung des Gesichts und/oder die Erkennung des Verhaltens und damit verbundene Ergebnisse. Jede Ereigniserkennung kann dazu führen, dass ein oder mehrere Metadaten-Tags zu den Video-Metadaten 320.7 hinzugefügt werden und in einigen Fällen zusätzliche Prozesse zur Ereigniserkennung, Warnungen und/oder Videoverarbeitung auslösen. In einigen Ausführungsformen kann der Metadaten-/Warnungsmanager 342.3 eine Logik einschließen, die von zusätzlichen Bedingungen oder Datenstrukturen außerhalb der analytischen Modellbibliothek 344 und den Zielvideodaten und -metadaten abhängt. Ein Audioprivatsphärenmodus kann zum Beispiel eine Liste der geschützten Sprecher 342.4 oder eine andere Datenstruktur verwenden, um eine logische Bestimmung zu treffen, wie beispielsweise, ob die Verarbeitung des Audioprivatsphärenmodus für einen identifizierten Sprecher eingeleitet werden soll. In einigen Ausführungsformen können solche zusätzlichen Zustandsinformationen von anderen Systemkomponenten empfangen oder abgerufen werden, wie beispielsweise die geschützte Lautsprecherliste 342.4, die über Benutzerprofilparameter im Zugriffs-/Anzeigemanager 338 eingerichtet wird.
  • Die Bibliothek für analytische Modelle 344 kann eine API und eine Reihe von Funktionen, Parametern und Datenstrukturen einschließen, um eine Vielzahl von analytischen Modellen zu speichern, die von der Analyse-Engine 340 bei der Verarbeitung von Videodaten verwendet werden. Zum Beispiel kann die analytische Modellbibliothek 344 eine Vielzahl von trainierten analytischen Modellen und entsprechenden Algorithmen zur Ereigniserkennung für verschiedene Ereignistypen, Zielparameter (z. B. Autos, Nummernschilder, Geräte, Personen, Stimmabdrücke, Zustimmungsmuster usw.) und/oder Trainingsbedingungen einschließen. Jedes analytische Modell kann einen Satz von Basisgleichungen für den analytischen Modelltyp, einen Satz von Zielparametern und eine oder mehrere Modellgewichtungen einschließen, die den Algorithmus zur Ereigniserkennung bestimmen, der für die Verarbeitung der Ereigniserkennung verwendet wird. In einigen Ausführungsformen kann die analytische Modellbibliothek 344 verschiedene Sätze analytischer Modelle für unterschiedliche Videobedingungen einschließen. In einigen Ausführungsformen kann die analytische Modellbibliothek 344 Sätze von analytischen Modellen einschließen, die sich auf eine bestimmte Verarbeitungssequenz beziehen, wie beispielsweise die Bestimmung eines Audioprivatsphärenmodus. In einigen Ausführungsformen kann jedes Analysemodell entsprechende APIs und Funktionen, Parameter und Datenstrukturen zur Verarbeitung eines Videostreams mit einem oder mehreren entsprechenden Erkennungsalgorithmen einschließen oder von diesen unterstützt werden.
  • In einigen Ausführungsformen kann die Analyse-Engine 340 den Detektor für menschliche Stimmen 344.1 einschließen oder darauf zugreifen, um zu bestimmen, ob eine menschliche Stimme in den Audiodaten, wie beispielsweise den Audiodaten 320.3, vorhanden ist, und den Video-Metadaten 320.7 ein Tag für die menschliche Sprechbedingung hinzufügen. Der Detektor für menschliche Stimmen 344,1 kann einen Prozessor einschließen, der so eingerichtet ist, dass er die Anwesenheit einer menschlichen Stimme in einem Audiodatenstream erkennt. Zum Beispiel kann der Sprachdetektor 344,1 die Audiodaten 320.3 verarbeiten, um Audiodatensignaturen zu erkennen, die auf menschliche Sprache innerhalb eines breiteren Spektrums von Audio-Artefakten hinweisen, die den Hintergrund, die Umgebung und/oder andere nicht-sprachliche Schallquellen einschließen. In einigen Ausführungsformen kann der Sprachdetektor 344.1 einen Algorithmus zur Erkennung von Sprachaktivität (VAD) auf die Audiodaten 320.3 anwenden, um das Vorhandensein oder Nichtvorhandensein menschlicher Sprache zu erkennen. Der Algorithmus kann sich zum Beispiel auf das Vorhandensein von Frequenzen konzentrieren, die für die menschliche Sprache typisch sind, und/oder auf Signalmuster, die auf Sprachtöne und -muster hinweisen.
  • In einigen Ausführungsformen kann die analytische Modellbibliothek 344 die Spracherkennungsmaschine 344.2 einschließen oder darauf zugreifen, um eine menschliche Stimmenkomponente der Audiodaten 320.3 auf bestimmte Stimmmuster, verbale, semantische oder emotionale Inhalte und/oder andere Audiomuster, die auf Sprachinhalte hinweisen, zu verarbeiten. In einigen Ausführungsformen kann die Spracherkennungsmaschine 344.2 einen Prozessor einschließen, der so eingerichtet ist, dass er das Vorhandensein oder Fehlen einzelner menschlicher Stimmen erkennt. Die Spracherkennungs-Engine 344.2 kann zum Beispiel die Sprechererkennung 344.3 einschließen, um die Audiodaten 320.3 zu verarbeiten und die menschlichen Stimmmuster in den Audiodaten mit einem oder mehreren bekannten Stimmmustern zu vergleichen. In einigen Ausführungsformen kann die Spracherkennungsmaschine 344.2 die Spracherkennung 344.3 anhand einer Stimmbibliothek mit erkannten Benutzern ausführen, die beispielsweise im Zugriffs-/Anzeigemanager 338 eingerichtet sind. Durch den Vergleich eines Satzes einzigartiger Audiofaktoren, die eine menschliche Stimme ausmachen (Stimmabdruck), mit der menschlichen Stimme in den Audiodaten kann die Spracherkennung 344,2 feststellen, ob der Sprecher bekannt ist und, falls ja, ob es sich um einen geschützten Sprecher handelt, um den Audioprivatsphärenmodus zu aktivieren. Der Ereignismanager 342 kann zum Beispiel eine geschützte Sprecherliste 342.4 einschließen oder darauf zugreifen, die Personen identifiziert, für die der Audioprivatsphärenmodus aktiviert werden soll, und die ihre Stimmabdrücke zur Verwendung durch die Spracherkennungsmaschine 344.2 enthält. In einigen Ausführungsformen kann die Sprechererkennung 344.3 die Stimmbildung unterstützen, bei der eine Vielzahl von einzelnen Sprechern durch die Stimmenkomponente der Audiodaten 320.3 erkannt, identifiziert und/oder verfolgt wird. So können zum Beispiel mehrere Stimmmuster und die entsprechenden individuellen Sprecher (bekannt oder unbekannt) in separaten menschlichen Stimmkomponenten identifiziert werden, und die Entscheidungslogik kann auf geschützte Sprecher, ungeschützte Sprecher und Kombinationen davon angewandt werden. Außerdem kann die menschliche Stimmkomponente im Laufe der Zeit segmentiert werden, um Änderungen des Sprechers während Abschnitten der Audiodaten zu erkennen. In einigen Ausführungsformen kann die Spracherkennungsmaschine 344.2 auch eine Spracherkennung einschließen, um bestimmte Phrasen zu identifizieren, die eine Zustimmung zur Aufzeichnung signalisieren. Die Zustimmungserkennung 344.4 kann zum Beispiel Audiodaten 320.3 verarbeiten, um bestimmte Wörter oder Phrasen aus der menschlichen Stimmenkomponente zu extrahieren. In einigen Ausführungsformen kann die Erkennung von Zustimmungsmustern die Umgehung oder Deaktivierung des Audioprivatsphärenmodus ermöglichen, wenn ein Sprecher auf der Liste der geschützten Sprecher aufgezeichnet werden möchte und seine Sprache über das Überwachungssystem 300 angezeigt werden soll. Die Zustimmungserkennung 344.4 kann zum Beispiel eine Bibliothek von Zustimmungsmustern einschließen, die Phrasen darstellen, mit denen der Sprecher sein Einverständnis zur Aufnahme signalisieren kann.
  • In einigen Ausführungsformen kann die analytische Modellbibliothek 344 die Gesichtserkennungsmaschine 344.5 einschließen oder darauf zugreifen, um die Bilddaten 320.2 nach bestimmten Gesichtern oder anderen visuellen Hinweisen auf eine individuelle Identität zu verarbeiten. In einigen Ausführungsformen kann die Gesichtserkennungsmaschine 344.5 ähnlich wie die Sprechererkennung 344.3 zur Identifizierung geschützter Sprecher vorgehen, allerdings auf der Grundlage von Gesichtserkennungsalgorithmen für Gesichtsvektoren in Bilddaten und nicht für Stimmabdrücke in Audiodaten. In einigen Ausführungsformen kann die analytische Modellbibliothek 344 die Verhaltenserkennungsmaschine 344.6 einschließen oder darauf zugreifen, um die Bilddaten 320.2 nach bestimmten Zustimmungsmustern oder Verhaltensweisen zu durchsuchen, die auf eine Zustimmung oder keine Zustimmung hindeuten. In einigen Ausführungsformen kann die Verhaltenserkennungsmaschine 344.6 ähnlich wie die Zustimmungserkennung 344.4 vorgehen, um die Zustimmung eines Sprechers zur Aufzeichnung zu identifizieren, allerdings auf der Grundlage visueller Zustimmungsmuster in der Körpersprache oder Gestik und nicht auf der Grundlage von Sprachinhalten.
  • Der Audiodatenprozessor 346 kann eine API und eine Reihe von Funktionen, Parametern und Datenstrukturen für die Verarbeitung von Audiodaten aus einem Videostream einschließen, um eine Audio-Privatsphäre durchzusetzen mehr. Der Audiodatenprozessor 346 kann zum Beispiel so eingerichtet sein, dass er Audiodaten 320.3 für Kamera-Videostream-Daten 320.1 empfängt und maskierte Audiodaten 320.6 und/oder private Videostream-Daten 320.4 zurückgibt. In einigen Ausführungsformen kann der Audiodatenprozessor 346 vom Ereignismanager 342 als Reaktion auf eine Logik aufgerufen werden, die anzeigt, dass ein Audioprivatsphärenmodus für den Ziel-Videostream oder den Abschnitt des Videostreams ausgelöst werden sollte. Der Ereignismanager 342 kann Metadaten-Tags hinzufügen und/oder Betriebszustände für die Verarbeitung, Speicherung und Anzeige von privaten Videostream-Daten 320.4 mit aktiviertem Audioprivatsphärenmodus auslösen. In einigen Ausführungsformen kann der Audiodatenprozessor 346 zunächst die menschliche Stimme oder die menschliche Sprachkomponente aus den Audiodaten 320.3 mit Hilfe des Separators 346.1 isolieren. Zum Beispiel kann ein Algorithmus ähnlich dem Detektor für menschliche Stimmen 344.1 verwendet werden, um die Stimmenkomponente der Audiodaten 320.3 von einer Restkomponente zu trennen, die Umgebungs- und Hintergrundgeräusche und/oder andere Schallereignisse einschließt, die keine menschlichen Stimmen sind. In einigen Ausführungsformen kann der Separator 346.1 auch die Stimmenkomponente der Audiodaten 320.3 in einzelne Sprecherstimmenkomponenten für eine Vielzahl von Sprechern aufteilen. In einigen Ausführungsformen kann eine Stimmmaske 346.2 auf die abgetrennte menschliche Stimmenkomponente angewendet und/oder in die Audiodaten in dem Frequenzbereich injiziert werden, in dem die menschliche Sprache erkannt wurde. Zum Beispiel kann die menschliche Sprachkomponente der Daten entfernt oder mit einem inversen Klangmuster konterkariert werden, um die menschliche Sprachkomponente effektiv aus den Audiodaten 320.3 zu löschen. Ein weiteres Beispiel, die Audiodaten können modifiziert werden, indem sie durch weißes Rauschen, einen Ersatzton oder ein anderes Audiomerkmal ersetzt werden, das verhindert, dass ein Benutzer die Sprache hören kann, wenn der Videostream angezeigt wird.
  • Die Überwachungsanwendung 350 kann Schnittstellenprotokolle, Funktionen, Parameter und Datenstrukturen einschließen, um eine Benutzeroberfläche für die Überwachung und Überprüfung von Überwachungsvideos und/oder die Verwaltung des Überwachungssystems 300 bereitzustellen, wie beispielsweise durch die Überwachungssteuerung 330. Bei der Überwachungsanwendung 350 kann es sich beispielsweise um eine Software handeln, die auf einer Benutzervorrichtung läuft, die in die Überwachungssteuerung 330 und/oder einen Netzwerkvideorekorder integriert ist, mit diesen verbunden ist oder mit diesen in Netzwerkkommunikation steht. In einigen Ausführungsformen kann die Überwachungsanwendung 350 auf einer von der Überwachungssteuerung 330 getrennten Rechnervorrichtung laufen, wie beispielsweise einem persönlichen Computer, eine mobile Vorrichtung oder einer anderen Benutzervorrichtung. In einigen Ausführungsformen kann die Überwachungsanwendung 350 so eingerichtet sein, dass sie mit APIs interagiert, die vom Zugriffs-/Anzeigemanager 338 bereitgestellt werden.
  • In einigen Ausführungsformen kann die Überwachungsanwendung 350 eine Vielzahl von Hardware- und/oder Softwaremodulen einschließen, die so eingerichtet sind, dass sie den Prozessor 312 und den Speicher 314 verwenden, um bestimmte Vorgänge der Überwachungsanwendung 350 zu bearbeiten oder zu verwalten. Die Überwachungsanwendung 350 kann zum Beispiel einen Videomanager 352, einen Alarmmanager 354 und einen Analysemanager 356 einschließen.
  • Der Videomanager 352 kann APIs und eine Reihe von Funktionen, Parametern und Datenstrukturen zum Navigieren und Anzeigen von Videostreams von Videokameras einschließen, auf die über die Überwachungssteuerung 330 zugegriffen wird. Der Videomanager 352 kann beispielsweise eine grafische Benutzeroberfläche und interaktive Steuerelemente zur Anzeige von Listen, Tabellen, Miniaturansichten oder ähnlichen Oberflächenelementen zur Auswahl und Anzeige von Videostreams für bestimmte Kameras, Zeiten, Orte und/oder Ereignisse einschließen. In einigen Ausführungsformen kann der Videomanager 352 die geteilte Anzeige von Videostreams mehrerer Kameras ermöglichen. So können zum Beispiel die nahezu in Echtzeit stattfindenden Videoströme (mit einer vorgegebenen Verzögerung auf der Grundlage von Netzwerkverzögerung, Speicher- und Verarbeitungszeiten) von allen aktiven Kameras auf einer Überwachungsschnittstelle angezeigt werden, oder ein Satz von Videostreams, die einem erkannten Ereignis entsprechen, kann in einer Ereignisübersichtsschnittstelle angezeigt werden. In einigen Ausführungsformen kann der Videomanager 352 eine Datenstruktur einschließen, die alle im Überwachungssystem 300 gespeicherten Videodaten zusammenfasst, damit der Benutzer ältere Überwachungsvideos auffinden und ansehen kann. Ein Videoverwaltungsprotokoll oder eine Datenbank kann zum Beispiel Einträge für gespeicherte Videodaten einschließen, die durch zugehörige Metadaten indiziert sind, wie beispielsweise Videodatenparameter (z. B. Zeit, Ort, Kamerakennung, Format, schwaches Licht/normales Licht usw.), Metadaten zu erkannten Videoereignissen (Ereigniszeit, Ort, Typ, Parameter usw.) und/oder Videoverwaltungsparameter (Ablauf, aktiv/archivieren, Zugriffskontrolle usw.).
  • In einigen Ausführungsformen kann der Videomanager 352 so eingerichtet sein, dass er selektiv einen Audioprivatsphären-Videostream auf der Grundlage der Audioprivatsphären-Videostream-Daten 320.4 bereitstellt, wenn ein Audioprivatsphärenmodus aktiviert ist, wie beispielsweise, wenn eine menschliche Sprechbedingung erkannt wird. Zum Beispiel kann der Videomanager 352 die Videostream-Daten 320.4 vom Zugriffs-/Anzeigemanager 338 als Teil eines durch den Audioprivatsphärenmodus ausgelösten Anzeigepfads empfangen. Der Videomanager 352 kann die Wiedergabe des privaten Videostreams ermöglichen, wobei die Bilddaten 320.4 auf einer grafischen Benutzeroberfläche angezeigt werden und die maskierten Audiodaten 320.6 über die Lautsprecher wiedergegeben werden. In einigen Ausführungsformen kann der Videomanager 352 über den Zugangskontrolldienst 338.1 Benutzerkennungen und/oder Sicherheitsnachweise zur Authentifizierung erhalten. Zum Beispiel kann sich ein Benutzer über eine Benutzeroberfläche auf der Benutzervorrichtung, auf der die Überwachungsanwendung 350 läuft, bei der Überwachungsanwendung 350 anmelden. In einigen Ausführungsformen können einige Benutzer selektiv sowohl auf Audio-Privatsphäre-Videostreams als auch auf KameraVideostreams ohne modifizierte Audiodaten zugreifen. Ein Videostream mit Audioprivatsphärenmodus-Tags kann beispielsweise zunächst unter Verwendung von Audioprivatsphärenmodus-Videostream-Daten 320.4 angezeigt werden, und ein Benutzer mit Audiozugriffsberechtigungen, die eine Umgehung des Audioprivatsphärenmodus einschließen, kann den Videostream auf der Grundlage von Kamera-Videostream-Daten 320.1 aufrufen oder anzeigen, um die ursprünglichen Audiodaten zu hören, ohne dass die menschliche Stimmenkomponente maskiert oder anderweitig modifiziert wird. In einigen Ausführungsformen kann der Videomanager 352 eine Ereignisüberlagerungsfunktion 352.2 einschließen, die so eingerichtet ist, dass sie Metadaten-Tags und/oder Video-Ereignisindikatoren in Videostreams einblendet, die dem Benutzer angezeigt werden. So kann der Videomanager 352 beispielsweise die mit dem anzuzeigenden Videostream bereitgestellten Video-Metadaten lesen und auf der Grundlage der Video-Metadaten einen oder mehrere visuelle Indikatoren wie alphanumerische Tags, grafische Kästen oder Kacheln, Standbild- oder Videobildeinblendungen usw. bestimmen. Der Audioprivatsphärenmodus kann dem Benutzer durch eine solche Überlagerung des Videostreams mit den maskierten Audiodaten angezeigt werden.
  • Der Alarmmanager 354 kann APIs und einen Satz von Funktionen, Parametern und Datenstrukturen zum Einstellen, Überwachen und Anzeigen von Alarmen basierend auf erkannten Videoereignissen einschließen. Der Benutzer kann zum Beispiel einen Satz von Auslöseereignissen definieren, die einen visuellen, akustischen, taktilen und/oder benachrichtigungsbasierten (elektronische Post, Textnachricht, automatischer Anruf usw.) Alarm auf der Benutzervorrichtung auslösen. In einigen Ausführungsformen kann der Alarmmanager 354 eine Vielzahl von voreingestellten Alarmbedingungen mit zugehörigen Ereignisparametern einschließen und es einem Benutzer ermöglichen, Alarmtypen zu aktivieren und zu deaktivieren und/oder zugehörige Ereignisparameter zu ändern. In einigen Ausführungsformen kann der Alarmmanager 354 so eingerichtet werden, dass er in Verbindung mit der Ereignisüberlagerungsfunktion 352.2 arbeitet, um grafische Elemente, die erkannte Ereignisse oder Ereignisindikatoren darstellen, in Videostreams zu überlagern, die über den Videomanager 352 angezeigt werden. Erkannte Bewegungen, Objekte oder Gesichter können zum Beispiel umrahmt oder hervorgehoben, mit entsprechenden Kennzeichnungen versehen oder auf andere Art und Weise in der Videowiedergabe auf der Benutzervorrichtung angezeigt werden.
  • Der Analysemanager 356 kann APIs und einen Satz von Funktionen, Parametern und Datenstrukturen für die Auswahl, das Training und die Verwaltung von Algorithmen zur Ereigniserkennung einschließen. Der Analysemanager 356 kann zum Beispiel eine Benutzeroberfläche zur analytischen Modellbibliothek 344 für eine oder mehrere Analyse-Engines 340 einschließen. In einigen Ausführungsformen können die Algorithmen zur Ereigniserkennung einen Satz von Parametern und/oder Modellgewichtungen einschließen, die auf der Grundlage von Trainingsdatensätzen vorkonfiguriert sind, die unabhängig vom Überwachungssystem 300 verarbeitet werden. Der Analysemanager 356 kann zum Beispiel Algorithmen zur Objekterkennung für gängige Objekte, Situationen und Kamerakonfigurationen einschließen. In einigen Ausführungsformen kann der Analysemanager 356 den Zugriff auf einen Trainingsdienst und/oder vorkonfigurierte Trainingsdatensätze einschließen. Der Analysemanager 356 kann es dem Benutzer beispielsweise ermöglichen, Trainingsdatensätze für die Bestimmung oder Verfeinerung von Algorithmusparametern für die Ereigniserkennung und/oder Modellgewichtungen auf der Grundlage vordefinierter Basisalgorithmen oder -modelle zu definieren. In einigen Ausführungsformen kann der Analysemanager 356 direkt mit der Analyse-Engine 340 verbunden sein, um die über den Analysemanager 356 eingerichteten Algorithmen zur Ereigniserkennung auszuwählen, zu trainieren, zu verwalten und zu verwenden. In einigen Ausführungsformen kann der Analysemanager 356 eine Schnittstelle zum Zugriffs-/Anzeigemanager 338 haben, um auf eine oder mehrere Analyse-Enginen 340 zuzugreifen und diese zu verwalten.
  • Wie in 4 gezeigt, kann das Überwachungssystem 300 gemäß einem beispielhaften Verfahren zum Bereitstellen eines Audioprivatsphärenmodus betrieben werden, d. h. gemäß dem Verfahren 400, das durch die Blöcke 410-424 in 4 veranschaulicht wird.
  • Bei Block 410 können die Lichtwellen von einem Bildsensor der Videokamera empfangen werden. Die Videokamera kann zum Beispiel aktiviert werden, um kontinuierlich oder als Reaktion auf eine Auslösebedingung Videos aufzunehmen.
  • Bei Block 412 können die Schallwellen von einem Mikrofon der Videokamera empfangen werden. Die Videokamera kann zum Beispiel so eingerichtet werden, dass sie bei aktiviertem Mikrofon den Ton synchron zur Videobildaufnahme aufnimmt.
  • Bei Block 414 kann als Reaktion auf die Erfassung der Bild- und Audiodaten ein Videostream zur Überwachung erzeugt werden. So kann die Kamera beispielsweise die Bildsensor- und Mikrofondaten in synchronisierte Bild- und Audiodaten umwandeln, einen Videostream mit mindestens einem Audiokanal kodieren und den Videostream der Kamera einer Überwachungssteuerung bereitstellen.
  • Bei Block 416 kann eine menschliche Sprechbedingung bestimmt werden. Zum Beispiel kann ein Sprachdetektor in der Kamera der Überwachungssteuerung erkennen, dass zumindest ein Abschnitt des Videostreams menschliche Sprache einschließt.
  • Bei Block 418 können die Audiodaten aus dem Videostream bestimmt werden. Zum Beispiel kann ein Audiodatenprozessor die Audiodaten, wie beispielsweise den Audiokanal, zur Verarbeitung aus den Bilddaten auslesen und/oder trennen.
  • Bei Block 420 können die Audiodaten selektiv modifiziert werden. Zum Beispiel kann der Audiodatenprozessor während Zeiträumen oder Abschnitten, die die menschliche Sprechbedingung einschließen, mindestens die menschliche Stimmenkomponente der Audiodaten maskieren.
  • Bei Block 422 kann der Videostream mit den modifizierten Audiodaten gespeichert werden. So kann die Steuerung der Überwachung zum Beispiel Audioprivatsphäre-Videostream-Daten, einschließlich eines modifizierten Audiokanals oder einer modifizierten Spur, auf einer oder mehreren Speicherungsvorrichtungen speichern.
  • Bei Block 424 kann der Videostream mit modifizierten Audiodaten einem Benutzer angezeigt werden. Zum Beispiel kann eine Überwachungsanwendung, die auf einer Benutzervorrichtung läuft, die Daten des privaten Videostreams von der Überwachungssteuerung empfangen und sie selektiv auf einer grafischen Benutzeroberfläche und den Lautsprechern der Benutzervorrichtung anzeigen.
  • Wie in 5 dargestellt, kann das Überwachungssystem 300 gemäß einem beispielhaften Vorgang zum selektiven Modifizieren von Audiodaten für einen Audioprivatsphärenmodus betrieben werden, d. h. gemäß dem durch die Blöcke 510-532 in 5 veranschaulichten Vorgang 500.
  • Bei Block 510 kann ein Videostream der Überwachung empfangen werden. Eine Überwachungssteuerung kann zum Beispiel einen kodierten Videostream einer Kamera empfangen, der einen synchronisierten Audiokanal einschließt.
  • In Block 512 kann eine menschliche Sprechbedingung erkannt werden. Zum Beispiel kann ein Detektor für menschliche Stimmen bestimmen, dass mindestens eine menschliche Stimme in einem oder mehreren Abschnitten des Videostreams der Kamera vorhanden ist. Wenn keine menschliche Sprechbedingung erkannt wird, kann das Verfahren 500 mit Block 530 fortfahren, um den unveränderten Videostream zu verarbeiten. Wenn eine menschliche Sprechbedingung erkannt wird, kann das Verfahren 500 zu Block 514 übergehen, um die Verarbeitung gemäß einem Audioprivatsphärenmodus durchzuführen, um die Privatsphäre der menschlichen Sprachkomponente des Videostreams zu schützen.
  • In Block 514 kann eine Audiodatenspur ausgewählt werden. Ein Audioprozessor kann zum Beispiel die Audiospur oder den Kanal aus dem Videostream auswählen, der die menschliche Sprachkomponente einschließt.
  • Bei Block 516 kann eine menschliche Stimmenkomponente bestimmt werden. Der Audioprozessor kann zum Beispiel den Detektor für menschliche Stimmen oder einen ähnlichen Algorithmus verwenden, um die Frequenzen oder Signalmuster zu identifizieren, die die menschliche Stimmenkomponente enthalten.
  • Bei Block 518 kann die menschliche Stimmenkomponente getrennt werden. Der Audioprozessor kann zum Beispiel die identifizierten Frequenzen oder Signalmuster von den übrigen Audiodaten trennen, wie beispielsweise Hintergrundgeräusche und nicht-menschliche Sprachquellen oder Ereignisse.
  • Bei Block 520 kann die menschliche Stimmenkomponente maskiert werden. Der Audioprozessor kann zum Beispiel weißes Rauschen, einen Maskierungston oder ein anderes Audiosignal einspeisen, um die menschliche Stimmenkomponente in den Audiodaten auszulöschen oder zu verdecken.
  • Bei Block 522 kann die maskierte menschliche Stimmenkomponente mit der restlichen Nicht-Stimmenkomponente zusammengeführt werden. Zum Beispiel kann die maskierte menschliche Stimmenkomponente mit den restlichen Audiodaten kombiniert werden, nachdem die menschliche Stimmenkomponente abgetrennt oder entfernt wurde.
  • Bei Block 524 kann die ausgewählte Audiospur aus dem Videostream durch die modifizierte Audiospur ersetzt werden. Der Audioprozessor kann zum Beispiel die modifizierten Audiodaten mit der maskierten menschlichen Stimmenkomponente bereitstellen, um sie mit den Bilddaten für den Videostream zu synchronisieren und/oder neu zu kodieren.
  • Bei Block 526 kann der Videostream mit den modifizierten Audiodaten gespeichert werden. So kann die Steuerung der Überwachung zum Beispiel Audioprivatsphäre-Videostream-Daten, einschließlich eines modifizierten Audiokanals oder einer modifizierten Spur, auf einer oder mehreren Speicherungsvorrichtungen speichern.
  • Bei Block 528 kann der Videostream mit modifizierten Audiodaten einem Benutzer angezeigt werden. Zum Beispiel kann eine Überwachungsanwendung, die auf einer Benutzervorrichtung läuft, die Daten des privaten Videostreams von der Überwachungssteuerung empfangen und sie selektiv auf einer grafischen Benutzeroberfläche und den Lautsprechern der Benutzervorrichtung anzeigen.
  • Bei Block 530 kann der unveränderte Videostream der Kamera gespeichert werden. Zum Beispiel kann die Steuerung der Überwachung die Daten des Videostreams der Kamera, einschließlich des ursprünglichen Audiokanals oder der Audiospur, auf einem oder mehreren Speichermedien speichern.
  • Bei Block 532 kann der unveränderte Videostream der Kamera einem Benutzer angezeigt werden. Zum Beispiel kann eine Überwachungsanwendung, die auf einer Benutzervorrichtung läuft, die Videostream-Daten der Kamera von der Überwachungssteuerung empfangen und selektiv auf einer grafischen Benutzeroberfläche und den Lautsprechern der Benutzervorrichtung anzeigen, wobei die menschliche Sprache erhalten bleibt.
  • Wie in 6 gezeigt, kann das Überwachungssystem 300 nach einem beispielhaften Verfahren zur Auslösung eines Audioprivatsphärenmodus betrieben werden, d. h. nach dem Verfahren 500, das durch die Blöcke 610-638 in 6 veranschaulicht wird.
  • Bei Block 610 kann ein Videostream der Überwachung empfangen werden. Eine Überwachungssteuerung kann zum Beispiel einen kodierten Videostream einer Kamera empfangen, der einen synchronisierten Audiokanal einschließt.
  • Bei Block 612 können die Audiodaten für die Stimmerkennung verarbeitet werden. Zum Beispiel kann ein Detektor für menschliche Stimmen die Audiodaten des Videostreams der Überwachung verarbeiten, um zu bestimmen, ob eine menschliche Stimme in den Audiodaten vorhanden ist.
  • Bei Block 614, parallel zu Block 612 oder alternativ zu Block 612, können die Videodaten zur Verhaltenserkennung verarbeitet werden. Eine Verhaltenserkennungsmaschine kann zum Beispiel die Bilddaten des Videostreams verarbeiten, um zu bestimmen, ob eine oder mehrere Personen auf den Bildern sprechen, beispielsweise anhand von Mundbewegungen oder anderer Körpersprache.
  • Bei Block 616 kann auf der Grundlage der Blöcke 612 und/oder 614 bestimmt werden, ob ein Mensch spricht oder nicht. Ein Ereignismanager kann zum Beispiel auswerten, ob der Detektor für menschliche Stimmen oder die Verhaltenserkennungsmaschine einen positiven Indikator für menschliche Sprache zurückgegeben hat. Wenn nein, dann kann der Audioprivatsphärenmodus in Block 638 deaktiviert werden. Wenn ja, kann das Verfahren 600 mit den Blöcken 618 und/oder 620 fortfahren.
  • Bei Block 618 können die Audiodaten für die Spracherkennung verarbeitet werden. Zum Beispiel kann eine Spracherkennungsmaschine die Audiodaten des Videostreams der Überwachung verarbeiten, um die Identität eines oder mehrerer Sprecher in den Audiodaten zu bestimmen.
  • Bei Block 620, parallel zu Block 618 oder alternativ zu Block 618, können die Videodaten für die Gesichtserkennung verarbeitet werden. Zum Beispiel kann eine Gesichtserkennungsmaschine die Bilddaten des Videostreams der Überwachung verarbeiten, um zu bestimmen, ob es sich bei einem oder mehreren Menschen auf den Bildern um einen identifizierbaren Sprecher handelt.
  • Bei Block 622 können eine oder mehrere Sprecheridentitäten aus den Blöcken 618 und/oder 620 mit einer geschützten Sprecherliste verglichen werden. Der Ereignismanager kann beispielsweise die identifizierten Sprecher mit einer geschützten Sprecherliste vergleichen, um zu bestimmen, ob ein oder mehrere Sprecher auf der geschützten Sprecherliste stehen.
  • Bei Block 624 kann auf der Grundlage der Blöcke 628 und/oder 630 und Block 632 bestimmt werden, ob ein geschützter Sprecher im Videostream der Überwachung erkannt wurde oder nicht. Wenn ein geschützter Sprecher erkannt wird, kann das Verfahren 600 den Audioprivatsphärenmodus in Block 626 aktivieren. Wenn kein geschützter Sprecher erkannt wird, kann das Verfahren 600 mit den Blöcken 628 und/oder 630 fortgesetzt werden.
  • Bei Block 626 kann ein Audioprivatsphärenmodus aktiviert werden. Ein Audioprozessor kann beispielsweise mit den Audiodaten arbeiten, wie für das Verfahren 500 in 5 beschrieben.
  • Bei Block 628 können die Audiodaten für die Erkennung von Sprachinhalten verarbeitet werden. Die Spracherkennungsmaschine kann zum Beispiel die Audiodaten des Videostreams der Überwachung verarbeiten, um zu bestimmen, ob in der Sprache Zustimmungsmuster vorkommen.
  • Bei Block 630, parallel zu Block 628 oder alternativ zu Block 628, können die Videodaten zur Verhaltenserkennung verarbeitet werden. Eine Verhaltenserkennungsmaschine kann zum Beispiel die Bilddaten des Videostreams der Überwachung verarbeiten, um zu bestimmen, ob alle Sprecher ihre Zustimmung anhand von Zustimmungsmustern im Verhalten angezeigt haben.
  • Bei Block 632 können ein oder mehrere Muster aus den Blöcken 628 und/oder 630 mit einer Zustimmungsmusterliste verglichen werden. Die Spracherkennungsmaschine und die Verhaltenserkennungsmaschine können zum Beispiel Sätze von Zustimmungsmustern verwalten, die bestimmten Sätzen oder Körpersprache zugeordnet sind, die aus den jeweiligen Daten erkannt werden können.
  • Bei Block 634 kann auf der Grundlage der Blöcke 628 und/oder 630 und des Blocks 632 bestimmt werden, ob eine Zustimmung aus dem Videostream der Überwachung erkannt wurde oder nicht. So kann der Ereignismanager zum Beispiel auswerten, ob die Spracherkennungsmaschine oder die Verhaltenserkennungsmaschine positive Zustimmungsindikatoren für alle Sprecher geliefert hat. Wenn ja, kann der Audioprivatsphärenmodus in Block 638 deaktiviert werden. Wenn nein, kann der Audioprivatsphärenmodus in Block 636 aktiviert werden.
  • Bei Block 636 kann ein Audioprivatsphärenmodus aktiviert werden. Ein Audioprozessor kann beispielsweise mit den Audiodaten arbeiten, wie für das Verfahren 500 in 5 beschrieben.
  • Bei Block 638 kann ein Audioprivatsphärenmodus deaktiviert werden. So kann die Überwachungssteuerung zum Beispiel den ursprünglichen Videostream verarbeiten, ohne die Audiodaten zu modifizieren.
  • Wie in 7 gezeigt, kann das Überwachungssystem 300 gemäß einem beispielhaften Vorgang zur Anzeige von Videostreams mit einem Audioprivatsphärenmodus auf einer Benutzervorrichtung betrieben werden, d. h. gemäß dem durch die Blöcke 710-722 in 7 veranschaulichten Vorgang 700.
  • Bei Block 710 kann das verfügbare Video über eine grafische Benutzeroberfläche navigiert werden. Zum Beispiel kann eine Überwachungsanwendung, die auf einer Benutzervorrichtung läuft, eine Schnittstelle für die Videonavigation bereitstellen, die die Auswahl, Anzeige und Navigation eines Videostreams ermöglicht, wie beispielsweise Abspielen, Anhalten, Stoppen, Vorwärts, Rückwärts, Schneller, Langsamer usw.
  • Bei Block 712 kann ein Videostream der Überwachung zur Anzeige ausgewählt werden. Die Überwachungsanwendung kann es dem Benutzer zum Beispiel ermöglichen, ein Videostream-Segment zur Ansicht auszuwählen.
  • Bei Block 714 kann ein Videostream mit aktiviertem Datenschutz angezeigt werden. Zum Beispiel kann die Überwachungsanwendung das ausgewählte Videostream-Segment aus gespeicherten oder gestreamten Videodaten abrufen, die von einer Überwachungssteuerung verwaltet werden, der ausgewählte Videostream kann mit einem Audioprivatsphärenmodus-Tag oder einem anderen Indikator versehen sein, die Überwachungssteuerung kann die für den Audioprivatsphärenmodus aktivierte Version des Videostreams mit modifizierten Audiodaten bereitstellen, und die Überwachungsanwendung kann die empfangene für den Audioprivatsphärenmodus aktivierte Version des Videostreams auf einer grafischen Schnittstelle und den Sprechern der Benutzervorrichtung anzeigen.
  • Bei Block 716 kann eine Sicherheitsberechtigung für den Benutzer bestimmt werden. So kann die Überwachungsanwendung zum Beispiel verlangen, dass sich der Benutzer mit einem Sicherheitsnachweis anmeldet, bevor sie ein Video anzeigt, oder sie kann als Reaktion auf die Markierung des Audioprivatsphärenmodus nach einem Sicherheitsnachweis fragen, um dem Benutzer zu ermöglichen, den Audioprivatsphärenmodus zu umgehen, wenn seine Anmeldedaten dies erlauben.
  • Bei Block 718 kann eine Audiozugriffsberechtigung, die mit dem Benutzer und dem Sicherheitsnachweis verbunden ist, überprüft werden. Die Überwachungssteuerung kann zum Beispiel Zugriffskontrolllisten einschließen, die mit Benutzerprofilen verknüpft sind, und bestimmen, ob der Benutzer die Berechtigung hat, den Audio-Datenschutz für den Ziel-Videostream zu umgehen.
  • Bei Block 720 kann auf den Videostream mit deaktiviertem Datenschutz zugegriffen werden. Zum Beispiel kann die Überwachungssteuerung als Reaktion auf den Sicherheitsnachweis und die Audiozugriffsberechtigung den ursprünglichen Videostream der Kamera mit unveränderten Audiodaten für die Überwachungsanwendung bereitstellen.
  • Bei Block 722 kann der Videostream mit deaktiviertem Datenschutz angezeigt werden. So kann die Überwachungsanwendung zum Beispiel den empfangenen Original-Kamera-Videostream mit unveränderten Audiodaten auf der Anzeige der grafischen Schnittstelle und den Lautsprechern der Benutzervorrichtung anzeigen.
  • Während mindestens eine beispielhafte Ausführungsform in der vorstehenden ausführlichen Beschreibung der Technologie dargestellt worden ist, sollte gewürdigt werden, dass eine große Anzahl von Variationen existieren kann. Es sollte auch beachtet werden, dass eine beispielhafte Ausführungsform oder die beispielhaften Ausführungsformen Beispiele sind, und in keiner Weise den Umfang, die Anwendbarkeit, oder Konfiguration der Technologie einschränken sollen. Die vorangehende genaue Beschreibung wird vielmehr eine brauchbare Anleitung für Fachleute zur Implementierung einer beispielhaften Ausführungsform der Technologie bereitstellen, wobei es sich versteht, dass verschiedene Modifikationen an einer Funktion und/oder Anordnung von Elementen vorgenommen werden können, die in einer beispielhaften Ausführungsform beschrieben sind, ohne vom Umfang der Technologie abzuweichen, wie in den beigefügten Ansprüchen und ihren rechtlichen Entsprechungen dargelegt.
  • Wie einem Durchschnittsfachmann bekannt, können verschiedene Ausführungsformen der vorliegenden Erfindung als ein System, Verfahren oder Computerprogrammprodukt verkörpert werden. Folglich können Ausführungsformen der vorliegenden Offenlegung die Form einer vollständigen Hardware-Ausführung, einer vollständigen Software-Ausführung (einschließlich Firmware, speicherresidente Software, Mikrocodes, oder dergleichen) oder Ausführungsformen in der Form einer Kombination von Hardware und Software annehmen, die alle allgemein hierin als Schaltung, Modul, System und/oder Netzwerk bezeichnet werden können. Darüber hinaus können verschiedene Ausführungsformen der vorliegenden Technologie die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien verkörpert ist, einschließlich eines darauf ausgebildeten computerlesbaren Programmcodes.
  • Es kann jede Kombination eines oder mehrerer computerlesbarer Speichermedien verwendet werden. Ein computerlesbares Medium kann ein computerlesbares Signalmedium oder ein physisches oder computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann beispielsweise, ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, ein Gerät oder eine Vorrichtung, usw. oder irgendeine geeignete Kombination der Vorstehenden sein. Nicht einschränkende Beispiele eines physischen computerlesbaren Speichermediums können eine elektrische Verbindung, einschließlich einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, Speicher mit wahlfreiem Zugriff (RAM), Festwertspeicher (ROM), löschbaren programmierbaren Festwertspeicher (EPROM), elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM), einen Flash-Speicher, eine optische Faser, einen Compact Disk-Festwertspeicher (CD-ROM), einen optischen Prozessor, einen magnetischen Prozessor usw. oder eine beliebige geeignete Kombination der Vorstehenden einschließen, sind aber nicht darauf beschränkt. Im Kontext dieses Dokuments kann ein computerlesbares und/oder ausführbares Speichermedium jedes greifbare Medium sein, das ein Programm oder Daten zur Verwendung durch ein System, ein Gerät und/oder eine Vorrichtung zur Befehlsausführung oder in Verbindung mit einer/einem solchen, enthalten oder speichern kann.
  • Ein Computercode, der auf einem computerlesbaren Medium enthalten ist, kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, einschließlich, aber nicht beschränkt auf, drahtloses, verdrahtetes, optisches Faserkabel, Radiofrequenz (RF), usw. oder jede geeignete Kombination des Vorhergehenden. Ein Computercode zur Ausführung von Prozessen bei Ausführungsformen der vorliegenden Erfindung kann in einer beliebigen statischen Sprache, wie die C-Programmiersprache oder andere ähnliche Programmiersprachen, geschrieben werden. Der Computercode kann vollständig auf einer Rechenvorrichtung des Benutzers, teilweise auf einer Rechenvorrichtung des Benutzers, als ein alleinstehendes Softwarepaket, teilweise auf einer Rechenvorrichtung des Benutzers und teilweise auf einer Remote-Rechenvorrichtung oder vollständig auf der Remote-Vorrichtung oder einem Server ausgeführt werden. In dem letzteren Gedankenspiel kann eine Remote-Rechenvorrichtung mit einer Rechenvorrichtung des Benutzers durch eine beliebige Art von Netzwerk oder Kommunikationssystem, einschließlich, aber nicht begrenzt auf, ein lokales Netzwerk (LAN) oder ein Wide Area Network (WAN), eine Netzkonvergenz, verbunden sein, oder die Verbindung kann zu einem externen Computer (z. B. durch das Internet unter Verwendung eines Internetanbieters) hergestellt werden.
  • Verschiedene Ausführungsformen der vorliegenden Erfindung können vorstehend mit Bezug auf die Flussdiagramme und/oder Blockdiagramme von Verfahren, Vorrichtungen, Systemen und Computerprogrammprodukten beschrieben sein. Es versteht sich, dass jeder Block des schematischen Flussdiagramms und/oder schematischen Blockdiagramms und Kombinationen von Blöcken in den schematischen Flussdiagrammen und/oder schematischen Blockdiagrammen durch Computerprogrammanweisungen implementiert werden kann. Diese Computerprogrammanweisungen können einer Verarbeitungseinheit (Prozessor) eines allgemeinen Computers, speziellen Computers oder einer anderen programmierbaren Datenverarbeitungsanlage zur Erzeugung einer Maschine bereitgestellt werden, so dass die Anweisungen, die über die Verarbeitungsvorrichtung oder andere programmierbare Datenverarbeitungsanlagen ausgeführt werden können, Mittel zum Implementieren der Abläufe/Handlungen in einem Flussdiagramm und/oder Block (Blöcken) eines Blockdiagramms erzeugen.
  • Einige Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder (eine) andere Vorrichtung(en) zum Betrieb in einer bestimmten Weise steuern kann, so dass die in einem computerlesbaren Medium gespeicherten angefertigten Artikel Anweisungen beinhalten, die den in einem Flussdiagramm und/oder Block (Blöcken) eines Blockdiagramms spezifizierten Betrieb/Vorgang implementieren. Einige Computerprogrammanweisungen können auch auf eine Rechenvorrichtung, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Vorrichtung(n) geladen werden, um zu bewirken, dass eine Reihe von Betriebsschritten an der Rechenvorrichtung, einer anderen programmierbaren Vorrichtung oder (einer) anderen Vorrichtung(en) durchgeführt werden, so dass die Anweisungen, die durch den Computer oder eine andere programmierbare Vorrichtung ausgeführt werden, einen oder mehrere Prozesse zur Implementierung der in einem Flussdiagramm und/oder Block (Blöcken) eines Blockdiagramms spezifizierten Betrieb/Vorgang bereitstellen.
  • Ein Flussdiagramm und/oder Blockdiagramm in den vorstehenden Figuren kann eine Bauweise, Funktionalität und/oder einen Vorgang möglicher Implementierungen von Vorrichtungen, Systemen, Verfahren und/oder Computerprogrammprodukten gemäß verschiedenen Gesichtspunkten der vorliegenden Technologie veranschaulichen. In dieser Hinsicht kann ein Block in einem Flussdiagramm oder Blockdiagramm ein Modul, Segment oder einen Teil eines Codes darstellen, der eine oder mehrere ausführbare Anweisungen zum Implementieren einer oder mehrerer spezifizierter logischer Funktionen aufweisen kann. Es sollte auch beachtet werden, dass in einigen alternativen Implementierungen die in dem Block angegebenen Funktionen außerhalb der in den Figuren angegebenen Reihenfolge auftreten können. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, entsprechend der involvierten Funktionalität. Es sei auch angemerkt, dass ein Block einer Blockdiagramm- und/oder einer Flussdiagrammdarstellung oder eine Kombination von Blöcken in einer Blockdiagramm- und/oder einer Flussdiagrammdarstellung durch speziell auf Hardware basierenden Systemen implementiert werden kann, die eine oder mehrere spezifizierte Vorgänge oder Handlungen ausführen, oder durch Kombinationen von Hardware zu speziellen Zwecken und Computeranweisungen.
  • Während ein oder mehrere Gesichtspunkte der vorliegenden Technologie im Detail dargestellt und besprochen wurden, wird ein Fachmann erkennen, dass Modifikationen und/oder Anpassungen an die verschiedenen Gesichtspunkte vorgenommen werden können, ohne vom Umfang der vorliegenden Erfindung abzuweichen, wie in den folgenden Ansprüchen dargelegt.

Claims (20)

  1. System, aufweisend: eine Videokamera, aufweisend: einen Bildsensor, der eingerichtet ist, um Bilddaten für einen Videostream zu erfassen; und ein Mikrofon, das eingerichtet ist, um Audiodaten für den Videostream zu erfassen; und eine Steuerung, die eingerichtet ist, um: den Videostream von der Videokamera zu empfangen; aus dem Videostream eine menschliche Sprechbedingung zu bestimmen; als Reaktion auf das Bestimmen der menschlichen Sprechbedingung die Audiodaten im Videostream während der menschlichen Sprechbedingung selektiv zu modifizieren; und den Videostream mit den geänderten Audiodaten zu speichern.
  2. System gemäß Anspruch 1, wobei das selektive Modifizieren der Audiodaten im Videostream während der menschlichen Sprechbedingung die Verarbeitung der Audiodaten einschließt, um eine menschliche Stimmenkomponente der Audiodaten zu maskieren.
  3. System gemäß Anspruch 2, wobei die Steuerung weiterhin eingerichtet ist, um die Stimmenkomponente der Audiodaten während der menschlichen Sprechbedingung zu bestimmen.
  4. System gemäß Anspruch 3, wobei die Verarbeitung der Audiodaten zur Maskierung der menschlichen Stimmenkomponente der Audiodaten Folgendes einschließt: Trennen der menschlichen Stimmenkomponente der Audiodaten von einer nicht stimmlichen Restkomponente der Audiodaten; selektives Maskieren der menschlichen Stimmenkomponente in den Audiodaten; und Belassen der Restkomponente der Audiodaten, die keine Stimme ist, unverändert.
  5. System gemäß Anspruch 4, wobei die Verarbeitung der Audiodaten zur Maskierung der menschlichen Stimmenkomponente der Audiodaten weiterhin Folgendes einschließt: Trennen der Stimmenkomponente der Audiodaten in eine Vielzahl von Stimmenkomponenten, die einzelnen Sprechern einer Vielzahl von Sprechern entsprechen; Identifizieren mindestens eines einzelnen Sprechers aus der Vielzahl der Sprecher; und selektives Maskieren eines Abschnitts der menschlichen Stimmenkomponente der Audiodaten, der dem mindestens einen individuellen Sprecher entspricht, in Reaktion auf die Identifizierung des mindestens einen individuellen Sprechers.
  6. System gemäß Anspruch 1, wobei: die Steuerung weiterhin eingerichtet ist, um: ein Audioereignis aus den Audiodaten im Videostream zu erkennen; und die Audiodaten im Videostream mit einem Stimmerkennungsalgorithmus zu verarbeiten, um einen geschützten Sprecher zu identifizieren; das Bestimmen der menschlichen Sprechbedingung aus dem Videostream als Reaktion auf die Erkennung des Audioereignisses erfolgt; und das selektive Modifizieren der Audiodaten im Videostream während der menschlichen Sprechbedingung weiterhin von der Identifizierung des geschützten Sprechers abhängt.
  7. System gemäß Anspruch 1, wobei: die Steuerung weiterhin so eingerichtet ist, dass sie unter Verwendung eines Spracherkennungsalgorithmus die Audiodaten in dem Videostream verarbeitet, um ein Zustimmungsmuster zu identifizieren; und das selektive Modifizieren der Audiodaten im Videostream während der menschlichen Sprechbedingung reagiert weiterhin auf ein Fehlen des Zustimmungsmusters in den Audiodaten.
  8. System gemäß Anspruch 1, wobei: die Steuerung weiterhin eingerichtet ist, um ein Videoereignis aus den Bilddaten im Videostream zu erkennen; und die Bestimmung der menschlichen Sprechbedingung aus dem Videostream als Reaktion auf die Erkennung des Videoereignisses erfolgt.
  9. System gemäß Anspruch 8, wobei: die Steuerung weiterhin eingerichtet ist, um unter Verwendung eines Gesichtserkennungsalgorithmus die Bilddaten in dem Videostream zu verarbeiten, um einen geschützten Sprecher zu identifizieren; und das selektive Modifizieren der Audiodaten im Videostream während der menschlichen Sprechbedingung weiterhin von der Identifizierung des geschützten Sprechers abhängt.
  10. System gemäß Anspruch 1, weiterhin aufweisend: eine Speicherungsvorrichtung, die zum Speichern eingerichtet ist: einen unveränderten Videostream von der Videokamera; und den Videostream mit den modifizierten Audiodaten von der Steuerung; eine Analyse-Engine, die eingerichtet ist, um: den unveränderten Videostream zu verarbeiten, um die menschliche Sprechbedingung aus dem Videostream zu bestimmen; und die Steuerung über die menschliche Sprechbedingung zu informieren; und eine Benutzervorrichtung, die eingerichtet ist, um: mit Hilfe einer grafischen Benutzeroberfläche und eines Sprechers der Benutzervorrichtung den Videostream mit den modifizierten Audiodaten für einen Benutzer anzuzeigen; eine Sicherheitsberechtigung für den Benutzer zu bestimmen; eine Audiozugriffsberechtigung zu überprüfen, die dem Sicherheitsnachweis entspricht; und mit Hilfe der grafischen Benutzeroberfläche und des Sprechers der Benutzervorrichtung den unveränderten Videostream für den Benutzer anzuzeigen.
  11. Computerimplementiertes Verfahren, aufweisend: Empfangen eines Videostreams von einer Videokamera, wobei die Videokamera Folgendes aufweist: einen Bildsensor, der eingerichtet ist, um Bilddaten für den Videostream zu erfassen; und ein Mikrofon, das eingerichtet ist, um Audiodaten für den Videostream zu erfassen; Bestimmen einer menschlichen Sprechbedingung anhand des Videostreams; selektives Modifizieren der Audiodaten im Videostream während der menschlichen Sprechbedingung in Reaktion auf die Bestimmung der menschlichen Sprechbedingung; und Speichern des Videostreams mit den modifizierten Audiodaten.
  12. Computerimplementiertes Verfahren gemäß Anspruch 11, wobei das selektive Modifizieren der Audiodaten im Videostream während der menschlichen Sprechbedingung das Verarbeiten der Audiodaten einschließt, um eine menschliche Stimmenkomponente der Audiodaten zu maskieren.
  13. Computerimplementiertes Verfahren gemäß Anspruch 12, weiterhin aufweisend: Bestimmen der menschlichen Stimmenkomponente der Audiodaten während der menschlichen Sprechbedingung.
  14. Computerimplementiertes Verfahren gemäß Anspruch 13, wobei die Verarbeitung der Audiodaten zum Maskieren der menschlichen Stimmenkomponente der Audiodaten Folgendes einschließt: Trennen der menschlichen Stimmenkomponente der Audiodaten von einer nicht stimmlichen Restkomponente der Audiodaten; selektives Maskieren der menschlichen Stimmenkomponente in den Audiodaten; und Belassen der Restkomponente der Audiodaten, die keine Stimme ist, unverändert.
  15. Computerimplementiertes Verfahren gemäß Anspruch 11, weiterhin aufweisend: Erkennen eines Audioereignisses aus den Audiodaten im Videostream, wobei die Bestimmung der menschlichen Sprechbedingung aus dem Videostream auf das Erkennen des Audioereignisses reagiert.
  16. Computerimplementiertes Verfahren gemäß Anspruch 15, weiterhin aufweisend: Verarbeiten der Audiodaten im Videostream unter Verwendung eines Spracherkennungsalgorithmus, um einen geschützten Sprecher zu identifizieren, wobei das selektive Modifizieren der Audiodaten im Videostream während der menschlichen Sprechbedingung eine weitere Reaktion auf die Identifizierung des geschützten Sprechers ist.
  17. Computerimplementiertes Verfahren gemäß Anspruch 15, weiterhin aufweisend: Verarbeiten der Audiodaten im Videostream unter Verwendung eines Spracherkennungsalgorithmus, um ein Zustimmungsmuster zu identifizieren, wobei das selektive Modifizieren der Audiodaten im Videostream während der menschlichen Sprechbedingung weiterhin auf das Fehlen des Zustimmungsmusters in den Audiodaten reagiert.
  18. Computerimplementiertes Verfahren gemäß Anspruch 11, weiterhin aufweisend: Erkennen eines Videoereignisses aus den Bilddaten in dem Videostream, wobei die Bestimmung der menschlichen Sprechbedingung aus dem Videostream auf das Erkennen des Videoereignisses reagiert; und Verarbeiten der Bilddaten im Videostream unter Verwendung eines Gesichtserkennungsalgorithmus, um einen geschützten Sprecher zu identifizieren, wobei das selektive Modifizieren der Audiodaten im Videostream während der menschlichen Sprechbedingung eine weitere Reaktion auf die Identifizierung des geschützten Sprechers ist.
  19. Computerimplementiertes Verfahren gemäß Anspruch 18, weiterhin aufweisend: Speichern, in einer Speichervorrichtung: einen unveränderten Videostream von der Videokamera; und den Videostream mit den modifizierten Audiodaten; Verarbeiten des unveränderten Videostreams, um die menschliche Sprechbedingung aus dem Videostrom zu bestimmen; Anzeigen, unter Verwendung einer grafischen Benutzeroberfläche und eines Lautsprechers einer Benutzervorrichtung, des Videostreams mit den modifizierten Audiodaten für einen Benutzer; Bestimmen eines Sicherheitsnachweises für den Benutzer; Verifizieren einer Audiozugriffsberechtigung, die dem Sicherheitsnachweis entspricht; und Anzeigen mit Hilfe der grafischen Benutzeroberfläche und des Sprechers der Benutzervorrichtung des unveränderten Videostreams für den Benutzer.
  20. Überwachungssystem, aufweisend: eine Videokamera, aufweisend: einen Bildsensor, der eingerichtet ist, um Bilddaten für einen Videostream zu erfassen; und ein Mikrofon, das eingerichtet ist, um Audiodaten für den Videostream zu erfassen; einen Prozessor; einen Speicher; Mittel zum Empfangen des Videostreams von der Videokamera; Mittel zur automatischen Bestimmung einer menschlichen Sprechbedingung aus dem Videostream; Mittel, um als Reaktion auf die Bestimmung der menschlichen Sprechbedingung die Audiodaten im Videostream während der menschlichen Sprechbedingung selektiv zu modifizieren; und Mittel zur Anzeige des Videostreams unter Verwendung der modifizierten Audiodaten.
DE112021000193.0T 2020-12-01 2021-05-12 Audioprivatsphärenschutz für überwachungssysteme Pending DE112021000193T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063119865P 2020-12-01 2020-12-01
US63/119,865 2020-12-01
US17/176,697 2021-02-16
US17/176,697 US20220172700A1 (en) 2020-12-01 2021-02-16 Audio privacy protection for surveillance systems
PCT/US2021/031972 WO2022119598A1 (en) 2020-12-01 2021-05-12 Audio privacy protection for surveillance systems

Publications (1)

Publication Number Publication Date
DE112021000193T5 true DE112021000193T5 (de) 2022-09-29

Family

ID=81751595

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021000193.0T Pending DE112021000193T5 (de) 2020-12-01 2021-05-12 Audioprivatsphärenschutz für überwachungssysteme

Country Status (4)

Country Link
US (1) US20220172700A1 (de)
CN (1) CN114930333A (de)
DE (1) DE112021000193T5 (de)
WO (1) WO2022119598A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11704908B1 (en) * 2021-03-04 2023-07-18 Ambarella International Lp Computer vision enabled smart snooze home security cameras
US11671695B2 (en) * 2021-04-08 2023-06-06 Google Llc Systems and methods for detecting tampering with privacy notifiers in recording systems
US20230081012A1 (en) * 2021-09-14 2023-03-16 Qualcomm Incorporated Locating Mobile Device Using Anonymized Information
US11941320B2 (en) * 2021-09-28 2024-03-26 Arlo Technologies, Inc. Electronic monitoring system having modified audio output
GB2612118A (en) * 2021-10-22 2023-04-26 Milestone Systems As Computer-implemented method and computer program for generating a thumbnail from a video stream or file, and video surveillance system
US20230353405A1 (en) * 2022-04-27 2023-11-02 Avaya Management L.P. Selective mute of video streams in video conferences

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050226395A1 (en) * 2004-04-05 2005-10-13 Benco David S Network support for consensual mobile recording
US20130002840A1 (en) * 2011-06-30 2013-01-03 Nokia Corporation Method and apparatus for recording media events
US9437207B2 (en) * 2013-03-12 2016-09-06 Pullstring, Inc. Feature extraction for anonymized speech recognition
US9554188B2 (en) * 2014-08-27 2017-01-24 Verizon Patent And Licensing Inc. Shock block
US9705926B2 (en) * 2015-08-11 2017-07-11 Avaya Inc. Security and retention tagging
WO2017129804A1 (en) * 2016-01-29 2017-08-03 Kiwisecurity Software Gmbh Methods and apparatus for using video analytics to detect regions for privacy protection within images from moving cameras
US10789385B1 (en) * 2016-05-04 2020-09-29 United Services Automobile Association (Usaa) Dynamic tagging of media for service sessions
US9641676B1 (en) * 2016-08-17 2017-05-02 Authority Software LLC Call center audio redaction process and system
US10192061B2 (en) * 2017-01-24 2019-01-29 Wipro Limited Method and a computing device for providing privacy control in a surveillance video
US10540521B2 (en) * 2017-08-24 2020-01-21 International Business Machines Corporation Selective enforcement of privacy and confidentiality for optimization of voice applications
US10929561B2 (en) * 2017-11-06 2021-02-23 Microsoft Technology Licensing, Llc Removing personally identifiable data before transmission from a device
US10867610B2 (en) * 2018-05-04 2020-12-15 Microsoft Technology Licensing, Llc Computerized intelligent assistant for conferences
US10825479B2 (en) * 2018-05-11 2020-11-03 Axon Enterprise, Inc. Systems and methods for cross-redaction
US10649727B1 (en) * 2018-05-14 2020-05-12 Amazon Technologies, Inc. Wake word detection configuration
US10839104B2 (en) * 2018-06-08 2020-11-17 Microsoft Technology Licensing, Llc Obfuscating information related to personally identifiable information (PII)
GB2574891B (en) * 2018-06-22 2021-05-12 Advanced Risc Mach Ltd Data processing
US10747894B1 (en) * 2018-09-24 2020-08-18 Amazon Technologies, Inc. Sensitive data management
US11527265B2 (en) * 2018-11-02 2022-12-13 BriefCam Ltd. Method and system for automatic object-aware video or audio redaction
EP3881318B1 (de) * 2018-11-14 2024-01-03 Hewlett-Packard Development Company, L.P. Inhalte auf der basis von richtliniengenehmigungen
US11170761B2 (en) * 2018-12-04 2021-11-09 Sorenson Ip Holdings, Llc Training of speech recognition systems
US11349841B2 (en) * 2019-01-01 2022-05-31 International Business Machines Corporation Managing user access to restricted content through intelligent content redaction
US20210327419A1 (en) * 2020-04-20 2021-10-21 Rovi Guides, Inc. Enhancing signature word detection in voice assistants

Also Published As

Publication number Publication date
WO2022119598A1 (en) 2022-06-09
US20220172700A1 (en) 2022-06-02
CN114930333A (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
DE112021000193T5 (de) Audioprivatsphärenschutz für überwachungssysteme
US11397502B2 (en) Systems and methods for bulk redaction of recorded data
US11496671B2 (en) Surveillance video streams with embedded object data
US11323407B2 (en) Methods, systems, apparatuses, and devices for facilitating managing digital content captured using multiple content capturing devices
US11810350B2 (en) Processing of surveillance video streams using image classification and object detection
US20220417302A1 (en) Peer-to-Peer Media Streaming from an Edge Data Storage Device to a Browser
DE112019002375T5 (de) Techniken zum verwalten der speicherzuordnung in einer speichervorrichtung zur verbesserung des betriebs einer kameraanwendung
CN105430247A (zh) 一种利用摄像设备拍摄照片的方法与设备
US11659140B2 (en) Parity-based redundant video storage among networked video cameras
US10235573B2 (en) Low-fidelity always-on audio/video monitoring
US11741804B1 (en) Redundant video storage among networked video cameras
US11810361B2 (en) Site-based calibration of object detection parameters
US20200104476A1 (en) Method for protecting a camera and a microphone from unauthorized access
DE10248463A1 (de) Systeme und Verfahren zum Erzeugen und Implementieren einer Bilderfassungsprozedur für eine Bilderfassungsvorrichtung
DE112021000195T5 (de) Schwachlichtüberwachungssystem mit dual-videostreams
US11902656B2 (en) Audio sensors for controlling surveillance video data capture
US11736796B1 (en) Workload triggered dynamic capture in surveillance systems
US20230368536A1 (en) Site-Based Calibration of Object Detection Rules
US11917282B2 (en) Usage-based assessment for surveillance storage configuration
Ludik Zooming in on the future of surveillance in mining

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE

Representative=s name: MEWBURN ELLIS LLP, DE

R082 Change of representative

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE