DE69812518T2 - Bildverarbeitungsvorrichtung - Google Patents
BildverarbeitungsvorrichtungInfo
- Publication number
- DE69812518T2 DE69812518T2 DE69812518T DE69812518T DE69812518T2 DE 69812518 T2 DE69812518 T2 DE 69812518T2 DE 69812518 T DE69812518 T DE 69812518T DE 69812518 T DE69812518 T DE 69812518T DE 69812518 T2 DE69812518 T2 DE 69812518T2
- Authority
- DE
- Germany
- Prior art keywords
- image data
- planar surface
- computer model
- enclosing
- image
- 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.)
- Expired - Lifetime
Links
- 238000012545 processing Methods 0.000 title claims description 36
- 238000005094 computer simulation Methods 0.000 claims description 43
- 238000000034 method Methods 0.000 claims description 25
- 230000009466 transformation Effects 0.000 claims description 12
- 238000000547 structure data Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims 1
- 230000003068 static effect Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/97—Determining parameters from multiple pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/2224—Studio circuitry; Studio devices; Studio equipment related to virtual studio applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
- Die Erfindung bezieht sich auf das Verarbeiten von bewegte Bilder darstellenden Daten, um eine Darstellung des(r) Objekts(e) in den Bildern in einem dreidimensionalen Computermodell zu erzeugen.
- Gegenwärtig hängen Daten von dem Inhalt von Bildern, die von Video oder anderen bewegten Bildern hergestellt werden, von den Ansichts- bzw. Betrachtungscharakteristiken der Kamera ab, die die Daten aufgenommen hat. Genauer wird die Position, aus der Objekte von einem Betrachter angesehen werden, von der Ansichts- bzw. Betrachtungsposition und der Ansichts- bzw. Betrachtungsrichtung der Kamera in Bezug auf die Szene bestimmt.
- Als Lösung für diese Einschränkung wurden interaktive Systeme vorgeschlagen, bei denen Videodaten verwendet werden, um ein dynamisches dreidimensionales Computermodell einer Szene zu erzeugen, aus der simulierte Ansichten bzw. Betrachtungen aus einer beliebigen gewünschten Ansichtsrichtung erzeugt werden können und einem Benutzer angezeigt werden können.
- WO-A-96/31047 offenbart ein Immersions-Video-, oder -Fernsehsystem, bei dem Bilder einer Szene in der wirklichen Welt als verbunden mit einer beliebigen einer besonderen Perspektive in der Szene, oder einem Objekt oder einem Ereignis in der Szene synthetisiert werden. Die Synthese von virtuellen Bildern basiert auf computerisierter Videoverarbeitung, die "Hypermosaicing" bzw. "Hyperzusammensetzen" von mehreren Live-Videoperspektiven in der Szene bezeichnet wird. Beim Hypermosaicing beinhaltet eine Wissensdatenbank Informationen über die Szene, und/oder interne und/oder externe Kamerakalibrierungsmodelle. Mehrere Videokameras, jede an einem verschiedenen räumlichen Ort, stellen mehrere zweidimensionale Videobilder der Szene her. Ein Betrachter/Benutzer spezifiziert ein Betrachtungskriterium. Ein Computer umfasst (i) einen Videodatenanalysierer zur Erfassung und zum Aufspüren von Szenenobjekten und ihrer Orte, (ii) einen Umgebungsmodellersteller, der mehrere Szenenbilder kombiniert, um ein dreidimensionales dynamisches Modell zu erstellen, das Szenenobjekte und ihre augenblicklichen räumlichen Orte aufzeichnet, (iii) einen Betrachtungkriteriumsinterpretierer, und (iv) einen Visualisierer zur Erzeugung von einem oder mehreren besonderen zweidimensionalen Videobild(ern) der Szene aus dem dreidimensionalen Modell gemäß dem Betrachtungskriterium.
- EP-A-0 773 516 offenbart eine virtuelle Kamerakonsole mit einer Einrichtung zum Speichern einer Datendatei, die die Position von bei einem Ereignis teilnehmenden wirklichen Objekten oder Akteuren darstellt; einer Einrichtung zum Speichern einer Datei von graphischen Informationen, die Objekte oder Akteure in einem begrenzten Raum darstellen; einer Einrichtung zum Empfang von Echtzeit-Informationen, die die Versetzungen der Objekte oder Akteure mit Identifikation der betroffenen Objekte oder Akteure darstellen; einer Einrichtung zur Verarbeitung der gespeicherten und/oder übertragenen Informationen; einer Berechnungseinrichtung, die auf der Grundlage dieser Informationen und von die Position der virtuellen Kamera definierenden Informationen, die von Steuersignalen geliefert werden, eine Bestimmung der Ansicht der Versetzungen bzw. Verschiebung der Akteure oder Objekte in dem begrenzten Raum als eine Funktion der Echtzeit oder der empfangenen Informationen zulässt und einer Einrichtung zur Darstellung dieser Ansicht der Versetzungen der Akteure oder Objekte.
- "A Virtual Studio for Live Broadcasting: The Mona Lisa Project" von Blonde et al in IEEE Multimedia, Band 3, Nr. 2, Juni 1996, Seiten 18 bis 28 offenbart ein virtuelles Studiokonzept, das reale Hintergrunddekorationen und -aufbauten bzw. -Sets durch computergenerierte synthetische Szenen ersetzt. Bildsequenzen verbinden in dem Studio aufgenommene reale Vordergrundhandlung mit computergenerierten Hintergründen.
- Erfindungsgemäß wird ein Erfahren zum Verarbeiten von Bilddaten nach Anspruch 1 zur Verfügung gestellt.
- Die Erfindung stellt außerdem eine Bildverarbeitungsvorrichtung nach Anspruch 17 zur Verfügung.
- Die Erfindung stellt außerdem ein Speichermedium, das Anweisungen speichert, nach Anspruch 29 zur Verfügung.
- Die Erfindung stellt außerdem Signalträgeranweisungen nach Anspruch 30 zur Verfügung.
- Optionale Merkmale sind in den Ansprüchen 2 bis 16 und 18 bis 28 dargelegt.
- Nun werden Ausführungsbeispiele der Erfindung unter Bezugnahme auf die beiliegende Zeichnung nur anhand von Beispielen beschrieben. Es zeigen:
- Fig. 1 schematisch die Komponenten eines Ausführungsbeispiels;
- Fig. 2 schematisch die Sammlung von Videodaten von einer dynamischen Umgebung bei einem Ausführungsbeispiel;
- Fig. 3 auf einer oberen Ebene die bei einem Ausführungsbeispiel durchgeführten Verarbeitungsoperationen, um bewegte Bilder definierende Signale zu verarbeiten, um ein dreidimensionales Computermodell zu erzeugen, und um Bilder für einen Benutzer aus einer gewünschten Ansichtsrichtung anzuzeigen;
- Fig. 4 die bei Schritt S2 in Fig. 3 durchgeführten Verarbeitungsoperationen;
- Fig. 5 die bei Schritt S6 in Fig. 3 durchgeführten Verarbeitungsoperationen;
- Fig. 6 die bei Schritt S32 in Fig. 5 durchgeführten Verarbeitungsoperationen;
- Fig. 7 die bei Schritt S40 in Fig. 5 durchgeführten Verarbeitungsoperationen; und
- Fig. 8 die bei Schritt S10 in Fig. 3 durchgeführten Verarbeitungsoperationen.
- Fig. 1 ist ein Blockschaltbild, das die allgemeine Anordnung einer Bildverarbeitungsvorrichtung bei einem Ausführungsbeispiel darstellt. Bei der Vorrichtung steht ein Computer 2 zur Verfügung, der eine zentrale Verarbeitungseinheit (CPU) 4 aufweist, die mit einem Speicher 6 verbunden ist, der betreibbar ist, um ein Programm zu speichern, das die von der CPU 4 durchzuführenden Operationen definiert, und um von der CPU 4 verarbeitete Objekt- und Bilddaten zu speichern.
- An den Speicher 6 ist ein Diskettenlaufwerk 8 angeschlossen, das betreibbar ist, um austauschbare Datenspeichermedien, wie beispielsweise eine Floppydiskette 10, anzunehmen, und um darauf gespeicherte Daten zu dem Speicher 6 zu transferieren. Von einem austauschbaren Datenspeichermedium können unter Verwendung des Diskettenlaufwerks 8 Operationsanweisungen für die zentrale Verarbeitungseinheit 4 in den Speicher 6 eingegeben werden.
- Von der CPU 4 zu verarbeitende Bilddaten können auch von einem austauschbaren Datenspeichermedium unter Verwendung des Diskettenlaufwerks 8 in den Computer 2 eingegeben werden. Alternativ, oder zusätzlich, können zu verarbeitende Bilddaten direkt von einer Videokamera 12 in den Speicher 6 eingegeben werden, die über einen digitalen Bildausgang verfügt, wie beispielsweise die Sony DCR-PC7. Vor der Eingabe in den Speicher 6 können die Bilddaten in der Kamera 12 gespeichert werden, oder können in Echtzeit, wie die Daten von der Kamera 12 erfasst werden, in den Speicher 6 transferiert werden. Bilddaten können auch von einer nicht- digitalen Videokamera anstelle einer digitalen Kamera 12 eingegeben werden. In diesem Fall wird ein (nicht abgebildeter) Digitalisierer verwendet, um von der Kamera aufgenommene Bilder zu digitalisieren und um davon digitale Bilddaten zur Eingabe in den Speicher 6 herzustellen. Zusätzlich können Bilddaten über eine (nicht abgebildete) Verbindung von einer die Daten speichernden lokalen oder entfernt angeordneten Datenbank in den Speicher 6 heruntergeladen werden.
- An einen Eingangsanschluss der CPU 4 ist eine Benutzeranweisungs-Eingabevorrichtung 14 angeschlossen, die beispielsweise eine Tastatur und/oder eine positionsempfindliche Eingabevorrichtung wie beispielsweise eine Maus, einen Nachführungsball etc. umfassen kann.
- Außerdem ist an die CPU 4 ein Bildpuffer bzw. Bildzwischenspeicher 16 angeschlossen, der eine Speichereinheit umfasst, die dahingehend ausgestaltet ist, um sich auf zumindest ein Bild beziehende Bilddaten zu speichern, die von der zentralen Verarbeitungseinheit 4 erzeugt werden, beispielsweise indem ein (oder mehrere) Speicherplatz (Speicherplätze) für ein Pixel des Bildes zur Verfügung gestellt werden. Der in dem Bildpuffer für jedes Pixel gespeicherte Wert definiert die Farbe oder Intensität dieses Pixels in dem Bild.
- An den Bildpuffer 16 ist auch eine Anzeigeeinheit 18 zur Anzeige des in dem Bildpuffer 16 gespeicherten Bildes auf eine herkömmliche Weise angeschlossen. Außerdem ist an den Bildpuffer 16 ein Videokassettenrecorder (VTR) 20 oder eine andere Bildaufzeichnungsvorrichtung wie beispielsweise ein Papierdrucker oder ein 35mm-Filmrecorder angeschlossen.
- An den Speicher 6 (typischerweise über die CPU 4) und auch an den Bildpuffer 16 ist eine Massenspeichervorrichtung wie beispielsweise ein Festplattenlaufwerk mit einer hohen Datenspeicherkapazität angeschlossen. Die Massenspeichervorrichtung 22 kann von der zentralen Verarbeitungseinheit 4 verarbeitete Daten von dem Speicher 6 oder Daten von dem Bildpuffer 16 empfangen, die auf der Anzeigeeinheit 18 anzuzeigen sind.
- Die CPU 4, der Speicher 6, der Bildpuffer 16, die Anzeigeeinheit 18 und die Massenspeichervorrichtung 22 können einen Teil eines kommerziell erhältlichen Gesamtsystems bilden, zum Beispiel eine Workstation wie beispielsweise die von Sun Microsystems erhältliche SparcStation.
- Operationsanweisungen zur Veranlassung des Computers 2 als ein Ausführungsbeispiel der Erfindung auszuführen, können kommerziell in der Form von auf der Floppydiskette 10 oder anderen Datenspeichermedien gespeicherten Programmen zugeführt werden, oder können als ein Signal an Computer 2 übertragen werden, beispielsweise über eine (nicht abgebildete) Datenverbindung, so dass der empfangende Computer 2 in eine Vorrichtung umkonfiguriert wird, die die Erfindung ausführt.
- Fig. 2 veranschaulicht schematisch das Sammeln von Bilddaten zum Verarbeiten durch die CPU 4.
- Anhand eines Beispiels zeigt Fig. 2 zwei Personen, 30, 32, die sich auf einem Fußballfeld 34 bewegen. Das Feld 34 und die Bewegungen der Personen 30, 32 darauf werden von der Videokamera 12 aufgezeichnet, die bei einer fixen Ansichtsposition angebracht ist und eine fixe Ansichtsrichtung aufweist.
- Fig. 3 zeigt die bei diesem Ausführungsbeispiel durchgeführte Bildverarbeitungsoperation.
- Bezugnehmend auf Fig. 3 wird bei Schritt S2 ein dreidimensionales Computermodell des statischen Hintergrunds (das bedeutet, sich nichtbewegende Teile) der von der Kamera 12 zu betrachtenden Szene von einem Benutzer erzeugt. Außerdem werden bei Schritt S2 Bildparameter für die Hintergrundszene gesetzt.
- Fig. 4 zeigt die bei Schritt S2 in Fig. 3 durchgeführten Verarbeitungsschritte ausführlicher.
- Bezug nehmend auf Fig. 4 wird bei Schritt S20 ein Modell des statischen Hintergrunds erstellt. Folglich wird unter Bezugnahme auf das in Fig. 2 gezeigte Beispiel ein Modell des Fußballfeld 34 erstellt. Dies wird auf eine herkömmliche Weise unter Verwendung eines kommerziell erhältlichen Pakets zur Erstellung eines Modells ausgeführt.
- Bei Schritt S22 werden eine Vielzahl von Bezugsbildern des statischen Hintergrunds unter Verwendung von Kamera 12 aufgezeichnet. Bei diesem Ausführungsbeispiel werden von Kamera 12 vier Videobilder aufgezeichnet. Es wird eine Vielzahl von Bezugsbildern aufgezeichnet, um zeitliche Änderungen bei den Beleuchtungsbedingungen des Hintergrunds, Rauschen, und unerwünschten Bewegungen innerhalb des "statischen" Hintergrunds (die beispielsweise durch sich bewegende Äste und Blätter an Bäumen etc. verursacht werden könnten) zu berücksichtigen, was nachfolgend weiter beschrieben wird.
- Bei Schritt S24 wird die Transformation zwischen dem Bildraum (d. h. ein von der Kamera 12 aufgezeichnetes Bild) und dem dreidimensionalen (3D)-Welt-Raum (d. h. der Raum, in dem bei Schritt S20 das dreidimensionale Computermodell erzeugt wurde) berechnet. Die Transformation definiert ein Abbilden zwischen der Grundebene (die Ebene, auf der sich die Objekte bewegen) im Bildraum und der Grundebene in dem 3D-Welt- Raum (3D-Computermodell). Diese Transformation wird berechnet, da die absolute Position der Kamera oder die Position der Kamera relativ zu der betrachteten Szene (d. h. das Fußballfeld 34 bei dem Beispiel von Fig. 2) nicht im Voraus bestimmt ist, und in ähnlicher Weise die Kameraabbildungsparameter (Brennweite, Größe der ladungsträgergekoppelten Schaltung bzw. Vorrichtung (charge coupled device), Zoomeinstellung, etc.) nicht im Voraus bestimmt sind. Die Transformation ermöglicht auf eine zuverlässige und effiziente Weise eine Darstellung eines in dem 3D-Computermodell zu erzeugenden Objektes auf der Grundlage der Position und der Ausmaße des Objektes im Bildraum, was nachfolgend beschrieben wird.
- Um bei Schritt S24 die Transformation zu berechnen, wird eines der bei Schritt S22 aufgezeichneten Bilder des Hintergrunds einem Benutzer auf der Anzeigevorrichtung 18 angezeigt, und der Benutzer bezeichnet nach Aufforderung durch die CPU 4 eine Vielzahl von Punkten (bei diesem Ausführungsbeispiel vier Punkte) in dem Bild, die auf einer Ebene liegen, auf der sich Objekte in der Szene bewegen werden. Folglich können unter Bezugnahme auf das in Fig. 2 gezeigte Beispiel die Eckpunkte 36, 38, 40, 42 des Fußballfelds 34 bezeichnet werden (das Feld stellt eine Oberfläche dar, auf der sich die Personen 30, 32 bewegen werden). Die bei Schritt S20 erzeugten Punkte in dem dreidimensionalen Computermodell, die den in dem Videobild identifizierten Punkten entsprechen, werden auch von dem Benutzer definiert. Beispielsweise kann dem Benutzer auf der Anzeigevorrichtung 18 eine Ansicht des dreidimensionalen Computermodells aus einer vorbestimmten Ansichtsrichtung angezeigt werden, und die entsprechenden Punkte können unter Verwendung der Eingabeeinrichtung 14 bezeichnet werden. Unter Verwendung der in dem Videobild bezeichneten Positionen der Punkte und der in dem dreidimensionalen Computermodell bezeichneten Positionen der entsprechenden Punkte berechnet die CPU 4 dann die Transformation zwischen dem Bildraum und dem 3D-Welt-Raum auf eine herkömmliche Weise, beispielsweise unter Verwendung der Gleichung:
- in der: n = 1 ... 4; Xn, Yn Punkte im Welt-Raum sind; xn, yn Punkte im Bildraum sind; und A-H erlangt werden durch:
- Dies definiert eine Transformation zwischen der Grundebene im Bildraum und der Grundebene in dem 3D-Computermodell (3D-Welt-Raum).
- Bei Schritt S26 berechnet die CPU 4 Bezugsbildpixelparameter für den statischen Hintergrund. Dies wird durch Berechnen der mittleren Graustufe u für jedes Pixel aus der Vielzahl von bei Schritt S22 aufgezeichneten Bildern durchgeführt. Das heißt, es wird die Graustufe für entsprechende Pixel in jedem der vier Bilder berücksichtigt und der arithmetische Mittelwert genommen. Außerdem wird die Standardabweichung σ des bestimmten Mittels berechnet. Dann wird ein "Fenster" für die Graustufe jedes Pixels als u ± (2σ + F) gesetzt, wobei F ein Fehlerfaktor ist, der gesetzt wird, um Variablen wie beispielsweise die Verstärkung der Videokamera 12, und Rauschen etc. zu berücksichtigen. Bei diesem Ausführungsbeispiel ist die Gesamtzahl von Grauskalastufen 256, und der Fehlerfaktor F wird auf fünf Grauskalastufen gesetzt.
- Das bei Schritt S26 für jedes Pixel gesetzte "Fenster" stellt die Streuung von Grauskalawerten dar, die die Pixel annehmen sollten, wenn sie einen Teil eines Bildes des statischen Hintergrunds bilden (die Ansichtsposition und -richtung der Videokamera 12 ist konstant, so dass sich der Grauskalawert eines einen Teil des Hintergrund bildenden Pixels nur abhängig von Beleuchtungsänderungen und Fehlern aufgrund von Rauschen ändern sollte). Wie nachfolgend beschrieben wird, werden diese "Fenster" verwendet, um sich über den Hintergrund bewegende Objekte zu identifizieren (und daher wird veranlaßt, dass sich die Pixelwerte außerhalb der definierten Fenster bewegen).
- Wieder bezugnehmend auf Fig. 3, werden bei Schritt S4 Bilder von "Handlung", dass heißt Bilder, bei denen eine Bewegung eines Objektes über den Hintergrund stattfindet (beispielsweise eine Bewegung der Fig. 30, 32 auf dem Fußballfeld 34), von der Videokamera 12 aufgezeichnet.
- Bei Schritt S6 verarbeitet die CPU 4 die Bilddaten für ein bei Schritt S4 aufgezeichnetes Bild, um Objekte in dem Bild zu identifizieren, die nicht Teil des "statischen Hintergrunds" sind, d. h. Objekte, die sich über den Hintergrund bewegen. Dann verwendet die CPU 4 diese Informationen und das bei Schritt S2 definierte dreidimensionale Computermodell, um zeitgeprägte dreidimensionale Objektdaten zu erzeugen, die ein dreidimensionales Computermodell der von der Kamera 12 aufgezeichneten Szene repräsentieren.
- Fig. 5 zeigt die von der CPU 4 bei Schritt S6 durchgeführten Verarbeitungsoperationen.
- Bezugnehmend auf Fig. 5, vergleicht die CPU 4 bei Schritt S30 die Graustufe jedes Pixels in den gerade in Verarbeitung befindlichen Bilddaten mit dem Grauskala-"Fenster", das zuvor bei Schritt S26 für die entsprechenden Pixel in dem Bild gesetzt wurde. Jeder Pixel, der eine Graustufe außerhalb des zuvor definierten Fensters für diesen Pixel aufweist, wird potentiell als ein "Vordergrund"-Pixel in Erwägung gezogen, d. h. ein Pixel, der Teil eines sich vor dem Hintergrund bewegenden Objektes ist. Bei Schritt S30 macht daher die CPU 4 eine Aufzeichnung, welche Pixel Grauskalastufen außerhalb des zugehörigen zuvor berechneten Fensters aufweisen.
- Bei Schritt S32 verarbeitet die CPU 4 die Bilddaten, um Rauschen zu beseitigen. Derartiges Rauschen kann in die Bilddaten auf zahlreiche Wege eingeschleppt worden sein: beispielsweise durch Quanteneffekte, wenn die Videokamera 12 eine ladungsträgergekoppelte Schaltungs-(CCD-)Kamera ist; durch Datenkomprimiertechniken, die zur Komprimierung der Daten von der Kamera 12 Verwendung finden; durch einen Bildgreifer, der zum Einfangen von Bildern der Videodaten zur Verarbeitung durch die CPU 4 etc. verwendet wird; oder kann Rauschen sein, das bei Bilddaten oft in der Nähe der Grenzen von sich bewegenden Objekten auftritt.
- Fig. 6 zeigt die von der CPU 4 durchgeführten Operationen bei der Verarbeitung der Bilddaten, um bei Schritt S32 in Fig. 5 Rauschen zu beseitigen.
- Bezug nehmend auf Fig. 6 wendet die CPU 4 bei Schritt S50 eine "schrumpfende" Maske auf die Bilddaten auf eine herkömmliche Art an, beispielsweise wie in "Computer and Robot Vision Volume 2" von R. M. Haralick und L. G. Shapiro, Addision-Wesley Publishing Company, 1993 ISBN 0-201-56943-4 (Band 2), Seite 583 beschrieben. Diese Operation umfasst ein Anwenden einer 3 · 3-Pixelmaske auf die Bilddaten und Zählen der Anzahl von (bei Schritt S30 identifizierten) "Vordergrund"-Pixeln und der Anzahl von "Hintergrund"- Pixeln in jedem Satz der von der Maske definierten neun Pixel. Sind die Mehrheit der Pixel innerhalb der Maske Hintergrundpixel, dann wird der Zentrumspixel als ein Hintergrundpixel definiert (auch wenn er zuvor als ein Vordergrundpixel identifiziert wurde). Es wird keine Änderung vorgenommen, wenn die Mehrheit der Pixel innerhalb der Maske Vordergrundpixel sind. Diese Operation wird wiederholt, bis die schrumpfende Maske auf die gesamten Bilddaten angewendet wurde.
- Bei Schritt S52, wendet die CPU 4 eine "wachsende" Maske auf das Bild auf eine herkömmliche Art an, beispielsweise wie in "Computer and Robot Vision Volume 2" von R. M. Haralick und L. G. Shapiro, Addision-Wesley Publishing Company, 1993 ISBN 0-201-56943-4 (Band 2), Seite 583 beschrieben. Diese Operation wird auf die selbe Weise wie Schritt S50 durchgeführt, außer dass, wenn die Mehrheit der Pixel innerhalb der Maske Vordergrundpixel sind, das Zentrumspixel dann als ein Vordergrundpixel definiert wird (auch wenn es zuvor als ein Hintergrundpixel identifiziert wurde), und es wird keine Änderung vorgenommen, wenn die Mehrheit der Pixel innerhalb der Maske Hintergrundpixel sind. Der Effekt von Schritt S52 besteht darin, dass durch die schrumpfende Maskenoperation bei Schritt S50 irrtümlich als Hintergrundpixel gesetzte Pixel in Vordergrundpixel zurückgeführt werden.
- Erneut Bezug nehmend auf Fig. 5, verarbeitet die CPU 4 bei Schritt S34 die Daten, um Anhäufungen von Vordergrundpixeln zu identifizieren. Dies wird auf eine herkömmliche Weise zur Identifizierung von Anhäufungen von Pixeln mit den selben Charakteristiken durchgeführt, indem die Bilddaten gescannt werden, um ein Vordergrundpixel zu identifizieren, und dann benachbarte Pixel auf eine iterative Weise betrachtet werden, um alle verbundenen Vordergrundpixel zu identifizieren.
- Bei Schritt S36 betrachtet die CPU 4 die nächste der bei Schritt S34 identifizierten Anhäufung von Vordergrundpixeln (dies ist die erste Anhäufung für das erste Mal, dass Schritt S36 durchgeführt wird) und bestimmt, ob die Anzahl von Pixeln in der Anhäufung größer als 30 ist.
- Ist die Anzahl von Pixeln geringer oder gleich 30, wird die Anhäufung als Repräsentation von Rauschen betrachtet, da es einen relativ kleinen Teil des gesamten Bildes (768 Pixel mal 512 Pixel bei diesem Ausführungsbeispiel) bildet. In diesem Fall wird die Anhäufung nicht weiter verarbeitet. Andererseits wird dann, wenn die Anzahl von Pixeln in der Anhäufung größer als 30 ist, die Anhäufung als Repräsentation eines sich bewegenden Objektes betrachtet und es wird eine weitere Verarbeitung durchgeführt.
- Bei Schritt S38 bestimmt die CPU 4 die Ausdehnung der Anhäufung von Pixeln. Bei diesem Ausführungsbeispiel führt die CPU 4 diese Operation durch Bestimmen des umhüllenden Rechtecks der Anhäufung innerhalb des zweidimensionalen Bildes mit Seiten parallel zu den Seiten des Bildes durch.
- Bei Schritt S40 projiziert die CPU 4 das bei Schritt S38 bestimmte umhüllende Rechteck in den Raum der dreidimensionalen Welt, in dem bei Schritt S20 das Computermodell unter Verwendung der bei Schritt S24 berechneten Transformation gebildet wurde. Dies stellt bei dem dreidimensionalen Computermodell eine einzelne Ebene her, auf die das Videobild des sich bewegenden Objektes zur Anzeige an einen Benutzer projiziert wird, was nachfolgend beschrieben wird. Bei diesem Ausführungsbeispiel ist die Ebene in dem dreidimensionalen Computermodell vertikal und hat ihre Basis auf der Oberfläche innerhalb des 3D-Modells, die durch die von dem Benutzer bei Schritt S24 ausgewählten Punkte definiert ist (da angenommen wird, dass sich Objekte mit der betrachteten Szene auf der entsprechenden Echtwelt-Oberfläche bewegen - das Fußballfeld bei dem Beispiel von Fig. 2).
- Fig. 7 zeigt die von der CPU 4 durchgeführte Operation beim Transformieren der umhüllenden Ebene bei Schritt S40 in Fig. 5.
- Bezug nehmend auf Fig. 7 projiziert die CPU 4 die beiden Ecken der umhüllenden Rechteckbasis aus dem Bildraum in den dreidimensionalen Welt-Raum, indem die Koordinaten unter Verwendung der zuvor bei Schritt S24 berechneten Transformation transformiert werden. Jede Ecke der umhüllenden Rechteckbasis wird in einen Punkt in dem dreidimensionalen Welt-Raum des Computermodells transformiert, der auf der Oberfläche liegt, die durch die zuvor bei Schritt S24 ausgewählten Punkte definiert ist.
- Bei Schritt S64 berechnet die CPU 4 die Breite des umhüllenden Rechtecks in dem dreidimensionalen Welt-Raum, indem der Abstand zwischen den bei Schritt S62 transformierten Ecken bestimmt wird.
- Bei Schritt S66 berechnet die CPU 4 die Höhe des umhüllenden Rechtecks in dem dreidimensionalen Welt-Raum unter Verwendung des Verhältnisses von Breite zu Höhe des umhüllenden Rechtecks im Bildraum und der bei Schritt S64 berechneten Breite im dreidimensionalen Welt-Raum (d. h., das Seitenverhältnis des umhüllenden Rechtecks wird im Bildraum und im dreidimensionalen Welt-Raum gleich gehalten).
- Wieder Bezug nehmend auf Fig. 5 speichert die CPU 4 bei Schritt S42 die Position und Größe des umhüllenden Rechtecks in dem dreidimensionalen Welt-Raum, die zuvor bei Schritt S40 berechnet wurden, zusammen mit aus dem umhüllenden Rechteck innerhalb des Videobildes extrahierten Strukturdaten für das umhüllende Rechteck und einer "Vordergrundmaske", d. h. eine Maske, die identifiziert, welche der Pixel innerhalb des umhüllenden Rechtecks Vordergrundpixeln entsprechen. Die extrahierten Strukturdaten stellen effektiv für das umhüllende Rechteck in dem 3D- Welt-Raum eine Strukturkarte zur Verfügung.
- Bei Schritt S44 bestimmt die CPU 4, ob bei Schritt S34 eine weitere Anhäufung von Vordergrundpixeln identifiziert ist, die bis jetzt nicht verarbeitet wurde. Die Schritte S36 bis S44 werden wiederholt, bis alle Anhäufungen von Vordergrundpixeln für das betrachtete Videobild auf die vorangehend beschriebene Weise verarbeitet wurden. Zu diesem Zeitpunkt ist ein dreidimensionales Computermodell hergestellt worden, bei dem eine einzelne Ebene (umhüllendes Rechteck) angeordnet wurde, um die Position von jedem sich bewegenden Objekt darzustellen, und es wurden Strukturbilddaten für diese sich bewegenden Objekte für nachfolgende Projektion auf die Ebenen gespeichert, in Abhängigkeit von einem von einem Benutzer ausgewählten Ansichtspunkt. Diese Daten entsprechen daher einem dreidimensionalen Computermodell eines einzelnen zweidimensionalen Bildes (Videobildes) von Kamera 12.
- Wieder Bezug nehmend auf Fig. 3 bestimmt die CPU 4 bei Schritt S8, ob ein weiteres, von der Kamera 12 bei Schritt S4 aufgezeichnetes Bild (Videobild) vorhanden ist, das bis jetzt nicht verarbeitet worden ist. Die Schritte S6 und S8 werden wiederholt, bis alle von der Kamera 12 bei Schritt S4 aufgezeichneten Bilder auf die vorangehend beschriebene Weise verarbeitet worden sind.
- Bei Schritt S10 zeigt die CPU 4 einem Benutzer Bilder auf der Anzeigevorrichtung 18 von einem beliebigen gewünschten, von dem Benutzer ausgewählten Ansichtspunkt aus an. Bei den bei diesem Schritt von der CPU 4 angezeigten Bilder handelt es sich um simulierte Videobilder, die unter Verwendung der im Voraus erzeugten dreidimensionalen Modell-Objektdaten erzeugt werden.
- Fig. 8 zeigt die von der CPU 4 beim Anzeigen der Bilder bei Schritt S10 durchgeführten Verarbeitungsoperationen.
- Bezug nehmend auf Fig. 8 wird bei Schritt S70 von dem Benutzer die Richtung, aus der das Objekt zu betrachten ist, unter Verwendung der Eingabevorrichtung 14 definiert.
- Bei Schritt S72 wird der 3D-Welt-Raum abhängig von der bei Schritt S70 ausgewählten Ansichtsrichtung in einen Ansichts-Raum transformiert. Diese Transformation identifiziert ein besonderes Ansichtsfeld, das normalerweise weniger als den gesamten Modellraum abdecken wird. Dementsprechend führt die CPU 4 bei Schritt S74 einen Schneideprozess durch, um Oberflächen, oder Teile davon, zu entfernen, die außerhalb des Ansichtsfeldes liegen.
- Bis zu diesem Zeitpunkt definieren die von der CPU 4 verarbeiteten Objektdaten dreidimensionale Koordinatenorte. Bei Schritt S76 werden die Eckpunkte der dreieckigen Oberflächen, die das dreidimensionale Computermodell herstellen, so projiziert, dass ein zweidimensionales Bild definiert ist.
- Nach Projektion des Bildes in zwei Dimensionen, ist es erforderlich die dreieckigen Oberflächen zu identifizieren, die "vorderseitig", d. h. dem Betrachter zugewandt sind, und diejenigen, die "rückseitig" sind, d. h. von dem Betrachter nicht gesehen werden können. Daher werden bei Schritt S78 rückseitige Oberflächen identifiziert und herausgesucht bzw. entfernt. Folglich sind nach Schritt S78 Eckpunkte in zwei Dimensionen definiert, die die dreieckigen Oberflächen von sichtbaren Polygonen identifizieren.
- Bei Schritt S80 werden die die Oberflächen definierenden zweidimensionalen Daten von der CPU 4 abtast-umgewandelt, um Pixelwerte herzustellen. Bei diesem Schritt werden, ebenso wie die den Hintergrund in dem Bild repräsentierenden Oberflächen wiedergegeben werden, auch die zuvor bei Schritt S40 bestimmten umhüllenden Rechtecke mit den bei Schritt S42 gespeicherten, dazugehörigen Videostrukturdaten wiedergegeben. Es werden nur Vordergrundpixel innerhalb des umhüllenden Rechtecks mit den gespeicherten Videostrukturdaten wiedergegeben, wobei diese Pixel durch die gespeicherte "Vordergrundmaske" definiert sind. Die anderen Pixel werden mit Hintergrundstrukturdaten wiedergegeben. Die bei Schritt S82 hergestellten, wiedergegebenen Daten repräsentieren ein simuliertes Videobild, bei dem der Hintergrund von dem bei Schritt S20 erzeugten Computermodell hergestellt ist, und jedes sich bewegende Objekt als eine vertikale Ebene repräsentiert ist, die sich von einer horizontalen Oberfläche des Hintergrunds erstreckt (das Fußballfeld 34 bei dem Beispiel von Fig. 2), auf die die von dem Videobild extrahierten Bilddaten des sich bewegenden Objektes projiziert sind.
- Bei Schritt S82 werden die bei Schritt S80 erzeugten Pixelwerte auf einer Oberfläche-für-Oberflächen-Basis in den Bildpuffer geschrieben, wodurch Daten für ein vollständiges zweidimensionales Bild erzeugt werden.
- Bei Schritt S84 erzeugt die CPU 4 ein die Pixelwerte definierendes Signal. Das Signal wird verwendet, um ein Bild des Objektes auf der Anzeigeeinheit 18 zu erzeugen und/oder wird beispielsweise auf einer Videokassette bzw. einem Videoband in einem Videokassettenrecorder 20 aufgezeichnet.
- (Von diesem Videoband können weitere Aufzeichnungen der erzeugten Bilder erstellt werden.) Das Signal kann auch an einen entfernt angeordneten Empfänger zur Anzeige oder zum Aufzeichnen übertragen werden.
- Bei Schritt S86 bestimmt die CPU 4, ob ein zuvor bei Schritt S6 erzeugtes, weiteres zeitgeprägtes "Bild" von dreidimensionalen Objektdaten vorhanden ist, das dem Benutzer bis jetzt noch nicht angezeigt worden ist. Die Schritte S70 bis S86 werden wiederholt, bis alle derartigen Bilder von Objektdaten auf die vorangehend beschriebene Weise angezeigt worden sind, wodurch dem Benutzer eine Sequenz von simulierten bewegten Bildern aus der gewünschten Ansichtsrichtung angezeigt wird. Natürlich kann der Benutzer die Ansichtsrichtung jederzeit während der Anzeige ändern.
- Für das vorangehend beschriebene Ausführungsbeispiel sind verschiedenste Modifikationen möglich.
- Wieder Bezug nehmend auf Fig. 3, wird bei dem vorangehenden Ausführungsbeispiel Schritt S6 (bei dem Bilddaten verarbeitet werden, um sich bewegende Objekte zu identifizieren, und um daraus Objektdaten zu erzeugen) durchgeführt, nachdem bei Schritt S4 alle Bilder aufgezeichnet worden sind. In ähnlicher Weise wird Schritt S10 (bei dem Bilder angezeigt werden) durchgeführt, nachdem die Schritte S6 und S8 vollendet worden sind. Jedoch können die Schritte S4, S6 und S10 so durchgeführt werden, dass eine Echtzeit-Anzeige von Bildern an einen Benutzer aus einer gewünschten Ansichtsrichtung ermöglicht wird. D. h., Schritt S6 und Schritt S10 könnten für ein Bild von Videodaten durchgeführt werden, während das nächste Bild von Daten von der Videokamera 12 aufgezeichnet wird. Diese Echtzeit-Operation ist möglich, da die Verarbeitungserfordernisse der Schritte S6 und S10 auf der CPU 4 nicht besonders aufwendig bzw. belastend sind, und innerhalb von 1/30-tel einer Sekunde ausgeführt werden könnten, was die Zeit zwischen dem Aufzeichnen von Videobildern ist.
- Bei dem vorangehenden Ausführungsbeispiel werden sich bewegende Objekte auf der Grundlage von Grausskalawerten identifiziert. Jedoch ist es zusätzlich dazu oder an Stelle davon möglich, Fenster für Farben und/Infrarotwerte zu setzen und Vordergrundobjekte unter Verwendung dieser Bildcharakteristiken zu identifizieren.
- Bei dem vorangehenden Ausführungsbeispiel wird eine einzelne Videokamera 12 verwendet, um die von der CPU 4 zu verarbeitenden Bilder aufzuzeichnen. In ähnlicher Weise wird ein einzelnes umhüllendes Rechteck in dem 3D-Welt-Raum berechnet, auf dem Videobilddaten wiedergegeben werden. Dieses System leidet unter dem Problem, dass wenn der Benutzer eine Ansichtsrichtung auswählt, die in der Ebene eines umhüllenden Rechtecks liegt, dann wird das von dieser umhüllenden Ebene definierte, sich bewegende Objekt dem Benutzer nicht angezeigt (da es "hochkant" zu dem Benutzer ist). Dieses Problem kann angegangen werden, indem bei Schritt S4 eine Vielzahl von Kameras zur simultanen Aufzeichnung von Bildern von "Handlung" Verwendung findet, und indem jedes Objekt durch eine Vielzahl von Ebenen repräsentiert wird, die alle den Boden berühren (beispielsweise vertikale Ebenen), die verbunden sind, um eine geschlossene Oberfläche zu bilden. Die auf eine der Ebenen wiederzugebenden Videobilddaten zur Anzeige an einen Benutzer könnten dann ausgewählt werden, indem bestimmt wird, welche Videokamera eine Ansichtsrichtung aufweist, die zu der Normalen der anzuzeigenden umhüllenden Ebene am nächsten liegt (wobei die Videodaten von dieser Kamera dann als Strukturdaten für das umhüllende Rechteck Verwendung finden).
- Bei dem vorangehenden Ausführungsbeispiel werden die Bilddaten von einer einzelnen Videokamera 12 aufgezeichnet, so dass nur Daten für Oberflächen eines bewegten Objektes aufgezeichnet werden, das der Kamera zugewandt ist. Dementsprechend werden dann, wenn der Benutzer bei Schritt S70 (Fig. 8) eine Ansichtsrichtung wählt, die sich in Richtung auf die Kamera 12 befindet, die von der Kamera 12 gesehenen Videobilddaten auf dem umhüllenden Rechteck wiedergegeben und dem Benutzer angezeigt, auch wenn der Benutzer tatsächlich mit einem Bild der entgegengesetzten Oberfläche des Objektes angezeigt wird. Dieses Problem kann überwunden werden, indem eine erste und eine zweite Kamera Verwendung finden, die entgegengesetzten Richtungen zugewandt sind und indem die Videodaten zur Wiedergabe auf dem umhüllenden Rechteck durch Bestimmen ausgewählt werden, welche Videokamera eine Ansichtsrichtung aufweist, die der von dem Benutzer ausgewählten Ansichtsrichtung am nächsten liegt (wobei die Videodaten von dieser Kamera dann auf dem umhüllenden Rechteck wiedergegeben werden).
Claims (30)
1. Verfahren zum Verarbeiten von Bilddaten, die eine
Abfolge von Bildern eines sich in einer Szene bewegenden
Objektes definieren, um Signale herzustellen, die eine
Repräsentation des Objektes bei einer Vielzahl von
Positionen in einem dreidimensionalen Computermodell
definieren, die Positionen des Objektes in der Szene
entsprechen, gekennzeichnet durch:
Verarbeiten der Bilddaten für eine Vielzahl der
Bilder, um für jedes Bild ein jeweiliges Polygon zu
definieren, das das Objekt in dem Bild umhüllt (S34, S36, S38);
Definieren von zumindest einer ebenen Oberfläche
innerhalb des dreidimensionalen Computermodells, um jede
jeweilige Position des Objektes zu repräsentieren, wobei
jede ebene Oberfläche mit ihrer Basis auf einer
vorbestimmten Oberfläche in dem dreidimensionalen
Computermodell und mit einer Position und einer Größe in
Abhängigkeit von einem jeweiligen Polygon der das Objekt in den
Bilddaten umhüllenden Polygone und der Position des
jeweiligen Polygons innerhalb der Bilddaten (S40) definiert
ist; und
Erzeugen von Strukturdaten für die ebenen
Oberflächen, um die Merkmale des Objektes in Abhängigkeit von
Bilddaten von den entsprechenden umhüllenden Polygonen zu
repräsentieren (S42).
2. Verfahren nach Anspruch 1, wobei jede ebene Oberfläche
derart definiert ist, dass die Breite der ebenen
Oberfläche durch die Breite des entsprechenden
umhüllenden Polygons in den Bilddaten festgelegt ist, und die
Höhe der ebenen Oberfläche unter Verwendung des
Seitenverhältnisses des entsprechenden umhüllenden Polygons in den
Bilddaten berechnet wird.
3. Verfahren nach einem der vorangehenden Ansprüche,
wobei jede ebene Oberfläche so definiert ist, dass sie
innerhalb einer Ebene liegt, die senkrecht zu der
vorbestimmten Oberfläche in dem dreidimensionalen
Computermodell liegt.
4. Verfahren nach einem der vorangehenden Ansprüche,
wobei jedes umhüllenden Polygons als ein Rechteck
definiert ist.
5. Verfahren nach Anspruch 4, wobei jedes umhüllende
Polygon mit zu den Seiten des Bildes parallelen Seiten
definiert ist.
6. Verfahren nach einem der vorangehenden Ansprüche,
wobei eine einzelne ebene Oberfläche so definiert ist,
dass jede Position des Objektes in dem dreidimensionalen
Computermodell repräsentiert ist.
7. Verfahren nach einem der Ansprüche 1 bis 5, wobei
eine Vielzahl von verbundenen ebenen Oberflächen so
definiert ist, dass jede Position des Objektes in dem
dreidimensionalen Computermodell repräsentiert ist.
8. Verfahren nach einem der vorangehenden Ansprüche,
wobei:
die Bilddaten verarbeitet werden, um eine jeweilige
Maske für jedes umhüllende Polygon zu extrahieren, die
die Position des Objektes innerhalb des umhüllenden
Polygons definiert; und
die Strukturdaten für jede ebene Oberfläche in
Abhängigkeit von den Bilddaten innerhalb der entsprechenden
Maske erzeugt werden.
9. Verfahren nach einem der vorangehenden Ansprüche,
zudem mit dem Schritt des Bildens des dreidimensionalen
Computermodells.
10. Verfahren nach einem der vorangehenden Ansprüche,
wobei jede ebene Oberfläche in dem dreidimensionalen
Computermodell durch Abbilden von Punkten auf einem dem
umhüllenden Polygon von den Bilddaten auf die vorbestimmte
Oberfläche in dem dreidimensionalen Computermodell
definiert ist.
11. Verfahren nach Anspruch 10, zudem mit dem Schritt
des Verarbeitens der Bilddaten und von das
dreidimensionale Computermodell definierenden Daten, um darin eine
Vielzahl von entsprechenden Punkten zu identifizieren,
und um eine Transformation zwischen den Bilddaten und der
vorbestimmten Oberfläche unter Verwendung der definierten
Punkte zur nachfolgenden Verwendung beim Abbilden von
Punkten von umhüllenden Polygonen auf die vorbestimmte
Oberfläche zu definieren.
12. Verfahren nach einem der vorangehenden Ansprüche,
zudem mit dem Schritt des Erzeugens von Bilddaten, indem
ein Bild des dreidimensionalen Computermodells von einer
gewählten Ansichtsrichtung wiedergegeben wird, bei der
die Strukturdaten auf einer der ebenen Oberfläche
wiedergegeben werden.
13. Verfahren nach Anspruch 12, zudem mit dem Schritt
des Erzeugens eines Signals, das die Bilddaten
übermittelt.
14. Verfahren nach Anspruch 13, zudem mit dem Schritt
des Aufzeichnens des Signals.
15. Verfahren nach einem der Ansprüche 12 bis 14, zudem
mit dem Schritt des Anzeigens eines Bildes des Objektes
unter Verwendung der erzeugten Bilddaten.
16. Verfahren nach einem der Ansprüche 12 bis 15, zudem
mit dem Schritt des Herstellens einer Aufzeichnung der
Bilddaten entweder direkt oder indirekt.
17. Bildverarbeitungsvorrichtung (2) zur Verarbeitung
von Bilddaten, die eine Abfolge von Bildern eines sich in
einer Szene bewegenden Objektes definieren, um Signale
herzustellen, die eine Repräsentation des Objektes bei
einer Vielzahl von Positionen in einem dreidimensionalen
Computermodell definieren, die Positionen des Objektes in
der Szene entsprechen, gekennzeichnet durch:
eine Erzeugungseinrichtung für umhüllende Polygone
zur Verarbeitung der Bilddaten für eine Vielzahl der
Bilder, um für jedes Bild ein jeweiliges Polygon zu
definieren, das das Objekt in dem Bild umhüllt;
eine Erzeugungseinrichtung für eine ebene Oberfläche
zur Definition von zumindest einer ebenen Oberfläche
innerhalb des dreidimensionalen Computermodells, um jede
jeweilige Position des Objektes zu repräsentieren, wobei
die Erzeugungseinrichtung für eine ebene Oberfläche
dahingehend ausgestaltet ist, um jede ebene Oberfläche mit
ihrer Basis auf einer vorbestimmten Oberfläche in dem
dreidimensionalen Computermodell und mit einer Position
und einer Größe in Abhängigkeit von einem jeweiligen
Polygon der das Objekt in den Bilddaten umhüllenden Polygone
und der Position des jeweiligen Polygons innerhalb der
Bilddaten zu definieren; und
eine Erzeugungseinrichtung für Strukturdaten zur
Erzeugung von Strukturdaten für die ebenen Oberflächen, um
die Merkmale des Objektes in Abhängigkeit von Bilddaten
von den entsprechenden umhüllenden Polygonen zu
repräsentieren.
18. Vorrichtung nach Anspruch 17, wobei die
Erzeugungseinrichtung für eine ebene Oberfläche dahingehend
ausgestaltet ist, um jede ebene Oberfläche derart zu
definieren, dass die Breite der ebenen Oberfläche durch die
Breite des entsprechenden umhüllenden Polygons in den
Bilddaten definiert wird, und die Höhe der ebenen
Oberfläche unter Verwendung des Seitenverhältnisses des
entsprechenden umhüllenden Polygons in den Bilddaten
festgelegt wird.
19. Vorrichtung nach Ansprüch 17 oder Anspruch 18, wobei
die Erzeugungseinrichtung für eine ebene Oberfläche
dahingehend ausgestaltet ist, um jede ebene Oberfläche so
zu definieren, dass sie innerhalb einer Ebene liegt, die
senkrecht zu der vorbestimmten Oberfläche in dem
dreidimensionalen Computermodell ist.
20. Vorrichtung nach einem der Ansprüche 17 bis 19,
wobei die Erzeugungseinrichtung für ein umhüllendes Polygon
dahingehend ausgestaltet ist, um jedes umhüllende Polygon
als ein Rechteck zu definieren.
21. Vorrichtung nach Anspruch 20, wobei die
Erzeugungseinrichtung für ein umhüllendes Polygon dahingehend
ausgestaltet ist, um jedes umhüllende Polygon derart zu
definieren, dass dessen Seiten parallel zu den Seiten des
Bildes sind.
22. Vorrichtung nach einem der Ansprüche 17 bis 21,
wobei die Erzeugungseinrichtung für eine ebene Oberfläche
dahingehend ausgestaltet ist, um eine einzelne ebene
Oberfläche so zu definieren, dass jede Position des
Objektes in dem dreidimensionalen Computermodell
repräsentiert ist.
23. Vorrichtung nach einem der Ansprüche 17 bis 21,
wobei die Erzeugungseinrichtung für eine ebene Oberfläche
dahingehend ausgestaltet ist, um eine Vielzahl von
verbundenen ebenen Oberflächen so zu definieren, dass jede
Position des Objektes in dem dreidimensionalen
Computermodell repräsentiert ist.
24. Vorrichtung nach einem der Ansprüche 17 bis 23,
zudem mit einer Einrichtung zur Verarbeitung der Bilddaten,
um eine jeweilige Maske für jedes umhüllende Polygon zu
extrahieren, die die Position des Objektes innerhalb des
umhüllenden Polygons definiert, und wobei die
Erzeugungseinrichtung für Strukturdaten dahingehend ausgestaltet
ist, um die Strukturdaten für jede ebene Oberfläche in
Abhängigkeit von den Bilddaten innerhalb der
entsprechenden Maske zu erzeugen.
25. Vorrichtung nach einem der Ansprüche 17 bis 24,
zudem mit einer Einrichtung zur Bildung des
dreidimensionalen Computermodells.
26. Vorrichtung nach einem der Ansprüche 17 bis 25,
wobei die Erzeugungseinrichtung für eine ebene Oberfläche
dahingehend ausgestaltet ist, um jede ebene Oberfläche in
dem dreidimensionalen Computermodell durch Abbildung von
Punkten auf einem dem umhüllenden Polygon von den
Bilddaten auf der vorbestimmten Oberfläche in dem dreidimensionalen
Computermodell zu definieren.
27. Vorrichtung nach Anspruch 26, zudem mit einer
Einrichtung zur Verarbeitung der Bilddaten und von das
dreidimensionale Computermodell definierenden Daten, um darin
eine Vielzahl von entsprechenden Punkten zu
identifizieren, und um eine Transformation zwischen den Bilddaten
und der vorbestimmten Oberfläche unter Verwendung der
definierten Punkte zur nachfolgenden Verwendung durch die
Erzeugungseinrichtung für eine ebene Oberfläche bei
Abbildung von Punkten von umhüllenden Polygonen auf die
vorbestimmte Oberfläche zu definieren.
28. Vorrichtung nach einem der Ansprüche 17 bis 27,
zudem mit einer Einrichtung zum Wiedergeben der
Strukturdaten auf der ebenen Oberfläche, um Bilddaten für ein Bild
des dreidimensionalen Computermodells von einer
Ansichtsrichtung zu erzeugen.
29. Speichermedium, das Anweisungen zur Programmierung
einer programmierbaren Verarbeitungsvorrichtung
speichert, damit es betreibbar wird, um ein Verfahren gemäß
zumindest einem der Ansprüche 1 bis 16 durchzuführen.
30. Signal, das Anweisungen zur Programmierung einer
programmierbaren Verarbeitungsvorrichtung trägt, damit es
betreibbar wird, um ein Verfahren gemäß zumindest einem
der Ansprüche 1 bis 16 durchzuführen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB9719694.3A GB9719694D0 (en) | 1997-09-16 | 1997-09-16 | Image processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69812518D1 DE69812518D1 (de) | 2003-04-30 |
DE69812518T2 true DE69812518T2 (de) | 2003-12-11 |
Family
ID=10819160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69812518T Expired - Lifetime DE69812518T2 (de) | 1997-09-16 | 1998-09-15 | Bildverarbeitungsvorrichtung |
Country Status (5)
Country | Link |
---|---|
US (1) | US6421459B1 (de) |
EP (1) | EP0903695B1 (de) |
JP (1) | JP4217305B2 (de) |
DE (1) | DE69812518T2 (de) |
GB (1) | GB9719694D0 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007056835A1 (de) | 2007-11-26 | 2009-05-28 | Robert Bosch Gmbh | Bildverarbeitunsmodul zur Schätzung einer Objektposition eines Überwachungsobjekts, Verfahren zur Bestimmung einer Objektposition eines Überwachungsobjekts sowie Computerprogramm |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8009206B2 (en) | 2001-01-11 | 2011-08-30 | Melexis Tessenderlo Nv | Adaptive sensitivity control, on a pixel-by-pixel basis, for a digital imager |
US6747647B2 (en) * | 2001-05-02 | 2004-06-08 | Enroute, Inc. | System and method for displaying immersive video |
GB2382033A (en) * | 2001-07-16 | 2003-05-21 | Samantha Bhalla | A sports analysis system intended for use in a betting game |
US20030046177A1 (en) * | 2001-09-05 | 2003-03-06 | Graham Winchester | 3-dimensional imaging service |
GB2383915B (en) * | 2001-11-23 | 2005-09-28 | Canon Kk | Method and apparatus for generating models of individuals |
US7190809B2 (en) | 2002-06-28 | 2007-03-13 | Koninklijke Philips Electronics N.V. | Enhanced background model employing object classification for improved background-foreground segmentation |
US7173666B1 (en) | 2002-08-22 | 2007-02-06 | Smal Camera Technologies | System and method for displaying a non-standard aspect ratio image on a standard aspect ratio monitor |
US20040189828A1 (en) * | 2003-03-25 | 2004-09-30 | Dewees Bradley A. | Method and apparatus for enhancing a paintball video |
US7884848B2 (en) * | 2005-05-25 | 2011-02-08 | Ginther Mark E | Viewing environment and recording system |
TW200822751A (en) * | 2006-07-14 | 2008-05-16 | Objectvideo Inc | Video analytics for retail business process monitoring |
US8131077B2 (en) * | 2007-04-03 | 2012-03-06 | Flashfoto, Inc. | Systems and methods for segmenting an image based on perceptual information |
GB2452508A (en) * | 2007-09-05 | 2009-03-11 | Sony Corp | Generating a three-dimensional representation of a sports game |
US9311567B2 (en) | 2010-05-10 | 2016-04-12 | Kuang-chih Lee | Manifold learning and matting |
US9269126B2 (en) * | 2013-07-24 | 2016-02-23 | Georgetown University | System and method for enhancing the legibility of images |
US9525802B2 (en) | 2013-07-24 | 2016-12-20 | Georgetown University | Enhancing the legibility of images using monochromatic light sources |
US11074827B2 (en) * | 2017-08-25 | 2021-07-27 | Aurora Flight Sciences Corporation | Virtual reality system for aerial vehicle |
CN108597010A (zh) * | 2018-04-19 | 2018-09-28 | 北京知道创宇信息技术有限公司 | 三维巡航渲染方法及装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0437313A (ja) | 1989-12-06 | 1992-02-07 | Texas Instr Inc <Ti> | 論理状態検出センス回路装置及び検出方法 |
US5341467A (en) * | 1991-12-30 | 1994-08-23 | Xerox Corporation | Method and apparatus for generating and displaying freeform strokes of varying or constant width using adaptive forward differencing |
ATE203844T1 (de) * | 1992-03-20 | 2001-08-15 | Commw Scient Ind Res Org | Gegenstands-überwachungsystem |
US5363297A (en) | 1992-06-05 | 1994-11-08 | Larson Noble G | Automated camera-based tracking system for sports contests |
WO1995007590A1 (fr) | 1993-09-06 | 1995-03-16 | Kabushiki Kaisha Oh-Yoh Keisoku Kenkyusho | Processeur d'images variant dans le temps et dispositif d'affichage |
FR2710434B1 (fr) | 1993-09-20 | 1995-11-10 | Daver Gil | Dispositif d'acquisition en temps réel de données relatives à des personnes en mouvement. |
CA2179809A1 (en) * | 1994-01-10 | 1996-08-20 | Richard C. Fuisz | Viewing imaged objects from selected points of view |
US5511153A (en) | 1994-01-18 | 1996-04-23 | Massachusetts Institute Of Technology | Method and apparatus for three-dimensional, textured models from plural video images |
JP3638637B2 (ja) * | 1994-06-17 | 2005-04-13 | 株式会社ナムコ | ポリゴンデータ変換装置及び3次元シミュレータ装置 |
US5563988A (en) | 1994-08-01 | 1996-10-08 | Massachusetts Institute Of Technology | Method and system for facilitating wireless, full-body, real-time user interaction with a digitally represented visual environment |
US5714997A (en) | 1995-01-06 | 1998-02-03 | Anderson; David P. | Virtual reality television system |
US5850352A (en) * | 1995-03-31 | 1998-12-15 | The Regents Of The University Of California | Immersive video, including video hypermosaicing to generate from multiple video views of a scene a three-dimensional video mosaic from which diverse virtual video scene images are synthesized, including panoramic, scene interactive and stereoscopic images |
US5671086A (en) * | 1995-04-18 | 1997-09-23 | The Regents, University Of California | Method and apparatus for accurately manipulating an object during microelectrophoresis |
FR2741225A1 (fr) * | 1995-11-13 | 1997-05-16 | Production Multimedia Apm Atel | Console de camera virtuelle |
US6268862B1 (en) * | 1996-03-08 | 2001-07-31 | Canon Kabushiki Kaisha | Three dimensional virtual space generation by fusing images |
US6124862A (en) | 1997-06-13 | 2000-09-26 | Anivision, Inc. | Method and apparatus for generating virtual views of sporting events |
-
1997
- 1997-09-16 GB GBGB9719694.3A patent/GB9719694D0/en not_active Ceased
-
1998
- 1998-09-15 EP EP98307474A patent/EP0903695B1/de not_active Expired - Lifetime
- 1998-09-15 DE DE69812518T patent/DE69812518T2/de not_active Expired - Lifetime
- 1998-09-15 US US09/153,041 patent/US6421459B1/en not_active Expired - Lifetime
- 1998-09-16 JP JP26204298A patent/JP4217305B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007056835A1 (de) | 2007-11-26 | 2009-05-28 | Robert Bosch Gmbh | Bildverarbeitunsmodul zur Schätzung einer Objektposition eines Überwachungsobjekts, Verfahren zur Bestimmung einer Objektposition eines Überwachungsobjekts sowie Computerprogramm |
Also Published As
Publication number | Publication date |
---|---|
EP0903695B1 (de) | 2003-03-26 |
EP0903695A1 (de) | 1999-03-24 |
DE69812518D1 (de) | 2003-04-30 |
GB9719694D0 (en) | 1997-11-19 |
JP4217305B2 (ja) | 2009-01-28 |
JPH11149575A (ja) | 1999-06-02 |
US6421459B1 (en) | 2002-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69812518T2 (de) | Bildverarbeitungsvorrichtung | |
DE69915901T2 (de) | Bildverarbeitungsgerät | |
CN110363858B (zh) | 一种三维人脸重建方法及系统 | |
DE69932619T2 (de) | Verfahren und system zum aufnehmen und repräsentieren von dreidimensionaler geometrie, farbe und schatten von animierten objekten | |
DE69635347T2 (de) | Verfahren und system zum wiedergeben und kombinieren von bildern | |
DE69427210T2 (de) | Verfahren und Gerät zur Erzeugung von dreidimensionaler Animation | |
DE69333846T2 (de) | Verfahren zur mischung von bildern und vorrichtung hierzu. | |
DE60310226T2 (de) | Verfahren zur linearen raumabtastung und vorrichtung zur erzeugung eines numerischen 3d modells | |
DE69032971T2 (de) | Stellungssteuerungsgerät eines visuellen Punktes | |
DE69722378T2 (de) | Verfahren und vorrichtung zur bearbeitung eines dreidimensionalen bildes mit hilfe der parallaxgeometrie von punktpaaren | |
DE69107267T2 (de) | Verfahren und vorrichtung zur modifizierung einer zone sukzessiver bilder. | |
DE60205662T2 (de) | Vorrichtung und Verfahren zur Berechnung einer Position einer Anzeige | |
DE102007045834B4 (de) | Verfahren und Vorrichtung zum Darstellen eines virtuellen Objekts in einer realen Umgebung | |
DE3686233T2 (de) | Videosignalverarbeitung. | |
DE10296401B4 (de) | Verbund-Rendering von 3-D-Graphikobjekten | |
DE69831961T2 (de) | Bildobjekterzeugungsverfahren für objektbasierte kodierungssysteme unter verwendung von masken und gerundeten mittelwerten | |
DE69737780T2 (de) | Verfahren und Vorrichtung zur Bildverarbeitung | |
DE102014014944A1 (de) | Füllen eines Zielbereichs unter Verwendung von Transformationen | |
DE102004049676A1 (de) | Verfahren zur rechnergestützten Bewegungsschätzung in einer Vielzahl von zeitlich aufeinander folgenden digitalen Bildern, Anordnung zur rechnergestützten Bewegungsschätzung, Computerprogramm-Element und computerlesbares Speichermedium | |
DE112013003214T5 (de) | Verfahren zum Registrieren von Daten | |
DE112011103452T5 (de) | Verfahren zum Angleichen von Pixeln einer Entfernungsdarstellung | |
DE602004012341T2 (de) | Verfahren und System zur Bereitstellung einer Volumendarstellung eines dreidimensionalen Objektes | |
DE69732089T2 (de) | Vorrichtung und verfahren zur zeitlichen und räumlichen integration und verwaltung einer vielzahl von videos sowie speichermedium zur speicherung eines programms dafür | |
DE102007021518B4 (de) | Verfahren zum Verarbeiten eines Videodatensatzes | |
DE112018006130T5 (de) | Codierungsvorrichtung, codierungsverfahren, decodierungsvorrichtung und decodierungsverfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |