DE112018004043B4 - Übertragung von visuellen daten in echtzeit an einen entfernt befindlichen empfänger - Google Patents

Übertragung von visuellen daten in echtzeit an einen entfernt befindlichen empfänger Download PDF

Info

Publication number
DE112018004043B4
DE112018004043B4 DE112018004043.7T DE112018004043T DE112018004043B4 DE 112018004043 B4 DE112018004043 B4 DE 112018004043B4 DE 112018004043 T DE112018004043 T DE 112018004043T DE 112018004043 B4 DE112018004043 B4 DE 112018004043B4
Authority
DE
Germany
Prior art keywords
video images
regions
remote
area
camera
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.)
Active
Application number
DE112018004043.7T
Other languages
English (en)
Other versions
DE112018004043T5 (de
Inventor
Rafal Konik
James Carey
Jim Chun-Ta Chen
Ryan Rossiter
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112018004043T5 publication Critical patent/DE112018004043T5/de
Application granted granted Critical
Publication of DE112018004043B4 publication Critical patent/DE112018004043B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Durch einen Computer ausgeführtes Verfahren, das aufweist:Empfangen einer Eingabe, die eine Mehrzahl von Bereichen in einem dreidimensionalen Raum identifiziert sowie für jeden Bereich der Mehrzahl von Bereichen mindestens ein entsprechendes Fernzugriffsattribut;Erhalten (604) von Videobildern von mindestens einem Teil des Raumes von einer beweglichen Kamera (103), wobei die Videobilder für eine Anwendung für entfernt erlebtes Sehen erhalten werden;Ermitteln (605) von Bereichen in dem dreidimensionalen Raum, die sich innerhalb eines Sichtfelds der beweglichen Kamera befinden;für jeden Bereich der Mehrzahl von Bereichen, die in den von der beweglichen Kamera erhaltenen Videobildern aufgenommen werden, Verwenden von mindestens einem entsprechenden Fernzugriffsattribut des entsprechenden Bereichs, um die Videobilder durch Verdecken (607) von Videobildern in einem ersten Bereich der Mehrzahl von Bereichen zu ändern, die in den Videobildern aufgenommen werden, während Bilder in einem zweiten Bereich der Mehrzahl von Bereichen, die in den Videobildern aufgenommen werden, nicht verdeckt werden;Bereitstellen (609) der geänderten Videobilder zum Anzeigen in Echtzeit für mindestens einen entfernten Benutzer der Anwendung für entfernt erlebtes Sehen; undErzeugen (601) einer Raumkarte von mindestens einem Teil des dreidimensionalen Raumes, wobei die Raumkarte einen Koordinatenbezugsrahmen in Bezug auf mindestens einen Bezugspunkt definiert, und Identifizieren der Mehrzahl von Bereichen in dem Koordinatenbezugsrahmen;wobei das Erzeugen einer Raumkarte von mindestens einem Teil des dreidimensionalen Raumes aufweist:Empfangen (701) einer Benutzereingabe, die eine Mehrzahl von Bezugspunkten kennzeichnet;Verwenden der Mehrzahl von Bezugspunkten, um einen Anfangspunkt und eine Ausrichtung in einem Koordinatenbezugsrahmen auszuwählen (703);Ermitteln entsprechender Koordinaten jedes Bezugspunkts der Mehrzahl von Bezugspunkten in dem Koordinatenbezugsrahmen;Ermitteln (707) entsprechender Koordinaten, die mindestens einem Bereich der Mehrzahl von Bereichen in dem Koordinatenbezugsrahmen zugehörig sind.

Description

  • TECHNISCHES GEBIET
  • Diese Erfindung bezieht sich allgemein auf digitale Datenverarbeitung und insbesondere auf digitale Datensysteme zum Verwalten einer Übertragung oder eines Streamens von visuellen Daten, die einem entfernt befindlichen Empfänger angezeigt werden.
  • HINTERGRUND
  • In der zweiten Hälfte des zwanzigsten Jahrhunderts setzte ein Phänomen ein, das als Informationsrevolution bezeichnet wird. Die Informationsrevolution stellt eine historische Entwicklung dar, die umfassender ist als ein einzelnes Ereignis oder eine einzelne Maschine, doch keine Einheit verkörpert mehr die Informationsrevolution als der digitale elektronische Computer. Die Entwicklung von Computersystemen ist zweifelsohne eine Revolution gewesen. Jedes Jahr wachsen Computersysteme schneller, speichern mehr Daten und stellen ihren Benutzern mehr Anwendungen bereit. Gleichzeitig sind die Kosten für Datenverarbeitungsressourcen stetig zurückgegangen, sodass Informationen, die noch vor einigen Jahren zu teuer zum Sammeln, Speichern und Verarbeiten waren, nun auf wirtschaftlich praktikable Weise per Computer verarbeitet werden können. Die verringerten Kosten der Informationsverarbeitung führen zu einer Produktivitätssteigerung mit Schneeballeffekt, da Produktgestaltung, Fertigungsprozesse, Ressourcenplanung, Verwaltungsaufgaben und viele andere Arbeiten effizienter durchgeführt werden können.
  • Zu den Anwendungen der digitalen Datenverarbeitungstechnologie gehören Aufnehmen, Speichern, Übertragen und sonstiges Verarbeiten von Bildern sowohl in Form von Standbildern als auch in Form von bewegten Videobildern. Bilder werden heute von einer großen Vielfalt von Anwendungen in der einen oder anderen Form verarbeitet. Der Bedarf an Bildverarbeitung ist so groß, dass Standard-Computersysteme heute mit speziellen Prozessoren und anderer Hardware für diesen Zweck ausgestattet sind, und ein erheblicher Teil des digitalen Datenspeichers wird für das Speichern von Standbildern und bewegten Videobildern verwendet.
  • Verschiedene Anwendungen sind entstanden, die Videodaten in Echtzeit übertragen, um sie einem entfernt befindlichen Empfänger anzuzeigen. Ein Beispiel ist eine Telekonferenzanwendung, bei der in der Regel eine Videokamera an einer festen Position in einem bestimmten Raum angebracht ist und das Videobild des Raumes innerhalb des Sichtfelds der Kamera an einen entfernten Ort übertragen wird, um es einem oder mehreren Konferenzteilnehmern anzuzeigen. Für Telefonkonferenzen und ähnliche Anwendungen waren früher teure Hardware und Software erforderlich, sodass Anzahl und Nutzung entsprechend begrenzt waren. Da die Kosten für Kameras, Prozessoren, Übertragungsbandbreite und zugehörige Ressourcen gesunken sind, haben Anzahl und Verfügbarkeit von Anwendungen, die eine Videobildübertragung beinhalten, in erheblichem Maße zugenommen.
  • Bei einer neueren Art von Anwendung wird das erlebte Sehen eines lokalen Benutzers mit einem entfernten Benutzer in Echtzeit geteilt. Die Kamera wird vom lokalen Benutzer am Körper getragen und ist beispielsweise auf einem tragbaren Gerät angebracht. Wenn der lokale Benutzer sein Sichtfeld ändert, indem er sich in einem Gebäude bewegt, seinen Kopf dreht usw., folgt die Kamera automatisch diesen Bewegungen, sodass das Sichtfeld der Kamera dem des lokalen Benutzers annähernd gleicht. Die von der Kamera aufgenommenen Videobilder werden an den entfernten Benutzer übertragen, damit der entfernte Benutzer sehen kann, was der lokale Benutzer sieht. Es wurde beispielsweise vorgeschlagen, dass eine solche Anwendung für die Ferndiagnose oder -reparatur von Geräten/Einrichtungen verwendet werden kann, bei der der entfernte Benutzer (ein Fachmann) dem lokalen Benutzer (beispielsweise ein Hausbesitzer) Beratung, Analyse und Anleitung bereitstellt.
  • Ein weiteres Beispiel ist eine schnell wachsende Branche für virtuelle Realität, die Anwendungen für virtuelle Realität und Hardwareeinheiten zum Ermöglichen virtueller Realität für Unterhaltungs- oder Geschäftszwecke bereitstellt. Zu den Hardwareeinheiten gehören Headsets für virtuelle Realität, die eine integrierte Kamera, ein Mikrofon und eine Anzeige enthalten können. Die Anzeige kann auf einen transparenten Bildschirm über den Augen des Benutzers projiziert werden, sodass der Benutzer durch den Bildschirm und gleichzeitig die auf die Anzeige projizierten Bilder sehen kann. Alternativ können die angezeigten Bilder auch so projiziert oder angezeigt werden, dass das Sichtfeld des Benutzers verdeckt wird, sodass der Benutzer nur das sehen kann, was von der Anzeige bereitgestellt wird. Eine Anwendung für virtuelle Realität kann es einem entfernten Benutzer ermöglichen, in das Erleben des lokalen Benutzers einzutauchen, indem Videobilder, wie sie vom lokalen Benutzer gesehen werden, in Echtzeit an den entfernten Benutzer übertragen werden. Eine solche virtuelle Realitätsumgebung kann zu Unterhaltungszwecken oder für verschiedene Anwendungen für virtuelle Hausbesuche oder anderes verwendet werden.
  • Die US 2014 / 0 362 163 A1 betrifft eine Technik zur Bereitstellung eines Benutzervideos für eine Online-Konferenz. Das Verfahren umfasst das Empfangen eines Live-Benutzervideosignals von einem Kameragerät. Das Live-Benutzervideosignal definiert ein Sichtfeld. Das Verfahren umfasst ferner das automatische Ermitteln des anfänglichen Live-Inhalts eines Präsentationsbereichs innerhalb des Sichtfelds und des anfänglichen Live-Inhalts eines Privatbereichs (z. B. eines Hintergrundbereichs) innerhalb des Sichtfelds. Das Verfahren umfasst ferner das Erzeugen eines geänderten Benutzer-Videosignals als Benutzervideosignal für die Online-Konferenz, das auf dem Live-Benutzervideosignal beruht. Das modifizierte Videosignal beinhaltet (i) den anfänglichen Live-Inhalt des Präsentationsbereichs innerhalb des Sichtfelds und (ii) einen geänderten Videoinhalt anstelle des anfänglichen Live-Inhalts des Privatbereichs innerhalb des Sichtfelds. Ein solcher Vorgang formt effektiv einen virtuellen Vorhang, in dem alles, was sich im Hintergrund befindet, verborgen ist.
  • Die US 2014 / 0 275 760 A1 betrifft ein Bilddarstellungssystem mit erweiterter Realität, das mit einem chirurgischen Robotersystem implementiert werden kann. Das chirurgische Robotersystem kann ein Slave-System beinhalten, das eine chirurgische Operation ausführt, ein Master-System, das die chirurgische Operation des Slave-Systems steuert, ein Bildgebungssystem, das ein virtuelles Bild des Inneren eines Patientenkörpers erzeugt, und ein Bilddarstellungssystem der erweiterten Realität, das eine Kamera umfasst, die ein reales Bild mit einer Vielzahl von Markierungen erfasst, die am Körper des Patienten oder an einem menschlichen Körpermodell angebracht sind. Das Bildanzeigesystem mit erweiterter Realität kann einen Bildgenerator mit erweiterter Realität beinhalten, der die Vielzahl von Markierungen in dem realen Bild erkennt, die Position und Blickrichtung der Kamera unter Verwendung der erkannten Markierungen schätzt und ein Bild mit erweiterter Realität durch Überlagerung eines Bereichs des virtuellen Bildes über das reale Bild erzeugt, und eine Darstellung, die das Bild mit erweiterter Realität anzeigt.
  • KURZDARSTELLUNG
  • Die Erfindung betrifft ein durch einen Computer ausgeführtes Verfahren, ein Computerprogrammprodukt, eine Datenverarbeitungsvorrichtung, deren Merkmalen in den entsprechenden Hauptansprüchen angegeben sind. Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.
  • Eine beispielhafte Anwendung für entfernt erlebtes Sehen, die von einer beweglichen Kamera erfasste Videodaten an einen entfernt angeordneten Empfänger in Echtzeit überträgt, umfasst einen Filter, der einen oder mehrere zuvor identifizierte Bereiche im Raum verdeckt, wenn die Bereiche in das Sichtfeld der Kamera kommen.
  • In einer oder mehreren beispielhaften Ausführungsformen, handelt es sich bei der Anwendung für entfernt erlebtes Sehen um eine gemeinsam genutzte Anwendung für erlebtes Sehen, bei der die Kamera an einem tragbaren Gerät eines lokalen Benutzers angebracht ist. Wenn der lokale Benutzer die Ausrichtung und/oder die Position der Kamera ändert, identifiziert die Anwendung automatisch Bereiche, die dem entfernt angeordneten Empfänger, der das Gleiche wie der lokale Benutzer sieht, nicht angezeigt werden sollen, und bewirkt, dass diese Bereiche in dem an den entfernt angeordneten Empfänger übertragenen Videobildstrom verdeckt werden.
  • In einer oder mehreren beispielhaften Ausführungsformen, ist die Anwendung für entfernt erlebtes Sehen dafür vorgesehen, im Haus eines Benutzers verwendet zu werden, und der Filter schützt private Bereiche oder Objekte im Haus davor, für Dritte sichtbar gemacht zu werden.
  • In einer oder mehreren beispielhaften Ausführungsformen, umfasst die Anwendung für entfernt erlebtes Sehen weiterhin ein Abbildungsdienstprogramm, mit dem ein Benutzer die verschiedenen Bereiche eines Raumes abbildet, z.B. ein Raum in einem Haus oder um ein Haus, ein Geschäft oder ein anderer Raum, in dem die Anwendung verwendet wird, und definiert verschiedene Ebenen des Fernzugriffs für unterschiedliche Bereiche des Raumes.
  • In einer oder mehreren beispielhaften Ausführungsformen, definiert ein Benutzer ein oder mehrere Standard-Fernzugriffsattribute für den Raum und definiert eine oder mehrere Ausnahmen vom Standard für einen oder mehrere identifizierten Bereiche des Raumes. Die Ausnahmen können die Möglichkeit eines entfernten Benutzers, Videobilder in den ausgenommenen Bereichen zu sehen, erweitern oder einschränken. So kann ein Benutzer beispielsweise festlegen, dass der gesamte Raum mit Ausnahme eines oder mehrerer definierter Bereiche für mindestens eine Klasse von entfernten Betrachtern nicht sichtbar sein soll.
  • Der Raum kann beispielsweise vor dem Ausführen der Anwendung für entfernt erlebtes Sehen abgebildet werden, indem Videobilder an den entfernten Benutzer übertragen werden, oder gleichzeitig mit dem Übertragen von Videobildern an den entfernten Benutzer. Das Abbilden kann durchgeführt werden, indem mit aktivierter Kamera, Richtungserfassungsvorrichtung, Positionserfassungsvorrichtung und/oder Entfernungsmessvorrichtung durch die verschiedenen Bereiche des Raumes gegangen wird. Die Anwendung kann während des Durchgehens mithilfe von Sensordaten automatisch eine Karte des Raumes erzeugen. Der Benutzer kann für jeden von mehreren Bereichen durch Sprachbefehl, Tasteneingabe, Handzeichen oder Ähnliches eine entsprechende Ebene von Privatbereich bestimmen.
  • In einer beispielhaften Ausführungsform handelt es sich bei der Anwendung für entfernt erlebtes Sehen um eine Anwendung für einen virtuellen Hausbesuch, bei der ein lokaler Benutzer in einem Haus (z.B. ein Hausbesitzer oder Mieter) einem entfernten Benutzer Videobilder bereitstellt und von diesem Unterstützung erhält. Der Zweck der Anwendung besteht darin, es dem lokalen Benutzer zu ermöglichen, Dienstleistungen des entfernten Benutzers bereitgestellt zu bekommen, ohne dass der entfernte Benutzer tatsächlich anwesend sein muss. Bei dem entfernten Benutzer kann es sich um einen Fachmann handeln, der diese Dienstleistungen gewerblich bereitstellt, oder es kann sich um einen Freund, ein Familienmitglied oder Ähnliches handeln, der/das nur über begrenzte Fachkenntnisse verfügt. Beispielsweise und nicht einschränkend können die bereitgestellten Dienstleistungen die Reparatur oder Modernisierung von Haus oder Einrichtungen (z.B. Installationsarbeiten, Elektroarbeiten, Reparatur von Geräten, Schreinerarbeiten usw.) oder zahlreiche andere Dienstleistungen wie z.B. medizinische/pflegerische Dienstleistungen einschließlich Notfalldienstleistungen, Bildungsdienstleistungen, Gartenbaudienstleistungen, tierärztliche Dienstleistungen oder andere Dienstleistungen im Bereich der Haustierpflege, Sporttraining, gastronomische Dienstleistungen usw. umfassen. In einer Ausführungsform trägt der lokale Benutzer ein Gerät, an dem die Kamera angebracht ist und mit dem der entfernte Benutzer das sehen kann, was der lokale Benutzer sieht. Der entfernte Benutzer kann den lokalen Benutzer anweisen, bestimmte Maßnahmen durchzuführen, in bestimmte Richtungen zu sehen usw., um Beratung und Unterstützung bereitzustellen. Wenn kein Videobild-Filtermechanismus vorhanden ist, wie er hierin offengelegt wird, kann der lokale Benutzer dem entfernten Benutzer auf diese Weise Informationen privater oder sensibler Natur preisgeben, die nicht mit der vom entfernten Benutzer angeforderten Dienstleistung in Zusammenhang stehen oder nicht benötigt werden, um diese Dienstleistung durchzuführen.
  • In einer alternativen beispielhaften Ausführungsform ist ein virtueller Hausbesuch nicht auf lokale Benutzer beschränkt, die Hausbesitzer oder Hausbewohner sind, sondern kann dazu verwendet werden, verschiedene Dienstleistungen für Unternehmen bereitzustellen. Dazu können einige der gleichen Dienstleistungen gehören, die von Hausbesitzern genutzt werden (Installationsarbeiten, Elektroarbeiten, Gartenbauarbeiten usw.), oder es kann sich um andere Dienstleistungen handeln, die im Allgemeinen nur von Unternehmen genutzt werden, wie z.B. Prozessüberwachung oder -analyse, Mitarbeiterschulung oder - zertifizierung, Prüfung der Einhaltung geltender Gesetze, Arbeitsverträge usw.
  • In einer anderen beispielhaften Ausführungsform handelt es sich bei der Anwendung für entfernt erlebtes Sehen um ein Spiel oder eine andere Art von Unterhaltung, das/die von Kindern oder Erwachsenen gespielt werden kann, die Videoinformationen gemeinsam nutzen, wobei sich die Teilnehmer frei durch den Raum bewegen und in Ermangelung eines Videobild-Filtermechanismus wie hierin offengelegt versehentlich Videobilder sensibler oder privater Natur aufnehmen und übertragen können.
  • In einer alternativen beispielhaften Ausführungsform kann eine Filtervorrichtung auch einen Audioteil eines an einen entfernten Benutzer gesendeten Videosignals filtern.
  • Durch selektives Filtern von Bereichen eines Raumes nach zuvor festgelegten Richtungen wird das Risiko einer versehentlichen oder absichtlich herbeigeführten Offenlegung privater oder sensibler Informationen beim Bereitstellen von Videobildern für entfernte Betrachter erheblich verringert und dadurch der Privatbereich eines Benutzers verbessert. Darüber hinaus können solche Verbesserungen des Privatbereichs dazu beitragen, dass verschiedene Anwendungen für virtuelle Realität oder andere Anwendungen, die Fernvideobilder bereitstellen, breitere Akzeptanz und Nutzung finden; auf diese Weise können Dienstleistungen wirksamer bereitgestellt und erhalten, Kosten gesenkt oder ein Unterhaltungserlebnis einfach verbessert werden.
  • Die Einzelheiten der vorliegenden Erfindung können - sowohl was ihren Aufbau als auch ihre Funktionsweise betrifft - am besten anhand der Begleitzeichnungen verstanden werden, in denen gleiche Bezugszahlen gleichen Teilen entsprechen und in denen:
  • Figurenliste
    • 1 eine Umgebung für einen virtuellen Hausbesuch veranschaulicht, um eine Anwendung für entfernt erlebtes Sehen gemäß verschiedenen Ausführungsformen auszuführen.
    • 2 ein Übersichts-Blockschaubild der wichtigsten Hardwarekomponenten eines repräsentativen Universal-Computersystems ist, das verwendet werden kann, um die Aufgabe mehrerer verschiedener Funktionselemente gemäß verschiedenen Ausführungsformen durchzuführen.
    • 3 eine konzeptionelle Darstellung bestimmter Softwarekomponenten im Speicher eines lokalen Computersystems ist, das eine Anwendung für entfernt erlebtes Sehen gemäß verschiedenen Ausführungsformen unterstützt.
    • 4 eine konzeptionelle Darstellung einer Datenstruktur einer Raumkarte ist, um eine Anwendung für entfernt erlebtes Sehen gemäß verschiedenen Ausführungsformen zu unterstützen.
    • 5 eine konzeptionelle Darstellung einer Profildatenstruktur ist, um eine Anwendung für entfernt erlebtes Sehen gemäß verschiedenen Ausführungsformen zu unterstützen.
    • 6 ein Ablaufplan ist, der einen allgemeinen Prozess veranschaulicht, der von einer Anwendung für entfernt erlebtes Sehen gemäß verschiedenen Ausführungsformen durchgeführt wird.
    • 7 ein Ablaufplan ist, der einen Prozess zum Erzeugen einer Raumkarte des lokalen Raumes ausführlicher veranschaulicht, in dem das entfernt erlebte Sehen gemäß verschiedenen Ausführungsformen durchgeführt wird.
    • 8 ein Ablaufplan ist, der einen Prozess zum Ermitteln eines Bezugsrahmens für x-, y-, z-Koordinaten und Koordinaten mehrerer Bezugspunkte in diesem Bezugsrahmen gemäß verschiedenen Ausführungsformen ausführlicher veranschaulicht.
    • 9 ein Ablaufplan ist, der einen Prozess zum Ermitteln definierter Bereiche eines Raumes, die sich innerhalb des Sichtfelds einer Kamera befinden, gemäß verschiedenen Ausführungsformen ausführlicher veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Umgebung für entfernt erlebtes Sehen
  • Mit Bezug auf die Zeichnung, in der gleiche Zahlen gleiche Teile in den verschiedenen Ansichten darstellen, zeigt 1 eine allgemeine Darstellung einer beispielhaften Umgebung für einen virtuellen Hausbesuch, in der eine Anwendung, die auf einem oder mehreren Computersystemen ausgeführt wird, ein entfernt erlebtes Sehen gemäß einer oder mehreren Ausführungsformen unterstützt. Mit Bezug auf 1 ist eine lokale Umgebung 101 vorhanden, in der sich ein lokaler Benutzer 102 in einem Raum bewegen und Objekte in diesem Raum wahrnehmen kann. In einer beispielhaften Ausführungsform ist die lokale Umgebung der Raum im Haus eines Benutzers, wobei es sich bei der lokalen Umgebung auch um einen anderen Raum handeln kann, wie beispielsweise einen Raum in einem Geschäftsgebäude. Der lokale Benutzer 102 richtet eine bewegliche Videokamera 103 auf ein oder mehrere Objekte 120 von Interesse in der Umgebung des lokalen Benutzers. In dem Beispiel von 1 umfassen die Objekte von Interesse ein Waschbecken und die zugehörigen Rohrleitungskomponenten, wobei das Objekt von Interesse eine Vielzahl von Objekten in der lokalen Umgebung umfassen kann. Die von der Kamera 103 erzeugten Videodaten werden an das lokale Computersystem 105 übertragen, das eine Anwendung für entfernt erlebtes Sehen unterstützt, bei der es sich in diesem Fall um eine Anwendung für einen virtuellen Hausbesuch handelt, die die Videodaten über das Netzwerk 106 weiter an das entfernt angeordnete Computersystem 107 überträgt. Das entfernt angeordnete System 107 umfasst eine Anzeige 108, die dem entfernten Benutzer 109 die von der Kamera 103 erhaltenen Videobilder bereitstellt.
  • In einer oder mehreren Ausführungsformen werden eine oder mehrere Bezugsmarkierungen 112 in der lokalen Umgebung angebracht, damit die Anwendung die Position und/oder die Ausrichtung der Kamera 103 ermitteln kann. In einer oder mehreren alternativen Ausführungsformen wird die Position und/oder die Ausrichtung der Kamera 103 mit einem alternativen Mittel ermittelt, bei dem keine Bezugsmarkierungen erforderlich sind.
  • In einer oder mehreren Ausführungsformen gehört die Videokamera 103 zu einer tragbaren Vorrichtung 104, mit der die Kamera in einer Ausrichtung angebracht wird, die dem Sichtfeld oder der Blickrichtung des Trägers (d.h. des lokalen Benutzers) annähernd gleicht, und tauscht über eine drahtlose Datenübertragungsverbindung mit dem lokalen System 105 Daten aus. Die Videokamera 103 kann beispielsweise Teil einer am Kopf getragenen Kopfbedeckungsvorrichtung sein, die den Kopfbewegungen des Trägers folgt, um der Blickrichtung des Trägers nahezukommen. Eine solche Vorrichtung kann Sensoren zum Erkennen der Position und der Ausrichtung der Videokamera enthalten. Bei einer solchen Vorrichtung kann es sich um eine einfache Kamera handeln, die so angebracht ist, dass sie mit der Ausrichtung des Kopfes des Trägers übereinstimmt. Alternativ kann es sich um eines der verschiedenen sogenannten Headsets für virtuelle Realität handeln, die die Augen des Trägers bedecken und bei denen die eigene Sicht des Benutzers ganz oder teilweise durch von einem Computer erzeugte Daten, die dem Träger durch das Headset angezeigt werden, verdeckt oder verändert wird. Ein solches Headset kann zum Beispiel die Sichtlinie des Trägers vollständig verdecken, sodass der Träger nur die von der Videokamera erzeugten Bilder sehen kann (und der entfernte Benutzer und der lokale Benutzer somit genau dieselben Bilder sehen), oder es kann durch einen Computer erzeugte Bilder über das legen, was der Träger durch einen transparenten Bildschirm sieht, sodass dem Benutzer die Sicht nur teilweise genommen wird. Ein solches Headset kann Sensoren zum Nachverfolgen der Augenbewegung des Trägers enthalten, um eine größere Genauigkeit zu erzielen.
  • Die Anwendung für entfernt erlebtes Sehen stellt vorzugsweise einen gewissen Grad von Zweiwege-Datenübertragung zwischen dem lokalen Benutzer und dem entfernten Benutzer bereit. Ein Mikrofon kann beispielweise am Headset 104 des lokalen Benutzers 102 und ein weiteres Mikrofon an dem entfernt angeordneten System 107 angebracht werden, damit der lokale Benutzer 102 und der entfernte Benutzer 109 über eine Sprachverbindung verbunden werden können, sodass jeder die Stimme des anderen hören und darauf reagieren kann. Es ist ferner möglich, dass Videobilder in beide Richtungen gesendet werden, sodass der lokale Benutzer Videobilder des entfernten Benutzers auf einer mit dem lokalen System 105 verbundenen Anzeige 110 sehen kann. Der entfernte Benutzer kann zum Beispiel vor einer stationären Videokamera positioniert sein, damit der lokale Benutzer ihn sehen kann. Die Zweiwege-Datenübertragung ist in einer solchen Anwendung im Allgemeinen nützlich, damit der lokale Benutzer Anweisungen oder Ratschläge von dem entfernten Benutzer erhalten und darauf reagieren kann. Diese Anweisungen können insbesondere Anforderungen enthalten, um das Sichtfeld des Benutzers auf bestimmte Dinge zu lenken, damit der entfernte Benutzer verschiedene Objekte in der Umgebung des lokalen Benutzers sehen kann.
  • Bei dem Netzwerk 106 kann es sich um das Internet oder ein anderes Netzwerk oder eine Kombination von Netzwerken handeln. In einer oder mehreren Ausführungsformen unterstützt ein mit dem Netzwerk 106 verbundenes Serversystem 111 die Anwendung für entfernt erlebtes Sehen. Das Serversystem 111 kann zum Beispiel eine Website unterhalten, über die sich mehrere entfernt angeordnete Clients anmelden und Verbindungen zum Übertragen von Videodaten und anderen Daten in Echtzeit als Teil einer Anwendung für entfernt erlebtes Sehen herstellen. In einer oder mehreren Ausführungsformen werden das Videosignal und/oder andere Datenübertragungen zwischen dem lokalen System 105 und dem entfernt angeordneten System 108 über das Serversystem 111 geleitet. In einer oder mehreren anderen Ausführungsformen fungiert das Serversystem als Proxy zum Überprüfen der Identitäten der Parteien und Aufbauen einer oder mehrerer Verbindungen, und sobald die Verbindungen aufgebaut sind, können Videodaten und/oder andere Daten direkt zwischen dem lokalen System und dem entfernt angeordneten System übertragen werden, ohne den Server zu durchlaufen. Das Serversystem 111 wird hierin als ein einzelnes Computersystem dargestellt und beschrieben, das verschiedene Funktionen ausführt. Es wird jedoch darauf hingewiesen, dass die von einem Serversystem ausgeführten Schritte alternativ auch von mehreren Computersystemen ausgeführt werden können und in verschiedenen Cluster-Computing-Anordnungen oder im Cloud-Computing bekannt sind.
  • Hierin sind zur Veranschaulichung zwar ein einzelner lokaler Benutzer und ein einzelner entfernter Benutzer dargestellt und beschrieben, es kann jedoch mehrere lokale und/oder mehrere entfernte Benutzer geben, die das entsprechende lokale und entfernt angeordnete System gemeinsam nutzen oder verschiedene entsprechende Systeme verwenden können. Außerdem können sich mehrere entfernt angeordnete Systeme an mehreren verschiedenen, voneinander entfernten Orten befinden.
  • In 1, in der ein lokaler Benutzer Hilfe bei einer Haushaltsreparatur von einem entfernten Benutzer erhält, ist zwar eine beispielhafte Ausführungsform eines virtuellen Hausbesuchs veranschaulicht, es ist jedoch offensichtlich, dass eine Anwendung für entfernt erlebtes Sehen gemäß der vorliegenden Erfindung nicht zwingend auf eine Ausführungsform eines virtuellen Hausbesuchs beschränkt ist und verschiedene alternative Ausführungsformen umfassen kann, wozu gehören kann, dass der entfernte Benutzer dem lokalen Benutzer andere Dienstleistungen bereitstellt, oder zu der Spiele oder andere Unterhaltungsformen gehören können, bei denen die verschiedenen Benutzer in einer Peer-to-Peer-Beziehung handeln und sich gegenseitig unterhalten, oder zu der verschiedene andere Anwendungen gehören können.
  • Hardwarekomponenten des Computersystems
  • 2 ist ein Übersichts-Blockschaubild der wichtigsten Hardwarekomponenten eines repräsentativen Universal-Computersystems 200. In einer oder mehreren Ausführungsformen sind das lokale Computersystem 105, das entfernt angeordnete Computersystem 107 und das Server-Computersystem 111 jeweils physisch als ein oder mehrere Universal-Computersysteme ausgeführt, wobei das System 200 eine Verkörperung eines solchen Universal-Computersystems darstellt.
  • Das Computersystem 200 enthält einen oder mehrere programmierbare Universalprozessoren (CPU) 201, die Anweisungen ausführen und Daten aus dem Hauptspeicher 202 verarbeiten. Bei dem Hauptspeicher 202 handelt es sich vorzugsweise um einen flüchtigen Direktzugriffsspeicher, der mindestens ein und in der Regel mehrere Halbleiter-Chipmodule mit integrierter Schaltung enthält, die verschiedene Speichertechnologien verwenden, in denen Daten aus dem Speicher oder auf andere Weise zum Verarbeiten durch die CPU(s) 201 geladen werden.
  • Ein oder mehrere Datenübertragungsbusse 205 stellen einen Datenübertragungspfad zum Übertragen von Daten zwischen der/den CPU(s) 201, dem Hauptspeicher 202 und verschiedenen Schnittstelleneinheiten 211, 212, 213 bereit, die auch als E/A-Prozessoren (EAP) oder E/A-Adapter (EAA) bezeichnet werden können. Die Schnittstelleneinheiten unterstützen die Datenübertragung mit verschiedenen Speichern, E/A-Einheiten und/oder Netzwerken. Die Speicherschnittstelleneinheit(en) 211 unterstützt/unterstützen beispielsweise ein Anschließen von einer oder mehreren Speichereinheiten 221 bis 223, die ein nichtflüchtiges Speichern von Daten bereitstellen, die bei Bedarf in den Speicher geladen werden können. Diese Speichereinheiten können bekannte, sich drehende magnetische Festplattenspeichereinheiten, Halbleitereinheiten (SSD), wechselbare Speicherkarten, optische Speicher, Flash-Speicher usw. umfassen und können ferner netzgebundene Speicher (network attached storage, NAS), über ein Speichernetzwerk (storage area network, SAN) verbundene Einheiten und/oder Anordnungen von Plattenlaufwerken und/oder andere Speichereinheiten umfassen, die so konfiguriert sind, dass sie einem Host als eine einzige große Speichereinheit erscheinen. Der Speicher kann außerdem Cloud-Speichereinheiten umfassen, auf die über ein oder mehrere Netzwerke zugegriffen werden kann. Die E/A-Einheitenschnittstelleneinheit(en) 212 kann/können ein Anschließen verschiedener anderer Arten von E/A-Einheiten unterstützen, wie z.B. Benutzerterminals, Anzeigen, Tastaturen oder andere Eingabeeinheiten, Drucker usw., wobei darauf hingewiesen wird, dass andere oder zusätzliche Arten von E/A-Einheiten verwendet werden können. Der/die Netzwerk-Schnittstellenadapter 213 kann/können Verbindungen zu einem oder mehreren externen Netzwerken für die Datenübertragung mit einer oder mehreren anderen digitalen Einheiten unterstützen, und insbesondere zum Netzwerk 106 für die Datenübertragung mit den in 1 dargestellten Einheiten. Der/die Netzwerkadapter 213 kann/können redundante Verbindungen zu einem einzelnen Netzwerk unterstützen oder mit separaten Netzwerken verbunden sein, die miteinander Daten austauschen können. Zu diesen externen Netzwerken gehören vorzugsweise das Internet, und dazu können ein oder mehrere Zwischennetzwerke wie z.B. lokale Netzwerke gehören, über die die Datenübertragung mit dem Internet erfolgt.
  • Es wird darauf hingewiesen, dass 2 die repräsentativen, wichtigsten Komponenten des Universal-Computersystems 200 in einer Übersicht darstellen soll, dass einzelne Komponenten eine größere Komplexität aufweisen können als in 2 dargestellt, dass andere oder zusätzliche Komponenten als oder zusätzlich zu den in 2 gezeigten vorhanden sein können, dass die Anzahl, Art und Konfiguration dieser Komponenten variieren kann und dass ein komplexes Computersystem in der Regel mehr Komponenten aufweist als in 2 dargestellt. Mehrere bestimmte Beispiele für diese zusätzliche Komplexität oder zusätzliche Änderungen werden hierin offenbart, wobei darauf hingewiesen wird, dass diese nur als Beispiel dienen und nicht unbedingt die einzigen dieser Änderungen darstellen.
  • In 2 ist zwar nur eine einzelne CPU 201 zur Veranschaulichung dargestellt, das Computersystem 200 kann jedoch - wie in der Technik bekannt - mehrere CPUs enthalten. Der Hauptspeicher 202 ist in 2 zwar als eine einzelne monolithische Entität dargestellt, der Speicher 202 kann tatsächlich jedoch - wie in der Technik bekannt - verteilt und/oder hierarchisch sein. Der Speicher kann beispielsweise aus mehreren Ebenen von Zwischenspeichern bestehen, und diese Zwischenspeicher können weiter nach Funktionen unterteilt sein, sodass ein Zwischenspeicher Anweisungen enthält, während ein anderer Zwischenspeicher Nichtanweisungsdaten enthält, die von dem Prozessor oder den Prozessoren verwendet werden. Der Speicher kann ferner verteilt und verschiedenen CPUs oder CPU-Sätzen zugehörig sein, wie es von verschiedenen sogenannten NUMA-Computerarchitekturen (NUMA = Non-Uniform Memory Access) bekannt ist. Die Datenübertragungsbusse 205 sind in 2 zwar als eine einzelne Entität dargestellt, tatsächlich erfolgt die Datenübertragung zwischen verschiedenen Systemkomponenten in der Regel über eine komplexe Hierarchie von Bussen, Schnittstellen usw., wobei für die Datenübertragungen zwischen der/den CPU(s) 201 und dem Speicher 202 schnellere Pfade und für die Datenübertragungen mit den E/A-Schnittstelleneinheiten 211 bis 213 langsamere Pfade verwendet werden. Die Busse 205 können in verschiedenen Formen angeordnet werden, beispielsweise als Punkt-zu-Punkt-Verbindungen in hierarchischen, Stern- oder Web-Konfigurationen, mehreren hierarchischen Bussen, parallelen und redundanten Pfaden usw. Wie in einer NUMA-Architektur bekannt ist, sind die Datenübertragungspfade beispielsweise auf Grundlage von Knoten angeordnet. Die Busse können z.B. einen PCI-Bus nach Industriestandard oder eine andere geeignete Bustechnologie verwenden. Während mehrere E/A-Schnittstelleneinheiten gezeigt werden, die die Busse 205 von den verschiedenen Datenübertragungspfaden trennen, die zu den verschiedenen E/A-Einheiten führen, ist es alternativ möglich, einige oder alle E/A-Einheiten direkt mit einem oder mehreren Systembussen zu verbinden. 1 stellt das Netzwerk 106 zwar als eine einzelne Entität dar, in einer oder mehreren Ausführungsformen kann jedoch ein separates Netzwerk oder ein separater Speicherbus für die Datenübertragung mit einem oder mehreren gemeinsam genutzten Speicherservern vorhanden sein, und diese Datenübertragung kann durch eine oder mehrere zweckbestimmte Speicherschnittstelleneinheiten 211 gesteuert werden, die von den allgemeinen Netzwerkadaptern 213 getrennt sind.
  • Das in 2 dargestellte Computersystem 200 kann mehrere angeschlossene Terminals umfassen, wie sie für ein „Großrechner“-Computersystem für mehrere Benutzer üblich sein können. Handelt es sich bei dem Computersystem 200 um ein lokales Computersystem 105 für den persönlichen Gebrauch in der Wohnung eines Benutzers, handelt es sich in der Regel um eine eigenständige Einheit mit einer einzigen Anzeige 110 wie z.B. ein Desktop- oder Laptop-Personal-Computer. Handelt es sich bei dem Computersystem 200 um ein Server-Computersystem 111, kann es nur eine begrenzte Anzahl von Terminals oder sogar nur ein einziges Terminal z.B. als Wartungsschnittstelle für einen Systemadministrator oder Ähnliches enthalten, oder in einigen Fällen kann es gar kein Terminal enthalten, wobei administrative Funktionen aus der Ferne ausgeführt werden. Handelt es sich bei dem Computersystem 200 um ein entfernt angeordnetes Computersystem 107, können seine Größe und Konfiguration von der Größe eines Unternehmens abhängen, das den entfernten Benutzer 109 beschäftigt; beispielsweise kann ein kleines Unternehmen wie ein einzelner Installateur oder Handwerker über einen eigenständigen Personal Computer wie einen Desktop oder Laptop verfügen, während größere Unternehmen komplexere Systeme mit mehreren Terminals oder Computern verwenden können, die über ein lokales Netzwerk verbunden sein können. Es wird darauf hingewiesen, dass die Darstellung von 2 die allgemeinen Hardwarefähigkeiten eines Computersystems veranschaulichen soll, und dass viele Änderungen in der spezifischen Konfiguration möglich sind. Darüber hinaus werden hierin zwar bestimmte Funktionen zur Veranschaulichung als in einem einzelnen Computersystem ausgeführt beschrieben, einige oder alle dieser Funktionen können alternativ jedoch auch mithilfe eines verteilten Netzwerks von miteinander Daten austauschenden Computersystemen implementiert werden, in dem verschiedene hierin beschriebene Funktionen oder Schritte auf verschiedenen Computersystemen durchgeführt werden.
  • Das lokale System 105, das entfernt angeordnete System 107 und das Serversystem 111 sind in den 1 und 2 zwar als vollständig unabhängige Systeme dargestellt, einzelne oder alle dieser Entitäten können jedoch als entsprechende logische Partitionen eines oder mehrerer logisch partitionierter Computersysteme implementiert werden. Bei den CPUs 201 kann es sich beispielsweise tatsächlich um einen entsprechenden Teil einer Verarbeitungsressourcenkapazität eines größeren logisch partitionierten Computersystems handeln, die der entsprechenden logischen Partition zugeordnet ist; und der Speicher 202 kann tatsächlich ein entsprechender Teil einer Speicherkapazität eines größeren logisch partitionierten Computersystems sein, die der entsprechenden logischen Partition zugeordnet ist.
  • Zwar wurden verschiedene Systemkomponenten allgemein beschrieben und gezeigt, es wird jedoch darauf hingewiesen, dass ein typisches Computersystem viele andere, nicht dargestellte Komponenten enthält, die für das Verständnis der vorliegenden Erfindung nicht wesentlich sind.
  • Anwendung für entfernt erlebtes Sehen
  • 3 ist eine konzeptionelle Darstellung, die bestimmte Softwarekomponenten im Speicher 300 eines lokalen Computersystems 105 ausführlich zeigt, das eine Anwendung für entfernt erlebtes Sehen und insbesondere eine Anwendung für einen virtuellen Hausbesuch gemäß verschiedenen Ausführungsformen unterstützt. Wie in 3 gezeigt, umfasst ein repräsentativer lokaler Systemspeicher einen Betriebssystemkern 301, eine lokale Kopie oder einen Agenten einer Anwendung 311 für entfernt erlebtes Sehen und bestimmte gemeinsam genutzte Daten 321 einer Anwendung für entfernt erlebtes Sehen.
  • Bei dem Betriebssystemkern 301 handelt es sich um ausführbaren Code und Zustandsdaten, die - wie in der Technik bekannt - verschiedene Softwarefunktionen niedrigerer Ebene wie Einheitenschnittstellen, Verwaltung von Speicherseiten, Verwaltung und Verteilung mehrerer Aufgaben, gemeinsame Dienste für Anwendungsprogramme usw. bereitstellen. Der Betriebssystemkern 301 enthält insbesondere vorzugsweise einen oder mehrere Netzwerkadaptertreiber 302 zum Durchführen der Datenübertragung mit einem oder mehreren Netzwerken, darunter das Netzwerk 106, über die Netzwerkschnittstelle(n) 213. Der Betriebssystemkern enthält weiterhin vorzugsweise einen oder mehrere E/A-Einheitentreiber zum Durchführen der Datenübertragung mit der Videokamera 103, dem Mikrofon, den Positions-/Ausrichtungssensoren, der Anzeige oder anderen E/A-Einheiten; diese sind in 3 als Headset-Treiber 303 dargestellt, wobei darauf hingewiesen wird, dass es ein einzelnes integriertes Headset mit einer einzelnen Schnittstelle oder mehrere E/A-Einheiten mit separaten Schnittstellen geben kann.
  • Die Anwendung 311 für entfernt erlebtes Sehen weist ausführbaren Code zum Durchführen verschiedener Funktionen auf, um die Anwendung für entfernt erlebtes Sehen zu unterstützen. Die Anwendung für entfernt erlebtes Sehen führt beispielsweise verschiedene herkömmliche Funktionen durch, so beispielsweise ein Empfangen von Video- und/oder Audiodaten von der Kamera 103 oder einem lokalen Mikrofon, Übertragen von Video-/Audiodaten an das Serversystem 111 und/oder das entfernt angeordnete System 108 und Anzeigen/Präsentieren von Video-/Audiodaten, die von dem entfernt angeordneten System 108 empfangen wurden, für den Benutzer über die Anzeige 110 oder eine andere E/A-Einheit. Die Anwendung 311 für entfernt erlebtes Sehen erzeugt und/oder bezieht sich auf verschiedene Anwendungsdaten 321 für entfernt erlebtes Sehen. In einer oder mehreren Ausführungsformen enthält die Anwendung 311 für entfernt erlebtes Sehen außerdem eine Ausrichtungsfunktion 312, eine Raumkarten-Erzeugungsfunktion 313, eine Laufzeit-Abbildungsfunktion 314 und eine Verdeckungsfunktion 315.
  • Die Ausrichtungsfunktion 312 empfängt Daten von der Kamera 103 und/oder einem oder mehreren lokalen Positionssensoren und ermittelt anhand der Sensordaten die Position und Ausrichtung des Fokus der Kamera 103. Die Raumkarten-Erzeugungsfunktion 313 erzeugt eine Karte eines lokalen dreidimensionalen (3-D) Raumes und speichert eine Raumkarte 324 in den Anwendungsdaten 321 für entfernt erlebtes Sehen. Die Laufzeit-Abbildungsfunktion 314 ermittelt zur Laufzeit, welche Merkmale in der Raumkarte sich derzeit im Sichtfeld der Kamera befinden, und bildet deren Positionen auf das Videobild ab. Die Verdeckungsfunktion 315 verwendet zuvor festgelegte Profildaten 323, um Bereiche in dem 3-D-Raum zu identifizieren, die durch die Raumkarte 324 abgebildet werden und die verdeckt werden sollen, damit sie ein entfernter Benutzer nicht sieht, und ändert die Rohvideodaten, um Videobilder oder Teile davon zu verdecken, die zu verdeckende Bereiche umfassen.
  • In einer oder mehreren Ausführungsformen umfassen die Anwendungsdaten 321 für entfernt erlebtes Sehen die Zustandsdaten 322, die Profildaten 323, die Raumkarte 324, den Puffer 325 für Rohvideodaten und den Puffer 326 für verarbeitete Videodaten. Die Zustandsdaten 322 umfassen Daten, die den aktuellen Programmzustand spezifizieren, und insbesondere Daten, die die aktuelle Position/Ausrichtung der Kamera 103 spezifizieren. Die Zustandsdaten können verschiedene zusätzliche Daten enthalten, die für die Funktion der Anwendung für entfernt erlebtes Sehen erforderlich sind, wie z.B. Identifizieren von Parteien, den Status der Verbindungen, Pufferzeiger, die anzeigen, welche Daten gesendet und empfangen wurden, usw. Profildaten können verschiedene Daten enthalten, die bevorzugte oder Standard-Funktionsparameter der Anwendung für entfernt erlebtes Sehen spezifizieren. Profildaten enthalten in einer oder mehreren Ausführungsformen vor allem Daten, die spezifizieren, wie Videodaten verschiedener durch die Raumkarte 324 definierter Raumbereiche verschiedenen Benutzern präsentiert werden sollen. Die Raumkarte 324 enthält Daten, die die Grenzen und wesentlichen Merkmale eines oder mehrerer Räume identifizieren, in denen die Anwendung für entfernt erlebtes Sehen funktionieren soll, d.h., von denen sie Videodaten empfängt, verarbeitet und überträgt. Bei dem Puffer 325 für Rohvideodaten handelt es sich um einen Puffer, in dem die von der Kamera 103 empfangenen Videodaten bis zum Verarbeiten durch die Anwendung für entfernt erlebtes Sehen vorübergehend gespeichert werden. Bei dem Puffer 326 für verarbeitete Videodaten handelt es sich um einen Puffer, in dem Videodaten, die für die Übertragung an einen entfernten Benutzer verarbeitet wurden, bis zur Übertragung über das Netzwerk 106 vorübergehend gespeichert werden. Hierin wird zwar darauf verwiesen, dass Videodaten in Echtzeit übertragen und gespeichert werden, es versteht sich jedoch, dass eine kleine Verzögerung notwendig ist, um die Videodaten zu verarbeiten und über das Netzwerk zu übertragen.
  • 4 ist eine konzeptionelle Darstellung einer Datenstruktur 324 einer Raumkarte, die eine Anwendung für entfernt erlebtes Sehen und insbesondere eine Anwendung für einen virtuellen Hausbesuch gemäß verschiedenen Ausführungsformen unterstützt. Die Raumkarte 324 identifiziert mehrere Bereiche in einem 3-D-Raum, für die die Anwendung für entfernt erlebtes Sehen Fernvideodaten, physische Grenzen der Bereiche, Bezugspunkte oder Merkmale (wie die Markierungen 112), die die Ausrichtung im Raum unterstützen, Partitionen oder andere maßgebliche undurchsichtige Objekte, die das Sichtfeld einer Kamera in dem 3-D-Raum einschränken können, usw. bereitstellt.
  • Mit Bezug auf 4 enthält die Raumkarte 324 einen Kopfteil 401, einen Bezugspunktteil 402, der einen oder mehrere Bezugspunkt-Datensätze 410 enthält, die jeweils einen entsprechenden Bezugspunkt definieren (von denen einer in 4 dargestellt ist), einen Bereichsteil 403, der einen oder mehrere Bereichsdatensätze 420 enthält, die jeweils einen entsprechenden Bereich in dem Raum definieren (von denen einer in 4 dargestellt ist), und einen Teil 404 für undurchsichtige Objekte, der einen oder mehrere Datensätze 430 für undurchsichtige Objekte enthält, die jeweils ein undurchsichtiges Objekt in dem Raum definieren (von denen eines in 4 dargestellt ist).
  • Der Kopfteil 401 enthält ein Raumkennungsfeld 405, das den zu der Raumkarte zugehörigen Raum identifiziert (für den Fall, dass die Anwendung für entfernt erlebtes Sehen in mehreren Räumen verwendet wird), ein Feld 406 für die Anzahl der Bezugspunkte, das die Anzahl der Bezugspunkt-Datensätze 410 angibt, die im Bezugspunktteil 402 enthalten sind, ein Feld 407 für die Anzahl der Bereiche, das die Anzahl der Bereichsdatensätze 420 angibt, die im Bereichsteil 403 enthalten sind, und ein Feld 408 für die Anzahl der undurchsichtigen Objekte, das die Anzahl der Datensätze für undurchsichtige Objekte angibt, die im Teil 404 für undurchsichtige Objekte enthalten sind. Der Kopfteil 401 kann zusätzliche Daten 409 enthalten, die zum Identifizieren des Raumes, zum Zugreifen auf Daten in der Raumkarte oder zum anderweitigen Verwenden der Raumkarte nützlich sein können.
  • Der Bezugspunktteil 402 enthält mindestens einen und vorzugsweise mehrere Bezugspunkt-Datensätze 410, die jeweils einem Bezugspunkt entsprechen, der zur Ausrichtung in dem der Raumkarte zugehörigen Raum verwendet wird. Bei einem Bezugspunkt kann es sich um eine beliebige identifizierbare Position in dem Raum handeln. Ein Bezugspunkt kann, muss jedoch nicht unbedingt, die Position einer Bezugsmarkierung 112 sein, die zu diesem Zweck in dem Raum angebracht wird. Er kann alternativ auch die Position eines beliebigen identifizierbaren Merkmals in dem Raum sein. Es kann sich zum Beispiel um die Position einer Ecke eines Raumes handeln, in der zwei Wände und ein Fußboden zusammentreffen, ein Punkt auf einem Beleuchtungskörper oder einer Sanitäranlage, ein Punkt auf einem Möbelstück, das im Allgemeinen einen festen Standort hat, usw.
  • Die Anzahl der Bezugspunkte kann variieren. Zusammen definieren die Bezugspunkte (entweder allein oder in Verbindung mit anderen angenommenen Daten) einen Bezugsrahmen in einem Koordinatensystem wie einem x-y-z-Koordinatensystem. Im Allgemeinen sind höchstens drei Punkte notwendig, um ein x-y-z-Koordinatengittersystem zu definieren, obwohl es für eine größere Genauigkeit auch mehr Bezugspunkte geben kann. Wenn die Richtung auf andere Weise bekannt ist, kann es darüber hinaus weniger als drei Bezugspunkte geben. Wenn beispielsweise angenommen wird, dass die z-Achse eines x-y-z-Koordinatensystems senkrecht zu einem ebenen Fußboden ist, und eine senkrechte Richtung durch einen Sensor, auf den die Anwendung für gemeinsam erlebtes Sehen zugreifen kann, oder durch ein anderes Mittel ermittelt werden kann, werden höchstens zwei Bezugspunkte benötigt, um das Gittersystem zu definieren.
  • Jeder Bezugspunkt-Datensatz 410 enthält ein Bezugspunkt-Kennungsfeld 411 mit einer eindeutigen Kennung des Bezugspunkts, die Felder für die x-Position 412, y-Position 413 und z-Position 414 mit den jeweiligen x-, y- und z-Koordinaten des Bezugspunktes im x-y-z-Koordinatensystem der Raumkarte und ein Bezugspunkt-Signaturfeld 415 mit Daten, die es der Anwendung für das gemeinsam erlebte Sehen ermöglichen, den Bezugspunkt zu erkennen. Die Signaturdaten können beispielsweise ein digital aufgezeichnetes Bild des Bezugspunkts und seines Umgebungsbereichs umfassen, das mit den von der Kamera erfassten Videobilddaten abgeglichen wird, um den Bezugspunkt zu erkennen. Sie können alternativ oder zusätzlich eine elektronische Signatur umfassen, die durch eine Bezugsmarkierung übertragen wird. Sie können alternativ oder zusätzlich Ausrichtungsdaten enthalten, z.B. dass eine bestimmte Linie oder ein Merkmal parallel zum Boden verläuft. Signaturdaten können mehrere Arten von Daten zum Erkennen des entsprechenden Bezugspunkts enthalten.
  • Der Bereichsteil 403 enthält mindestens einen Bereichsdatensatz 420, der jeweils einem entsprechenden Bereich oder Teilbereich des Raumes entspricht, der Gegenstand der Raumkarte ist. Bei einem Bereich oder Teilbereich, der im Bereichsteil 403 definiert ist, handelt es sich um einen dreidimensionalen Teil des Raumes mit Seiten, die Polygone sind (oder in einigen Fällen ebene Gebilde, die in einer oder mehreren Dimensionen unbegrenzt sind), und vorzugsweise eine regelmäßige Form wie z.B. ein rechteckiges Parallelepiped haben. Da es sich bei den Seiten um ebene Gebilde handelt, wird der Bereich vollständig durch die Positionen der Eckpunkte definiert.
  • Jeder Bereichsdatensatz 420 enthält ein Bereichskennungsfeld 421 mit einer eindeutigen Kennung des entsprechenden Bereichs, ein Bereichstypfeld 422, das einen Bereichstyp definiert, und eine Mehrzahl von x-, y-, z-Eckpunktkoordinaten 423 (von denen vier in 4 dargestellt sind), die jeweils die x-, y- und z-Koordinatenpositionen eines entsprechenden Eckpunkts des Bereichs kennzeichnen. Das Bereichstypfeld definiert die Form des Bereichs. Bei einem Bereich kann es sich zum Beispiel um ein rechteckiges Parallelepiped, ein dreieckiges Prisma usw. handeln. Ein Bereichstyp kann auch einen Bereich umfassen, der in einer bestimmten Dimension unbegrenzt ist. In diesem Fall können einige der angegebenen Eckpunkte eine oder mehrere Linien definieren, die sich in mindestens einer Richtung bis ins Unendliche erstrecken und entsprechende Ecken des Bereichs bilden. Die Anzahl der Eckpunkte wird durch das Bereichstypfeld bestimmt, obwohl es alternativ möglich ist, ein separates Feld mit einer Anzahl von Eckpunktkoordinaten 423 im Bereichsdatensatz 420 bereitzustellen. Der Bereichsdatensatz enthält ferner ein Bereichsbeschreibungsfeld 424 mit einer textlichen Beschreibung des Bereichs, die dem Benutzer visuell und/oder akustisch präsentiert werden kann.
  • In einer oder mehreren Ausführungsformen kann ein Benutzer einen zusammengesetzten Bereich als eine Verbindung mehrerer Teilbereiche definieren. In diesen Fällen definiert jeder der zahlreichen Bereichsdatensätze 420 einen entsprechenden Teilbereich. Jeder der Teilbereiche eines zusammengesetzten Bereichs enthält den gleichen Bereichskennungswert im Bereichs-ID-Feld 421. Darüber hinaus wird das Bereichstypfeld 422 (oder ein separates Feld) verwendet, um anzugeben, dass der Datensatz einem Teilbereich eines größeren zusammengesetzten Bereichs zugehörig ist. Die Verwendung von zusammengesetzten Bereichen ermöglicht es dem Benutzer, Bereichsformen von nahezu beliebiger Komplexität zu definieren. Als einfaches Beispiel kann ein L-förmiger Raum als ein einzelner zusammengesetzter Bereich definiert werden, der aus der Verbindung zweier rechteckiger parallelepipedischer Teilbereiche gebildet wird.
  • In einer oder mehreren Ausführungsformen wird angenommen, dass ein Standardbereich in dem Raum vorhanden ist, der sich außerhalb der durch die Raumkarte definierten Bereiche befindet. Der Standardbereich muss keinen ihn definierenden Bereichsdatensatz 420 haben, da er in Wirklichkeit durch die anderen Bereiche definiert wird. Eine spezielle reservierte Kennung kann verwendet werden, um die Standardbereiche zu identifizieren, oder unter den anderen Daten 409, die im Kopfteil 401 enthalten sind, kann sich eine Kennung des Standardbereichs befinden.
  • Der Teil 404 für undurchsichtige Objekte enthält mindestens einen Datensatz 430 für ein undurchsichtiges Objekt, wobei jeder Datensatz einem entsprechenden undurchsichtigen Objekt in dem Raum entspricht, der Gegenstand der Raumkarte ist. Bei einem undurchsichtigen Objekt, das im Teil 404 für undurchsichtige Objekte definiert ist, handelt es sich um ein zweidimensionales Hindernis für das Sichtfeld der Kamera. Der Zweck des Datensatzes für undurchsichtige Objekte besteht darin, Bereiche aus dem festgelegten Sichtfeld der Kamera zu isolieren, und somit wird ein Bereich, der in Richtung der Kamera, aber hinter einem undurchsichtigen Objekt liegt, als nicht innerhalb des Sichtfelds der Kamera liegend betrachtet. In der Regel stellt ein Datensatz für ein undurchsichtiges Objekt eine Wand, einen Fußboden oder eine Decke oder einen Teil davon in der physischen Umgebung dar. Er kann zwar ein kleineres undurchsichtiges Objekt darstellen, es muss jedoch nicht für jedes undurchsichtige Objekt im Raum ein Datensatz für undurchsichtige Objekte erzeugt werden, da der Zweck des Datensatzes darin besteht, die Grenzen des Sichtfelds der Kamera festzulegen. Ein Stuhl oder ein ähnliches Objekt in einem Raum ist beispielsweise in der Regel nicht Gegenstand eines Datensatzes für undurchsichtige Objekte, es sei denn, etwas, das durch den Stuhl oder ein ähnliches Objekt verdeckt werden kann, ist wichtig.
  • Jeder Datensatz 430 für ein undurchsichtiges Objekt enthält ein Kennungsfeld 431 für das undurchsichtige Objekt mit einer eindeutigen Kennung des entsprechenden undurchsichtigen Objekts, ein Typfeld 432 für das undurchsichtige Objekt, das einen Typ eines undurchsichtigen Objekts definiert, und eine Mehrzahl von x-, y-, z-Eckpunktkoordinaten 433 (von denen drei in 4 dargestellt sind), die jeweils die x-, y- und z-Koordinatenpositionen eines entsprechenden Eckpunkts des undurchsichtigen Objekts identifizieren. Das Typfeld für das undurchsichtige Objekt definiert die Form des undurchsichtigen Objekts. Bei einem undurchsichtigen Objekt kann es sich beispielsweise um ein Rechteck, ein Dreieck usw. handeln. Ein Typ eines undurchsichtigen Objekts kann auch ein undurchsichtiges Objekt umfassen, das in einer oder mehreren Dimensionen unbegrenzt ist. In diesem Fall können einige der spezifizierten Eckpunkte eine oder mehrere Linien definieren, die sich in mindestens einer Richtung bis ins Unendliche erstrecken und entsprechende Ecken des undurchsichtigen Objekts in dessen Ebene bilden. Die Anzahl von Eckpunkten wird durch das Typfeld für das undurchsichtige Objekt festgelegt, obwohl es alternativ möglich ist, ein separates Feld mit einer Anzahl von Eckpunktkoordinaten 433 im Datensatz 430 für ein undurchsichtiges Objekt bereitzustellen. Der Datensatz für ein undurchsichtiges Objekt enthält ferner ein Beschreibungsfeld 434 des undurchsichtigen Objekts mit einer textlichen Beschreibung des undurchsichtigen Objekts, die dem Benutzer visuell und/oder akustisch präsentiert werden kann.
  • In einer oder mehreren Ausführungsformen kann ein Bereich, der durch einen oder mehrere Bereichsdatensätze 420 definiert ist, implizit undurchsichtige Hindernisse an jeder Grenzfläche des Bereichs enthalten. Das Bereichstypfeld 422 oder ein anderes Feld kann verwendet werden, um anzugeben, ob der Bereich undurchsichtige Hindernisse enthält. In einem solchen Fall ist es möglich, dass die Anwendung für entfernt erlebtes Sehen automatisch einen entsprechenden Datensatz 430 für das undurchsichtige Hindernis für jede Grenzfläche des Bereichs mit impliziten undurchsichtigen Hindernissen erzeugt; alternativ kann die Anwendung diese Bereiche während der Ausführung identifizieren und alle Oberflächen dieser Bereiche als undurchsichtige Hindernisse behandeln.
  • In einer oder mehreren Ausführungsformen kann ein Datensatz 430 für ein undurchsichtiges Hindernis ein negatives undurchsichtiges Hindernis enthalten, d.h. eine Öffnung oder einen anderen transparenten Teil eines ansonsten undurchsichtigen Hindernisses. In einem solchen Fall ist das ID-Feld 431 für das undurchsichtige Objekt des negativen undurchsichtigen Hindernisses gleich wie der Wert des undurchsichtigen Hindernisses, zu dem es gehört, und der Typ 432 des undurchsichtigen Objekts zeigt ein negatives Hindernis an. Ein solcher Datensatz für ein negatives Hindernis kann beispielsweise verwendet werden, um Türen, Fenster oder ähnliche Öffnungen in ansonsten undurchsichtigen Hindernissen zu beschreiben.
  • In einer oder mehreren Ausführungsformen wird angenommen, dass ein undurchsichtiges Standardobjekt in dem Raum vorhanden ist, und dieses undurchsichtige Standardobjekt benötigt keinen Datensatz 430 für ein undurchsichtiges Objekt, der es definiert. Beispielsweise kann angenommen werden, dass der Fußboden oder Boden ein undurchsichtiges Standardobjekt ist. Eine spezielle reservierte Kennung kann verwendet werden, um das undurchsichtige Standardobjekt zu identifizieren, oder unter den anderen Daten 409, die in dem Kopfteil 401 enthalten sind, kann sich eine Kennung des undurchsichtigen Standardobjekts befinden.
  • 5 ist eine konzeptionelle Darstellung einer Profildatenstruktur 323, die eine Anwendung für entfernt erlebtes Sehen und insbesondere eine Anwendung für einen virtuellen Hausbesuch gemäß verschiedenen Ausführungsformen unterstützt. Die Profildatenstruktur enthält unter anderem Daten, die angeben, wie verschiedene in der Raumkarte 324 definierte Bereiche unterschiedlichen Benutzern präsentiert werden. In einer oder mehreren Ausführungsformen enthält die Profildatenstruktur 323 weiterhin Audiofilterparameter.
  • Mit Bezug auf 5 enthält das Profil 323 einen Kopfteil 501, einen Audiofilterteil 502, der Audiofilterparameter enthält, und einen Bereichsteil 503, der für jeden einer Mehrzahl von Bereichen einen entsprechenden Bereichsdatensatz 530 enthält, der definiert, wie der Bereich verschiedenen Benutzern visuell präsentiert werden soll (von denen ein Bereichsdatensatz in 5 dargestellt ist). Der Profildatensatz kann zusätzliche, nicht gezeigte Daten enthalten.
  • Der Kopfteil 501 enthält ein Raumkennungsfeld 505, das den Raum identifiziert, der der Raumkarte zugehörig ist und auf den sich das Profil bezieht (für den Fall, dass die Anwendung für entfernt erlebtes Sehen in mehreren Räumen verwendet wird), ein Feld 506 für die Anzahl der Bereiche, das die Anzahl der Bereichsdatensätze 520 angibt, die im Bereichsteil 503 enthalten sind, einen Videofilter-Aktivierungsmerker 507, der angibt, ob das Filtern von visuellen Bildern in einem Videobildstrom aktiviert ist, und einen separaten Audiofilter-Aktivierungsmerker 508, der angibt, ob das Audiofiltern des Audiosignalteils der aufgenommenen Videobilder aktiviert ist. Der Kopfteil 501 kann alle zusätzlichen Daten 509 enthalten, die nützlich sein können, um ein Ausführen der Anwendung für entfernt erlebtes Sehen zu steuern.
  • Der Audiofilterteil 502 enthält ein Audiofilter-Typfeld 511, das einen Typ von durchzuführendem Audiofiltern angibt, ein Feld 512 für eine Anzahl von Audiosignaturen, das eine Anzahl von Audiosignaturen angibt, die im Audiofilterteil 502 enthalten sind, und eine variable Anzahl von Audiosignaturen 513.
  • Das Audiofiltern kann auf verschiedene Weise durchgeführt werden. In einer oder mehreren Ausführungsformen wird das Filtern mithilfe von Geräuschunterdrückungstechniken durchgeführt, bei denen eine bestimmte Audioquelle oder -quellen wie z.B. ein an einem Headset angebrachtes Mikrofon als das zu übertragende Audiosignal gekennzeichnet wird und Umgebungsgeräusche herausgefiltert werden sollen, unabhängig davon, ob es sich um eine menschliche Stimme handelt. In der Regel erfordern solche Techniken mindestens ein weiteres Mikrofon, das sich entfernt von dem gekennzeichneten, zu übertragenden Audiosignal befindet. Die an diesem zweiten Mikrofon erkannten Umgebungsgeräusche werden aus dem Audiosignal gefiltert, sodass nur das Audiosignal übrig bleibt, das sehr nahe an dem gekennzeichneten Mikrofon erzeugt wird, d.h. der Stimme der Person, die das Headset trägt.
  • In einer oder mehreren alternativen Ausführungsformen werden eine oder mehrere Audiosignaturen aufgenommen, und das Audiosignal wird entweder durch Herausfiltern von Stimmen, die der/den Audiosignatur(en) entsprechen, oder durch Herausfiltern aller anderen Geräusche außer Stimmen, die der/den Tonsignatur(en) entsprechen, gefiltert. Auf diese Weise können Hintergrundgespräche von Personen, die nicht interaktiv an der Anwendung für entfernt erlebtes Sehen teilnehmen, herausgefiltert werden.
  • Der Bereichsteil 503 enthält einen Bereichsdatensatz 520 für jeden durch die Raumkarte 324 definierten Bereich (einschließlich des Standardbereichs). Jeder Bereichsdatensatz 520 enthält ein Bereichskennungsfeld 521 mit einer eindeutigen Kennung des entsprechenden Bereichs, ein Privatbereich-Typfeld 522, das ein Standardprivatbereich-Attribut des entsprechenden Bereichs angibt, ein Verdeckungsfunktion-Typfeld 523, das angibt, wie eine Verdeckungsfunktion durchgeführt werden soll, und ein Feld 524 für die Länge der Zugriffskontrollliste, das die Anzahl der nachfolgenden Zugriffskontrolllisteneinträge angibt. Jeder Bereichsdatensatz kann ferner eine variable Anzahl von Zugriffskontrolllisteneinträgen 525 enthalten (von denen zwei in 5 dargestellt sind), die jeweils ein Benutzer-ID-Feld 526 und ein Ablaufzeit-Feld 527 enthalten.
  • Das Privatbereich-Typfeld 523 gibt ein Standardprivatbereich-Attribut für den Bereich an, das „uneingeschränkt“, „nur lokal“ oder „nur berechtigt“ sein kann. Ein „uneingeschränktes“ Privatbereich-Attribut bedeutet, dass visuelle Bilder des entsprechenden Bereichs allen Benutzern ungefiltert präsentiert werden; „nur lokal“ bedeutet, dass visuelle Bilder nur lokalen Benutzern ungefiltert präsentiert werden und verdeckt sind, wenn sie entfernten Benutzern präsentiert werden; „nur berechtigt“ bedeutet, dass visuelle Bilder nur ungefiltert präsentiert werden, wenn der Benutzer durch die Zugriffskontrollliste berechtigt ist. Das Verdeckungsfunktion-Typfeld gibt an, wie visuelle Daten verdeckt werden, wenn sie einem Benutzer präsentiert werden, der sie nicht ungefiltert sehen darf. Visuelle Bilder können beispielsweise durch Darstellen eines monochromatischen Bereichs vollständig blockiert werden oder mithilfe verschiedener Unschärfeverfahren unscharf gemacht werden, um Details zu verdecken, das Bild aber nicht vollständig zu blockieren.
  • Jeder Zugriffskontrolllisteneintrag 525 enthält ein Benutzer-ID-Feld 526, das einen Benutzer identifiziert, der ungefilterte Videobilder des entsprechenden Bereichs empfangen darf, und ein Ablaufzeit-Feld 527, das angibt, wie lange der Benutzer berechtigt ist, ungefilterte Videobilder zu empfangen. Die Ablaufzeit kann „nie“ (der Benutzer ist immer berechtigt, ungefilterte Videobilder zu empfangen) oder ein bestimmter Zeitpunkt oder ein bestimmtes Ereignis wie z.B. die Beendigung einer laufenden Ausführungsinstanz sein. Die Zugriffskontrollliste hat Vorrang vor dem Privatbereich-Attribut, d.h., den in der Zugriffskontrollliste identifizierten Benutzern werden ungefilterte Videobilder präsentiert, unabhängig von der Einstellung des Privatbereich-Attributs.
  • In den 3 bis 5 werden verschiedene Softwareentitäten konzeptionell dargestellt, die in den jeweiligen Speichern der verschiedenen hierin beschriebenen Systeme oder Einheiten enthalten sind. Bekanntlich reicht der Speicher eines Computers oder einer anderen digitalen Einheit jedoch in der Regel nicht aus, um alle Softwareentitäten und andere Daten gleichzeitig zu speichern, und ausgewählte Teile von Softwareentitäten oder anderen Daten werden in der Regel bei Bedarf aus dem Datenspeicher in den Arbeitsspeicher geladen. Darüber hinaus sind in den 3 bis 5 verschiedene Softwareentitäten als separate Entitäten oder als in anderen Einheiten enthalten dargestellt. Es wird jedoch darauf hingewiesen, dass diese Darstellung nur zur Veranschaulichung dient und dass bestimmte Module oder Datenentitäten separate Entitäten oder Teil eines gemeinsamen Moduls oder Pakets von Modulen sein können. In den konzeptionellen Darstellungen der 3 bis 5 werden zwar eine bestimmte Anzahl und Art von Softwareentitäten gezeigt, es wird jedoch darauf hingewiesen, dass die tatsächliche Anzahl dieser Entitäten variieren kann, und insbesondere, dass in einer Umgebung eines entfernt erlebten Sehens die Anzahl und Komplexität dieser Entitäten in der Regel viel größer ist. Hinzu kommt, dass bestimmte Softwarekomponenten zwar innerhalb der jeweiligen Einzelsysteme dargestellt werden, um die Vollständigkeit der Darstellung zu gewährleisten, es ist jedoch nicht unbedingt zutreffend, dass alle Programme, Funktionen und Daten in einem einzelnen System vorhanden sind, sie können auch in einer anderen Partition auf demselben oder einem anderen Computersystem vorhanden sein. Schließlich wird darauf hingewiesen, dass die konzeptionellen Darstellungen der 3 bis 5 kein bestimmtes Speicherorganisationsmodell implizieren sollen und dass ein Computersystem, das eine Datenstromanwendung oder eine Datenbank beherbergt, einen einzelnen virtuellen Adressraumspeicher oder mehrere virtuelle Adressräume, die sich überlappen, verwenden kann.
  • Ermitteln der Kamera- oder Merkmalsposition
  • Gemäß einer oder mehreren Ausführungsformen kennt eine Anwendung für entfernt erlebtes Sehen die aktuelle Position (d.h. Standort und Ausrichtung) der beweglichen Kamera 103, die für das Aufnehmen der Videobilder für die Anwendung verwendet wird, wenn die Kamera ihre Position ändert. Während der Ausführung ermittelt die Anwendung für entfernt erlebtes Sehen vorzugsweise die aktuelle Kameraposition und aktualisiert diese kontinuierlich im Hinblick auf den durch die Raumkarte 324 definierten Koordinatenbezugsrahmen. Zusätzlich können während einer Anfangsphase, in der die Positionen verschiedener Bezugspunkte oder anderer Merkmale ermittelt werden, relative Abstände zwischen Kamera und Merkmalen automatisch gemessen und dazu verwendet werden, die Positionen von Merkmalen in einem dreidimensionalen Bezugsrahmen zu definieren.
  • Verschiedene bekannte Techniken, die in verschiedenen Anwendungen für virtuelle Realität oder anderen Anwendungen mit ähnlicher Funktion verwendet werden, können zusätzlich zu später entwickelten Techniken verwendet werden, um Kamera- und/oder Merkmalsposition zu ermitteln. Zu diesen Techniken können optische Nachverfolgungstechniken, Trägheitsnachverfolgungstechniken, akustische Nachverfolgungstechniken, magnetische Nachverfolgungstechniken und/oder Techniken gehören, die eine Kombination von Sensoreingaben unterschiedlicher Art beinhalten, ohne zwingend darauf beschränkt zu sein. Die optische Nachverfolgung kann eine oder mehrere Kameras umfassen, wozu die Kamera gehören kann, die die Videobilder aufnimmt, die als Teil der Anwendung für entfernt erlebtes Sehen übertragen werden, und/oder eine oder mehrere separate Kameras, die für die Nachverfolgung verwendet werden und die sich an einem stationären Ort befinden können, der physisch von der Kamera, die für das Aufnehmen der übertragenen Videobilder verwendet wird, getrennt ist.
  • In einer oder mehreren Ausführungsformen werden eine oder mehrere Bezugsmarkierungen an stationären Orten im Raum angebracht, und die Kameraposition wird in Bezug auf die Markierungen ermittelt. Die Kameraposition kann durch Trilateration oder Triangulation von erkannten Bezugsmarkierungen ermittelt werden. Bei einer Bezugsmarkierung kann es sich um ein beliebiges identifizierbares Objekt handeln, insbesondere aber um eine Sendeeinheit, die ein von der Kamera erfassbares Infrarotsignal überträgt. Bei einer Bezugsmarkierung kann es sich alternativ um eine passive Infraroteinheit handeln, die ein von einem Sender in unmittelbarer Nähe der Kamera übertragenes Infrarotsignal reflektiert, wobei das reflektierte Signal von der Kamera erfasst werden kann. Bei einer Bezugsmarkierung kann es sich alternativ um eine andere Form von aktiver oder passiver Einheit handeln, die eine erfassbare Übertragung überträgt oder reflektiert, z.B. eine akustische Einheit. Schließlich muss eine Bezugsmarkierung keine besonderen elektrischen, magnetischen, akustischen oder anderen physischen Eigenschaften aufweisen, sondern kann einfach ein Objekt sein, das von der Kamera leicht erkennbar ist. Es wird zwar bevorzugt, eine Form von Bezugsmarkierung oder -markierungen zu verwenden, alternativ dazu ist es jedoch möglich, die Position der Kamera ohne Bezugsmarkierungen nachzuverfolgen, z.B. indem ein von der Kamera aufgenommenes Videobild mit einem bekannten 3-D-Modell des Raumes verglichen wird.
  • Eine größere Positionsgenauigkeit ist im Allgemeinen mit einer größeren Anzahl von Markierungen möglich. Wenn sich beispielsweise drei Markierungen im Sichtfeld der Kamera befinden, kann die aktuelle Position der Kamera im dreidimensionalen Raum anhand der Winkel ermittelt werden, die durch entsprechende Linien zwischen der Mitte des Kameraobjektivs und den Markierungen und der Mittellinienachse des Objektivs gebildet werden. Wenn weniger Markierungen sichtbar sind, kann die Position mithilfe anderer Daten geschätzt werden. Der Abstand zu einer Markierung oder einem anderen Bezugspunkt wie einem Fußboden oder einer Decke kann beispielsweise auf andere Weise geschätzt werden, z.B. mithilfe einer Autofokusfunktion der Kamera. Ein Kamerapaar, das auf bekannte Weise versetzt angebracht ist, kann verwendet werden, um eine Tiefenmessfunktion durch räumliches Sehen bereitzustellen.
  • Je nach Technik, die zum Ermitteln der Kameraposition verwendet wird, kann es wünschenswert sein, einen oder mehrere zusätzliche Sensoren zum Ermitteln der Ausrichtung der Kamera im Raum zu integrieren. Ein Niveausensor kann zum Beispiel verwendet werden, um die Ausrichtung der Kamera in Bezug auf den Boden (d.h. auf das Gravitationsfeld der Erde) zu ermitteln. Ein magnetischer Sensor kann als Kompass verwendet werden, um die Ausrichtung der Kamera in Bezug auf das Erdmagnetfeld zu ermitteln. Zusammen können diese beiden Sensoren eine Richtung der Objektivachse der Kamera im 3-D-Raum bereitstellen. Diese können in Verbindung mit anderen Positionsdaten zum Ermitteln der Kameraposition verwendet werden. Zusätzliche Sensoren können mit der Kamera verbunden werden, um zusätzliche Bezugsdaten bereitzustellen.
  • Funktionsweise des entfernt erlebten Sehens
  • Gemäß einer oder mehreren Ausführungsformen wird eine Raumkarte erzeugt, die die Bereiche eines Raumes abbildet, in denen eine Kamera in Betrieb ist und Videobilder für entfernt erlebtes Sehen aufnimmt. Jedem der zahlreichen Bereiche des Raumes ist mindestens ein entsprechendes Privatbereich-Attribut zugehörig, wobei das/die Privatbereich-Attribut(e) unter anderem die Fähigkeit eines oder mehrerer entfernter Benutzer definiert/definieren, Videobilder des entsprechenden Bereichs des Raumes zu sehen. Das/die einem bestimmten Raum zugehörige(n) Privatbereich-Attribut(e) kann/können unabhängig von dem/den Privatbereich-Attribut(en) sein, das/die einem anderen Raum zugehörig ist/sind.
  • Während der Ausführung einer Anwendung für entfernt erlebtes Sehen werden Videodaten von der Kamera erfasst, und die Position/Ausrichtung der Kamera wird kontinuierlich oder periodisch in Echtzeit aktualisiert, um das Sichtfeld der Kamera und insbesondere den/die Bereiche(e) des Raumes innerhalb dieses Sichtfelds zu ermitteln. Die Anwendung bezieht sich auf das/die entsprechende(n) Privatbereich-Attribut(e) dieses Bereichs/dieser Bereiche, um zu ermitteln, ob ein oder mehrere Bereiche verdeckt werden sollen, und ändert die erfassten Videodaten, indem der/die Bereich(e) entsprechend verdeckt wird/werden. Die geänderten Videodaten werden an den entfernten Benutzer zum Ansehen z.B. auf einer Anzeigeeinheit unter der Kontrolle des entfernten Benutzers übertragen.
  • 6 ist ein Ablaufplan, der in einer Übersicht einen Prozess veranschaulicht, der von einer Anwendung für entfernt erlebtes Sehen gemäß verschiedenen Ausführungsformen durchgeführt wird. Mit Bezug auf 6 wird eine Karte des Raumes erzeugt (Block 601), in dem die Anwendung für entfernt erlebtes Sehen durchgeführt wird. Die Raumkarte kann lange vor einer Ausführungsinstanz der Anwendung für entfernt erlebtes Sehen oder etwa zur gleichen Zeit erzeugt werden, wobei das Erzeugen in Block 601 in 6 dargestellt und in 7 detaillierter gezeigt wird. Die Raumkarte kann sogar während der Ausführung geändert werden, indem der Raum beispielsweise vergrößert wird, um zusätzliche Bereiche zu integrieren oder um die Größe eines bestehenden Bereichs zu erweitern, in der die Kamera bewegt wird, um Raum in ihr Sichtfeld zu bringen, der sich nicht im ursprünglich definierten Raum der Raumkarte befunden hat.
  • In einer oder mehreren Ausführungsformen definiert ein Benutzer einen lokalen Raum, in dem Videobilder für die Anwendung für entfernt erlebtes Sehen aufgenommen werden, indem mindestens eine, vorzugsweise mehrere Bezugspositionen innerhalb des Raumes festlegt werden und die Kamera bewegt wird, um die verschiedenen Bereiche des Raumes in das Sichtfeld der Kamera zu bringen. 7 ist ein Ablaufplan, der einen Prozess zum Erzeugen einer Raumkarte 324 des lokalen Raumes ausführlicher veranschaulicht, in dem das entfernt erlebte Sehen gemäß verschiedenen Ausführungsformen durchgeführt wird, wobei der Prozess mit einem Raumkartenerzeuger 313 ausgeführt wird.
  • Mit Bezug auf 7 bringt der Benutzer optional eine oder mehrere Bezugsmarkierungen 112 an entsprechenden Positionen innerhalb des Raumes an, die als entsprechende Bezugspunkte verwendet werden, um eine Ausrichtung im Raum festzustellen (Block 701). Block 701 wird als optionaler Schritt betrachtet, da erkennbare feste Merkmale, die bereits im Raum vorhanden sind, alternativ als Bezugspunkte verwendet werden können.
  • Der Benutzer wählt mindestens einen und vorzugsweise mehrere Bezugspunkte aus, und die Kamera (und/oder ihr zugehörige Sensoren) erhält als Reaktion auf die Auswahl entsprechende Bezugspunkt-Signaturdaten für jeden ausgewählten Bezugspunkt (Block 702). Vorzugsweise werden mindestens drei Bezugspunkte ausgewählt, obwohl es möglich ist, eine Ausrichtung in dem 3-D-Raum mit weniger Bezugspunkten zu erhalten, wenn zusätzliche Sensordaten verwendet werden, wie z.B. ein Gravitationssensor, der die Ausrichtung in Bezug auf eine Grundebene bereitstellt. Diese Signaturdaten werden im Signaturdatenfeld 415 gespeichert, das dem jeweiligen Bezugspunkt entspricht. Ein Bezugspunkt kann durch Ausrichten der Kamera auf den ausgewählten Bezugspunkt, durch Handzeichen, die die Position des ausgewählten Bezugspunkts anzeigen, durch Sprachbefehle, durch Bewegen eines Cursors zu einem Punkt auf einem angezeigten Bild mittels einer Cursor-Zeigeeinheit oder durch ein anderes Mittel oder eine Kombination von Mitteln ausgewählt werden. Die Signaturdaten werden von der Anwendung für entfernt erlebtes Sehen verwendet, um den entsprechenden Bezugspunkt zu erkennen, wenn entsprechende Sensordaten (die auch Bilddaten von der Kamera enthalten können) als Eingabe empfangen werden. Vor allem werden während der Ausführung empfangene Sensordaten mit den Signaturdaten abgeglichen, die beim Erzeugen der Raumkarte gespeichert wurden, um den Bezugspunkt zu identifizieren. Die Signaturdaten können daher alles enthalten, wodurch der Bezugspunkt erkannt werden kann, und können Sensordaten aus mehreren Quellen enthalten.
  • Die Positionen der Bezugspunkte zueinander (und gegebenenfalls zu einer oder mehreren anderen Ausrichtungsachsen), ein auf den Bezugspunkten beruhender x-y-z-Koordinatenbezugsrahmen sowie eine jeweilige x-, y- und z-Koordinate jedes Bezugspunkts im x-y-z-Koordinatenbezugsrahmen werden automatisch von dem Raumkartenerzeuger 313 ermittelt und in der Raumkarte 324 gespeichert (Block 703). Diese können mit verschiedenen Techniken ermittelt werden. Eine beispielhafte Technik zum Ermitteln des Koordinatenbezugsrahmens und der Bezugspunktkoordinaten sowie bestimmte Änderungen davon werden im Folgenden beschrieben und in 8 dargestellt, wobei darauf hingewiesen wird, dass die hierin beschriebenen beispielhaften Techniken und Änderungen nicht unbedingt die einzigen Techniken sind, die verwendet werden können.
  • 8 ist ein Ablaufplan, der einen Prozess zum Ermitteln eines Bezugsrahmens für x-, y-, z-Koordinaten und Koordinaten mehrerer Bezugspunkte in diesem Bezugsrahmen gemäß verschiedenen Ausführungsformen ausführlicher veranschaulicht. In einer oder mehreren Ausführungsformen werden die Abstände zwischen Bezugspunktpaaren anhand von Sensorabstands- und Winkeldaten ermittelt. Für jedes einer Mehrzahl von Bezugspunktpaaren wird ein entsprechender erster Abstand von einer Abtasteinheit zu einem ersten Bezugspunkt des Paares gemessen, ein entsprechender zweiter Abstand von der Abtasteinheit zu einem zweiten Bezugspunkt eines Paares wird gemessen, und ein Winkel wird ermittelt, der durch eine Linie von der Abtasteinheit zum ersten Bezugspunkt mit einer Linie von der Abtasteinheit zum zweiten Bezugspunkt gebildet wird (Block 801). In diesem Fall kann die „Abtasteinheit“ die Kamera sein, die den Abstand mithilfe einer Autofokusfunktion ermittelt, um die beiden Bezugspunkte getrennt zu fokussieren, und die den Winkel durch die Projektion der Bezugspunkte auf das aufgenommene Bild ermittelt. Alternativ können ein oder mehrere separate Sensoren allein oder in Verbindung mit der Kamera verwendet werden.
  • Diese Abstände zu den beiden Punkten jedes Paares und der Winkel bilden die beiden Seiten und den angrenzenden Winkel eines Dreiecks, anhand dessen die Länge der gegenüberliegenden Seite (der Abstand zwischen den beiden Bezugspunkten des Paares) berechnet wird (Block 802).
  • Für den x-y-z-Koordinatenbezugsrahmen wird ein Anfangspunkt ausgewählt (Block 803). Als Anfangspunkt kann ein beliebiger geeigneter Punkt im Raum ausgewählt werden. In einer oder mehreren Ausführungsformen wird einer der Bezugspunkte willkürlich als Anfangspunkt ausgewählt. Ein Anfangspunkt kann alternativ auch als Position eines Sensors mit einer festen Position ausgewählt werden, wenn ein solcher vorhanden ist.
  • Es wird eine Ausrichtung der z-Achse (die zusammen mit dem Anfangspunkt die Ebene der x- und y-Achse bestimmt) ausgewählt (Block 804). In einer oder mehreren Ausführungsformen wird die Ausrichtung der z-Achse mithilfe eines Gravitations- oder Niveausensors ermittelt, wobei die z-Achse parallel zur Gravitationskraft liegt. Wenn ein solcher Sensor nicht vorhanden ist, kann die z-Achse alternativ durch Bezugnahme auf ein Merkmal mit bekannter vertikaler Ausrichtung ermittelt werden.
  • Es wird eine x- und y-Achsen-Ausrichtung ausgewählt (Block 805). Nachdem eine Ausrichtung der z-Achse ausgewählt wurde, kann eine Ausrichtung einer x-Achse so ausgewählt werden, dass sie mit der Richtung vom Anfangspunkt zu einer Projektion eines zweiten willkürlich ausgewählten Bezugspunkts auf die Ebene der x- und y-Achse zusammenfällt, wobei die Ebene der x- und y-Achse eine Ebene ist, die den Anfangspunkt enthält und senkrecht zur z-Achse verläuft. Die y-Achse steht dann senkrecht zur x-Achse in der Ebene der x- und y-Achse.
  • Alternativ kann in einer oder mehreren Ausführungsformen eine Ausrichtung der Achsen durch drei willkürlich ausgewählte nichtkollineare Punkte ermittelt werden. In diesen Ausführungsformen wird eine x-Achse beispielsweise willkürlich als eine Linie ausgewählt, die durch den Anfangspunkt (den ersten willkürlich ausgewählten Bezugspunkt) und einen zweiten willkürlich ausgewählten Bezugspunkt verläuft. Anschließend wird eine Ausrichtung einer y-Achse ausgewählt, indem eine Ebene der x-, y-Achsen von der x-Achse und einem dritten willkürlich ausgewählten Bezugspunkt aus definiert wird und die y-Achse als eine senkrecht zur x-Achse verlaufende und in dieser Ebene liegende Linie definiert wird. Die z-Achse ist eine Linie, die sowohl zur x- als auch zur y-Achse senkrecht steht.
  • Die x-, y- und z-Koordinaten jedes Bezugspunkts werden entsprechend dem ausgewählten x-y-z-Koordinatenbezugsrahmen ermittelt und in den entsprechenden x-, y- und z-Positionsfeldern 412, 413, 414 jedes Bezugspunkt-Datensatzes 410 in der Raumkarte 324 gespeichert. Das Verfahren zum Ermitteln der x-, y-, z-Koordinaten kann vom ausgewählten Bezugsrahmen abhängen.
  • In einer oder mehreren Ausführungsformen werden die x-, y-, z-Koordinaten des zweiten Bezugspunkts (zum Ausrichten der x-Achse) ermittelt (Block 806). Wenn beispielsweise ein Gravitations- oder Niveausensor zum Ermitteln der z-Achsen-Ausrichtung verwendet wird, kann der Winkel θ zwischen einer Linie vom ersten Bezugspunkt (Anfangspunkt) zum zweiten Bezugspunkt mit der Vertikalen (z-Achse) mit dem Sensor und der Kamera gemessen werden, und die x- und z-Koordinaten des zweiten Bezugspunkts werden als d * sin θ bzw. d * cos θ abgeleitet, wobei d der Abstand zwischen den ersten beiden Bezugspunkten ist (die y-Koordinate des zweiten Bezugspunkts ist 0).
  • Die Koordinaten der nachfolgenden Bezugspunkte werden durch Bezugnahme auf den ersten und zweiten Bezugspunkt (Block 807) oder alternativ durch Bezugnahme auf andere Bezugspunkte, deren Koordinaten bereits ermittelt worden sind, ermittelt. Anhand des bekannten Abstands zwischen dem Anfangspunkt (erster Punkt) und dem nachfolgenden Punkt und des Winkels der Linie vom Anfangspunkt mit der z-Achse kann insbesondere eine z-Koordinate des nachfolgenden Punktes auf die gleiche Weise wie die z-Koordinate des zweiten Punktes ermittelt werden. Eine Projektion des Abstands auf der x-y-Ebene wird auf ähnliche Weise berechnet. Der Abstand zwischen dem zweiten Punkt und dem nachfolgenden Punkt sowie die Unterschiede zwischen ihren jeweiligen z-Koordinaten können verwendet werden, um die Projektion des Abstands zwischen dem zweiten und dem nachfolgenden Punkt auf der x-y-Ebene zu ermitteln. Aus den beiden Projektionen und der bekannten x-Koordinate des zweiten Punktes werden die drei Seiten eines Dreiecks in der x-y-Ebene gebildet, wobei ein Eckpunkt am Anfangspunkt, ein zweiter Eckpunkt bei der Projektion des zweiten Punktes auf der x-y-Ebene und ein dritter Eckpunkt bei der Projektion des nachfolgenden Punktes auf der x-y-Ebene liegt. Anhand dieser drei Abstände können die x- und y-Koordinaten des nachfolgenden Punktes berechnet werden.
  • Wenn die Koordinaten von mehr als drei Bezugspunkten bekannt sind, können die Koordinaten eines nachfolgenden Bezugspunkts alternativ durch Trilateration anhand der ersten drei Bezugspunkte ermittelt werden.
  • Wenn beispielsweise drei willkürlich ausgewählte Bezugspunkte den Bezugsrahmen des Koordinatensystems definieren, ist der erste Punkt als zusätzliche Alternative der Anfangspunkt, weist der zweite Punkt eine x-Koordinate auf, die dem Abstand zwischen den ersten beiden Punkten und den y- und z-Koordinaten von 0 entspricht, und weist der dritte Punkt (der in der x-y-Ebene liegt) eine z-Koordinate von 0 auf, wobei die x- und y-Koordinaten durch Trilateration anhand der ersten beiden Punkte und den bekannten Abständen zwischen jedem der beiden Punkte und dem dritten Punkt ermittelt werden. Nachfolgende Bezugspunkte können durch Trilateration anhand der ersten drei Punkte ermittelt werden.
  • Obwohl dies nicht unbedingt erforderlich ist, wird eine größere Genauigkeit beim Messen von Abständen zwischen zwei Bezugspunkten und Winkeln zur Vertikalen mit einer Kamera im Allgemeinen erreicht, wenn die Punkte mehr oder weniger gleich weit von der Kamera entfernt sind. Die Anwendung für entfernt erlebtes Sehen kann den Benutzer optional anweisen, sich für jedes Paar von Bezugspunkten an eine solche Position zu begeben. Alternativ dazu kann die Anwendung Daten erfassen, die von mehreren verschiedenen Kamerapositionen erfasst werden, wenn der Benutzer die Kameraposition ändert, indem er sich im Anwendungsraum bewegt, und für jedes Punktepaar eine entsprechende Position auswählen, bei der die Punkte ungefähr gleich weit voneinander entfernt sind. Darüber hinaus können verschiedene Techniken verwendet werden, bei denen Messdaten von mehreren Kamerapositionen oder anderen Messpositionen erfasst und zusammengeführt werden, um eine zusammengesetzten Messung zu erhalten.
  • In den vorstehend offenbarten Ausführungsformen ermittelt die Anwendung zwar automatisch die maßgeblichen Abstände und Koordinaten jedes Bezugspunkts in einem Bezugsrahmen eines x-y-z-Koordinatensystems, ein Benutzer kann in einer oder mehreren alternativen Ausführungsformen jedoch einige oder alle Mess- oder Koordinatendaten manuell eingeben, und wenn der Benutzer nur einige der Daten manuell eingibt, kann die Anwendung fehlende Daten messen und/oder ableiten, die benötigt werden, um die Bezugspunktkoordinaten zu definieren.
  • Mit erneutem Bezug auf 7 definiert der Benutzer einen oder mehrere Bereiche im Raum der Raumkarte 324. Bei einem Bereich kann es sich um eine beliebige dreidimensionale geometrische Form handeln, die im Raum definiert ist. In einer oder mehreren Ausführungsformen umfasst ein Standardbereich einen beliebigen Teil des Raumes, der sich nicht innerhalb eines ausdrücklich definierten Bereichs befindet. In einer oder mehreren Ausführungsformen wird mit Ausnahme des Standardbereichs nur eine begrenzte Anzahl von Bereichsformen und möglicherweise wird nur eine einzige Bereichsform unterstützt. Bei allen Bereichen außer dem Standardbereich kann es sich beispielsweise um rechteckige Parallelepipede handeln. In einer oder mehreren Ausführungsformen kann ein Bereich als eine Verbindung mehrerer einfacher Formen definiert werden, die sich überlappen können, wie z.B. mehrere rechteckige Parallelepipede.
  • Ein oder mehrere Attribute eines Standardbereichs werden entweder durch ausdrückliche Benutzereingabe oder standardmäßig spezifiziert (Block 704). Dieses eine oder diese mehreren Attribute umfassen insbesondere mindestens ein Zugriffsattribut, das Zugriffsbeschränkungen in Bezug auf das Betrachten von Bildern des Standardbereichs definiert. So kann ein Zugriffsattribut beispielsweise festlegen, dass der entsprechende Bereich für alle Benutzer, sowohl lokale als auch entfernte, frei sichtbar ist, oder es kann festlegen, dass er nur von einer oder mehreren bestimmten Klassen von Benutzern gesehen werden kann, oder es kann auf eine Zugriffskontrollliste oder eine andere Datenstruktur verweisen, die Benutzer kontrolliert, die Zugriff haben, um den Standardbereich zu sehen. Zugriffsattribute können den Zugriff weiterhin auf einen bestimmten Zeitrahmen beschränken, beispielsweise auf einen Zugriff, der nur für die Dauer einer Ausführungsinstanz der Anwendung für entfernt erlebtes Sehen oder nur zu bestimmten Tageszeiten gewährt wird, oder sie können den Zugriff auf andere Weise beschränken.
  • Der Benutzer wählt ein in der Raumkarte zu definierendes Merkmal aus, beispielsweise einen Bereich oder ein undurchsichtiges Hindernis, und kennzeichnet einen Merkmalstyp (Block 705). Die Anwendung für entfernt erlebtes Sehen kann mehrere Bereichstypen und/oder mehrere Typen undurchsichtiger Hindernisse unterstützen. Ein Bereichstyp kann beispielsweise einige oder alle Formen eines Bereichs kennzeichnen, unabhängig davon, ob der Bereich standardmäßig von einem undurchsichtigen Hindernis umgeben ist und/oder ob ein gekennzeichneter Bereich ein Teilbereich ist, d.h. mit einer oder mehreren anderen gekennzeichneten Teilbereichen verbunden ist, um einen größeren zusammengesetzten Bereich in der Raumkarte zu bilden. Ein Typ von undurchsichtigen Hindernissen kann auch eine Form und/oder die Angabe enthalten, ob es sich bei der definierten Form um ein Hindernis oder eine Öffnung handelt, wobei die Öffnung fehlende Undurchsichtigkeit in einem größeren undurchsichtigen Hindernis bedeutet, wie sie beispielsweise durch ein Fenster oder eine Tür gebildet werden kann.
  • Die Anwendung kann automatisch eine Bereichs-ID oder Hindernis-ID zuweisen, um sie in das Bereichs-ID-Feld 421 bzw. Hindernis-ID-Feld 431 einzugeben. Wenn es sich bei dem Bereich um einen Teilbereich handelt, der mit einer oder mehreren anderen gekennzeichneten Teilbereichen verbunden werden soll, kann die Anwendung den Benutzer auffordern, den Bereich zu kennzeichnen, mit dem der Teilbereich verbunden werden soll, indem sie dem Benutzer eine Liste von zuvor gekennzeichneten Bereichen in einem Dropdown-Menü oder Ähnlichem vorlegt und eine Benutzerauswahl empfängt. Der Benutzer kann zusätzlich eine Beschreibung des entsprechenden Merkmals spezifizieren (die in das Feld 424 für die Bereichsbeschreibung bzw. das Feld 434 für die Beschreibung des undurchsichtigen Objekts eingegeben wird).
  • Der Benutzer kennzeichnet die Grenzen des ausgewählten Merkmals (Block 706). In einer oder mehreren Ausführungsformen verwendet der Benutzer Handzeichen oder eine Kombination aus Hand- und Sprachbefehlen, um die Ecke oder die Kanten eines ausgewählten Merkmals anzugeben. Eine Grenze kann mit einem Objekt im Anwendungsraum wie z.B. einer Wand oder einem Möbelstück deckungsgleich oder einfach eine beliebige Stelle im Raum sein. In einer oder mehreren zusätzlichen Ausführungsformen kann ein Benutzer per Sprachbefehl oder auf andere Weise anzeigen, dass ein ganzer Raum, in dem sich die Kamera gerade befindet, ein gekennzeichneter Bereich sein soll, und die Kamera so über den Raum schwenken, dass alle Grenzflächen und Ecken sichtbar werden, damit die Grenzen des Bereichs identifiziert werden können.
  • Als Reaktion auf jede vom Benutzer gekennzeichnete Grenze ermittelt die Anwendung für entfernt erlebtes Sehen die Position der Grenze im Koordinatenbezugsrahmen und ermittelt und speichert die x-, y-, z-Koordinaten der entsprechenden Eckpunkte, die das ausgewählte Merkmal definieren (Block 707). Die Koordinatenpositionen der Grenzen und Eckpunkte können mit einer der hierin beschriebenen Techniken zum Ermitteln der Koordinaten von Bezugspunkten im Koordinatenbezugssystem ermittelt werden. Die Koordinaten der Eckpunkte werden in den Eckpunkt-Koordinatenfeldern 423 bzw. 433 der Raumkarte 324 gespeichert.
  • Wenn es sich bei dem ausgewählten Merkmal um einen Bereich eines Typs handelt, der an jeder seiner Grenzen ein implizites undurchsichtiges Hindernis enthält (die „J“-Verzweigung von Block 708), erzeugt die Anwendung automatisch für jede Grenzfläche des Bereichs einen Datensatz 430 für undurchsichtige Hindernisse (Block 709). Wenn der Bereich ein Teilbereich eines größeren zusammengesetzten Bereichs ist, werden Hindernis-Datensätze nur für die Außenflächen des gesamten Bereichs erzeugt. Die Anwendung kann alternativ den Bereichsdatensatz/die Bereichsdatensätze verwenden, um das Vorhandensein undurchsichtiger Hindernisse während der Laufzeit zu ermitteln.
  • Wenn noch weitere Hindernisse oder Bereiche einzugeben sind, wird die „J“-Verzweigung von Block 710 genommen und ein nächstes Merkmal wird in Block 705 ausgewählt. Wenn alle Merkmale eingegeben wurden, wird die „N“-Verzweigung von Block 710 genommen, und die Erzeugung der Raumkarte ist abgeschlossen.
  • Wenn der Benutzer Daten in die Anwendung eingeben muss, kann diese Eingabe mit jedem heute bekannten oder später entwickelten Verfahren zum Eingeben von Daten in eine digitale Einheit erfolgen, und es können verschiedene Verfahren zum Eingeben verschiedener Daten in die Anwendung verwendet werden. Handzeichen sind beispielsweise nützlich, um Positionen oder Merkmale im dreidimensionalen Raum anzuzeigen, und können zum Kennzeichnen von Bezugspunkten und Grenzen von Bereichen oder Hindernissen verwendet werden. Andere Daten wie Namen von Merkmalen oder Zugriffsattribute können bequemer über Tastatur, Sprachbefehle, Zeigerauswahl aus einem Menü usw. eingegeben werden. Hierin können zwar bestimmte Dateneingabeverfahren in Verbindung mit bestimmten Schritten beschrieben werden, doch ist eine Anwendung für entfernt erlebtes Sehen nicht zwingend auf diese Eingabeverfahren beschränkt.
  • In einer oder mehreren beispielhaften Ausführungsformen kann eine Raumkarte des lokalen Raumes zwar durch Definieren eines oder mehrerer Bezugspunkte und Aufnehmen von Bildern des Raumes wie vorstehend beschrieben erzeugt werden, doch kann ein Raum alternativ auch durch andere Mittel definiert werden, die vor oder während der Ausführung der Anwendung für entfernt erlebtes Sehen durchgeführt werden können. Beispielsweise können Daten aus einem gespeicherten digitalen Datensatz, der den Raum abbildet, wie z.B. Architekturzeichnungen, importiert und/oder konvertiert werden. Die Daten können sogar von einem Benutzer manuell eingegeben werden.
  • Ein weiteres Beispiel für eine Alternative besteht darin, dass eine Raumkarte während der Ausführung spontan definiert werden kann, indem Videobilder des Raumes aufgenommen und ein oder mehrere Bereiche mithilfe von Handzeichen und/oder Sprachbefehlen definiert werden. In einer solchen alternativen Ausführungsform kann der gesamte Raum zunächst als Hintergrundbereich definiert werden, und während der Ausführung kann der Benutzer einen oder mehrere zusätzliche Bereiche definieren, wobei jeder zusätzliche Bereich von dem Hintergrundbereich abgezogen wird. Wenn ein lokaler Benutzer beispielsweise nur einen definierten, begrenzten Bereich offenlegen möchte, den ein entfernter Benutzer sehen darf, kann der lokale Benutzer den gesamten Raum als Hintergrundbereich definieren (und ein Privatbereich-Attribut bereitstellen, das angibt, dass der Hintergrundraum nicht offengelegt werden soll, um von einem entfernten Benutzer gesehen zu werden), und während der Ausführung einen oder mehrere zusätzliche Bereiche erzeugen, die von dem Hintergrundbereich abgezogen werden, wobei der eine oder die mehreren zusätzlichen Bereiche Privatbereich-Attribute haben, die es ermöglichen, dass sie dem entfernten Benutzer offengelegt werden. Eine solche Raumkarte kann für eine spätere Wiederverwendung gespeichert oder am Ende der Ausführungsinstanz gelöscht werden.
  • Mit erneutem Bezug auf 6 wird jedem Bereich mindestens ein entsprechendes Privatbereich-Attribut, das den Sichtzugriff durch einen entfernten Benutzer steuert, zugewiesen und als Teil der Profildaten 323 gespeichert (Block 602). Ein Privatbereich-Attribut kann standardmäßig oder auf ausdrücklichen Befehl des Benutzers zugewiesen werden, wobei es sich um Spracheingabe, Handzeichen, Tastatureingabe oder verschiedene Eingaben in digitale Dateneinheiten handeln kann. Ein Privatbereich-Attribut wird einem Bereich in der Regel gleichzeitig mit der Definition des Bereichs zugewiesen, dies muss jedoch nicht unbedingt gleichzeitig erfolgen und kann lange nach der Definition des Bereichs geändert werden. Bei dem/den Privatbereich-Attribut(en) kann es sich um etwas so einfaches wie einen binären Merker handeln, der anzeigt, ob ein Fernzugriff erlaubt ist, oder es kann sich um eine Reihe von Werten oder Eigenschaften handeln. Es können mehrere Ebenen des Privatbereichs oder des Zugriffs durch verschiedene Benutzer definiert werden, wobei einige Bereiche für einige entfernte Benutzer nicht verfügbar, aber für andere Benutzer verfügbar sind, und einige Bereiche können für alle entfernten Benutzer nicht verfügbar sein.
  • In einer beispielhaften Ausführungsform kann ein Privatbereich-Attribut als Zugriffskontrollliste implementiert werden, in der ein oder mehrere gekennzeichnete Benutzer (oder Benutzerklassen) berechtigt sind, das Videobild des entsprechenden Bereichs zu sehen, wobei jeder Bereich über eine entsprechende unabhängige Zugriffskontrollliste verfügt, in der die Benutzer unabhängig voneinander berechtigt sind, das Videobild zu sehen.
  • In einer oder mehreren optionalen Ausführungsformen kann der Benutzer auch ein oder mehrere Audio-Privatbereich-Attribute zum Steuern des Fernzugriffs auf den Audiosignalteil eines Videobildstroms spezifizieren, die ebenfalls in den Profildaten 323 gespeichert werden. Das/die Audio-Privatbereich-Attribut(e) ist/sind in der Regel nicht spezifisch für einen Bereich, kann/können aber zum Filtern von Hintergrundtönen (d.h. von anderen Tönen als von einem bestimmten Mikrofon) oder zum Filtern von Stimmen bestimmter Personen verwendet werden.
  • Die Ausführung der Anwendung für entfernt erlebtes Sehen ist in 6 als Schritte in dem gestrichelten Kasten 603 dargestellt, wobei wie bereits zuvor erläutert darauf hingewiesen wird, dass die Blöcke 601 und/oder 602 auch bei Laufzeit durchgeführt werden können.
  • Ein Videobildstrom wird von der beweglichen Kamera 103 aufgenommen und vorübergehend im Puffer 325 für Rohvideodaten gespeichert (Block 604).
  • Die Bereiche innerhalb des aktuellen Sichtfelds der Kamera 103 werden periodisch oder kontinuierlich mit der Ausrichtungsfunktion 312 und der Laufzeit-Abbildungsfunktion 314 ermittelt (Block 605). Das aktuelle Sichtfeld kann in feststehenden, relativ kurzen Zeitabständen oder als Reaktion auf Eingaben ermittelt werden, die darauf hinweisen, dass sich das Sichtfeld der Kamera maßgeblich verändert hat.
  • In einer oder mehreren Ausführungsformen, die in 9 ausführlicher dargestellt sind, wird das Sichtfeld dadurch ermittelt, dass eine Kameraposition im Raum (wie zuvor beschrieben) ermittelt wird und dieses Sichtfeld auf die Raumkarte abgebildet wird, um Bereiche innerhalb des Sichtfelds zu ermitteln. Es kann alternative Verfahren zum Identifizieren von Bereichen geben. So kann jeder Bereich beispielsweise über eigene Identifizierungsmarkierungen oder andere Bezugsobjekte verfügen, die sich auf dem aufgenommenen Videobild befinden können, und der Bereich kann direkt von solchen Bezugsobjekten abgebildet werden.
  • 9 ist ein Ablaufplan, der einen Prozess zum Ermitteln definierter Bereiche eines Raumes, die sich innerhalb des Sichtfelds der Kamera befinden und daher auf dem aktuell aufgenommenen Videobild beobachtet werden können, gemäß verschiedenen Ausführungsformen näher veranschaulicht. Mit Bezug auf 9 wird eine aktuelle Position und Ausrichtung der Videokamera ermittelt (Block 901). Bei der Position handelt es sich um die Position im dreidimensionalen Raum, die durch die x-, y-, z-Koordinaten der Kamera definiert wird. Bei der Ausrichtung handelt es sich um die Richtung der Objektivachse. Diese werden durch die Ausrichtungsfunktion 312 mithilfe verschiedener Techniken ermittelt, die vorstehend zum Ermitteln der Kameraposition beschrieben wurden.
  • Die Laufzeit-Abbildungsfunktion 314 leitet einen Satz von vier Ebenen ab, die die Grenzen des Sichtfeldes der Kamera von der Kameraposition aus bilden (Block 902). Diese vier Ebenen laufen an einem Punkt auf der Objektivachse kurz hinter dem Objektiv zusammen und schneiden sich mit einer beliebigen Ebene senkrecht zur Objektivachse, um ein Rechteck zu bilden. Ein dreidimensionales Polyeder, das durch die vier Ebenen und eine Ebene senkrecht zur Kameraachse gebildet wird, ist eine rechteckige Pyramide. Der dreidimensionale Bereich, der von diesen vier Ebenen begrenzt wird, ist das Sichtfeld der Kamera, von dem zumindest anfänglich angenommen wird, dass es sich unendlich in den Raum erstreckt.
  • Die Datensätze für undurchsichtige Hindernisse werden der Reihe nach verarbeitet, um alle undurchsichtigen Hindernisse zu identifizieren, die innerhalb der Grenzen der vier vorstehend in Block 902 beschriebenen Ebenen liegen, und um eine geordnete Liste von undurchsichtigen Hindernissen zu erzeugen, die Teile des Sichtfelds verdecken (dargestellt in den Blöcken 903 bis 909). Wenn noch Datensätze für undurchsichtige Hindernisse zu verarbeiten sind, wird die „J“-Verzweigung von Block 903 genommen und ein nächster Datensatz für undurchsichtige Hindernisse wird ausgewählt, darunter alle zu dem ausgewählten undurchsichtigen Hindernis gehörigen Öffnungen (Block 904).
  • Liegt das ausgewählte undurchsichtige Hindernis vollständig außerhalb des durch die vier Ebenen definierten Sichtfelds, wird die „N“-Verzweigung von Block 905 zu Block 903 genommen, um einen nächsten Datensatz zum Verarbeiten auszuwählen, falls ein solcher vorhanden ist. Liegt das ausgewählte undurchsichtige Hindernis innerhalb des Sichtfelds, wird die „J“-Verzweigung von Block 905 zu Block 906 genommen. In diesem Fall ermittelt die Laufzeit-Abbildungsfunktion, ob das undurchsichtige Hindernis durch ein vorheriges undurchsichtiges Hindernis auf der Liste vollständig verdeckt wird. Wenn dies der Fall ist, wird die „J“-Verzweigung von Block 906 zurück zu Block 903 genommen, um einen nächsten Datensatz zum Verarbeiten auszuwählen, falls ein solcher vorhanden ist. Wenn das aktuell ausgewählte undurchsichtige Hindernis nicht vollständig durch ein vorheriges undurchsichtiges Hindernis verdeckt wird, wird die „N“-Verzweigung von Block 906 genommen und das aktuell ausgewählte undurchsichtige Hindernis wird der geordneten Liste von undurchsichtigen Hindernissen an einer Listenposition hinzugefügt, die seiner Nähe zur Kamera entspricht, wobei die der Kamera am nächsten liegenden Hindernisse zuerst aufgeführt werden (Block 907). Die Abbildungsfunktion ermittelt anschließend, ob bereits in der Liste enthaltene Hindernisse, die nach dem aktuellen Hindernis in der Auflistung kommen, von dem aktuellen Hindernis vollständig verdeckt werden (Block 908). Wenn ja, wird ein solches verdecktes Hindernis aus der Hindernisliste gestrichen (Block 909). Die Abbildungsfunktion kehrt anschließend zu Block 903 zurück, um ein nächstes Hindernis auszuwählen, falls ein solches vorhanden ist.
  • Wenn alle Hindernis-Datensätze auf diese Weise verarbeitet worden sind, wird die „N“-Verzweigung von Block 903 zu Block 910 genommen. Die Laufzeit-Abbildungsfunktion verarbeitet die Bereichsdatensätze, um in Bezug auf jeden in der Raumkarte identifizierten Bereich zu ermitteln, ob ein Teil des Bereichs innerhalb des durch die Hindernis-Datensätze begrenzten Sichtfelds der Kamera liegt, und ermittelt die Grenzen der Projektion jedes dieser Bereiche auf das zweidimensionale Videobild, das von der Kamera aufgenommen wurde (dargestellt in den Blöcken 910 bis 914).
  • Wenn noch Bereichsdatensätze zu verarbeiten sind, wird die „J“-Verzweigung von Block 910 genommen, und ein nächster Bereichsdatensatz wird ausgewählt (Block 911). Für einen zusammengesetzten Bereich können mehrere Datensätze erforderlich sein.
  • Liegt der ausgewählte Bereich vollständig außerhalb des durch die vier Ebenen definierten Sichtfelds, wird die „N“-Verzweigung von Block 912 zu Block 910 genommen, um einen nächsten Bereichsdatensatz zum Verarbeiten auszuwählen, falls ein solcher vorhanden ist. Liegt der ausgewählte Bereich innerhalb des Sichtfelds, wird die „J“-Verzweigung von Block 912 zu Block 913 genommen. In diesem Fall ermittelt die Laufzeit-Abbildungsfunktion, ob der ausgewählte Bereich durch ein oder mehrere undurchsichtige Hindernisse auf der Liste undurchsichtiger Hindernisse vollständig verdeckt wird. Wenn dies der Fall ist, wird die „J“-Verzweigung von Block 913 zurück zu Block 910 genommen, um einen nächsten Datensatz zum Verarbeiten auszuwählen, falls ein solcher vorhanden ist. Wenn der aktuell ausgewählte Bereich nicht vollständig durch ein oder mehrere undurchsichtige Hindernisse verdeckt wird, wird die „N“-Verzweigung von Block 913 genommen. In diesem Fall ermittelt die Abbildungsfunktion die Projektion des Teils des Bereichs, der nicht durch ein Hindernis verdeckt wird, auf das von der Videokamera aufgenommene zweidimensionale Bild und fügt die Projektion zu einer geordneten Liste von Bereichsprojektionen hinzu (Block 914). Die Projektionen in der Liste können sich gegenseitig überdecken und werden entsprechend der Nähe zu dem entsprechenden Bereich zur Kamera geordnet (überdeckt), wobei der der Kamera am nächsten liegende Bereich über den überdeckten Projektionen liegt. Die Abbildungsfunktion kehrt anschließend zu Block 910 zurück, um einen nächsten Bereich auszuwählen, falls ein solcher vorhanden ist.
  • Wenn ein Standardbereich unterstützt wird, wird dieser als letzter ausgewählt, da er durch den Raum definiert wird, der in keinem anderen Bereich enthalten ist. Sobald die Grenzen des Standardbereichs ermittelt sind, wird er auf ähnliche Weise wie jeder andere Bereich verarbeitet, indem ermittelt wird, ob er sich innerhalb des Sichtfelds befindet, ob er durch ein oder mehrere Hindernisse verdeckt wird und die Projektion des unverdeckten Teils, falls vorhanden, erfolgt.
  • Wenn alle Bereiche auf diese Weise verarbeitet wurden, wird die „N“-Verzweigung von Block 910 genommen, und das Ermitteln der Projektion der sichtbaren Bereiche ist abgeschlossen.
  • Mit erneutem Bezug auf 6 wird/werden das/die Privatbereich-Attribut(e) des Bereichs/der Bereiche innerhalb des Sichtfelds der Kamera aus den gespeicherten Profildaten 323 gewonnen (Block 606). Diese Privatbereich-Attribute werden mit der Identität oder den Zugriffsrechten des aktuellen entfernten Benutzers verglichen, um zu ermitteln, ob es notwendig ist, den Bereich aus dem Blickfeld zu verdecken. In Bezug auf Bereiche, die der aktuelle entfernte Benutzer nicht sehen darf, wird das Videobild so verändert, dass der Bereich nicht mehr sichtbar ist (Block 607). Zum „Verdecken“ eines Bereichs können bekannte Techniken verwendet werden, um optische Details schwer erkennbar oder gar nicht sichtbar zu machen. Dies kann dazu führen, dass der Bereich im Bild durch ein leeres blaues Bildschirmmuster ersetzt wird, oder dies kann dazu führen, dass einige der Pixel zufällig angeordnet werden, um einen „Unschärfe-Effekt“ zu erzielen, oder es kann eine andere Form annehmen, um Einzelheiten innerhalb des Bereichs schwer erkennbar oder gar nicht sichtbar zu machen. Geänderte Videobilder werden vorübergehend im Puffer 326 für verarbeitete Videodaten gespeichert.
  • In einer oder mehreren Ausführungsformen wird auch ein Audiosignalteil der Videodaten gemäß den im Audioteil 502 der Profildaten 323 spezifizierten Audiofilterparametern gefiltert und im Puffer 326 für verarbeitete Videodaten gespeichert (Block 608). In 6 ist dies zwar als ein Schritt dargestellt, der nach dem Verarbeiten der Videobilder sequenziell abläuft, es wird jedoch darauf hingewiesen, dass die Audio- und die Videobildverarbeitung gleichzeitig durchgeführt werden können. In einer oder mehreren alternativen Ausführungsformen wird kein Audiofiltern durchgeführt.
  • Das geänderte Videobild aus dem Puffer 326 für verarbeitete Videodaten (einschließlich des dazugehörenden Audiosignals, falls vorhanden) wird über das Netzwerk 106 an einen entfernt angeordneten 107 in Echtzeit übertragen, um es einem Benutzer anzuzeigen (Block 609). Wenn keine Beendigungsbedingung vorhanden ist, wird der Prozess fortgesetzt (die „N“-Verzweigung von Block 610). Wenn eine Beendigungsbedingung wie z.B. ein Befehl zum Beenden der Anwendung vorhanden ist, wird der Prozess beendet, was durch die „J“-Verzweigung von Block 610 angezeigt wird.
  • Vorteile
  • Anwendungen für entfernt erlebtes Sehen sind zwar noch sehr neu, es ist jedoch zu erwarten, dass in Zukunft noch viel mehr solcher Anwendungen entwickelt werden. Diese zukünftigen Anwendungen können weit über das oben genannte einfache Beispiel hinausgehen. Gemeinsam genutzte Anwendungen für erlebtes Sehen können für Unterricht, Gesundheitswesen, Unterhaltung, Marketing, Wartung von Gebäuden und Geräten, Bau, Strafverfolgung und viele andere Bereiche nützlich sein.
  • In der Telekonferenzumgebung war es früher üblich, einen sicheren Raum für das Sichtfeld der Kamera zu schaffen und alles, was dem entfernten Benutzer nicht gezeigt werden soll, von diesem Raum auszuschließen. In einer gemeinsam genutzten Anwendung für erlebtes Sehen ist es jedoch viel schwieriger zu kontrollieren, was für den entfernten Benutzer sichtbar sein soll. Der lokale Benutzer kann versehentlich oder auf Anweisung des entfernten Benutzers das Sichtfeld der Kamera so verschieben, dass es Objekte einschließt, die der entfernte Benutzer nicht sehen soll. Ein lokaler Benutzer kann in seinen eigenen Wohnräumen beispielsweise sensible Dokumente, Einzelheiten des Grundrisses der Wohnräume oder darin enthaltene Wertgegenstände, Personen in peinlichen oder persönlichen Situationen, Kinder usw. offenbaren.
  • Zu den Vorteilen bestimmter Ausführungsformen gehören verbesserte Techniken, die den Privatbereich von Personen schützen, wenn Videodaten in Echtzeit übertragen werden, um einem entfernt befindlichen Empfänger angezeigt zu werden, und insbesondere, wenn Videodaten über eine gemeinsam genutzte Anwendung für erlebtes Sehen an einen entfernten Benutzer übertragen werden.
  • Ein System, das Videobilder ausgewählter Bereiche eines dreidimensionalen Raumes wie hierin beschrieben verdeckt, stellt einen relativ sicheren und absoluten Schutz vor der versehentlichen Offenlegung sensibler, privater oder vertraulicher Objekte bereit. Ein Benutzer muss nicht an alle möglichen sensiblen Dinge innerhalb des Raumes denken und kann ausgewählte Bereiche weitgehend von der Fernbetrachtung ausschließen, nur weil die Bereiche nicht relevant für die Anwendung für entfernt erlebtes Sehen sind. Im Falle einer Anwendung für einen virtuellen Hausbesuch kann der Benutzer beispielsweise den Bereich, der für die Zwecke des virtuellen Hausbesuchs relevant ist, wie z.B. die Reparatur eines bestimmten Geräts, eng definieren und alle anderen Bereiche des Raumes verdecken, ohne dass er sich Gedanken über spezifische Inhalte machen muss, die in den anderen Bereichen geschützt werden müssen. Indem Bereiche im dreidimensionalen Raum ermittelt werden, die sich innerhalb eines Sichtfelds der beweglichen Kamera befinden, wird darüber hinaus der Schutz von Objekten in einem privaten Bereich bei der Bewegung der Kamera unabhängig von der Position und Ausrichtung der Kamera beibehalten.
  • Andere Varianten
  • Vorstehend wurde zwar eine Reihe von Schritten als eine oder mehrere bevorzugte und/oder alternative Ausführungsformen beschrieben, es ist jedoch offensichtlich, dass viele Varianten von Prozessen für entfernt erlebtes Sehen möglich sind. Einige Schritte können vor allem in einer anderen Reihenfolge ausgeführt werden, andere Datenstrukturen können verwendet werden und/oder andere Hardware- oder Softwareressourcen können zum Ausführen der hierin beschriebenen Funktionen eingesetzt werden. Bestimmte Formeln, Schwellenwerte, logische Bedingungen usw. wurden ferner zwar als eine oder mehrere Ausführungsformen offenbart, es ist jedoch offensichtlich, dass diese Formeln, Schwellenwerte, logischen Bedingungen usw. und Änderungen davon nur einige der möglichen Ausführungsformen darstellen und dass alternativ andere Techniken verwendet werden können.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jedem möglichen technischen Detaillierungsgrad der Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) beinhalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Beispiele für ein durch einen Computer lesbares Speichermedium sind in 2 als Systemspeicher 202 und Datenspeichereinheiten 221 bis 223 dargestellt. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. einen Lichtwellenleiter durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Router, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Sofern nicht mit der Erfindung vereinbar oder anderweitig hierin dargestellt, kann es sich bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o. ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, einen Herstellungsartikel aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Zusammen mit bestimmen Alternativen wurde zwar eine bestimmte Ausführungsform der Erfindung offenbart, für Fachleute ist jedoch offensichtlich, dass im Anwendungsbereich der folgenden Ansprüche zusätzliche Änderungen in Bezug auf Form und Einzelheiten vorgenommen werden können.

