-
Stand der Technik
-
Die
Erfindung betrifft einen integrierten Schaltkreis, eine elektronische
Datenverarbeitungsanlage, ein Verfahren zur Berechnung von Ausgangsdaten
eines integrierten Schaltkreises sowie ein Computerprogramm.
-
Personalcomputer
(PC) haben eine Tastatur und eine Maus zur Eingabe. Die Orientierung
im Programm oder die Rückmeldung
erfolgen über
eine graphische Oberfläche
an einem Bildschirm zum Teil zusammen mit einem Lautsprecherausgang.
Nachteilig ist, dass in engen Arbeitsplätzen wie dem Sitz in einem
Flugzeug die Maus nicht frei bewegt werden kann und auch die Bedienung
der Tastatur schwierig ist.
-
Zunehmend
finden Videospiele immer mehr Anhänger und erfreuen sich immer
größerer Beliebtheit.
Videospiele werden sowohl auf Personalcomputern als auch auf Spielekonsolen
eingesetzt. Die Eingabe erfolgt vorzugsweise über Tastatur, die Maus oder
Joysticks. Nachteilig ist, dass die Benutzung dieser Instrumente
den Spieler an das Gerät
bindet.
-
Aus
der deutschen Offenlegungsschrift
DE 195 14 877 A1 ist eine auf einem Personalcomputer basierte
Spielekonsole bekannt. Für
die Bedienung sind Schnittstellen für Joystick oder Trackball vorgesehen.
Ferner ist für
die Ausgabe eine Schnittstelle für
einen Bildschirm vorgesehen, über
die Ton- und Bilddaten ausgegeben werden.
-
Offenbarung der Erfindung
-
Vorteile der Erfindung
-
Der
nachfolgend beschriebene integrierte Schaltkreis hat den Vorteil,
dass mittels der Bestimmung des optischen Flusses von Bilddaten
und die Integration dieses Algorithmus in einem integrierten Schaltkreis
eine kostengünstige,
präzise
und schnelle Ermittlung von Ausgangsdaten möglich ist, die ein Maß für die Position
und/oder Bewegung von Körperteilen
einer Person sind und/oder die Gesten der Person repräsentieren.
-
Besonders
vorteilhaft ist, wenn die erste Einheit, die den Algorithmus zur
Bestimmung des optischen Flusses, der Stereodisparitäten und/oder
der Symmetriehäufungen
implementiert, fest verdrahtet ist, da hierdurch eine Optimierung
des integrierten Schaltkreise möglich
ist, so dass dieser besonders schnell und effizient arbeitet. Die
programmierbare zweite Einheit, in der die Berechnung der Ausgangsdaten
durchgeführt
wird, hat den Vorteil, dass hierdurch eine anwendungs- und funktionsspezifische Anpassung
möglich
ist, so dass derselbe integrierte Schaltkreis in vielen Anwendungsgebieten
eingesetzt werden kann.
-
Vorteilhaft
ist ferner, dass die Ausgangsdaten die Gebärdensprache codieren, da hierdurch
gehörlosen
und stark schwerhörigen
Menschen eine einfache Kommunikationsplattform mit elektronischen
Datenverarbeitungsanlagen zur Verfügung gestellt wird.
-
Die
vorstehend beschriebenen Vorteile des integrierten Schaltkreises
gelten entsprechend auch für
die elektronische Datenverarbeitungsanlage, das Verfahren und das
Computerprogramm.
-
Weitere
Vorteile ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen mit
Bezug auf die Figuren und aus den abhängigen Patentansprüchen.
-
Zeichnung
-
Die
Erfindung wird nachstehend anhand der in der Zeichnung dargestellten
Ausführungsform
näher erläutert.
-
Es
zeigen:
-
1 eine
elektronische Datenverarbeitungsanlage,
-
2 einen
integrierten Schaltkreis,
-
3 eine
Person in Seitenansicht,
-
4 eine
Person in Vorderansicht.
-
Beschreibung von Ausführungsbeispielen
-
Nachfolgend
wird ein integrierter Schaltkreis beschrieben, wobei der integrierte
Schaltkreis Bilddaten einer Videokamera mittels der Bestimmung des
optischen Flusses verarbeitet und daraus Ausgangsdaten berechnet,
die entweder ein Maß für die Position
und/oder Bewegung von Körperteilen
von Personen sind oder Gesten von Personen repräsentieren und codieren. Ferner
werden eine elektronische Datenverarbeitungsanlage, ein Verfahren
und eine Computerprogramm beschrieben.
-
Im
Folgenden wird eine hochauflösende
Vermessung der Gestik von Personen in einem dichten Stereobild zur
Steuerung eines Personalcomputers oder einer Spielekonsole beschrieben.
Die Videokamera ist als Stereokamera ausgeführt und ist oberhalb des Bildschirmes
angeordnet und beobachtet den Raum vor dem Personalcomputer. Im
bevorzugten Ausführungsbeispiel
wird die Position von Fingern, Händen,
Armen, Rumpf, Beinen, Füßen und/oder
Kopf der Person mit ihren Drehungen aus den Bilddaten der Videokamera
ermitteln und zur Eingabe als Alternative zur Maus, Tastatur oder
Joystick verwenden. Hierzu werden Algorithmen zur Vermessung des
optischen Flusses, von Stereo-Disparitäten und/oder Symmetriehäufungen
eingesetzt. Im bevorzugten Ausführungsbeispiel
dient diese Eingabe von Informationen über einen optischen Kanal dazu,
einem Spieler eines Videospiels eine größere Eingriffsmöglichkeit
zu geben und damit einen höheren
Spielewert zu vermitteln. Diese Eingriffsmöglichkeiten dienen zur Kontrolle
eines virtuellen Spielers oder eines anderen Objektes eines Videospiels,
wie beispielsweise eines Autos.
-
1 zeigt
eine elektronische Datenverarbeitungsanlage 1 des bevorzugten
Ausführungsbeispiels,
bestehend aus einem Personalcomputer 10 (PC), einem integrierten
Schaltkreis 12 und einer Stereokamera 16. Alternativ
zum Personalcomputer 10 wird in einer Variante ein Notebook
oder eine Spielekonsole verwendet. Der Personalcomputer 10 umfasst
einen Prozessor 14 zur Verarbeitung von Daten, einen Speicher 20 zur
Speicherung von Daten und den integrierten Schaltkreis 12.
Der Prozessor 14 ist über
Schnittstellen gegebenenfalls unter Zwischenschaltung von weiteren
elektronischen Komponenten, wie Schnittstellenbausteinen, mit einer
Maus 22 und einer Tastatur 24 als Eingabeeinheiten
verbunden. Ferner ist der Prozessor über Schnittstellen gegebenenfalls
unter Zwischenschaltung von weiteren elektronischen Komponenten,
wie Schnittstellenbausteinen, mit einem Lautsprecher 26 und
einem Bildschirm 28 als Ausgabeeinheiten verbunden. Ein
Eingang des Prozessors 14 ist ferner mit einem Ausgang des
integrierten Schaltkreises 12 verbunden. Der integrierte
Schaltkreis wiederum ist gegebenenfalls unter Zwischenschaltung
von weiteren elektronischen Komponenten, wie Schnittstellenbausteinen,
mit einer Stereokamera 16 verbunden. Die Stereokamera 16 besteht
aus zwei Videokameras 18 die im Wesentlichen dieselbe Szene
aufnehmen. Die Videokameras 18 sind nebeneinander angeordnet
und ihre optischen Achsen sind im Wesentlichen parallel, so dass die
Videokameras 18 zwar im Wesentlichen dieselbe Szene aufnehmen,
allerdings unter einem leicht unterschiedlichen Blickwinkel. Im
bevorzugten Ausführungsbeispiel
ist die Stereokamera 16 über dem Bildschirm 28 angeordnet
und beobachtet den Bereich in dem sich der Bediener des Personalcomputers 10 befindet.
Die Stereokamera 16 erzeugt mittels der beiden Videokameras 18 Bilddaten
und überträgt diese
an den integrierten Schaltkreis 12. Der Aufbau des integrierten
Schaltkreises 12 wird nachstehend anhand 2 näher erläutert. Im
Speicher 20 der elektronischen Datenverarbeitungsanlage 1 ist
einerseits das Betriebssystem des Personalcomputers 10 abgelegt.
Andererseits dient der Speicher 20 einerseits zur Speicherung
von Programmen von Büroanwendungen,
wie Textverarbeitungsprogrammen, und andererseits zur Speicherung
von Softwareprogrammen von Videospielen. Im bevorzugten Ausführungsbeispiel
wird die elektronische Datenverarbeitungsanlage 1 sowohl
für Büroanwendungen
als auch für Videospiele
verwendet.
-
Der
integrierte Schaltkreis 12 dient zur Berechnung von Bewegungen
und Entfernungen von Objekten, die sich in dem von der Stereokamera 16 aufgenommen
Bereich befinden. Hebt beispielsweise eine Person im Erfassungsbereich
der Stereokamera 16 eine Hand, so wird die Hand über die
Bewegung entdeckt und über
eine Stereoauswertung vermessen, wobei die Auflösung die einzelne Vermessung
von Fingern ermöglicht.
Der integrierte Schaltkreis 12 erfasst alle im Sichtbereich
der Stereokamera 16 befindlichen Körperteile der Personen gleichzeitig
und interpretiert deren Bewegung, wobei der integrierte Schaltkreis 12 Ausgangsdaten,
die ein Maß für die Position
und/oder Bewegung von Körperteilen einer
Person sind und/oder die Gesten der Person repräsentieren, an seinem Ausgang
dem Prozessor 14 zur Verfügung stellt. Der integrierte
Schaltkreis 12 ist also derart konfiguriert, dass er einerseits
reine Positions- und/oder Bewegungsdaten zur Verfügung stellt und
andererseits interpretierte Daten, die eine Geste der Person codieren.
-
2 zeigt
den integrierten Schaltkreis 12, bestehend aus einer ersten
Einheit 30 und einer zweiten Einheit 32. Der integrierte
Schaltkreis 12 umfasst zwei Eingänge 34 und 36 zum
Anschluss von zwei Videokameras 18 einer Stereokamera 16 und einen
Ausgang 38. Bei dem integrierten Schaltkreis 12 handelt
es sich im bevorzugten Ausführungsbeispiel
um einen ASIC. Die Abkürzung
ASIC steht für "Application Specific
Integrated Circuit",
also für
eine anwendungsspezifisch integrierte Schaltung. Ein ASIC ist eine
elektronische Schaltung, die als integrierter Schaltkreis realisiert
ist. In einer Variante des bevorzugten Ausführungsbeispiels wird statt
dem ASIC ein FPGA verwendet. Die Abkürzung FPGA steht für "Field Programmable
Gate Array" und
bezeichnet einen frei programmierbarer Logikschaltkreis. Beiden
Varianten gemeinsam ist, dass der integrierte Schaltkreis 12 aus
zwei logischen Einheiten 30, 32 besteht. Die erste
Einheit 30 ist fest verdrahtet und nicht programmierbar.
Diese erste Einheit 30 berechnet mittels einer Bestimmung
des optischen Flusses aus den Bilddaten der Stereokamera vorverarbeitete
Bilddaten. Im bevorzugten Ausführungsbeispiel
berechnet die erste Einheit 30 zusätzlich Stereo-Disparitäten und/oder
Symmetriehäufungen.
Insgesamt berechnet die erste Einheit 30 vorverarbeitete
Bilddaten und führt
damit eine Datenreduktion durch. Die vorverarbeiteten Bilddaten
werden an die zweite Einheit 32 weitergegeben. Im Gegensatz
zur ersten Einheit 30 zeichnet sich die zweite Einheit 32 dadurch
aus, dass die zweite Einheit 32 programmierbar ist. In
der zweiten Einheit wird anwendungsspezifisch festgelegt, welche
Ausgangsdaten die zweite Einheit 32 aus den vorverarbeiteten
Bilddaten berechnet. Die Ausgangsdaten sind ein Maß für die Position
und/oder Bewegung von Körperteilen
einer Person und/oder repräsentieren
die Gesten der aufgenommen Person. Diese Ausgangsdaten werden am
Ausgang 38 des integrierten Schaltkreises 12 zur Verfügung gestellt.
-
3 zeigt
schematisiert eine von den Videokameras aufgenommene Person 40 in
linker Seitenansicht, um die Ausgangsdaten zu erläutern, die
ein Maß für die Position
und/oder Bewegung von Körperteilen
von Personen 40 sind und von dem integrierten Schaltkreis
am Ausgang bereitgestellt werden. Die Person 40 umfasst
einen Kopf 42, einen Rumpf 44, einen rechten Arm 46 mit
einer rechten Hand 48 und einen linken Arm 50 mit
einer linken Hand 52. Ferner zeigt 3 ein Koordinatensystem 54 mit
einer y- und einer
z-Achse. In 3 sind durch Kreuze einige Punkte
eingezeichnet, die Ausgangsdaten des integrierten Schaltkreises
sind und Positionen von Körperteilen 42, 44, 48, 52 der
Person 40 kennzeichnen:
- PRV =
(z) des vordersten Raumpunktes des Rumpfes 44
- PHR = (x, y, z) des vordersten Raumpunktes
der rechten Hand 48
- PHL = (x, y, z) des vordersten Raumpunktes
der linken Hand 52
- PKV = (z) des vordersten Raumpunktes
des Kopfes 42
- PKO = (y) des obersten Raumpunktes des
Kopfes
-
4 zeigt
schematisiert eine von den Videokameras aufgenommene Person 40 in
Vorderansicht, um die Ausgangsdaten zu erläutern, die ein Maß für die Position
und/oder Bewegung von Körperteilen
von Personen 40 sind und von dem integrierten Schaltkreis
am Ausgang bereitgestellt werden. Die Person 40 umfasst
einen Kopf 42, einen Rumpf 44, einen rechten Arm 46 mit
einer rechten Hand 48 und einen linken Arm 50 mit
einer linken Hand 52. Ferner zeigt 4 ein Koordinatensystem 54 mit
einer x- und einer y-Achse.
In 4 sind durch Kreuze einige Punkte eingezeichnet,
die Ausgangsdaten des integrierten Schaltkreises sind und Positionen
von Körperteilen 42, 44, 48, 52 der
Person 40 kennzeichnen:
- BHR =
(xb, yb) des vordersten
Raumpunktes der rechten Hand 48
- BHL = (xb, yb) des vordersten Raumpunktes der linken Hand 52
- ΦKS = Winkel der Symmetrieachse im Bild
- BKG = (xb, yb) als Bildpunkte der Gesichtsreferenz
- BKO = (xb, yb) des obersten Raumpunktes des Kopfes 42
- BKS = (xb, yb) des Punktes auf der Symmetrieachse am
Nächsten
zu BKO
-
Ferner
werden aus den in den 3 und 4 dargestellten
Positionen der Körperteile 42, 44, 48, 52 der
Person 40 im bevorzugten Ausführungsbeispiel weitere Ausgangsdaten
berechnet und am Ausgang des integrierten Schaltkreises zur Verfügung gestellt:
- IKR = Abstand des am weitesten rechts
liegenden Punktes des Kopfes 42 BKR zur
Symmetrieachse im Bild
- IKL = Abstand des am weitesten links
liegenden Punktes des Kopfes 42 BKL zur
Symmetrieachse im Bild
- IKO = Abstand des Punktes BKS zu
BKG
- MHL = (XHL,
YHL, ZHL – ZRV) → Maße für die relative
Position der linken Hand 52
- MHR = (XHR,
YHR, ZHR – ZRV) → Maße für die relative
Position der rechten Hand 48
- MGV = (ZKV – ZRV) → Maß für die Vorwärtsgeschwindigkeit
- MGS = (ϕKS) – Maß für die Seitwärtsgeschwindigkeit
- MGR = ( 0,5 – IKL/(IKL + IKR)) → Maß für die Körperdrehung
- MGH = (yKO(k) – yKO(k – 1)) → Maß für das Springen
- MSR = (IKO/(IKL + IKR)) → Maß für die Blickrichtung
-
Im
bevorzugten Ausführungsbeispiel
werden ferner im integrierten Schaltkreis aus den Bilddaten der
Videokameras mittels der Bestimmung des optischen Flusses weitere
Ausgangsdaten berechnet, die ein Maß für die Position und/oder Bewegung
von Körperteilen
der Person darstellen:
- – Fußposition
- – Knickwinkel
des Fußes
zum Unterschenkel
- – Knieposition
- – Knickwinkel
zwischen Unter- und Oberschenkel
- – Raumwinkel
des Oberschenkels
- – Knickwinkel
zwischen Oberschenkel und Rumpf
- – Raumwinkel
des Rumpfes
- – Winkel
und Positionen von Finger und Zehen
-
Nachfolgend
wird die Berechnung von Ausgangsdaten dargelegt, welche die Gesten
der Person repräsentieren
und damit die Gesten codieren:
Das Anheben eines Fingers einer
Hand der Person bedeutet eine Startbedingung, das Senken des Fingers
ein Stopp. Damit ist die Geste der Bewegung dieses Fingers eine
Alternative zur Maus. Eine Eingabebestätigung vergleichbar mit der
Tastatur „Enter" oder einem Klick
der rechten Maustaste wird über die
abrupte Bewegung des Fingers generiert und durch den integrierten
Schaltkreis berechnet. Unter Einbindung und Kombination der Bewegung
und Vermessung der übrigen
Körperteile
ist die Eingabevielfalt nahezu unbegrenzt.
-
Ferner
berechnet der integrierte Schaltkreis Ausgangsdaten die zur Steuerung
von virtuellen Objekten, wie Figuren, Spielen, Autos, von Videospielen geeignet
sind. Dabei wendet die programmierbare zweite Einheit des integrierten
Schaltkreises im bevorzugten Ausführungsbeispiel folgende Regeln
zur Codierung der erfassten Gesten der Person an:
- – Fortbewegung
Codierung:
Stehen der virtuellen Figur
keine Bewegung des Rumpfes der
Person → keine
Bewegung der virtuellen Figur
Codierung: Gehen der virtuellen
Figur
wechselweise Veränderung
der Position und Winkel der beiden Oberschenkel der Person → die Frequenz
bestimmt die Geschwindigkeit der virtuellen Figur
Codierung:
Laufen der virtuellen Figur
Federndes Gehen, aber mit gleichzeitigem
Auswerten der Rumpfvertikalbewegung der Person → die Frequenz bestimmt die
Geschwindigkeit der virtuellen Figur
Codierung: Springen der
virtuellen Figur
starke Vertikalbewegung bei paralleler Stellung der
Oberschenkel der Person → Stärke der
Vertikalbewegung bestimmt Stärke
des Absprungs der virtuellen Figur
- – Rotation
Codierung:
Drehung Hochachse der virtuellen Figur
Drehung des Kopfes um
die vertikale Achse der Person → Drehlage
des Kopfes entspricht Drehgeschwindigkeit des virtuellen Spielers
Drehgeschwindigkeit
des Kopfes der Person → entspricht
Drehbeschleunigung der virtuellen Figur
Gesicht in Richtung
Videokamera der Person → bedeutet
Stillstand der Drehung der virtuellen Figur (Messung des Drehwinkels
des Kopfes durch Abstand von Kopfmittelachse zur Gesichtssymmetrieachse,
Gesicht ist die Summe der Merkmale von Auge, Nase und Mund, Messung
der Drehrate des Kopfes durch horizontalen optischen Fluss im Gesicht
anzüglich
der Verschiebegeschwindigkeit der Kopfmittelachse)
Codierung:
Nicken der virtuellen Figur
Drehung des Kopfes um seine horizontale
Achse, Drehlage des Kopfes entspricht der Blickrichtung der virtuellen
Figur, (Messung des Gesichtschwerpunktes relativ zur Kopfoberkante,
Kalibrierung zu Beginn des Spiels)
Codierung: Wanken der virtuellen
Figur
Drehung des Kopfes um die Achse nach vorne der Person → Drehlage
des Kopfes entspricht dem schnellen seitlichen Ausweichen der virtuellen
Figur (Messung der Richtung der Gesichtssymmetrieachse im Bild)
- – Aktionen,
Kommunikation
Codierung: Positionierung von virtuellen Geräten
Position
der Hände
im Raum der Person zur Positionierung von virtuellen Geräten (Waffen,
Schilde, Werkzeuge, Schaltknüppel,
...) relativ zum Körper
der virtuellen Figur, auch in Kombination der beiden Hände (beispielsweise
beim virtuelles Lenkrad)
Codierung: Ausrichtung von virtuellen
Geräten
Richtung
des Daumens der Person zur Ausrichtung der virtuellen Geräte.
Position
und Raumwinkel der Füße der Person zur
Ansteuerung virtueller Fahrzeugpedale (Kupplung, Bremse, Gas)
Codierung:
Aktivierung der Geräte
Anzahl
und Bewegung der ausgestreckten Finger der Person zum Aktivieren
dieser Geräte
oder zur Kommunikation mit einem anderen Spieler.
-
Ferner
ist im bevorzugten Ausführungsbeispiel
vorgesehen, dass durch Kombination von Gestiken als Pantomime ein
Szenenwechsel und/oder eine Umschaltung von Geräten durchgeführt wird.
-
Zusammenfassend
wird durch die Erfassung der Person durch die Videokameras, die
Verarbeitung der Bilddaten durch den Integrierten Schaltkreis und
damit der Bereitstellung von Ausgangsdaten, die Gesten der Person
repräsentieren
und codieren, und die Zuordnung der erfassten Gestiken der Person
zu Verhaltenselementen der virtuellen Objekte des Videospiels ermöglicht,
dass diese virtuellen Objekte in den Bereichen Fortbewegung (Stehen,
Gehen, Laufen mit den Geschwindigkeiten, Springen mit seiner Stärke), Rotation
(Drehen mit seiner Drehgeschwindigkeit um die Hochachse, Nickachse
und Wankachse), Aktionen und Kommunikation (Aktionen mit beide Armen
unabhängig
voneinander, Aktivierung von Geräten,
Kommunikation mit Partnern) von der Person, die von der Videokamera
erfasst wird, gesteuert und kontrolliert werden.
-
In
einer Variante des bevorzugten Ausführungsbeispiels werden von
dem integrierten Schaltkreis Ausgangsdaten bereitgestellt, die Gestiken
der weit verbreiteten Gebärdensprache
kodieren. Dabei werden zur Codierung Gebärden von Händen in Verbindung mit Mimik
und Mundbild der Person durch die Videokameras erfasst und durch
den integrierten Schaltkreis ausgewertet und als Ausgangsdaten bereitgestellt.
Dies wird durch den integrierten Schaltkreis vorzugsweise im Kontext
der Körperhaltung ausgewertet.
-
In
einer Variante werden zur Verbesserung der Berechnung Hilfsmittel,
beispielsweise ein Stab und/oder eine Hantel, verwendet, die von
der Person eingesetzt werden Dies trägt insbesondere zu einer verbesserten
Feinvermessung der Handbewegungen bei, da deren Position genauer
gemessen werden kann, weil die Form- und Farbgebung der Hilfsmittel
dem integrierten Schaltkreis bekannt sind.
-
Eine
weitere Variante sieht vor, dass der integrierte Schaltkreis und
die Videokamera die Funktion der Tastatur ersetzt. Dies erfolgt
dadurch, dass die zehn Finger der Person von den Videokameras gleichzeitig
beobachtet werden. Dazu werden beide Hände der Person vor die Videokameras
gehalten. Durch das Knicken von einem Finger oder der Kombination
von mehreren Fingern wird die Tastatur durch den integrierten Schaltkreis
vollständig
emuliert.
-
Der
beschriebene integrierte Schaltkreis, die Datenverarbeitungsanlage,
das Verfahren und das Computerprogramm sind nicht auf den Bereich
Personalcomputer und Videospiele beschränkt, sondern können auch
in Industriesteuerung, als auch bei bildschirmfreien Systemen verwendet
werden. Dabei erfolgt vorzugsweise die Rückmeldung der Eingabe über andere
Medien, beispielsweise Lautsprecher. Besonders vorteilhaft ist die
Verwendung des integrierten Schaltkreises im Bereich der Fahrerassistenzsysteme
zur Erfassung von Fußgängern im
Umfeld eines Kraftfahrzeuges mit einer Videokamera. Ferner wird
alternativ oder zusätzlich
neben der Stereokamera eine einzelne Videokamera eingesetzt.