DE212018000371U1 - Avataranimation - Google Patents

Avataranimation Download PDF

Info

Publication number
DE212018000371U1
DE212018000371U1 DE212018000371.8U DE212018000371U DE212018000371U1 DE 212018000371 U1 DE212018000371 U1 DE 212018000371U1 DE 212018000371 U DE212018000371 U DE 212018000371U DE 212018000371 U1 DE212018000371 U1 DE 212018000371U1
Authority
DE
Germany
Prior art keywords
avatar
control data
data processing
animation
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE212018000371.8U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Web Assistants GmbH
Original Assignee
Web Assistants GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Web Assistants GmbH filed Critical Web Assistants GmbH
Publication of DE212018000371U1 publication Critical patent/DE212018000371U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)

Abstract

System zur Datenverarbeitung, umfassend Mittel zur Ausführung eines computerimplementierten Verfahrens zur Animation eines Avatars mit einem Datenverarbeitungsgerät umfassend die Schritte:
a) Bereitstellen einer Graphikeinheit, welche zur Animation von 2- und/oder 3-dimensionalen Objekten ausgelegt ist und welche über eine Schnittstelle verfügt über welche Steuerdaten zur Animation der zwei- und/oder dreidimensionalen Objekte an die Graphikeinheit übergeben werden können;
b) Laden und Bereithalten eines Avatars in einem von der Graphikeinheit ansprechbaren Speicherbereich;
c) Bereitstellen einer Empfangseinheit zum Empfangen von Steuerdaten zur Animation des Avatars;
d) Fortlaufendes und sequentielles Übergeben von empfangenen Steuerdaten an die Graphikeinheit;
e) Animation des Avatars durch fortlaufende Neuberechnung eines aktualisierten Avatars auf Basis der jeweils aktuell übergebenen Steuerdaten mit anschliessendem Rendering des Avatars in der Graphikeinheit;
f) Fortlaufendes Darstellen des aktualisierten Avatars auf einem Ausgabegerät; wobei das Verfahren in einem auf der Datenverarbeitungsanlage laufenden Webbrowser ausgeführt wird.

Description

  • Technisches Gebiet
  • Die Erfindung betrifft ein computerimplementiertes Verfahren zur Animation eines Avatars mit einem Datenverarbeitungsgerät sowie ein Verfahren zum Erfassen von Steuerdaten zur Animation eines Avatars. Weiter bezieht sich die Erfindung auf ein System zur Datenverarbeitung, umfassend Mittel zur Ausführung der Verfahren, als auch ein Computerprogramm. Ebenfalls Gegenstand der Erfindung ist ein computerlesbares Speichermedium mit einem Computerprogramm.
  • Stand der Technik
  • Aufgrund der rasch fortschreitenden Digitalisierung werden in vielen Bereichen vermehrt reale Personen durch virtuelle Charaktere bzw. Avatare dargestellt. Avatare sind dabei typischerweise künstliche Personen oder Graphikfiguren, welche einer realen Person in der virtuellen Welt zugeordnet sind.
  • Avatare können beispielsweise in Form von statischen Bildern vorliegen, welche einem Nutzer in Internetforen zugeordnet werden und zur Identifikation jeweils neben Diskussionsbeiträgen angezeigt werden. Ebenfalls bekannt sind dynamische oder animierbare Avatare, die sich bewegen lassen und/oder deren Erscheinung sich gezielt verändern lässt. Komplexe Avatare sind dabei in der Lage die Bewegungen und Mimik von realen Personen realitätsgetreu nachzubilden.
  • In Computerspielen sind Avatare bereits weit verbreitet. Dabei kann sich der Nutzer gezielt durch einen animierbaren virtuellen Charakter darstellen lassen und sich in der virtuellen Spielwelt bewegen. Weiter werden Avatare insbesondere in der Filmindustrie, im Onlinesupport, als virtuelle Assistenten, bei der audiovisuellen Kommunikation, beispielsweise bei Avatar-Video-Chats, oder zu Schulungszwecken eingesetzt.
  • Die US 2013/0235045 A1 beschreibt beispielsweise ein Computersystem umfassend eine Videokamera, eine Netzwerkschnittstelle, eine Speichereinheit enthaltend eine Animationssoftware und ein Modell eines 3D-Charakters bzw. Avatars. Die Software ist so konfiguriert, dass in Videobildern von realen Personen Gesichtsbewegungen erkannt und diese in Bewegungsdaten übersetzt werden können. Diese Bewegungsdaten werden dann zur Animation des Avatars eingesetzt. Die animierten Avatare werden als kodierte Videonachrichten gerendert, welche über die Netzwerkschnittstelle an entfernte Geräte gesendet und dort empfangen werden.
  • Nachteilig bei derartigen Systemen ist aber, dass mit kodierten Videonachrichten gearbeitet werden muss, welche entsprechend grosse Datenvolumina generieren. Echtzeitanimationen, insbesondere auf entfernten Geräten, sind dabei aufgrund der limitierten Übertragungsraten über Internet- und Netzwerkverbindungen kaum oder nur in beschränkter Qualität möglich.
  • Auch im Schulungsbereich werden Avatare bereits eingesetzt, wobei diese in Videoanimationen die Rolle von realen Lehrpersonen übernehmen oder gezielt komplexe Sachverhalte veranschaulichen können. Derartige Videoanimationen werden typischerweise vorgängig durch 3D-Animationsprogramme produziert und als Videoclips oder Videofilme zur Verfügung gestellt. Bei der Produktion werden Avatare oder Objekte mit Animationsdaten verbunden, im 3D-Animationsprogramm vor einem Hintergrund direkt gerendert und als Einheit in einer Videodatei bereitgestellt. Es resultieren also fertig gerenderte Videodateien von definierter Länge mit festgelegten bzw. unveränderbaren Animationssequenzen und Hintergründen.
  • Heute verfügbare 3D-Animationsprogramme mit welchen sich Avatare animieren und darstellen lassen, sind aber meist sehr komplex in der Bedienung und daher nur von Spezialisten bedienbar. Zudem sind die Ladezeiten üblicherweise sehr lang, da nur fertig gerenderte Avatare geladen und dargestellt werden können.
  • Es besteht daher nach wie vor Bedarf nach verbesserten und flexibleren Lösungen zur Animation und Darstellung von Avataren.
  • Darstellung der Erfindung
  • Aufgabe der Erfindung ist es, ein dem eingangs genannten technischen Gebiet zugehörendes und verbessertes Verfahren zur Animation eines Avatars bereitzustellen. Insbesondere soll das Verfahren eine Echtzeitanimation eines Avatars ermöglichen und bevorzugt bei möglichst geringen Datenvolumina in flexibler Art und Weise qualitativ hochstehende Animationen liefern.
  • Die Lösung der Aufgabe ist durch die Merkmale des Anspruchs 1 definiert. Gemäss der Erfindung umfasst ein computerimplementiertes Verfahren zur Animation eines Avatars mit einem Datenverarbeitungsgerät die Schritte:
    1. a) Bereitstellen einer Graphikeinheit, welche zur Animation von 2- und/oder 3-dimensionalen Objekten ausgelegt ist und welche über eine Schnittstelle verfügt über welche Steuerdaten zur Animation der zwei- und/oder dreidimensionalen Objekte an die Graphikeinheit übergeben werden können;
    2. b) Laden und Bereithalten eines Avatars in einem von der Graphikeinheit ansprechbaren Speicherbereich;
    3. c) Bereitstellen einer Empfangseinheit zum Empfangen von Steuerdaten zur Animation des Avatars;
    4. d) Fortlaufendes und sequentielles Übergeben von empfangenen Steuerdaten an die Graphikeinheit;
    5. e) Animation des Avatars durch fortlaufende Neuberechnung eines aktualisierten Avatars auf Basis der jeweils aktuell übergebenen Steuerdaten mit anschliessendem Rendering des aktualisierten Avatars in der Graphikeinheit;
    6. f) Fortlaufendes Darstellen des aktualisierten und gerenderten Avatars auf einem Ausgabegerät.
  • Erfindungsgemäss wird der Avatar somit vor der eigentlichen Animation in einem von der Graphikeinheit ansprechbaren Speicherbereich geladen und bereitgehalten. Insbesondere steht der Avatar während den Schritten d) bis f) omnipräsent im Speicherbereich zur Verfügung.
  • Über die Empfangseinheit können sodann fortlaufend Steuerdaten zur Animation des Avatars empfangen und an die Grafikeinheit übergeben werden. In der Grafikeinheit wird der vorgängig geladene Avatar auf Basis der jeweils aktuell übergebenen Steuerdaten dann fortlaufend neu berechnet und gerendert. Der so aktualisierte und gerenderte Avatar wird auf einem Ausgabegerät dargestellt.
  • Dieses Verfahren hat den grossen Vorteil, dass der Avatar als solcher oder das dem Avatar zu Grunde liegende Modell unabhängig von den Steuerdaten geladen und bereitgehalten wird. Bevorzugt wird der Avatar zeitlich vor den Steuerdaten vollständig geladen. Zur Animation des bereitstehenden Avatars reicht es aus, die Steuerdaten zu empfangen und mit diesen zu aktualisieren. Dies reduziert die Datenvolumina erheblich und ermöglicht Echtzeitanwendungen in hoher Qualität auch bei beschränkten Übertragungsbandbreiten. Mit dem erfindungsgemässen Ansatz sind entsprechend Benutzerinteraktionen in Echtzeit problemlos realisierbar.
  • Da der Avatar nach dem Laden im Prinzip für eine unbeschränkte Zeit zur Verfügung steht, kann dieser jederzeit und beliebig lange mit Steuerdaten animiert werden. Hervorzuheben ist auch, dass die Steuerdaten aus unterschiedlichen Quellen stammen können, so dass eine hohe Flexibilität bei der Animation erreicht werden kann. Beispielsweise kann die Steuerdatenquelle während der laufenden Animation des Avatars problemlos gewechselt werden. Auch möglich ist es, eine auf Basis einer bestimmten Steuerdatenquelle laufenden Animation durch zusätzliche Benutzereingaben, welche zusätzliche Steuerdaten erzeugen, gezielt zu beeinflussen.
  • Aufgrund der fortlaufenden Darstellung des aktualisierten Avatars kann dieser als solcher im Prinzip an jeder Stelle auf einem Ausgabegerät, z.B. einem Bildschirm, rahmen- und/oder hintergrundlos dargestellt und/oder freigestellt werden.
  • Der erfindungsgemässe Ansatz steht somit im klaren Gegensatz zur Video-basierten Animationen von Avataren, bei welchen vor der Darstellung des Avatars ein vollständiges Videorendering einer kompletten Animationssequenz mit Hintergrund und/oder vorgegebenem Rahmen erfolgt.
  • Gemäss einer besonders bevorzugten Ausführungsform wird das erfindungsgemässe Verfahren in einem auf der Datenverarbeitungsanlage laufenden Webbrowser ausgeführt. Für Benutzer hat dies im Besonderen den Vorteil, dass abgesehen von üblicherweise vorhandener Standardsoftware, wie z.B. einem Webbrowser, keine weiteren Programme erforderlich sind und ein Computerprogramm, welches bei der Ausführung durch einen Computer diesen veranlasst das erfindungsgemässe Verfahren auszuführen, als Webseite zur Verfügung gestellt werden kann. Mit anderen Worten kann das Computerprogramm welches bei der Ausführung durch einen Computer diesen veranlasst das erfindungsgemässe Verfahren auszuführen, als Webanwendung vorliegen.
  • Unter einem Webbrowser ist vorliegend insbesondere ein Computerprogramm zu verstehen, welches zur Darstellung von elektronischen Hypertext-Dokumenten oder Webseiten im World Wide Web ausgelegt ist. Der Webbrowser ist insbesondere derart ausgebildet, dass HTML-basierte Dokumente (HTML = Hypertext Markup Language) und/oder CSS-basierte Dokumente (CSS = Cascading Style Sheets) interpretiert und dargestellt werden können. Zusätzlich verfügt der Webbrowser bevorzugt über eine Laufzeitumgebung für Programme, insbesondere eine Java-Laufzeitumgebung.
  • Des Weiteren verfügt der Webbrowser bevorzugt über eine Programmierschnittstelle mit welcher 2D- und/oder 3D-Grafiken im Webbrowser dargestellt werden können. Die Programmierschnittstelle ist dabei bevorzugt derart ausgelegt, dass die Darstellung hardwarebeschleunigt, z.B. mit einem Graphikprozessor oder einer Graphikkarte, und im Besonderen ohne zusätzliche Erweiterungen erfolgen kann.
  • Geeignet sind z.B. Webbrowser, welche über eine WebGL-Programmierschnittstelle verfügen. Entsprechende Webbrowser sind frei erhältlich, unter anderem Chrome (Google), Firefox (Mozilla), Safari (Apple), Opera (Opera Software), Internet Explorer (Microsoft) oder Edge (Microsoft).
  • Die Schritte d) - f) des erfindungsgemässen Verfahrens können beispielsweise durch folgende Teilschritte umgesetzt werden:
    1. (i) Übergeben eines ersten empfangenen Steuerdatensatzes an die Graphikeinheit;
    2. (ii) Berechnung eines aktualisierten Avatars anhand des übergebenen Steuerdatensatzes und Rendering des Avatars in der Graphikeinheit;
    3. (iii) Darstellen des aktualisierten Avatars auf einem Ausgabegerät;
    4. (iv) Übergeben eines nächsten empfangenen Steuerdatensatzes an die Graphikeinheit;
    5. (v) Wiederholen der Schritte (ii) bis (iv), insbesondere solange bis eine vordefinierte Abbruchbedingung erfüllt ist.
  • Dabei erfolgten die Teilschritte insbesondere in der angegeben Reihenfolge.
  • In diesem Fall umfassen die Steuerdaten bevorzugt einen oder mehrere Steuerdatensätze, wobei jeder Steuerdatensatz den Avatar zu einem bestimmten Zeitpunkt definiert. Damit ist insbesondere gemeint, dass der oder die Steuerdatensätze den Zustand des Avatars zu einem gegebenen Zeitpunkt festlegt. Insbesondere legen der oder die Steuerdatensätze die Positionen der bewegbaren Steuerelemente des Avatars, z.B. von Knochen und/oder Gelenken, zu einem bestimmten Zeitpunkt direkt oder indirekt fest. Eine indirekte Definition oder Festlegung kann z.B. wie weiter hinten erläutert mittels Schlüsselbildern erfolgen.
  • Gemäss einer besonders bevorzugten Ausführungsform erfolgen die Schritte d) bis f) und/oder die Teilschritte (i) bis (iv) in Echtzeit. Dadurch werden realitätsgetreue Animationen und unmittelbare Benutzerinteraktionen ermöglicht. Für spezielle Anwendungen können die Schritte d) bis f) und/oder die Teilschritte (i) bis (iv) aber auch schneller oder langsamer ablaufen.
  • Eine Wiederholrate der jeweiligen Prozesse in den Schritten d) bis f) und/oder der Teilschritte (i) bis (iv) liegt im Besonderen bei wenigstens 10 Hz, insbesondere wenigstens 15 Hz, bevorzugt wenigstens 30 Hz oder wenigstens 50 Hz. Bevorzugt laufen die jeweiligen Prozesse in den Schritten d) bis f) beziehungsweise die Teilschritte (i) bis (iv) synchronisiert ab. Dadurch lassen sich besonders realitätsgetreue Echtzeitanimationen realisieren. In speziellen Fällen sind aber auch geringere Widerholraten möglich.
  • Weiter ist es bevorzugt, wenn die Steuerdaten über eine Zeitkodierung verfügen und die Schritte d) bis f) und/oder die Teilschritte (i) bis (iv) synchron mit der Zeitkodierung abgearbeitet werden. Dies ermöglicht eine zeitaufgelöste Animation des Avatars, was wiederum der Realitätsnähe zu Gute kommt.
  • Unter einem „Avatar“ wird in der vorliegenden Erfindung ein künstliches Modell eines realen Körpers oder Objekts, beispielsweise eines Lebewesen, verstanden. Insbesondere wird unter dem Begriff Avatar eine künstliche Person oder eine Grafikfigur verstanden, die einer realen Person in der virtuellen Welt zugeordnet werden kann. Der Avatar kann dabei das Lebewesen vollständig oder nur teilweise, z.B. lediglich den Kopf einer Person, darstellen.
  • Der Avatar ist insbesondere als 2- oder 3-dimensionales virtuelles Modell eines Körpers definiert. Das Modell ist im Besonderen in einem 2- oder 3-dimensionalen Raum bewegbar und/oder verfügt über Steuerelemente, mit welchen sich das virtuelle Modell in definierter Weise in der Form verändern lässt.
  • Im Besonderen basiert der Avatar auf einem Skelettmodell. Anderer Modelle sind aber grundsätzlich ebenfalls einsetzbar.
  • Besonders bevorzugt ist der Avatar durch ein Skelett in Form eines Satzes von hierarchisch verbundenen Knochen und/oder Gelenken sowie ein daran gekoppeltes Gitternetz aus Vertices definiert.
  • Die Positionen der Vertices werden typischerweise durch eine Positionsangabe in Form eines 2- oder 3-dimensionalen Vektors vorgegeben. Den Vertices können nebst der Positionsangabe zudem weitere Parameter zugeordnet sein, wie beispielsweise Farbwerte, Texturen und/oder zugeordnete Knochen oder Gelenke. Die Vertices definieren im Besonderen das sichtbare Modell des Avatars.
  • Die Positionen der Knochen und/oder Gelenke werden insbesondere durch 2- oder 3-dimensionale Koordinaten definiert.
  • Knochen und/oder Gelenke sind bevorzugt so definiert, dass diese vordefinierte Bewegungen zulassen. Zum Beispiel kann ein ausgewählter Knochen und/oder ein ausgewähltes Gelenk als sogenannte Wurzel definiert werden, welche sowohl im Raum verschoben werden kann als auch Rotationen ausführen kann. Alle anderen Knochen und/oder Gelenke können dann auf Rotationsbewegungen beschränkt werden. Geometrisch kann dabei jedes Gelenk und/oder jeder Knochen ein lokales Koordinatensystem repräsentieren, wobei sich Transformationen eines Gelenks und/oder eines Knochens auch auf alle abhängigen Gelenke und/oder Knochen bzw. deren Koordinatensysteme auswirken.
  • Entsprechende Avatare sind kommerziell bei verschiedenen Anbietern erhältlich, beispielsweise bei der Firma Daz 3D (Salt Lake City, USA) oder der Firma High Fidelity (San Francisco, USA). Grundsätzlich können Avatare aber auch selbst produziert werden, z.B. mit Spezialsoftware wie z.B. Maya oder 3dsMax von Autodesk, Cinema4D von Maxon oder Blender, eine Open Source-Lösung.
  • Bevorzugte Datenformate für die Avatare sind JSON, gITF2, FBX und/oder COLLADA. Diese sind unter anderem kompatibel mit WebGL.
  • Weiter ist es bevorzugt, wenn zusammen mit dem Avatar Schlüsselbilder (Keyframes) des Avatars, beispielsweise 10 - 90 Schlüsselbilder, in den Speicherbereich geladen und bereitgestellt werden. Ein Schlüsselbild entspricht dem virtuellen Modell des Avatars in einem vorgegebenen Zustand. Repräsentiert der Avatar einen menschlichen Körper, kann ein Schlüsselbild beispielsweise den Avatar mit geöffnetem Mund darstellen, während ein anderes Schlüsselbild den Avatar mit geschlossenem Mund darstellt. Die Bewegung des Öffnens des Munds kann sodann durch eine sogenannte Schlüsselbild-Animation erreicht werden, was weiter hinten näher erläutert wird.
  • Grundsätzlich ist es aber möglich auf Schlüsselbilder zu verzichten. Dies beispielsweise wenn die Übertragungsbandbreiten ausreichend sind oder die Komplexität des Avatars beschränkt ist.
  • Insbesondere umfassen die Steuerdaten einen oder mehrere Steuerdatensätze, wobei ein Steuerdatensatz den Avatar zu einem bestimmten Zeitpunkt definiert.
  • Im Besonderen enthält ein Steuerdatensatz die Koordinaten von n Knochen und/oder Gelenken, während der Avatar mehr als n Knochen und/oder Gelenke umfasst. Mit anderen Worten umfasst ein Steuerdatensatz jeweils nur die Koordinaten einer beschränkten Auswahl der Knochen und/oder Gelenken des Avatars. Dabei wird insbesondere jedem der in einem Steuerdatensatz enthaltenen n Knochen einer der mehr als n Knochen und/oder Gelenke des Avatars zugeordnet.
  • Gemäss einer besonders bevorzugten Ausführungsform werden bei der Berechnung des aktualisierten Avatars Zwischenbilder durch Interpolation von wenigstens zwei Schlüsselbildern erzeugt werden. Dabei können ausgehend von den Schlüsselbildern in zeitlichen Abständen eines oder mehrere Zwischenbilder interpoliert werden, wodurch ein kompletter und flüssiger Bewegungsablauf erhalten wird, ohne dass für jedes einzelne Zwischenbild Steuerdaten für jeden Knochen und/oder jedes Gelenk erforderlich wären. Stattdessen reichen Steuerdaten, welche den Avatar veranlassen eine bestimmte Bewegung auszuführen. Dabei können sowohl die Stärke der Bewegung als auch die Geschwindigkeit vorgegeben werden. Zurückkommend auf das oben genannte Beispiel kann der Avatar durch entsprechende Steuerdaten beispielsweise dazu veranlasst werden, den Mund zu öffnen. Dabei können sowohl der Grad der Öffnung als auch die Öffnungsgeschwindigkeit vorgegeben werden.
  • Durch die Verwendung von Schlüsselbilden kann das Datenvolumen erheblich reduziert werden ohne dass dabei die Qualität der Animation merklich reduziert würde.
  • Bevorzugt werden die Positionen und/oder Koordinaten eines Knochens und/oder Gelenks der Steuerdaten oder aus einem Steuerdatensatz in Schritt e) einem oder mehreren Knochen und/oder Gelenken des Avatars zugeordnet und/oder einem oder mehreren Schlüsselbildern des Avatars zugeordnet.
  • Hierzu werden in Schritt e) insbesondere wenigstens ein, im Besonderen mehrere, Schlüsselbilder mit einem ausgewählten Knochen und/oder Gelenk der Steuerdaten verknüpft oder wenigstens ein, im Besonderen mehrere, Schlüsselbilder werden mit den Positionen und/oder Koordinaten eines ausgewählten Knochens und/oder Gelenks der Steuerdaten verknüpft. Dabei kann eine Position eines ausgewählten Knochens und/oder Gelenks der Steuerdaten einem Zwischenbild zugeordnet wird, welches unter Verwendung des wenigstens einen verknüpften Schlüsselbilds durch Interpolation erhaltenen wird.
  • Eine Abweichung der Position eines ausgewählten Knochens und/oder Gelenks von einem vordefinierten Referenzwert definiert dabei insbesondere die Stärke des Einflusses des wenigstens einen verknüpften Schlüsselbilds bei der Interpolation.
  • Die Zuordnung der einzelnen Steuerdaten zu den Knochen und/oder Gelenken des Avatars und/oder zu den Schlüsselbildern erfolgt mit Vorteil gemäss einem vordefinierten Protokoll, wobei das Protokoll bevorzugt zusammen mit dem Avatar in den Speicherbereich geladen und bereitgestellt wird. Damit stehend sowohl der Avatar als auch das zugeordnete Protokoll für unbeschränkte Zeit oder omnipräsent zur Verfügung. Die Datenrate in Bezug auf die Steuerdaten kann damit auf ein Minimum reduziert werden.
  • Im verwendeten Protokoll werden bevorzugt die Koordinaten eines Knochens und/oder Gelenks aus den Steuerdaten oder einem Steuerdatensatz einem oder mehreren Knochen und/oder Gelenken des Avatars zugeordnet und/oder einem oder mehreren Schlüsselbildern des Avatars zugeordnet.
  • Die Steuerdaten liegen insbesondere in einem BVH-Datenformat vor (BVH = Biovision Hierarchy). Dies ist ein an sich bekanntes Datenformat, welcher speziell für Animationszwecke verwendet wird und eine Skelettstruktur als auch Bewegungsdaten enthält.
  • Nach einer bevorzugten Ausführungsform werden die Schritte a) bis f) des erfindungsgemässen Verfahrens vollständig auf einer lokalen Datenverarbeitungsanlage durchgeführt. Die lokale Datenverarbeitungsanlage kann dabei beispielsweise ein Personalcomputer, ein tragbarer Computer, insbesondere ein Laptop oder ein Tabletcomputer, oder ein Mobilgerät, wie z.B. ein Mobiltelefon mit Computer-Funktionalität (Smartphone) sein. Mit einem derartigen Ansatz kann der Datenverkehr reduziert werden, da abgesehen von einer allfälligen Übermittlung von Steuerdaten und/oder dem zu ladenden Avatar kein zusätzlicher Datenaustausch zwischen Datenverarbeitungsanlagen notwendig ist.
  • Für spezielle Anwendungen ist es aber möglich, dass einer oder mehrere der einzelnen Schritte des erfindungsgemässen Verfahrens auf unterschiedlichen Datenverarbeitungsanlagen ausgeführt werden.
  • Im Besonderen liegen die Steuerdaten, der zu ladende Avatar und/oder das Protokoll zumindest teilweise, insbesondere vollständig, auf einer entfernten Datenverarbeitungsanlage vor, insbesondere einem Server, und werden von dieser stammend über eine Netzwerkverbindung, insbesondere eine Internetverbindung, empfangen, insbesondere auf derjenigen lokalen Datenverarbeitungsanlage auf welcher das erfindungsgemässe Verfahren ausgeführt wird.
  • Im Besonderen liegen sowohl die Steuerdaten als auch der zu ladende Avatar und ein allfälliges Protokoll auf einer entfernten Datenverarbeitungsanlage vor.
  • Mit diesem Ansatz kann der Nutzer unabhängig von der Datenverarbeitungsanlage welche ihm gerade zur Verfügung steht, im Prinzip jederzeit auf Steuerdaten und/oder Avatare zugreifen.
  • Grundsätzlich ist es aber auch möglich, dass die Steuerdaten und/oder der zu ladende Avatar auf derjenigen lokalen Datenverarbeitungsanlage vorliegen, auf welcher das erfindungsgemässe Verfahren ausgeführt wird.
  • Besonders bevorzugt können oder werden der zu ladende Avatar und/oder die zu empfangenden Steuerdaten vorgängig unter Verwendung eines Bedienelements ausgewählt werden. Das Bedienelement ist beispielsweise eine Taste, ein Auswahlfeld, eine Texteingabe und/oder eine Sprachsteuereinheit. Diese kann in an sich bekannter Weise über eine graphische Benutzeroberfläche der Datenverarbeitungsanlage zur Verfügung gestellt werden.
  • Mit derartigen Bedienelemente lassen sich vom Benutzer gezielt Avatare selektieren, welche mit den jeweils interessierenden Steuerdaten animiert werden.
  • Im Besonderen liegen weitere Bedienelemente vor, mit welchen sich die Animation des Avatars steuern lässt. Beispielsweise kann mit den weiteren Bedienelementen die Animation gestartet, pausiert und/oder gestoppt werden. Die weiteren Bedienelemente werden bevorzugt ebenfalls in einer graphischen Benutzeroberfläche der Datenverarbeitungsanlage zur Verfügung gestellt.
  • Im Besonderen handelt es sich bei den Steuerelementen und den weiteren Steuerelemente um HTML- und/oder CSS-Steuerelemente.
  • Besonders bevorzugt wird der Avatar in einer Szene zusammen mit weiteren Objekten gerendert und dargestellt. Damit lassen sich realitätsnahe Animationen erstellen. Bei den weiteren Objekten kann es sich beispielsweise um Hintergründe, Böden, Räume und dergleichen handeln. Aufgrund des erfindungsgemässen Verfahrens lassen sich weitere Objekte jederzeit in eine Szene integrieren, dies selbst bei bereits laufender Animation.
  • Gemäss einer bevorzugten Ausführungsform werden gleichzeitig zwei oder mehr Avatare unabhängig voneinander geladen und bereitgehalten und diese bevorzugt mit individuell zugeordneten Steuerdaten unabhängig voneinander animiert. Dies ist mit dem erfindungsgemässen Verfahren problemlos möglich. Beispielsweise lassen sich so in äusserst flexibler Art und Weise Benutzerinteraktionen oder eine audiovisuelle Kommunikation zwischen mehreren Benutzern realisieren.
  • Die Darstellung des aktualisierten Avatars kann im Prinzip auf einem beliebigen Ausgabegerät erfolgen. Beispielsweise kann das Ausgabegerät ein Bildschirm, ein Videoprojektor, ein Hologrammprojektor und/oder ein am Kopf zu tragendes Ausgabegerät (Head Mounted Display), wie beispielsweise eine Videobrille oder eine Datenbrille, sein.
  • Ein weiterer Aspekt der vorliegenden Erfindung betrifft ein Verfahren zum Erfassen von Steuerdaten zur Animation eines Avatars mit einem Datenverarbeitungsgerät, wobei die Steuerdaten insbesondere zur Verwendung in einem Verfahren wie es vorstehend beschrieben ist ausgelegt sind, umfassend die Schritte:
    1. a) Bereitstellen eines 2- oder 3-dimensionalen virtuellen Modells eines Körpers, welches in einem 2- oder 3-dimensionalen Raum bewegbar ist und wobei das Modell über Steuerelemente verfügt, mit welchen sich das virtuelle Modell in definierter Weise verändern lässt;
    2. b) Zeitaufgelöstes Erfassen der Bewegungen und/oder Veränderungen eines realen Körpers;
    3. c) Nachbilden der Bewegungen und/oder Veränderungen des realen Körpers im virtuellen Modell durch zeitaufgelöstes Ermitteln der Koordinaten der Steuerelemente des virtuellen Modells, welche einem Zustand des realen Körpers zu einem gegebenen Zeitpunkt entsprechen;
    4. d) Zur Verfügung stellen der ermittelten zeitaufgelösten Koordinaten der Steuerelemente als Steuerdaten.
  • Mit dem erfindungsgemässen Verfahren zum Erfassen von Steuerdaten lassen sich in flexibler Art und Weise Steuerdaten erzeugen, welche sich sodann im vorstehend beschriebenen Verfahren zur Animation eines Avatars einsetzen lassen.
  • Das Verfahren wird bevorzugt in einem auf der Datenverarbeitungsanlage laufenden Webbrowser ausgeführt. Der Webbrowser ist dabei insbesondere wie vorstehend beschrieben ausgelegt und verfügt im Besonderen über die vorstehend beschriebenen Funktionalitäten und Schnittstellen. Für Benutzer hat dies wiederum den Vorteil, dass abgesehen von üblicherweise vorhandener Standardsoftware, wie z.B. einem Webbrowser, keine weiteren Programme erforderlich sind und ein Computerprogramm, welches bei der Ausführung durch einen Computer diesen veranlasst das erfindungsgemässe Verfahren auszuführen, als Webanwendung vorliegen kann. Entsprechend ist ein reines Webbrowserbasiertes Erzeugen von Steuerdaten für die Animation von Avataren möglich.
  • Bevorzugt verfügt der Webbrowser über Kommunikationsprotokolle und/oder Programmierschnittstellen, welche eine Echtzeitkommunikation über Rechner-Rechner-Verbindungen ermöglicht. Geeignet sind z.B. Webbrowser, welche den WebRTC-Standard erfüllen, z.B. Chrome (Google), Firefox (Mozilla), Safari (Apple), Opera (Opera Software) oder Edge (Microsoft).
  • In Schritt b) können zum Erfassen der Bewegungen und/oder Veränderungen des Körpers grundsätzlich beliebige Mittel eingesetzt werden, mit welchen sich die Bewegungen und/oder Veränderungen des realen Körpers nachverfolgen lassen. Beispielsweise kann es sich um eine Kamera und/oder einen Sensor handeln.
  • Als Kameras sind 2D-Kameras und/oder 3D-Kameras geeignet. Bevorzugt sind 2D-Videokameras und/oder 3D-Videokameras. Unter einer 3D-Kamera wird vorliegend eine Kamera verstanden, welche die bildliche Darstellung von Entfernungen eines Objekts erlaubt. Insbesondere handelt es sich dabei um eine Stereokamera, ein Triangulationssystem, eine Laufzeitmessungs-Kamera (TOF-Kamera) oder eine Lichtfeldkamera. Als 2D-Kamera wir entsprechend eine Kamera verstanden, welche eine rein 2-dimensionale Darstellung eines Objekts ermöglicht. Dabei kann es sich z.B. um eine monokulare Kamera handeln.
  • Als Sensoren können Biege-, Dehn-, Beschleunigungs-, Lage-, Positions- und/oder Gyrosensoren eingesetzt werden. Im Besonderen handelt es sich um mechanische, thermoelektrische, resistive, piezoelektrische, kapazitive, induktive, optische und/oder magnetische Sensoren. Für die Gesichtserkennung sind im Besonderen optische Sensoren und/oder magnetische Sensoren, z.B. Hallgeber, geeignet. Diese können an definierten Stellen am realen Körper befestigt und/oder getragen werden und so die Bewegungen und/oder Veränderungen des Körpers registrieren und weiterleiten. Beispielsweise können Sensoren in Kleidungsstücke integriert werden, welche von einer Person getragen wird, deren Bewegungen und/oder Veränderungen erfasst werden soll. Entsprechende Systeme sind kommerziell erhältlich.
  • Besonders bevorzugt wird in Schritt b) eine Kamera, insbesondere eine 2D-Kamera verwendet, dies insbesondere zur Erfassung des Gesichts einer realen Person. Bevorzugt wird dabei eine Videokamera eingesetzt. Weiter kann es vorteilhaft sein, wenn zusätzlich zur Kamera in Schritt b) ein oder mehrere Sensoren zur Erfassung der Bewegungen und/oder Veränderungen des realen Körpers eingesetzt werden. Dies ist beispielsweise von Vorteil, wenn eine Steuerdaten für eine Ganzkörperanimation einer Person erzeugt werden sollen, da sich die Körperteile unterhalb des Kopfs gut mit Sensoren, z.B. in Form eines Sensoranzugs, erfassen lassen.
  • Bevorzugt erfolgen die Schritte b) bis d) in Echtzeit. Damit lassen sich Steuerdaten erzeugen, welch eine realitätsgetreue und natürliche Animation eines Avatars ermöglichen.
  • Insbesondere bilden die Koordinaten sämtlicher Steuerelemente zu einem definierten Zeitpunkt einen Datensatz, welcher das Modell zum definierten Zeitpunkt vollständig definiert.
  • Im Besonderen umfasst das virtuelle Modell für das Verfahren zum Erfassen von Steuerdaten weniger Steuerelemente als das oben beschriebene virtuelle Modell des Avatars im Verfahren zur Animation eines Avatars. Damit ist es möglich, die Datenvolumina der Steuerdaten zu reduzieren.
  • Das virtuelle Modell ist bevorzugt durch ein Skelettmodell definiert. Andere Modelle sind aber grundsätzlich auch möglich.
  • Bevorzugt ist das virtuelle Modell durch ein Skelett in Form eines Satzes von hierarchisch verbundenen Knochen und/oder Gelenken sowie ein daran gekoppeltes Gitternetz aus Vertices definiert, wobei insbesondere die Knochen und/oder Gelenke die Steuerelemente darstellen. In diesem Fall umfasst das virtuelle Modell für das Verfahren zum Erfassen von Steuerdaten weniger Knochen, Gelenke und Vertices als das oben beschriebene virtuelle Modell des Avatars im Verfahren zur Animation eines Avatars.
  • Das virtuelle Modell für das Verfahren zum Erfassen von Steuerdaten ist insbesondere derart ausgelegt, dass es die gleiche Anzahl Knochen und/oder Gelenke aufweist, wie die Anzahl Koordinaten von Knochen und/oder Gelenken in einem Steuerdatensatz, welcher im oben beschriebenen Verfahren zur Animation eines Avatars empfangen werden kann oder wird.
  • Im Besonderen repräsentiert das virtuelle Modell einen menschlichen Körper, insbesondere einen menschlichen Kopf.
  • In Schritt b) werden dabei bevorzugt die Bewegungen und/oder Veränderungen eines realen menschlichen Körpers, insbesondere eines realen menschlichen Kopfs, erfasst.
  • Bevorzugt werden in Schritt b) Bewegungen einzelner Landmarker des sich bewegenden und/oder verändernden realen Körpers detektiert. Dieser Ansatz ist beispielsweise auch in der US 2013/0235045 A1 , insbesondere in den Absätze 0061 - 0064, beschrieben.
  • Landmarker können beispielsweise auf dem realen Körper, z.B. einem Gesicht, vorgängig gekennzeichnet werden, beispielsweise durch Anbringen von optischen Markern an definierten Stellen am Körper. Jeder optische Marker kann dann als Landmarker verwendet werden. Werden die Bewegungen des realen Körpers mit einer Videokamera nachverfolgt, können die Bewegungen der optischen Marker in an sich bekannter Weise im Kamerabild detektiert und deren Positionen relativ zu einem Referenzpunkt ermittelt werden.
  • Im vorliegenden Zusammenhang hat es sich als besonders bevorzugt herausgestellt, wenn die Landmarker durch automatische Bilderkennung, insbesondere durch Erkennung von vordefinierten Objekten, im Kamerabild festgelegt werden und anschliessend bevorzugt auf dem Kamerabild überlagert werden. Hierbei werden mit Vorteil Muster- oder Gesichtserkennungsalgorithmen verwendet, welche ausgezeichnete Positionen im Kamerabild identifizieren und darauf basierend Landmarker auf das Kamerabild überlagern, beispielsweise über das Viola-Jones-Verfahren. Entsprechende Ansätze sind z.B. beschrieben in der Publikation „Robust Real-time Object Detection“, IJCV 2001 von Viola und Jones.
  • Es können aber auch andere Verfahren zur Detektion der Landmarker eingesetzt werden.
  • Bei der Durchführung des Verfahrens in einem Webbrowser wird zur Detektion der Landmarker bevorzugt ein entsprechender Programmcode vor der Ausführung in native Maschinensprache übersetzt. Dies kann mit einem Ahead-of-time Compiler (AOT-Compiler), z.B. Emscripten, erfolgen. Dadurch kann die Landmarkerdetektion stark beschleunigt werden. Beispielsweise kann der Programmcode zur Detektion der Landmarker in C, C++, Phyton oder JavaScript unter Verwendung der OpenCV- und/oder OpenVX Programmbibliothek vorliegen.
  • Auch ist es möglich, andere Bilderkennungs- oder Gesichtserkennungstechnologien in flexibler Art und Weise einzusetzen, da ein entsprechender Quellcode modular über den AOT-Compiler übersetzt und eingebunden werden kann. Damit kann das eigentliche Programm, welches das Verfahren ausführt, unverändert bleiben, während der Quellcode, welcher mit dem AOT-Compiler übersetzt wird, jederzeit angepasst werden kann.
  • Insbesondere werden die Landmarker einzelnen Vertices des Gitternetzes des virtuellen Modells zugeordnet und/oder die einzelnen Landmarker werden direkt und/oder indirekt einzelnen Steuerelementen des Modells zugeordnet. Eine indirekte Zuordnung der Landmarker zu den einzelnen Steuerelementen des Modells kann z.B. über die Verknüpfung der Steuerelemente mit den Vertices erfolgen.
  • Geometriedaten der Landmarker können damit in entsprechende Positionen der Vertices und/oder der Steuerelemente transformiert werden.
  • Wenn das virtuelle Modell durch ein Skelett in Form eines Satzes von hierarchisch verbundenen Knochen und/oder Gelenken sowie ein daran gekoppeltes Gitternetz aus Vertices definiert ist, werden die jeweiligen Positionen der Knochen und/oder Gelenke bevorzugt über eine Detektion der Bewegungen der einzelner Landmarker des sich bewegenden und/oder verändernden realen Körpers in Schritt b) ermittelt.
  • Vorteilhafterweise werden in Schritt b) zusätzlich zu den Bewegungen und/oder Veränderungen des realen Körpers zeitaufgelöst akustische Signale, insbesondere Tonsignale, erfasst. Dies kann beispielsweise über ein Mikrophon erfolgen. Damit können beispielsweise Sprachinformationen erfasst und mit den Steuerdaten synchronisiert werden.
  • Die in Schritt d) zur Verfügung gestellten Steuerdaten, insbesondere die zeitaufgelösten Koordinaten der Knochen und/oder Gelenke des Modells, werden bevorzugt zeitkodiert aufgezeichnet und/oder gespeichert, insbesondere so dass sie mit einer Datenbank abgerufen werden können. Dadurch kann bei Bedarf auf die Steuerdaten zugegriffen werden, z.B. in einem Verfahren zur Animation eines Avatars wie es vorstehen beschrieben ist.
  • Falls akustische Signale miterfasst werden, werden die Steuerdaten bevorzugt parallel zu den akustischen Signalen zeitkordiert aufgezeichnet und/oder gespeichert. Die akustischen Signale und die Steuerdaten werden somit insbesondere zur gleichen Zeit aber separat aufgezeichnet und/oder gespeichert.
  • Im Besonderen werden die Schritte a) bis d) im Verfahren zur Erzeugung von Steuerdaten vollständig auf einer lokalen Datenverarbeitungsanlage durchgeführt. Die in Schritt d) zur Verfügung gestellten Steuerdaten werden dabei, gegebenenfalls zusammen mit den akustische Signalen, bevorzugt auf einer entfernten Datenverarbeitungsanlage gespeichert und/oder aufgezeichnet.
  • Das Verfahren zur Erzeugung von Steuerdaten wird insbesondere derart durchgeführt, dass die in Schritt d) zur Verfügung gestellten Steuerdaten als Steuerdaten für das oben beschriebene Verfahren zur Animation eines Avatars eingesetzt werden können.
  • In einem weiteren Aspekt betrifft die vorliegende Erfindung ein Verfahren umfassend die Schritte: (i) Erzeugen von Steuerdaten zur Animation eines Avatars mit einem Verfahren wie es oben beschrieben ist und (ii) Animation eines Avatars mit einem Verfahren wie es vorangehend beschrieben ist. Dabei werden insbesondere die in Schritt (i) erzeugten Steuerdaten als Steuerdaten in Schritt (ii) empfangen.
  • In einer vorteilhaften Ausführungsform werden die in Schritt (i) zur Verfügung gestellten Steuerdaten fortlaufend als Steuerdaten in Schritt (ii) empfangen und zur Animation des Avatars eingesetzt und, bevorzugt, zugleich aufgezeichnet und/oder gespeichert.
  • Bevorzugt werden die in Schritt (ii) empfangenen Steuerdaten dabei unter Berücksichtigung eines vorstehend beschriebenen Protokolls den Schlüsselbildern, Knochen und/oder Gelenken des Avatars zugeordnet.
  • Insbesondere laufen dabei die Schritte (i) und (ii) parallel ab, so dass der animierte Avatar in Schritt (ii) im Wesentlichen simultan den in Schritt (i) erfassten Bewegungen und/oder Veränderungen des realen Körpers folgt.
  • Bevorzugt erfolgen die Schritte (i) und (ii) auf derselben lokalen Datenverarbeitungsanlage. Damit kann ein Benutzer insbesondere unmittelbar prüfen, ob die Steuerdaten ausreichend präzise erfasst werden und ob die Animation zufriedenstellend ist.
  • Weiter bezieht sich die Erfindung auf ein System zur Datenverarbeitung, umfassend Mittel zur Ausführung des Verfahrens zur Animation eines Avatars wie es oben beschrieben ist und/oder Mittel zur Ausführung des Verfahrens zum Erfassen von Steuerdaten zur Animation eines Avatars wie es oben beschrieben ist.
  • Das System zur Datenverarbeitung umfasst im Besonderen eine zentrale Recheneinheit (CPU), einen Speicher, eine Ausgabeeinheit zur Darstellung von Bildinformationen, sowie eine Eingabeeinheit zum Eingeben von Daten. Bevorzugt verfügt das System zur Datenverarbeitung zudem über einen Graphikprozessor (GPU), bevorzugt mit einem eigenen Speicher.
  • Des Weiteren beinhaltet das System bevorzugt Mittel zum Erfassen der Bewegungen und/oder Veränderungen eines realen Körpers, insbesondere eine Kamera und/oder Sensoren, wie sie vorstehend beschrieben sind. Im Besonderen verfügt das System zudem über wenigstens ein Mikrofon zum Erfassen von akustischen Signalen, insbesondere gesprochener Sprache.
  • Ebenfalls Gegenstand der vorliegenden Erfindung ist ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, ein Verfahren zur Animation eines Avatars wie es oben beschrieben ist und/oder ein Verfahren zum Erfassen von Steuerdaten zur Animation eines Avatars wie es oben beschrieben ist, auszuführen.
  • Schliesslich bezieht sich die vorliegende Erfindung auf ein computerlesbares Speichermedium, auf dem das vorstehend genannte Computerprogramm gespeichert ist.
  • Wie sich herausgestellt hat, sind die erfindungsgemässen Ansätze und Verfahren besonders vorteilhaft, um Lerninhalte für Verkaufspersonal zu erstellen und zu vermitteln.
  • Beispielsweise kann ein Trainer die Präsentation seiner Verkaufsargumentarien über eine Videokamera aufnehmen und mit dem erfindungsgemässen Verfahren Steuerdaten zur Animation eines Avatars erzeugen. Die bei Verkaufsgesprächen besonders relevante Mimik und Gestik kann dabei durch den Trainer veranschaulicht werden und wird miterfasst. Dies kann gänzlich ohne Spezialsoftware rein Web-basiert über eine Webanwendung mit einer benutzerfreundlichen und intuitiven graphischen Benutzeroberfläche erfolgen.
  • Die Steuerdaten können beispielsweise Schulungssequenzen repräsentieren, welche auf einem über das Internet zugänglichen Server als fix zugeordneter und strukturierter Lerninhalt gespeichert wird und jederzeit abgespielt werden kann. Dabei können beliebig viele Schüler zu unterschiedlichen Zeiten auf die Steuerdaten zugreifen und damit einen persönlich frei wählbaren Avatar animieren. Dies kann wiederum rein Web-basiert über eine Webanwendung mit einer ebenso benutzerfreundlichen und intuitiven graphischen Benutzeroberfläche geschehen. Auch der Schüler benötigt somit keinerlei Zusatzsoftware. Zudem kann der Lerninhalt beliebig oft wiederholt werden.
  • Auch möglich ist es beispielsweise, dass der Schüler selbst verschiedene Verkaufssituationen nachspielt, dies mit einer Videokamera, welche z.B. eine in einem Laptop integrierte Webkamera sein kann, aufnimmt und mit dem erfindungsgemässen Verfahren Steuerdaten zur Animation eines Avatars erzeugt, welche lokal auf seinem Rechner gespeichert werden können von wo er sie dann über einen Webpräsentator bequem wieder auswählen, laden und abspielen kann. Dabei kann der Schüler mit den Steuerdaten z.B. einen Avatar animieren, welcher die Verkaufssituation widergibt. Anhand dieser Animation kann der Schüler allfällige Schwachstellen in seinem Auftreten identifizieren und diese verbessern.
  • Denkbar ist auch, dass die vom Schüler nachgespielte Verkaufssituation durch eine andere Person, z.B. den Trainer, begutachtet wird um dem Schüler eine Rückmeldung zu geben.
  • Aus der nachfolgenden Detailbeschreibung und der Gesamtheit der Patentansprüche ergeben sich weitere vorteilhafte Ausführungsformen und Merkmalskombinationen der Erfindung.
  • Figurenliste
  • Die zur Erläuterung des Ausführungsbeispiels verwendeten Zeichnungen zeigen:
    • 1 Ein Flussdiagramm, welches ein erfindungsgemässes Verfahren zur Animation eines Avatars mit einem Datenverarbeitungsgerät veranschaulicht;
    • 2 Die graphische Benutzeroberfläche eines Web-basierten Programms zur Animation eines Avatars, welchem das in 1 veranschaulichte Verfahren zu Grunde liegt;
    • 3 Ein Flussdiagramm, welches ein erfindungsgemässes Verfahren zum Erfassen von Steuerdaten zur Animation eines Avatars mit einem Datenverarbeitungsgerät darstellt;
    • 4 Die graphische Benutzeroberfläche eines Web-basierten Programms zum Erfassen von Steuerdaten zur Animation eines Avatars, welchem das in 3 veranschaulichte Verfahren zu Grunde liegt;
    • 5 Eine schematische Darstellung einer Anordnung umfassend drei über eine Netzwerkverbindung kommunizierende Datenverarbeitungsanlagen, welche zur Ausführung der in den 1 - 4 veranschaulichten Verfahren oder Programmen ausgelegt ist;
    • 6 Eine Variante des Web-basierten Programms zur Animation eines Avatars aus 2, welche für Trainings oder Schulungen ausgelegt ist;
    • 7 Eine Variante des Webpräsenters bzw. der Benutzeroberfläche aus 2, welche für mobile Geräte mit berührungsempfindlichen Bildschirmen ausgelegt ist.
  • Grundsätzlich sind in den Figuren gleiche Teile mit gleichen Bezugszeichen versehen.
  • Wege zur Ausführung der Erfindung
  • 1 zeigt ein Flussdiagramm 1, welches beispielhaft ein erfindungsgemässes Verfahren zur Animation eines Avatars mit einem Datenverarbeitungsgerät veranschaulicht.
  • In einem ersten Schritt 11 wird ein Programm zur Animation des Avatars, welches als Webanwendung auf einem Webserver zur Verfügung gestellt wird, durch Aufruf einer Webseite in einem Webbrowser gestartet. Hierbei kommt ein Webbrowser mit WebGL-Unterstützung, beispielsweise Chrome (Google), zum Einsatz.
  • In einem nächsten Schritt 12 wird WebGL geöffnet und mittels JavaScript ein Container auf einer Webseite so eingerichtet, dass dessen Inhalt sich vom Rest der Webseite abgrenzt. Es entsteht eine definierte Fläche, innerhalb dieser jetzt separat Programme ablaufen können. In diese Fläche (Bildschirmausschnitt) werden nun verschiedene Elemente von WebGL integriert, z.B. eine 3D-Szene als Grundelement, dazu eine Kamera-Perspektive, verschiedene Lichter, und eine Rendering-Engine. Ist so ein Grundelement erstellt, können verschiedene zusätzliche Elemente in diese Szene hinein geladen und positioniert werden. Dies geschieht über eine Reihe von Loadern die WebGL oder deren Frameworks liefern und unterstützten.
  • Loader sind Programme die entsprechende technische Standards in die Funktionsweise von WebGL übersetzen und so integrieren, dass sie von WebGL interpretiert, dargestellt und genutzt werden können. Vorliegend basieren die Loader auf den JavaScript-Programmbibliotheken ImageLoader, JSONLoader, AudioLoader und AnimationLoader von three.js (Release r90 14. Februar 2018), welche spezifisch erweitert wurden, so dass die spezifischen BVH-Steuerdaten geladen, interpretiert und mit einem Avatar unter Einbezug eines Zuordnungsprotokolls verbunden werden können.
  • Damit kann in Schritt 12 ein Charakter oder Avatar, beispielsweise in Form eines Kopfs, initialisiert werden. Der Avatar ist dabei durch ein virtuelles Modell in Form eines 3-dimensionalen Skeletts aus einem Satz von hierarchisch verbundenen Knochen, z.B. 250 in der Zahl, sowie ein daran gekoppeltes Gitternetz aus Vertices definiert und wird in einen von einer Graphikeinheit des Programms ansprechbaren Speicherbereich geladen. Der Avatar kann im Format JSON, gITF2 oder COLLADA vorliegen und wird zusammen mit Schlüsselbildern des Avatars, beispielsweise 87 Schlüsselbilder, geladen.
  • Des Weiteren wird in Schritt 12 ein Protokoll in den Speicherbereich geladen, mit welchem über eine Empfangseinheit des Programms eintreffende Steuerdaten, einem oder mehreren Knochen und/oder Schlüsselbildern des Avatars zugeordnet werden können.
  • Damit wird ein omnipräsenter Avatar 13 zur Verfügung gestellt, welcher, zusammen mit dem Protokoll, während der gesamten Laufzeit des Programms zur Verfügung steht und in einem Canvas oder Container 21 (siehe 2) auf einem Bildschirm dargestellt werden kann. In dieser Ausgangslage kann der Avatar über die Empfangseinheit des Programms jederzeit Steuerdaten empfangen.
  • Über herkömmliche Benutzerschnittstellen, welche vom Programm zur Animation des Avatars zur Verfügung gestellt werden, können nun im Schritt 14 Steuerdaten aus einer auf einem entfernten Webserver vorliegenden Datenbank 15 ausgewählt werden und über das Internet transferiert werden.
  • Die Steuerdaten umfassen dabei mehrere Steuerdatensätze, wobei jeder Steuerdatensatz den Avatar zu einem bestimmten Zeitpunkt definiert. Ein Steuerdatensatz beinhaltet die zeitkodierten 3-dimensionalen Koordinaten von beispielsweise 40 Knochen, was weniger ist als die Anzahl von 250 Knochen, welche der im Speicherbereich geladenen Avatar umfasst. Die Steuerdaten liegen insbesondere in einem BVH-Datenformat vor, welches die Knochenhierarchie als auch die Bewegungsdaten in Form von Koordinaten enthält. Jede Zeile der Bewegungsdaten definiert dabei den Avatar zu einem definierten Zeitpunkt.
  • Über gängige HTML5 oder CSS Steuerelemente 22, 24 (siehe 2), welche vom Programm zur Animation des Avatars zur Verfügung gestellt werden, können in Schritt 16 beliebige Datenströme von Steuerdaten ausgelöst und kontrolliert werden, die den Avatar in Bewegung versetzen. Damit lassen sich alle denkbaren Abläufe konstruieren. Die Datenströme können auch Kontrolldaten 18, 19 beinhalten, wie beispielsweise Daten zum Starten (Play), Stoppen (Stop), pausieren (Pause), Zurücksetzen (Reset), Auswählen von Optionen. Die Kontrolldaten können auch aus Texteingaben (Text to speech) oder Stimmen (Voice to Speech) generiert werden.
  • Sobald Steuerdaten eintreffen, werden diese über die Empfangseinheit des Programms zur Animation des Avatars an die Graphikeinheit übergeben, welche eine fortlaufende Neuberechnung eines aktualisierten Avatars auf Basis der jeweils aktuell übergebenen Steuerdaten mit anschliessendem Rendering des aktualisierten Avatars durchführt und diesen im Webbrowser auf dem Bildschirm in Form eines animierten Avatars 17 dargestellt. Dies erfolgt wie folgt:
    1. (i) Übergeben eines ersten empfangenen Steuerdatensatzes an die Graphikeinheit;
    2. (ii) Berechnung eines aktualisierten Avatars anhand des übergebenen Steuerdatensatzes und Rendering des Avatars in der Graphikeinheit unter Berücksichtigung des Protokolls. Die Koordinaten von ausgewählten Knochen in den Steuerdaten werden dabei gezielt einem Schlüsselbild oder einem oder mehreren Knochen zugeordnet. Unter Berücksichtigung der Schlüsselbilder werden durch Interpolation entsprechende Zwischenbilder berechnet;
    3. (iii) Darstellen des aktualisierten Avatars im Webbrowser auf dem Bildschirm;
    4. (iv) Übergeben eines nächsten empfangenen Steuerdatensatzes an die Graphikeinheit;
    5. (v) Wiederholen der Schritte (ii) bis (iv).
  • Dies wird solange fortgeführt, bis der Benutzer das Programm zur Animation eines Avatars beendet. Die Teilschritte (i) bis (iv) laufen synchron mit den zeitkodierten Steuerdaten ab, so dass eine Echtzeitanimation erzeugt wird. Eine Wiederholrate der Teilschritte (i) bis (iv) beträgt beispielsweise ca. 30 Hz.
  • Aufgrund der geringen Datenvolumen, kann die Animation des Avatars problemlos auf mobilen Geräten wie Smartphones oder Tablets erfolgen, während die Steuerdaten von entfernten Webservern über Internetverbindungen bezogen werden.
  • 2 zeigt die graphische Benutzeroberfläche 20 des im Zusammenhang mit dem in 1 beschriebenen Programms zur Animation des Avatars, welches in einem Webbrowser ausgeführt wird. Dabei ist ein Avatar 23 vor einem Hintergrund in einem Canvas 21 im Webbrowser dargestellt. Der Avatar 23 entspricht dabei einer Darstellung des omnipräsenten Avatars 13, welcher beim Eintreffen von Steuerdaten zu einem animierten Avatar 17 wird, wie dies vorstehend beschrieben ist. Zur Steuerung verfügt die graphische Benutzeroberfläche 20 über HTML5 oder CSS Steuerelemente 22, 24 in Form von Tasten und Auswahlfeldern.
  • Das im Zusammenhang mit den 1 und 2 beschrieben Verfahren stellt somit einen Webpräsentator dar, welcher als reine Webanwendung oder in Form einer Webseite realisiert und nach dem Ladevorgang vollständig auf einer lokalen Datenverarbeitungsanlage ausgeführt werden kann.
  • Ein Benutzer kann einen solchen Webpräsentator beispielsweise auch wie folgt in seine eigene Webseite integrieren: Der Benutzer lädt hierzu auf einer definierten Webseite ein Softwaremodul (Plug-in) für sein Inhaltsverwaltungssystem (CMS) herunter und bindet es in sein Back-end ein.
  • Danach kann er bestimmen, wie das Design des Webpräsentators auf seiner Seite (= Frontend) auszusehen hat, und wo welche und wie viele Steuerelemente platziert werden sollen. Zudem kann er definieren, welche Steuereinheit mit welchen dynamischen Texten versehen werden sollen, und erstellt diese. Schliesslich adressiert er die Steuereinheit z.B. eine Taste mit dem Ablageort von vorgängig generierten Steuerdaten (z.B. BVH und Audio). Sobald die Taste bedient wird, wird ein vorgängig definierter und/oder ausgewählter Avatar, welcher mit dem Öffnen der Webseite geladen wurde, mit den eintreffenden Steuerdaten animiert. Dabei können beispielsweise Untertitel, Texte und Bilder individuell und zeitgesteuert beliebig eingeblendet werden.
  • Die graphische Benutzeroberfläche 20 wie Sie in 2 dargestellt ist, eignet sich insbesondere als für den direkten Verkauf von Produkten oder Dienstleistungen oder zur Durchführung von Online-Prüfungen. Einem Kunden oder Prüfling können direkt vom Avatar Fragen gestellt werden, welche der Kunde oder Prüfling über die Steuerelemente 24 in Form von Auswahlfeldern beantworten kann.
  • Nach erfolgter Auswahl bzw. Antwort drückt der Kunde die Taste „Next“ der Steuerelemente 22 und der Avatar stellt die nächste Frage, usw. Alle Antworten können individuell den Wünschen des Kunden entsprechend bzw. den Antworten des Prüflings entsprechend ausgewertet werden, so dass dadurch z.B. ein Textdokument in Form einer Offerte oder einer Prüfungsauswertung erstellt werden kann.
  • Die Steuerelemente können dabei beliebig erweitert und den Wünschen des Nutzers oder Dienstleisters entsprechend verlinkt werden.
  • 3 zeigt ein zweites Flussdiagramm 2, welches beispielhaft ein erfindungsgemässes Verfahren zum Erfassen von Steuerdaten zur Animation eines Avatars mit einem Datenverarbeitungsgerät veranschaulicht.
  • In einem ersten Schritt 31 wird ein Programm zum Erfassen von Steuerdaten zur Animation eines Avatars, welches als Webanwendung auf einem Webserver zur Verfügung gestellt wird, durch Aufruf einer Webseite in einem Webbrowser gestartet. Hierbei kommt insbesondere ein Webbrowser mit WebGL- und WebRTC-Unterstützung, beispielsweise Chrome (Google), zum Einsatz.
  • In einem nächsten Schritt 32 wird WebGL geöffnet und mittels JavaScript ein Canvas auf einer Webseite so eingerichtet, dass dessen Inhalt sich vom Rest der Webseite abgrenzt.
  • Sodann wird in Schritt 33 ein Charakter oder Avatar, beispielsweise in Form eines Kopfs, ausgewählt und initialisiert. Der Avatar ist dabei wie vorstehend im Zusammenhang mit 1 beschrieben, definiert und wird zusammen mit zugehörigen Schlüsselbilder des Avatars, beispielsweise 87 Schlüsselbilder, in einen von einer Graphikeinheit des Programms ansprechbaren Speicherbereich geladen. Entsprechend liegt der Avatar als virtuelles Modells in Form eines 3-dimensionales Skelett mit beispielsweise 250 hierarchisch verbundenen Knochen sowie ein daran gekoppeltes Gitternetz aus Vertices im Speicherbereich vor. Des Weiteren wird ein Protokoll in den Speicherbereich geladen, mit welchem über eine Empfangseinheit des Programms eintreffende Steuerdaten, einem oder mehreren Knochen und/oder Schlüsselbildern des Avatars zugeordnet werden können.
  • Anschliessend wir in Schritt 34 der Avatar im Canvas auf der Webseite ausgegeben.
  • Der so bereitgestellte Avatar kann nun im darauf folgenden Schritt 35 Steuerdaten in Form von vorgängig erzeugten Koordinaten bzw. Steuerdaten empfangen. Sobald Steuerdaten eintreffen, werden diese wie bei 1 beschrieben über eine Empfangseinheit des Programms zur Animation des Avatars an die Graphikeinheit übergeben, welche eine fortlaufende Neuberechnung eines aktualisierten Avatars auf Basis der jeweils aktuell übergebenen Steuerdaten mit anschliessendem Rendering des aktualisierten Avatars durchführt und diesen im Webbrowser auf dem Bildschirm in Form eines animierten Avatars 36 dargestellt.
  • Damit wird ein omnipräsenter Avatar zur Verfügung gestellt, welcher, zusammen mit dem Protokoll, während der gesamten Laufzeit des Programms zur Verfügung steht und in einem Canvas (siehe 4, Canvas 61) auf einem Bildschirm dargestellt werden kann. In dieser Ausgangslage kann der Avatar den Bewegungen einer realen Person, welche in einem parallel ablaufenden Prozess erfasst und in Steuerdaten umgewandelt werden (siehe nachfolgende Beschreibung), in Echtzeit folgen. Auch möglich ist es, dass der omnipräsent zur Verfügung stehende Avatar mit vorgängig gespeicherten Steuerdaten, welche in einer Datenbank abgelegt sind, animiert wird.
  • Parallel zu Schritt 32 werden in Schritt 37 mögliche Kameraverbindungen gesucht und initialisiert. Hierbei können z.B. Kameras, die es ermöglichen, eine Onlineverbindung zum Webbrowser herzustellen, verwendet werden. Besonders geeignet sind Webkameras oder Webcams. Zudem werden in Schritt 38 mögliche Audio-Eingangskanäle gesucht und initialisiert.
  • In Schritt 39 wird über Emscripten oder einen anderen Ahead-of-time-Compiler der in C++ vorliegende Programmcode zu Landmarkerdetektion unter Verwendung von OpenCV kompiliert, als asm.js-Zwischencode breitgestellt und gestartet. Damit kann die Geschwindigkeit des Programmcodes zur Landmarkerdetektion stark beschleunigt werden. Der Programmcode zur Landmarkerdetektion kann z.B. auf einem Viola-Jones-Verfahren beruhen.
  • Die Kamera- und Audiodaten werden in Schritt 40 an WebRTC übergeben und eingebunden. Die verbundene Ausgabe wird in Schritt 41 in einem Canvas (siehe 4, Canvas 62) auf dem Bildschirm im Webbrowser dargestellt. Das Ergebnis ist ein Echtzeit-Videostream der über eine Vielzahl von definierten Landmarkern verfügt. Diese folgen jeder Bewegung einer realen Person, welche von der Kamera erfasst wird.
  • In Schritt 42 werden alle Koordinaten der sich im Raum verändernden Landmarker in Bezug auf definierte Null- oder Referenzpunkte berechnet und als dynamische Werte im Hintergrund ausgegeben. Dabei werden die Landmarker einzelnen Vertices des Gitternetzes eines virtuellen Modells der realen Person zugeordnet. Über die Verknüpfung der Vertices mit den einzelnen Steuerelementen werden die Landmarker somit den Koordinaten der Steuerelemente des virtuellen Modells zugeordnet.
  • Analog zum Avatar ist auch das virtuelle Modell der realen Person durch ein Skelett in Form eines Satzes von hierarchisch verbundenen Knochen und/oder Gelenken sowie ein daran gekoppeltes Gitternetz aus Vertices definiert. Dieses virtuelle Modell verfügt jedoch über weniger Steuerelemente als das virtuelle Modell des Avatars. Beispielsweise beinhaltet das virtuelle Modell der realen Person lediglich 40 Knochen, während das virtuelle Modell des Avatars 250 Knochen beinhaltet. Über die Verwendung eines Protokolls lässt sich dabei wie vorstehend beschrieben gezielt eine Zuordnung der Steuerelemente des virtuellen Modells der realen Person zu den Steuerelementen und Schlüsselbildern des Avatars erreichen.
  • Die dynamischen Steuerdaten bzw. Koordinaten werden in Schritt 43 an den Avatar transferiert, welcher entsprechend animiert wird (siehe oben, Schritte 35 und 36). Damit folgt der Avatar den Bewegungen der realen Person in Echtzeit. Dies dient dazu, zu prüfen, ob die Bewegungen der realen Person korrekt erfasst und in entsprechende Steuerdaten umgerechnet werden.
  • Parallel dazu können die erzeugten Steuerdaten in Schritt 44 zwecks Weiterverarbeitung oder Speicherung ausgegeben werden.
  • Zur Speicherung der Steuerdaten werden die in Schritt 44 ausgegebenen Steuerdaten einer integrierten Rekordereinheit 50 zugeführt. Dabei kann in Schritt 51 eine Aufnahme gestartet werden. Während der Aufnahme werden alle einfliessenden Bewegungsdaten bzw. die Steuerdaten oder Koordinaten (Koordinatenstream) in Schritt 52a mit einer Zeitreferenz versehen und mit einer Zeitlinie (Timeline) synchronisiert. Im Weiteren wird die Datenmenge gezählt.
  • Gleichzeitig werden in Schritt 52b auch die Audiodaten (Audiostream) mit der Zeitreferenz versehen und mit der Timeline synchronisiert.
  • Nun werden in Schritt 53a alle Bewegungsdaten direkt in ein beliebiges Format übertragen, insbesondere BVH Steuerdaten. Gleichzeitig werden in Schritt 53b alle Audiodaten in ein beliebiges Audioformat übertragen. Bevorzugt werden Formate, die bei hoher Qualität verhältnismässig geringe Datenvolumen erzeugen, z.B. MP3-Formate.
  • Die bereitgestellten Daten können in Schritt 54 sichtbar ausgegeben werden. Dies ermöglicht eine Kontrolle und dient allfälligen Anpassungen.
  • Anschliessend werden die Daten in Schritt 55 gemeinsam gespeichert, beispielsweise unter Verwendung einer Datenbank 56, so dass sie jederzeit abgerufen werden können. Die abgespeicherten Daten enthalten dabei die Steuerdaten in einem Format, welches es ermöglicht, diese in einem Verfahren zur Animation eines Avatars gemäss den 1 und 2 einzusetzen. Die Speicherung kann z.B. durch spezielle Steuerelemente welche einem Benutzer auf einer graphischen Oberfläche zur Verfügung gestellt werden (siehe 4), kontrolliert werden.
  • Das im Zusammenhang mit den 3 und 4 beschrieben Verfahren ist als reine Webanwendung realisiert.
  • Die Schritte 31 - 54 laufen bevorzugt auf einer lokalen Datenverarbeitungsanlage, z.B. einem Desktopcomputer des Benutzers mit Webkamera, ab, während Schritt 55 bzw. die Speicherung auf einer entfernten Datenverarbeitungsanlage, z.B. einem Webserver, erfolgt.
  • Das Speichervolumen der Daten inklusive Audiodaten beträgt im Schnitt ca. 20 MB pro Minute einer Animation, was äusserst gering ist. Zum Vergleich: Typischerweise wird bei den heute verbreiteten hochaufgelösten Videos (HD, 720p) mit einem Speichervolumen von ca. 100 MB/min gerechnet.
  • 4 zeigt die graphische Benutzeroberfläche 60 des im Zusammenhang mit dem in 3 beschriebenen Programms zur Erzeugung von Steuerdaten, welches in einem Webbrowser ausgeführt wird. Auf der linken Seite ist der in Schritt 36 (3) animierte Avatar in einem ersten Canvas 61 im Webbrowser dargestellt. Auf der rechten Seite in 4 wird der in Schritt 41 (3) ausgegebene Echtzeit-Videostream dargestellt, welcher über eine Vielzahl von definierten Landmarkern verfügt.
  • In den Bereichen darunter sind die in Schritt 54 (3) ausgegeben Steuerdaten bzw. Koordinaten und Audiodaten in einem weiteren Canvas 63 dargestellt. Unterhalb von Canvas 63 sind Steuerelemente 64 angeordnet, mit welchen das Verfahren zur Erzeugung von Steuerdaten kontrolliert werden kann. Hierbei können beispielsweise eine Aufnahmetaste, eine Stopptaste und eine Löschtaste zur Verfügung gestellt werden.
  • Das im Zusammenhang mit den 3 und 4 beschriebene Verfahren stellt einen Webrekorder dar, welcher als reine Webanwendung oder in Form einer Webseite realisiert und nach dem Ladevorgang abgesehen von der Speicherung der Steuerdaten im Wesentlichen vollständig auf einer lokalen Datenverarbeitungsanlage ausgeführt werden kann.
  • Konkret sieht die Benutzung des Webrekorder aus Sicht des Benutzers z.B. wie folgt aus: Ein Benutzer öffnet den Webbrowser auf seinem lokalen Computer und gibt die URL (Uniform Resource Locator) der Webseite ein, welche den Webrekorder zur Verfügung stellt.
  • Nach einer optionalen Anmeldung erscheint die graphische Benutzeroberfläche 60 mit einem vorgängig ausgewählten gerenderten Avatar auf der linken Bildschirmseite im Canvas 61. Über das Freischalten der Webkamera und des Mikrofons am Computer wird z.B. das Gesicht des Benutzers mit den auferlegten Landmarker-Punkten, welche jeder Bewegung des Gesichts folgen, auf der rechten Bildschirmseite im Canvas 62 dargestellt. Die Bewegungen werden direkt auf den Avatar übertragen, so dass dieser automatisch jeder Bewegung des Gesichts des Benutzers folgt.
  • Ist der Benutzer mit dem Ergebnis zufrieden, drückt er im Bereich der Steuerelemente 64 eine Aufnahmetaste, worauf eine Aufzeichnung gestartet wird. Drückt er danach eine Stopptaste werden die erzeugten Steuerdaten und die Audiodaten nach der Auswahl eines Speicherorts und der Vergabe des Dateinamens gespeichert. Drückt der Benutzer nun eine Löschtaste ist der Webrekorder bereit für eine nächste Aufnahme.
  • Der Webrekorder kann somit als reine Webanwendung zur Verfügung gestellt und bedient werden. Eine Installation von Zusatzsoftware ist nicht notwendig.
  • Der Webrekorder kann beispielsweise über eine Plattform unter Lizenzgebühr mit entsprechendem Accounting Online gestellt werden, so das zum Beispiel Webdesigner oder Gameentwickler ihre Steuerdaten selber aufzeichnen können.
  • Für Webdesigner ist die Sache besonders interessant, da der Präsenter in Form eines CMS Plug-In's in jede beliebige Webseite integriert, frei gestaltet und beschaltet werden kann, so dass eine unbegrenzte Anzahl verschiedenster Anwendungen schnell realisierbar sind. Diese Plug-In's und eine Vielzahl von verschiedenen Avataren können dann einfach von der Platform heruntergeladen werden.
  • 5 zeigt schematisch eine Anordnung 70 umfassend eine erste Datenverarbeitungsanlage 71, z.B. einen Desktopcomputer, welche über einen Prozessor 71a, einen Hauptspeicher 71b und eine Graphikkarte 71c mit einem Graphikprozessor und Graphikspeicher verfügt. Daran angeschlossen sind eine Videokamera (Webcam) 72, ein Mikrofon 73, sowie ein Bildschirm mit integrierten Lautsprechern.
  • Des Weiteren verfügt die Datenverarbeitungsanlage 71 über Schnittstellen, mit welche sie Daten von einer zweiten und entfernten Datenverarbeitungsanlage 75 beziehen und an eine dritte und entfernte Datenverarbeitungsanlage 76 senden kann. Die zweite Datenverarbeitungsanlage 75 kann z.B. ein Webserver sein, auf welchem Avatare samt zugehörigen Schlüsselbildern und Zuordnungsprotokollen abrufbar gespeichert sind. Die dritte Datenverarbeitungsanlagen 76 kann ebenfalls ein Webserver sein, auf welchem erzeugte Steuerdaten gespeichert werden und/oder von welchem diese wieder abgerufen werden.
  • 6 zeigt eine Variante des Webpräsenters bzw. der Benutzeroberfläche aus 2. Die Benutzeroberfläche 20a des Webpräsenters aus 6 ist insbesondere als Variante für Trainings oder Schulungen ausgelegt. Dabei ist ein wiederum Avatar 23a vor einem Hintergrund in einem Canvas 21a im Webbrowser dargestellt. Der Avatar 23a entspricht ebenfalls einer Darstellung des omnipräsenten Avatars 13, welcher beim Eintreffen von Steuerdaten zu einem animierten Avatar 17 wird, wie dies vorstehend beschrieben ist. Zur Steuerung verfügt die graphische Benutzeroberfläche 20a über HTML5 oder CSS Steuerelemente 22a, 24a, 25a in Form von Tasten.
  • Bei der Verwendung navigiert ein Schüler zum Beispiel zum Thema „Gesprächseröffnung in einem Verkaufsgespräch“ wo ihm fünf professionelle Beispielargumentarien angeboten werden, welche sich über die Steuerelemente 24a auswählen und anschliessend über die Steuerelemente 22a abspielen lassen. Der animierte Avatar 23a führt dem Schüler sodann vor, wie er eine Gesprächseröffnung bei eine Verkaufsgespräch angehen kann. Insgesamt können mehrere hundert Beispielargumentarien vorliegen, welche sämtliche relevanten Themen abdecken. Dadurch erhält der Schüler einen Eindruck von dem was er sich selber erarbeiten muss. Das Design der Benutzeroberfläche ist beliebig gestaltbar.
  • Während der Animation kann der Schüler Notizen erstellen und sich eigene Argumente erarbeiten. Diese kann er sodann übungshalber präsentieren und unter Verwendung einer Webkamera und eines Mikrofons mit einem wie vorstehend beschrieben Webrekorder selber Steuerdaten aufzeichnen und speichern. Die erzeugten Steuerdaten kann er vom Webrekorder aus lokal, in ein beliebiges Verzeichnis abspeichern.
  • Vom Webpräsenter aus können diese selber produzierten Steuerdaten über die Steuerelemente 25a dann ausgewählt und jederzeit geladen werden. Indem er die selbst erzeugten Steuerdaten abspielt, kann sich der Schüler durch die Mimik des Avatars 23a und den Sprachinhalt ein realistisches Bild von sich selbst bzw. von seiner Arbeit machen. Dabei kann er beliebig zwischen vorgegebenem Schulungsinhalt und Eigenproduktion umschalten, was den Lerneffekt zusätzlich steigert.
  • Die Steuerdaten kann der Schüler auch per E-Mail oder auf einem anderen Weg an einen Trainer schicken, der sie mit einem Webpräsenter jederzeit laden und begutachten kann.
  • Da der Schüler während seiner eigenen Aufzeichnungen in die Kamera oder zumindest auf den Bildschirm schauen muss, ist es im Prinzip erforderlich, dass er das Erlernte auch auswendig gelernt hat. Eine gute Aufzeichnung kann der Schüler also erst machen, wenn er den Stoff ohne ablesen zu müssen, wiedergeben kann. Das führt dazu, dass er das Gelernte auch in der Praxis z.B. bei einem Kunden besser anwenden kann.
  • 7 zeigt eine weitere Variante des Webpräsenters bzw. der Benutzeroberfläche aus 2. Die Benutzeroberfläche 20b des Webpräsenters aus 7 ist für mobile Geräte mit berührungsempfindlichen Bildschirmen ausgelegt. Dabei ist ein wiederum Avatar 23b vor einem Hintergrund in einem Canvas 21b im Webbrowser oder einer speziellen Applikation dargestellt. Der Avatar 23b entspricht ebenfalls einer Darstellung des omnipräsenten Avatars 13, welcher beim Eintreffen von Steuerdaten zu einem animierten Avatar 17 wird, wie dies vorstehend beschrieben ist. Zur Steuerung verfügt die graphische Benutzeroberfläche 20b über HTML5 oder CSS Steuerelemente 22b, 24b in Form von Tastenfeldern. Die Funktionsweise entspricht der Benutzeroberfläche bzw. dem Webpräsenter aus 2.
  • Die vorstehend beschriebenen Ausführungsbeispiele sind in keiner Weise einschränkend zu verstehen und können im Rahmen der Erfindung beliebig angewandelt werden.
  • So ist es z.B. möglich, dass die Programme, welche die Durchführung der im Zusammenhang mit den 1 - 4 beschriebenen Verfahren ermöglichen, nicht als Webanwendung sondern lokal auf der Datenverarbeitungsanlage gespeichert und lokal gestartet werden.
  • Auch ist es möglich, dass bei den in den 1 - 2 beschriebenen Verfahren die Steuerdaten aus einer lokalen Datenbank empfangen werden, welche sich auf der gleichen Datenverarbeitungsanlage befindet, auf welcher auch das Verfahren ausgeführt wird.
  • Ebenso können bei den in den 3 - 4 beschriebenen Verfahren die Steuerdaten in einer lokalen Datenbank gespeichert werden, welche sich auf der gleichen Datenverarbeitungsanlage befindet, auf welcher auch das Verfahren ausgeführt wird.
  • In Bezug auf die im Zusammenhang mit den 3 - 4 beschriebenen Verfahren ist es prinzipiell auch möglich, die Schritte 32 - 36 und 43 wegzulassen, wenn kein Bedarf nach einer unmittelbaren Überprüfung der Steuerdaten besteht. In diesem Fall kann auch auf das Canvas 61 in der Benutzeroberfläche 60 in 4 verzichtet werden.
  • Bei der Anordnung 70 in 5 können anstelle eines Bildschirms 74 alternativ oder zusätzlich beispielsweise auch andere Ausgabegeräte wie z.B. Projektoren (Beamer) oder Holographen verwendet werden.
  • Weiter ist es möglich, bei der Anordnung in 5 als erste Datenverarbeitungsanlage ein mobiles Gerät, z.B. einen Laptop, ein Tablet oder ein Mobiltelefon mit entsprechenden Funktionalitäten zu verwenden.
  • Zusammenfassend ist festzustellen, dass neuartige und besonders vorteilhafte Verfahren und Programme bereitgestellt wurden, mit welchem sich in effizienter Art und Weise Steuerdaten für Avatare erzeugen lassen und Avatare animieren lassen. Die in den Verfahren verwendeten Steuerdaten weisen dabei nur ein geringes Datenvolumen auf, so dass sie sehr schnell von einem Server zu einem Client übertragen werden können, ohne die Netze unnötig zu belasten. Daher können zusätzliche Inhalte wie z.B. weitere Animationen für den Hintergrund, etc. übertragen werden, was weitere Anwendungsmöglichkeiten ergibt.
  • Mit den Steuerdaten können im Besonderen 2D- oder 3D-Avataren in Form von virtuellen Assistenten für Schulungen, Verkäufe, Beratungen, Spielen und dergleichen eingesetzt werden.
  • Die Produktionszeit einer Animation verringert sich dadurch immens und kann von Laien durchgeführt werden, da kein spezifisches Fachwissen erforderlich ist. Es müssen keine Programme Installiert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 2013/0235045 A1 [0005, 0078]

Claims (15)

  1. System zur Datenverarbeitung, umfassend Mittel zur Ausführung eines computerimplementierten Verfahrens zur Animation eines Avatars mit einem Datenverarbeitungsgerät umfassend die Schritte: a) Bereitstellen einer Graphikeinheit, welche zur Animation von 2- und/oder 3-dimensionalen Objekten ausgelegt ist und welche über eine Schnittstelle verfügt über welche Steuerdaten zur Animation der zwei- und/oder dreidimensionalen Objekte an die Graphikeinheit übergeben werden können; b) Laden und Bereithalten eines Avatars in einem von der Graphikeinheit ansprechbaren Speicherbereich; c) Bereitstellen einer Empfangseinheit zum Empfangen von Steuerdaten zur Animation des Avatars; d) Fortlaufendes und sequentielles Übergeben von empfangenen Steuerdaten an die Graphikeinheit; e) Animation des Avatars durch fortlaufende Neuberechnung eines aktualisierten Avatars auf Basis der jeweils aktuell übergebenen Steuerdaten mit anschliessendem Rendering des Avatars in der Graphikeinheit; f) Fortlaufendes Darstellen des aktualisierten Avatars auf einem Ausgabegerät; wobei das Verfahren in einem auf der Datenverarbeitungsanlage laufenden Webbrowser ausgeführt wird.
  2. System zur Datenverarbeitung nach Anspruch 1, dadurch gekennzeichnet, dass der Avatar während den Schritten d) bis f) omnipräsent im Speicherbereich zur Verfügung steht.
  3. System zur Datenverarbeitung nach wenigstens einem der Ansprüche 1-2, dadurch gekennzeichnet, dass die Schritte d) bis f) in Echtzeit erfolgen.
  4. System zur Datenverarbeitung nach wenigstens einem der Ansprüche 1-3, dadurch gekennzeichnet, dass die Steuerdaten über eine Zeitkodierung verfügen und bevorzugt die Schritte d) bis f) synchron mit der Zeitkodierung abgearbeitet werden.
  5. System zur Datenverarbeitung nach wenigstens einem der Ansprüche 1-4, dadurch gekennzeichnet, dass der Avatar durch ein Skelett in Form eines Satzes von hierarchisch verbundenen Knochen und/oder Gelenken sowie ein daran gekoppeltes Gitternetz aus Vertices definiert ist und dass die Steuerdaten Koordinaten der Knochen und/oder Gelenke repräsentieren.
  6. System zur Datenverarbeitung nach wenigstens einem der Ansprüche 1-5, dadurch gekennzeichnet, dass zusammen mit dem Avatar Schlüsselbilder des Avatars, beispielsweise 10 - 90 Schlüsselbilder, in den Speicherbereich geladen und bereitgestellt werden.
  7. System zur Datenverarbeitung nach wenigstens einem der Ansprüche 1-6, wobei die Steuerdaten ein oder mehrere Steuerdatensätze umfassen, wobei ein Steuerdatensatz den Avatar zu einem bestimmten Zeitpunkt definiert, und wobei ein Steuerdatensatz die Koordinaten von n Knochen und/oder Gelenken enthält, während der Avatar mehr als n Knochen und/oder Gelenke umfasst, wobei jedem der in einem Steuerdatensatz enthaltenen n Knochen einer der mehr als n Knochen und/oder Gelenke des Avatars zugeordnet wird.
  8. System zur Datenverarbeitung nach wenigstens einem der Ansprüche 1-7, dadurch gekennzeichnet, dass die Steuerdaten auf einer entfernten Datenverarbeitungsanlage vorliegen, insbesondere einem Server, und von dieser stammend über eine Netzwerkverbindung, insbesondere eine Internetverbindung, empfangen werden.
  9. System zur Datenverarbeitung, umfassend Mittel zur Ausführung eines Verfahrens zum Erfassen von Steuerdaten zur Animation eines Avatars mit einem Datenverarbeitungsgerät, wobei die Steuerdaten insbesondere zur Verwendung in einem System zur Datenverarbeitung nach einem der Ansprüche 1-8 ausgelegt sind, umfassend die Schritte: a) Bereitstellen eines 2- oder 3-dimensionalen virtuellen Modells eines Körpers, welches in einem 2- oder 3-dimensionalen Raum bewegbar ist und wobei das Modell über Steuerelemente verfügt, mit welchen sich das virtuelle Modell in definierter Weise verändern lässt; b) Zeitaufgelöstes Erfassen der Bewegungen und/oder Veränderungen eines realen Körpers; c) Nachbilden der Bewegungen und/oder Veränderungen des realen Körpers im virtuellen Modell durch zeitaufgelöstes Ermitteln der Koordinaten der Steuerelemente des virtuellen Modells, welche einem Zustand des realen Körpers zu einem gegebenen Zeitpunkt entsprechen; d) Zur Verfügung stellen der ermittelten zeitaufgelösten Koordinaten der Steuerelemente als Steuerdaten; wobei das Verfahren in einem auf der Datenverarbeitungsanlage laufenden Webbrowser ausgeführt wird.
  10. System zur Datenverarbeitung nach Anspruch 9, dadurch gekennzeichnet, dass die Schritte b) bis d) in Echtzeit erfolgen.
  11. System zur Datenverarbeitung nach wenigstens einem der Ansprüche 9-10, dadurch gekennzeichnet, dass die Koordinaten sämtlicher Steuerelemente zu einem definierten Zeitpunkt einen Datensatz bilden, welcher das Modell zum definierten Zeitpunkt vollständig definiert.
  12. System zur Datenverarbeitung nach wenigstens einem der Ansprüche 1-8 und nach wenigstens einem der Ansprüche 9-11.
  13. System zur Datenverarbeitung nach Anspruch 12, welches zur Ausführung folgender Schritte ausgelegt ist: (i) Erzeugen von Steuerdaten zur Animation eines Avatars mit einem Verfahren wie es in einem der Ansprüche 9-11 definiert ist und (ii) Animation eines Avatars mit einem Verfahren wie es in einem der Ansprüche 1-8 definiert ist, wobei insbesondere die in Schritt (i) zur Verfügung gestellten Steuerdaten fortlaufend als Steuerdaten in Schritt (ii) empfangen und zur Animation des Avatars eingesetzt werden.
  14. Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, ein Verfahren wie es in einem der Ansprüche 1-8 definiert ist und/oder wie es in einem der Ansprüche 9-13 definiert ist, auszuführen.
  15. Computerlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 14 gespeichert ist.
