DE69715367T2 - Navigation in einer virtuellen umgebung - Google Patents

Navigation in einer virtuellen umgebung

Info

Publication number
DE69715367T2
DE69715367T2 DE69715367T DE69715367T DE69715367T2 DE 69715367 T2 DE69715367 T2 DE 69715367T2 DE 69715367 T DE69715367 T DE 69715367T DE 69715367 T DE69715367 T DE 69715367T DE 69715367 T2 DE69715367 T2 DE 69715367T2
Authority
DE
Germany
Prior art keywords
cluster
viewpoint
virtual environment
characters
location
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 - Fee Related
Application number
DE69715367T
Other languages
English (en)
Other versions
DE69715367D1 (de
Inventor
David Gallery
Robert Heron
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE69715367D1 publication Critical patent/DE69715367D1/de
Application granted granted Critical
Publication of DE69715367T2 publication Critical patent/DE69715367T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6684Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dynamically adapting its position to keep a game object in its viewing frustrum, e.g. for tracking a character or a ball
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S345/00Computer graphics processing and selective visual display systems
    • Y10S345/949Animation processing method
    • Y10S345/952Simulation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S345/00Computer graphics processing and selective visual display systems
    • Y10S345/949Animation processing method
    • Y10S345/956Language driven animation
    • Y10S345/957Actor

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein interaktive Unterhaltungssysteme, wie "Eintauchspiele" oder "virtual reality"-Systeme, die dem Benutzer oder den Benutzern ein Bild einer virtuellen Welt bieten, wobei computererzeugte Figuren erscheinen und miteinander sowie mit der virtuellen Anwesenheit des Benutzers zusammenwirken. Insbesondere bezieht sich die vorliegende Erfindung auf Systeme, bei denen einige oder alle Figuren durch betreffende Software-Mittel unabhängig gesteuert werden.
  • Ein altes Beispiel einer mittelbasierten Methodologie zur Wesensteuerung ist das Pengi-Programm, wobei eine Aktionsannäherung angewandt wird zum Spielen des Pengo-Arcade-Spiels, und ist beschrieben worden in "Pengi: An Implementation of a Theory of Activity" von Philip E. Agre und David Chapman von "MIT Artificial Intelligence Laboratory" veröffentlicht von Morgan Kaufmann in "Proceedings of the 6th National Conference on Al", Seiten 268-272, 1987. Das Pengi Programm ist strukturiert zum Annähern des Spiels wie ein menschlicher Spieler dies machen würde, reagierend auf Situationen wie sie auftreten. Diese Annäherung wurde weiterhin entwickelt zum Schaffen situierter Mittel, wie diese beispielsweise beschrieben worden sind in: "Situated Agents Have Goals", von Pattie Maes, aus "Designing Autonomous Agents", veröffentlicht von P. Maes, Seiten 49-70, Bradford- MIT Press, 1990. Die Verwendung situierter Mittel schafft im Endeffekt operationelle Möglichkeiten innerhalb einer Figur, die im Endeffekt "frei gesetzt" werden können um in der virtuellen Umgebung des Spiels umherzugehen, dabei zusammenwirkend mit anderen mittelgesteuerten Figuren, dabei im Allgemeinen nach einer Lösung eines Satzes von Spielzielen suchend. Dies kann weiter als mittelbasiertes Drama entwickelt werden, wobei der Benutzer höchstens nur einen geringen Effekt auf Aktionen haben kann und stattdessen eine passive Rolle spielt, sich dabei die Interaktion zwischen verschiedenen mittelbasierten oder mittelgesteuerten "Akteuren" ansehend.
  • Je nachdem die verfügbare Verarbeitungsleistung zum Implementieren solcher zunehmend komplexen Mittel größer wird, umso größer wird die Größe der virtuellen Welt, in der sie modelliert sind, ebenso wie die Anzahl verschiedener Wesen, die gleichzeitig die Welt zu einem bestimmten Zeitpunkt bevölkern. Wenn die virtuellen Welten eine Größe erreichen, von der einem Zuschauer zu einem bestimmten Zeitpunkt nur ein Teil angeboten werden kann, kommt die Notwendigkeit hoch, dass dem Benutzer nicht nur Mitteln angeboten werden sollen zum Navigieren durch die virtuelle Welt (durch Bewegung der Gesichtspunktlage und/oder der Orientierung, von der aus das Bild für der virtuellen Umgebung dem Zuschauer angeboten wird, gemacht wird), sondern auch ein Mittel, das imstande ist, zu identifizieren, wo die interessantesten Gebiete sind oder meistens sind. In Bezug auf aktuelle oder mögliche Zusammenspiele zwischen Figuren ist das Problem, dass diese im Allgemeinen nur dargestellt werden können (in Termen von Zeit und Lage innerhalb der virtuellen Umgebung), wenn ein ziemlich straffes Buch angewandt wird - wobei die Applikation das Interesse an wiederholten Bildern entfernt.
  • Es ist nun u. a. eine Aufgabe der vorliegenden Erfindung, ein Mittel zu schaffen um Navigation in einer virtuellen Umgebung zu ermöglichen anhand mittelbetriebener Figuren innerhalb dieser Umgebung, aber ohne dass explizit ein Buch der Handlungen der Figuren erforderlich ist.
  • Nach einem ersten Aspekt der vorliegenden Erfindung wird eine interaktive Unterhaltungseinrichtung geschaffen, welche die nachfolgenden Elemente umfasst: einen ersten Datenspeicher, der Daten enthält, die eine virtuelle Umgebung definieren; einen zweiten Speicher, der Daten enthält, welche die externe Erscheinungsform einer Anzahl Figuren definieren; einen dritten Speicher, der eine Anzahl Regeln enthält, die, wenn kompiliert, eine Anzahl zusammenwirkender Mittel aufweisen, welche die Aktionen der betreffenden Figuren steuern; und einen Datenprozessor um auf den ersten, den zweiten und den dritten Speicher zuzugreifen und zum Erzeugen eines Bildes der virtuellen Umgebung und der Figuren darin von einem ersten Gesichtspunkt an einer vorbestimmten Stelle und in einer vorbestimmten Orientierung innerhalb der virtuellen Umgebung, gekennzeichnet durch:
  • - Überwachungsmittel, die derart gekoppelt sind, dass sie wenigstens ein kompiliertes Verhalten je handelnde Figur und die betreffenden Stellen innerhalb der virtuellen Umgebung jeder der Figuren überwachen; Clustererzeugungsmittel, die mit den Überwachungsmitteln gekoppelt sind und vorgesehen sind zum Erzeugen von Clusters, wobei jedes Cluster eine Figur oder eine Anzahl benachbarter Figuren innerhalb der virtuellen Umgebung enthält, und zwar entsprechend vorbestimmter Clusterkriterien und zum Erzeugen eines betreffenden Clusterwertes, hergeleitet von der aktuellen Einstellung bzw. den aktuellen Einstellungen des überwachten Verhaltens innerhalb dieses Clusters; und
  • - Selektionsmittel zum Selektieren eines einzigen Clusters in Abhängigkeit von den hergeleiteten Clusterwerten und zum Bestimmen der Lage dieses Clusters innerhalb der virtuellen Umgebung, wobei der Datenprozessor die Lage und die Orientierung von dem ersten Gesichtspunkt zu einen anderen Gesichtspunkt verändert, wobei über das Cluster hinweggesehen wird.
  • Im Endeffekt folgt die "Kamera", die durch Verlagerung des Gesichtspunktes, von woraus das Bild gemacht wird, geschaffen wird, dem höchsten erreichten Interessenwert für ein erzeugtes Cluster von Figuren. Nachstehend werden mehrere Methoden zum Herleiten der Interessenwerte, der Bildung der Cluster und der Steuerung der Kamerabewegung beschrieben.
  • Ausführungsbeispiele der vorliegenden Erfindung sind in der Zeichnung dargestellt und werden im Folgenden näher beschrieben. Es zeigen:
  • Fig. 1 ein Blockschaltbild einer rollenbasierten Verarbeitungs- und Bildformungseinrichtung, wobei die vorliegende Erfindung verkörpert ist,
  • Fig. 2 eine schematische Darstellung einiger mittelbetriebener Figuren in einer großflächigen virtuellen Umgebung,
  • Fig. 3 eine Tabelle, die einzelne und Clusterinteressenwerte aus dem Szenario nach Fig. 2 darstellt; und
  • Fig. 4 eine Darstellung einer virtuellen Kamera beim Folgen einer selektierten Figur.
  • Fig. 1 zeigt eine Einrichtung, wobei die vorliegende Erfindung verkörpert ist, und wobei eine Programmfamilie zur Bildung einer virtuellen Umgebung geschaffen wird, mit einem Prozessor 10, die mit einer zusammengesetzten asynchronen logischen Schaltungsdarstellung arbeitet, definiert durch eine Anzahl RTA-Regeln, wie dies nachher noch näher beschreiben wird. (RTA bedeutet "Real Time Able", eine Mittelprogrammierungssprache, entwickelt bei "Philips Research Laboratories" Redhill, UK). Über die Steuer- und Datenkopplung 12 wird der Prozessor 10 in den Stand gesetzt, eine interaktive Animation mit mehreren Figuren zu steuern, wobei diese Szenen von der Bilderzeugungsstufe 14 erzeugt und zu der Wiedergabeanordnung 16 ausgeliefert werden. Ein spezieller von der Bilderzeugungsstufe gelieferter Befehl ist in Form eines Satzes virtueller Umgebungskoordinaten, erzeugt von einer "Kamerasteuerfunktion" 58 innerhalb des Prozessors, wobei diese Koordinaten die Richtung des Gesichtspunktes und die Lage innerhalb der virtuellen Umgebung, von woraus das Bild hergestellt werden soll, spezifizieren. Diese Kamerasteuerfunktion 58 bestimmt die Änderungen des Gesichtspunktes aus der Überwachung der aktuellen Verhaltenseinstellungen, was nachher noch näher beschrieben wird.
  • Mit dem Prozessor 10 sind eine Anzahl Datenspeicher gekoppelt, von denen ein erster Speicher ein Speicher mit beliebigem Zugriff (RAM) 18 ist, der sich selber eine Anzahl diskreter Speichergebiete schafft, von denen ein erstes Gebiet 20 eine Tabelle mit Einzelheiten über die jeweiligen Elemente der asynchronen logischen Schaltungsdarstellung der zusammengesetzten Anzahl RTA-Regeln enthält, wobei diskrete Gebiete der Tabelle die Einzelheiten für Buchmittel 20A enthalten, welche die allgemeine Implementierung des Spiels oder des Dramas steuern, und für Gegenstandmittel 20B, welche die Aktionen jeder der Figuren innerhalb der virtuellen Umgebung steuern und durch die Kamerasteuerfunktion des Prozessors 10 periodisch überwacht werden. Die Zusammensetzung der RTA-Regeln zu einer asynchronen logischen Schaltungsdarstellung ist in unserer Europäischen Patentanmeldung EP-A- 0704077 (PHB 33903) eingehend beschrieben worden.
  • Jedes der Verhalten (Registerelemente), der Zeitkommentare (Verzögerungselemente) der logischen Funktionselemente und der Regeln, welche die asynchrone logische Schaltungsdarstellung bilden, hat eine eigene Reihe in der Tabelle 20. Jede Reihe in der Tabelle bezeichnet auf eine bekannte Art und Weise die Elementnummer, einen Zustandsmerker der Einrichtung, einen Warteschlange-Zustandsmerker der Einrichtung, den internen Zustand und eine Fortpflanzungsfunktionsstartadresse. Wenn der Zustand des Elementes, zu dem die Reihe der Tabelle gehört, sich ändert (was hier als ein Ereignis bezeichnet wird), wird eine Fortpflanzungsfunktion durchgeführt um an allen Elementen, die durch eine derartige Änderung beeinflusst werden können, die betreffenden Änderungen zu effektuieren. Diese Fortpflanzungsfunktionen werden bequemlicherweise an bestimmten Stellen oder Startadressen innerhalb eines anderen Gebietes 22 des RAMs 18 vorgesehen. Der RAM liefert ebenfalls diskrete Speichergebiete für künftige Änderungen 24 des Zustandes der Elemente sowie einen Ereignissenstapel 26. Diese Merkmale schaffen ihre herkömmlichen Funktionen, obschon, wie bei der Tabelle 20, jedes der Speichergebiete 22, 24, 26 in diskrete Gebiete für die Buchmittel und die Gegenstandsmittel aufgeteilt ist. Der RAM 18 ist auf bekannte Art und Weise mit dem Prozessor 10 verbunden, und zwar mit Hilfe eines Datenbusses 28 und eines Adressenbusses 30. Auch ist auf bekannte Art und Weise mit dem Prozessor ein Taktgeber (CLK) 32 verbunden, sowie, wie dargestellt, die Erzeugungsstufe 14.
  • Ein Festwertspeicher (ROM) 34 ist mit dem Prozessor 10 gekoppelt, und zwar mit Hilfe eines Datenbusses 36 und eines Adressenbusses 38, und schafft einen Programmspeicher, der eine Befehlsstruktur umfasst, welche die Implementierung der zusammengesetzten Schaltungsdarstellung für jedes der Mittel, ob Buch oder Gegenstand, steuert. Der Prozessor 10 arbeitet an der Schaltungsdarstellung, wie dies durch die Befehlsstruktur gesteuert wird, mit Fortpflanzung durch die Schaltung, wobei gleich gesetzt wird auf die Reaktion auf die Befriedigung des Verhaltens, indem ein oder mehrere weitere Verhalten erzeugt werden, welche die zugehörige Reaktion für die jeweiligen Regeln in der Schaltungsdarstellung definieren. Es ist eine Benutzer-Schnittstelleneinrichtung (UID) 40 vorgesehen um ein Eingeben von Steuerdaten und Befehlen unmittelbar zu dem Prozessor 10 zu ermöglichen; die Form der UID wird abhängig sein von dem, was für die Applikation erforderlich ist und kann von einem oder einigen einfachen Knöpfen zu einer Eingabemöglichkeit mit Hilfe eines Tastenfeldes oder eine Maus reichen, dies unter Zusammenarbeit mit einer graphischen Benutzerschnittstelle an der Wiedergabeanordnung 16 und erzeugt von der Erzeugungsstufe 14.
  • Die Verwendung der Form eines regelbasierten Systems, wobei die vorliegende Erfindung verkörpert ist, richtet sich auf das Problem, wie die "interessantesten" oder die "möglich interessanten" Gebiete der virtuellen Umgebung während der Interaktion der regelgesteuerten Figuren in dieser Umgebung überwacht werden können, beispielsweise während eines Spiels. Daten, welche die Layout und das Aussehen einer virtuellen Umgebung definieren, befinden sich in einem weiteren RAM 42, zusammen mit Daten, die das Aussehen und die aktuelle Lage innerhalb der virtuellen Umgebung der jeweiligen Gegenstände ("props", wie Tische, Stühle, Bücher, usw.) und jedes der virtuellen Akteure definieren. Es sei bemerkt, dass die Props einfache Mittel enthalten können, um die verfügbaren Formen der Interaktivität zu verbessern. Der Prozessor 10 hat Lese/Schreibzugriff auf den RAM 42, und zwar über den Adressenbus 44 und den Datenbus 46, während die Erzeugungsstufe 14 nur einen Lesezugriff hat, und zwar mit Hilfe des betreffenden Adressenbusses 48 und des Datenbusses 50. Audio-Untermalung der Bilder der virtuellen Umgebung kann mit Hilfe einer Audio-Wiedergabestufe 52 erfolgen, die auf Daten in einem betreffenden Audio- Datenspeicher 54 zugreift und über die Steuerleitung 56 unter der Ansteuerung des Prozessors 10 steht.
  • Autonome Mittel, wie diejenigen, die erzeugt werden unter Anwendung der RTA-Mittelprogrammierungssprache, entwickelt bei "Philips Research Laboratories" Redhill, UK, haben typischerweise einen Zustand, der für den Applikationsprogrammierer sichtbar ist, der reflektieren könnte, wie "glücklich" oder "traurig" eine animierte Figur ist, die ein Spielchen macht. Diese Zustände sind intern für das Figurmittel und die Analogie mit einigen menschlichen Emotionen ist in Termen gleicher Einflüsse, die sie auf die externe Handlungen und Leistung der Figuren haben. So kann beispielsweise die "glückliche" Figur schneller sein oder mehr bereit zur Interaktion mit anderen Figuren als eine "traurige" Figur: die Reaktion auf Stimuli aus der virtuellen Umgebung wird für eine "alerte" Figur schneller sein als für eine "langweilige" Figur.
  • Um die Kameralage (das Erzeugen des Gesichtspunktes) zu bestimmen kann zunächst für jedes Mittel, basiert auf einer Funktionsmessstromeinstellung der internen Zustände, welche diese "emotionellen" Faktoren, wie diese in der Tabelle 20 des RAMs 18 auftreten, steuern, ein Maß des Interessenwertes Ia, oder ein Vektor, erzeugt werden.
  • Zum Identifizieren von Interessenpunkten, auf welche die Kamera gerichtet werden soll, werden die Mittel in der virtuellen Umgebung zu Gruppen mit einem oder mehreren Mitteln geclustert und es wird eine Interessenherleitung je Cluster Ic gemacht, wobei dieser gemessene Mittelinteressenwert Ia benutzt wird. Diese Clusterung erfolgt (wenigstens teilweise) auf Basis der relativen Nähe der Figuren in der virtuellen Umgebung. Ein Vergleich der internen Zustände kann ebenfalls benutzt werden um Gruppen von Mitteln Interessenpegel in normalen Verhaltenstypen zu geben, oder ganz einfach um zu bestimmen, ob es feste Spezifikationen gibt (wie eine Angabe, dass bestimmte handelnde Figuren Mitglied einer gemeinsamen Familie oder eines Teams sind). Außerdem, oder als alternative Ausführungsform, kann stattdessen das Interessenmaß für Cluster von handelnden Figuren erzeugt werden, und für jedes Cluster kann ein Wert L erzeugt werden, und zwar auf Basis einer Funktion, welche die kollektiven internen Zustände derselben misst. In Fig. 1 ist ein weiteres Speichergebiet 60 vorzugsweise vorgesehen zum Enthalten aktueller Clusteridentifikationen, welche die betreffenden Stellen und Clusterinteressenwerte aufweisen.
  • Zum Clustern der handelnden Figuren kann jede Technik einer Anzahl bekanntes Clustertechniken angewandt werden. Zur Kamerasteuerung ist es wichtig, dass die Cluster einstweilig konsistent sind, wobei ein Clusterinteressenpegel konstant bleibt oder nur langsam sich ändert, so dass die Kamera nicht zittert. Ein Schema, mit dem dies möglich ist, wird nachstehend beschrieben.
  • Anfangend mit einer Situation, in der es keine Cluster gibt, wird für jede handelnde Figur, die nicht einem Cluster zugeordnet worden ist, ein neues Cluster erzeugt. Danach folge eine Bewertung, von dem was handelnde Figuren innerhalb eines Clusterradius dieser Cluster "Samen" Figur sind; falls nicht durch andere Bedingungen ausgeschlossen, werden diese weiteren handelnden Figuren demselben Cluster zugeordnet. Der Clusterradius und das Maß, ob eine handelnde Figur darin steckt, kann ein Maß sein auf Basis des Abstandes innerhalb der virtuellen Umgebung, und ebenfalls andere Attribute der handelnden Figur (beispielsweise von welcher Familie oder von welchem Team die Figur Mitglied ist, welcher der einzelne Interessenwert Ia ist). Dadurch sind beispielsweise Cluster von bösen Figuren möglich, die mit einem Cluster froher Figuren im Raum zusammenfallen können. Der Zuordnungsprozess kann wachsen, so dass für jede handelnde Figur, die gerade einem Cluster zugeordnet worden ist, diese Figur als weiterer Punkt benutzt wird, von woraus der Clusterradium gemessen wird zum Bestimmen der Zuordnung zu demselben Cluster. Außerdem kann es sein, dass wir es bequem finden, dass einige Figuren zu mehr als nur einem Cluster gehören, wobei in diesem Fall dann eine Grenze gesetzt werden könnte, wie vielen Clustern eine Figur zugeordnet werden kann. Aus dem Gesichtspunkt der Kamerasteuerung ist eine gewisse Begrenzung der gesamten Clustergröße erforderlich: dort, wo es eine Begrenzung des Gebietes der virtuellen Umgebung (und der Figuren darin) gibt, die in einem einzigen Fertigungsgang bedeckt werden können, setzt dieses maximale Gebiet auf geeignete Weise den maximalen Clusterungsradius. Wenn der Radius den maximalen Wert unterschreitet, zoomt die Kamera auf geeignete Weise ein (wobei der Gesichtspunkt in Richtung der Figuren verlagert wird), wobei eine Gesichtsfeldbreite in der Größenordnung von dem doppelten Radius des beobachteten Clusters beibehalten wird.
  • In der Situation, in der es bereits Clusters von Figuren gibt, soll periodisch für jedes Cluster und zur Gewährleistung einer zeitlichen Kontinuität jede Figur, die vorher in dem Cluster drin war, bewertet werden um zu sehen, ob sie noch immer zu dem Cluster gehört. Außerdem kann das Cluster Figuren überprüfen, die nicht dazu gehören um zu sehen, ob sie hinzugefügt werden sollen. Wenn wir beispielsweise eine Gruppe von Ameisen-Figuren haben, die Nahrung aus einem Picknickkorb sammeln, werden Ameisen ständig das Cluster verlassen und sich zu dem Cluster, zentriert in dem Picknickkorb, hinzufügen, aber das Cluster besteht dann noch immer und befindet sich an derselben Stelle. Wenn am Ende der Bewertung von vorher existierenden Clustern bestimmte Figuren nicht zugeordnet sind, wird das System versuchen, neue Cluster zu erzeugen, wie oben erwähnt.
  • Zur Kamerasteuerung ist die Liste mit Clustern nun zusammen mit mehreren Interessengrößen in dem Clusterspeicher 60 verfügbar. Die von der Prozessorfunktion gewährleistete Kamerasteuerung könnte so einfach sein wie "immer auf den Punkt mit dem interessantesten Cluster zielen", es ist aber wichtig, ein glattes "Panning" zwischen Clustern zu gewährleisten. Ein komplexerer Steuermechanismus könnte erfordern, dass eine weitere Figur verwendet wird, diesmal in der Rolle eines Kameramanns, und wobei diese Figur selber entscheidet, wohin geschaut wird. Es kann eine "Durchflug"-Mode geben, wobei alle betreffenden Cluster periodisch besucht werden. Bild-im-Bild kann angewandt werden um alle, oder viele interessante Punkte auf einmal zu präsentieren.
  • Fig. 2 ist eine Beispiel-Applikation für eine auf den Figurzustand gerichtete Kamera. In dem Beispiel ist die virtuelle Umgebung in Form eines Gebäudes mit fünf Zimmern A bis E, die durch ein Korridor F miteinander verbunden sind: alle Zimmer sind offen und alle Figuren sind frei sich von Zimmer zu Zimmer zu bewegen (wobei vorausgesetzt ist, dass alle Figuren wenigstens eine rudimentäre Navigationsausbildung haben, dies neben der Ausbildung zum Zusammenwirken mit anderen Figuren). Die Kamera kann nur das Innere jeweils eines Zimmers oder des Korridors gleichzeitig zeigen so dass die Richtung benutzt wird zum Schaffen eines Führers.
  • In diesem Fall benutzen die Cluster die Begrenzungen des Zimmers als Clusterradius und in diesem Fall wird nur ein einziger interner Zustand, der das Temperament regelt, überwacht. Der Zustand hat fünf Pegel, von sehr glücklich über glücklich, friedlich und böse bis zu ärgerlich, welchen Zuständen einfache ganzzahlige Werte Ia = 2, 1, 0, -1, -2 zugeordnet sind: der Schlüssel unter der Fig. 2 identifiziert die verschiedenen Stimmungen der Figur durch den betreffenden Wert von Ia. Es ist ersichtlich, dass in dem Zimmer D ein sechster Typ dargestellt ist. Diese Typen "schlafen" (und sind durch Ia = 0 bezeichnet): wenn sie wach sind, werden sie einzelne Interessenwerte haben, die noch da sein können von der Zeit, vor dem Schlafen oder die sich durch das Erwachen geltend machen können. Die Tabelle nach Fig. 3 zeigt die Verteilung der Interessenwerte Ia mit einer Anzahl verschiedener Herleitungen von Cluster-Interessenwerten Ic, die benutzt werden können zum Selektieren des betreffenden Zimmers.
  • Der erste Cluster-Interessenwert Ic.1 ist gebildet als eine einfache Summe der einzelnen Werte für das Zimmercluster. Dies wird interessanter, wo die größte Temperamentneigung liegt, obschon es sein kann, dass dies nicht das (für den Zuschauer) interessanteste Zimmercluster identifiziert. Die größte negative (und gesamte) Vorspannung ist in dem Zimmer E, aber wenn die zwei Figuren in dem Zimmer E sich über dasselbe ärgern stattdessen, dass sie sich über einander ärgern, kann es eine gewisse Interaktion geben, die es anzusehen der Mühe Wert ist. Auf gleiche Weise ist die größte positive Vorspannung auf dem Korridor F, aber dies ist nur eine einzige (glückliche) Figur, wobei es nicht wahrscheinlich ist, dass das Herumwandern der Mühe Wert ist, dies anzuschauen.
  • Der zweite Cluster-Interessenwert Ic.2 summiert die Größe der einzelnen Werte und wird interessanter, wo der größte "Betrag" an Temperament liegt. Zimmer A ist deutlich das interessanteste Zimmer nach diesem Maßstand, trotz des vorher abgeleiteten Clusterwertes Ic.1 = -1, durch die nahezu ausgewuchtete Verteilung von glücklichen und nicht glücklichen Figuren.
  • Der dritte und der vierte Clusterwert Ic3 und Ic4 summieren nur die glücklichen (positive) oder nur die unglücklichen (negativen) Werte eines Clusters. Im Falle von Ic.4 sind die Ergebnisse für die Zimmer A und E gleich und es sollen eine oder mehrere "Entscheidungswettkampf"-Bedingungen getestet werden, wenn die Kamera automatisch eines der Zimmer selektieren soll. Dieser Entscheidungswettkampf kann dadurch zur Ruhe kommen, dass eine oder mehrere der anderen Techniken zum Bewerten des Cluster-Interessenwertes angewandt werden, oder dadurch, dass ein weiterer Cluster-Interessenwert parallel zu einer weiteren Kategorie von Figurzuständen bewertet wird (wie ein Gebiet von Müdigkeit zu Alertheit), oder dadurch einfachere Mittel, wie, welches der beiden Zimmer die größte Anzahl handelnde Figuren enthält. Auf alternative Weise kann die Kamera sich verweigern, sich zu verlagern, wenn sie sich bereits in einem der Kandidatzimmer befindet, oder, wenn nicht, kann sie einfach das näher liegende Zimmer der zwei selektieren.
  • Der letzte Cluster-Interessenwert Ic.5 wird als eine Spanne zwischen dem höchsten und dem niedrigsten Einzelwert bewertet, möglicherweise die wahrscheinlichste Stelle angebend für eine konfliktierende oder dramatische Interaktion. Im Gegensatz zu vorhergehenden Clusterwerten wird durch Ic.5 das Zimmer B als die uninteressanteste Stelle bezeichnet. Es sei bemerkt, dass keines dieser Schemen zur Bewertung von Ic das Zimmer C oder D als uninteressant bezeichnet hat, es ist aber ziemlich deutlich, dass wahrscheinlich wenig Interesse auftritt in diesen Zimmern mit den aktuellen Bewohnern und deren Temperamenteinstellungen. Dennoch können diese Zimmer gewählt werden, wenn verschiedene Kriterien (Zustände der handelnden Figuren) die Basis für die Ia- und die Ic-Bewertung bilden.
  • Eine geeignete Technik zum Verlagern der Kamera gegenüber einem selektierten Cluster ist in Fig. 4 dargestellt. Wie bereits oben erwähnt, kann ein Cluster sogar aus nur einer einzigen Figur gebildet werden: in dem Beispiel folgt die Kamera C der Bewegung eines Balles B, der an einer Wand W stößt: es sei bemerkt, dass der Pfeil, der sich von C aus erstreckt, die Sehrichtung der Kamera bezeichnet.
  • An einer ersten (Ruhe)stelle und Orientierung C.0 wird der Kamera mitgeteilt, dem Ball, der an der Stelle bei B.0 ist, zu folgen. Ein Vektor V.0 wird aus C.0 bis B.0 gebildet; die Kamera wendet sich zum Fluchten mit dem Vektor und fängt an sich längs dieser Linie zu verlagern, und zwar mit einer konstanten Geschwindigkeit in Richtung eines Zielpunktes A.0 in einem festen Abstand F von B.0 längs des Vektors. Wenn der Ball den Punkt B.1 erreicht, wird von der Stelle der Kamera C.1 zu dem betreffenden Zeitpunkt ein neuer Vektor gezogen. Auch hier wird wieder ein Zielpunkt A.1 in einem festen Abstand F von dem Ball erzeugt und die Kamera wendet sich und startet die Verlagerung in Richtung desselben längs des neuen Vektors V.1. Die Technik wird auf einer regelmäßigen Basis wiederholt zum Erzeugen einer Strecke für die Kamera: es dürfte einleuchten, dass je öfter eine Neuberechnung des Vektors durchgeführt wird, desto glatter wird die Bewegung sein, wenn die Orientierung der Kamera sich ändert. Es kann ebenfalls ein Interpolationsmechanismus vorgesehen sein um eine zusätzliche Glättung zu liefern wenn die Kamera sich von dem einen Zielpunkt zu dem anderen wendet.
  • Bei einer bevorzugten Implementierung darf die Kamera niemals näher an den Ball herankommen als die Stelle des Zielpunktes. Dies gewährleistet, dass es eine gewisse Glättung gibt durch alle Wendungen sowie dass vermieden wird, das der Ball zu viel aus der Szene verschwindet. Außerdem kann statt einer konstanten Geschwindigkeit für die Bewegung längs des Vektors die Geschwindigkeit als eine Funktion der Trennung zwischen der Kamera und dem Zielpunkt hergeleitet werden. Dies ergibt ein natürlicheres Aussehen des resultierenden Bildes, wobei die Kamerabewegung langsamer wird, je nachdem das Ziel näher kommt.
  • Um zu vermeiden, dass das erzeugte Bild statisch wird, wenn das befolgte Cluster stationär ist, wird eine Bedingung an die Kamera einer minimalen Geschwindigkeit größer als Null dazu führen, dass die Kamera langsam um ein stationäres Cluster herum geht.

Claims (9)

1. Interaktive Unterhaltungseinrichtung, welche die nachfolgenden Elemente umfasst: einen ersten Datenspeicher, der Daten enthält, die eine virtuelle Umgebung definieren; einen zweiten Speicher, der Daten enthält, welche die externe Erscheinungsform einer Anzahl Figuren definieren; einen dritten Speicher, der eine Anzahl Regeln enthält, die, wenn kompiliert, eine Anzahl zusammenwirkender handelnder Figuren aufweisen, welche die Aktionen der betreffenden Figuren steuern; und einen Datenprozessor um auf den ersten, den zweiten und den dritten Speicher zuzugreifen und zum Erzeugen eines Bildes der virtuellen Umgebung und der Figuren darin von einem ersten Gesichtspunkt an einer vorbestimmten Stelle und in einer vorbestimmten Orientierung innerhalb der virtuellen Umgebung, gekennzeichnet durch:
- Überwachungsmittel, die derart gekoppelt sind, dass sie wenigstens ein kompiliertes Verhalten je handelnde Figur und die betreffenden Stellen innerhalb der virtuellen Umgebung jeder der Figuren überwachen;
- Clustererzeugungsmittel, die mit den Überwachungsmitteln gekoppelt sind und vorgesehen sind zum Erzeugen von Clustern, wobei jedes Cluster eine Figur oder eine Anzahl benachbarter Figuren innerhalb der virtuellen Umgebung enthält, und zwar entsprechend vorbestimmter Clusterkriterien und zum Erzeugen eines betreffenden Clusterwertes, hergeleitet von der aktuellen Einstellung bzw. den aktuellen Einstellungen des überwachten Verhaltens innerhalb dieses Clusters; und
- Selektionsmittel zum Selektieren eines einzigen Clusters in Abhängigkeit von den hergeleiteten Clusterwerten und zum Bestimmen der Lage dieses Clusters innerhalb der virtuellen Umgebung, wobei der Datenprozessor die Lage und die Orientierung von dem ersten Gesichtspunkt zu einen anderen Gesichtspunkt verändert, wobei über das Cluster hinweggesehen wird.
2. Einrichtung nach Anspruch 1, wobei die Clustererzeugungsmittel Daten empfangen, die relative Stellen jeder Figur innerhalb der virtuellen Umgebung definieren und wobei das genannte vorbestimmte Clusterkriterium die Nähe von Kandidatfiguren innerhalb der virtuellen Umgebung ist.
3. Einrichtung nach Anspruch 2, wobei die Clustererzeugungsmittel weitere Kriterien für die Kandidatfiguren in Termen deren betreffenden handelnden Verhaltenseinstellungen schaffen und von dem Cluster diejenigen ausschließen, die den Kriterien nicht entsprechen.
4. Einrichtung nach Anspruch 1, wobei der Datenprozessor das genannte Bild von einem Gesichtspunkt aus erzeugt, wobei ein Gesichtsfeld entsprechend der doppelten Größe des Radius des Clusters, in dessen Richtung die Gesichtspunktorientierung gerichtet ist.
5. Einrichtung nach Anspruch 1, wobei der Datenprozessor bestimmt, ob ein selektiertes Cluster stationär ist, und wenn ja, die Lage des Gesichtspunktes um die Clusterstelle dreht, wobei aber eine Orientierung beibehalten wird, wobei an dem Cluster vorbeigesehen wird.
6. Einrichtung nach Anspruch 1, wobei der Datenprozessor die Lage und die Orientierung des Gesichtspunktes dadurch bewegt, dass er periodisch einen Vektor erzeugt, und zwar aus einer aktuellen Lage des Gesichtspunktes zu einer aktuellen Clusterstelle, wobei die Gesichtspunktrichtung mit dem Vektor fluchtend gemacht wird, und wobei die Gesichtspunktlage längs des Vektors bewegt wird.
7. Einrichtung nach Anspruch 6, wobei die Rate der Bewegung der Lage des Gesichtspunktes längs eines Vektors konstant ist.
8. Einrichtung nach Anspruch 6, wobei ein Zielpunkt auf jedem Vektor spezifiziert ist und in einem festen Abstand von der Clusterstelle, wobei die Bewegung der Gesichtspunktstelle längs des Vektors beendet wird, wenn der Zielpunkt erreicht ist.
9. Einrichtung nach Anspruch 8, wobei die Rate der Bewegung der Stelle des Gesichtspunktes längs eines Vektors durch die Trennung des Gesichtspunktes von dem Zielpunkt, wenn der Vektor erzeugt wird.
DE69715367T 1996-08-01 1997-06-26 Navigation in einer virtuellen umgebung Expired - Fee Related DE69715367T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9616184.9A GB9616184D0 (en) 1996-08-01 1996-08-01 Virtual environment navigation
PCT/IB1997/000786 WO1998006068A1 (en) 1996-08-01 1997-06-26 Virtual environment navigation

Publications (2)

Publication Number Publication Date
DE69715367D1 DE69715367D1 (de) 2002-10-17
DE69715367T2 true DE69715367T2 (de) 2003-05-15

Family

ID=10797858

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69715367T Expired - Fee Related DE69715367T2 (de) 1996-08-01 1997-06-26 Navigation in einer virtuellen umgebung

Country Status (6)

Country Link
US (1) US6034692A (de)
EP (1) EP0859996B1 (de)
JP (1) JP2000500687A (de)
DE (1) DE69715367T2 (de)
GB (1) GB9616184D0 (de)
WO (1) WO1998006068A1 (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6175857B1 (en) * 1997-04-30 2001-01-16 Sony Corporation Method and apparatus for processing attached e-mail data and storage medium for processing program for attached data
JP3183632B2 (ja) * 1997-06-13 2001-07-09 株式会社ナムコ 情報記憶媒体及び画像生成装置
JP4019240B2 (ja) * 1999-05-07 2007-12-12 株式会社セガ 画像処理方法、記録媒体及び画像処理装置
EP1125609A3 (de) * 2000-01-21 2005-03-30 Sony Computer Entertainment Inc. Unterhaltungsvorrichtung, Aufzeichungsmedium und Objektdarstellungsverfahren
US6784901B1 (en) 2000-05-09 2004-08-31 There Method, system and computer program product for the delivery of a chat message in a 3D multi-user environment
EP1174167B1 (de) * 2000-07-17 2006-12-27 Sony Computer Entertainment Inc. Programmausführungssystem, Programmausführungsvorrichtung, Aufzeichungsmedium und entsprechendes computerausführbares Programm
GB0020850D0 (en) * 2000-08-23 2000-10-11 Univ London A system and method for intelligent modelling of public spaces
US6995788B2 (en) * 2001-10-10 2006-02-07 Sony Computer Entertainment America Inc. System and method for camera navigation
AU2002249012B2 (en) * 2001-04-30 2007-09-20 The Commonwealth Of Australia Geographic view of a modelling system
AUPR464601A0 (en) * 2001-04-30 2001-05-24 Commonwealth Of Australia, The Shapes vector
US6816159B2 (en) 2001-12-10 2004-11-09 Christine M. Solazzi Incorporating a personalized wireframe image in a computer software application
US7310784B1 (en) * 2002-01-02 2007-12-18 The Jellyvision Lab, Inc. Methods for identifying cells in a path in a flowchart and for synchronizing graphical and textual views of a flowchart
GB0222554D0 (en) * 2002-09-28 2002-11-06 Koninkl Philips Electronics Nv Data processing system and method of operation
US9063633B2 (en) * 2006-03-30 2015-06-23 Arjuna Indraeswaran Rajasingham Virtual navigation system for virtual and real spaces
US8133115B2 (en) * 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US20060071933A1 (en) 2004-10-06 2006-04-06 Sony Computer Entertainment Inc. Application binary interface for multi-pass shaders
US7636126B2 (en) * 2005-06-22 2009-12-22 Sony Computer Entertainment Inc. Delay matching in audio/video systems
US7965859B2 (en) 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US7880746B2 (en) * 2006-05-04 2011-02-01 Sony Computer Entertainment Inc. Bandwidth management through lighting control of a user environment via a display device
US8521709B2 (en) * 2006-10-31 2013-08-27 The Jellyvision Lab, Inc. Methods for preloading media assets
US20080184143A1 (en) * 2006-12-14 2008-07-31 Gottlieb Harry N Methods for Identifying Actions in a Flowchart
US9876749B2 (en) * 2006-12-18 2018-01-23 Cisco Technology, Inc. Dynamic location-specific distribution lists
WO2008098161A1 (en) 2007-02-08 2008-08-14 Gottlieb Harry N Method of automatically populating and generating flowchart cells
US20100045703A1 (en) * 2008-08-22 2010-02-25 Google Inc. User Interface Gestures For Moving a Virtual Camera On A Mobile Device
US8832599B2 (en) * 2008-10-03 2014-09-09 Microsoft Corporation Assisted navigation in virtual environments
CA2692018A1 (en) * 2009-02-06 2010-08-06 It Actual Sdn. Bhd. Computing platform based on a hierarchy of nested data structures
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
GB201611385D0 (en) * 2016-06-30 2016-08-17 Nokia Technologies Oy Recommendation method and system
US10881964B1 (en) * 2018-09-13 2021-01-05 Electronic Arts Inc. Automated detection of emergent behaviors in interactive agents of an interactive environment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821220A (en) * 1986-07-25 1989-04-11 Tektronix, Inc. System for animating program operation and displaying time-based relationships
GB2231693A (en) * 1989-05-08 1990-11-21 Philips Electronic Associated Data processing system
US5485600A (en) * 1992-11-09 1996-01-16 Virtual Prototypes, Inc. Computer modelling system and method for specifying the behavior of graphical operator interfaces
GB9406931D0 (en) * 1994-04-07 1994-06-01 Philips Electronics Uk Ltd Data processing apparatus
US5608850A (en) * 1994-04-14 1997-03-04 Xerox Corporation Transporting a display object coupled to a viewpoint within or between navigable workspaces
GB9606129D0 (en) * 1996-03-22 1996-05-22 Philips Electronics Nv Virtual environment navigation and interaction apparatus

Also Published As

Publication number Publication date
EP0859996B1 (de) 2002-09-11
US6034692A (en) 2000-03-07
GB9616184D0 (en) 1996-09-11
JP2000500687A (ja) 2000-01-25
WO1998006068A1 (en) 1998-02-12
DE69715367D1 (de) 2002-10-17
EP0859996A1 (de) 1998-08-26

Similar Documents

Publication Publication Date Title
DE69715367T2 (de) Navigation in einer virtuellen umgebung
DE69714548T2 (de) Adaptive modellierung und steuerung von prozessen
DE69935419T2 (de) Zielorientierte benutzeroberfläche
DE602004003979T2 (de) Verfahren zur Steuerung einer virtuellen Kamera in einem dreidimensionalen Videospiel
DE69624809T2 (de) Verfahren und System zum Auswählen eines Informarionsgegenstandes
DE60036261T2 (de) Graphische Kontrolle einer zeitbasierten Einstellungscharakteristik in einem Videospiel
DE69904543T2 (de) Interaktion basiert auf aufmerksamkeit in einer virtuellen umgebung
DE69934972T2 (de) Bildgenerierende vorrichtung und bildgenerierendes verfahren
DE69904678T2 (de) Auf priorität basierte virtuelle umgebung
DE69832119T2 (de) Verfahren und Apparat zur visuellen Erfassung von Menschen für aktive öffentliche Schnittstellen
DE69901349T2 (de) Avatar bewegungs vorhersage in einer verteilten virtuellen umgebung
DE69836945T2 (de) Videospielsystem mit Radarbild
DE69518811T4 (de) Videospiel/videographisches Programmerzeugungsverfahren mit auf einer Einheit basierter Programmverarbeitung
DE69518810T2 (de) Videospiel/videographisches Programmerzeugungsverfahren und System
DE112007001789B9 (de) Verfahren zum Bewerten eines Bildes im Hinblick auf eine dominante Linie
DE69727872T2 (de) Kampffernsehspiel und Speichermedium zum Speichern des Programmes eines solchen Spiels
DE69734313T2 (de) Spielvorrichtung, spielanzeigemethode, spielergebnisbeurteilungsmethode sowie aufzeichnungsmedium zur spielprogrammaufzeichung
EP1907087A1 (de) Navigationsgraph mit strategischer information
DE69837165T2 (de) Verfahren und gerät für automatische animation von dreidimensionalen grafischen szenen für verbesserte 3-d visualisierung
DE69727129T2 (de) Autonome zusammengesetzte agenten
DE102010055708A1 (de) Verfahren zum Berechnen einer kollisionsfreien Geschwindigkeit für einen Agenten in einer Menschenmassensimulationsumgebung
DE69811203T2 (de) Informationsverarbeitungssystem
DE69811119T2 (de) Konferenzanlage
DE112017004394T5 (de) Gestenbeurteilungseinrichtung, Gestenbedienungseinrichtung und Gestenbeurteilungsverfahren
Matthews et al. MISER: Mise-en-scène region support for staging narrative actions in interactive storytelling

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee