-
HINTERGRUND
DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft allgemein einen Geräuschgeber
oder einen Tonerzeuger, der mit einer Bildanzeige synchronisiert
ist, und im besonderen einen Geräuschgeber
zur Erzeugung von Geräuschen,
wie beispielsweise einen Geräuscheffekt
oder Musik mit dreidimensionaler Ausbreitung entsprechend der Richtung,
des Abstandes und ähnlichem
zwischen zwei Objekten, die von einem Bildverarbeitungsgerät dargestellt
werden, beispielsweise einen Personal Computer oder einem Videospielgerät.
-
Hintergrund
der Erfindung
-
Eine
bekannte Technik zur Erzeugung von Stereogeräuschen ist in der japanischen
Patentveröffentlichung
No. 9397/1985 beschrieben (Dokument 1). Dokument 1 betrifft die
Ausgabe eines Audiosignals als unverändertes Analogsignal und die
Ausgabe des Audiosignals als verzögertes Analogsignal, um Stereogeräusche zu
erzeugen.
-
Die
Lehre von Dokument 1 kann jedoch nicht auf eine digitale Schallquelle
angewandt werden, da das analoge Signal verzögert ist. Außerdem wird
in Dokument 1 der Bewegungszustand eines Objekts oder einer Figur
nicht berücksichtigt,
die auf dem Bildschirm einer Kathodenstrahlröhre oder ähnlichem angezeigt wird, so
dass keine Geräusche
erzeugt werden können,
die mit der Bewegung des Objekts synchronisiert sind.
-
In
der japanischen offengelegten Patentanmeldung No. 155879/1987 (Dokument
2) wird ein bekannter Geräuschgeber
zur Erzeugung zweidimensionale Geräusche beschrieben, die in Beziehung
zu einer Bildanzeige stehen. Dokument 2 betrifft die Steuerung der
Lautstärke
von linken und rechten Lautsprechern, wenn ein Flugzeug als bewegtes
Objekt eine zweidimensionale Schallquelle darstellen soll, indem
die Lautstärke
des einen Lautsprechers stetig verringert wird, von dem sich das
Flugzeug weiter entfernt und die Lautstärke desjenigen Lautsprechers
stetig zunimmt, auf den sich das Flugzeug zu bewegt.
-
Nach
Dokument 2 wird die Lautstärke
jedoch nur stetig mit der Bewegung des Objekts erniedrigt oder erhöht. Deshalb
ergeben sich keine dreidimensionalen Geräuscheffekte, selbst wenn die
Geräusche
als Stereogeräusche
gehört
werden. Außerdem ist
ein nach Dokument 2 erhaltener Geräuscheffekt nicht als Geräuscheffekt
für eine
dreidimensionale Bildanzeige geeignet. Der Grund dafür liegt
darin, dass die Geräuscheffekte
entstehen, wenn die Geräusche
synchron mit der Bewegung eines bewegten Objekts erzeugt werden,
das sich in zweidimensionaler Weise bewegt, beispielsweise ein Flugzeug
oder ein Automobil, während
dreidimensionale Geräuscheffekte
nicht erhalten werden können,
wenn ein dreidimensionales Bild dargestellt ist, so dass Bildanzeige
und Geräuscheffekte
nicht miteinander übereinstimmenden
und daher beim Betrachter einen störenden Eindruck erzeugen. Wird
außerdem
Dokument 2 bei einem Benutzer mit Kopfhörer angewandt, so werden die
linken und rechten Schallsignale gleichzeitig an das linke und rechte
Ohr des Benutzers gegeben und unterscheiden sich nur durch ihre Lautstärke, so
dass keine dreidimensionalen Geräuscheffekte
erhalten werden, bei denen eine Verzögerung zwischen den rechten
und linken Schallsignalen erforderlich ist. Außerdem ermüdet der Benutzer leicht bei
großen
Unterschieden in der Lautstärke zwischen
rechten und linken Schallsignalen, da dann die Ohren des Benutzers
belastet werden. Es wurde experimentell festgestellt, dass bei Benutzung
von Kopfhörern über eine
lange Zeit Kopfschmerzen und Ähnliches
auftreten.
-
Werden
die Lautstärken
des rechten und linken Lautsprechers entsprechend Dokument 2 gesteuert,
so hört
der Benutzer die von den Lautsprechern erzeugten Geräusche sich
in jeder Richtung ausbreiten; dadurch entsteht eine geringe Zeitverzögerung zwischen
dem Schall, der vom rechten bzw. linken Lautsprecher erzeugt wird
und in das linke bzw. rechte Ohr des Benutzers gelangt und dem Schall
des anderen Lautsprechers, der an das rechte bzw. linke Ohr des
Benutzers gelangt, so dass ähnliche
Geräuscheffekte
erzeugt werden, wie wenn eine der Schallwellen verzögert wird,
ohne dass dabei schon dreidimensionale Geräuscheffekte auftreten.
-
EP 0 616 312 A2 beschreibt
ein Verfahren und ein System zur Erzeugung von Geräuschen.
Das Verfahren erlaubt es, Geräusche
zu reproduzieren, die von Objekten in einer Benutzer-interaktiven, Computer
erzeugten grafischen virtuellen Welt ausgehen, oder andere Geräusche in
einer virtuellen Welt, wobei flexible und automatisch einsetzbare
Betriebsmittel eines Schallsystems in der virtuellen Welt eingesetzt
werden. Die Betriebsmittel des Schallsystems werden entsprechend
Prioritätswerten
zugewiesen, die den Geräuschen,
den Geräusch
erzeugenden Objekten oder Anforderungen für die Zuordnung eines Schallkanals
zugeordnet sind.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Eine
Aufgabe der vorliegenden Erfindung besteht daher darin, einen Geräuschgeber
anzugeben, der dreidimensionale Geräusche erzeugen kann, die geändert werden,
wenn eine Kamera bewegt wird und ein von der Kamera aufgenommenes dreidimensionales
Bild wiedergegeben wird.
-
Eine
weitere Aufgabe der vorliegenden Erfindung ist es, einen Geräuschgeber
anzugeben, der die Ermüdung
eines Benutzers herabsetzt, wenn dieser die Geräusche über einen Kopfhörer hört.
-
Zur
Lösung
dieser Aufgaben stellt die vorliegende Erfindung einen Geräuschgeber
nach Anspruch 1 zur Verfügung.
Bevorzugte Ausführungsformen
sind in den abhängigen
Ansprüchen
beschrieben.
-
Die
vorliegende Erfindung betrifft einen Geräuschgeber, der in einem Bildanzeigegerät zur Darstellung
eines dreidimensionalen Bildes Geräusche erzeugt, deren räumliche
Ausdehnung dem dreidimensionalen Bild entspricht und der enthält: erste Geräuscherzeugungsmittel
zur Erzeugung eines ersten Geräusches,
zweite Geräuscherzeugungsmittel zur
Erzeugung eines zweiten Geräusches,
ein Geräuschquelldatenspeichermittel
zur digitalen Speicherung von Geräuschquelldaten, ein temporäres Speichermittel
zum zeitweiligen Speichern der Geräuschquelldaten, die von den
Geräuschquelldatenspeichermitteln
ausgelesen wurden, ein Verzögerungszeitberechnungsmittel
zum Berechnen einer Verzögerungszeit
auf der Basis einer Richtung auf ein erstes angezeigtes Objekt,
das aus der Position eines vorbestimmten Betrachtungspunktes betrachtet
wird, wenn das Bildanzeigegerät
das erste Objekt anzeigt, das Geräusche erzeugen soll, ein Audioverarbeitungsmittel,
das in jeder Zeiteinheit Geräuschquelldaten,
die dem ersten angezeigten Objekt entsprechen, aus dem Geräuschquelldatenspeichermittel
ausliest, wobei die Geräuschquelldaten
in dem temporären
Speichermittel gespeichert werden, die Geräuschquelldaten als erste Geräuschquelldaten ausgelesen
werden, und die in dem temporären Speichermittel
gespeicherten Geräuschquelldaten als
zweite Geräuschquelldaten
zu einem Zeitpunkt ausgelesen werden, der durch die vom Verzögerungszeitberechnungsmittel
berechneten Verzögerungszeit
von der Zeit unterschieden ist, zu der die ersten Geräuschquelldaten
ausgelesen werden, ein erstes Digital-Analog-Wandlungsmittel zum
Wandeln der ersten Geräuschquelldaten,
die aus dem ersten temporären
Speichermittel ausgelesen wurden, in ein analoges Audiosignal und
Einspeisen des analogen Audiosignals in die ersten Geräuscherzeugungsmittel
und ein zweites Digital-Analog-Wandlungsmittel zum Wandeln der zweiten
Geräuschquelldaten, die
aus dem temporären
Speichermittel ausgelesen wurden, in ein analoges Audiosignal und
Einspeisen des analogen Audiosignals in die zweiten Geräuscherzeugungsmittel.
-
Wie
vorstehend beschrieben, wird gemäß der vorliegenden
Erfindung bei der Anzeige eines ersten Anzeigeobjekts in einem dreidimensionalen Bild
die Verzögerungszeit
zwischen den ersten Geräuschquelldaten
und den zweiten Geräuschquelldaten
anhand der Richtungsänderung
des ersten Anzeigeobjekts geändert,
das aus der Position eines vorbestimmten Betrachtungspunktes betrachtet
wird, wodurch mit den ersten und zweiten Geräuscherzeugungsmitteln Geräusche erzeugt
werden können,
deren räumliche
Ausdehnung der Änderung
des dreidimensionalen Bildes entspricht. Da bei der vorliegenden
Erfindung Bildanzeige und Geräuscheffekte
miteinander zusammenfallen, empfindet der Benutzer Bild und Geräuscheffekte
realitätsnäher und
sein Interesse nimmt zu. Außerdem
ermüdet
der Benutzer weniger, wenn er die im Geräuschgenerator erzeugten Geräusche mit
einem Kopfhörer
anhört.
-
Die
vorstehenden und weitere Aufgaben, Merkmale, Aspekte und Vorteile
der vorliegenden Erfindung werden aus der folgenden detaillierten
Beschreibung im Zusammenhang mit den beigefügten Zeichnungen deutlich.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, in dem in der Aufbau eines Geräuschgebers
nach einem ersten Ausführungsbeispiel
der Erfindung dargestellt ist;
-
2 ist
ein Schaubild zur Erläuterung
des Prinzips für
den Fall, dass die Verzögerungswerte
für das
linke und rechte Audiosignal anhand der Positionsbeziehung zwischen
einem Geräusch
erzeugenden Objekt und einer Kamera variiert werden;
-
3 zeigt
eine Charakteristik der Beziehung zwischen der Lautstärke und
der Richtung für den
Fall, dass die Lautstärke
unter der Voraussetzung gesteuert wird, dass keine Verzögerung vorliegt;
-
4 zeigt
eine Charakteristik der Beziehung zwischen der Richtung und der
Lautstärke
für den
Fall, dass eine Verzögerung
vorliegt und dass der Verzögerungswert
variabel gesteuert wird;
-
5 zeigt
eine Charakteristik der Beziehung zwischen Entfernung und Lautstärke für den Fall,
dass die Lautstärke
unter der Bedingung gesteuert wird, dass eine Verzögerung vorliegt;
-
6 zeigt
eine Charakteristik für
den Fall, dass der Verzögerungswert
in Bezug auf die Positionsbeziehung zwischen einem Geräusch erzeugenden
Objekt und einer Kamera (Heldenfigur) gesteuert wird
-
7 zeigt
ein Blockdiagramm mit dem Aufbau eines Geräuschgebers nach einem zweiten
Ausführungsbeispiel
der vorliegenden Erfindung;
-
8 zeigt
ein Diagramm zur Veranschaulichung einer Speicherbelegung eines
in 7 dargestellten W-RAM;
-
9 zeigt
ein Diagramm eines Beispiels einer Speicherbelegung für den Geräuschspeicherbereich,
der einem in 1 dargestellten Pufferspeicher
entspricht;
-
10 zeigt
ein Diagramm eines weiteren Beispiels einer Speicherbelegung für den Geräuschspeicherbereich,
der einem in 1 dargestellten Pufferspeicher
entspricht;
-
11 zeigt
ein Flussdiagramm mit der schematischen Betriebsweise eines Spiels;
-
12 zeigt
ein Flussdiagramm mit Einzelheiten einer Subroutine zur in 1 gezeigten
Verarbeitung des Audioausgangs;
-
13 zeigt
ein Zeitdiagramm für
die Ausgabe von Audiodaten für
den Fall, dass keine Verzögerung
vorhanden ist;
-
14 zeigt
ein Zeitdiagramm für
die Ausgabe von Audiodaten für
den Fall, dass eine Verzögerung
vorhanden ist und dass der vorhergehende und der aktuelle Verzögerungswert
gleich groß sind;
-
15 zeigt
ein Zeitdiagramm für
die Ausgabe von Audiodaten für
den Fall, dass eine Verzögerung
vorliegt und der vorherige und der aktuelle Verzögerungswert ungleich sind.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1 zeigt
ein Blockdiagramm mit dem Aufbau eines Geräuschgebers nach einem ersten
Ausführungsbeispiel
der vorliegenden Erfindung. In 1 dient
ein Bild/Audioprozessor 10 (im Folgenden als „Prozessor" bezeichnet) beispielsweise
als Videospielkonsole zur Erzeugung von Bildern und Geräuschen,
wie Musik und Geräuscheffekte
für ein Spiel,
und enthält
eine Bildverarbeitungseinheit 11 und eine Audioverarbeitungseinheit 12.
Ein Bildspeicher 13 ist mit der Bildverarbeitungseinheit 11 über einen
Adress- und einen Datenbus verbunden. Außerdem sind ein externer Speicher 20 und
eine Bedieneinheit 30 lösbar
mit der Bildverarbeitungseinheit 11 verbunden.
-
Die
Bildverarbeitungseinheit 11 führt Operationen zur Bildbearbeitung
auf der Basis von Daten durch, die Bedienzustände darstellen und von der Bedieneinheit 30 eingegeben
wurden und von Bilddaten und Programmdaten, die in einem Speicher 21 für Bilddaten
und Programmdaten im externen Speicher 20 enthalten sind,
und speist die von der Bedienung erzeugte Bildanzeige an eine Bildsignalerzeugungsschaltung 14.
Im Einzelnen erzeugt die Bildverarbeitungseinheit 11 Bildanzeigedaten
zur Anzeige von einem oder mehreren Objekten, die entsprechend dem
Programm Geräusche
erzeugen, beispielsweise Musik und/oder Geräuscheffekte (beispielsweise
ein Wasserfall, ein Fluss, ein Tier, ein Automobil, ein Flugzeug
oder ähnliches)
und Objekte, die keine Geräusche
erzeugen (beispielsweise ein Gebäude,
eine Fabrik, eine Straße,
eine Wolke, eine Ansicht oder ähnliches),
und zwar auf dreidimensionale Art mit der Bewegung der Sichtlinie
einer Kamera. Die Kamera ist eine virtuelle Kamera, die nicht auf dem
Bildschirm eines Anzeigegeräts
dargestellt wird. Ein auf die virtuelle Kamera projiziertes Bild
wird auf dem Schirm des Anzeigegerätes dargestellt. Weiterhin
wird sie in Sichtlinie der Kamera bewegt, entsprechend dem Spielfortschritt,
der Handlung eines Spielers und ähnlichem.
Wenn eine Heldenfigur (beispielsweise ein menschliches Wesen oder
ein Tier) auf dem Bildschirm dargestellt wird und sich entsprechend
der Bedie nung durch den Spieler in der Bewegungsrichtung oder der
Handlung verändert
(Bewegung der Hände
und Beine), so kann sich die Sichtlinie der Kamera in manchen Fällen synchron
mit der Bewegung der Sichtlinie der Heldenfigur bewegen.
-
Die
Bildsignalerzeugungsschaltung 14 erzeugt ein Bildsignal
mit verschiedenen Synchronisiersignalen, die erforderlich sind,
um ein Bild auf einer Kathodenstrahlröhre CRT oder einem herkömmlichen
Fernsehempfänger 40 (im
Folgenden als Fernseher bezeichnet) anzuzeigen; der Fernseher ist
nur ein Beispiel für
ein Anzeigegerät
für Bildanzeigedaten,
die von der Bildverarbeitungseinheit 11 geliefert werden.
Die Bilderzeugungsschaltung 14 speist das Bildsignal an
den Fernseher 40, um ein Bild auf dem Anzeigeschirm 41 (Anzeigebereich)
darzustellen.
-
Außerdem speist
die Bildverarbeitungseinheit 11 die Audioverarbeitungseinheit 12 mit
Koordinationsdaten (im Folgenden als erste Koordinationsdaten bezeichnet)
eines Objekts, das das Geräusche erzeugt
(im Folgenden als Geräusch
erzeugendes Objekt bezeichnet), Koordinationsdaten (im Folgenden
als zweite Koordinationsdaten bezeichnet) der virtuellen Kamera
(oder der Heldenfigur) sowie Daten zur Bezeichnung der Geräuschart,
damit der Geräuscheffekt
geändert
werden kann, beispielsweise für Wasser
in einem Wasserfall oder einem Fluss, das Geräusch in einem fahrenden Automobil
oder der Schrei eines Tieres, wenn die Sichtlinie der virtuellen Kamera
bewegt wird, damit dreidimensionale Geräuscheffekte synchron mit der
dreidimensionalen Bilddarstellung erhalten werden können. Die
an die Audioverarbeitungseinheit 12 gelieferten Koordinationsdaten
enthalten auch Daten für
die Z-Koordinate, zur Angabe der Tiefenrichtung zusätzlich zu
den Daten für
die X-Koordinate für
die Angabe der transversalen Richtung auf dem Bildschirm und der
Y-Koordinate für
die Angabe der longitudinalen Richtung auf den Bildschirm.
-
Ein
Speicher 22 für
Geräuschquelldaten
im externen Speicher 20 ist lösbar mit der Audioverarbeitungseinheit 12 verbunden
und ein Pufferspeicher 15 für die Audioverarbeitung (im
Folgenden als Pufferspeicher bezeichnet) zur temporären Speicherung von
Geräuschquelldaten
ist mit der Audioverarbeitungseinheit über einen Datenbus und einen
Adressbus verbunden.
-
Der
Speicher 22 für
Geräuschquelldaten speichert
eine große
Menge von Geräuschquelldaten,
die für
ein Spiel benötigt
werden, das als Programme im externen Speicher 20 in Form
von PCM oder AD-PCM Daten gespeichert ist.
-
Der
Pufferspeicher 15 enthält
einen Pufferbereich 15a und einen Verzögerungs-Pufferbereich 15b (vergleiche
die Ausführungsform
von 9, die später
genau beschrieben wird). Der Pufferbereich 15a speichert
temporär
Audiodaten, um ein erstes Audiosignal zu erzeugen, das in einer
vorgegebenen Zeiteinheit nicht verzögert ist und wird im Folgenden als
nicht verzögerter
Pufferbereich bezeichnet. Der Verzögerungs-Pufferbereich 15b hat
eine Speicherkapazität
entsprechend der maximalen Verzögerungszeit,
um ein zweites Audiosignal zu erzeugen, das gegenüber dem
ersten Audiosignal um eine Zeit verzögert ist, die der Verzögerungszeit
entspricht, die anhand von Richtung und Abstand zwischen den Koordinaten
des Geräusch
erzeugenden Objekts und den Koordinaten der virtuellen Kamera (oder
der Heldenfigur) bestimmt wird.
-
Ist
in der vorliegenden Ausführungsform
die maximale Verzögerungszeit
nicht geringer als 1/5 der Zeiteinheit, so ergibt sich ein unnatürlicher
Eindruck, wenn linke und rechte Geräusche gehört werden; die Speicherkapazität des Verzögerungs-Pufferbereichs 15b wird
daher so gewählt,
dass sie 1/5 derjenigen des nicht verzögerten Pufferbereichs 15a beträgt. Beispielsweise
hat der nicht verzögerte
Pufferbereich 15a eine Speicherkapazität von 320 Bytes, entsprechend
der Zeiteinheit und der Verzögerungs-Pufferbereich 15b eine
Kapazität
von 64 Bytes entsprechend der maximalen Verzögerungszeit. Die Zeiteinheit
für die
Verarbeitung wird bestimmt durch das Verhältnis zwischen der Abtastfrequenz
im Fall von Audiosignalen, die zur Erzeugung von Audiodaten abgetastet
werden (beispielsweise 32 kHz) und der Zeit, die zur jeweiligen
Verarbeitung des Audiosignals erforderlich ist (d.h. die Zeit, die
der Verarbeitungseinheit entspricht); im vorliegenden Ausführungsbeispiel
wurde sie auf 1/200 bis 1/240 Sekunden gesetzt. Die Verzögerungszeit
des zweiten Audiosignals bezüglich
des erstens Audiosignals wird variabel gesteuert und zwar abhängig von
der Richtung des Geräusche
erzeugenden Objekts aus Blickrichtung der Kamera (oder der Heldenfigur)
oder von den Richtungsänderungen
des Geräusch
erzeugenden Objekts aus der Blickrichtung in der Kamera für den Fall,
dass die Kamera (oder die Heldenfigur) vor und nach der Bewegung
bewegt wird (oder den Winkeln basierend auf den Richtungen).
-
Wenn
die Kapazität
des Pufferspeichers 15 groß ist, kann eine Startadresse
für das
Einschreiben der zweiten Geräuschquelldaten
abhängig
von der Verzögerungszeit
variabel im Bereich von 0 bis 64 Bytes gewählt werden, wobei ein Verzögerungs-Pufferbereich 15b' mit einer Speicherkapazität verwendet
wird, die der Summe der Speicherkapazität des nicht verzögerten Pufferbereichs 15a und
der Speicherkapazität
des Verzögerungs-Pufferbereichs 15b entspricht,
um den Verzögerungs-Pufferbereich 15b zu
ersetzen (siehe das Ausführungsbeispiel
in 10 mit der späteren
genaueren Darstellung).
-
Die
Audioverarbeitungseinheit 12 führt die Bearbeitung auf der
Basis von vorbestimmten Programmen entsprechend den ersten und zweiten
Koordinationsdaten aus, findet eine Richtung (oder einen Winkel)
zum Geräusch
erzeugenden Objekt aus der Blickrichtung der Kamera (oder der Heldenfigur) und
bestimmt auf der Basis der Richtung den Verzögerungswert (oder Verzögerungszeit),
um eine Charakteristik wie in der später zu 6 gezeigten
zu erreichen.
-
Außerdem bestimmt
die Audioverarbeitungseinheit 12 den Abstand zwischen Geräusch erzeugendem
Objekt und der Kamera (oder der Heldenfigur) anhand der ersten und
zweiten Koordinationsdaten und bestimmt die Lautstärke auf
der Basis der Entfernungsdaten. Die Audioverarbeitungseinheit 12 liest
Audiodaten entsprechend der Verarbeitungseinheit (320 Bytes) aus
dem Geräuschquelldatenspeicher 22 in
einer vorbestimmten Periode aus und schreibt die Audiodaten in den nicht
verzögerten
Pufferbereich 15a, findet einen Änderungsbetrag (einen Winkel)
zwischen den Richtungen des Geräusch
erzeugenden Objekts aus Blickrichtung der Kamera (oder der Heldenfigur)
und der Koordinationsdaten für
die Positionen der Kamera (oder der Heldenfigur) bzw. der Position
des Geräusch
erzeugenden Objekts vor und nach der Bearbeitungszeit und findet durch
die Verarbeitung die Verzögerungszeit,
die dem Änderungsbetrag
zwischen den Richtungen entspricht. Die Verzögerungszeit lässt sich
auch ohne Verarbeitung bestimmen, indem vorher Daten in eine Tabelle
gesetzt werden, die Verzögerungszeiten
für jeden
Winkel anhand einer Richtung darstellen und die entsprechenden Daten
für die
Verzögerungszeiten
ausgelesen werden. Ein Schreibbereich des Verzögerungs-Pufferspeichers 15b wird abhängig der
so bestimmten Verzögerungszeit
festgelegt.
-
Die
Audioverarbeitungseinheit 12 liest die in dem nicht verzögerten Pufferbereich 15a gespeicherten
Geräuschquelldaten
und gibt sie als erste Geräuschquelldaten
aus, schreibt die ersten Geräuschquelldaten
in Adressen des Verzögerungs-Pufferbereichs 15b entsprechend
der Verzögerungszeit
und liest die Geräuschquelldaten
aus der endgültigen Adresse
des Verzögerungs-Pufferbereichs 15b und gibt
sie als zweite Geräuschquelldaten
aus, die um die gewünschte
Verzögerung
gegenüber
den ersten Geräuschquelldaten
verzögert
sind.
-
Das
erste und das zweite Audiosignal entsprechen nicht in festgelegter
Weise den linken und echten Lautsprechern (oder den linken und rechten Schallerzeugern
in einem Kopfhörer).
Das erste Audiosignal entspricht einem Kanal von Audiosignalen, die
nicht verzögert
sind, und das zweite Audiosignal entspricht einem Kanal von Audiosignalen,
die verzögert
sind. Die Audioverarbeitungseinheit 12 speist die ersten
Audiodaten in einen Digital-Analog-Wandler für die linke Seite 16a und
die zweiten Audiodaten in einen Digital-Analog-Wandler für die rechte
Seite 16b, wenn sie feststellt, dass das Geräusch erzeugende
Objekt auf der linken Seite vor der Kamera steht (oder vor der Heldenfigur).
Umgekehrt speist die Audioverarbeitungseinheit 12 die ersten
Audiodaten an einen Digital-Analog-Wandler für die rechte Seite und das
zweite Audiosignal in den Digital-Analog-Wandler für die linke
Seite 16a, wenn sie feststellt, dass das Geräusch erzeugende
Objekt auf der rechten Seite vor der Kamera steht (oder vor der
Heldenfigur). Im Einzelnen schaltet die Audioverarbeitungseinheit 12 eine
Kombination der Digital-Analog-Wandler 16a und 16b,
um die ersten und zweiten Audiodaten einzuspeisen und zwar abhängig davon, ob
das Geräusch
erzeugende Objekt aus Sicht der Kamera (oder der Heldenfigur) auf
der rechten Seite oder auf der linken Seite steht.
-
Die
Digital-Analog-Wandler 16a, 16b unterziehen die
eingegebenen Audiodaten einer digital-analogen Umwandlung, um Audiosignale
zu erzeugen und speisen diese in entsprechende Filter 17a.
und 17b. Die Filter 17a und 17 unterziehen
das linke, bzw. das rechte Audiosignal einer Interpolation, um die
Wellenform der Audiosignale glätten
und speisen die Wellenform der Audiosignale an linke und rechte
Lautsprecher 42L und 42R, die zu einem Fernseher 40 gehören und/oder
liefern die Audiosignale an einen Kopfhörer 44 über eine
Anschlussbuchse 43, um auf diese Weise Geräusche zu
erzeugen.
-
Die
Audioverarbeitungseinheit 12 enthält weiter einen Steuerteil 12a für die Lautstärke. Die Lautstärkesteuerung 12a bestimmt
den Abstand zwischen dem Geräusch
erzeugenden Objekt und der Kamera (oder der Heldenfigur) und steuert
die Lautstärke
entsprechend dem festgestellten Abstand. Beispielsweise steuert
die Lautstärkesteuerung 12 die
Lautstärke
so, dass diese zunimmt, wenn die Kamera (oder die Heldenfigur) sich
dem Geräusch
erzeugenden Objekt nähert
und damit den Abstand dazwischen verringert oder abnimmt, wenn sich
die Kamera (oder die Heldenfigur) weiter von dem Geräusch erzeugenden
Objekt entfernt und damit die dazwischen liegende Entfernung zunimmt.
Wenn insbesondere die Lautstärke
so gesteuert wird, dass sie umgekehrt proportional zum Quadrat der
Entfernung zwischen der Kamera (oder der Heldenfigur) und dem Geräusch erzeugenden
Objekt ist, wird es möglich,
einen Geräuscheffekt
entsprechend der Änderung
in einer dreidimensionalen Bilddarstellung mit der Bewegung der
Kamera (oder der Heldenfigur) zu erhalten.
-
Die
oben beschriebenen Operationen werden für jede Zeiteinheit wiederholt,
so dass ein Geräuscheffekt
für ein
Spiel oder für
BGM Musik (Spielemusik) synchron mit der Änderung eines Bildes erzeugt
wird, um so die Spielatmosphäre
zu verbessern. Die Audioverarbeitungseinheit bestimmt einen Unterschied
zwischen der Zeit, zu der die ersten Audiodaten ausgegeben werden,
und der Zeit zur Ausgabe der zweiten Audiodaten (der Wert der Verzögerung zwischen
einer der Audiodaten von den anderen Audiodaten) auf der Grundlage
der Richtungen oder eines Winkels zum Geräusch erzeugenden Objekt aus
dem Blickwinkel der Kamera (oder der Heldenfigur) und steuert die
Lautstärke
auf der Grundlage des Abstandes zwischen der Position in der Kamera (oder
der Heldenfigur) und der Position des Geräusch erzeugenden Objekts. Als
Ergebnis werden die Geräusche
oder Töne
aus den linken und rechten Lautsprechern 42L und 42R oder
dem Kopfhörer 44 auch
auf dreidimensionale Weise synchron mit der Änderung des dreidimensionalen
Bildes geändert, entsprechend
der Bewegung der Blickrichtung zum Geräusch erzeugenden Objekt aus
Sicht der Kamera (oder der Heldenfigur).
-
Wenn
der Verzögerungswert
zwischen rechten und linken Schallwellen so gesteuert werden soll, dass
realitätsechte
dreidimensionale Geräuscheffekte
erzeugt werden, darf die Lautstärke
nicht über
den maximalen Bereich zwischen geringster und größter Lautstärke geändert werden und muss in einem
Bereich erfolgen, der den maximalen Bereich beschränkt oder
unterdrückt.
Befindet sich weiterhin zwischen der Kamera (oder der Heldenfigur)
und dem Geräusch
erzeugenden Objekt bei der Bewegung der Kamera (oder der Heldenfigur)
ein Schall isolierendes Objekt (beispielsweise ein Gebäude, wie
ein Haus oder eine Mauer, oder ein großes sich bewegendes Objekt,
wie ein Schiff oder ein Flugzeug) oder taucht ein derartiges Schall
isolierendes Objekt auf so lassen sich Geräuscheffekte erzielen, die noch
realitätsechter
sind, wenn die Lautstärkesteuerung 12a die
Lautstärke
so steuert, dass ihr Pegel deutlich geringer wird.
-
Anhand
des Blockdiagramms von 1 werden nun im Einzelnen die
Beziehun gen zwischen der Verzögerungszeit
und der Änderung
der Lautstärke
beschrieben, und zwar abhängig
davon, ob Verzögerungen
zwischen dem ersten und zweiten Audiosignal vorliegen oder nicht.
In diesem Fall führen
die Bildverarbeitungseinheit 11 und die Audioverarbeitungseinheit 12 dazu
Programme aus, die in dem Bilddaten/Progammdatenspeicher 21 gespeichert
sind. Zu diesem Zweck wird angenommen, dass Programme zur Durchführung der
Steuerung entsprechend den Charakteristiken in den 3 bis 6 zuvor
im Speicher 21 gespeichert wurden. Außerdem werden die folgenden
verschiedenen Betriebsmodi einzeln oder in verschiedenen Kombinationen
auf der Basis der Programme durchgeführt: ein Modus, die Lautstärke unter
der Bedingung zu steuern, dass keine Verzögerung vorhanden ist (null
Verzögerung)
(siehe 3), ein Modus, in dem die Lautstärke unter
der Bedingung gesteuert wird, dass eine Verzögerung vorliegt (siehe 4),
ein Modus, in dem die Lautstärke
entsprechend dem Abstand zwischen dem Geräusch erzeugenden Objekt für den Fall
gesteuert wird, dass eine Verzögerung
vorliegt (siehe 5) und ein Betriebsmodus, in
dem die Verzögerung
durch die relative Lage (die Richtung) zwischen dem Geräusch erzeugenden
Objekt und der Kamera (oder der Heldenfigur) (siehe 6)
bestimmt wird.
-
Ein
spezifisches Verfahren, mit dem die Lautstärke und/oder der Verzögerungswert
entsprechend den Charakteristiken der 3 bis 6 gesteuert werden
kann, besteht in den Schritten: Ändern
der Beziehung zwischen Abstand/Richtung und Lautstärke in einer
Gleichung so, dass sich die Charakteristiken der 3 bis 6 ergeben
und Abspeichern dieser Gleichung, Verarbeiten des Abstandes/der Richtung
und/oder der Lautstärke
mit Hilfe der gespeicherten Gleichung für jede Steuerung oder Setzen
eines Lautstärkewertes
der Charakteristiken in eine Tabelle für jede Einheitsdistanz links
und rechts, wobei die Position der Kamera (oder der Heldenfigur) als
Mittelpunkt dient, und Auslesen des Lautstärkewerts, wobei die Entfernungsdaten
als Adresse aufgefasst werden.
-
Unter
Bezug auf 2 und 3 wird nun der
Modus beschrieben, in dem die Lautstärke unter der Bedingung gesteuert
wird, dass keine Verzögerung
vorhanden ist.
-
Das
ist beispielsweise der Fall, wenn der Abstand zwischen dem Geräusch erzeugenden
Objekt und der Kamera (oder der Heldenfigur) in der Spielszene konstant
ist, so dass vorzugsweise keine gegenseitigen Verzögerungen
zwischen linken und rechten Audiosignale vorgesehen werden und die Lautstärke des
linken Audiosignals auf den maximalen Änderungsbetrag gesetzt wird
und die Lautstärke des
rechten Audiosignals auf null, wenn sich das Geräusch erzeugende Objekt auf
der linken Seite befindet (bei einem Winkel von 0) aus Blickrichtung
der Kamera (oder der Heldenfigur) (siehe 3). Wenn das
Geräusch
erzeugende Objekt so nach rechts bewegt wird, dass es entsprechend 2 einen
Halbkreis mit einem vorbestimmten Abstand r um die Kamera beschreibt
(oder die Heldenfigur), wird die Lautstärke des rechten Audiosignals
stetig erhöht
und die Lautstärke
des linken Audiosignals stetig herabgesetzt, wie es in der Charakteristik
von 3 dargestellt ist. Wenn das Geräusch erzeugende
Objekt die Vorderseite der Kamera (oder der Heldenfigur) erreicht
(eine Position bei einem Winkel von 90° von der linken Seite), werden
die Lautstärken
des linken und des rechten Audiosignals gleich gesetzt. Wenn weiter
das Geräusch
erzeugende Objekt nach rechts verschoben wird, um eine Position
auf der rechten Seite der Kamera (oder der Heldenfigur) zu erreichen (eine
Position bei einem Winkel von 180° von
linken Seite), wird die Lautstärke
des linken Audiosignals auf Null gesetzt und die Lautstärke des
rechten Audiosignals auf den maximalen Änderungsbetrag.
-
Selbst
in dem Fall, wenn das Geräusch
erzeugende Objekt fest steht und die Richtung der Kamera (der Heldenfigur)
geändert
wird, können
die Lautstärken
des linken und des rechten Audiosignals in ähnlicher Weise gesteuert werden,
wenn die relative Lage zwischen dem Geräusch erzeugenden Objekt und
der Kamera (oder der Heldenfigur) dieselbe ist wie die in den 2 und 3 dargestellte
Beziehung. Wenn das Geräusch
erzeugende Objekt fest steht und die Richtung der Kamera (oder der
Heldenfigur) geändert
wird, gilt dasselbe wie im Fall der in den 4 bis 6 dargestellten
Charakteristiken. Vorzugsweise wird die Zunahme und die Abnahme der
Lautstärke
durch Multiplexen der Änderung
der in 3 dargestellten Charakteristiken mit einem Korrekturfaktor
gesteuert, so dass die Laut stärken
umgekehrt proportional zu einem Wert sind, der sich durch Multiplikation
eines vorgegebenen Koeffizienten mit dem Abstand zwischen dem Geräusch erzeugenden
Objekt und der Kamera (oder der Heldenfigur) ergibt.
-
Unter
Bezug auf 2 und 4 wird der Betriebsmodus
beschrieben, in welchem die Lautstärke unter der Bedingung gesteuert
wird, dass eine Verzögerung
vorhanden ist. In einer Spielszene mit Lautstärkesteuerung in Kombination
mit einer dreidimensionalen Anzeige, d.h. eine Spielszene, in der die
Lautstärke
in Bezug auf die Verzögerungswerte zwischen
den linken und rechten Audiosignalen gesteuert wird, wenn sich das
Geräusch
erzeugende Objekt auf der linken Seite aus Sichtrichtung der Kamera
(der Heldenfigur) befindet, wird die Lautstärke des linken Audiosignals
auf den maximalen Änderungswert
gesetzt und die Lautstärke
des rechten Audiosignals auf ungefähr die Hälfte des maximalen Änderungswertes
(siehe 4). Der Grund, weshalb die minimale Lautstärke nicht
auf null, sondern auf die Hälfte
der maximalen Lautstärke
gesetzt wird (oder den maximalen Änderungswert), wenn eine Verzögerung vorliegt,
besteht darin, dass dreidimensionale Geräuscheffekte erhalten werden,
selbst wenn die Lautstärken
der rechten und der linken Audiosignale nicht maximal unterschiedlich
gemacht werden, indem die linken und rechten Audiosignale verzögert werden.
Die Lautstärke
des rechten Audiosignals wird stetig erhöht und die Lautstärke des
linken Audiosignals stetig herabgesetzt, entsprechend der Darstellung
in 4, wenn das Geräusch erzeugende Objekt so nach
rechts bewegt wird, dass es einen Halbkreis in einem vorbestimmten
Abstand r um die Kamera (und die Heldenfigur) beschreibt, wie in 2 dargestellt.
Wenn das Geräusch
erzeugende Objekt die Vorderseite der Kamera (oder der Heldenfigur)
erreicht, wird die Lautstärke
des linken und des rechten Audiosignals gleich gemacht. Wird das
Geräusch
erzeugende Objekt weiterhin nach rechts bewegt, um eine Position
auf der rechten Seite der Kamera (oder der Heldenfigur) zu erreichen,
wird die Lautstärke
des rechten Audiosignals auf den maximalen Änderungswert und die Lautstärke des
linken Audiosignals auf die Hälfte
des maximalen Änderungswerts
gesetzt.
-
Unter
Bezugnahme auf 2 und 5 wird nun
die Beziehung zwischen dem Abstand und der Lautstärke in dem
Betriebsmodus beschrieben, in dem die Lautstärke unter der Bedingung gesteuert wird,
dass eine Verzögerung
vorliegt, entsprechend der Darstellung in 4. Wenn
sich das Geräusch erzeugende
Objekt im Bereich eines Radius r von der Kamera (oder der Heldenfigur)
befindet, wird die Lautstärke
im Bereich zwischen dem maximalen Änderungsbetrag und dem minimalen Änderungsbetrag geändert, und
zwar abhängig
von der Richtung oder der Position des Geräusch erzeugenden Objekts aus der
Blickrichtung der Kamera (oder der Heldenfigur). Der Grund dafür liegt
darin, dass sich die Lautstärke mit
der Änderung
des Abstandes kaum ändert,
wenn sich das Geräusch
erzeugende Objekt innerhalb des Bereichs mit vorgegebenem kurzem
Abstand r befindet. In 2 nehmen die Lautstärken des
rechten und des linken Audiosignals Werte zwischen dem maximalen Änderungsbetrag
und dem minimalen Änderungsbetrag
an, wenn sich das Geräusch
erzeugenden Objekt vor der Kamera (oder der Heldenfigur) befindet.
Bewegt sich andererseits das Geräusch
erzeugende Objekt in variabler Richtung weiter weg, so wird die
Lautstärke
so geändert,
dass sie exponentiell abnimmt. Wenn sich das Geräusch erzeugende Objekt weiter
von der Kamera (oder Heldenfigur) entfernt, aber nicht um mehr als
einen vorbestimmten Abstand, wird die Lautstärke auf Null gesetzt.
-
Unter
Bezugnahme auf 2 und 6 wird nun
der Betriebsmodus beschrieben, in welchem die Verzögerungswerte
in Abhängigkeit
der gegenseitigen Lage zwischen dem Geräusch erzeugenden Objekt und
der Kamera (oder Heldenfigur) gesteuert werden. Blickt die Kamera
(oder die Heldenfigur) nach vorne und befindet sich das Geräusch erzeugende
Objekt im Vordergrund, so ist es notwendig, dass keine Verzögerung zwischen
den linken Audiosignal und dem rechten Audiosignal besteht. Wird die
Verzögerung
so gesteuert, dass sie sich ändert, wenn
sich die Kamera (oder die Heldenfigur) nur wenig nach links oder
rechts bewegt, so ergibt sich in Bezug auf das dargestellte Bild
ein unangenehmer Eindruck. Daher wird entsprechend der Darstellung in 6 die
Verzögerung
so eingestellt, dass sie sich in den Bereich von vorbestimmten Abständen auf
der linken und rechten Sei te von der Kamera (oder die Heldenfigur)
nicht ändert.
Befindet sich insbesondere das Geräusch erzeugende Objekt auf
der linken Seite, gesehen von der Kamera (oder Heldenfigur), so wird
die Verzögerung
des linken Audiosignals auf Null gesetzt und die Verzögerung des
rechten Audiosignals wird auf den maximalen Verzögerungswert gesetzt. Die Verzögerung für das rechte
Audiosignal wird verringert, wenn sich das Geräusch erzeugende Objekt nach
rechts bewegt und dabei einen Halbkreis mit einem vorbestimmten
Abstand r um die Kamera (oder die Heldenfigur) beschreibt, wobei
die Verzögerungswerte
des linken und des rechten Audiosignals auf Null gesetzt werden:
Im Bereich von vorbestimmten Abständen auf der linken und rechten
Seite vom Mittelpunkt wird der Verzögerungswert des linken Audiosignals
stetig erhöht,
während
der Verzögerungswert
des rechten Audiosignals auf Null gesetzt wird, wenn sich das Geräusch erzeugende
Objekt nach rechts auf einer Position bewegt, die vom Mittelpunkt einen
vorbestimmten Abstand aufweist.
-
7 zeigt
ein Blockdiagramm mit dem Aufbau eines Geräuschgebers oder Tonerzeugers
nach einer zweiten Ausführungsform
der vorliegenden Erfindung. Der Geräuschgeber dieser Ausführungsform unterscheidet
sich vom Geräuschgeber
nach der ersten Ausführungsform
(siehe 1) in folgenden Punkten: Zum ersten ist der Hauptteil
des Prozessors 10 durch eine Videokonsole 50 ersetzt.
Weiterhin besteht die Bildverarbeitungseinheit 11 aus einer
Haupt CPU (M-CPU) 51 und zwei Risk CPUs (R-CPU) 52 und 53.
Der Bildspeicher 13 und der Pufferspeicher 15 bestehen
aus einem Arbeitsspeicher RAM (W-RAM) 55 mit einer großen Speicherkapazität. Die Audioverarbeitungseinheit 12 wird
durch eine R-CPU 53 dargestellt,
d.h. die R-CPU 53 wird sowohl für die Bild- als auch die Audioverarbeitung
eingesetzt. Wie vorstehend beschrieben, besteht die Bildverarbeitungseinheit 11 aus
drei CPUs (die M-CPU 51, die R-CPU 52 und die
R-CPU 53). Der Grund, weshalb die Audioverarbeitungseinheit 12 durch
eine R-CPU 53 dargestellt ist, liegt darin, dass die Audioverarbeitung
in kürzeren
Zeiten durchgeführt
werden kann als die Bildverarbeitung. Der Grund, weshalb der Bildspeicher 13 und
der Pufferspeicher 15 durch einen W-RAM 55 mit
großer
Kapazität
(bei spielsweise 4 Megabyte) dargestellt werden, liegt darin, dass
Speicherplatz leichter zugewiesen werden kann, so dass die Verteilung
der für
die Bildverarbeitung und die Audioverarbeitung verwendeten Zeitperioden
flexibel und abhängig
von dem Nutzungszweck eingestellt werden kann.
-
Zur
Steuerung der Eingabe/Ausgabe einer Vielzahl von Bedieneinheiten 30 wird
ein Controller 56 für
diese Bedieneinheiten vorgesehen. Außerdem ist eine Eingabe/Ausgabesteuereinheit
(I/O) 57 vorgesehen, um den Datentransfer oder die Eingabe/Ausgabe
zwischen M-CPU 51, R-CPU 52, R-CPU 53 und
dem W-RAM 55 und dem externen Speicher 20, dem
Controller 56 und ähnlichem
zu steuern. Außerdem
sind vorgesehen: eine Verbindung 581 für eine Kassette, um einen externen
Speicher 20 lösbar anzuschließen, Verbindungen 582 und 583,
um die Bedieneinheiten 30 an den Controller 56 anzuschließen, Audioverbindungen 584 und 585,
um Filter 17a und 17b an Lautsprecher 42L und 42R oder
einen Kopfhörer 44 eines
Fernsehers 40 anzuschließen, und eine Verbindung 586 für ein Bildsignal,
um eine Bilderzeugungsschaltung 14 an eine Bild-Wiedergabevorrichtung 41 anzuschließen. In
der folgenden Beschreibung werden die verschiedenen Arten von Verbindungen 581 bis 586 nur
noch als Verbinder bezeichnet. Da der weitere Aufbau gleich ist
zu dem in 1 dargestellten und die gleichen
Abschnitte mit gleichen Bezugszeichen versehen sind, wird deren detaillierte
Beschreibung hier unterlassen.
-
Da
der externe Speicher 20 als Informationsspeichermedium
dient, kann die ROM Kassette durch verschiedene andere Aufzeichnungs-
oder Speichermedien ersetzt werden, wie beispielsweise eine CD-ROM
zur optischen Datenspeicherung, eine magnetische Platte zur magnetischen
Datenspeicherung und eine magnetoptische Platte. In diesem Fall muss
ein Aufzeichnungs- oder Wiedergabegerät verwendet werden, das dem
Informationsspeichermedium entspricht, um eine gewisse Datenmenge
aus dem Informationsspeichermedium auszulesen und die Daten temporär in einen
Speicherbereich in einem Teil des W-RAM 55 in der Videospielkonsole 50 zu
speichern.
-
8 zeigt
ein Diagramm zur Illustration der Speicherbelegung im W-RAM 55.
Im W-RAM 55 wird Speicherplatz auf der Grundlage von Programmen zugewiesenen
vorher in einem Bild/Programm Speicher 21 im externen Speicher 20 gespeichert
waren. Ein Beispiel wird im Folgenden beschrieben. Das W-RAM 55 enthält einen
Programmbereich 55a, in den Teile der Programme übertragen
und gespeichert werden, die im Bild/Programmspeicher 21 enthalten
sind, einen Bildrahmenspeicherbereich 55b, in dem Bilddaten
gespeichert sind, die einem Rahmen (entsprechend einem Bildrahmen)
entsprechen, einen Z-Pufferbereich 55c, der Koordinatendaten
für die
Tiefen eines jeden Objekts oder einer jeden Figur speichert, einen
Bilddatenbereich 55d, einen Geräuschdatenbereich 15 für die Bearbeitung
von Audiodaten, einen Steuerdaten-Speicherbereich 55e und einen
Arbeitsspeicherbereich 55f.
-
Der
Geräuschspeicherbereich 15 entspricht dem
Pufferspeicher in 1 und umfasst entsprechend der
Darstellung in 8 einen nicht verzögerten Pufferbereich 15a,
einen Verzögerungs-Pufferbereich 15b und
einen Speicherbereich 15c für Objektkoordinatendaten. Der
nicht verzögerte
Pufferbereich 15a und der Verzögerungs-Pufferbereich 15b weisen Speicherstrukturen
auf, wie sie genauer in 9 dargestellt sind, und die
Daten werden wie dargestellt ein- und ausgelesen. Wenn Audiodaten
für jede
Verarbeitungseinheit in den nicht verzögerten Pufferbereich 15a eingeschrieben
oder daraus ausgelesen werden, werden die vorher geschriebenen Daten
jedes Mal Byte für
Byte auf die nachfolgende Adresse verschoben, wenn die aus einem
Byte bestehenden Audiodaten in die erste Adresse geschrieben werden.
Audiodaten werden nach dem FIFO Prinzip (First-in-first-out) eingeschrieben
und als Audiodaten (Lesedaten) in einen ersten Kanal (CH1) von der
Endadresse ausgelesen. Die auf dem ersten Kanal aus dem nicht verzögerten Pufferbereich 15a ausgelesenen
Audiodaten werden, so wie sie sind, in den erste Adresse des Verzögerungs-Pufferbereichs 15b geschrieben.
Zu dieser Zeit werden Audiodaten von einer Adresse ausgelesen, die
in einem Adressregister 15d (ein internes Register von
R-CPU 53) gespeichert ist, und eine Leseadresse für den Verzögerungs-Pufferbereich 15b angibt,
und als Audiodaten auf einem zweiten Kanal (CH2) ausgegeben. Die
Anzahl von Adressen (Bytes) von der ersten Adresse des Verzögerungs-Pufferbereichs 15d zu
der durch das Adressregister 15d angegebenen Adresse stellt die
Verzögerungszeit
für Geräusche auf
dem zweiten Kanal gegenüber
Geräuschen
auf dem ersten Kanal dar. In diesem Fall reicht jedoch eine Kapazität entsprechend
der maximalen Verzögerungszeit
als Speicherkapazität
des Verzögerungs-Pufferbereichs 15b aus.
Allerdings wird dann ein Lese-Steuerprogramm in der R-CPU 52 kompliziert.
Brauchen andererseits die Geräusche
auf dem zweiten Kanal gegenüber
den Geräuschen
auf dem ersten Kanal nicht verzögert
zu werden, kann die im Adressregister 15d angegebene Leseadresse
auf die gleiche erste Adresse als Schreibadresse des verzögerten Pufferbereichs 15b gesetzt
werden. Damit lässt
sich die Verzögerungszeit
in einem weiten Bereich ändern.
-
Obwohl
die in 9 dargestellte Ausführungsform eben für den Fall
beschrieben wurde, dass der Geräuschspeicherbereich
(oder der Pufferspeicher für
die Audioverarbeitung) 15 im Bereich der minimalen Speicherkapazität effektiv
benutzt wurde, kann eine Speicherstruktur entsprechend 10 verwendet
werden, wenn ein Geräuschspeicherbereich 15 mit
einer großen
Speicherkapazität
zur Verfügung
gestellt werden kann. In 10 wird
die Speicherkapazität
eines Verzögerungs-Pufferbereichs 15b' auf eine Kapazität gesetzt,
die der Summe der Speicherkapazitäten eines nicht verzögerten Pufferbereichs 15a und
eines Verzögerungs-Pufferbereichs 15b entspricht
(15b' = 15a + 15b).
Audiodaten auf dem ersten Kanal (CH1) werden in der gleichen Weise
wie in 9 eingeschrieben und ausgelesen, während Audiodaten
auf den zweiten Kanal (CH2) in der folgenden Weise eingeschrieben
und ausgelesen werden. Dazu schreibt R-CPU 53 einen Wert
einer Schreibadresse, die der Verzögerungszeit entspricht, in
ein Adressregister 15e, das in R-CPU 53 enthalten ist.
Dieselben Audiodaten wie auf dem ersten Kanal werden gleichzeitig
in Adressen geschrieben, die durch das Adressregister 15e angegeben
wurden. Die Audiodaten werden vom Verzögerungs-Pufferbereich l5b' (Geräusche auf
dem zweiten Kanal werden erzeugt) ausgelesen, beginnend bei der
Endadresse des Verzögerungs-Pufferbereichs 15b'. Das hat zur Folge,
dass die Audiodaten auf dem zweiten Kanal zu einer Zeit ausgelesen
werden, die gegenüber
der Zeit verzögert
ist, bei der die gleichen Audiodaten auf dem ersten Kanal ausgelesen
werden (Geräusche auf
den ersten Kanal werden erzeugt), und zwar durch einen Zeitabstand,
der proportional ist zur Anzahl der Adressen, die sich durch Subtraktion
des Adresswertes im Adressregister 15e von der Anzahl der
Adressen ergibt, die dem Verzögerungs-Pufferbereich 15b entsprechen.
-
Auf
der anderen Seite enthält
der Speicherbereich 15c die Koordinatendaten eines Geräusch erzeugenden
Objekts oder ähnlichem,
das auf dem Bildschirm dargestellt ist. Beispielsweise speichert der
Koordinatendaten-Speicherbereich 15c Koordinatendaten eines
Objekts 1, das Geräusche
erzeugt, wie beispielsweise eine feindliche Figur oder ein Wasserfall.
Der Koordinatendaten-Speicherbereich 15c speichert Koordinatendaten
eines Objekts 2, wie beispielsweise einer Kamera (oder einer Heldenfigur),
deren Blickrichtung bewegt wird, um das Objekt 1 zu sehen, wenn
ein Bediener die Bedienelemente 30 für Koordinatendaten des Objekts
2 betätigt. Wenn
das Objekt 1 Geräusche
erzeugt, berechnet M-CPU 51 eine Richtung zum Objekt 1
aus Blickrichtung von Objekt 2 sowie den Abstand dazwischen auf der
Basis der Koordinatendaten von Objekt 1 und der Koordinatendaten
von Objekt 2. Weiterhin ist vorher ein Programm aufgesetzt worden,
um dreidimensionale Geräuscheffekte
zu erzeugen, die entsprechend der Charakteristiken in den 3 bis 6 die
geeignetsten dreidimensionalen Geräuscheffekte für eine dreidimensionale
Bildanzeige erzeugen und auf der Basis von Daten ausgeführt werden,
die Richtung und Entfernung angeben, um Daten für die Verzögerungszeit, die Lautstärke und
die Art der Geräusche zu
erzeugen und die diese Daten an R-CPU 53 geben. R-CPU 53 führt die
Steuerung des Einschreibens und Auslesens aus, die anhand von 9 und 10 beschrieben
wurden, um die Verzögerungszeit
und die Lautstärke
für die
in jedem der ersten und zweiten Kanäle erzeugten Geräusche zu
steuern..
-
Unter
Bezugnahme auf 11 wird nun der schematische
Ablauf des Spiels be schrieben. Wenn die Videokonsole 50 mit
dem Netzschalter eingeschaltet wird, führen die M-CPU 51,
und/oder die R-CPUs 52 und 53 die folgenden Operationen
durch. Im Einzelnen wird im Schritt S10 ein Menü für die Initialisierung des Spiels
angezeigt. Im Schritt S11 beurteilt M-CPU 51, ob eine Entscheidungstaste
(beispielsweise ein Startknopf) im Bedienungselement 30 gedrückt wurde.
Wenn festgestellt ist, dass der Startknopf gedrückt wurde, geht das Programm
zum Schritt S12. Wird festgestellt, dass der Startknopf nicht gedrückt wurde,
kehrt das Programm zu Schritt S10 zurück. Im Schritt S12 führen M-CPU 51,
R-CPU 52 und R-CPU 53 Bildverarbeitung für den Spielablauf
auf der Grundlage von Programm- und Bilddaten durch, die im externen
Speicher 20 gespeichert sind. Im Schritt S13 wird ein Objekt
1, beispielsweise eine Geräusch
erzeugende Feindfigur, und ein Objekt 2, eine vom Bediener gesteuerte
Heldenfigur, auf der Anzeige 41 als eine Szene auf dem
Spielschirm dargestellt. Im Schritt S14 wird entschieden, ob die
Bedingung, dass Objekt 1 Geräusche
erzeugen soll, auf der Basis des Spielprogramms erfüllt ist.
Wenn festgestellt wird, dass die Bedingung erfüllt ist und Objekt 1 Geräusche erzeugen
soll, geht das Programm zu Schritt S15 über. Im Schritt S15 erfolgt
die Bearbeitung für
den Audioausgang (Verarbeitung in einer Subroutine die im Detail
anhand von 12 beschrieben werden wird).
Wird andererseits in Schritt S14 in festgestellt, dass das Objekt
1 keine Geräusche
erzeugen soll, kehrt das Programm zum Schritt S12 zurück. Über Schritt
S12 wird die Bildbearbeitung entsprechend dem Spielfortschritt weitergeführt.
-
Bezug
nehmend auf 12 wird nun die Subroutine für die Bearbeitung
des Audioausgangs beschrieben. Zuerst liest im Schritt S20 die M-CPU 51 die
Koordinatendaten von Objekt 1 und die Koordinatendaten von Objekt
2 aus dem Koordinaten-Datenspeicherbereich 15c, die entsprechend 8 im
Geräuschspeicherbereich 15 gespeichert
sind. In Schritt S21 wird auf der Basis der Koordinatendaten von
Objekt 1 und Objekt 2 die Richtung von Objekt 1 aus der Blickrichtung
von Objekt 2 und deren Abstand berechnet. In Schritt S22 wird entsprechend
der Beschreibung der 3 bis 6 der Wert
der Verzögerung
auf der Basis der Richtung berechnet, in der das Objekt 1 existiert;
weiter wird die Lautstärke
auf der Basis von Richtung und Abstand berechnet. In Schritt S23
werden Daten an R-CPU 53 übergeben, die die berechnete
Lautstärke
und den Wert der Verzögerung
repräsentieren,
sowie Daten, die die Art des Geräusches
darstellen. In Schritt S24 liest die R-CPU 53 dann einen
Audiorahmen (Audiodaten für jede
Verarbeitungseinheit) aus dem Geräuschquelledatenspeicher 22 im
externen Speicher 20 auf der Basis von Daten, wie die Art
des Geräusches
angeben. In Schritt S25 werden die aus dem Geräuschquelledatenspeicher 22 ausgelesen
Audiorahmendaten dann in den nicht verzögerten Pufferbereich 15a gegeben,
der in 9 dargestellt ist. In Schritt S26 wird in die
Lautstärke
des Audiorahmens anhand der Daten eingestellt, die die Lautstärke repräsentieren. In
Einzelnen wird die Lautstärke
getrennt für
die linke und rechte Seite entsprechend der Richtung des Objekts
1 gesteuert, wie es in 3 oder 4 durch
L und R angezeigt ist, und die Lautstärke wird entsprechend den Abstand
zum Objekt 1 gesteuert, wie es 5 darstellt.
Im Schritt S27 werden die Daten des Audiorahmens, dessen Lautstärke gesteuert
wird, aus der Endadresse des nicht verzögerten Pufferbereichs 15a ausgelesen.
Im Schritt S28 wird dann der ausgelesene Audiorahmen als Audiodaten
auf einem ersten Kanal ausgegeben. Im Schritt S29 stellt dann R-CPU 53 auf
der Grundlage der Daten über
den Wert der Verzögerung
fest, ob eine Verzögerung
vorliegt oder nicht. Wenn festgestellt wird, dass keine Verzögerung vorliegt,
geht das Programm zum Schritt S30 über. Im Schritt S30 gibt R-CPU 53 den aus
dem nicht verzögerten
Pufferbereich 15a ausgelesenen Audiorahmen als Audiodaten
auf einem zweiten Kanal aus.
-
Wird
andererseits festgestellt, dass eine Verzögerung vorliegt, geht das Programm
zu Schritt S31 über.
Im Schritt S31 schreibt R-CPU 53 den aus dem nicht verzögerten Pufferbereich 15a ausgelesen
Audiorahmen in den Verzögerungs-Pufferbereich 15b. Im
Schritt S32 stellt R-CPU 53 dann fest, ob der vorherige
Verzögerungswert
gleich dem aktuellen Verzögerungswert
ist. Wird festgestellt, dass sie nicht gleich sind, geht das Programm
zum Schritt S33 über.
Im Schritt S33 führt
R-CPU 53 eine erneute Abtastung des Audiorahmens durch.
Ist also der aktuelle Verzögerungswert
kleiner als der vorherige Verzögerungswert,
so komp rimiert R-CPU 53 den Audiorahmen um den Betrag der Änderung
im Verzögerungswert.
Liegt der aktuelle Verzögerungswert über dem
vorherigen Verzögerungswert,
so expandiert R-CPU 53 den Audiorahmen um die Änderung
in Verzögerungswert.
Im Schritt S33 wird dann eine erneute Abtastung des Audiorahmens
durchgeführt,
bevor das Programm zu Schritt S34 übergeht.
-
Wird
andererseits in Schritt S32 festgestellt, dass der aktuelle Verzögerungswert
gleich dem vorherigen Verzögerungswert
ist, so geht das Programm zum Schritt S34 über. Entspricht der aktuelle
Verzögerungswert
dem Verzögerungswert
zu dem Zeitpunkt, in dem die Geräuscherzeugung
begann, so kann der aktuelle Verzögerungswert nicht mit einem vorherigen
Verzögerungswert
verglichen werden, und das Programm geht zu Schritt S34 über und
betrachtet beide als gleich. Im Schritt S34 bestimmt R-CPU 53 einen
Adresswert im Adressregister 15d auf der Grundlage des
Verzögerungswertes.
Im Schritt S35 liest R-CPU 53 dann den in den Verzögerungs-Pufferbereich 15b geschriebenen
Audiorahmen aus der bezeichneten Adresse aus und gibt den Audiorahmen
als Audiodaten auf den zweiten Kanal aus.
-
Unter
Bezug auf das Zeitdiagramm in 13, 14 oder 15 werden
nun die spezifischen Operationen in den vorgenannten Schritten S29
bis S35 beschrieben.
-
Im
vorgehenden Schritt S29 werden Audiodaten entsprechend den Zeitdiagramm
von 13 ausgegeben, wenn festgestellt wird, dass kein
Verzögerungswert
vorliegt. In diesem Beispiel ist die Länge der Zeit der Audiodaten
für jede
Bearbeitung der Einheit (einen Audiorahmen) auf 1/240 Sekunden eingestellt
(ungefähr
4 ms). Wenn der Audiorahmen 1 ausgegeben wird, ist keine Verzögerungsbearbeitung durch
den ersten und zweiten Kanal erforderlich und R-CPU 53 gibt
gleichzeitig den Audiorahmen 1 auf den ersten und im zweiten Kanal
aus. Dieser Vorgang wiederholt sich in Bezug auf Daten, die dem
Audiorahmen 2 und den folgenden Daten entsprechen.
-
Wenn
in Schritt S29 festgestellt wird, dass ein Verzögerungswert vorliegt und außerdem im
folgenden Schritt S32, dass der vorherige Verzögerungswert und der aktuelle
Verzögerungswert
gleich sind (d.h. der Verzögerungswert
ist konstant), werden die Audiodaten entsprechend dem Zeitdiagramm von 14 ausgegeben.
In diesem Beispiel ist angenommen, dass ein Zeitabschnitt, der dem
Verzögerungswert
entspricht, variabel im Bereich von 0 bis 1/1000 Sekunden (1 ms)
gesteuert wird, und dass der zweite Kanal einen konstanten Verzögerungswert
von 1/2000 Sekunden (0,5 ms) aufweist. Wenn die Geräuscherzeugung
gestartet wird, gibt R-CPU 53 den Audiorahmen 1 im zweiten
Kanal nach einer Verzögerung
von 0,5 ms bezüglich
des Audiorahmens 1 im ersten Kanal aus, um einen Abschnitt zu bilden,
in dem nur während
einer Zeitperiode kein Geräusch
auftritt, die dem Verzögerungswert
auf der Seite des zweiten Kanals entspricht. Nachdem der Audiorahmen
1 auf der Seite des ersten Kanals ausgegeben wurde, verbleibt auf
der Seite des zweiten Kanals ein Teil des Audiorahmens 1, der 0,5
ms entspricht. Wenn der Audiorahmen 2 auf der Seite des ersten Kanals
ausgegeben ist, wird der Teil des Audiorahmens 1 auf der Seite des
zweiten Kanals ausgegeben, der den verbleibenden 0,5 ms entspricht
und danach der zweite Rahmen 2 ausgegeben. Dieser Vorgang wird in
Bezug auf die Daten wiederholt, die dem Audiorahmen 3 und den folgenden
Daten entsprechen. Audiodaten werden daher immer auf der Seite des
zweiten Kanals mit einer Verzögerung
von 0,5 ms bezüglich
denen auf der Seite des ersten Kanals ausgegeben. Diese Operation
wird wiederholt, bis der Verzögerungswert
geändert
oder die Geräuscherzeugung
beendet wird, wobei es möglich
ist, die Verarbeitung des Audioausgangs in dem Fall zu erreichen,
bei dem ein konstanter Verzögerungswert vorliegt.
-
Wird
in Schritt S29 festgestellt, dass ein Verzögerungswert vorliegt und außerdem im
folgenden Schritt S32, dass der vorherige Verzögerungswert und der aktuelle
Verzögerungswert
nicht gleich sind (d.h. der Verzögerungswert
ist variabel), werden die Audiodaten entsprechend dem Zeitdiagramm
von 15 ausgegeben. Wird beispielsweise der Fall betrachtet,
bei dem der Audiorahmen 1 und der Audiorahmen 2 auf der Seite des
ersten Kanals ausgegeben werden, so wird der Au diorahmen 1 und der
Audiorahmen 2 auf der Seite des zweiten Kanals nach Verzögerungen
von 0,5 ms bzw. 0,25 ms ausgegeben (d.h. der Verzögerungswert
wird von 0,5 ms auf 0,25 ms geändert).
Die Änderung
im Verzögerungswert
besteht zu dieser Zeit in einer Abnahme um 0,25 ms. Deshalb komprimiert
R-CPU 53 den Audiorahmen 1 auf der Seite des zweiten Kanals
um 0,25 ms, entsprechend der Änderung
in Verzögerungswert (d.h.
der Audiorahmen 1 wird erneut abgetastet waren zwar von 4 ms auf
3,75 ms). Wenn der Audiorahmen 2 auf der Seite des ersten Kanals
ausgegeben wird, verbleibt ein Teil, entsprechend 0,25 ms des Audiorahmens
1 auf der Seite des zweiten Kanals, so dass es möglich ist, die Änderung
in Verzögerungswert
von 0,5 ms auf 0,25 ms zu erreichen. Wenn der Audiorahmen 3 auf
der Seite des ersten Kanals danach ausgegeben wird, wird der Verzögerungswert auf
der Seite des zweiten Kanals auf 0,75 ms geändert, so dass R-CPU 53 den
Audiorahmen 2 auf der Seite des zweiten Kanals um 0,5 ms erweitert,
entsprechend der Änderung
des Verzögerungswerts (d.h.
der Audiorahmen 2 wird erneut abgetastet und zwar von 4 ms auf 4,5
ms). Wenn der Audiorahmen 3 auf der Seite des ersten Kanals ausgegeben
ist, verbleibt ein Teil entsprechend 0,75 ms des Audiorahmens 2
auf der Seite des zweiten Kanals, so dass es möglich ist, die Änderung
in Verzögerungswert
von 0,25 ms auf 0,75 ms zu erreichen. Wird also die Länge der
Zeit des Audiorahmens mit n bezeichnet, der vorherige Verzögerungswert
mit db und der nächste Verzögerungswert
mit df so kann die Verarbeitung des Audioausgangs bei variablen
Verzögerungswert ermöglicht werden,
indem der Audiorahmen erneut abgetastet wird und zwar von (n) auf
(n + df – db).
-
Bei
variablem Verzögerungswert
kann also die Entstehung von Rauschen durch überlappende und verlorene Daten
verhindert werden, indem die Audiodaten erneut abgetastet werden.
-
Obwohl
die vorliegende Erfindung nun im Einzelnen beschrieben und erläutert wurde,
versteht es sich von selbst, dass es sich dabei nur um eine beispielhafte
Darstellung handelt, die den Umfang der vorliegenden Erfindung in
keiner Weise beschränkt,
und dass der Bereich der Erfindung nur durch den Wortlaut der beigefügten Ansprüche beschränkt ist.