DE212018000371.8U 2018-07-04 2018-07-04 Avataranimation Active DE212018000371U1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2018/068136 WO2019105600A1 (de) 2018-07-04 2018-07-04 Avataranimation

Publications (1)

Publication Number Publication Date
DE212018000371U1 true DE212018000371U1 (de) 2020-08-31

Family

ID=62909496

Family Applications (1)

Application Number Title Priority Date Filing Date
DE212018000371.8U Active DE212018000371U1 (de) 2018-07-04 2018-07-04 Avataranimation

Country Status (7)

Country Link
US (1) US20210166461A1 (de)
EP (1) EP3718086A1 (de)
JP (1) JP2022500795A (de)
KR (1) KR20210028198A (de)
CN (1) CN112673400A (de)
DE (1) DE212018000371U1 (de)
WO (1) WO2019105600A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022534708A (ja) * 2019-06-06 2022-08-03 アーティー,インコーポレイテッド 動的に反応する仮想キャラクターのためのマルチモーダルモデル
US11620779B2 (en) * 2020-01-03 2023-04-04 Vangogh Imaging, Inc. Remote visualization of real-time three-dimensional (3D) facial animation with synchronized voice
KR102600757B1 (ko) * 2021-03-02 2023-11-13 한국전자통신연구원 대화 기반의 몽타주 생성 방법 및 이를 이용한 장치
US11978143B2 (en) * 2022-05-23 2024-05-07 Lemon Inc. Creation of videos using virtual characters
US20240013464A1 (en) * 2022-07-11 2024-01-11 Samsung Electronics Co., Ltd. Multimodal disentanglement for generating virtual human avatars
CN115268757A (zh) * 2022-07-19 2022-11-01 武汉乐庭软件技术有限公司 一种基于触摸屏的画面系统上的手势交互识别系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2450757A (en) * 2007-07-06 2009-01-07 Sony Comp Entertainment Europe Avatar customisation, transmission and reception
US20100302253A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Real time retargeting of skeletal data to game avatar
US9159151B2 (en) * 2009-07-13 2015-10-13 Microsoft Technology Licensing, Llc Bringing a visual representation to life via learned input from the user
US8749557B2 (en) * 2010-06-11 2014-06-10 Microsoft Corporation Interacting with user interface via avatar
US20120130717A1 (en) * 2010-11-19 2012-05-24 Microsoft Corporation Real-time Animation for an Expressive Avatar
US9747495B2 (en) 2012-03-06 2017-08-29 Adobe Systems Incorporated Systems and methods for creating and distributing modifiable animated video messages
KR101643573B1 (ko) * 2014-11-21 2016-07-29 한국과학기술연구원 얼굴 표정 정규화를 통한 얼굴 인식 방법, 이를 수행하기 위한 기록 매체 및 장치
CN106251396B (zh) * 2016-07-29 2021-08-13 迈吉客科技(北京)有限公司 三维模型的实时控制方法和系统