Claims (15)

  1. Durch einen Computer ausgeführtes Verfahren, das aufweist: Empfangen einer Eingabe, die eine Mehrzahl von Bereichen in einem dreidimensionalen Raum identifiziert sowie für jeden Bereich der Mehrzahl von Bereichen mindestens ein entsprechendes Fernzugriffsattribut; Erhalten (604) von Videobildern von mindestens einem Teil des Raumes von einer beweglichen Kamera (103), wobei die Videobilder für eine Anwendung für entfernt erlebtes Sehen erhalten werden; Ermitteln (605) von Bereichen in dem dreidimensionalen Raum, die sich innerhalb eines Sichtfelds der beweglichen Kamera befinden; für jeden Bereich der Mehrzahl von Bereichen, die in den von der beweglichen Kamera erhaltenen Videobildern aufgenommen werden, Verwenden von mindestens einem entsprechenden Fernzugriffsattribut des entsprechenden Bereichs, um die Videobilder durch Verdecken (607) von Videobildern in einem ersten Bereich der Mehrzahl von Bereichen zu ändern, die in den Videobildern aufgenommen werden, während Bilder in einem zweiten Bereich der Mehrzahl von Bereichen, die in den Videobildern aufgenommen werden, nicht verdeckt werden; Bereitstellen (609) der geänderten Videobilder zum Anzeigen in Echtzeit für mindestens einen entfernten Benutzer der Anwendung für entfernt erlebtes Sehen; und Erzeugen (601) einer Raumkarte von mindestens einem Teil des dreidimensionalen Raumes, wobei die Raumkarte einen Koordinatenbezugsrahmen in Bezug auf mindestens einen Bezugspunkt definiert, und Identifizieren der Mehrzahl von Bereichen in dem Koordinatenbezugsrahmen; wobei das Erzeugen einer Raumkarte von mindestens einem Teil des dreidimensionalen Raumes aufweist: Empfangen (701) einer Benutzereingabe, die eine Mehrzahl von Bezugspunkten kennzeichnet; Verwenden der Mehrzahl von Bezugspunkten, um einen Anfangspunkt und eine Ausrichtung in einem Koordinatenbezugsrahmen auszuwählen (703); Ermitteln entsprechender Koordinaten jedes Bezugspunkts der Mehrzahl von Bezugspunkten in dem Koordinatenbezugsrahmen; Ermitteln (707) entsprechender Koordinaten, die mindestens einem Bereich der Mehrzahl von Bereichen in dem Koordinatenbezugsrahmen zugehörig sind.
  2. Durch einen Computer ausgeführtes Verfahren nach Anspruch 1, wobei die Kamera an einem tragbaren Gerät eines lokalen Benutzers angebracht ist.
  3. Durch einen Computer ausgeführtes Verfahren nach Anspruch 1, wobei es sich bei der Anwendung für entfernt erlebtes Sehen um eine gemeinsam genutzte Anwendung für erlebtes Sehen handelt.
  4. Durch einen Computer ausgeführtes Verfahren nach Anspruch 1, wobei es sich bei der Anwendung für entfernt erlebtes Sehen um eine Anwendung für einen virtuellen Hausbesuch handelt.
  5. Durch einen Computer ausgeführtes Verfahren nach Anspruch 1, wobei das Ermitteln von Bereichen in dem dreidimensionalen Raum, die innerhalb des Sichtfelds der beweglichen Kamera liegen, aufweist: Empfangen eines entsprechenden Signals von jeder von einer oder mehreren Bezugsmarkierungen (112); Ermitteln (902) einer Position und Ausrichtung der beweglichen Kamera mithilfe des entsprechenden Signals von jeder der einen oder mehreren Bezugsmarkierungen; und Verwenden der ermittelten Position und Ausrichtung der beweglichen Kamera, um Bereiche in dem dreidimensionalen Raum zu ermitteln (911 - 914), die sich innerhalb des Sichtfelds der beweglichen Kamera befinden.
  6. Durch einen Computer ausgeführtes Verfahren nach Anspruch 1, wobei die Raumkarte vor dem Ausführen einer Mehrzahl von Ausführungsinstanzen der Anwendung für entfernt erlebtes Sehen erzeugt und gespeichert wird, um die Raumkarte in jeder der Mehrzahl von Ausführungsinstanzen der Anwendung für entfernt erlebtes Sehen zu verwenden.
  7. Durch einen Computer ausgeführtes Verfahren nach Anspruch 1, wobei die Mehrzahl von Bereichen mindestens einen Bereich mit Grenzen enthält, die in der Raumkarte ausdrücklich definiert sind, und einen Standardbereich, wobei es sich bei dem Standardbereich um den Teil des dreidimensionalen Raumes handelt, der außerhalb eines des mindestens eines Bereichs mit Grenzen liegt, die in der Raumkarte ausdrücklich definiert sind.
  8. Durch einen Computer ausgeführtes Verfahren nach Anspruch 1, das weiterhin ein Filtern eines Audiosignals, das zu den Videobildern gehört, gemäß mindestens einem zuvor spezifizierten Audiofilterparameter aufweist.
  9. Computerprogrammprodukt, das ein Computerprogramm mit einer Mehrzahl von durch einen Computer ausführbaren Anweisungen aufweist, die, wenn sie von mindestens einem Computersystem ausgeführt werden, bewirken, dass das mindestens eine Computersystem Schritte durchführt, die aufweisen: Empfangen einer Eingabe, die eine Mehrzahl von Bereichen in einem dreidimensionalen Raum identifizieren sowie für jeden Bereich der Mehrzahl von Bereichen mindestens ein entsprechendes Fernzugriffsattribut, um Videobilder von mindestens einem Teil des Raumes von einer beweglichen Kamera (103) zu erhalten (604), wobei die Videobilder für eine Anwendung für entfernt erlebtes Sehen erhalten werden; Ermitteln (605) von Bereichen in dem dreidimensionalen Raum, die sich innerhalb eines Sichtfelds der beweglichen Kamera befinden; für jeden Bereich der Mehrzahl von Bereichen, die in den von der beweglichen Kamera erhaltenen Videobildern aufgenommen werden, Verwenden von mindestens einem entsprechenden Fernzugriffsattribut des entsprechenden Bereichs, um die Videobilder durch Verdecken (607) von Videobildern in einem ersten Bereich der Mehrzahl von Bereichen zu ändern, die in den Videobildern aufgenommen werden, während Bilder in einem zweiten Bereich der Mehrzahl von Bereichen, die in den Videobildern aufgenommen werden, nicht verdeckt werden; Bereitstellen (605) der geänderten Videobilder zum Anzeigen in Echtzeit für mindestens einen entfernten Benutzer der Anwendung für entfernt erlebtes Sehen; und Erzeugen (601) einer Raumkarte von mindestens einem Teil des dreidimensionalen Raumes, wobei die Raumkarte einen Koordinatenbezugsrahmen in Bezug auf mindestens einen Bezugspunkt definiert, und Identifizieren der Mehrzahl von Bereichen in dem Koordinatenbezugsrahmen, wobei das Erzeugen einer Raumkarte von mindestens einem Teil des dreidimensionalen Raumes aufweist: Empfangen (701) einer Benutzereingabe, die eine Mehrzahl von Bezugspunkten kennzeichnet; Verwenden der Mehrzahl von Bezugspunkten, um einen Anfangspunkt und eine Ausrichtung in einem Koordinatenbezugsrahmen auszuwählen (703); Ermitteln entsprechender Koordinaten jedes Bezugspunkts der Mehrzahl von Bezugspunkten in dem Koordinatenbezugsrahmen; Ermitteln (707) entsprechender Koordinaten, die mindestens einem Bereich der Mehrzahl von Bereichen in dem Koordinatenbezugsrahmen zugehörig sind.
  10. Computerprogrammprodukt nach Anspruch 9, wobei die Kamera an einem tragbaren Gerät eines lokalen Benutzers angebracht ist.
  11. Computerprogrammprodukt nach Anspruch 9, wobei es sich bei der Anwendung für entfernt erlebtes Sehen um eine Anwendung für einen virtuellen Hausbesuch handelt.
  12. Computerprogrammprodukt nach Anspruch 9, wobei das Ermitteln von Bereichen in dem dreidimensionalen Raum, die innerhalb des Sichtfelds der beweglichen Kamera liegen, aufweist: Empfangen eines entsprechenden Signals von jeder von einer oder mehreren Bezugsmarkierungen (112); Ermitteln (902) einer Position und Ausrichtung der beweglichen Kamera mithilfe des entsprechenden Signals von jeder der einen oder mehreren Bezugsmarkierungen; und Verwenden der ermittelten Position und Ausrichtung der beweglichen Kamera, um Bereiche in dem dreidimensionalen Raum zu ermitteln (911-914), die sich innerhalb des Sichtfelds der beweglichen Kamera befinden.
  13. Computerprogrammprodukt nach Anspruch 9, wobei die Mehrzahl von Bereichen mindestens einen Bereich mit Grenzen enthält, die in der Raumkarte ausdrücklich definiert sind, und einen Standardbereich, wobei es sich bei dem Standardbereich um den Teil des dreidimensionalen Raumes handelt, der außerhalb eines des mindestens einen Bereichs mit Grenzen liegt, die in der Raumkarte ausdrücklich definiert sind.
  14. Computerprogrammprodukt nach Anspruch 9, wobei das Computerprogramm, wenn es von mindestens einem Computersystem ausgeführt wird, weiterhin bewirkt, dass das mindestens eine Computersystem Schritte durchführt, die ein Filtern eines Audiosignals aufweisen, das zu den Videobildern gehört, gemäß mindestens einem zuvor festgelegten Audiofilterparameter.
  15. Datenverarbeitungsvorrichtung (200), die ein Ausführen einer Anwendung für entfernt erlebtes Sehen unterstützt, die aufweist: mindestens einen physischen Prozessor (201); mindestens einen physischen Speicher (202); eine Anwendung (311) für entfernt erlebtes Sehen, die als Anweisungen ausgeführt ist, die auf dem mindestens einen Prozessor ausführbar und in dem mindestens einen Speicher speicherbar sind, wobei die Anwendung für entfernt erlebtes Sehen ein selektives Verdecken (607) von Teilen visueller Bilder implementiert, die mindestens einem entfernten Benutzer präsentiert werden, der eine Datenstruktur verwendet, die eine Mehrzahl von Bereichen in einem dreidimensionalen Raum identifiziert sowie für jeden Bereich der Mehrzahl von Bereichen mindestens ein entsprechendes Fernzugriffsattribut; wobei die Anwendung für entfernt erlebtes Sehen Videobilder von mindestens einem Teil des Raumes von einer beweglichen Kamera (103) empfängt (304); wobei die Anwendung für entfernt erlebtes Sehen Bereiche in dem dreidimensionalen Raum ermittelt (605), die sich in einem Sichtfeld der beweglichen Kamera befinden, und für jeden Bereich der Mehrzahl von Bereichen, die in den Videobildern aufgenommen werden, die von der beweglichen Kamera empfangen werden, das mindestens eine entsprechende Fernzugriffsattribut des entsprechenden Bereichs verwendet, um die Videobilder zu ändern, indem Videobilder in einem ersten Bereich der Mehrzahl von Bereichen verdeckt (607) werden, die in den Videobildern aufgenommen werden, während Bilder in einem zweiten Bereich der Mehrzahl von Bereichen, die in den Videobildern aufgenommen werden, nicht verdeckt werden; wobei die Anwendung für entfernt erlebtes Sehen weiterhin die geänderten Videobilder zum Anzeigen in Echtzeit für mindestens einen entfernten Benutzer der Anwendung für entfernt erlebtes Sehen bereitstellt (609); und wobei die Anwendung für entfernt erlebtes Sehen eine Raumkarten-Erzeugungsfunktion enthält, die eine Raumkarte von mindestens einem Teil des dreidimensionalen Raumes erzeugt (601), wobei die Raumkarte einen Koordinatenbezugsrahmen in Bezug auf mindestens einen Bezugspunkt definiert und die Mehrzahl der Bereiche in dem Koordinatenbezugsrahmen identifiziert; wobei das Erzeugen einer Raumkarte von mindestens einem Teil des dreidimensionalen Raumes aufweist: Empfangen (701) einer Benutzereingabe, die eine Mehrzahl von Bezugspunkten kennzeichnet; Verwenden der Mehrzahl von Bezugspunkten, um einen Anfangspunkt und eine Ausrichtung in einem Koordinatenbezugsrahmen auszuwählen (703); Ermitteln entsprechender Koordinaten jedes Bezugspunkts der Mehrzahl von Bezugspunkten in dem Koordinatenbezugsrahmen; Ermitteln (707) entsprechender Koordinaten, die mindestens einem Bereich der Mehrzahl von Bereichen in dem Koordinatenbezugsrahmen zugehörig sind.
