-
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Bereitstellung individualisierter Videofilme, insbesondere auf mobilen Endgeräten.
-
Videofilme im Sinne der Erfindung sind Filme, die auf Computern abspielbar sind und bewegte Bilder umfassen. Zwar ist es bereits bekannt, Inhalte dieser Filme nachträglich zu ändern, wie es bereits bei Computeranimationen in Kinofilmen Gang und Gäbe ist, und insbesondere auch bekannt, Gesichter durch Computeranimationen zu ersetzen, wie beispielsweise der Film „Facehacking“ eindrucksvoll zeigt, jedoch ist die Technologie noch vergleichsweise neu. Auch wenn Ton Teil des Filmes sein kann, betrifft diese Erfindung die Bildinformationen.
-
Das Prinzip des „Facetrackings“ dient seit einiger Zeit dem automatischen Erkennen von Gesichtern. Dabei werden Bilder manuell oder mittels eines Computers nach Gesichtsmerkmalen gescannt. Für die Anwendung des Facetrackings oder „Gesichtstrackings“ in Kombination mit der Ersetzung von Bildinhalten durch Computergenerierte Bilder tritt ein überaus großer Rechenaufwand auf, der nur mittels Leistungsfähiger Maschinen bewältigt werden kann.
-
Nachteil des Standes der Technik ist, dass eine einfache Individualisierung von Videofilmen durch einen Benutzer nicht möglich ist.
-
Aufgabe der vorliegenden Erfindung war es, die Nachteile des Standes der Technik zu überwinden und eine Vorrichtung und ein Verfahren zur Verfügung zu stellen, mittels derer ein Benutzer in der Lage ist, eine einfache Individualisierung von Videofilmen vorzunehmen.
-
Diese Aufgabe wird durch eine Vorrichtung und ein Verfahren gemäß den Ansprüchen gelöst.
-
Individualisierte Videofilme im Sinne der Erfindung sind Videofilme, in denen an Stelle mindestens eines Gesichts einer dort agierenden Entität ein Gesicht getreten ist, welches durch einen Benutzer ausgewählt wurde. Als Videofilm können im Grunde alle Filme verstanden werden, jedoch scheinen besonders kurze Filmszenen interessant, welche durch einen Benutzer individualisiert wurden und ggf. danach mit Freunden geteilt werden können.
-
Im Folgenden wird betreffend die Individualisierung aus Gründen der Verständlichkeit der Begriff „Gesicht“ verwendet und davon ausgegangen, dass das Gesicht eines Schauspielers oder einer Schauspielerin durch das Gesicht einer die Erfindung nutzenden Person ersetzt wird. Jedoch sind für die Erfindung lediglich Gesichtsmerkmale essentiell, so dass sich, selbst wenn menschliche Gesichter bevorzugte sind, der Begriff „Gesicht“ im Sinne dieser Erfindung auch auf tierische Gesichter, Phantasiegesichter (z.B. von Fantasyfiguren, von Manga-/Animefiguren, von Außerirdischen, von Lebewesen nachempfundenen Maschinen), oder gesichtsähnliche Formen (z.B. wie in Werken von Giuseppe Arcimboldo, oder von Maschinen, die gesichtsähnliche Züge aufweisen, wie z.B. einige Fahrzeuge) bezieht.
-
Im Grunde kann die Erfindung alle Bildelemente im Videofilm verwenden, die zumindest drei Merkmale aufweisen, wie sie auch in einem menschlichen Gesicht auftreten (z.B. Augen, Nase, Mund, Wangen, Umgrenzung, Ohren, Haaransatz, Kinn, Augenbrauen) und alle Bilder eines Benutzers verwenden, welche ebenfalls zumindest drei Merkmale aufweisen, wie sie auch in einem menschlichen Gesicht auftreten.
-
Das erfindungsgemäße Verfahren zur Bereitstellung von Videofilmen, welche für eine erfindungsgemäße Individualisierung ausgelegt sind, umfasst die Schritte:
- – Einlesen einer Videodatei, welche einen Videofilm enthält, in ein System zum Gesichtstracking,
- – Tracken mindestens eines Gesichts in mindestens einer Szene dieser Videodatei über eine Zeitspanne T (mehrere Filmbilder),
- – Speichern der erhaltenen Trackingdaten zusammen mit Daten, die es erlauben, die Trackingdaten mit dem Inhalt der Videodatei zu synchronisieren,
- – Bereitstellen der Videodatei und der Trackingdaten auf einem Server.
-
Das erfindungsgemäße Verfahren zur Individualisierung von Videofilmen auf einem Endgerät umfasst die Schritte:
- – Herunterladen einer Videodatei und mit dieser Videodatei synchronisierter Trackingdaten von einem Server,
- – Bereitstellen einer Bilddatei mit dem Bild eines Gesichtes durch den Benutzer,
- – Erstellen von Trackingdaten des Gesichtes der Bilddatei,
- – Verwenden der heruntergeladenen Trackingdaten und der Bilddatei mit den betreffenden Trackingdaten dieser Bilddatei, um das Gesicht des Bildes passgenau in oder über den entsprechenden Bereich der Videodatei einzupassen (mehrere Filmbilder, insbesondere alle Filmbilder, zu denen Trackingdaten vorliegen).
-
Videodateien sind dem Fachmann bekannt. Es gibt eine große Menge an unterschiedlichen Formaten und Programme bzw. Plugins, mit denen die Filminformationen aus den Formaten ausgelesen werden kann. Einige dieser Formate verwenden zusätzlich Kompressionsalgorithmen, die jedoch durch besagte Programme bzw. Plugins gehandhabt werden können. Es ist für einen unkomplizierten Ablauf des Verfahrens bezüglich einer Synchronisation bevorzugt, dass die Videodateien absolute oder relative Zeitinformationen bezüglich der Videobilder aufweisen, insbesondere Zeitdaten oder Framedaten.
-
Systeme zum Gesichtstracking sind dem Fachmann grundsätzlich ebenfalls bekannt, Für die Erfindung ist essentiell, dass mindestens ein Gesichtsmerkmal getrackt wird. Für eine Skalierung des vom Benutzer vorgegebenen Bildes (genauer: Dem Gesicht der Bilddatei) ist es jedoch von Vorteil mindestens zwei Punkte zu tracken (Skalierung in einer Koordinate) bzw. mindestens drei Koordinaten in Form eines Dreiecks zu tracken (Skalierung in zwei Ebenen). Bevorzugt sollte die Wahl der getrackten Merkmale beim Gesichtstracking hinsichtlich der Videodatei und dem Gesichtstracking bezüglich des Gesichts der Bilddatei gleich sein, um zusätzlichen Rechenaufwand zu vermeiden.
-
In dem Falle, dass in einem dreidimensionalen Raum gearbeitet werden soll (3D-Video mit 3D-Gesicht), ist es bevorzugt, mindestens 4 Gesichtsmerkmale, die an den Ecken eines Tetraeders liegen, zu tracken.
-
Das betreffende mindestens eine Gesicht (z.B. das Gesicht eines Schauspielers) sollte während mindestens einer Szene der Videodatei getrackt werden, um später einen realistischeren Eindruck zu erhalten. Das Tracken über die Zeitspanne T sollte bereits mit den entsprechenden Zeitdaten in Verbindung gebracht werden, Bevorzugt wird in einem Bild (Frame) des Films ein Datensatz von Gesichtsmerkmalen (bzw. bei mehreren getrackten Gesichtern entsprechend viele Datensätze) zusammen mit einer Information über dieses Bild, insbesondere eine Zeitinformation oder Frameinformation, verknüpft, so dass eine spätere Zuordnung der Trackingdaten zu genau diesem Filmbild möglich ist. Bevorzugt werden die Trackingdaten und Synchronisationsdaten gemeinsam abgespeichert. Auf diese Weise wird mit den übrigen Bildern des Films, die individualisiert werden sollen, verfahren. Idealer Weise wird mit jedem Frame der betreffenden Filmszene auf solche Weise verfahren, so dass für jedes Videobild Trackingdaten und Synchronisationsdaten zur Verfügung stehen. Es existieren am Ende insbesondere zwei unterschiedliche Dateien: Die originale Videodatei und die damit verbundene Trackingdatei mit Synchronisationsdaten.
-
Dieses Verfahren findet bevorzugt nicht auf dem genannten Endgerät statt, da dies in der Regel eine zu geringe Rechenkapazität hat. Daher werden die diesbezüglichen Berechnungen auf leistungsstarken Computern durchgeführt und auf einem Server Benutzern mit ihren Endgeräten bereitgestellt.
-
Endgeräte sind im Grunde alle Rechenvorrichtungen, die einem Benutzer zur Verfügung stehen (z.B. PC, Tabletcomputer, Smartphones, Lesegeräte). Bevorzugt sind dabei mobile Endgeräte, insbesondere Smartphones, Tabletcomputer oder mobile Lesegeräte.
-
Das erfindungsgemäße Verfahren zur Individualisierung von Videofilmen auf dem Endgerät liegt insbesondere in Form eines Programms (z.B. einer sogenannten „App“) auf dem Endgerät vor.
-
Bevorzugt hat der Server eine Rechenleistung, die mehr als 10 mal größer ist als das Endgerät, insbesondere 100 mal größer ist.
-
Bei der Individualisierung von Videofilmen auf einem Endgerät werden zunächst die Videodaten und die entsprechenden synchronisierten Trackingdaten vom Server heruntergeladen. Dies geschieht bevorzugt durch ein Netzwerk (z.B. Intranet oder Internet).
-
Das Bereitstellen einer Bilddatei mit dem Bild eines Gesichtes geschieht durch den Benutzer selber. Beispielsweise kann er ein Foto von sich machen, etwa mittels der Kamera des Mobilen Endgerätes, oder er bedient sich einer seiner Bilddateien oder lädt ein Bild aus einem Netzwerk herunter.
-
Die Trackingdaten des Gesichtes der Bilddatei können auf einem Server oder dem Endgerät erstellt werden. Bevorzugt ist dabei eine Berechnung auf dem Endgerät, da Trackingdaten einzelner Bilder mit einem überschaubaren Rechenaufwand erhalten werden können.
-
Es ist dabei sehr vorteilhaft, wenn die Trackingdaten gleiche Gesichtsmerkmale aufweisen wie die Trackingdaten der Videodatei, z.B. Augen bzw. Ohren als zwei Merkmale und Mund bzw. Nase als drittes Merkmal. Dadurch werden unnötige Rechnungen vermieden und das Verfahren damit beschleunigt.
-
Die heruntergeladenen Trackingdaten und die Trackingdaten der Bilddatei des Benutzers werden in Einklang gebracht. Dabei werden insbesondere einfach die Gesichtsmerkmale übereinander abgebildet, wobei das Gesicht der Bilddatei das Benutzers entsprechend skaliert wird. Das Skalieren geschieht insbesondere mittels einer Transformationsmatrix, welche die Transformationen beinhaltet, mit denen sich die beiden Sets von Trackingdaten ineinander überführen lassen. Für das Resultat ist es dabei sehr von Vorteil, wenn die Ränder des Gesichts der Bilddatei nicht „hart“ sind sondern diffus in die Transparenz übergehen, um einen weichen Übergang mit dem Videohintergrund herzustellen. Es ist bevorzugt, das Benutzergewählte Bild mit einer sogenannten Alphamaske, bzw. mittels Alpha-Blending zu überlagern.
-
Als Beispiel seien Trackingdaten betrachtet, die jeweils Augen und Mund eines Gesichtes umfassen und deren Position in dem jeweiligen Bild. Durch Vergleich des jeweiligen Dreiecks der Positionen dieser Gesichtsmerkmale kann das Dreieck des Gesichtes der Bilddatei entsprechend skaliert werden, dass es in Größe identisch mit dem betreffenden Dreieck der Videodatei ist, Diese Skalierungsdaten werden dann verwendet, um das gesamte Gesicht der Bilddatei zu skalieren (z.B. in X- und n Y-Richtung). Zuletzt werden die beiden Bilder, das Filmbild und das Bild des Benutzers entsprechend der Dreiecke der Trackingdaten so überlagert, dass sie sich exakt überdecken. Auf diese weise kann das Gesicht des Bildes passgenau in oder über den entsprechenden Bereich der Videodatei eingepasst werden.
-
Das Einpassen „in oder über“ bezeichnet zum einen das Ersetzen der entsprechenden Bildpunkte der Videodatei mit den Bildpunkten des Gesichts des Bildes des Benutzers („in“). Auf diese Weise wird die Videodatei so verändert, dass sie nun das benutzergewählte Gesicht in den betreffenden Szenen aufweist. Diesbezüglich sind Renderingverfahren bevorzugt.
-
Zum anderen kann das benutzergewählte Gesicht beim Abspielen des Videos auch in einem anderen Speicherbereich liegen als die Videodatei und parallel zum Video an der betreffenden Bildschirmposition angezeigt werden „über“. Dies ist besonders als Vorschauoption bevorzugt oder wenn eine Änderung des Videos aus rechtlichen Gründen nicht möglich ist.
-
Gemäß einer bevorzugten Ausführungsform wird ein Bild vom Benutzer ausgewählt und nach dieser Auswahl (z.B. nach einer Bestätigung) die Trackingdaten zu dem betreffenden Gesicht auf diesem Bild automatisch berechnet, und basierend auf diesen Trackingdaten ein vorbestimmter Bereich des Bildes („Gesichtsbereich“) automatisch ausgeschnitten (insbesondere ein kreisförmiger, ovaler oder elliptischer Bereich). Bevorzugt ist dieser vorbestimmte Bereich so gewählt, dass er die Merkmale umfasst, auf denen die Trackingdaten basieren und einen Randbereich um diese Merkmale, in dem sich statisch gesehen zwischen 50% und 99% eines Gesichtes befinden, insbesondere zwischen 70% und 95%. Dies kann beispielsweise einfach erreicht werden, wenn die Fläche eines Vielecks mit den Merkmalen zu den Trackingdaten als Eckpunkte berechnet wird und der Gesichtsbereich über eine vorbestimmte Funktion zu dem Flächeninhalt berechnet wird, wobei die Position dieses Gesichtsbereichs von der Position der Merkmale oder der Position des Vielecks abhängt. Insbesondere werden bei dem Gesichtsbereich die Kanten zusätzlich so bearbeitet, dass im Randbereich des Gesichtsbereichs die Transparenz nach außen hin von 0 nach 100% strebt, das resultierende Bild also keinen scharfen Rand hat, sondern dieser nach außen hin diffus wird. Die Grenzen des Gesichtsbereichs werden bevorzugt auch mittels Kantenerkennung ermittelt. Zumindest die Gesichtsmerkmale müssen dabei alle im Gesichtsbereich liegen.
-
Auf diese Weise erfolgt die Verarbeitung vom Selfie zum Movie nach der Auswahl systemisch außerhalb jedwedes Zutun des Benutzers.
-
Die Datenströme verlaufen bevorzugt wie im Folgenden dargestellt:
Ausgehend von einer Videodatei wird diese in einer Recheneinheit (die bereits die physikalische Maschine des Servers sein kann, aber auch eine andere Maschine) bearbeitet und man erhält zu der Videodatei eine zusätzliche Datei mit Trackingdaten. Wenn die Bearbeitung nicht im Bereich des Servers stattfand (wobei hier auch die Serverpartition einer Speichervorrichtung gemeint ist), werden die beiden Dateien auf den Server übertragen und sind nach ihrer Freigabe Benutzern von außen zugänglich. Ein Benutzer lädt sich die beiden Dateien über ein Netzwerk herunter, wählt ein Bild auf seinem Endgerät aus (welches er mit diesem aufgenommen oder von Dritter Seite heruntergeladen hat) und startet eine automatische Routine auf dem Endgerät („App“), welche die letzten Schritte des erfindungsgemäßen Verfahrens zur Individualisierung automatisch vollführt. Es ist dabei anzumerken, dass bei geeigneter Ausführung dieser App bevorzugt bereits das Herunterladen der Videodatei samt Trackingdatei automatisch erfolgt. Im Grunde muss der Benutzer einzig die Filmdatei und das Bild auswählen und alle übrigen Schritte können automatisch erfolgen.
-
Die bevorzugte Routine erstellt automatisch die Trackingdaten des benutzerausgewählten Bildes, Schneidet insbesondere einen Gesichtsbereich heraus, schrägt bevorzugt die Kanten zu 100% Transparenz ab und passt diesen Gesichtsbereich automatisch in die durch die Trackingdaten der Videodatei vorgegebenen Bereich mit korrekter Skalierung ein (in jedes der betreffenden Bilder jeweils korrekt positioniert und korrekt skaliert).
-
Zuletzt kann das fertige Video abgespeichert oder über Socialmediakanäle verbreitet werden, was insbesondere eine weitere Funktion der oben genannten App ist.
-
Die erfindungsgemäße Vorrichtung umfasst ein Endgerät, welches zum Ausführen des erfindungsgemäßen Verfahrens zur Individualisierung von Videofilmen ausgelegt ist oder einem System umfassend ein Endgerät und ein Serversystem, welches serverseitig zu einem erfindungsgemäße Verfahren zur Bereitstellung von Videofilmen für eine Individualisierung und endgerätseitig zum Ausführen des erfindungsgemäßen Verfahrens zur Individualisierung von Videofilmen ausgelegt sind.
-
Beispiele für bevorzugte Ausführungsformen der erfindungsgemäßen Vorrichtung sind in den Abbildungen dargestellt.
-
1 zeigt schematisch ein bevorzugtes Verfahren zur Bereitstellung von Videofilmen, welche für eine erfindungsgemäße Individualisierung ausgelegt sind.
-
2 skizziert ein bevorzugtes Verfahren zur Vorbereitung der Individualisierung von Videofilmen.
-
3 skizziert ein bevorzugtes Verfahren zur Individualisierung von Videofilmen.
-
In 1 ist ein bevorzugtes Verfahren zur Bereitstellung von Videofilmen skizziert, welche für eine erfindungsgemäße Individualisierung ausgelegt sind. Das Verfahren wird auf einem leistungsstarken Rechner, möglicherweise dem Server, ausgeführt, da es sehr rechenintensiv ist. In einer Videodatei wird jedes Filmbild einer bestimmten Szene oder einer Anzahl von Szenen analysiert. Dies ist hier mit dem Bild einer Frau 1 dargestellt, die in ein symbolisches Filmbild eingebettet ist. Die Videodatei wird zum einen auf dem Server abgespeichert (linker Ast) und zum anderen Gesichtsmerkmale getrackt (rechter Ast). Im dargestellten Fall werden die beiden Augen und der Mittelpunkt des Mundes der Frau 1 als Gesichtsmerkmale getrackt. wobei sich ein Positionsdatentripel ergibt, welches auf einem Dreieck 2 positioniert ist. Dieses Datentripel wird zusammen mit einer Kennung des betreffenden Filmbildes (z.B. Framekennung oder Zeitdaten) und der Zuordnung der Gesichtsmerkmale (z.B. durch Anordnung der Daten: erste Position: linkes Auge, 2. Pos: rechtes Auge, 3. Pos: Mund) in einer Datei auf dem Server abgespeichert, wobei diese Datei der Filmdatei zugeordnet ist (z.B. durch einen entsprechenden Dateinamen).
-
In 2 ist ein bevorzugtes Verfahren zur Vorbereitung der Individualisierung von Videofilmen skizziert, welches insbesondere auf dem Endgerät ausgeführt wird. Ein vom Benutzer ausgewähltes Bild 3 („Benutzerbild“), welches hier das Bild eines Tigers ist, und auch beispielsweise ein mit einer Kamera aufgenommenes Bild des Benutzers selber sein könnte, soll in eine Filmszene eingebettet werden. Dazu werden die Gesichtsmerkmale des Gesichts des Benutzerbildes getrackt, die hier gemäß der 1 ebenfalls die Augen und das Zentrum des Mundes sind (rechter Ast). Das resultierende Positionsdatentripel, welches auf einem Dreieck 2 positioniert ist, wird zumindest im Arbeitsspeicher des Endgeräts, oder dessen Speichereinheit abgespeichert. Zudem wird das Bild zumindest im Arbeitsspeicher des Endgeräts abgespeichert (linker Ast), wobei es wie hier geschehen von Vorteil ist, wenn nur der Gesichtsbereich selber abgespeichert wird und die Ränder des Gesichts diffus in Transparenz auslaufen. Zur Lokalisierung des betreffenden Gesichtsbereichs für diesen Vorgang kann das ermittelte Positionsdatentripel verwendet werden.
-
3 skizziert ein bevorzugtes Verfahren zur Individualisierung von Videofilmen. Mittels eines Endgerätes 5 lädt ein Benutzer eine Videodatei (Oben: oberer Pfeil) und eine entsprechende Datei mit Gesichtstrackingdaten (Oben: unterer Pfeil) von einem Server 4 durch ein Netzwerk (z.B, das Internet) herunter. Auf diesem Endgerät werden dann die Bilddaten des Benutzerbildes (hier der Tiger) und die Trackingdaten dieses Bildes (beide rechts zu sehen) mit jedem Filmbild der entsprechenden Szenen der Videodatei in Übereinstimmung gebracht, in dem das Dreieck der Positionsdaten des Benutzerbildes in jedem Bild der Videodatei so skaliert wird, dass es identisch mit dem Dreieck des jeweiligen Filmgesichts ist, und das Benutzerbild gemäß dieser Skalierungsdaten für jedes Filmbild neu skaliert.
-
In einer Vorschau kann dann bei laufendem Film das entsprechend skalierte Benutzerbild an der richtigen Bildschirmposition über den Film gelegt werden, es ist aber auch möglich, die Daten des Gesichtes des Filmbildes durch die Daten des Benutzerbildes zu ersetzen, das Filmbild neu zu rändern, und den auf diese Weise individualisierten Film abzuspeichern.