-
Hintergrund
-
Diese
Erfindung betrifft Systeme, einschließlich Videokonferenzsysteme,
die eine Richtung einer Tonquelle relativ zu einem Bezugspunkt ermitteln.
-
Videokonferenzsysteme
bestehen aus einer Vielfalt von visuellen Anzeigesystemen und umfassen üblicherweise
eine Kamera, eine Anzahl von Mikrophonen und eine Anzeige. Einige
Videokonferenzsysteme umfassen auch die Fähigkeit, die Kamera in Richtung
eines Sprechers zu richten und entsprechende Kameraaufnahmen einzugrenzen.
Typischerweise richten Benutzer eines Videokonferenzsystems die
Kamera aus und grenzen entsprechende Aufnahmen ein.
-
EP-A-0356105
offenbart eine Drehstativ-Ansteuereinheit, die eine Drehkamera ansteuert,
so dass die Kamera auf einen Teilnehmer einer Videokonferenz zeigt,
der gerade spricht.
-
Zusammenfassung
-
Gemäß einem
Aspekt der Erfindung wird ein System mit den Merkmalen von Anspruch
1 des beigefügten
Anspruchssatzes bereitgestellt.
-
Gemäß einem
zweiten Aspekt der Erfindung wird ein Verfahren mit den Merkmalen
von Anspruch 32 des beigefügten
Anspruchssatzes bereitgestellt.
-
Gemäß einem
dritten Aspekt der Erfindung wird ein System mit den Merkmalen von
Anspruch 61 des beigefügten
Anspruchssatzes bereitgestellt.
-
In
einem allgemeinen Beispiel wird ein System offenbart, das eine Bildaufnahmevorrichtung, eine
Tonaufnahmevorrichtung und einen Tonquellenlokalisierer umfasst.
Die Bildaufnahmevorrichtung erzeugt Bildsignale, die ein Bild darstellen,
während
die Tonaufnahmevorrichtung Tonsignale erzeugt, die Schall von einer
Tonquelle darstellen. Der Tonquellenlokalisierer verarbeitet die
Bildsignale und Tonsignale, um eine Richtung der Tonquelle relativ
zu einem Bezugspunkt zu ermitteln.
-
In
einem weiteren allgemeinen Beispiel wird ein System mit einer Bildaufnahmevorrichtung
und einem Gesichtsdetektor offenbart. Die Bildaufnahmevorrichtung
erzeugt Bildsignale, die ein Bild darstellen. Der Gesichtsdetektor
verarbeitet die Bildsignale, um einen Bereich in dem Bild mit Fleischfarbtönen zu erfassen,
und stellt auf der Basis der Erfassung fest, ob das Bild ein Gesicht
darstellt.
-
In
noch einem weiteren allgemeinen Beispiel wird ein Videokonferenzsystem
mit Mikrophonen, einer Kamera, einer Positionierungsvorrichtung,
einem Prozessor und einem Sender offenbart. Die Mikrophone erzeugen
Tonsignale, die Schall von einer Tonquelle darstellen, und die Kamera
erzeugt Videosignale, die ein Videobild darstellen. Die Positionierungsvorrichtung
ist in der Lage, die Kamera beispielsweise zum Neigen, Schwenken
oder Zoomen der Kamera zu positionieren. Der Prozessor verarbeitet
die Videosignale und Tonsignale, um eine Richtung eines Sprechers
relativ zu einem Bezugspunkt zu ermitteln, und liefert Steuersignale
zur Positionierungsvorrichtung zum Positionieren der Kamera, um
den Sprecher in das Blickfeld der Kamera aufzunehmen, wobei die
Steuersignale auf der Basis der ermittelten Richtung des Sprechers
erzeugt werden. Der Sender sendet Ton- und Videosignale, die dieselben
sein können
wie die Ton- und Videosignale, die zum Auffinden der Tonquelle verwendet
werden, zur Videokonferenz.
-
In
einem weiteren allgemeinen Beispiel wird ein System mit Mikrophonen,
einer Kamera, einer Positionierungsvorrichtung, einem Prozessor
und einem Sender offenbart. Die Mikrophone erzeugen Tonsignale,
die Schall von einer Tonquelle darstellen, und die Kamera erzeugt
Videosignale, die ein Videobild darstellen. Die Positionierungsvorrichtung
ist in der Lage, die Kamera beispielsweise zum Neigen, Schwenken
oder Zoomen der Kamera zu positionieren. Der Prozessor verarbeitet
die Tonsignale, um eine Richtung eines Sprechers relativ zu einem
Bezugspunkt zu ermitteln, und liefert Steuersignale zur Positionierungsvorrichtung
zum Positionieren der Kamera, um den Sprecher in das Blickfeld der
Kamera aufzunehmen, wobei die Steuersignale auf der Basis der ermittelten
Richtung des Sprechers erzeugt werden. Der Sender sendet Ton- und
Videosignale, die dieselben sein können wie die Ton- und Videosignale,
die zum Auffinden der Tonquelle verwendet werden, zur Videokonferenz.
-
Bevorzugte
Ausführungsbeispiele
können
eines oder mehrere der folgenden Merkmale umfassen.
-
Die
Bildaufnahmevorrichtung umfasst eine Positionierungsvorrichtung
zum Positionieren der Bildaufnahmevorrichtung. Der Tonquellenlokalisierer liefert
Steuersignale zur Positionierungsvorrichtung zum Positionieren der
Bildaufnahmevorrichtung auf der Basis der ermittelten Richtung der
Tonquelle. Die Positionierungsvorrichtung kann dann die Bildaufnahmevorrichtung
als Reaktion auf die Steuersignale schwenken, neigen und wahlweise
zoomen. Der Tonquellenlokalisierer liefert Steuersignale zur Positionierungsvorrichtung
zum Positionieren der Bildaufnahmevorrichtung.
-
Ein
integriertes Gehäuse
für ein
integriertes Videokonferenzsystem enthält die Bildaufnahmevorrichtung,
die Tonaufnahmevorrichtung und den Tonquellenlokalisierer, wobei
das integrierte Gehäuse
so bemessen ist, dass es tragbar ist. In anderen Ausführungsbeispielen
kann das Gehäuse
die Mikrophone, die Kamera, die Positionierungsvorrichtung, den
Prozessor und den Sender enthalten.
-
Ein
Bild eines Gesichts einer Person, die sprechen kann, wird in einem
Videovollbild erfasst. Das Bild des Gesichts wird durch Identifizieren
eines Bereichs, der Fleischfarbtöne
in den Videovollbildern aufweist, erfasst und kann ein sich bewegendes
Gesicht darstellen, das beispielsweise durch Vergleichen des Videovollbildes
mit einem vorherigen Videovollbild ermittelt wird. Dann wird festgestellt,
ob die Größe des Bereichs
mit Fleischfarbtönen
einer vorgewählten
Größe entspricht,
wobei die vorgewählte Größe die Größe eines
vorgewählten
Standardgesichts darstellt. Wenn der Bereich mit Fleischfarbtönen einem
nicht-menschlichen Objekt mit Fleischfarbton entspricht, wird festgestellt,
dass der Bereich nicht einem Bild eines Gesichts entspricht. Die Richtung
des Gesichts relativ zum Bezugspunkt wird auch ermittelt.
-
Der
Tonquellenlokalisierer umfasst einen Tonbasislokalisierer zum Ermitteln
einer Tonbasisrichtung der Tonquelle auf der Basis der Tonsignale und
einen Videobasislokalisierer zum Ermitteln eines Videobasisorts
eines Bildes in einem der Videovollbilder. Das Bild kann das Bild
der Tonquelle sein, welche ein Objekt oder ein Gesicht einer sprechenden Person
sein kann. Der Tonquellenlokalisierer ermittelt dann die Richtung
der Tonquelle relativ zum Bezugspunkt auf der Basis der Tonbasisrichtung
und des Videobasisorts.
-
Der
Tonquellenlokalisierer erfasst das Bild des Gesichts einer sprechenden
Person durch Erfassen einer sprechenden Person auf der Basis der
Tonsignale, Erfassen von Bildern der Gesichter einer Vielzahl von
Personen auf der Basis der Videosignale und Korrelieren der erfassten
Bilder mit der sprechenden Person, um das Bild des Gesichts der
sprechenden Person zu erfassen.
-
Der
Tonquellenlokalisierer ermittelt einen Versatz des Videobasisorts
des Bildes von einem vorbestimmten Bezugspunkt in einem Videovollbild und
modifiziert die Tonbasisrichtung auf der Basis des Versatzes, um
die Richtung der Tonquelle relativ zum Bezugspunkt zu ermitteln.
Auf diese Weise kann der Tonquellenlokalisierer beispielsweise Fehler
bei der Ermittlung der Richtung der Tonquelle aufgrund von mechanischen
Fehlausrichtungen der Komponenten des Systems korrigieren.
-
Der
Tonquellenlokalisierer verwendet einen vorher ermittelten Versatz
eines Videobasisorts eines Bildes in einem vorherigen Videovollbild
und modifiziert die Tonbasisrichtung, um die Richtung der Tonquelle
zu ermitteln. Auf diese weise kann der Tonquellenlokalisierer beispielsweise
zukünftige
Fehler bei der Ermittlung der Richtung der Tonquelle aufgrund von
mechanischen Fehlausrichtungen der Komponenten des Systems verhindern.
-
Der
Tonquellenlokalisierer erfasst Bewegungen eines Sprechers und veranlasst
als Reaktion auf diese Bewegungen eine Vergrößerung des Blickfeldes der
Bildaufnahmevorrichtung. Auf diese Weise kann der Tonquellenlokalisierer
beispielsweise dafür sorgen,
dass die Bildaufnahmevorrichtung eine Aufnahme der Person aufnimmt,
wenn sich die Person bewegt, ohne notwendigerweise die Bildaufnahmevorrichtung
zu bewegen, damit sie der Person folgt.
-
Der
Tonquellenlokalisierer korreliert die Tonbasisrichtung, die auf
der Basis der Tonsignale erfasst wird, mit dem gespeicherten Videobasisort
des Bildes in einem Videovollbild und modifiziert die Tonbasisrichtung
auf der Basis der Ergebnisse der Korrelation, um die Tonbasisrichtung
zu modifizieren, um die Richtung der Tonquelle relativ zum Bezugspunkt zu
ermitteln. Dazu modifiziert der Tonquellenlokalisierer beispielsweise
seine Verarbeitung, um seine Genauigkeit zu verbessern.
-
Eine
Speichereinheit speichert eine vorher ermittelte Richtung einer
Tonquelle auf der Basis der Tonsignale und einen vorher ermittelten
Videobasisort eines Bildes eines Gesichts einer nicht-sprechenden
Person in einem vorherigen der Videovollbilder. Der Tonquellenlokalisierer
verwendet die gespeicherte Tonbasisrichtung und den gespeicherten Videobasisort,
um eine Einstellung des Blickfeldes der Bildaufnahmevorrichtung
zu veranlassen, um in das Blickfeld die Tonquelle und den vorher
ermittelten Videobasisort aufzunehmen. Auf diese Weise kann der
Tonquellenlokalisierer beispielsweise Raumaufnahmen vorsehen, die
sowohl sprechende Personen als auch nicht-sprechende Personen enthalten.
-
Der
Tonbasislokalisierer erfasst eine Vielzahl von Tonquellen und verwendet
mindestens einen Parameter, um festzustellen, ob mindestens eine
der Vielzahl von Tonquellen zur Verwendung bei der Erzeugung der
Steuersignale für
die Bildaufnahmevorrichtung für
gültig
zu erklären
ist, wobei das Ändern des
Parameters in einer Richtung eine Wahrscheinlichkeit, dass der Tonbasislokalisierer
mindestens eine der Vielzahl von Tonquellen für gültig erklärt, erhöht, und das Ändern dieses
Parameters in einer anderen Richtung die Wahrscheinlichkeit dafür, dass mindestens
eine der Vielzahl von Tonquellen für gültig erklärt wird, verringert. Der Tonquellenlokalisierer korreliert
die Tonbasisrichtung der Tonquelle mit dem gespeicherten Videobasisort
des Bildes im gleichen Vollbild, um festzustellen, ob das Bild in
diesem Videovollbild der Tonquelle entspricht. Wenn das Bild in diesem
Videovollbild der Tonquelle entspricht, ändert der Tonbasislokalisierer
den Parameter in der Richtung, die die Wahrscheinlichkeit für die Gültigkeitsbestätigung erhöht. Wenn
das Bild nicht der Tonquelle entspricht, ändert der Tonbasislokalisierer
den Parameter in der Richtung, die die Wahrscheinlichkeit für die Gültigkeitsbestätigung verringert.
Auf diese Weise wird die Ansprechzeit des Tonquellenlokalisierers beispielsweise
dynamisch überwacht
und verbessert.
-
Der
Tonquellenlokalisierer korreliert die Tonbasisrichtung der Tonquelle
mit dem Videobasisort des Bildes in einem Videovollbild, um festzustellen, ob
das Bild der Tonquelle entspricht. Wenn der Tonquellenlokalisierer
feststellt, dass das Bild nicht der Tonquelle entspricht, bewirkt
der Tonquellenlokalisierer eine Einstellung des Blickfeldes der
Bildaufnahmevorrichtung, um in das Blickfeld die Tonquelle und den
Videobasisort des Bildes im Videovollbild aufzunehmen. Auf diese
Weise kann der Tonquellenlokalisierer beispielsweise das Verhindern
von groben Kameraausrichtfehlern ermöglichen.
-
Der
Tonquellenlokalisierer kann auch den Abstand vom Bezugspunkt zur
Tonquelle ermitteln. Der Tonbasislokalisierer ermittelt einen Abstand
vom Bezugspunkt zur Tonquelle auf der Basis der Tonsignale, während der
Videobasislokalisierer einen weiteren Abstand vom Bezugspunkt zur
Tonquelle auf der Basis eines der Tonquelle zugeordneten Bildes
ermittelt. Der Tonquellenlokalisierer ermittelt dann einen endgültigen Abstand
auf der Basis des Tonbasisabstands und des Videobasisabstands.
-
In
einigen Ausführungsbeispielen
ermittelt der Videobasislokalisierer einen Videobasisort des Bildes
durch Erfassen eines Bereichs, der eine sich bewegende Peson darstellt,
und teilweises oder ganzes Ermitteln einer Kontur eines Bildes der
sich bewegenden Person. Der Videobasislokalisierer verwendet einen
Parameter beim Erfassen der Kontur des Bildes, wobei das Ändern des
Parameters in einer Richtung eine Wahrscheinlichkeit für das Erfassen
von Konturen von Bildern erhöht
und das Ändern dieses
Parameters in einer anderen Richtung die Wahrscheinlichkeit verringert.
Der Videobasislokalisierer ändert
den Parameter, wenn die Kontur des Bildes erfasst wird, um die Wahrscheinlichkeit
zu erhöhen
oder zu verringern. Der Videobasislokalisierer ermittelt beispielsweise
einen Rauschpegel, wobei eine Erhöhung des Rauschpegels die Wahrscheinlichkeit
für die
Erfassung von Konturen, die die Personen darstellen, in einem Videobild
verringert, und der Videobasislokalisierer ändert den Parameter auf der
Basis des Rauschpegels. Für
einen hohen Rauschpegel ändert
der Videobasislokalisierer beispielsweise den Parameter, um die
Wahrscheinlichkeit für
das Erfassen von Konturen von Bildern zu erhöhen. In diesen Ausführungsbeispielen
liefert der Tonquellenlokalisierer Steuersignale zur Positionierungsvorrichtung
zum Positionieren der Bildaufnahmevorrichtung. Die Steuersignale
umfassen Signale auf der Basis der Tonbasisrichtung, die auf der
Basis der Tonsignale erfasst wird, zum Veranlassen, dass die Positionierungsvorrichtung
die Bildaufnahmevorrichtung schwenkt, und Signale auf der Basis
des Videobasisorts, der auf der Basis von Video erfasst wird, zum
Neigen der Bildaufnahmevorrichtung.
-
Die
Ausführungsbeispiele
der Erfindung umfassen einen oder mehrere dieser Vorteile.
-
Das
Ermitteln der Richtung und/oder des Orts einer Tonquelle relativ
zu einem Bezugspunkt auf der Basis von sowohl Audio als auch Video
sieht ein System von Prüfungen
und Abgleichen vor, das die Gesamtleistung des automatischen Kamerarichtsystems
verbessert.
-
Eine
skalierbare Kombination von üblichen Bildverarbeitungsblöcken mit
geringer Komplexität kann
verwendet werden, um die Ausführungsbeispiele
der Erfindung zu implementieren. Solche Ausführungsbeispiele können vorteilhafterweise
geringe Rechen- und Speicheranforderungen aufweisen und gleichzeitig
eine stabile Leistung für
verschiedene Anwendungen wie z. B. Videokonferenz liefern.
-
Verschiedene
Arten von Fehlern in einigen visuellen Systemen wie z. B. Videokonferenzsystemen,
die Sprecher auf der Basis von Tonsignalen auffinden, können korrigiert
und möglicherweise
verhindert werden. Die korrigierten Fehler umfassen mechanische
Schwenk- und Neigungsfehlausrichtungsfehler, Reichweitenmess- und
zugehörige
Zoomfehler und grobe Richtfehler. Die Fehler, die verhindert werden
können,
umfassen grobe Richtfehler. Außerdem
kann die Ansprechzeit solcher visueller Systeme verringert werden.
-
In
einigen Ausführungsbeispielen
wird die Leistung von Systemen und Algorithmen zum automatischen
Einrichten von Kameraaufnahmen in solchen Ton- und visuellen Systemen
verbessert. Eine bessere "Raumaufnahme" kann beispielsweise durch
Aufnehmen von nicht-sprechenden Personen, die auf der Basis von
Videobildern erfasst werden, erhalten werden. Ein sich bewegender
Sprecher, wie z. B. einer, der eine Präsentation gibt, kann durch
Verfolgen seines Bildes verfolgt werden.
-
In
einigen Ausführungsbeispielen
von Videokonferenzsystemen ist es beispielsweise aufgrund der gewünschten
Kosten oder Größe des Systems auch
unpraktisch eine Mikrophonanordnung bereitzustellen, um eine Neigungsinformation
vorzusehen. In solchen Ausführungsbeispielen
kann der Tonbasislokalisierer die Tonbasisrichtung der Tonquelle
finden und die Kamerapositionierungsvorrichtung veranlassen, die
Kamera zu schwenken. Der Videobasislokalisierer kann dann ein Bild
des Sprechers erfassen und die Kamerapositionierungsvorrichtung veranlassen,
die Kamera zu neigen. Auf diese Weise wird ein bereits verfügbares Betriebsmittel
im System (das heißt
Videosignale) verwendet, um ein ansonsten nicht-verfügbares Merkmal,
die Neigung, vorzusehen.
-
Die
Ausführungsbeispiele
der Erfindung umfassen integrierte und tragbare Videokonferenzeinheiten.
In diesen Einheiten können
Videobilder zum Vorsehen einer Neigungsinformation und möglicherweise
einer Zoominformation verwendet werden, während die Tonsignale zum Vorsehen
einer Schwenkinformation verwendet werden können.
-
Außerdem sind
Tonbasislokalisierer typischerweise weniger rechenintensiv als Videobasislokalisierer.
Daher ist es schneller, den Sprecher unter Verwendung der Tonbasiserfassung
aufzufinden, um eine Bildaufnahmevorrichtung auf der Basis der Tonbasisrichtung
zu bewegen, und dann die Ergebnisse vom Videobasislokalisierer zu
verwenden, um die Kamerapositionierung und -eingrenzung zu korrigieren.
-
Da
die Ergebnisse vom Tonbasislokalisierer nicht allein, sondern in
Kombination mit der Videotechnologie verwendet werden, können die
Ausführungsbeispiele
des Tonbasislokalisierers unter Verwendung von Komponenten implementiert
werden, die nicht so genau sind, wie sie ansonsten sein müssen.
-
Kurzbeschreibung
der Zeichnung
-
1 zeigt ein beispielhaftes
Videokonferenzsystem.
-
2 zeigt schematisch Komponenten
des Videokonferenzsystems.
-
3 zeigt die verschiedenen
Funktionsmodule eines Kamerarichtmoduls im Videokonferenzsystem.
-
4 ist ein Ablaufplan des
Betriebs des Kamerarichtmoduls.
-
5 ist ein Ablaufplan von
detaillierten Schritten, die von einem Video-Gesichtsortsmodul durchgeführt werden.
-
6 ist der Pseudocode für einen
Algorithmus zum Erzeugen einer Fleischton-Binärabbildung.
-
7 ist der Pseudocode für einen
Algorithmus zum Erfassen von Pixeln in einem aktuellen Videovollbild
entsprechend Objekten, die sich seit dem vorherigen Videovollbild
bewegt haben.
-
8 ist der Pseudocode für einen
Algorithmus zum Zurückweisen
von Gesichtssegmenten auf der Basis ihrer räumlichen Lumavarianzen und
zeitlichen Lumadifferenzvarianzen.
-
9 zeigt einen Ablaufplan
der Schritte, die von einem Gesichtsort-Verfolgungsmodul unternommen
werden.
-
10 ist der Pseudocode für einen
Vorhersagealgorithmus zum Abschätzen
des Orts der Bilder von Gesichtern, die in einem vorherigen Videovollbild erfasst
wurden, für
ein aktuelles Videovollbild.
-
11 ist der Pseudocode für einen
Zuordnungsalgorithmus zum Zuordnen der erfassten Gesichter im aktuellen
Videovollbild zu existierenden Verfolgungsdateien.
-
12 ist der Pseudocode für einen
Algorithmus zum Aktualisieren der Verfolgungsdateien.
-
13 zeigt einen Ablaufplan
der Schritte, die von einem Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul unternommen werden.
-
14 stellt einen Fehler in
der Eingrenzung einer Kameraaufnahme aufgrund einer Fehlausrichtung
zwischen der Kamera und einer Mikrophonanordnung dar.
-
15 zeigt einen Ablaufplan
der Schritte, die von einem Kamerasteuermodul unternommen werden,
um einen Fehler in der Eingrenzung einer Kameraaufnahme aufgrund
einer Fehlausrichtung zwischen der Kamera und einer Mikrophonanordnung
zu korrigieren.
-
16 stellt einen Fehler in
der Eingrenzung einer Kameraaufnahme aufgrund eines groben Richtfehlers
dar.
-
17 zeigt einen Ablaufplan
der Schritte, die von einem Kamerasteuermodul unternommen werden,
um einen groben Richtfehler zu korrigieren.
-
18 stellt einen Fehler in
der Eingrenzung einer Kameraaufnahme aufgrund eines Entfernungsmessfehlers
dar.
-
19 zeigt einen Ablaufplan
der Schritte, die von einem Kamerasteuermodul unternommen werden,
um einen Entfernungsmessfehler zu korrigieren.
-
20 zeigt einen Ablaufplan
der Schritte, die von einem Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul unternommen werden, um grobe Richtfehler zu
verhindern.
-
21 zeigt einen Ablaufplan
der Schritte, die von einem Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul unternommen werden, um die Ansprechzeit des
Videokonferenzsystems von 1 zu
verringern.
-
22 zeigt einen Ablaufplan
der Schritte, die von einem Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul unternommen werden, um eine Gruppenaufnahme
einzugrenzen.
-
23A–C zeigen
Drauf sichten auf die Position eines sich bewegenden Sprechers relativ
zum Blickfeld einer Kamera.
-
24 zeigt einen Ablaufplan
der Schritte, die von einem Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul unternommen werden, um das Blickfeld einer
Kamera für
einen sich bewegenden Sprecher einzustellen.
-
25 zeigt ein alternatives
Ausführungsbeispiel
eines Videokonferenzsystems.
-
26 ist ein Ablaufplan von
detaillierten Schritten, die von einem Video-Gesichtsortsmodul durchgeführt werden,
um Konturen von sprechenden Personen zu erfassen.
-
Beschreibung
-
1 zeigt schematisch ein
beispielhaftes Videokonferenzsystem 10. Das Videokonferenzsystem 10 umfasst
eine Videokamera 14 und eine Anordnung von Mikrophonen 12,
die Mikrophone 12A, 12B, 12C, 12D umfasst,
die in einem vorbestimmten Abstand voneinander in einer vorbestimmten
Geometrie angeordnet sind. Die Videokamera 14 ist an einer
Kamerapositionierungsvorrichtung 16 montiert, die zum Schwenken,
Neigen und Zoomen der Videokamera 14 in der Lage ist.
-
Kurz
gesagt, empfängt
das Videokonferenzsystem 10 während des Betriebs Schallwellen
von einem menschlichen Sprecher und wandelt sie in Tonsignale um.
Das Videokonferenzsystem nimmt auch Videobilder des Sprechers auf.
Das Videokonferenzsystem 10 verwendet die Tonsignale und
Videobilder, um einen Ort des (der) Sprechers) relativ zu einem Bezugspunkt,
beispielsweise der Kamera 14 oder dem Drehzentrum der Kamerapositionierungsvorrichtung 16,
zu ermitteln. Auf der Basis dieser Richtung kann das Videokonferenz 10 dann
die Kamera 14 schwenken, neigen oder hinein- oder herauszoomen,
um ein besseres Bild des (der) Sprecher(s) zu erhalten.
-
Im
Allgemeinen kann ein Ort des Sprechers relativ zur Kamera 14 durch
zwei Werte charakterisiert werden: eine Richtung des Sprechers relativ
zur Kamera 14, die durch einen Vektor ausgedrückt werden
kann, und einen Abstand des Sprechers von der Kamera 14.
Wie leicht ersichtlich ist, kann die Richtung des Sprechers relativ
zur Kamera 14 zum Richten der Kamera 14 auf den
Sprecher durch Schwenken oder Neigen der Kamera 14 verwendet
werden und der Abstand des Sprechers von der Kamera 14 kann
zum Zoomen der Kamera 14 verwendet werden.
-
2 zeigt schematisch Komponenten
des Videokonferenzsystems 10. Die Mikrophone 12 und die
Kamera 14 liefern Tonsignale 22 bzw. Videosignale 24 zu
einer Ton- und Videosignal-Verarbeitungseinheit 20.
Die Ton- und Videosignal-Verarbeitungseinheit 20 umfasst
einen Tonquellenlokalisierer 28, der die Tonsignale 22 und
Videosignale 24 analysiert, um den Ort eines Sprechers
zu ermitteln. Der Tonquellenlokalisierer 28 liefert Kamerasteuersignale 26 zur
Kamerapositionierungsvorrichtung 16 und zur Kamera 14 zum
Schwenken, Neigen und Zoomen der Kamera 14.
-
Die
Ton- und Videosignal-Verarbeitungseinheit 20 beliefert
auch einen Codierer/Decodierer 30 mit Tonsignalen 22 und
Videosignalen 24. Der Codierer/Decodierer 30 komprimiert
die Ton- und Videosignale und liefert dann die komprimierten Videosignale und
Tonsignale zu einer Netzwerkschnittstelle 40, die die Signale über ein
Telekommunikationsnetzwerk 42 zu einem Empfangs-Videokonferenzsystem
(nicht dargestellt) überträgt. Eine
Steuer- und Benutzerschnittstellen-Schicht 50 ermöglicht einem
Benutzer, mit den verschiedenen Komponenten des Videokonferenzsystems 10,
einschließlich
der Ton- und Videosignal-Verarbeitungseinheit 20, des Codierers/Decodierers 30 und
der Netzwerkschnittstelle 40, in Dialogverkehr zu treten
und deren Betrieb zu steuern.
-
3 zeigt die verschiedenen
Funktionsmodule des Tonquellenlokalisierers 28. Diese Module können beispielsweise
durch einen geeignet programmierten Prozessor wie z. B. einen Mikroprozessor
mit geeigneten Speichern, wie z. B. einem Festwertspeicher (ROM),
einem Direktzugriffsspeicher (RAM) und/oder anderen Speicherformen,
implementiert werden. Alternativ umfassen geeignete Prozessoren
zum Durchführen
der Funktionen der Module in 3 programmierbare
Digitalsignalprozessoren, Minicomputer, Mikrocontroller, programmierbare
Logikanordnungen und anwendungsspezifische integrierte Schaltungen.
In anderen Ausführungsbeispielen
können
einige oder alle der Module in 3 implementiert
werden, um auf einem Prozessor zu laufen, der kein Teil des Videokonferenzsystems 10 ist.
-
Es
sollte beachtet werden, dass im Videokonferenzsystem 10 die
verschiedenen Komponenten und Schaltungen, die das Videokonferenzsystem 10 bilden,
innerhalb eines integrierten Gehäuses 10A untergebracht
sind, wie in 1 gezeigt.
Das integrierte Gehäuse 10A ist
so ausgelegt, dass es alle Komponenten und Schaltungen der Videokonferenz 10 aufnehmen
kann. Außerdem
kann das integrierte Gehäuse 10A so
bemessen sein, dass es leicht durch eine Person tragbar ist. In
einem solchen Ausführungsbeispiel
können
die Komponenten und Schaltungen so ausgelegt sein, dass sie dem
Transport durch eine Person standhalten und auch "Plug and Play"-Fähigkeiten
aufweisen, so dass das Videokonferenzsystem schnell in einer neuen
Umgebung installiert und verwendet werden kann.
-
In
einigen alternativen Ausführungsbeispielen
können
die Mikrophonanordnung 12, die Kamera 14, die
Kamerapositionierungsvorrichtung 16 und der Tonquellenlokalisierer 28 von
anderen Komponenten getrennt und in einer automatischen Kamerapositionierungsvorrichtung
enthalten sein. In solchen Ausführungsbeispielen
enthält
eine Haupt-Videokonferenzvorrichtung die anderen Komponenten des
Videokonferenzsystems 10. Die automatische Kamerapositionierungsvorrichtung
und die Haupt-Videokonferenzvorrichtung
bilden dann zusammen ein Videokonferenzsystem.
-
Nachdem
das Videokonferenzsystem 10 in allgemeinen Worten beschrieben
wurde, wird nun der Betrieb des Tonquellenlokalisierers 28 des
Ton- und Videosignalprozessors 20 im einzelnen beschrieben. Ein
Tonbasislokalisierer (oder Tonbasisdetektor) 70 empfängt Tonsignale 22 und
ermittelt den Ort eines Sprechers (d. h. einer Tonquelle) relativ
zur Mikrophonanordnung. Der Tonbasislokalisierer 70 erzeugt dann
eine Reihe von Kamerapositionierungsanweisungen bezüglich des
Schwenkens, Neigens und Zoomens der Kamera 14. Diese Anweisungen
können
teilweise auf der Gesichtserfassung und Ortsanalyse basieren, die
von einem Videobasislokalisierer (oder einem Videobasis-Detektormodul) 60 durchgeführt werden.
Der Tonbasislokalisierer 70 beliefert dann ein Kamerasteuermodul 80 mit
diesen Kamerapositionierungsanweisungen. Nachdem das Kamerasteuermodul 80 die
Kamera 14 gemäß diesen
Kamerapositionierungsanweisungen bewegt, analysiert der Videobasislokalisierer 60 die
Bilder in den Videovollbildern 24, die als digitale Signale
empfangen werden und als digitale Daten in einer Speichereinheit
(nicht dargestellt) gespeichert werden. Der Videobasislokalisierer 60 erfasst
menschliche Gesichter in den Bildern und ermittelt ihre Position
relativ zu einem Bezugspunkt im Videovollbild, in dem sie erfasst
werden. Das Kamerasteuermodul 80 korreliert dann ein erfasstes
Videogesicht mit dem erfassten Tonsprecher und verwendet diese Korrelation,
um Kameraeingrenzungsfehler zu korrigieren oder zu verhindern.
-
4 ist ein Ablaufplan des
Betriebs des Tonquellenlokalisierers 28. Der Videobasislokalisierer 60 umfasst
Verarbeitungsmodule 102–110, während der
Tonbasislokalisierer 70 Verarbeitungsmodule 112–118 umfasst.
Jedes dieser Verarbeitungsmodule wird nachstehend im einzelnen beschrieben. Kurz
gesagt, analysiert ein Video-Gesichtsortsmodul 102 Videosignale 24,
um Gesichter in einem einzelnen Videovollbild zu erfassen. Ein Videoversatz-/Fehlermessmodul 104 misst
den Versatz des Orts der erfassten Gesichter von einem gewissen vorbestimmten
und statischen Bezugspunkt (beispielsweise der Mitte des Videobildes)
und/oder einem dynamischen Bezugspunkt (beispielsweise dem derzeit
erfassten Sprecher). Ein Gesichtsort-Verfolgungsmodul 106 korreliert
die erfassten Gesichter vom aktuellen Videovollbild mit den erfassten
Gesichtern in den vorherigen Videovollbildern und verfolgt daher
die erfassten Gesichter durch eine Reihe von Vollbildern. Diese
Verfolgung ermöglicht
das Erhalten einer korrekten Position eines Sprechers in einem Videovollbild,
welcher sich bewegen kann, wie nachstehend beschrieben wird. Um
diese Verfolgung durchzuführen,
erzeugt das Gesichtsort-Verfolgungsmodul 106 eine Verfolgungsdatei
für jedes
erfasste Gesicht und verwaltet diese.
-
Die
Module 102–108 berechnen
verschiedene Maße
relativ zu einem Videokoordinatensystem, das auf dem Videovollbild
basiert. Das Videokoordinatensystem gilt für jedes von der Kamera 14 aufgenommene
Vollbild. Das Videokoordinatensystem weist eine horizontale oder
x-Achse und eine vertikale oder y-Achse auf. Wenn eine Position
eines Pixels oder eines Bildes ermittelt wird, ermitteln die Module 102–108 diese
Position relativ zur x-Achse und zur y-Achse des Videovollbildes
dieses Pixels oder Bildes. Das Kamerasteuermodul 80 und
der Tonbasislokalisierer 70 verwenden wiederum ein Audiokoordinatensystem,
das einen Ort eines Sprechers auf der Basis von Schwenk-, Neigungs- und Zoomwinkeln angibt,
die die Richtung des Sprechers relativ zur Kamera 14 und
die Reichweite oder den Abstand von der Kamera 14 zum Sprecher
beschreiben. Ein Modul 108 zur Transformation in Audiokoordinaten
wandelt die im Videokoordinatensystem ausgedrückten Koordinatenmaße in Koordinatenmaße, die
im Audiokoordinatensystem ausgedrückt sind, unter Verwendung
der Schwenk-, Neigungs- und Zoomwerte der Kamera 14 um,
wenn das Vollbild von der Kamera 14 aufgenommen wurde.
Dagegen wandelt ein Modul 112 zur Transformation in Videokoordinaten des
Tonbasislokalisierers 70 im Audiokoordinatensystem ausgedrückte Koordinatenmaße in Koordinatenmaße, die
im Videokoordinatensystem ausgedrückt sind, auch unter Verwendung
der Schwenk- und Neigungswerte der Kamera 14 um, wenn das Vollbild
von der Kamera 14 aufgenommen wurde.
-
Ein
Gesichtsort-Speichermodul 110 speichert im Speicher die
Ergebnisse der Verarbeitung in den Modulen 102–108,
wie nachstehend beschrieben wird.
-
Im
Tonbasislokalisierer 70 ermittelt das Ton-Sprecherortsmodul 114 den
Ort eines Sprechers auf der Basis von Tonsignalen 22. Die
Ergebnisse dieser Ortsermittlung sind typischerweise ein Satz von
Schwenk-, Neigungs- und Reichweiten-Koordinatenmaßen. Ein
Sprecher-Gültigkeitsbestätigungs- und
Eingrenzungsmodul 116 stellt fest, ob der erfasste Ort
des Sprechers eine gültige
Erfassung ist. Auf der Basis der Ergebnisse der aktuellen und vorherigen
Erfassungen ermittelt das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 dann die geeignetste Kameraschwenkung,
-neigung und -zoom (das heißt
die geeignetste Kameraaufnahme oder -eingrenzung). Das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 kann die im Videobasislokalisierer 60 erhaltenen
Maße verwenden, um
die geeignete Kameraaufnahme zu verbessern, wie nachstehend beschrieben
wird. Ein Tonortsspeicher 118 speichert die Ergebnisse
der Verarbeitung in den Modulen 114–116.
-
Das
Kamerasteuermodul 80 erfasst vom Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die gewünschten Kameraeingrenzungsanweisungen.
Das Kamerasteuermodul 80 erfasst auch vom Videobasislokalisierer 60 die
Versatz- und/oder Fehlermessungen zwischen den Sprecherorten, die
auf der Basis der Videosignale und der Tonsignale erfasst werden.
Das Kamerasteuermodul 80 verwendet dann die vom Videobasislokalisierer 60 erfassten
Werte, um die gewünschte
Kameraeingrenzung einzustellen, die vom Tonbasislokalisierer 70 erfasst
wird, um mechanische Fehlausrichtungsfehler zu korrigieren, wie
nachstehend genau beschrieben wird.
-
Der
Betrieb von verschiedenen Modulen des Videobasislokalisierers 60 wird
nun im einzelnen beschrieben. Im Videobasislokalisierer 60 analysiert das
Video-Gesichtsortsmodul 102 aktuelle und vorherige Vollbilder
von Videobildern von der Kamera 14 und ermittelt die Position
der Gesichter im aktuellen Vollbild. 5 ist
ein Ablaufplan der detaillierten Schritte, die vom Video-Gesichtsortsmodul 102 durchgeführt werden.
Kurz gesagt, identifiziert das Video-Gesichtsortsmodul 102 Bereiche
oder Segmente in einem Vollbild, die ein Gesicht enthalten können, auf
der Basis der Erfassung von Pixeln, die Fleischfarbtöne aufweisen
und die Pixel darstellen, die sich bewegt haben.
-
Das
Video-Gesichtsortsmodul 102 ruft zuerst aktuelle und vorherige
Videovollbilder 132 ab, die im Speicher gespeichert sind.
Im beschriebenen Ausführungsbeispiel
werden Videovollbilder zur Gesichtserfassung im 420 YUV-Format mit 3–5 Vollbildern
pro Sekunde mit einer Auflösung
von 320 × 240 Pixeln
für die
Leuchtdichte (Luma) und 160 × 120
Pixeln für
den Farbwert (Chroma) aufgenommen. Die Lumawerte werden dann auf
eine niedrigere Auflösung
von 160 × 120
abwärts
abgetastet. Alternativ kann QCIF-Video mit einer Auflösung von
172 × 144 für Luma und
Chroma verwendet werden. In anderen Ausführungsbeispielen können andere
Videoformate, eine andere Auflösung
usw. verwendet werden.
-
Das
Video-Gesichtsortsmodul 102 verringert dann in Schritt 134 das
Bild im abgerufenen Vollbild auf eine Fleischton- Binärabbildung,
wobei jedem Pixel, das einen Chromawert entsprechend den Fleischfarbtönen aufweist,
ein Wert von "1" in der Fleischton-Binärabbildung
zugewiesen wird (nachstehend als "Fleischtonpixel" bezeichnet). 6 ist der Pseudocode für einen
Algorithmus 600 zum Erzeugen der Fleischton-Binärabbildung.
Für jedes
Pixel (Schritt 605) testet das Video-Gesichtsortsmodul 102 den
Chromawert des Pixels gegen Chromaschwellenwerte für Fleischfarbtöne. Diese
Chroma- oder Fleischton-Schwellenwerte können beispielsweise auf –50 < Cb < –5 und 7 < Cr < 60 gesetzt werden.
Diese Werte führen
zur Erfassung eines hohen Prozentsatzes von Fleischtonpixeln ungeachtet
des Hauttons oder der Beleuchtung. Diese Schwellenwerte führen jedoch
auch zu einigen falsch erfassten Pixeln, die Nicht-Gesichts-Objekten
entsprechen, deren Farbe innerhalb die Fleischton-Schwellenwerte fällt. Wenn
der Chromawert des getesteten Pixels innerhalb die Fleischton-Schwellenwerte
fällt (Schritt 610),
dann weist das Video-Gesichtsortsmodul 102 diesem Pixel
in der Fleischtonabbildung einen Wert von "1" zu
(Schritt 615). Wenn der Chromawert des Pixels nicht innerhalb
die Fleischton-Schwellenwerte fällt
(Schritt 620), dann weist das Video-Gesichtsortsmodul 102 diesem
Pixel in der Fleischtonabbildung einen Wert von "0" zu
(Schritt 625).
-
Unter
Rückbezug
auf 5 analysiert das Video-Gesichtsortsmodul 102 als
nächstes
in Schritt 136 das Vollbild, um zu erfassen, welche Fleischtonpixel
in der Fleischton-Binärabbildung
Objekten entsprechen, die sich seit dem vorherigen Vollbild bewegt
haben (nachstehend "Bewegungspixel"). Ein menschliches
Gesicht bewegt sich gewöhnlich. Durch
Identifizieren von Pixeln, die nicht sich bewegenden Objekten entsprechen,
weist das Video-Gesichtsortsmodul 102 daher
einen hohen Prozentsatz an falsch erfassten Fleischtonpixeln zurück. 7 ist der Pseudocode für einen
Algorithmus 700 zum Erfassen von Bewegungspixeln. Für jedes
Pixel (Schritt 705), wenn der Fleischton-Binärabbildungswert
für dieses
Pixel "1" ist (Schritt 710),
stellt dann das Video-Gesichtsortsmodul 102 fest, ob das
Pixel auch ein Bewegungspixel ist. Dazu testet das Video-Gesichtsortsmodul 102 den
Lumawert dieses Pixels gegen den Lumawert desselben Pixels im vorherigen Vollbild.
Wenn die absolute Differenz der Lumawerte geringer ist als ein Bewegungsschwellenwert
(im beschriebenen Ausführungsbeispiel
ist der Wert des Bewegungsschwellenwerts 5 für eine 8-Bit-Luma), dann stellt
das Video-Gesichtsortsmodul 102 fest, dass das Pixel einem
sich nicht bewegenden Objekt entspricht, und weist dem Fleischton-Binärabbildungswert
für dieses
Pixel "0" neu zu (Schritte 715–720).
-
Unter
Rückbezug
auf 5 wendet das Video-Gesichtsortsmodul 102 in
Schritt 138 nach dem Bewegungserfassungsschritt 136 ein
Filter auf die Fleischtonerfassung an, um falsche Erfassungen, die sich
aus Rauschen ergeben, zu verringern (Schritt 138). Verschiedene
Arten von Filtern können
zum Ausfiltern oder Verringern des Effekts von Rauschen verwendet
werden. Im beschriebenen Ausführungsbeispiel
verwendet das Video-Gesichtsortsmodul 102 ein
lineares zweidimensionales Filter, nämlich ein 5 × 5-Boxcarfilter
mit Einheitskoeffizienten. Das Video-Gesichtsortsmodul 102 wendet
dieses Filter durch Addieren der Anzahl von positiven Fleischton- und
Bewegungserfassungen in einem 5 × 5-Quadrat von Pixeln, die
das gefilterte Pixel umgeben, auf ein spezielles Pixel an. Wenn
die Summe über
einem vorbestimmten Schwellenwert liegt, dann wird der Fleischton-Binärabbildungswert
für dieses
Pixel auf "1" gesetzt. Ansonsten
setzt das Video-Gesichtsortsmodul 102 den Fleischton-Binärabbildungswert
für dieses
Pixel auf "0".
-
Das
Video-Gesichtsortsmodul 102 segmentiert dann in Schritt 140 die
Fleischton-Binärabbildung
in Rechtecksegmente (oder Kästchen),
die Bereiche umgeben, die benachbarte Bereiche von Fleischtonpixeln
enthalten und daher Bilder von Gesichtern enthalten können (nachstehend
als "Gesichtssegmente" bezeichnet). Um
das Bild zu segmentieren, tastet das Video-Gesichtsortsmodul 102 jede
Zeile der Fleischton-Binärabbildung
ab, um den Anfang und das Ende jedes Satzes von benachbarten Fleischtonpixeln
in der Zeile zu ermitteln, wobei jedes Pixel in einem Satz einen
Chromawert nahe dem mittleren Chromawert für diesen ganzen Satz aufweist.
Wenn das Video-Gesichtsortsmodul 102 einen solchen Satz
findet, ermittelt das Video-Gesichtsortsmodul 102 die
Differenz zwischen dem Ort und dem mittleren Chromawert des Satzes
und dem Ort und den mittleren Chromawerten aller vorher identifizierten
Gesichtssegmente im aktuellen Vollbild. Das Video-Gesichtsortsmodul 102 hängt dann den
Satz von Pixeln an das Gesichtssegment an, für das die berechnete Differenz
innerhalb eines vorbestimmten Schwellenwerts lag und auch die minimale Differenz
war, die für
alle vorher identifizierten Gesichtssegmente berechnet wurde. Das
Video-Gesichtsortsmodul 102 stellt bei Bedarf die Größe des Gesichtssegments
ein, um den neuen Satz von Pixeln aufzunehmen. Außerdem berechnet
das Video-Gesichtsortsmodul 102 den mittleren Chromawert
für dieses
Gesichtssegment innerhalb des zusätzlichen neuen Satzes von Pixeln
neu. Das Video-Gesichtsortsmodul 102 weist auf diese Weise
jedes Fleischtonpixel einem Gesichtssegment zu. Wenn ein Satz von
Pixeln keinem vorher erfassten Gesichtssegment entspricht, dann
verwendet das Video-Gesichtsortsmodul 102 den Satz von
Pixeln, um ein neues Gesichtssegment zu erzeugen.
-
Im
Segment/Gesichts-Klassifizierungsschritt 142 untersucht
das Video-Gesichtsortsmodul 102 dann alle erfassten Gesichtssegmente
und weist diejenigen Gesichtssegmente zurück, die wahrscheinlich kein
Gesicht darstellen. Das Video-Gesichtsortsmodul 102 verwendet
zwei Verfahren zum Feststellen, ob ein Gesichtssegment wahrscheinlich
ein Gesicht darstellt. Gemäß dem ersten
Verfahren stellt das Video-Gesichtsortsmodul 102 fest,
ob die Größe des Gesichtssegments
einer Standardgröße des Bildes
eines typischen oder vorgewählten
Standardkopfs entspricht, wenn der Kamerareichweitenwert gegeben
ist. Wenn die Größe eines
Gesichtssegments bei dieser Reichweite geringer als die Standardbildgröße (oder
eine skalierte Standardbildgröße bei dieser
Reichweite, wie z. B. 125% der Standardbildgröße) ist, stellt das Video-Gesichtsortsmodul 102 fest,
dass das Gesichtssegment wahrscheinlich kein Gesicht darstellt.
Wenn die Verhältnisse
eines Gesichtssegments nicht innerhalb eines Bereichs für einen
typischen Kopf (beispielsweise Breiten-Höhen-Verhältnis von 1,5) liegen, stellt
das Video-Gesichtsortsmodul 102 außerdem fest,
dass das Gesichtssegment wahrscheinlich kein Gesicht darstellt.
-
Gemäß dem zweiten
Verfahren weist das Video-Gesichtsortsmodul 102 Gesichtssegmente
zurück,
die aufgrund von Schatten, die sich über fleischtonfarbige Hintergründe bewegen,
oder aufgrund von Objekten, die sich über fleischtonfarbigen Hintergrund
bewegen, erfasst wurden. Dazu weist das Video-Gesichtsortsmodul 102 kurz
gesagt Gesichtssegmente mit einer räumlichen Lumavarianz oder einer zeitlichen
Lumadifferenzvarianz unterhalb vorbestimmter Schwellenwerte zurück. 8 ist der Pseudocode für einen
Algorithmus 800 zum Zurückweisen von
Gesichtssegmenten auf der Basis der räumlichen Lumavarianz und der
zeitlichen Lumadifferenzvarianz.
-
Im
Allgemeinen verursacht die Bewegung von Schatten über fleischtonfarbige
stationäre
Objekte, dass die Pixel für
die fleischtonfarbigen stationären
Objekte als Fleischtonpixel und Bewegungspixel erfasst werden. In
diesen Gesichtssegmenten werden aufgrund der Bewegung von Schatten
alle Lumawerte der Gesichtspixel im Allgemeinen um dasselbe Ausmaß von den
entsprechenden Lumawerten im vorherigen Vollbild verringert. Daher
ist die zeitliche Lumadifferenzvarianz für ein Gesichtssegment zwischen
dem aktuellen und dem vorherigen Vollbild relativ klein. (Die zeitliche
Lumadifferenzvarianz eines Gesichtssegments ist die Varianz der
Differenz zwischen dem Lumawert des Pixels zwischen dem aktuellen
und dem vorherigen Vollbild von einer mittleren Differenz, zwischen
dem aktuellen und dem vorherigen Vollbild, aller Lumawerte für die Pixel
in diesem Gesichtssegment.) Im Fall der meisten anderen sich bewegenden
Objekte, die keinen Schatten unterliegen, weicht die Differenz der
Lumawerte signifikant von der mittleren Differenz ab und daher ist
die zeitliche Lumadifferenzvarianz relativ groß.
-
Die
Schritte 805–825 im
Algorithmus 800 in 8 verwenden
die zeitliche Lumadifferenzvarianz, um Gesichtssegmente zu erfassen,
die als Gesichtssegmente klassifiziert wurden, aber wahrscheinlicher stationäre Objekte
darstellen, die sich bewegenden Schatten unterliegen. Für jedes
Gesichtssegment (Schritt 805) berechnet das Video-Gesichtsortsmodul 102 die
mittlere Differenz der Lumawerte für dieses Gesichtssegment zwischen
dem aktuellen Vollbild und dem vorherigen Vollbild (Schritt 810).
Dazu berechnet das Video-Gesichtsortsmodul 102 für jedes Pixel
im Gesichtssegment die Differenz in den Lumawerten vom vorherigen
Vollbild. Das Video-Gesichtsortsmodul 102 addiert dann
diese Differenzen und dividiert die Summe durch die Größe des Gesichtssegments,
um die mittlere Differenz der Lumawerte zu erhalten. Das Video-Gesichtsortsmodul 102 ermittelt dann
für jedes
Pixel die quadrierte Differenz zwischen der mittleren Differenz
der Lumawerte, die in Schritt 810 berechnet wurde, und
der Differenz der Lumawerte zwischen dem aktuellen Vollbild und
dem vorherigen Vollbild (Schritt 815). Das Video-Gesichtsortsmodul 102 addiert
diese quadrierten Differenzen und dividiert die Summe durch die
Größe des Gesichtssegments,
um die zeitliche Lumadifferenzvarianz für das Gesichtssegment zu ermitteln
(Schritt 815). Wenn die zeitliche Lumadifferenzvarianz
für das
Gesichtssegment unterhalb eines vorbestimmten Schwellenwerts liegt
(Schritt 820), stellt das Video-Gesichtsortsmodul 102 fest,
dass das Gesichtssegment wahrscheinlich kein Bild eines Gesichts
ist (Schritt 825).
-
Wie
vorstehend angegeben, verwendet das Video-Gesichtsortsmodul 102 außerdem räumliche Lumavarianzen,
um Gesichtssegmente zurückzuweisen,
die unbedeckten Fleischtonhintergrund darstellen. Wenn sich eine
Person beispielsweise vor einer fleischtonfarbigen Tür bewegt,
identifiziert das Video-Gesichtsortsmodul 102 die Hinterkante
des Bildes der Person als Bewegungspixel. Ebenso kann das Video-Gesichtsortsmodul 102 Hände, die
sich über
einen fleischfarbigen Tisch bewegen, als Bewegungspixel identifizieren.
Um diese falschen Gesichtssegmente zu identifizieren, verwendet
das Video-Gesichtsortsmodul 102 die
Tatsache, dass unbedeckte fleischtonfarbige Objekte typischerweise glatt
sind, während
Gesichter mehrere Kanten aufweisen und nicht glatt sind. Daher berechnet
das Video-Gesichtsortsmodul 102 die räumliche Lumavarianz jedes Gesichtssegments
und weist die Gesichtssegmente zurück, die Varianzen von weniger
als einem vorbestimmten Schwellenwert aufweisen. Die räumliche
Lumavarianz für
ein Gesichtssegment ist die Summe der quadrierten Differenzen zwischen
Lumawerten für
alle Pixel in einem Gesichtssegment vom mittleren Lumawert für dieses
Gesichtssegment, dividiert durch die Größe des Gesichtssegments.
-
Die
Schritte 805 und 830–845 im Algorithmus 800 in 8 verwenden die räumlichen
Lumavarianzen für
die erfassten Gesichtssegmente, um falsche Gesichtssegmente zurückzuweisen,
die wahrscheinlicher Fleischtonhintergrund darstellen. Für jedes
Gesichtssegment (Schritt 805) berechnet das Video-Gesichtsortsmodul 102 den
mittleren Lumawert für
dieses Gesichtssegment (Schritt 830). Dazu addiert das Video-Gesichtsortsmodul 102 die
Lumawerte aller Pixel in diesem Gesichtssegment und dividiert die Summe
durch die Größe des Gesichtssegments. Das
video-Gesichtsortsmodul 102 ermittelt
dann die Summe der quadrierten Differenzen des Lumawerts jedes Pixels
im Gesichtssegment von der mittleren Differenz in den Lumawerten,
die in Schritt 830 berechnet wurde. Das Video-Gesichtsortsmodul 102 dividiert
die Summe durch die Größe des Gesichtssegments,
um die räumliche
Lumavarianz dieses Gesichtssegments zu ermitteln (Schritt 835).
Wenn die räumliche
Lumavarianz des Gesichtssegments unterhalb eines vorbestimmten Schwellenwerts
liegt (Schritt 840), stellt das Video-Gesichtsortsmodul 102 fest,
dass das untersuchte Gesichtssegment kein Bild eines Gesichts ist
(Schritt 845).
-
An
diesem Punkt nimmt das Video-Gesichtsortsmodul 102 an,
dass alle restlichen Gesichtssegmente Gesichter darstellen. Nach
dem Segment/Gesichts-Klassifizierungsschritt 142 reduziert
das Video-Gesichtsortsmodul 102 die Fleischton-Binärabbildung
auf eine Abbildung 144 mit einer Anzahl von Gesichtssegmenten,
die erfasste Gesichter darstellen.
-
Unter
Rückbezug
auf 4 ermittelt das
Videoversatz-/Fehlermessmodul 104, nachdem das Video-Gesichtsortsmodul 102 die
Ausführung
beendet, den Versatz von erfassten Gesichtern in der Kameraansicht
von einem Videokoordinaten-Bezugspunkt. Der Bezugspunkt kann ein
fester Bezugspunkt (beispielsweise die Mitte des Kamerabildes oder
eines Videovollbildes) oder ein dynamischer Bezugspunkt (beispielsweise
der Ort eines durch den Tonbasislokalisierer 70 erfassten
Sprechers) sein. In beiden Fällen
berechnet das Videoversatz-/Fehlermessmodul 104 für jedes
erfasste Gesicht den Versatz durch Ermitteln der X-Achsen- und Y-Achsen-Differenz
zwischen der Mitte des erfassten Gesichts und dem Bezugspunkt. Wenn
der Bezugspunkt ein Ort eines vom Tonbasislokalisierer 70 erfassten
Sprechers ist, wandelt der Tonbasislokalisierer 70 zuerst
die Koordinaten des Bezugspunkts vom Audiokoordinatensystem in das
Videokoordinatensystem um (Schritt 112). Das Videoversatz-/Fehlermessmodul 104 verwendet dann
diese umgewandelten Werte, um den Versatz zu berechnen.
-
Nach
dem Videoversatz-/Fehlermessmodul 104 wird das Gesichtsort-Verfolgungsmodul 106 betrieben.
Im Allgemeinen ordnet das Gesichtsort-Verfolgungsmodul 106 erfasste
Gesichter im aktuellen Vollbild (das heißt derzeit erfasste Gesichter)
vorher erfassten Gesichtern in existierenden Verfolgungsdateien
zu. Das Gesichtsort-Verfolgungsmodul 106 aktualisiert dann
die existierenden Verfolgungsdateien. Das Gesichtsort-Verfolgungsmodul 106 erzeugt
auch neue Verfolgungsdateien für
jene derzeit erfassten Gesichter, die nicht existierenden Verfolgungsdateien
zugeordnet werden können.
Die Ergebnisse des Gesichtsort-Verfolgungsmoduls 106 werden
typischerweise zum Eingrenzen von Kameraaufnahmen in den Fällen verwendet,
in denen das Videokonferenzsystem 10 die Kamera 14 bewegt,
um einen sich bewegenden Sprecher zu verfolgen, wie nachstehend
beschrieben wird.
-
Jede
Verfolgungsdatei entspricht einem erfassten Gesicht und speichert
Parameter für
dieses Gesicht. Die gespeicherten Parameterwerte umfassen nicht
nur diejenigen, die dem aktuellen Videovollbild zugeordnet sind,
sondern auch, falls erforderlich, diejenigen, die den vorherigen
Videovollbildern zugeordnet sind, in denen das Gesicht erfasst wurde.
Die Parameter umfassen den Ort, die Größe und die der Bewegung zugeordneten
Parameter. Die Verfolgungsdateien können auch die Audiokoordinaten-Schwenk-, -Neigungs-
und -Reichwertenwerte, die erfassten Gesichtern für die speziellen
Vollbilder zugeordnet sind, in denen die Gesichter erfasst wurden,
speichern. Außerdem
können
die Verfolgungsdateien die Werte für die Anzahl von Vollbildern,
in denen das Gesicht erfasst wurde (nachstehend "Zählwert
Aktualisieren"),
und die Anzahl von Vollbildern seit dem letzten Zeitpunkt, zu dem
das Gesicht erfasst wurde (nachstehend "Zählwert
Nicht Aktualisieren"),
speichern. Die Verfolgungsdateien können auch ein Vertrauensmaß für die Genauigkeit
irgendeines abgeschätzten
oder vorgegebenen Orts auf der Basis der in der Verfolgungsdatei
gespeicherten Werte speichern.
-
9 zeigt einen Ablaufplan 900 der
Schritte, die vom Gesichtsort-Verfolgungsmodul 106 unternommen
werden. Für
jedes zur Gesichtserfassung verarbeitete Videovollbild (Schritt 901)
stellt das Gesichtsort-Verfolgungsmodul 106 zuerst fest,
ob das Videovollbild am Beginn einer neuen Kamerabewegung aufgenommen
wurde (Schritt 902). Wenn ja, initialisiert das Gesichtsort-Verfolgungsmodul 106 den Anfangssatz
von Verfolgungsdateien (Schritt 905). Der Anfangssatz von
Verfolgungsdateien kann entweder ein Satz von neuen Verfolgungsdateien
oder alle existierenden Verfolgungsdateien sein. Das Gesichtsort-Verfolgungsmodul 106 legt
fest, welcher Anfangssatz von Verfolgungsdateien zu verwenden ist,
auf der Basis dessen, wie die Verfolgungsdateien verwendet werden.
Wenn der Anfangssatz von Dateien nur neue Verfolgungsdateien umfasst,
dann erzeugt das Gesichtsort-Verfolgungsmodul 106 eine neue
Verfolgungsdatei für
jedes erfasste Gesicht im aktuellen Vollbild. Diese Verfolgungsdateien
werden dann mit den Schwenk-, Neigungs- und Reichweitenwerten oder
dem Tonort des Gesichts und den Parametern, die den erfassten Gesichtern
im aktuellen Vollbild zugeordnet sind, wie z. B. Videokoordinatengröße, -ort,
-versatz, -bewegung und anderen Maßen von den Modulen 104 (4), wie erforderlich, belegt.
Die Gesichtsortverfolgung 106 verwendet nicht das Videovollbild
am Beginn einer neuen Kamerabewegung zur Gesichtsverfolgung (Schritt 930)
und die Gesichtsverfolgungsverarbeitung für dieses Videovollbild endet
(Schritt 925).
-
Wenn
das Gesichtsort-Verfolgungsmodul 106 festgestellt hat,
dass das Videovollbild am Beginn einer neuen Kamerabewegung aufgenommen wurde
(Schritt 902), stellt das Gesichtsort-Verfolgungsmodul 106 als nächstes fest,
ob das Videovollbild aufgenommen wurde, wenn eine Kamerabewegung
in Gang war (Schritt 907). Wenn eine Kamerabewegung in
Gang war, verwendet das Gesichtsort-Verfolgungsmodul 106 nicht
das Videovollbild für die
Gesichtsverfolgungsverarbeitung (Schritte 907, 930)
und die Gesichtsverfolgungsverarbeitung für dieses Videovollbild endet
(Schritt 925).
-
Wenn
das Videovollbild aufgenommen wurde, wenn keine Kamerabewegung in
Gang war, stellt das Gesichtsort-Verfolgungsmodul 106 in
Schritt 910 fest, ob die Kamera festgesetzt war, als das
Videovollbild aufgenommen wurde, das heißt, ob alle Kamerabewegungen,
die die Videogesichtsort-Verarbeitung beeinflussen, gestoppt waren.
Diese Bewegungen umfassen Kameraschwenkung, -neigung, -zoom, Selbstfokussierung,
automatischen Weißabgleich
und automatische Belichtung. Das Gesichtsort-Verfolgungsmodul 106 stellt
fest, ob die Kamera 14 festgesetzt war, durch entweder
Abtasten von Kamerafestsetzsignalen 25 (3 und 4),
bis die Signale die Änderung
stoppen, oder durch Warten für
einen gewissen vorbestimmten Zeitraum, nachdem eine Kamerabewegung
beginnt.
-
Wenn
das Videovollbild aufgenommen wurde, wenn die Kamera 14 nicht
festgesetzt war, dann verwendet das Gesichtsort-Verfolgungsmodul 106 das Videovollbild
in der Gesichtsortverfolgung nicht (Schritte 910, 930)
und die Gesichtsverfolgungsverarbeitung für dieses Videovollbild endet
(Schritt 925). Wenn das Gesichtsort-Verfolgungsmodul 106 feststellt,
dass die Kamera 14 festgesetzt war (Schritt 910),
versucht das Gesichtsort-Verfolgungsmodul 106, den Ort
von erfassten Gesichtern im Videovollbild den existierenden Verfolgungsdateien
zuzuordnen (Schritt 915). (In dem Fall, in dem die existierenden
Verfolgungsdateien in Schritt 905 nicht verwendet werden,
führt das
Gesichtsort-Verfolgungsmodul 106 die Schritte 915 und 920 nicht
durch.) Das Zuordnen des Orts der erfassten Gesichter beinhaltet
die folgenden Schritte, die hierin in allgemeinen Worten beschrieben
werden:
- – Ausbreitung
oder Vorhersage der Position, des Vertrauens und der Suchgrenzen:
In allgemeinen Worten beinhaltet dieser Schritt auf der Basis der Verfolgungsdateien,
die dem vorherigen Vollbild zugeordnet sind, das Vorhersagen von
Abschätzungen
der Orte der Gesichter, die im vorherigen Videovollbild erfasst
wurden, im aktuellen Videovollbild. Dieser Schritt beinhaltet auch
die Berechnung eines Vertrauenswerts für diese Abschätzung.
- – Geordnete
Zuordnung der aktuellen erfassten Gesichter und der Verfolgungsdateien,
die dem vorherigen Vollbild zugeordnet sind: in allgemeinen Worten
beinhaltet dieser Schritt für
jede Verfolgungsdatei das Ermitteln der Wahrscheinlichkeit, dass
alle derzeit erfassten Gesichter der Verfolgungsdatei entsprechen.
Das Gesichtsort-Verfolgungsmodul 106 stellt
dann fest, welches der erfassten Gesichter eine minimale Wahrscheinlichkeitsschwelle
passiert und auch das höchste Wahrscheinlichkeitsmaß aufweist.
Das Gesichtsort-Verfolgungsmodul 106 ordnet
dann dieses erfasste Gesicht der Verfolgungsdatei zu.
- – Löschen von
alten Dateien auf der Basis des Werts der Variable Zählwert_Nicht_Aktualisieren.
- – Erzeugung
von neuen Dateien für
erfasste Gesichter im aktuellen Vollbild, die nicht existierenden
Verfolgungsdateien zugeordnet sind.
-
Jeder
dieser Schritte wird nun im einzelnen beschrieben. 10 ist der Pseudocode für einen Vorhersagealgorithmus 1000.
Im beschriebenen Ausführungsbeispiel
verwendet das Gesichtsort-Verfolgungsmodul 106 ein Filter
mit fester Verstärkung, um
die neuen Werte vorherzusagen. In anderen Ausführungsbeispielen kann das Gesichtsort-Verfolgungsmodul 106 komplexere
Filter wie z. B. Filter mit variabler Verstärkung wie in Kalman-Filtern
verwenden.
-
Für alle Verfolgungsdateien
i (Schritt 1005) sagt das Gesichtsort-Verfolgungsmodul 106 den
horizontalen oder x-Achsen-Ort
eines Pixels vorher, das die Mitte eines erfassten Gesichts (nachstehend
Mittenpixel) entsprechend einer Verfolgungsdatei darstellt (Schritt 1010).
Um den vorhergesagten Wert des horizontalen Orts des Mittenpixels
(x ^i(n)) zu berechnen, addiert das Gesichtsort-Verfolgungsmodul 106 den
abgeschätzten
Ort des Mittenpixels im vorherigen Vollbild (xi(n – 1)) zum
horizontalen Wert der abgeschätzten
Pixelbewegung, die dem vorherigen Vollbild zugeordnet ist (x .i(n – 1)).
(Die für
die verschiedenen Bewegungsvariablen verwendete Maßeinheit
ist eine Geschwindigkeitseinheit, die hinsichtlich der Anzahl von
Pixeln pro Videovollbild ausgedrückt
wird.) Das Gesichtsort-Verfolgungsmodul 106 berechnet den
vorhergesagten Wert der Pixelbewegung, wenn die Verfolgungsdateien
aktualisiert werden, wie nachstehend beschrieben. In Schritt 1015 berechnet
das Gesichtsort-Verfolgungsmodul 106 den
vorhergesagten horizontalen Wert der Pixelbewegung, die dem aktuellen
Vollbild zugeordnet ist (x .i(n)), durch Multiplizieren
des horizontalen Werts der abgeschätzten Pixelbewegung des vorherigen Vollbildes
(x .i(n – 1))
mit einem vorbestimmten festen Verstärkungswert (gmd).
Das Gesichtsort-Verfolgungsmodul 106 führt dann die Schritte 1020 und 1025 durch,
die zu den Schritten 1010 und 1015 ähnlich sind,
und berechnet die Werte für
die vertikale Achse (y-Achse). In Schritt 1030 berechnet
das Gesichtsort-Verfolgungsmodul 106 den Wert des Vertrauensparameters
für die
aktuelle Vorhersage (c ^i(n)) durch Multiplizieren
des Vertrauenswerts in der Verfolgungsdatei (ci(n – 1)) mit
einem festen Verstärkungswert
(gcd).
-
Nach
dem Vorhersageschritt versucht das Gesichtsort-Verfolgungsmodul 106, die erfassten Gesichter
im aktuellen Videovollbild den existierenden Verfolgungsdateien
zuzuordnen. 11 ist der Pseudocode
für einen
Zuordnungsalgorithmus 1100 zum Zuordnen der erfassten Gesichter
im aktuellen Videovollbild zu den existierenden Verfolgungsdateien.
Im Allgemeinen vergleicht das Gesichtsort-Verfolgungsmodul 106 jede
Verfolgungsdatei mit allen erfassten Gesichtern. Das Gesichtsort-Verfolgungsmodul 106 ordnet
ein erfasstes Gesicht einer Verfolgungsdatei zu, wenn der Abstand
entlang der x- und y-Achsen
zwischen der Position des erfassten Gesichts und der vorhergesagten
Position des Gesichts, das dieser Verfolgungsdatei zugeordnet ist,
kleiner ist als die Differenz für
alle anderen erfassten Gesichter.
-
Für jede Verfolgungsdatei
i (Schritt 1105) stellt das Gesichtsort-Verfolgungsmodul 106 fest,
ob die Verfolgungsdatei eine initialisierte und aktive Verfolgungsdatei
ist (Schritt 1107). Wenn die Verfolgungsdatei eine initialisierte
und aktive Verfolgungsdatei ist, dann stellt das Gesichtsort-Verfolgungsmodul 106 für jedes
erfasste Gesicht j fest, ob der Abstand entlang der x- und y-Achsen
zwischen der Position des erfassten Gesichts und vorhergesagten Positionswerten
für die
Verfolgungsdatei geringer ist als die maximalen Abstandsschwellenwerte
(Schritte 1110–1112).
-
Im
beschriebenen Ausführungsbeispiel
sind die maximalen Abstandsschwellenwerte statistische Grenzen,
die auf zwei Varianzen basieren, gemessen in jeder der x- und der
y-Achse: Varianz
der Position eines typischen Pixels von einem Vollbild zum nächsten (σ
2 xx und σ
2 yy) und die Varianz
in der Messung der Pixelorte im aktuellen Vollbild aufgrund von
verschiedenen Fehlern in der Messung (σ
2 xm, und σ
2 ym). Im beschriebenen
Ausführungsbeispiel
nimmt die statistische Grenze an, dass beide Varianzen einen konstanten
Wert für
eine gegebene Kamerazoomeinstellung aufweisen. In anderen Ausführungsbeispielen können jedoch
die Varianzen für
jedes Vollbild auf der Basis von vorherigen Messungen oder auf der
Basis der Eingabe von Sensoren, die den Betrieb der Anlage überwachen,
eindeutig sein. Die statistische Grenze wird als dreimal die Standardabweichungen berechnet,
die als Summe von jeder der Varianzen in jeder der x- und der y-Achse
berechnet werden:
wobei σ
2 xx die horizontale Positionsvarianz ist; σ
2 yy die vertikale Positionsvarianz ist; σ
2 xm die horizontale Messvarianz ist; und σ
2 ym die vertikale Messvarianz ist.
-
Wenn
der Abstand zwischen dem erfassten Gesicht j und den vorhergesagten
Werten für
die Verfolgungsdatei geringer ist als die maximalen Abstandsschwellenwerte
(Schritte 1112), wird das erfasste Gesicht j als möglicher
Kandidat für
die Zuordnung zur Verfolgungsdatei markiert (Schritt 1115).
-
Für alle Gesichtskandidaten
für Zuordnungen
zur Verfolgungsdatei i im aktuellen Vollbild versucht das Gesichtsort-Verfolgungsmodul 106 als nächstes,
ein Kandidatengesicht zu finden, das am nächsten zum vorhergesagten Wert
für die
Verfolgungsdatei liegt (Schritte 1117–1122), und wählt dieses
Gesicht zur Zuordnung zur Verfolgungsdatei i aus. In Schritt 1117 stellt
das Gesichtsort-Verfolgungsmodul 106 zuerst fest, ob irgendwelche
der erfassten Gesichter als möglicher
Kandidat zur Zuordnung zur Verfolgungsdatei i markiert wurden. Wenn ja,
berechnet das Gesichtsort-Verfolgungsmodul 106 für jeden
solchen Kandidaten j (Schritt 1120) den Abstand (dij) zwischen dem Mittenpixel des erfassten Gesichts
und dem Mittenpixel in der Verfolgungsdatei i (Schritt 1122).
Das Gesichtsort-Verfolgungsmodul 106 findet dann das Minimum
dieser berechneten Abstände
(dij) (Schritt 1125) und markiert
das entsprechende erfasste Gesicht als der Verfolgungsdatei i zugeordnet
(Schritt 1127). In Schritt 1130 markiert das Gesichtsort-Verfolgungsmodul 106 die
Verfolgungsdatei als einem erfassten Gesicht im aktuellen Videovollbild
zugeordnet und setzt in Schritt 1132 den Wert der Variable
Zählwert_Nicht_Aktualisieren zurück. Das
Gesichtsort-Verfolgungsmodul 106 belegt dann die Verfolgungsdatei
i mit den Werten, die dem entsprechenden erfassten Gesicht zugeordnet sind,
nämlich
dem Ort des Mittenpixels (Schritte 1135–1137) und den Abmessungen
des erfassten Gesichts (Schritte 1140–1142).
-
Wenn
in den Schritten 1110–1115 das
Gesichtsort-Verfolgungsmodul 106 keine
geeigneten Kandidaten für
die Zuordnung unter den erfassten Gesichtern im aktuellen Videovollbild
findet, markiert das Gesichtsort-Verfolgungsmodul 106 die
Verfolgungsdatei i als nicht einem erfassten Gesicht zugeordnet
(Schritt 1147). Das Gesichtsort-Verfolgungsmodul 106 inkrementiert
dann die Variable Zählwert_Nicht_Aktualisieren
(Schritt 1150).
-
Wie
vorstehend angegeben, löscht
das Gesichtsort-Verfolgungsmodul 106 nach
dem Zuordnen der erfassten Gesichter zu den Verfolgungsdateien, Verfolgungsdateien,
die für
mehr als eine vorbestimmte Anzahl von Vollbildern keinem erfassten
Gesicht zugeordnet wurden. Das Gesichtsort-Verfolgungsmodul 106 löscht eine
Verfolgungsdatei durch Markieren der Verfolgungsdatei als nicht
initialisiert und Zurücksetzen
der Variablen in der Verfolgungsdatei.
-
In
einigen Fällen
bleiben nach dem Versuch, die erfassten Gesichter den existierenden
Verfolgungsdateien zuzuordnen, einige erfasste Gesichter im aktuellen
Videovollbild als keiner existierenden Verfolgungsdatei zugeordnet.
In diesem Fall werden die dem erfassten Gesicht zugeordneten Werte
in einer neuen Verfolgungsdatei abgelegt. Außerdem wird der Wert des Vertrauensparameters
(ci(n)) für das aktuelle Vollbild auf
einen vorbestimmten Wert (beispielsweise 0,5) gesetzt. Die horizontalen
und vertikalen Pixelbewegungsvariablen (x .i(n)
und y .i(n)) werden auch auf einen vorbestimmten Wert (beispielsweise
Null) gesetzt.
-
Unter
Rückbezug
auf 9 aktualisiert das Gesichtsort-Verfolgungsmodul 106 an
diesem Punkt die verschiedenen Parameter in den Verfolgungsdateien
auf der Basis dessen, ob eine Verfolgungsdatei einem erfassten Gesicht
im aktuellen Videovollbild zugeordnet wurde (Messaktualisierungsschritt 920). Im
Allgemeinen wird jeder Parameter auf der Basis des Werts für diesen
Parameter im aktuellen und im vorherigen Vollbild, des vorhergesagten
Werts für diesen
Parameter und eines Verstärkungswerts,
der eine Abschätzung
von Fehlern aufgrund von verschiedenen Anlagenunvollkommenheiten
darstellt, aktualisiert.
-
12 ist der Pseudocode für einen
Algorithmus 1200 zum Aktualisieren der Verfolgungsdateien.
Für jede
Verfolgungsdatei i, die einem erfassten Gesicht im aktuellen Vollbild
zugeordnet wurde (Schritt 1202), aktualisiert das Gesichtsortverfolgungs-Messaktualisierungsmodul 920 eine
Anzahl von Variablen in der Verfolgungsdatei. In den Schritten 1205–1207 berechnet
das Gesichtsort-Verfolgungsmodul 920 die horizontalen und
vertikalen Mittenpixelwerte für
die Verfolgungsdatei i (xi(n) bzw. yi(n)). Um diese Werte zu ermitteln, subtrahiert
das Gesichtsort-Verfolgungsmodul 920 zuerst den entsprechenden
vorhergesagten Mittenpixelwert (x ^i(n) und y ^i(n)) vom Mittelpixelwert der zugehörigen erfassten Gesichtsmessung
(xmj(n) und ymj(n)).
Das Ergebnis wird dann mit einem Verstärkungswert (gp) multipliziert,
was einen erwarteten mittleren Fehler aufgrund von verschiedenen
Anlagenfehlern kompensiert. Das Gesichtsort-Verfolgungsmodul 920 addiert
dann das Ergebnis dieser Multiplikation zum entsprechenden vorhergesagten
Mittenpixelwert (x ^i(n) und y ^i(n)).
-
In
den Schritten
1210 und
1212 berechnet das Gesichtsort-Verfolgungsmodul
920 die
horizontalen und vertikalen Pixelbewegungswerte für die Verfolgungsdatei
i (x .
i(n) bzw. y .
i(n)).
Um diese Werte zu ermitteln, subtrahiert das Gesichtsort-Verfolgungsmodul
106 zuerst
den entsprechenden vorhergesagten Pixelpositionswert (x ^
i(n)
und y ^
i(n)) von den horizontalen und vertikalen
Mittenpixelwerten für
die Verfolgungsdatei i (x
i(n) und y
i(n)), die in den Schritten 1205–1207 berechnet
werden. Das Ergebnis wird dann mit einem Verstärkungswert (g
m)
multipliziert, was einen erwarteten mittleren Fehler aufgrund von verschiedenen
Anlagenfehlern kompensiert. Das Gesichtsort-Verfolgungsmodul
106 addiert
dann das Ergebnis dieser Multiplikation zum entsprechenden vorhergesagten
Pixelbewegungswert (
(n)
und
(n)).
-
In
den Schritten 1215 und 1217 berechnet das Gesichtsort-Verfolgungsmodul 106 die
horizontalen und vertikalen Größenwerte
für die
Verfolgungsdatei i (xsi(n) bzw. ysi(n)). Um diese Werte zu ermitteln, subtrahiert
das Gesichtsort-Verfolgungsmodul 106 zuerst
den entsprechenden Größenwert
in der Verfolgungsdatei vom vorherigen Vollbild (xsi(n – 1) und
ysi(n – 1))
von den Größenwerten
für das
zugehörige
erfasste Gesicht (xsj(n) und ysj(n)).
Das Ergebnis wird dann mit einem Verstärkungswert (gs) multipliziert,
was einen erwarteten mittleren Fehler aufgrund von verschiedenen
Anlagenfehlern kompensiert. Das Gesichtsort-Verfolgungsmodul 106 addiert
dann das Ergebnis dieser Multiplikation zum entsprechenden Größenwert
in der Verfolgungsdatei vom vorherigen Vollbild (xsi(n – 1) und
Ysi(n – 1)).
-
Das
Gesichtsort-Verfolgungsmodul 106 berechnet als nächstes den
Vertrauenswert für
die Werte, die nun die Verfolgungsdatei belegen (Schritt 1220).
Das Gesichtsort-Verfolgungsmodul 106 subtrahiert
zuerst den vorhergesagten Vertrauenswert (c .i(n))
von Eins und multipliziert das Ergebnis mit einem Verstärkungswert
(gc). Das Gesichtsort-Verfolgungsmodul 106 addiert
dann das Ergebnis zum abgeschätzten
Vertrauenswert für
das vorherige Vollbild (c ^i(n – 1)).
-
Das
Gesichtsort-Verfolgungsmodul 106 erklärt dann die Verfolgungsdateien
in den Schritten 1225–1232 für gültig. Im
Allgemeinen nimmt das Gesichtsort-Verfolgungsmodul 106 an,
dass eine Verfolgungsdatei ungültig
ist, bis sie für
gültig
erklärt
wird. Wenn eine Verfolgungsdatei, der eine Gesichtserfassung zugeordnet
ist, als ungültig
markiert wird, inkrementiert das Gesichtsort-Verfolgungsmodul 106 in Schritt 1225 den
Wert der Variable Zählwert
Aktualisieren (Schritt 1227). Wenn der Wert der Variable Zählwert Aktualisieren
und der Wert der Vertrauensvariable der Verfolgungsdatei jeweils
größer sind
als ein entsprechender Schwellenwert, der von einem gültigen Vollbild
erforderlich ist (Schritt 1230), dann erklärt das Gesichtsort-Verfolgungsmodul 106 die Verfolgungsdatei
durch Markieren derselben als solche für gültig (Schritt 1232).
-
Für jede Verfolgungsdatei
i, die keinem erfassten Gesicht im aktuellen Videovollbild zugeordnet
wurde (Schritt
1235), aktualisiert das Gesichtsort-Verfolgungsmodul
106 auch
eine Anzahl von Variablen in der Verfolgungsdatei. Das Gesichtsort-Verfolgungsmodul
106 belegt
die horizontalen und vertikalen Mittenpixelwerte für die Verfolgungsdatei
i (x
i(n) bzw. y
i(n)),
die horizontalen und vertikalen Pixelbewegungswerte für die Verfolgungsdatei
i (x .
i(n) bzw.
in)) und die Vertrauensvariable (c
i(n)) mit den vorhergesagten Werten (Schritte
1237–
1245 und
1252). Das
Gesichtsort-Verfolgungsmodul
106 belegt die horizontalen
und vertikalen Großenwerte
für das
aktuelle Videovollbild (x
si(n) bzw. y
si(n)) mit den Werten, die dem vorherigen
Videovollbild zugeordnet sind, in dem die erfassten Gesichtsmessungen
aktualisiert wurden.
-
Unter
Rückbezug
auf 4 wandelt nach dem
Gesichtsort-Verfolgungsmodul 106 das
Modul 108 zur Transformation in Audiokoordinaten die verfolgten
Ortswerte in das Audiokoordinatensystem um.
-
Nach
dem Modul 108 zur Transformation in Audiokoordinaten speichert
das Gesichtsort-Speichermodul 110 die Werte der verschiedenen
Parameter, die den erfassten Gesichtern im aktuellen Videovollbild
zugeordnet sind, in Dateien, die den erfassten Gesichtern zugeordnet
sind. Im Allgemeinen speichert das Gesichtsort-Speichermodul 110 das Ergebnis
der Analyse in den vorherigen Modulen zum zukünftigen Zugriff, wenn die Kameraansicht keinen
speziellen interessierenden Bereich enthalten kann. Welches der
Ergebnisse gespeichert wird, hängt
davon ab, wie die Daten in der Zukunft verwendet werden. Die gespeicherten
Daten können
den Ort und die Größe von erfassten
Gesichtern umfassen. Außerdem
können
die gespeicherten Daten durch eindeutige Nummern, die jedem Gesicht
zugewiesen werden, oder durch räumliche
Sektoren organisiert sein. Die Daten umfassen auch die Ergebnisse
der Gesichtsortverfolgung, nachdem sie in das Audiokoordinatensystem
umgewandelt sind. An diesem Punkt beendet der Videobasislokalisierer 60 seine Analyse.
-
Nachdem
der Betrieb des Videobasislokalisierers 60 beschrieben
wurde, wird nun der Betrieb des Tonbasislokalisierers 70 beschrieben.
Ein Ton-Sprecherortsmodul 114 des
Tonbasislokalisierers 70 erfasst den Ort eines Sprechers
auf der Basis von Tonsignalen von der Mikrophonanordnung 12. Ein
Verfahren zum Auffinden eines Sprechers auf der Basis von Tonsignalen
von einer Vielzahl von Mikrophonen ist im einzelnen in der gemeinsam übertragenen
Anmeldung mit dem Titel "Method
and Apparatus for Localization of an Acoustic Source", US-Patent Nr. 5
778 082, eingereicht am 14. Juni 1996 (nachstehend "das '082-Patent"), beschrieben. Kurz
gesagt, verwendet das Verfahren im '082-Patent mindestens zwei voneinander
beabstandete Mikrophone. Gemäß dem Verfahren
im '082-Patent verarbeitet
das Ton-Sprecherortsmodul 114 im Allgemeinen die Tonsignale
durch Feststellen, ob Signale, die während eines speziellen Zeitrahmens
erfasst werden, den Beginn oder Anfang einer Folge von Tonsignalen
von der Schallquelle darstellen. Das Ton-Sprecherortsmodul 114 identifiziert
empfangene Tonsignale, die die Folge von Signalen darstellen, wenn
die Daten den Beginn der Folge darstellen. Das Ton-Sprecherortsmodul 114 ermittelt
dann den Ort der Quelle auf der Basis der empfangenen Tonsignale.
-
Der
Beginn oder Anfang einer Folge von Tonsignalen von der Quelle wird
auf einer frequenzweisen Basis erfasst. Daten, die jenen Frequenzkomponenten
von erfassten Signalen zugeordnet sind, die die folgenden zwei Bedingungen
erfüllen,
werden als Signale darstellend betrachtet, die am Beginn einer Folge
von Tonsignalen von der Quelle auftreten. Die Amplitude der Frequenzkomponente
sollte erstens vorzugsweise um zumindest ein vorbestimmtes Ausmaß größer sein
als die Hintergrundrauschenergie für diese Frequenz. Zweitens
sollte die Amplitude der Frequenzkomponente vorzugsweise um zumindest ein
vorbestimmtes Ausmaß größer sein
als die Amplitude einer entsprechenden Frequenzkomponente, die während einer
vorbestimmten Anzahl von vorangehenden Zeitrahmen erfasst wird.
-
Wenn
die zwei Bedingungen für
eine spezielle Frequenzkomponente während eines speziellen Zeitrahmens
erfüllt
sind, dann wird angenommen, dass eine Beginnbedingung bezüglich dieser
Frequenz erfüllt
ist. Ein Kreuzspektrum für
die Tonsignale, die durch das Paar von Mikrophonen während des Zeitrahmens
erfasst werden, wird bezüglich
jeder derartigen Frequenzkomponente erzeugt und ein Kreuzspektrum
für das
Rauschen bei jeder solchen Frequenz wird subtrahiert, um die empfangenen
Tonsignale, die die Folge von Signalen von der Tonquelle darstellen,
zu identifizieren. Das Tonkreuzspektrum wird während einer vorbestimmten Zeitlänge akkumuliert.
Wenn am Ende des vorbestimmten Zeitraums von Null verschiedene Werte
für mindestens eine
festgelegte Anzahl von Frequenzen akkumuliert wurden, werden die
akkumulierten Kreuzspektrumswerte dann verwendet, um Kreuzkorrelationswerte zu
berechnen. Die Kreuzkorrelationswerte werden wiederum verwendet,
um die Zeitverzögerung
zwischen Signalen, die an dem Paar von Mikrophonen von der gemeinsamen
Quelle ankommen, zu ermitteln. Diese Zeitverzögerungen werden dann verwendet,
um die Richtung und den Peilwinkel der Tonquelle bezüglich der
Mikrophone zu ermitteln, die zum Ermitteln eines Orts der Tonquelle
verwendet werden (d. h. eine Richtung und ein Abstand zur Tonquelle von
einem vorbestimmten Bezugspunkt wie z. B. der Kamera).
-
Unter
Verwendung einer Anordnung von Mikrophonen 12 stellt das
Ton-Sprecherortsmodul 114 sowohl eine Neigungs- als auch
eine Schwenkinformation bezüglich
der erfassten Tonquelle bereit. Das Ton-Sprecherortsmodul 114 verwendet
diese Information auch, um den Abstand (das heißt die Reichweite) zur Tonquelle
zu ermitteln.
-
Das
Ton-Sprecherortsmodul 114 stellt auch ein Paar von normierten
Kreuzkorrelationswerten, einen für
die horizontalen Mikrophone (das heißt die Schwenkmikrophone) und
einen für
die vertikale Mikrophone (das heißt die Neigungsmikrophone)
bereit.
-
Nachdem
das Ton-Sprecherortsmodul 114 den Ort eines Sprechers ermittelt
hat, stellt das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 fest, ob der erfasste Sprecher
für gültig erklärt werden
sollte und wie die Kameraaufnahme für den erfassten Sprecher eingegrenzt
werden sollte. 13 zeigt
einen Ablaufplan 1300 der Schritte, die vom Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 unternommen werden. Kurz gesagt, stellt
das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 zuerst auf der Basis eines Satzes
von Kriterien fest, ob die Ergebnisse vom Ton-Sprecherortsmodul 114 (4) einen gültigen Sprecherort
darstellen. Die Kriterien für
die Gültigkeitsbestätigung eines
erfassten Sprechers sind folgendermaßen:
- – eine Erfassung
vom gleichen Ort oder von der Nähe
desselben Orts wird eine vorbestimmte Anzahl von Malen durchgeführt (Bezugsziffer 1320 in 13);
- – die
Schwenk- und Neigungswerte für
den Ort des Tonsprechers sind jene, die von der Kamera 14 unterstützt werden
(Bezugsziffer 1315 in 13);
- – jeder
der normierten Kreuzkorrelationswerte ist größer als ein entsprechender
vorbestimmter Schwellenwert (Bezugsziffer 1317 in 13); und
- – die
erfasste Tonfolge wurde als Sprache festgestellt (Bezugsziffer 1318 in 13).
-
Wenn
ein erfasster Sprecherort für
gültig
erklärt
wird, dann verwendet das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 einen Satz von Regeln, um eine geeignete
Kameraaufnahme zu ermitteln. Beim Ermitteln der geeigneten Kameraaufnahme
kann das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die in den Dateien für das erfasste
Gesicht (Bezugsziffer 110) gespeicherten Daten verwenden,
um die Kameraaufnahme einzugrenzen. Das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 beliefert dann das Kamerasteuermodul 80 mit
geeigneten Schwenk-, Neigungs- und Zoomanweisungen.
-
Der
Betrieb des Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmoduls 116 wird nun im einzelnen beschrieben.
In Schritt 1305 stellt das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 zuerst fest, ob das Ton-Sprecherortsmodul 114 eine
aktive Tonquelle erfasst hat, welche ein Sprecher ist, für welchen
das Ton-Sprecherortsmodul 114 den Beginn von Sprache über eine vorbestimmte
Anzahl von Frequenzen erfasst. Wenn keine aktiven Tonquellen für einen
vorbestimmten Zeitraum erfasst wurden, liefert das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 Befehle zur Kamerapositionierungsvorrichtung 16,
um eine Raumaufnahme zu zeigen (Schritt 1307). Das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 kann in diesem Schritt die Ergebnisse
der im Speicher gespeicherten Gesichtserfassung verwenden, um eine
geeignete Gruppenaufnahme einzugrenzen, wie nachstehend beschrieben
wird.
-
Das
Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 stellt fest, ob der erfasste Ort
demselben Ort entspricht wie derjenige, der unmittelbar vor der
aktuellen Erfassung erfasst wurde. Wenn nicht, löscht das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die temporäre Datei, die der vorherigen
Erfassung zugeordnet ist (Schritt 1310). Wenn das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 feststellt, dass eine aktive
Tonquelle erfasst wird, dann stellt es auf der Basis der vorstehend
beschriebenen Kriterien fest, ob der erfasste Sprecher für gültig erklärt werden
sollte (Schritt 1312). Es sollte beachtet werden, dass
die Schwellenwerte, die verwendet werden, um festzustellen, ob eine
Erfassung für
gültig
zu erklären ist
(Bezugsziffer 1312), auf der Basis der Ergebnisse des Videobasislokalisierers 60,
die in den Daten für erfasste
Gesichter gespeichert sind, geändert
werden können,
wie nachstehend beschrieben. Wenn der Sprecherort nicht gültig ist,
beendet das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die Verarbeitung. Wenn der Sprecherort
gültig
ist, speichert das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 den Sprecherort in einer neuen
temporären
Datei (Schritt 1322). In Schritt 1325 wählt das
Sprecher-Gültigkeitsbestätigungs- und Eingrenzungsmodul 116 auf
der Basis des Sprecherorts in der temporären Datei und eines Satzes
von Eingrenzungsregeln eine geeignete Kameraaufnahme aus. Die Kameraaufnahme
kann beispielsweise einen einzelnen Sprecher oder eine Gruppe von
Sprechern eingrenzen. Ein Satz von Regeln kann beispielsweise angeben,
dass, wenn ein Sprecher der dominante Sprecher ist, auf der Basis der
Anzahl von Malen, die er in letzter Zeit gesprochen hat, dann die
Kameraaufnahme nur ihn enthalten sollte. Der Satz von Regeln kann
auch angeben, dass, wenn zwei oder mehr Sprecher in letzter Zeit gesprochen
haben, dann die Kameraaufnahme alle Teilnehmer an der Konversation
enthalten sollte, wobei Begrenzungen der Kamera 14 für das verfügbare Blickfeld
berücksichtigt
werden. Außerdem
kann das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die Ergebnisse des Videobasislokalisierers 60 verwenden,
um eine Kameraaufnahme zweckmäßig einzugrenzen,
wie nachstehend beschrieben wird. Auf der Basis dieser Feststellung
beliefert das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 das Kamerasteuermodul 80 mit
Kameraeingrenzungsbefehlen.
-
Unter
Rückbezug
auf 4 fügt nach
der Gültigkeitsbestätigung eines
erfassten Sprechers das Tonort-Speichermodul 118 entweder
den neuen Sprecher zu einer existierenden Sprecherdatei hinzu, mit
der der erfasste Sprecher verglichen wurde, oder erzeugt eine neue
Sprecherdatei. Solche Sprecherdateien können den Sprecherort und die
Anzahl von Malen, die der Sprecher gesprochen hat, speichern. Außerdem werden
die Sprecherdateien in einer Reihenfolge gehalten, wobei sich der
aktuellste Sprecher an der Oberseite der Reihenfolge befindet. Diese
Dateien können
zum Eingrenzen der Kamera auf der Basis einer gewissen Kameraeingrenzungslogik verwendet
werden.
-
Wie
vorher beschrieben, verwendet der Tonbasislokalisierer 70 zuerst
die Tondaten zum Ermitteln des Orts des Sprechers und beliefert
auf der Basis dieser Ermittlung das Kameraricht-Steuermodul 80 mit
Anweisungen hinsichtlich dessen, wie die Kamera 14 zu bewegen
ist. Der Tonbasislokalisierer 70 kann auch Ergebnisse des
Videobasislokalisierers 60 verwenden, um eine Kameraaufnahme
geeignet einzugrenzen, wie nachstehend im einzelnen beschrieben
wird. Nachdem die Kamera bewegt wird, nimmt der Videobasislokalisierer 60 Vollbilder
von Videobildern von der Kamera 14 auf und erfasst den
Ort von irgendwelchen Gesichtern im Videobild. Das Kameraricht-Steuermodul 80 kann
dann die Ergebnisse sowohl der Ton- als auch Videoerfassung verwenden,
um die Neigung, Schwenkung und Reichweite der Kamera 14 einzustellen,
um irgendwelche Fehler in der Eingrenzung der Kamera zu korrigieren,
wie nachstehend im einzelnen beschrieben wird.
-
Die
Art und Weise, auf die das Kamerasteuermodul 80 und das
Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die Erfassungsergebnisse vom
Videobasislokalisierer 60 und vom Tonbasislokalisierer 70 verwenden,
um Kameraaufnahmen zweckmäßig einzugrenzen,
wird nun im einzelnen beschrieben.
-
Die
Art und Weise, auf die das Kamerasteuermodul 80 die Gesichtserfassungsergebnisse
verwendet, um Fehler in der Kamerapositionierungsvorrichtung 16 zu
korrigieren, wird zuerst beschrieben. Dann wird die Art und weise,
auf die das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die Gesichtserfassungsergebnisse
verwendet, um die Ergebnisse des Ton-Sprechererfassungsmoduls 116 zu
ergänzen,
um Fehler in den Kamerarichtanweisungen zu verhindern und Kameraaufnahmen
besser einzugrenzen, beschrieben.
-
In
einigen Ausführungsbeispielen
ist ein Fehler, den das Kamerasteuermodul 80 korrigieren
kann, der Fehler aufgrund einer Fehlausrichtung zwischen der Kamera 14 und
der Mikrophonanordnung 12. Im Allgemeinen verwendet der
Tonbasislokalisierer 70 eine Anordnung von Mikrophonen 12,
um den Ort eines Sprechers relativ zu einem Tonbezugspunkt zu ermitteln.
Die Genauigkeit dieser Ermittlung hängt teilweise von der Genauigkeit
der Ausrichtung der Kamera 14 auf die Anordnung von Mikrophonen 12 durch
die Kamerapositionierungsvorrichtung 16 ab. Die Kamera 14 und
die Anordnung von Mikrophonen 12 können jedoch aufgrund von Fehlern
während
des Herstellungsprozesses oder infolge der regulären Verwendung des Systems
fehlausgerichtet sein. Daher können
die Kamerarichtanweisungen vom Tonbasislokalisierer 70 zu
einem Bild führen,
in dem der Sprecher gegenüber
einer gewünschten
Position im Vollbild (beispielsweise der Mitte des Vollbildes) versetzt
ist, wie in 14 gezeigt.
-
Das
Kamerasteuermodul 80 verwendet die Ergebnisse der Gesichtserfassung
vom Videobasislokalisierer 60, um den Versatz zu korrigieren. 15 zeigt einen Ablaufplan 1500 der
Schritte, die vom Kamerasteuermodul 80 unternommen werden,
um den Videoversatz zu korrigieren. wenn sich ein Gesicht nicht
in einer gewünschten
Position im aufgenommenen Videobild befindet (Schritt 1505),
stellt der Videobasislokalisierer 60 fest, dass die Kameraaufnahme nicht
auf den Sprecher zentriert ist. Der Videobasislokalisierer 60 stellt
dann fest, welches der erfassten Gesichter am nächsten zur gewünschten
Position im aufgenommenen Videobild angeordnet ist, und nimmt an,
dass dieses Gesicht dem erfassten Sprecher entspricht (Schritt 1510).
Der Videobasislokalisierer 60 berechnet das Ausmaß, um das
das nächste
Gesicht von der gewünschten
Position versetzt ist. Der Videobasislokalisierer 60 greift
dann in Schritt 1515 auf die vorher berechneten Versatzwerte
zu und berechnet einen geglätteten
Versatzwert beispielsweise durch Mitteln der Werte (Schritt 1515). Nachdem
eine vorbestimmte Anzahl von Versatzwerten verwendet werden, um
den geglätteten
Versatzwert zu berechnen (Schritt 1520), wird der geglättete Versatzwert
verwendet, um irgendwelche vorher gespeicherten geglätteten Versatzwerte
auszutauschen, und der neue Wert wird von nun an verwendet, um Kamerapositionierungsbefehle
zu korrigieren (Schritt 1525). In einigen Ausführungsbeispielen
prüft der
Videobasislokalisierer 60 von Zeit zu Zeit (beispielsweise
jedes Mal, wenn die Kamera 14 bewegt wird), ob das Bild
versetzt ist, und berechnet den geglätteten Versatzwert neu.
-
In
einigen Ausführungsbeispielen
berechnet der Videobasislokalisierer 60 die Versatzwerte
für eine
vorbestimmte Anzahl von Vollbildern und vergleicht sie dann, um
eine Anhäufung
von Versatzwerten zu finden, die im Wert nahe beieinander liegen. Der
Videobasislokalisierer 60 berechnet dann einen Versatzwert
auf der Basis der Anhäufung
von Versatzwerten (beispielsweise durch Mitteln der werte). Auf
diese weise filtert der Videobasislokalisierer 60 diejenigen
Versatzwerte aus, die sich aus anderen Faktoren ergeben haben, bevor
sie zum Kamerasteuermodul 80 gesandt werden.
-
In
einigen Ausführungsbeispielen
kann das Tonsprecher-Erfassungsmodul 116 grobe
Richtfehler korrigieren, die dadurch verursacht werden, dass die Ergebnisse
vom Tonbasislokalisierer 70 aus einer Vielzahl von Gründen falsch
sind. Der Tonbasislokalisierer 70 kann beispielsweise Nicht-Sprach-Töne als Sprache
erfassen und daher eine nicht-menschliche Schallquelle mit einem
menschlichen Sprecher verwechseln. Außerdem kann eine Reflexion
von großen
Oberflächen
wie z. B. Wänden
und Tischen den Tonbasislokalisierer 70 hinsichtlich der
wahren Quelle des Tons verwirren. In diesen Fällen kann der Tonbasislokalisierer 70 die
Quelle des Tons als Reflexionspunkt von der Oberfläche (beispielsweise
einer Tischoberfläche
vor dem Sprecher) erfassen. Wenn die Anordnung von Mikrophonen 12 Neigungsmessungen
durchführt,
kann ein Neigungsmessmikrophon außerdem Schallwellen hauptsächlich vom
Reflexionspunkt empfangen, während
ein anderes Schallwellen vom Sprecher empfangen kann. Dies kann
einen signifikanten Fehler im erfassten Sprecherort verursachen,
was dazu führt,
dass die Kamera unter den Reflexionspunkt oder über den Kopf des Sprechers
zeigt. Ähnliche
Probleme können
in der Schwenkabmessung auftreten, obwohl sie weniger häufig sind.
Entweder im Fall von Nicht-Sprach-Quellen
oder einer Reflexion zeigt sich der Fehler als grober Kamerarichtfehler,
wobei die Kamera 14 auf die Nicht-Sprach-Schallquelle oder
die Quelle der Reflexion zeigt, wie in 16 gezeigt.
-
17 zeigt einen Ablaufplan 1700 der Schritte,
die vom Ton-Sprecher- und Gültigkeitsbestätigungsmodul 116 unternommen
werden, um solche groben Richtfehler zu korrigieren. Das Ton-Sprecher-
und Gültigkeitsbestätigungsmodul 116 stellt
zuerst fest, ob ein grober Richtfehler aufgetreten ist. Dazu stellt
das Ton-Sprecher-
und Gültigkeitsbestätigungsmodul 116 fest,
ob sich ein erfasstes Gesicht in einem Bereich 1605 im
Videovollbild befindet (16),
wo das Bild des Gesichts des Sprechers erwartet wird (Schritt 1705).
Wenn sich ein Gesicht nicht in einer gewünschten Position (d. h. Bereich 1605)
des aufgenommenen Videobildes befindet (Schritt 1705),
stellt der Videobasislokalisierer 60 fest, dass das aufgenommene
Videobild nicht zentriert ist. Der Videobasislokalisierer 60 stellt
dann fest, welches der erfassten Gesichter am nächsten zur gewünschten
Position im aufgenommenen Videobild liegt, und nimmt an, dass dieses
Gesicht dem erfassten Sprecher entspricht (Schritt 1710).
Der Videobasislokalisierer 60 berechnet das Ausmaß, um das
das nächste
Gesicht von der gewünschten
Position versetzt ist. Der Videobasislokalisierer 60 greift dann
in Schritt 1715 auf die vorher berechneten Versatzwerte
zu und berechnet einen geglätteten
Versatzwert beispielsweise durch Mitteln der Werte (Schritt 1715).
Nachdem eine vorbestimmte Anzahl von Versatzwerten verwendet wurden,
um den geglätteten
Versatzwert zu berechnen (Schritt 1720), wird der geglättete Versatzwert
verwendet, um Kamerakorrekturbefehle festzulegen, um irgendwelche groben
Kamerarichtfehler zu kompensieren (Schritt 1725). Das Kamerasteuermodul 80 transformiert
diesen Versatzwert dann in Kamerabefehle, die zur Kamerapositionierungsvorrichtung 16 geliefert
werden (Schritt 1730).
-
In
einigen Ausführungsbeispielen
kann das Ton-Sprecher- und Gültigkeitsbestätigungsmodul 116 auch
die Daten vom Videobasislokalisierer 60 verwenden, um Fehler
bei der Ermittlung des Abstands von der Kamera 14 zum Sprecher
(das heißt Entfernungsmessfehler)
zu korrigieren. Im Allgemeinen ist die Reichweite eine für Tonsprecherquellen-Ortssysteme
für die
genaue Messung schwierige Abmessung. Die Genauigkeit der Messung
hängt von
mindestens zwei Faktoren ab. Der erste Faktor ist die Größe der Mikrophonanordnung 12,
wobei größere Anordnungen
genauere Ergebnisse ergeben. Der zweite Faktor ist die Dauer und
Qualität
der verarbeiteten Tonsprache, wobei längere Dauern und höhere Äußerungszählwerte
genauere Ergebnisse ergeben. Da der Reichweitenwert verwendet wird, um
die Kamera 14 zu zoomen, können Fehler im Wert der Reichweite
zu Fehlern bei der Eingrenzung des Sprechers führen, indem eine Kameraaufnahme entweder
zu nah oder zu weit hergestellt wird, wie in 18 gezeigt.
-
19 zeigt einen Ablaufplan 1900 der Schritte,
die vom Ton-Sprecher- und Gültigkeitsbestätigungsmodul 116 unternommen
werden, um Entfernungsmessfehler zu korrigieren. Das Ton-Sprecher-
und Gültigkeitsbestätigungsmodul 116 stellt
zuerst fest, welches der erfassten Gesichter am nächsten zur
erwarteten Position im Bild liegt, und nimmt an, dass dieses Gesicht
dem erfassten Sprecher entspricht (Schritt 1905). Wenn
die Größe des nächsten erfassten
Gesichts innerhalb eines vorbestimmten Gesichtsgrößenwerts
liegt, dann nimmt das Ton-Sprecher- und Gültigkeitsbestätigungsmodul 116 an,
dass die Reichweite korrekt ist (Schritt 1910). Wenn nicht,
berechnet das Ton-Sprecher- und Gültigkeitsbestätigungsmodul 116 einen
Reichweitenwert, der die Größe des erfassten
Gesichts so einstellen würde,
dass sie innerhalb den vorbestimmten Gesichtsgrößen-Schwellenwert fällt (Schritt 1915).
Das Ton-Sprecher- und Gültigkeitsbestätigungsmodul 116 transformiert
diesen Versatzwert in Kameraeingrenzungsanweisungen, die zur Kamera 14 und
zur Kamerapositionierungsvorrichtung 16 geliefert werden
(Schritt 1920).
-
Wie
vorstehend angegeben, kann das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 (4)
die Gesichtserfassungsergebnisse verwenden, um eine Kameraaufnahme
geeignet einzugrenzen. In einigen Ausführungsbeispielen kann das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 des Tonbasislokalisierers 70 die
Ergebnisse vom Videobasislokalisierer 60 verwenden, um
die Variablen, die den Sprecher-Gültigkeitsbestätigungsprozess
steuern, dynamisch zu ändern.
Das Sprecher-Gültigkeitsbestätigungs- und Eingrenzungsmodul 116 ändert diese
Variablen, um zwei Ziele zu erreichen: Verhindern von groben Richtfehlern und
Verringern der Ansprechzeit der Kamera 14 und des Videokonferenzsystems 10.
-
20 zeigt einen Ablaufplan 2000 der Schritte,
die vom Sprecher-Gültigkeitsbestätigungs- und
Eingrenzungsmodul 116 unternommen werden, um grobe Richtfehler
zu verhindern. Das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 stellt zuerst fest, ob der Ort
eines vorher erfassten Gesichts dem Ort des erfassten Sprechers entspricht
(Schritt 2005). Wenn ein entsprechendes erfasstes Gesicht
vorliegt, dann stellt das Sprecher-Gültigkeitsbestätigungs- und Eingrenzungsmodul 116 fest,
dass der erfasste Sprecher ein gültiger Sprecher
ist. Wenn jedoch kein entsprechendes erfasstes Gesicht vorliegt
und dies die erste Erfassung dieses Sprechers ist, verringert das
Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die Empfindlichkeit des Gültigkeitsbestätigungsprozesses,
so dass eine geringere Wahrscheinlichkeit besteht, dass der erfasste
Sprecher für
gültig
erklärt wird
(Schritte 2010–2015).
Dazu erhöht
das Sprecher-Gültigkeitsbestätigungs- und Eingrenzungsmodul 116 drei
Schwellenwerte: den Kreuzkorrelations-Schwellenwert (1317 in 13), die Anzahl von aufeinanderfolgenden
Erfassungen eines Sprecherorts, bevor der Sprecherort für gültig erklärt wird (1320 in 13), und den Schwellenwert
für die Spracherfassung
(1318 in 13).
Durch Erhöhen dieser
Schwellenwerte verringert das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die Wahrscheinlichkeit für die Gültigkeitsbestätigung eines
Sprechers, der nicht einem erfassten Gesicht entspricht.
-
Wenn
nach dem Erhöhen
der Schwellenwerte das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 immer noch den Sprecher für gültig erklärt, dann ändert das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die Kameraeingrenzungsregeln,
um grobe Richtfehler zu mildern (Schritt 2020). Das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 kann die Regeln auf eine Anzahl
von Weisen ändern:
Vergrößern des
Blickfeldes, um einen größeren Bereich
aufzunehmen, Vergrößern des
Blickfeldes, um ein naheliegendes erfasstes Gesicht aufzunehmen,
oder Vorgeben einer Gruppenaufnahme, die alle erfassten Gesichter
enthält.
-
21 zeigt einen Ablaufplan 2100 der Schritte,
die vom Sprecher-Gültigkeitsbestätigungs- und
Eingrenzungsmodul 116 unternommen werden, um die Ansprechzeit
des Videokonferenzsystems 10 zum Erfassen von Sprechern
und Richten der Kamera zu verringern. Wenn der Ort eines vorher
erfassten Gesichts dem Ort des erfassten Sprechers entspricht (Schritt 2105),
dann erhöht
das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die Empfindlichkeit des Tonbasislokalisierers 70 (Schritt 2110).
Daher wird die Wahrscheinlichkeit für die Erfassung und Gültigkeitsbestätigung eines
Sprechers erhöht.
Dazu führt
das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die folgende Funktion durch:
Verringern des Korrelationsschwellenwerts (1317 in 13); Verringern der erforderlichen
Anzahl von erforderlichen aufeinanderfolgenden Erfassungen eines
Sprecherorts, bevor der Sprecherort für gültig erklärt wird (1320 in 13); und Verringern des
Spracherfassungs-Schwellenwerts
im Ton-Sprecherortsmodul 114 in 4 (1318 in 13). Dies erhöht die Anzahl von für gültig erklärten Erfassungen
vom Sprecher im Tonbasislokalisierer 70 und führt daher
zu einer schnelleren Ansprechzeit. Das Erhöhen der Empfindlichkeit des Sprecher-Gültigkeitsbestätigungsprozesses
erhöht jedoch
die Anzahl von falschen bejahenden Sprechererfassungen. Da der Tonsprecher
bereits mit einem erfassten Gesicht verglichen wurde, werden die falschen
bejahenden Erfassungen leicht ausgefiltert und wirken sich daher
nicht signifikant, wenn überhaupt,
auf die Leistung des Videokonferenzsystems 10 aus. Anstelle
der Tonentfernungsmessung kann das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 außerdem die Gesichtserfassungsergebnisse
für die
Entfernungsmessung verwenden, was die Verarbeitungszeit, die erforderliche
Anzahl von Mikrophonen und die erforderliche Genauigkeit der Mikrophonmontage,
die typischerweise zum Betrieb des Ton-Sprecherortsmoduls 114 erforderlich sind,
weiter verringert.
-
In
einigen Ausführungsbeispielen
verwendet das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die Daten vom Videobasislokalisierer 60,
um Aufnahmen aller Teilnehmer an einer Besprechung einzugrenzen. 22 zeigt einen Ablaufplan 2200 der
Schritte, die vom Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 unternommen werden, um eine Gruppenaufnahme
einzugrenzen. Wenn solche Gruppenaufnahmen eingegrenzt werden und
wenn das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 nur die Ergebnisse für diejenigen
Sprecher verwendet, die auf der Basis von Tonsignalen erfasst wurden,
kann das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 im Allgemeinen nur diejenigen
Teilnehmer aufnehmen, die gesprochen haben. Daher werden stille
Teilnehmer aus der Gruppenaufnahme ausgelassen. Durch Ergänzen der
auf Tonbasis erfassten Sprecher mit den in den Dateien erfasster Gesichter
gespeicherten Daten kann das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 jedoch die Kamera eingrenzen,
um alle Teilnehmer in der Gruppenaufnahme aufzunehmen.
-
Um
die Kamera für
eine solche Gruppenaufnahme einzugrenzen, stellt das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 zuerst fest, ob die Teilnehmer
das Sprechen für
einen Zeitraum gestoppt haben (Schritt 2205). Wenn ja,
verwendet das Sprecher-Gültigkeitsbestätigungs- und Eingrenzungsmodul 116 die
Dateien erfasster Sprecher und die in den Dateien erfasster Gesichter
gespeicherten Daten, um eine Gruppenaufnahme einzugrenzen (Schritt 2210).
In einigen Ausführungsbeispielen
verwendet das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 zuerst die Dateien erfasster
Sprecher, um eine Gruppenaufnahme einzugrenzen, und verwendet dann
die in den Dateien erfasster Gesichter gespeicherten Daten, um die Gruppenaufnahme
einzustellen. Die Gruppenaufnahme umfasst vorzugsweise den zuletzt
erfassten Sprecher auf Tonbasis. Die Gruppenaufnahme umfasst vorzugsweise
auch so viele der Sprecher, die auf der Basis der Tonsignale erfasst
werden, und so viele der Gesichter, die auf der Basis der Videosignale
erfasst werden, wie möglich
sind, wenn die Schwenk-, Neigungs- und Zoombegrenzungen der Kamera 14 und
der Kamerapositionierungsvorrichtung 16 gegeben sind. Das
Kamerasteuermodul 80 transformiert die eingestellten Raumaufnahmewerte in
Kamerabefehle, die zur Kamerapositionierungsvorrichtung 16 geliefert
werden (Schritt 2215).
-
In
einigen Ausführungsbeispielen
verwendet das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die Videoverfolgungsdateien,
um einen sich bewegenden Sprecher zu identifizieren, und stellt
dann das Blickfeld der Kamera 14 ein, um den sich bewegenden
Sprecher besser aufzunehmen. 23A, 23B und 23C zeigen Draufsichten auf die Position
eines sich bewegenden Sprechers 2300 relativ zur Kamera 14 und
zum Blickfeld der Kamera 14. In 23A ist der Sprecher 2300 relativ
zur Kamera 14 stationär.
Die Kamera 14 kann daher ein Bild des Sprechers mit einem
relativ schmalen Blickfeld 2305 aufnehmen. Wenn sich der
Sprecher vom Ort A zum Ort B bewegt, bewegt er sich jedoch mit Bezug auf 23B aus dem Blickfeld 2305 und
in ein Blickfeld 2310. Wenn er sich zum Ort A zurückbewegt,
bewegt sich der Sprecher 2300 aus dem Blickfeld 2310 und
in das Blickfeld 2310. Ein Verfahren zum Sicherstellen,
dass ein korrektes Bild des Sprechers aufgenommen wird, besteht
darin, für
die Kamera 14 ein relativ breites Blickfeld 2315 zu
verwenden. Dies hat den Vorteil, eine kontinuierliche Kamerabewegung, um
einem sich bewegenden Sprecher zu folgen, zu vermeiden. Solche kontinuierlichen
Kamerabewegungen können
die Videobilder als diskontinuierlich erscheinen lassen, insbesondere
wenn sie zur Übertragung über ein
Telekommunikationsnetzwerk komprimiert werden.
-
24 zeigt einen Ablaufplan 2400 der Schritte,
die vom Sprecher-Gültigkeitsbestätigungs- und
Eingrenzungsmodul 116 unternommen werden, um das Blickfeld
der Kamera 14 für
einen sich bewegenden Sprecher einzustellen. Der Ablaufplan 2400 verwendet
die durch Videobasisverfolgung erfassten Sprecher, was vorstehend
im einzelnen beschrieben ist. Wenn sich ein Sprecher bewegt, identifiziert
das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 im Allgemeinen den Sprecher als neu
erfassten Sprecher. Wenn kein neuer Sprecher erfasst wird, fährt das
Ton-Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 mit der Videobasisverfolgung
fort. Wenn jedoch ein neuer Sprecherort erfasst wird (Schritt 2405),
prüft das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116, um festzustellen, ob zwei aufeinanderfolgende
Sprecherorte durch den Videobasislokalisierer 60 als mit
einer einzelnen Verfolgungsdatei übereinstimmend festgestellt
wurden (Schritt 2410). Wenn ja, wird angenommen, dass der
Sprecher ein sich bewegender Sprecher ist. Das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 stellt die Kamera zur Verfolgung
eines sich bewegenden Sprechers durch Vergrößern des Blickfeldes der Kamera 14 zum
Aufnehmen sowohl des vorherigen Orts als auch des aktuellen Orts
des Sprechers ein (das heißt
Herauszoomen der Kamera 14) (Schritt 2415). Solange
zwei aufeinanderfolgende Übereinstimmungen
bestehen, weist die Kamera 14 das breite Blickfeld auf
und die Videobasisverfolgung fährt
fort (Schritt 2430). wenn jedoch keine aufeinanderfolgenden Übereinstimmungen
bestehen, wird die Kamera 14 zurückgesetzt und zu ihrem ursprünglichen
Blickfeld zurückgebracht.
(Schritt 2420). In diesem Fall wird die Videobasisverfolgung
zurückgesetzt
und startet erneut (Schritt 2425).
-
Weitere
Ausführungsbeispiele
liegen innerhalb des Schutzbereichs der folgenden Ansprüche.
-
25 zeigt beispielsweise
ein integriertes, tragbares Videokonferenzsystem 2500.
Das Videokonferenzsystem 2500 ist auf eine ähnliche
Weise wie das Videokonferenzsystem 10 tragbar und integriert
und kann ähnliche
Merkmale, einen ähnlichen Aufbau
und eine ähnliche
Konstruktion aufweisen wie Videokonferenzsysteme, die in der gemeinsam übertragenen
US-Patentanmeldung "Integrated
Portable Videoconferencing",
Anmeldungsseriennr. 08/964 324, eingereicht am 5. November 1997,
beschrieben sind.
-
Außerdem weist
das Videokonferenzsystem 2500 außer im hier beschriebenen Umfang
im Wesentlichen ähnliche
Komponenten auf wie das Videokonferenzsystem 10. In 25 wurden Komponenten mit
derselben Bezugsziffer wie jene in den vorherigen Fig. (wie z. B. 1) vorher beschrieben und werden
hier nicht beschrieben. Es sollte beachtet werden, dass das Videokonferenzsystem 2500 auch eine
gerichtete Mikrophonanordnung 12' umfasst, wie z. B. diejenigen,
die in US-Seriennr. 08/657 636, eingereicht am 30. Mai 1996 und
herausgegeben als US-Patent Nr. 5 715 319, beschrieben sind.
-
Das
Videokonferenzsystem 2500 kann in zwei Betriebsarten betrieben
werden. In seiner ersten Betriebsart liefert der Tonbasislokalisierer 70 des Videokonferenzsystems 10 Kamerapositionierungsanweisungen
zum Schwenken der Kamera, wie vorstehend beschrieben. In dieser
Betriebsart erfüllt
der Videobasislokalisierer 60 keine Funktionen. In einigen Ausführungsbeispielen
ist diese Betriebsart die einzige Betriebsart des Videokonferenzsystems 2500 und
der Videobasislokalisierer 60 ist im Videokonferenzsystem 2500 nicht
enthalten.
-
In
einer zweiten Betriebsart liefert der Tonbasislokalisierer 70 Befehle
zum Schwenken der Kamera 14, während das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 die Daten vom Videobasislokalisierer 60 verwendet,
um die Kamera 14 zu neigen. Durch Verarbeiten von Videosignalen, um
eine Neigungsinformation bereitzustellen, benötigt das Videokonferenzsystem 2500 keine
Mikrophone zum Vorsehen einer Neigungsinformation (wie z. B. die
Mikrophone 12C und 12D in 1). Da mindestens ein Mikrophon für die Neigung
von der Ebene, in der die Schwenkmikrophone liegen, versetzt sein
muss, kann durch Beseitigen des Bedarfs für Neigungsmikrophone das Videokonferenzsystem 2500 als
System mit begrenzter Abmessung implementiert werden und auch so
ausgelegt werden, dass es tragbar ist.
-
Im
Videokonferenzsystem 2500 kann der Videobasislokalisierer 60 ein
alternatives Verfahren der Gesichtserfassung im Video-Gesichtsortsmodul 120 (4) verwenden, das nun beschrieben
wird. Mit Bezug auf 4 erfasst
das Video-Gesichtsortsmodul 102 in diesen Ausführungsbeispielen
die obere Kontur von sich bewegenden Objekten in den Videovollbildern,
die in den meisten Fällen
Menschen sind, unter Verwendung von nur Lumawerten (obwohl in anderen
Ausführungsbeispielen
Chromawerte auch verwendet werden können). Da die Konturerfassung nicht
so rechenintensiv ist wie das vorher beschriebene Gesichtserfassungsverfahren
und nur Lumawerte verwendet, ist es für Anwendungen, in denen das
zugrundeliegende System keine signifikante Verarbeitungsleistung
aufweist, besonders geeignet. Dies hat den Vorteil, dass es ermöglicht wird,
integrierte, tragbare und weniger teure Videokonferenzsysteme zu entwerfen.
-
26 zeigt einen Ablaufplan 2600 der Schritte,
die vom Video-Gesichtsortsmodul 102 unternommen werden,
um die Kontur von Sprechern unter Verwendung eines adaptiven Konturerfassungsverfahrens
zu erfassen. In Schritt 2605 initialisiert das Video-Gesichtsortsmodul 102 nach
dem Abrufen eines neuen und eines vorherigen Videovollbildes zuerst
eine adaptive Bewegungserfassungsschwelle (MD_THD) durch Festlegen
derselben so, dass sie einen minimalen Anfangswert (MD_THD_MIN)
aufweist. Die adaptive Bewegungserfassungsschwelle wird beim Erfassen
der Bewegungspixel in den aufgenommenen Videovollbildern verwendet.
Das Video-Gesichtsortsmodul 102 verarbeitet aktuelle und
vorherige Videovollbilder, um die Bewegungspixel im aktuellen Videovollbild
zu erfassen, um eine binäre
Bewegungsabbildung (oder Maske) auf eine ähnliche Weise, wie vorher in
bezug auf den Ablaufplan 700 in 7 beschrieben, zu erzeugen (Schritt 2610).
Es sollte jedoch beachtet werden, dass hier nur Lumawerte verwendet
werden.
-
Wenn
die Gesamtzahl an Bewegungspixeln in der binären Bewegungsabbildung mehr
als ein vorbestimmter Anteil, hier ein Drittel, der Gesamtzahl an Pixeln
im Videovollbild ist (Schritt 2615), dann stellt das Video-Gesichtsortsmodul 102 fest,
dass die erfassten Bewegungspixel an einer Kamerabewegung liegen.
Wenn die Gesamtzahl an Bewegungspixeln in der binären Bewegungsabbildung
nicht mehr als der vorbestimmte Anteil der Gesamtzahl an Pixeln
im Videovollbild ist (Schritt 2615), dann stellt das Video-Gesichtsortsmodul 102 fest,
ob die Gesamtzahl an Bewegungspixeln geringer als eine vorbestimmte Schwelle
(MIN_MP_NUM) ist (Schritt 2620). Wenn ja, stellt das Video-Gesichtsortsmodul 102 fest,
dass die Anzahl von Bewegungspixeln geringer ist als diejenige,
die typischerweise von einem Vollbild mit einem Bild einer sich
bewegenden Person erwartet wird.
-
Wenn
jedoch das Video-Gesichtsortsmodul 102 feststellt, ob die
Gesamtzahl an Bewegungspixeln nicht geringer als eine vorbestimmte
Schwelle (MIN_MP_NUM) ist (Schritt 2620), dann führt das
Video-Gesichtsortsmodul 102 eine morphologische Operation
an der binären
Bewegungsabbildung durch, um jegliche Pixel, die als statisch erfasst
werden, aber von Bewegungspixeln umgeben sind, zu füllen (Schritt 2625).
Die morphologische Operation kann beispielsweise eine 3 × 3-Operator-Erweiterungs-
und Erosionsoperation sein.
-
Das
Video-Gesichtsortsmodul 102 erfasst dann die Konturen der
Formen in der binären
Bewegungsabbildung (Schritt 2630). Die Konturerfassung geht
folgendermaßen
vor sich. In jeder Spalte von oben nach unten wertet das Video-Gesichtsortsmodul 102 jedes
Bewegungspixel durch Betrachten des 5 × 5-Pixelblocks nach unten
links oder unten rechts vom Pixel aus. Wenn mehr als 6 Bewegungspixel
in einem Block vorliegen, identifiziert das Video-Gesichtsortsmodul 102 das
Pixel als Konturpixel. Da die Konturen zum Liefern von Kameraanweisungen
zum Neigen der Kamera 14 verwendet werden, sind nur die
oberen Konturen der erfassten Personen erforderlich. Sobald das
Video-Gesichtsortsmodul 102 auf ein Konturpixel in einer
Spalte trifft, beendet das Video-Gesichtsortsmodul 102 daher
die Analyse dieser Spalte.
-
Das
Video-Gesichtsortsmodul 102 berechnet dann den Rauschpegel
(Schritt 2635). Der Rauschpegel ist als Gesamtzahl an Rauschpixeln,
dividiert durch die Gesamtzahl an Pixeln, oberhalb der erfassten
Konturen definiert. Rauschpixel sind Bewegungspixel in der binären Bewegungsabbildung,
die oberhalb der erfassten Konturen liegen, das heißt, Bewegungspixel,
von denen angenommen wird, dass sie nicht irgendeinem menschlichen
Sprecher entsprechen. Wenn der Rauschpegel nicht unter einer vorbestimmten
Rauschschwelle liegt (Schritt 2640), dann wird festgestellt,
dass eine weniger empfindliche Bewegungserfassung an dem Vollbild durchgeführt werden
soll, um Bewegungspixel zurückzuweisen,
die aufgrund von Rauschen erfasst werden. Die durchzuführende Bewegungserfassung ist
in der Hinsicht weniger empfindlich, dass die Wahrscheinlichkeit
für die
Erfassung von Bewegungspixeln verringert ist. Dazu erhöht das Video-Gesichtsortsmodul 102 die
adaptive Bewegungserfassungsschwelle um einen vorbestimmten Wert
(Schritt 2645). Wenn die adaptive Bewegungserfassungsschwelle
mehr als ein maximaler zulässiger
Rauschschwellenwert ist (Schritt 2650), dann stellt das
Video-Gesichtsortsmodul 102 fest, dass der Rauschpegel
oberhalb eines Pegels liegt, bei dem eine zuverlässige Kontur erfasst werden
kann.
-
Wenn
die adaptive Bewegungserfassungsschwelle nicht mehr als der maximale
zulässige Rauschschwellenwert
ist (Schritt 2650), dann führt das Video-Gesichtsortsmodul 102 eine
neue Bewegungserfassung an den Bewegungspixeln in der binären Bewegungsabbildung
unter Verwendung des neuen Werts der adaptiven Bewegungserfassungsschwelle
durch (Schritt 2655). Dieser Prozess klassifiziert wahrscheinlich
einige der Bewegungspixel neu als Nicht-Bewegungs-Pixel.
-
An
diesem Punkt werden die Schritte 2620–2655 wiederholt,
bis entweder der maximale zulässige
Rauschschwellenwert erreicht ist (Schritt 2650) oder der
erfasste Rauschpegel unterhalb der vorbestimmten Rauschschwelle
liegt (Schritt 2640).
-
Wenn
der Rauschpegel unterhalb der vorbestimmten Schwelle liegt (Schritt 2640),
dann wird angenommen, dass der Rauschpegel ausreichend niedrig ist,
dass eine zuverlässige
Kontur erfasst werden kann. Das Video-Gesichtserfassungsmodul 102 wendet
dann einen Fünf-Punkt- Medianfilter an,
um die Kontur zu glätten
und ferner irgendwelche Bewegungspixel auszufiltern, die aufgrund
von Rauschen erfasst werden (Schritt 2660). Um die Menge
an gespeicherten Daten zu verringern, quantisiert das Videoortsmodul 102 dann
in Schritt 2665 die erfassten Konturen (beispielsweise
auf 16 Pegel).
-
Das
Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 (4)
verwendet dann diese Information, um einen geeigneten Neigungswinkel
festzulegen, und beliefert die Kamerapositionierungsvorrichtung 16 mit
geeigneten Anweisungen. Dazu wählt
das Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 den höchsten Konturpunkt aus und
legt fest, wie die Kamera 14 geneigt werden sollte, so
dass dieser höchste
Konturpunkt in einer vorbestimmten Position in den aufgenommenen
Videobildern angeordnet ist.
-
In
einigen Ausführungsbeispielen
können andere
Verfahren zur Gesichtserfassung, wie z. B. auf Neuronennetz oder
Farbhistogrammverteilung basierende Gesichtserfassungsalgorithmen
und -verfahren, zum Ermitteln des Orts von Gesichtern von Personen
im Video-Gesichtsortsmodul 102 verwendet
werden.
-
Es
sollte beachtet werden, dass in den vorstehend beschriebenen Ausführungsbeispielen
vor dem Modifizieren der Kameraeingrenzungsanweisungen auf der Basis
der Ergebnisse des Videoerfassungsmoduls 60 die Kamerarichtsteuerung 80 oder das
Sprecher-Gültigkeitsbestätigungs-
und Eingrenzungsmodul 116 zuerst eine vorbestimmte Anzahl von
Vollbildern analysiert. Die Werte für alle diese Vollbilder werden
dann für
gültig
erklärt,
um sicherzustellen, dass keine irrtümlichen Korrekturen durchgeführt werden.
Nachdem die Ergebnisse für
gültig
erklärt
sind, können
sie dann verwendet werden, um die Kameraeingrenzung zu modifizieren.
Auf diese Weise wird die Genauigkeit der Eingrenzungsmodifikationen
erhöht.