DE112018004043.7T 2017-10-05 2018-09-13 Übertragung von visuellen daten in echtzeit an einen entfernt befindlichen empfänger Active DE112018004043B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/726,360 2017-10-05
US15/726,360 US10169850B1 (en) 2017-10-05 2017-10-05 Filtering of real-time visual data transmitted to a remote recipient
PCT/IB2018/057012 WO2019069156A1 (en) 2017-10-05 2018-09-13 TRANSMITTING REAL-TIME VISUAL DATA TO A REMOTE RECIPIENT

Publications (2)

Publication Number Publication Date
DE112018004043T5 DE112018004043T5 (de) 2020-05-14
DE112018004043B4 true DE112018004043B4 (de) 2022-08-04

Family

ID=64736648

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018004043.7T Active DE112018004043B4 (de) 2017-10-05 2018-09-13 Übertragung von visuellen daten in echtzeit an einen entfernt befindlichen empfänger

Country Status (6)

Country Link
US (3) US10169850B1 (de)
JP (1) JP7160446B2 (de)
CN (1) CN111194548B (de)
DE (1) DE112018004043B4 (de)
GB (1) GB2581659B (de)
WO (1) WO2019069156A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11906322B2 (en) * 2019-03-01 2024-02-20 Sony Interactive Entertainment Inc. Environment map management device, environment map management system, environment map management method, and program
US10757347B1 (en) * 2019-05-08 2020-08-25 Facebook, Inc. Modifying display of an overlay on video data based on locations of regions of interest within the video data
US11140503B2 (en) * 2019-07-03 2021-10-05 Qualcomm Incorporated Timer-based access for audio streaming and rendering
US10891128B1 (en) 2019-08-07 2021-01-12 Microsoft Technology Licensing, Llc Software regression detection in computing systems
DE102019127291A1 (de) * 2019-10-10 2021-04-15 Schaeffler Technologies AG & Co. KG Vorrichtung sowie Verfahren zum Konnektieren und zum Überwachen von Prozessen einer Produktionsmaschine
US11449131B2 (en) * 2020-07-28 2022-09-20 Qualcomm Incorporated Obfuscated control interfaces for extended reality
US12014734B2 (en) * 2021-07-22 2024-06-18 International Business Machines Corporation Dynamic boundary creation for voice command authentication
US20230051006A1 (en) * 2021-08-11 2023-02-16 Optum, Inc. Notification of privacy aspects of healthcare provider environments during telemedicine sessions
CN114007035B (zh) * 2021-09-24 2023-12-26 深圳壹秘科技有限公司 会议数据分享系统及方法
US11695819B2 (en) * 2021-11-30 2023-07-04 Plantronics, Inc. Securing image data from unintended disclosure at a videoconferencing endpoint
US11943507B2 (en) * 2022-01-12 2024-03-26 Rovi Guides, Inc. Masking brands and businesses in content
EP4345765A1 (de) * 2022-09-28 2024-04-03 BAE SYSTEMS plc Modifizierung von bildern einer umgebung
GB2622807A (en) * 2022-09-28 2024-04-03 Bae Systems Plc Modifying images of an environment
WO2024069128A1 (en) * 2022-09-28 2024-04-04 Bae Systems Plc Modifying images of an environment
US20240257383A1 (en) * 2023-01-27 2024-08-01 Huddly As Systems and methods for automatic detection of meeting regions and framing of meeting participants within an environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140275760A1 (en) 2013-03-13 2014-09-18 Samsung Electronics Co., Ltd. Augmented reality image display system and surgical robot system comprising the same
US20140362163A1 (en) 2013-06-10 2014-12-11 Citrix Systems, Inc. Providing user video having a virtual curtain to an online conference

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6509926B1 (en) * 2000-02-17 2003-01-21 Sensormatic Electronics Corporation Surveillance apparatus for camera surveillance system
JP2006287731A (ja) 2005-04-01 2006-10-19 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US8264505B2 (en) 2007-12-28 2012-09-11 Microsoft Corporation Augmented reality and filtering
US8161397B2 (en) 2008-06-05 2012-04-17 Samsung Electronics Co., Ltd. Interaction between real-world digital environments and virtual worlds
CN102473283B (zh) 2010-07-06 2015-07-15 松下电器(美国)知识产权公司 图像传送装置
KR101347518B1 (ko) 2010-08-12 2014-01-07 주식회사 팬택 필터의 선택이 가능한 증강 현실 사용자 장치 및 방법, 그리고, 증강 현실 서버
US8743145B1 (en) 2010-08-26 2014-06-03 Amazon Technologies, Inc. Visual overlay for augmenting reality
US9122053B2 (en) 2010-10-15 2015-09-01 Microsoft Technology Licensing, Llc Realistic occlusion for a head mounted augmented reality display
KR20120072126A (ko) 2010-12-23 2012-07-03 한국전자통신연구원 간접체험을 위한 비주얼 서로게이트와 그 공급 장치 및 방법
US9128520B2 (en) * 2011-09-30 2015-09-08 Microsoft Technology Licensing, Llc Service provision using personal audio/visual system
US9132346B2 (en) * 2012-04-04 2015-09-15 Kenneth J. Huebner Connecting video objects and physical objects for handheld projectors
US8994672B2 (en) 2012-04-09 2015-03-31 Sony Corporation Content transfer via skin input
US9335919B2 (en) 2012-06-25 2016-05-10 Google Inc. Virtual shade
US9456244B2 (en) * 2012-06-25 2016-09-27 Intel Corporation Facilitation of concurrent consumption of media content by multiple users using superimposed animation
US9224322B2 (en) 2012-08-03 2015-12-29 Apx Labs Inc. Visually passing data through video
US9319635B2 (en) * 2012-11-30 2016-04-19 Pelco, Inc. Window blanking for pan/tilt/zoom camera
US20140222462A1 (en) 2013-02-07 2014-08-07 Ian Shakil System and Method for Augmenting Healthcare Provider Performance
JP2014192784A (ja) 2013-03-28 2014-10-06 Secom Co Ltd 監視システム
US9424239B2 (en) 2013-09-06 2016-08-23 Microsoft Technology Licensing, Llc Managing shared state information produced by applications
EP3153976A4 (de) 2014-06-03 2018-01-31 Sony Corporation Informationsverarbeitungsvorrichtung, fotografievorrichtung, bildteilungssystem, informationsverarbeitungsverfahren und programm
US9865089B2 (en) 2014-07-25 2018-01-09 Microsoft Technology Licensing, Llc Virtual reality environment with real world objects
US9563983B2 (en) 2015-03-04 2017-02-07 International Business Machines Corporation Filtering information within augmented reality overlays
US10311251B2 (en) * 2015-03-30 2019-06-04 Adheraj Singh System and method for masking and communicating modified multimedia content
CA2958003C (en) * 2016-02-19 2022-04-05 Paul Stanley Addison System and methods for video-based monitoring of vital signs
CN105959421A (zh) * 2016-07-18 2016-09-21 乐视控股(北京)有限公司 视频监控方法、监控终端、视频监控器、被监控响应设备及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140275760A1 (en) 2013-03-13 2014-09-18 Samsung Electronics Co., Ltd. Augmented reality image display system and surgical robot system comprising the same
US20140362163A1 (en) 2013-06-10 2014-12-11 Citrix Systems, Inc. Providing user video having a virtual curtain to an online conference