Also Published As

Publication number Publication date
US20210166461A1 (en) 2021-06-03
KR20210028198A (ko) 2021-03-11
JP2022500795A (ja) 2022-01-04
CN112673400A (zh) 2021-04-16
EP3718086A1 (de) 2020-10-07
WO2019105600A1 (de) 2019-06-06

Similar Documents

Publication Publication Date Title
DE212018000371U1 (de) Avataranimation
US8988436B2 (en) Training system and methods for dynamically injecting expression information into an animated facial mesh
US9654734B1 (en) Virtual conference room
DE69618136T2 (de) Verfahren und vorrichtung zur identifizierung von benutzerwählbaren bereichen innerhalb mehrerer einzelbilder
DE112016004634T5 (de) Produktion und Verpsackung von Entertainment-Daten für virtuelle Realität
CN114630738B (zh) 用于模拟感测数据和创建感知的系统和方法
CN109035415B (zh) 虚拟模型的处理方法、装置、设备和计算机可读存储介质
CN112511853B (zh) 一种视频处理方法、装置、电子设备及存储介质
Heloir et al. Toward an intuitive sign language animation authoring system for the deaf
Gholap et al. Past, present, and future of the augmented reality (ar)-enhanced interactive techniques: A survey
Lance et al. Glances, glares, and glowering: how should a virtual human express emotion through gaze?
Casati et al. Is the subjective feel of “presence” an uninteresting goal?
Kennedy Acting and its double: A practice-led investigation of the nature of acting within performance capture
US11861776B2 (en) System and method for provision of personalized multimedia avatars that provide studying companionship
Tolba et al. Facial action coding system for the tongue
CN116993872B (zh) 一种基于Labanotation的人体动画生成系统、方法、设备及存储介质
CN114741541B (zh) 基于模板化编辑的ai数字人对ppt的交互控制方法及装置
Khatri The future of automatically generated animation with AI
WO2022152430A1 (de) Computerassistiertes verfahren zur aufnahme von 3d-tiefendaten, mobiles datenverarbeitungsgerät, und computerprogrammprodukt
Schmidt et al. Perceptual plausibility of exaggerated realistic motion
JP2023545642A (ja) 目標対象の動作駆動方法、装置、機器及びコンピュータプログラム
Ribeiro et al. Capturing and Processing Sign Animations to a Portuguese Sign Language 3D Avatar
CN118365767A (zh) 文本到3d虚拟形象
Lundgren et al. The Struggles of Rigging: On Joint Deformation Problems in Human Digital Characters
CN100487696C (zh) 套用多媒体样板内的资料物件的多媒体编辑系统及方法

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years