-
HINTERGRUND
-
Das Führen einer Videokonferenz wird häufig in Geschäftseinrichtungen verwendet und ermöglicht, dass Teilnehmer Video- und Audioinhalt in Echtzeit über geographisch verteilte Orte miteinander teilen. Eine Kommunikationsvorrichtung an jedem Ort verwendet typischerweise eine Videokamera und ein Mikrophon, um Video- und Audioströme zu senden, und verwendet einen Videomonitor und Lautsprecher, um empfangene Video- und Audioströme wiederzugeben. Die Videokonferenzführung beinhaltet eine digitale Kompression von Video- und Audioströmen, die in Echtzeit über ein Netz von einem Ort zum anderen übertragen werden. Die Kommunikationsvorrichtungen führen die Kompression und Dekompression der Video- und Audioströme durch und halten die Datenverbindung über das Netz aufrecht.
-
ZUSAMMENFASSUNG
-
Implementierungen beziehen sich im Allgemeinen auf das Modifizieren des Aussehens eines Teilnehmers während einer Videokonferenz. In einigen Implementierungen umfasst ein Verfahren das Erhalten mindestens eines Rahmens von einem Medienstrom, wobei der mindestens eine Rahmen ein erstes Gesicht umfasst, und wobei das erste Gesicht ein Bild eines Gesichts ist, das zu einem Benutzer gehört. Das Verfahren umfasst auch das Bestimmen von mehreren Koordinaten innerhalb des mindestens einen Rahmens. Das Verfahren umfasst auch das Erhalten mindestens eines Medieninhaltselements. Das Verfahren umfasst auch das Hinzufügen des mindestens einen Medieninhaltselements zu dem mindestens einen Rahmen auf der Basis der mehreren Koordinaten.
-
Weiterhin umfassen in dem Verfahren in einigen Implementierungen die mehreren ersten Koordinaten Koordinaten des ersten Gesichts. In einigen Implementierungen wird das Bestimmen der mehreren Koordinaten unter Verwendung eines Gesichtserkennungsalgorithmus durchgeführt und die mehreren ersten Koordinaten umfassen Koordinaten des ersten Gesichts. In einigen Implementierungen umfasst das mindestens eine Medieninhaltselement mindestens ein Ersatzgesicht. In einigen Implementierungen umfasst das mindestens eine Medieninhaltselement mindestens ein Ersatzgesicht und das Ersatzgesicht ist vom ersten Gesicht verschieden. In einigen Implementierungen umfasst das mindestens eine Medieninhaltselement mindestens ein Ersatzgesicht und das Ersatzgesicht gehört zu einer Person, die vom Benutzer verschieden ist. In einigen Implementierungen umfasst dass mindestens eine Medieninhaltselement mindestens ein Ersatzgesicht und das Ersatzgesicht ist einer Karikaturversion des ersten Gesichts zugeordnet. In einigen Implementierungen umfasst das Verfahren ferner das Erhalten von einem oder mehreren Parametern, die dem mindestens einen Medieninhaltselement zugeordnet sind. In einigen Implementierungen umfasst das Hinzufügen des mindestens einen Medieninhaltselements das Überlagern des mindestens einen Medieninhaltselements auf den mindestens einen Rahmen und/oder das Ersetzen zumindest eines Abschnitts des einen oder der mehreren Rahmen durch das mindestens eine Medieninhaltselement. In einigen Implementierungen umfasst das Verfahren ferner das Erhalten mindestens eines Audioinhaltselements, das dem mindestens einen Medieninhaltselement zugeordnet ist, und das Hinzufügen des mindestens einen Audioinhaltelements zum Medienstrom.
-
In einigen Implementierungen umfasst ein Verfahren das Erhalten mindestens eines Rahmens von einem Medienstrom, wobei der mindestens eine Rahmen ein erstes Gesicht umfasst, und wobei das erste Gesicht ein Bild eines Gesichts ist, das zu einem Benutzer gehört. In einigen Implementierungen umfasst das Verfahren auch das Bestimmen von mehreren Koordinaten innerhalb des mindestens einen Rahmens, wobei die mehreren ersten Koordinaten Koordinaten des ersten Gesichts umfassen, und wobei das Bestimmen der mehreren Koordinaten unter Verwendung eines Gesichtserkennungsalgorithmus durchgeführt wird. In einigen Implementierungen umfasst das Verfahren auch das Erhalten mindestens eines Medieninhaltselements, wobei das mindestens eine Medieninhaltselement mindestens ein Ersatzgesicht umfasst, und wobei das Ersatzgesicht einer Karikaturversion des ersten Gesichts zugeordnet ist. In einigen Implementierungen umfasst das Verfahren auch das Erhalten von einem oder mehreren Parametern, die dem mindestens einen Medieninhaltselement zugeordnet sind. In einigen Implementierungen umfasst das Verfahren auch das Hinzufügen des mindestens einen Medieninhaltselements zu dem mindestens einen Rahmen auf der Basis der mehreren Koordinaten, wobei das Hinzufügen des mindestens einen Medieninhaltselements das Überlagern des mindestens einen Medieninhaltselements auf den mindestens einen Rahmen und/oder das Ersetzen zumindest eines Abschnitts des einen oder der mehreren Rahmen durch das mindestens eine Medieninhaltselement umfasst.
-
In einigen Implementierungen umfasst ein System einen oder mehrere Prozessoren und eine Logik, die in einem oder mehreren konkreten Medien codiert ist, für die Ausführung durch den einen oder die mehreren Prozessoren. Wenn sie ausgeführt wird, ist die Logik betriebsfähig, um Operationen durchzuführen, einschließlich des Erhaltens mindestens eines Rahmens von einem Medienstrom, wobei der mindestens eine Rahmen ein erstes Gesicht umfasst, und wobei das erste Gesicht ein Bild eines Gesichts ist, das zu einem Benutzer gehört. Die Logik ist, wenn sie ausgeführt wird, ferner betriebsfähig, um Operationen durchzuführen, einschließlich des Bestimmens von mehreren Koordinaten innerhalb des mindestens einen Rahmens. Die Logik ist, wenn sie ausgeführt wird, ferner betriebsfähig, um Operationen durchzuführen, einschließlich des Erhaltens mindestens eines Medieninhaltselements. Die Logik ist, wenn sie ausgeführt wird, ferner betriebsfähig, um Operationen durchzuführen, einschließlich des Hinzufügens des mindestens einen Medieninhaltselements zu dem mindestens einen Rahmen auf der Basis der mehreren Koordinaten.
-
Weiterhin umfassen in dem System in einigen Implementierungen die mehreren ersten Koordinaten Koordinaten des ersten Gesichts. In einigen Implementierungen wird das Bestimmen der mehreren Koordinaten unter Verwendung eines Gesichtserkennungsalgorithmus durchgeführt und die mehreren ersten Koordinaten umfassen Koordinaten des ersten Gesichts. In einigen Implementierungen umfasst das mindestens eine Medieninhaltselement mindestens ein Ersatzgesicht. In einigen Implementierungen umfasst das mindestens eine Medieninhaltselement mindestens ein Ersatzgesicht und das Ersatzgesicht ist vom ersten Gesicht verschieden. In einigen Implementierungen umfasst das mindestens eine Medieninhaltselement mindestens ein Ersatzgesicht und das Ersatzgesicht gehört zu einer Person, die vom Benutzer verschieden ist. In einigen Implementierungen umfasst das mindestens eine Medieninhaltselement mindestens ein Ersatzgesicht und das Ersatzgesicht ist einer Karikaturversion des ersten Gesichts zugeordnet. In einigen Implementierungen ist die Logik, wenn sie ausgeführt wird, ferner betriebsfähig, um Operationen durchzuführen, einschließlich des Erhaltens von einem oder mehreren Parametern, die dem mindestens einen Medieninhaltselement zugeordnet sind. In einigen Implementierungen umfasst das Hinzufügen des mindestens einen Medieninhaltselements das Überlagern des mindestens einen Medieninhaltselements auf den mindestens einen Rahmen und/oder das Ersetzen zumindest eines Abschnitts des einen oder der mehreren Rahmen durch das mindestens eine Medieninhaltselement. In einigen Implementierungen ist die Logik, wenn sie ausgeführt wird, ferner betriebsfähig, um Operationen durchzuführen, einschließlich des Erhaltens mindestens eines Audioinhaltselements, das dem mindestens einen Medieninhaltselement zugeordnet ist, und des Hinzufügens des mindestens einen Audioinhaltselements zum Medienstrom.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 stellt ein Blockdiagramm einer Beispielnetzumgebung dar, die verwendet werden kann, um die hier beschriebenen Implementierungen zu implementieren.
-
2 stellt ein vereinfachtes Beispielablaufdiagramm zum Modifizieren eines Aussehens eines Teilnehmers während einer Videokonferenz gemäß einigen Implementierungen dar.
-
3 stellt eine vereinfachte Beispiel-Benutzerschnittstelle gemäß einigen Implementierungen dar.
-
4 stellt ein Blockdiagramm einer Beispiel-Server-Vorrichtung dar, die verwendet werden kann, um die hier beschriebenen Implementierungen zu implementieren.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die hier beschriebenen Implementierungen ermöglichen, dass Medienströme, wie z. B. Video-, Audio- und Chatströme, verwendet werden, um ein unterschiedliches Aussehen eines Teilnehmers während einer Videokonferenz zu simulieren. Ein Teilnehmer kann sich beispielsweise dazu entscheiden, dass sein Abbild oder sein Aussehen durch ein spezifisches Ersatzgesicht wie z. B. ein Karikaturgesicht, ein Gesicht einer Berühmtheit oder einen Avatar dargestellt wird.
-
Wie nachstehend genauer beschrieben, erhält ein System in verschiedenen Implementierungen Rahmen von einem Medienstrom, wobei die Rahmen das Gesicht eines Benutzers (z. B. eines Teilnehmers an einer Videokonferenz) umfassen. Das System bestimmt auch Koordinaten innerhalb jedes der Rahmen, wobei die Koordinaten beschreiben, wo das Gesicht und/oder Elemente des Gesichts in jedem der Rahmen angeordnet sind. Das System erhält auch ein oder mehrere Medieninhaltselemente, die ein Bild eines Ersatzgesichts (z. B. eines Karikaturgesichts, eines Gesichts einer Berühmtheit, eines Avatar usw.) umfassen können. Das System fügt dann das eine oder die mehreren Medieninhaltselemente zu jedem der Rahmen auf der Basis der Koordinaten hinzu.
-
1 stellt ein Blockdiagramm einer Beispielnetzumgebung 100 dar, die verwendet werden kann, um die hier beschriebenen Implementierungen zu implementieren. In einigen Implementierungen umfasst die Netzumgebung 100 ein System 102, das eine Server-Vorrichtung 104 und eine Datenbank 106 eines sozialen Netzes umfasst. Der Begriff System 102 und der Ausdruck ”System eines sozialen Netzes” können austauschbar verwendet werden. Die Netzumgebung 100 umfasst auch Client-Vorrichtungen 110, 120, 130 und 140, die über das System 102 und ein Netz 150 miteinander kommunizieren können.
-
Für eine leichte Darstellung zeigt 1 einen Block für jedes des Systems 102, der Server-Vorrichtung 104 und der Datenbank 106 des sozialen Netzes und zeigt vier Blöcke für Client-Vorrichtungen 110, 120, 130 und 140. Die Blöcke 102, 104 und 106 können mehrere Systeme, Server-Vorrichtungen und Datenbanken von sozialen Netzen darstellen. Es kann auch eine beliebige Anzahl von Client-Vorrichtungen vorhanden sein. In anderen Implementierungen kann die Netzumgebung 100 nicht alle gezeigten Komponenten aufweisen und/oder kann andere Elemente, einschließlich anderer Typen von Elementen, anstelle von oder zusätzlich zu den hier gezeigten aufweisen.
-
In verschiedenen Implementierungen können Benutzer U1, U2, U3 und U4 unter Verwendung von jeweiligen Client-Vorrichtungen 110, 120, 130 und 140 miteinander kommunizieren. Die Benutzer U1, U2, U3 und U4 können beispielsweise in einer Videokonferenz für mehrere Benutzer miteinander zusammenwirken, wobei jeweilige Client-Vorrichtungen 110, 120, 130 und 140 Medienströme zueinander übertragen.
-
In verschiedenen Implementierungen können die Medienströme verschiedene Typen von Medienströmen umfassen (z. B. einen oder mehrere Videoströme und/oder einen oder mehrere Audioströme). Solche Medienströme können beispielsweise Videoströme umfassen, die die Benutzer U1, U2, U3 und U4 anzeigen, und können zugehörige Audioströme umfassen. Die Medienströme können auch Medienströme umfassen, die in verschiedenen Richtungen (z. B. ein oder mehrere ausgehende Ströme und/oder ein oder mehrere eingehende Ströme) relativ zu jeder Client-Vorrichtung 110, 120, 130 und 140 übertragen werden.
-
2 stellt ein vereinfachtes Beispielablaufdiagramm zum Modifizieren eines Aussehens eines Teilnehmers während einer Videokonferenz gemäß einigen Implementierungen dar. Mit Bezug auf sowohl 1 als auch 2 wird ein Verfahren im Block 202 eingeleitet, in dem das System 102 mindestens einen Rahmen von einem Medienstrom erhält, wobei der mindestens eine Rahmen ein Gesicht eines Benutzers umfasst. In verschiedenen Implementierungen kann der Benutzer ein Teilnehmer der Videokonferenz sein. An sich kann der Medienstrom ein Videostrom sein, der der Videokonferenz zugeordnet ist.
-
In den hier beschriebenen verschiedenen Implementierungen können der Begriff ”Gesicht” und der Ausdruck ”Bild eines Gesichts” in Abhängigkeit vom Zusammenhang austauschbar verwendet werden. In einigen Zusammenhängen (z. B. im Zusammenhang mit einem Medienstromrahmen) kann sich beispielsweise die Bezugnahme auf ein Gesicht auf ein Bild eines Gesichts eines Benutzers in einem Rahmen beziehen. In einigen Zusammenhängen kann sich die Bezugnahme auf ein Gesicht auf ein tatsächliches Gesicht beziehen, wie beim ”Gesicht eines Benutzers”.
-
3 stellt eine vereinfachte Beispiel-Benutzerschnittstelle 300 gemäß einigen Implementierungen dar. Die Benutzerschnittstelle 300 zeigt Aspekte einer Mehrweg-Videokonferenzplattform, die ermöglicht, dass mehrere gleichzeitige Teilnehmer über Sprache, getippten Chat und Video miteinander kommunizieren. Die Benutzerschnittstelle 300 kann visuell auf der Darstellung oder dem Konzept eines aktuellen Sprechers zentriert sein, der in der auffälligsten Position (große Videozufuhr) gezeigt wird, und ein Filmstreifen, der Miniaturansichten aller Teilnehmer zeigt. Wie gezeigt, befindet sich ein Benutzer U3 unter mehreren Teilnehmern an der Videokonferenz, wobei der Benutzer U3 der aktuelle Sprecher ist. Die Benutzerschnittstelle kann auch ein Chatfenster anzeigen, das ein Chatprotokoll einer getippten Konversation umfasst.
-
Verschiedene hier beschriebene Implementierungen werden im Zusammenhang mit einem einzelnen Rahmen eines Medienstroms beschrieben. Diese Implementierungen gelten auch für mehrere Rahmen eines Medienstroms. Wie vorstehend angegeben, kann ein gegebener Medienstrom beispielsweise ein Videostrom sein, der einer Videokonferenz zugeordnet ist. An sich kann das System 102 mehrere Rahmen des Videostroms erhalten und das Bild eines gegebenen Gesichts in jedem Rahmen einer Reihe von Rahmen gemäß verschiedenen Verfahrensimplementierungen von 2 verarbeiten.
-
Mit Bezug auf sowohl 2 als auch 3 bestimmt im Block 204 das System 102 Koordinaten innerhalb des mindestens einen Rahmens. In verschiedenen Implementierungen entsprechen die Koordinaten Orten eines Gesichts 302 des Benutzers (z. B. des Benutzers U3) und/oder Abschnitten des Gesichts des Benutzers (z. B. Augen, Nase, Mund usw.). Für eine leichte Darstellung ist ein vereinfachter Kopf des Benutzers U3 gezeigt.
-
In einigen Implementierungen kann das System 102 einen Gesichtserkennungsalgorithmus oder eine Gesichtserkennungssoftware verwenden, um Koordinaten innerhalb des Rahmens zu bestimmen. Die Koordinaten können Koordinaten des Gesichts des Benutzers in einem gegebenen Rahmen (z. B. ein Gesicht eines Teilnehmers an einer Videokonferenz usw.) umfassen und können auch Koordinaten von Elementen des Gesichts des Benutzers (z. B. Augen, Nase, Ohren usw.) umfassen.
-
Wie nachstehend genauer beschrieben, ermöglicht das System 102, dass Benutzer des Systems des sozialen Netzes die Nutzung von persönlichen Informationen festlegen und/oder dieser zustimmen, was umfassen kann, dass das System 102 ihre Gesichter in Photos verwendet oder ihre Identitätsinformationen beim Erkennen von Leuten, die in Photos identifiziert werden, verwendet. In einigen Implementierungen kann das System 102 die Gesichtserkennungssoftware verwenden, um festzustellen, ob der Mund des Teilnehmers offen, geschlossen ist, lächelt usw., ob die Augen des Teilnehmers offen oder geschlossen sind, usw. sowie andere Gesichtsmerkmale zu bestimmen. In einigen Implementierungen kann das System 102 Informationen, die den Koordinaten zugeordnet sind, in einer Gesichtsbibliothek speichern, die Informationen über spezielle Orte und/oder Abstände von Gesichtselementen relativ zueinander usw. enthält.
-
Im Block 206 erhält das System 102 ein oder mehrere Medieninhaltselemente. Wie genauer beschrieben, kann das System 102 das Gesicht des Benutzers gegen ein oder mehrere Medieninhaltselemente austauschen.
-
In einigen Implementierungen kann das eine oder können die mehreren Medieninhaltselemente ein Ersatzgesicht umfassen. In verschiedenen Implementierungen ist das Ersatzgesicht ein Bild eines Gesichts, das das System 102 verwenden kann, um das Bild des tatsächlichen Gesichts des Benutzers dagegen auszutauschen. In verschiedenen Implementierungen kann das Ersatzgesicht vom Gesicht des Benutzers (z. B. Gesicht eines Videoteilnehmers) verschieden sein.
-
In einigen Implementierungen kann das Ersatzgesicht einer Karikaturversion des Gesichts des Benutzers zugeordnet sein. Wie in 3 gezeigt, kann beispielsweise ein Medieninhaltselement 304, das ein Karikaturgesicht ist, ein Ersatzgesicht sein. In einigen Implementierungen kann das Ersatzgesicht irgendeinem Avatar zugeordnet sein. In einigen Implementierungen kann der Benutzer das Ersatzgesicht aus verschiedenen Ersatzgesichtern auswählen. In einigen Implementierungen kann das Ersatzgesicht zu einer Person gehören, die vom Benutzer verschieden ist. Wie in 3 gezeigt, kann beispielsweise ein Medieninhaltselement 306, das vom Gesicht des Benutzers U3 verschieden ist, ein Ersatzgesicht sein. Das Ersatzgesicht kann beispielsweise das Gesicht einer speziellen Berühmtheit sein. In einigen Implementierungen können verschiedene Ersatzgesichter verwendet werden, um den Teilnehmer anonym zu machen.
-
In einigen Implementierungen kann der Teilnehmer ein Gesicht einer Berühmtheit, eine Karikatur, einen Avatar usw. scannen und dann das Gesicht in das System des sozialen Netzes hochladen. Es ist zu beachten, dass für eine leichte Erläuterung der Begriff Gesicht verwendet wird. In verschiedenen Implementierungen kann der Begriff Gesicht die verschiedenen Aspekte und Perspektiven darstellen, die einem Gesicht oder Ersatzgesicht zugeordnet sind. Der Begriff Gesicht kann beispielsweise auch Elemente und Abschnitte eines Gesichts (z. B. Augen, Nase, Mund, Gesichtsmerkmale usw.), Elemente und Abschnitte von Elementen, die das Gesicht umgeben (z. B. Ohren, Hals usw.), Haarelemente (z. B. Haar, das den Kopf bedeckt, Augenbrauen, Schnurrbart, Bart usw.) umfassen. Implementierungen, die ein Gesicht beinhalten, gelten auch für diese verschiedenen Elemente und Abschnitte ebenso wie sie für andere Körperteile gelten, die ein Gesicht begleiten können, wie z. B. Schultern und Brustbereich wie in einem Portrait, und Arme, Hände usw.
-
In verschiedenen Implementierungen kann das System 102 auch einen oder mehrere Parameter erhalten, die jedem des einen oder der mehreren Medieninhaltselemente zugeordnet sind. In verschiedenen Implementierungen sind der eine oder die mehreren Parameter dem einen oder den mehreren Medieninhaltselementen zugeordnet. Wenn beispielsweise das Medieninhaltselement ein Gesicht oder ein Ersatzgesicht ist, können ein oder mehrere Parameter der Größe und den Abmessungen des Gesichts, der Form des Gesichts, Elementen eines Gesichts zugeordnet sein und diese definieren und/oder einem Gesicht zugeordnet sein, usw.
-
In verschiedenen Implementierungen kann das System 102 ein oder mehrere Medieninhaltselemente erhalten und/oder ein oder mehrere Parameter, die dem Medieninhaltselement zugeordnet sind, von irgendeinem geeigneten Speicherort (z. B. einem lokalen Speicher) erhalten.
-
Im Block 208 fügt das System 102 das eine oder die mehreren Medieninhaltselemente zu dem mindestens einen Rahmen zumindest teilweise auf der Basis der Koordinaten hinzu. Das Medieninhaltselement 304 von 3 kann beispielsweise zum Rahmen hinzugefügt werden, wodurch das Gesicht 302 des Benutzers U3 ausgetauscht wird. Obwohl verschiedene Implementierungen hier im Zusammenhang mit einem einzelnen Rahmen beschrieben werden, wie vorstehend angegeben, gelten diese Implementierungen auch für mehrere Rahmen (z. B. animierte Rahmen usw.) Das System 102 kann beispielsweise das eine oder die mehreren Medieninhaltselemente zu einer Reihe oder einem Strom von Rahmen (z. B. einer Reihe von Rahmen in einem Videostrom wie z. B. dem in 3 gezeigten) hinzufügen.
-
In einigen Implementierungen kann das Hinzufügen des Medieninhaltselements umfassen, dass das System 102 das mindestens eine Medieninhaltselement auf einen Abschnitt des Rahmens überlagert. In verschiedenen Implementierungen basiert das Überlagern auf den Koordinaten innerhalb des Rahmens und basiert auch auf Parametern, die dem einen oder den mehreren Medieninhaltselementen zugeordnet sind. In einigen Implementierungen kann das Hinzufügen des Medieninhaltselements umfassen, dass das System 102 einen Abschnitt des Rahmens durch das eine oder die mehreren Medieninhaltselemente ersetzt. In verschiedenen Implementierungen basiert das Ersetzen auf den Koordinaten innerhalb des Rahmens und basiert auf Parametern, die dem einen oder den mehreren Medieninhaltselementen zugeordnet sind.
-
Das System 102 kann beispielsweise feststellen, wo sich verschiedene Abschnitte des Gesichts des Benutzers im Rahmen befinden (z. B. unter Verwendung der Koordinaten). Das System 102 kann dann die Parameter von einem oder mehreren Medieninhaltselementen (z. B. Augen, Nase, Mund usw.) bestimmen. Das System 102 kann dann einen Abschnitt des Gesichts des Benutzers oder das ganze Gesicht des Benutzers gegen ein oder mehrere Medieninhaltselemente austauschen. Folglich kann das Hinzufügen des einen oder der mehreren Medieninhaltselemente zu einem Rahmen zum Ersetzen des Gesichts des Benutzers durch ein Ersatzgesicht führen. In einem anderen Beispiel kann in einer Videokonferenz das System 102 das Gesicht eines gegebenen Benutzers in einem Videostrom gegen ein Ersatzgesicht (z. B. einen Avatar, ein Karikaturgesicht usw.) austauschen. In verschiedenen Implementierungen kann der Benutzer/Videokonferenzteilnehmer sich dazu entscheiden, dass das Abbild oder das Aussehen des Teilnehmers in Abhängigkeit von der Benutzerauswahl durch eine Vielfalt von spezifischen Ersatzgesichtern dargestellt wird.
-
In einigen Implementierungen kann das System 102 einen Gesichtsverfolgungsalgorithmus verwenden, um das Ersatzgesicht auf dem Bildschirm zu bewegen, so dass es dem Benutzer folgt. Wenn sich der Benutzer beispielsweise zu einer Seite der Videokamera (z. B. zur rechten Seite des Betrachters) bewegt, verfolgt das System 102 Änderungen der Koordinaten, um das eine oder die mehreren Medieninhaltselemente dementsprechend hinzuzufügen (z. B. zur rechten Seite des Betrachters). In einigen Implementierungen kann das System 102 das Ersatzgesicht dementsprechend skalieren. Wenn der Benutzer beispielsweise den Abstand in Bezug auf die Videokamera verändert (z. B. sich näher zur Videokamera bewegt), verfolgt das System 102 Änderungen der Koordinaten und modifiziert und fügt das eine oder die mehreren Medieninhaltselemente demensprechend hinzu (z. B. vergrößert es ein oder mehrere Medieninhaltselemente, um sie an die sich ändernden Koordinaten anzupassen).
-
In einigen Implementierungen kann das System 102 den Hintergrund der Umgebung des Teilnehmers erfassen, ohne dass der Teilnehmer vorhanden ist. Dies würde es dem System 102 erleichtern, wenn es später das Gesicht des Teilnehmers gegen das Ersatzgesicht austauscht. Das System 102 kann beispielsweise das Gesicht des Teilnehmers ausschneiden und das Ersatzgesicht einfügen, während der Hintergrund bewahrt wird.
-
In verschiedenen Implementierungen kann ein Audiostrom verwendet werden, um Abschnitte und/oder Elemente eines Gesichts zu bewegen, wie z. B. den Mund des Ersatzgesichts. In einigen Implementierungen kann der Audiostrom Worten oder Tönen, die vom Teilnehmer geäußert werden, entsprechen. In einigen Implementierungen erhält das System 102 mindestens ein Audioinhaltselement, das dem mindestens einen Medieninhaltselement zugeordnet ist. In einigen Implementierungen kann, wenn das Audioinhaltselement ein Gesicht einer speziellen Berühmtheit ist, der Audioinhalt die Sprachcharakteristiken dieser speziellen Berühmtheit umfassen (z. B. Tonhöhe, Beschaffenheit usw.). In einigen Implementierungen kann das System 102 das Audioinhaltselement zum Medienstrom hinzufügen. In einigen Implementierungen kann das System 102 das Audioinhaltselement in den Medienstrom mischen. In einigen Implementierungen kann das System 102 zumindest einen Abschnitt des Medienstroms durch das Audioinhaltselement ersetzen. Wenn der Teilnehmer Worte oder Töne von sich gibt, erzeugt das System 102 folglich dieselben Worte oder Töne, die vom Benutzer von sich gegeben werden, jedoch mit der Stimme der speziellen Berühmtheit modifiziert.
-
Obwohl die Schritte, Operationen oder Berechnungen in einer spezifischen Reihenfolge dargestellt sein können, kann die Reihenfolge in speziellen Implementierungen geändert werden. Andere Ordnungen der Schritte sind in Abhängigkeit von der speziellen Implementierung möglich. In einigen speziellen Implementierungen können mehrere Schritte, die in dieser Patentbeschreibung als sequentiell gezeigt sind, gleichzeitig durchgeführt werden. Einige Implementierungen können auch nicht alle gezeigten Schritte aufweisen und/oder können andere Schritte anstelle von oder zusätzlich zu den hier gezeigten aufweisen.
-
Obwohl das System 102 als die Schritte durchführend beschrieben wird, wie in den Implementierungen hier beschrieben, kann irgendeine geeignete Komponente oder Kombination von Komponenten des Systems 102 oder irgendein geeigneter Prozessor oder Prozessoren, die zum System 102 gehören, die beschriebenen Schritte durchführen
-
Die hier beschriebenen Implementierungen schaffen verschiedene Vorteile. Implementierungen ermöglichen beispielsweise, dass Teilnehmer in einer amüsanten Weise miteinander zusammenwirken. Implementierungen ermöglichen, dass Teilnehmer an einer Videokonferenz anonym sind. Die hier beschriebenen Implementierungen erhöhen auch die gesamte Bindung zwischen Endbenutzern in einer Umgebung eines sozialen Netzes.
-
4 stellt ein Blockdiagramm einer Beispiel-Server-Vorrichtung 400 dar, die verwendet werden kann, um die hier beschriebenen Implementierungen zu implementieren. Die Server-Vorrichtung 400 kann beispielsweise verwendet werden, um die Server-Vorrichtung 104 von 1 zu implementieren sowie die hier beschriebenen Verfahrensimplementierungen durchzuführen. In einigen Implementierungen umfasst die Server-Vorrichtung 400 einen Prozessor 402, ein Betriebssystem 404, einen Speicher 406 und eine Eingabe/Ausgabe-Schnittstelle (E/A-Schnittstelle) 408.
-
Die Server-Vorrichtung 400 umfasst auch eine Maschine 410 des sozialen Netzes und eine Medienanwendung 412, die im Speicher 406 oder an irgendeinem anderen geeigneten Speicherort oder computerlesbaren Medium gespeichert sein kann. Die Medienanwendung 412 stellt Befehle bereit, die ermöglichen, dass der Prozessor 402 die hier beschriebenen Funktionen und andere Funktionen durchführt.
-
Für eine leichte Darstellung zeigt 4 einen Block für jeden des Prozessors 402, des Betriebssystems 404, des Speichers 406, der E/A-Schnittstelle 408, der Maschine 410 des sozialen Netzes und der Medienanwendung 412. Diese Blöcke 402, 404, 406, 408, 410 und 412 können mehrere Prozessoren, Betriebssysteme, Speicher, E/A-Schnittstellen, Maschinen des sozialen Netzes und Medienanwendungen darstellen. In anderen Implementierungen kann die Server-Vorrichtung 400 nicht alle der gezeigten Komponenten aufweisen und/oder kann andere Elemente, einschließlich anderer Typen von Elementen, anstelle von oder zusätzlich zu den hier gezeigten aufweisen.
-
In verschiedenen Implementierungen kann das System 102 eine Vielfalt von Erkennungsalgorithmen verwenden, um Gesichter, Orientierungspunkte, Objekte usw. in Medien zu erkennen. Solche Erkennungsalgorithmen können mit dem System 102 integral sein. Das System 102 kann auch auf Erkennungsalgorithmen zugreifen, die von einer Software bereitgestellt werden, die sich außerhalb des Systems 102 befindet und auf die das System 102 zugreift.
-
In verschiedenen Implementierungen ermöglicht das System 102, dass Benutzer des Systems des sozialen Netzes die Nutzung von persönlichen Informationen festlegen und/oder dieser zustimmen, was umfassen kann, dass das System 102 ihre Gesichter in Photos verwendet oder ihre Identitätsinformationen beim Erkennen von Leuten, die in Photos identifiziert werden, verwendet. Das System 102 kann beispielsweise Benutzer mit mehreren Auswahlen versehen, die auf das Festlegen der und/oder Zustimmen zur Nutzung von persönlichen Informationen gerichtet sind. Auswahlen im Hinblick auf das Festlegen und/oder Zustimmen können beispielsweise individuellen Photos, allen Photos, individuellen Photoalben, allen Photoalben usw. zugeordnet sein. Die Auswahlen können in einer Vielfalt von Weisen implementiert werden. Das System 102 kann beispielsweise bewirken, dass Schaltflächen oder Auswahlkästchen neben den verschiedenen Auswahlen angezeigt werden. In einigen Implementierungen ermöglicht das System 102, dass Benutzer des sozialen Netzes die Nutzung der Verwendung ihrer Photos für die Gesichtserkennung im Allgemeinen festlegen und/oder dieser zustimmen. Beispielimplementierungen für das Erkennen von Gesichtern und anderen Objekten werden nachstehend genauer beschrieben.
-
In verschiedenen Implementierungen erhält das System 102 Referenzbilder von Benutzern des Systems des sozialen Netzes, wobei jedes Referenzbild ein Bild eines Gesichts umfasst, das zu einem bekannten Benutzer gehört. Der Benutzer ist bekannt, indem das System 102 Identitätsinformationen des Benutzers hat, wie z. B. den Namen des Benutzers und andere Profilinformationen. In einigen Implementierungen kann ein Referenzbild beispielsweise ein Profilbild sein, das der Benutzer hochgeladen hat. In einigen Implementierungen kann ein Referenzbild auf einer Zusammensetzung einer Gruppe von Referenzbildern basieren.
-
In einigen Implementierungen kann das System 102, um ein Gesicht in einem Photo zu erkennen, das Gesicht (d. h. das Bild des Gesichts) vergleichen und das Gesicht mit Referenzbildern von Benutzern des Systems des sozialen Netzes abgleichen. Es ist zu beachten, dass der Begriff ”Gesicht” und der Ausdruck ”Bild des Gesichts” austauschbar verwendet werden. Für eine leichte Erläuterung wird die Erkennung eines Gesichts in einigen der hier beschriebenen Beispielimplementierungen beschrieben. Diese Implementierungen können auch für jedes Gesicht von mehreren zu erkennenden Gesichtern gelten.
-
In einigen Implementierungen kann das System 102 Referenzbilder durchsuchen, um irgendeines oder mehrere Referenzbilder zu identifizieren, die zum Gesicht im Photo ähnlich sind. In einigen Implementierungen kann das System 102 für ein gegebenes Referenzbild Merkmale aus dem Bild des Gesichts in einem Photo zur Analyse extrahieren, und dann diese Merkmale mit jenen des einen oder der mehreren Referenzbilder vergleichen. Das System 102 kann beispielsweise die relative Position, Größe und/oder Form von Gesichtsmerkmalen, wie z. B. der Augen, der Nase, der Wangenknochen, des Mundes, des Kiefers, usw., analysieren. In einigen Implementierungen kann das System 102 Daten verwenden, die von der Analyse erfasst werden, um das Gesicht im Photo mit einem oder mehreren Referenzbildern mit entsprechenden oder ähnlichen Merkmalen abzugleichen. In einigen Implementierungen kann das System 102 mehrere Referenzbilder normieren und Gesichtsdaten von diesen Bildern zu einer zusammengesetzten Darstellung mit Informationen (z. B. Gesichtsmerkmalsdaten) komprimieren und dann das Gesicht im Photo mit der zusammengesetzten Darstellung für die Gesichtserkennung vergleichen.
-
In einigen Szenarios kann das Gesicht im Photo zu mehreren Referenzbildern, die zum gleichen Benutzer gehören, ähnlich sein. An sich bestünde eine hohe Wahrscheinlichkeit, dass die Person, die dem Gesicht im Photo zugeordnet ist, dieselbe Person ist, die den Referenzbildern zugeordnet ist.
-
In einigen Szenarios kann das Gesicht im Photo zu mehreren Referenzbildern, die zu verschiedenen Benutzern gehören, ähnlich sein. An sich bestünde eine mäßig hohe und dennoch verringerte Wahrscheinlichkeit, dass die Person im Photo irgendeiner gegebenen Person entspricht, die den Referenzbildern zugeordnet ist. Um eine solche Situation zu handhaben, kann das System 102 verschiedene Typen von Gesichtserkennungsalgorithmen verwenden, um die Möglichkeiten einzuengen, idealerweise bis auf einen besten Kandidaten.
-
In einigen Implementierungen kann das System 102, um die Gesichtserkennung zu erleichtern, beispielsweise geometrische Gesichtserkennungsalgorithmen verwenden, die auf einer Merkmalsunterscheidung basieren. Das System 102 kann auch photometrische Algorithmen verwenden, die auf einer statistischen Methode basieren, die ein Gesichtsmerkmal in Werte zum Vergleich ableitet. Eine Kombination der geometrischen und photometrischen Methoden könnte auch verwendet werden, wenn das Gesicht im Photo mit einer oder mehreren Referenzen verglichen wird.
-
Andere Gesichtserkennungsalgorithmen können verwendet werden. Das System 102 kann beispielsweise Gesichtserkennungsalgorithmen verwenden, die eine oder mehrere einer Hauptkomponentenanalyse, einer linearen Unterscheidungsanalyse, eines elastischen Bündelgraphvergleichs, von Hidden-Makrov-Modellen und eines dynamischen Verknüpfungsvergleichs verwenden. Es ist zu erkennen, dass das System 102 andere bekannte oder später entwickelte Gesichtserkennungsalgorithmen, Gesichtserkennungstechniken und/oder Gesichtserkennungssysteme verwenden kann.
-
In einigen Implementierungen kann das System 102 eine Ausgabe erzeugen, die eine Wahrscheinlichkeit (oder Probabilität) angibt, dass das Gesicht im Photo einem gegebenen Referenzbild entspricht. In einigen Implementierungen kann die Ausgabe als Metrik (oder Zahlenwert) wie z. B. ein Prozentsatz dargestellt werden, der dem Vertrauen zugeordnet ist, dass das Gesicht im Photo einem gegebenen Referenzbild entspricht. Ein Wert von 1,0 kann beispielsweise 100% Vertrauen einer Übereinstimmung darstellen. Dies könnte beispielsweise stattfinden, wenn verglichene Bilder identisch oder nahezu identisch sind. Der Wert könnte niedriger sein, beispielsweise 0,5, wenn eine Chance von 50% für eine Übereinstimmung besteht. Andere Typen von Ausgaben sind möglich. In einigen Implementierungen kann die Ausgabe beispielsweise ein Vertrauenspunktwert für die Übereinstimmung sein.
-
Obwohl die Beschreibung in Bezug auf spezielle Ausführungsformen davon beschrieben wurde, sind diese speziellen Ausführungsformen nur erläuternd und nicht einschränkend. Konzepte, die in den Beispielen dargestellt sind, können auf andere Beispiele und Implementierungen angewendet werden.
-
Es ist zu beachten, dass die Funktionsblöcke, Verfahren, Vorrichtungen und Systeme, die in der vorliegenden Offenbarung beschrieben sind, in verschiedene Kombinationen von Systemen, Vorrichtungen und Funktionsblöcken integriert oder unterteilt werden können, wie dem Fachmann auf dem Gebiet bekannt wäre.
-
Beliebige geeignete Programmiersprachen und Programmiertechniken können verwendet werden, um die Routinen von speziellen Ausführungsformen zu implementieren. Verschiedene Programmiertechniken können verwendet werden, wie z. B. verfahrens- oder objektorientiert. Die Routinen können an einer einzelnen Verarbeitungsvorrichtung oder mehreren Prozessoren ausgeführt werden. Obwohl die Schritte, Operationen oder Berechnungen in einer spezifischen Reihenfolge dargestellt sein können, kann die Reihenfolge in verschiedenen speziellen Ausführungsformen geändert werden. In einigen speziellen Ausführungsformen können mehrere Schritte, die in dieser Patentbeschreibung als sequentiell gezeigt sind, gleichzeitig durchgeführt werden.
-
Ein ”Prozessor” umfasst irgendein geeignetes Hardware- und/oder Softwaresystem, irgendeinen geeigneten Mechanismus oder irgendeine geeignete Komponente, die Daten, Signale oder andere Informationen verarbeitet. Ein Prozessor kann ein System mit einer universellen Zentraleinheit, mehrere Verarbeitungseinheiten, eine zweckgebundene Schaltungsanordnung zum Erreichen der Funktionalität oder andere Systeme umfassen. Die Verarbeitung muss nicht auf einen geographischen Ort begrenzt sein oder zeitliche Begrenzungen aufweisen. Ein Prozessor kann beispielsweise seine Funktionen in ”Echtzeit”, ”offline”, in einem ”Serienmodus” usw. durchführen. Abschnitte der Verarbeitung können zu verschiedenen Zeiten und an verschiedenen Orten, durch verschiedene (oder dieselben) Verarbeitungssysteme durchgeführt werden. Ein Computer kann irgendein Prozessor in Kommunikation mit einem Speicher sein. Der Speicher kann irgendein geeignetes prozessorlesbares Speichermedium wie z. B. ein Direktzugriffsspeicher (RAM), ein Festwertspeicher (ROM), eine magnetische oder optische Platte oder andere konkrete Medien, die zum Speichern von Befehlen zur Ausführung durch den Prozessor geeignet sind, sein.