Also Published As

Publication number Publication date
GB2581659B (en) 2022-07-13
US10169850B1 (en) 2019-01-01
JP7160446B2 (ja) 2022-10-25
US10217191B1 (en) 2019-02-26
CN111194548B (zh) 2021-08-13
CN111194548A (zh) 2020-05-22
US20190108623A1 (en) 2019-04-11
GB2581659A (en) 2020-08-26
JP2020536431A (ja) 2020-12-10
GB202005847D0 (en) 2020-06-03
DE112018004043T5 (de) 2020-05-14
US10607320B2 (en) 2020-03-31
WO2019069156A1 (en) 2019-04-11

Similar Documents

Publication Publication Date Title
DE112018004043B4 (de) Übertragung von visuellen daten in echtzeit an einen entfernt befindlichen empfänger
DE112017005059T5 (de) System und verfahren zum projizieren graphischer objekte
DE102018207088A1 (de) Bildanalyse ohne marker für augmented reality
DE112016004216T5 (de) Allgemeine Sphärische Erfassungsverfahren
DE112021003160T5 (de) Mixed-reality-telekonferenz an mehreren orten
DE112017002624T5 (de) Flugmanagement und -steuerung für unbemannte luftfahrzeuge
DE112017000325T5 (de) Erweitern eines Videodatenstroms
DE202009019124U1 (de) Bildinhalte zur einfacheren Navigation in Panorama-Bilddaten
DE112019000687T5 (de) Fotorealistische dreidimensionale texturierung unter verwendung kanonischer ansichten und eines zweistufigen ansatzes
DE202014010927U1 (de) Referenzpunktidentifizierung aus Punktwolken, die aus geografischen Bilddaten erstellt werden
DE102018006050A1 (de) Parallaxenkorrektur in der Virtuellen Realität
DE102012105754A1 (de) Personentracking und interaktive Werbung
DE202013012438U1 (de) Navigation visueller Daten, die mit einem geografischen Sonderziel verknüpft sind
DE202016008004U1 (de) Automatische Verbindung von Bildern unter Verwendung visueller Eigenschaftsquerverweise auf zugehörige Anwendungen
DE102018131417A1 (de) Automatische Erzeugung von Fussgängern in einer virtuellen Simulation von Strassenkreuzungen
DE212017000227U1 (de) Systeme zum Bestimmen eines prognostizierten Risikos für eine Flugbahn eines unbemannten Luftfahrzeugs
DE102019120561A1 (de) System und verfahren zur automatischen relokalisierung und automatischen angleichung vorhandener nichtdigitaler grundrisspläne
DE112015003263T5 (de) Bildmodifikation
DE112018003521T5 (de) Bereitstellen von anweisungen während einer fernbetrachtung einer benutzerschnittstelle
DE102012216859A1 (de) Looking glass: Ein hybrides Simulationssystem zum Modellieren kaskadierender Ereignisse innerhalb eines Blackboxsystems
DE102013217223A1 (de) Überwachungsanlage sowie Verfahren zur Darstellung eines Überwachungsbereichs
EP2831839B1 (de) Verfahren zum automatischen betreiben einer überwachungsanlage
EP3539085B1 (de) 3d-referenzierung
AT523953A2 (de) Verfahren zum einblenden eines virtuellen objektes
DE102018006838A1 (de) Dynamisches Mapping von virtuellen und physischen Interaktionen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final