-
Die
vorliegende Erfindung betrifft einen mit einem Sprachspeicher ausgestatteten
Autoradio-Empfänger,
der Beschreibungen von Wortschatzelementen enthält, wobei in dem Sprachspeicher jede
Beschreibung von Wortschatzelementen auf der Basis einer Codierung
adressierbar ist, die aus einer ein Wortschatzelement bezeichnenden
Zahl besteht, wobei die Menge der die für einen bestimmten Benutzer
nützlichen
Wortschatzelemente bezeichnenden Zahlen aus einer Zahlenreihe besteht,
in welcher Kontinuitätslösungen zwischen
aus aufeinanderfolgenden Zahlen bestehenden Zahlengruppen vorhanden
sind, wobei eine aus aufeinanderfolgenden Zahlen bestehende Zahlengruppe
als Segment bezeichnet wird.
-
Ein
solcher Autoradio-Empfänger
wird insbesondere zum Empfangen und zum Auswerten von sogenannten
RDS/TMC Signalen verwendet. Er ist in der Lage, Nachrichten, die
den Straßenverkehr
betreffen, bzw. Nachrichten für
die Navigation eines Fahrzeuges auszugeben, wobei die Nachrichten
auf einem Bildschirm angezeigt und/oder mittels Sprachsynthese ausgegeben
werden.
-
Die
vorliegende Erfindung betrifft ebenfalls ein Modul zum Erzeugen
von Nachrichten, die den Straßenverkehr
betreffen, welcher Modul einen Beschreibungen von Wortschatzelementen
enthaltenden Sprachspeicher aufweist bzw. mit einem solchen Sprachspeicher
gekoppelt ist, wobei in dem Sprachspeicher jede Beschreibung von
Wortschatzelementen auf der Basis einer Codierung adressierbar ist, die
aus einer ein Wortschatzelement bezeichnenden Zahl besteht, wobei
die Menge der die für
einen bestimmten Benutzer nützlichen
Wortschatzelemente bezeichnenden Zahlen aus einer Zahlenreihe besteht,
in welcher Kontinuitätslösungen zwischen
aus aufeinanderfolgenden Zahlen bestehenden Zahlengruppen vorhanden
sind, wobei eine aus aufeinanderfolgenden Zahlen bestehende Zahlengruppe
als Segment bezeichnet wird.
-
Die
vorliegende Erfindung betrifft weiter eine tragbare Speicherkarte,
die zum Einsatz in einem Gerät
zum Erzeugen von Nachrichten bestimmt ist, welche Speicherkarte
einen Beschreibungen von Wortschatzelementen enthaltenden Sprachspeicher aufweist,
wobei in dem Sprachspeicher jede Beschreibung von Wortschatzelementen
auf der Basis einer Codierung adressierbar ist, die aus einer ein Wortschatzelement
bezeichnenden Zahl besteht, wobei die Menge der die für einen
bestimmten Benutzer nützlichen
Wortschatzelemente bezeichnenden Zahlen aus einer Zahlenreihe besteht,
in welcher Kontinuitätslösungen zwischen
aus aufeinanderfolgenden Zahlen bestehenden Zahlengruppen vorhanden
sind, wobei eine aus aufeinanderfolgenden Zahlen bestehende Zahlengruppe
als Segment bezeichnet wird.
-
Ein
Empfänger
von Rundfunksendungen, in dem digitale Signale von Straßenverkehrsnachrichten
verarbeitet werden und der einen Speicher zum Umwandeln der digitalen
Signale in verständliche Sprachnachrichten
aufweist, ist aus dem Dokument EP-A-O 263 332 bekannt. In diesem
Dokument wird der Speicher in Speicherbereiche aufgeteilt, wobei jeder
Speicherbereich die Daten enthält,
die einen Straßenabschnitt
betreffen, welcher einer auf diesem Straßenabschnitt liegenden Stadt
entspricht. Doch bildet heute die Menge der Codierungen und der
Definitionen von Wortschatzelementen eine festgelegte Datenbank,
welche die Wortschatzelemente zusammenfaßt, in einer Weise, die nicht
unbedingt dem Vorschlag dieses Dokumentes entspricht und die nicht
mehr verändert
werden kann.
-
WO-A-92
19 093 beschreibt einen RDS-Autoradioempfänger, der eine tragbare, einen
Sprachschatz und Ortscodierungen enthaltende Speicherkarte aufweist.
-
Ein
Gegenstand der Erfindung ist, ausgehend von der Menge der Codes
und der Wortschatzelemente, so wie sie festgelegt wurde, die Größe des Sprachspeichers
im Empfänger
zu verkleinern und außerdem,
ausgehend von dem Code eines Wortschatzelementes, einen schnellen
Zugriff, vorzugsweise den schnellstmöglichen Zugriff zu diesem Wortschatzelement
zu gewährleisten.
-
Der
Gegenstand der Erfindung ist demnach ein Autoradioempfänger gemäß Patentanspruch
1.
-
Zu
diesem Zweck ist der erfindungsgemäße Autoradioempfänger dadurch
gekennzeichnet, daß die
Beschreibungen, die den in den verschiedenen Segmenten enthaltenen
Codes entsprechen, in dem Sprachspeicher hintereinander geordnet
sind und der Empfänger
einen Hilfsspeicher aufweist, der digitale Daten zur Bestimmung
der Position im Sprachspeicher der betreffenden Beschreibung aus
dem einen der obengenannten Codes enthält.
-
Der
Erfindung liegt also die Überlegung
zugrunde, die Gruppen in dem Sprachspeicher so viel wie möglich aufzuschichten,
ungeachtet der Schwierigkeit, die aus der Notwendigkeit entsteht,
ein indirektes Adressieren verwenden zu müssen, um auf eine Gruppe zuzugreifen.
-
Eine
erste Möglichkeit,
den Sprachspeicher zu verwalten, beruht auf der Verwendung eines
Hilfsspeichers, der, jeweils jedem einzelnen Code in der Reihe der
für einen
bestimmten Benutzer nützlichen Code
zugeordnet, die Adresse von dem Anfang der entsprechenden Beschreibung
im Sprachspeicher enthält.
-
Eine
zweite Möglichkeit,
den Sprachspeicher zu verwalten, beruht auf der Verwendung eines
Hilfsspeichers, der, für
ein bestimmtes Segment,
- – den kleinsten Codewert, der
im Segment enthalten ist,
- – den
größten Codewert,
der im Segment enthalten ist, und
- – die
Position im Sprachspeicher der Beschreibung, die dem an der einen
der Grenzen des Segmentes liegenden Code entspricht,
enthält.
-
Mit
diesem Hilfsspeicher genügt
es, ausgehend von einem bestimmten Codewert, diesen Codewert nacheinander
mit den Grenzen der aufeinanderfolgenden, in dem Hilfsspeicher gefundenen
Segmente zu vergleichen, um das Segment zu finden, das die Beschreibung
des diesem Code entsprechenden Wortschatzelementes enthält, und
somit ihre Position im Sprachspeicher zu bestimmen.
-
Vorzugsweise
enthält
ein Speicher mit sogenannter "Baumstruktur" die Adresse im Hilfsspeicher der
Daten, die ein bestimmtes Segment betreffen, und weitere, mit dieser
Adresse verbundenen Adressen, die im Hilfsspeicher die Adressen
von Daten sind, welche andere Segmente betreffen, die zu denjenigen
Segmenten gehören,
die unterhalb von dem genannten bestimmten Segment liegen, bzw.
zu denjenigen Segmenten, die oberhalb von dem genannten bestimmten
Segment liegen. Vorzugsweise enthält der Speicher mit Baumstruktur,
in Verbindung mit der ein bestimmtes Segment betreffenden Adresse, die
Adresse im Hilfsspeicher der Daten, die ein anderes Segment in der
Reihe der Segmente betreffen, das praktisch in der Mitte derjenigen
Segmente liegt, die sich unterhalb von dem genannten bestimmten Segment
befinden und die Adresse in diesem gleichen Hilfsspeicher der Daten,
die ein anderes Segment betreffen, das praktisch in der Mitte derjenigen Segmente
liegt, die sich oberhalb von dem genannten bestimmten Segment befinden.
-
Dadurch
wird es möglich,
für die
Suche nach einem Segment einen baumartigen Prozeß zu verwenden, um die Suche
zu beschleunigen.
-
Vorteilhafterweise
weist der Empfänger
eine Leseeinrichtung für
eine tragbare Speicherkarte auf und der Sprachspeicher sowie der
Hilfsspeicher befinden sich auf einer tragbaren Speicherkarte.
-
Auf
diese Weise läßt sich
das Gerät
verschiedenen Regionen einfach anpassen, in dem lediglich die Speicherkarte
ausgewechselt wird.
-
Ein
erfindungsgemäßer Modul
zum Erzeugen von Straßenverkehrsnachrichten
ist dadurch gekennzeichnet, daß,
ausgehend von der Tatsache, daß die
Beschrei bungen, welche den in den verschiedenen Segmenten enthaltenen
Codes entsprechen, im Sprachspeicher aneinander gereiht sind, der
Modul einen Hilfsspeicher aufweist bzw. mit einem solchen Hilfsspeicher
gekoppelt ist, der digitale Daten zur Bestimmung der Position im
Sprachspeicher der zugehörigen
Beschreibung enthält,
wobei diese Bestimmung von einem der vorgenannten Code ausgeht,
und Mittel zum Bestimmen mit Hilfe des genannten Hilfsspeichers
der Position einer Beschreibung im Sprachspeicher aufweist.
-
In
einer ersten Ausführungsform
weist ein solcher Modul Mittel zum Bestimmen in dem Hilfsspeicher,
jeweils jedem einzelnen Code in der Reihe der für einen bestimmten Benutzer
nützlichen
Code zugeordnet, der Adresse im Sprachspeicher von dem Anfang einer
Beschreibung auf.
-
In
einer zweiten Ausführungsform
weist der Modul Mittel auf zum Bestimmen, für ein bestimmtes Segment,
- – des
kleinsten Codewertes, der im Segment enthalten ist,
- – des
größten Codewertes,
der im Segment enthalten ist, und
- – der
Position im Sprachspeicher der Beschreibung, die dem an der einen
der Grenzen des Segmentes liegenden Code entspricht.
-
Vorteilhafterweise
weist ein solcher Modul einen Speicher mit sogenannter "Baumstruktur" auf bzw. ist mit
einem solchen Speicher gekoppelt, und enthält Mittel zur Bestimmung der
Adresse von Daten, die ein bestimmtes Segment betreffen, und in Verbindung
mit dieser Adresse weitere Adressen, die im gleichen Hilfsspeicher
die Adressen von Daten sind, welche andere Segmente betreffen, die
zu denjenigen Segmenten gehören,
die unterhalb von dem genannten bestimmten Segment liegen, bzw.
zu denjenigen Segmenten, die oberhalb von dem genannten bestimmten
Segment liegen. Vorzugsweise enthält der Modul Mittel zur Bestimmung
im baumartigen Speicher in Verbindung mit der Adresse, die ein bestimmtes
Segment betrifft, der Adresse im Hilfsspeicher der Daten, die ein
anderes, zu der Reihe von Segmenten gehörendes Segment betreffen, welches praktisch
in der Mitte derjenigen Segmente liegt, die sich unterhalb von dem
genannten bestimmten Segment befinden, bzw. der Adresse in diesem
gleichen Hilfs speicher der Daten, die ein anderes Segment betreffen,
das praktisch in der Mitte derjenigen Segmente liegt, die sich oberhalb
von dem genannten bestimmten Segment befinden.
-
In
einer tragbaren Speicherkarte für
den Einsatz in einem Gerät
zur Erzeugung von Nachrichten, sind die Beschreibungen, welche den
in den verschiedenen Segmenten enthaltenen Codes entsprechen, im
Sprachspeicher aneinander gereiht und die Speicherkarte weist einen
Hilfsspeicher auf, der digitale Daten zur Bestimmung der Position
im Sprachspeicher der entsprechenden Beschreibung enthält, wobei
diese Bestimmung aus einem der vorgenannten Codes ausgeht.
-
In
einer ersten Ausführungsform
enthält
der Hilfsspeicher einer solchen Speicherkarte, jeweils jedem einzelnen
Code in der Reihe von für
einen bestimmten Benutzer nützlichen
Codes zugeordnet, die Adresse im Sprachspeicher von dem Anfang der
zugehörigen
Beschreibung.
-
In
einer zweiten Ausführungsform
enthält
der Hilfsspeicher, für
ein bestimmtes Segment,
- – den kleinsten Codewert, der
im Segment enthalten ist,
- – den
größten Codewert,
der im Segment enthalten ist, und
- – die
Position im Sprachspeicher der Beschreibung, die dem an der einen
der Grenzen des Segmentes liegenden Code entspricht.
-
Vorteilhafterweise
weist eine solche Speicherkarte einen Speicher mit sogenannter "Baumstruktur" auf, welcher die
Adresse im Hilfsspeicher der Daten enthält, die ein bestimmtes Segment
betreffen, und in Verbindung mit dieser Adresse weitere Adressen,
die im Hilfsspeicher die Adressen von Daten sind, welche andere
Segmente betreffen, die zu denjenigen Segmenten gehören, die
unterhalb von dem genannten bestimmten Segment liegen, bzw. zu denjenigen
Segmenten, die oberhalb von dem genannten bestimmten Segment liegen.
Vorzugsweise enthält
dieser Baum-Speicher in Verbindung mit der Adresse, die ein bestimmtes
Segment betrifft, die Adresse im Hilfsspeicher der Daten, die ein
anderes, zu der Reihe von Segmenten gehörendes Segment betreffen, welches
praktisch in der Mitte derjenigen Segmente liegt, die sich unterhalb
von dem genannten bestimmten Segment befinden, und die Adresse in
diesem gleichen Hilfsspeicher der Daten, die ein anderes Segment
betreffen, das praktisch in der Mitte derjenigen Segmente liegt,
die sich oberhalb von dem genannten bestimmten Segment befinden.
-
Diese
Merkmale der Erfindung, sowie weitere detailliertere Merkmale werden
anhand der nachfolgenden Beschreibung einer Ausführungsform eines nicht einschränkenden
Beispiels verdeutlicht.
-
1 zeigt
schematisch einen mit der Erfindung ausgestatteten Autoradio-Empfänger.
-
2 zeigt
in einer detaillierteren Darstellung das die Erfindung betreffende
Geräteteil,
sowie dessen Verbindungen mit den anderen Geräteteilen.
-
3 und 4 verdeutlichen
zwei Beispiele von Baumstrukturen zum Bestimmen eines Segmentes
innerhalb einer Reihe von Zahlen, welche die Wortschatzelemente
bezeichnen.
-
Der
Empfänger
in 1 weist, beginnend mit einer Antenne 1,
eine Einrichtung 2 ("tuner") auf, die eine Abstimmungsschaltung
und eine Schaltung zur Frequenzumsetzung enthält, der eine Einrichtung 3,
die einen Zwischenfrequenzverstärker
und einen Demodulator enthält,
folgt.
-
Im
sogenannten RDS-Verfahren ("Radio Data
System") wird die
Frequenz von einem Unterträger
mit digitalen Datensignalen moduliert, die dem Empfang der verschiedenen
Sender eines gleichen Programms dienen. Ein bekannter Dekoder 13 der RDS-Nachrichten
ist vorhanden.
-
Im
Falle des bekannten sogenannten "TMC"-Verfahrens (Traffic
Message Channel) werden Nachrichten, die den Straßenverkehr
betreffen, zum Beispiel: "Stau
drei Km vor der Einfahrt in Paris", in bestimmte digitale Felder der RDS-Signale
eingefügt.
-
Um
die TMC-Signale verarbeiten zu können, weist
der Empfänger
ein Modul 14 auf, dem die RDS-Daten des Dekoders 13 zugeführt werden,
damit sie ausgewertet und gegebenenfalls gespeichert werden. Um
Sprachnachrichten ausgeben zu können,
ist dieser Modul 14 außerdem
mit einer Audioverstärkereinrichtung 4 verbunden,
der ein Lautsprecher 5 folgt. Darüber hinaus ist er mit einer
Eingabe/Ausgabe-Schnittstelle 18 verbunden, die mit einer Bedientastatur 12 und
einem Anzeigebildschirm 10, beispielsweise einem Flüssigkristallbildschirm,
verbunden ist.
-
In 2 weist
der Modul 14 einen Mikrokontroller 7 auf, der
Steuersignale erzeugt und die Signale verarbeitet, die aus den verschiedenen
Einrichtungen herrühren,
mit welchen er über
einen Adreßbus 15 und
einen Datenbus 21 verbunden ist. Außerdem wählt er aus und bereitet digitale
Daten auf, die Wortschatzelemente für einen an sich bekannten Sprachsynthetizermodul 20 bestimmen,
welcher in bekannter Weise die gewünschten Analogsignale dem Audioverstärker 4 und
dem Lautsprecher 5 zuführt.
Der Modul 14 weist außerdem
einen flüchtigen
sogenannten RAM-Speicher 8, der zur Speicherung einer Softwareschicht,
die der Mikrokontroller 7 zu einem bestimmten Zeitpunkt
verwendet, sowie zur Zwischenspeicherung der zu bearbeitenden Inhalte
der TMC-Felder dient, einen nicht-flüchtigen Speicher 9, der
zur Speicherung von Wortschatzbeschreibungen dient, die fest definiert
sind, und einen aus einem Kartenleser 22 für Speicherkarten
und einer tragbaren Speicherkarte 23, beispielsweise vom
Typ PCMCIA, bestehenden Speicher 22, 23 auf, wobei
insbesondere in dieser Speicherkarte die Beschreibungen von spezifischen
Wortschatzelementen gespeichert sind, die einem bestimmten Benutzer
und/oder einer bestimmten Region entsprechen.
-
Die üblichen
TMC-Nachrichten bestehen aus mehreren digitalen Datenfeldern, die
mit den RDS-Daten empfangen werden, und die durch ihren jeweiligen
Code die Wortschatzelemente angeben und zwar aus:
- – einem
ersten Feld mit einer Länge
von 11 Bits, das den Code für
ein Wortschatzelement, welches ein Ereignis beschreibt, enthält,
- – einem
zweiten Feld mit einer Länge
von 16 Bits, das den Code für
ein Wortschatzelement, welches den durch das besagte Ereignis betroffenen Ort
bestimmt, enthält,
- – einem
dritten Feld mit einer Länge
von 3 Bits, das den Code für
ein Wortschatzelement, welches eine Erweiterung des betroffenen
Ortes beschreibt, enthält,
- – einem
vierten Feld mit einer Länge
von 1 Bit, das die Richtung der betroffenen Fahrt beschreibt,
- – einem
fünften
Feld mit einer Länge
von 3 Bits, das die Gültigkeitsdauer
der Nachricht angibt,
- – einem
sechsten Feld mit einer Länge
von 1 Bit, das einen Hinweis liefert, ob empfohlen wird oder nicht,
eine Umleitung zu verwenden.
-
Der
Inhalt eines jeden Feldes muß so
verarbeitet werden, daß in
Klartext angegeben wird, worum es geht. Zu diesem Zweck ist ein
nicht-flüchtiger Speicher
vorgesehen, in dem Klartext-Nachrichten (zum Beispiel in der Form
der ASCII-Codes der Zeichen einer zu editierenden Nachricht) abgelegt
sind, und zwar unter Adressen, die den verschiedenen möglichen
Inhalten von dem jeweiligen Feld entsprechen, wodurch ausgehend
von dem Inhalt eines Feldes die Informationen wieder gefunden werden
können.
-
Zum
Beispiel ist das erste Feld mit einer Länge von 11 Bits (das ein Ereignis
beschreibt) mit einem Speicher verbunden, der 2048 Wortschatzelemente (d.
h. 211 Wortschatzelemente) in Klartext beinhalten kann,
wobei jedes Wortschatzelement unter der Adresse, die durch den Inhalt
des Feldes definiert ist, gefunden wird. Diese Wortschatzelemente
heißen beispielsweise "Stau", "Bauarbeiten", "Unfall", usw. Sie werden
im Speicher 9 abgelegt.
-
Das
zweite Feld mit einer Länge
von 16 Bits (das einen Ort beschreibt) ist mit einem Speicher, dem
sogenannten Speicher der Lokalisierungspunkte verbunden, der bis
zu 65536 Wortschatzelemente (d. h. 216 Wortschatzelemente)
in Klartext beinhalten kann, welche vollständige Angaben insbesondere über Ortsnamen,
ihre Art, die Region, zu der sie gehören, die nachfolgenden und
die vorhergehenden Punkte, usw. enthalten, wobei jedes Wortschatzelement
im Prinzip unter einer durch den Inhalt des Feldes angegebenen Adresse
zu finden ist. Diese Wort schatzelemente heißen beispielsweise "Paris" oder "Lille" oder "die Ausfahrt Nr.
21" usw. Sie werden
im Speicher 23 abgelegt.
-
Im
dritten Feld sind verschiedene Erweiterungstypen definiert. Mit
Erweiterung versteht man die Tatsache, daß das betrachtete Ereignis
sich zum Beispiel bis zu der nachfolgenden Lokalisierung erstreckt.
-
In
dem vierten Feld bedeutet zum Beispiel ein Bit "0" "Richtung Paris → Lille", während ein
Bit "1" "Richtung Lille → Paris" bedeuten würde (durch den Inhalt vom Feld 2 war
bereits bekannt, daß man
sich auf einer Strecke zwischen Paris und Lille befand, aber die
Richtung fehlte).
-
Die
Art eines Problems wird durch die Klartext-Informationen, die einem
im Feld 1 enthaltenen Code entsprechen, bestimmt und der
Ort, in dem sich dieses Problem ereignet, wird durch die Informationen,
die einem im Feld 2 enthaltenen Code entsprechen, angegeben.
Die in diesem Feld 2 enthaltenen Codes werden als "PL" (für "Point de Localisation" im Französischen,
d. h. Lokalisierungspunkte) bezeichnet. Sie werden durch Zahlen
dargestellt und in der Reihe dieser Zahlen sind Kontinuitätslösungen vorhanden.
Um beispielsweise die Lokalisierungspunkte im Rheintal zu definieren,
verwendet man die PL-Zahlen von 258 bis 264, dann von 930 bis 983 und
so weiter.
-
Um
jeden Lokalisierungspunkt (jede Ortsbezeichnung) zu beschreiben,
sind 170 Bytes vorgesehen. In dem Fall des Rheintales ist die höchste PL-Zahl
50004. Infolgedessen bräuchte
man für
einen Speicher der Lokalisierungspunkte, in dem die Datenadresse,
die einen Lokalisierungspunkt beschreibt, der Code selbst wäre, eine
Speicherkapazität
von 50004 mal 170 Bytes, also 8500680 Bytes.
-
Es
ist überlegt
worden, die Größe des Sprachspeichers,
der die Beschreibungen der Lokalisierungspunkte enthält, zu verkleinern.
Zu diesem Zweck betrachtet man in der normierten Datenbank nur die
Lokalisierungspunkte, die für
eine bestimmte Region nützlich
sind, und für
welche die PL-Zahlen aufeinander folgen. Sie bilden Gruppen, die
sogenannten "Segmente". Im Speicher der
Lokalisierungspunkte im Empfänger,
werden diese Segmente linear verkettet, d. h. sie werden hintereinan der
ohne Kontinuitätslösung gestellt.
Dank dieser Ordnung reicht ein Speicher mit reduzierter Kapazität aus. Mit den
so linear verketteten Segmenten könnte man sich vorstellen, um
die Zuordnung zwischen einem Code und einem bestimmten Segment herauszufinden,
einen Hilfsspeicher zu verwenden, der für jeden der möglichen
50004 Codes (in dem Fall des Rheintales) jeweils die unmittelbare
Angabe der Position der Daten enthält, die den Lokalisierungspunkt
im Sprachspeicher beschreiben. In diesem Fall würde für die Beschreibungen der Lokalisierungspunkte
die gesamte Kapazität
des Speichers (Beschreibungen der Lokalisierungspunkte + Hilfsspeicher)
1285 mal 170 Bytes, also 218450 Bytes betragen, sowie für den Hilfsspeicher
jeweils zwei Bytes für
jede PL-Zahl in der vollständigen
Menge der PL-Zahlen, also 50004 mal 2 Bytes = 100008 Bytes, d. h.
insgesamt nur 318458 Bytes statt 8500680 Bytes.
-
Es
ist auch möglich,
die Zuordnung zwischen einem Code und einem Segment mit einem Hilfsspeicher
wiederzufinden, der die niedrigste PL-Zahl und die höchste PL-Zahl
von jedem Segment enthält,
und in dem die tatsächliche
Position der dem Segment entsprechenden Beschreibungen ebenfalls
dadurch angezeigt wird, daß die
Position von einer der diesem Segment entsprechenden Grenzen in
dem Sprachspeicher, zum Beispiel die Position seiner unteren Grenze,
die man nachfolgend als "offset" bezeichnen wird,
angegeben wird. Um das Segment wieder zu finden, in dem eine bestimmte
PL-Zahl sich befindet, muß man
dann diese bestimmte PL-Zahl mit der kleinsten und mit der größten PL-Zahl
von jedem Segment (die in dem Hilfsspeicher gefunden werden) vergleichen,
bis dasjenige Segment, das die bestimmte PL-Zahl enthält, gefunden
wird. Um die Adresse der Beschreibung des Lokalisierungspunktes,
die dem PL im Sprachspeicher entspricht, zu erhalten, genügt es dann
dem Offset eine Verschiebung hinzuzufügen, die aus der Differenz
zwischen der bestimmten PL-Zahl und der kleinsten im Segment enthaltenen
Zahl besteht. In dem Fall des Rheintals, das bereits weiter oben
als Beispiel genommen wurde, gibt es 196 Segmente, so daß im Hilfsspeicher
196 mal 6 Bytes (2 für
die kleinste Zahl im Segment, 2 für die größte Zahl im Segment und 2 für die Position
des Segmentes) also 1176 Bytes vorhanden sein müßten, wiederum zuzüglich 218450 Bytes
für den
Speicher der Lokalisierungspunkte, womit insgesamt 219626 Bytes
erforderlich wären, anstatt
der oben erwähnten
318458 Bytes, wobei die Bestimmung einer Adresse dann etwas länger dauert.
-
Es
ist dennoch auch möglich,
die Zeit, die für den
Zugriff auf die Beschreibung eines Lokalisierungspunktes notwendig
ist, beträchtlich
zu verkürzen.
Zu diesem Zweck betrachtet man die Reihenordnung, in der die Segmente
im Sprachspeicher angeordnet sind, wobei diese Reihenordnung durch den
Wert der in den Segmenten enthaltenen PL-Zahlen gegeben wird. Man
sagt, daß ein
zweites Segment oberhalb eines ersten Segmentes liegt, wenn die
kleinste PL-Zahl des zweiten Segmentes größer ist, als die größte PL-Zahl
des ersten Segmentes ist.
-
Daten,
die einen Baum darstellen, über
den auf die Segmente zugegriffen wird, werden dann in einem Speicherelement
abgelegt, das "Baumspeicher" genannt wird. In
der Praxis bedeutet dies, daß man
in diesem Speicherelement Datenblöcke ablegt, die Knoten genannt
werden, und die jeweils ein Segment bestimmen, wobei die Adresse
in dem gleichen Baumspeicher von zwei weiteren Knoten angegeben wird.
Beispielsweise bestimmt der Wurzelknoten, der mit Pegel "0" bezeichnet wird, den mittleren Knoten, also
den Knoten, der praktisch in der Mitte der Reihe der Segmente liegt,
und dieser Wurzelknoten gibt zwei weitere Knoten an, und zwar:
- – einen
ersten Knoten, der mit Pegel "-1" bezeichnet wird,
und der
- – einen
praktisch in der Mitte der Vielzahl von unterhalb des besagten mittleren
Segmentes liegenden Segmenten bestimmt,
- – und
wiederum zwei weitere Knoten mit dem Pegel "-2" bestimmt,
- – einen
zweiten Knoten, ebenfalls mit dem Pegel "-1 ",
der
- – einen
praktisch in der Mitte der Vielzahl von oberhalb des besagten mittleren
Segmentes liegenden Segmenten bestimmt,
- – und
wiederum zwei weitere Knoten mit dem Pegel "-2" bestimmt.
-
Durch
den Ausdruck "praktisch
in der Mitte" versteht
man insbesondere, daß es,
falls die Anzahl der Segmente eine gerade Zahl ist, streng genommen
kein Segment wirklich in der Mitte gibt.
-
Wenn
ein Code auf der Grundlage seiner PL-Zahl gesucht wird, reicht es,
den Baum zu verfolgen bis das Segment, das die PL-Zahl enthält, gefunden
wird. Die Tiefe des Baumes, d. h. die größte Anzahl von Suchschritten,
die notwendig werden, um ein eine bestimmte PL-Zahl enthaltendes
Segment zu finden, ist höchstens
gleich dem Logarithmus Basis 2 der Gesamtzahl der im Sprachspeicher
enthaltenen Segmente. Der Hilfsspeicher, der für jedes Segment jeweils die
kleinste und die größte PL-Zahl in
jedem Segment sowie die tatsächliche
Position des Segmentes enthält,
stellt vorteilhafterweise den Baumspeicher durch jeweiliges Hinzufügen der Adressen
von zwei weiteren Knoten dar.
-
Um
die bevorzugte Art, das Durchlaufen eines Baumes zu organisieren,
zu verdeutlichen, zeigt die 3 symbolisch
in der Form eines länglichen Rechteckes 39 eine
Reihe von PL-Zahlen. Es handelt sich hierbei um die vollständige, durch
die Normierung vorgesehene Reihe der gesamten möglichen Lokalisierungspunkte:
sie besteht also aus 65536 Stellen. Dennoch werden in einer Datenbank,
die ein Land betrifft, nur einige Lokalisierungspunkte definiert.
Diese werden in Segmenten 24, 25, 26, 27, 28, 29, 30, 31 zusammengesetzt,
die schraffiert dargestellt wurden und Codes enthalten, welche bestimmte
Lokalisierungspunkte bezeichnen. Es sind außerdem Kontinuitätslösungen 32, 33, 34, 35, 36, 37, 38 zwischen
den Segmenten vorhanden. Der Wurzelknoten (Tiefe 0) des Baumes,
welcher dem Bezugszeichen 227 entspricht, enthält unter
anderem die niedrigste Zahl und die höchste Zahl des Segmentes 27.
Der Vergleich der bestimmten PL-Zahl mit diesen beiden Zahlen bietet
drei Möglichkeiten
an: entweder liegt diese bestimmte Zahl im Segment 27 und
dann braucht man nur noch die Adresse der Beschreibung des Lokalisierungspunktes,
wie weiter oben erläutert, zu
berechnen, oder diese bestimmte Zahl liegt weiter nach rechts auf
der Figur (größere Zahlen),
oder sie liegt weiter nach links (niedrigere Zahlen). Im Bereich des
Wurzelknotens 227 wurden außerdem die Adressen in dem
Hilfsspeicher von den mittleren Knoten unterhalb 225 bzw.
oberhalb 230 angegeben, womit die Baumstruktur durch Auswählen der
einen bzw. der anderen dieser Adressen, je nach dem wie das Ergebnis
des Vergleiches ausfällt,
durchlaufen werden kann.
-
Wenn
die bestimmte PL-Zahl größer ist
als die höchste
Zahl des Segmentes 27, ist der nächste Knoten mit der Tiefe
-1 derjenige, der dem Bezugszeichen 230 entspricht; er
enthält
die niedrigste Zahl und die höchste
Zahl des Segmentes 30. Wenn die bestimmte PL-Zahl kleiner
ist als die niedrigste Zahl des Segmentes 27, ist der nächste Knoten
mit der Tiefe "-1" derjenige, der dem
Bezugszeichen 225 entspricht, und er enthält die niedrigste
Zahl und die höchste
Zahl des Segmentes 25. Der Vergleich der bestimmten PL-Zahl
mit diesen beiden Zahlen liefert wiederum drei Möglichkeiten: entweder liegt
diese bestimmte Zahl im Segment 25 und dann braucht man
nur noch die Adresse der Beschreibung des Lokalisierungspunktes,
wie weiter oben erläutert,
zu berechnen, oder diese bestimmte Zahl liegt weiter nach rechts
bzw. weiter nach links in der Figur. Zum Beispiel, weiter nach rechts,
enthält
die als nächster
mittlerer Knoten durch den Knoten 225 angegebene Adresse
die niedrigste Zahl und die höchste
Zahl des Segmentes 26, sowie einen Code, der angibt, daß das Ende
des Baumes erreicht wurde. Es verhält sich ähnlich für die weiteren Segmente 24, 28, 31.
In einigen Fällen
führt die
Aufteilung des Baumes in Zweige mindestens zu einem Endknoten, der
nicht einem Segment entspricht: hier ist es der Fall für das "Pseudosegment" 250 rechts
von dem Knoten 229; in diesem Fall gibt ein Code an, entweder
im Bereich des Segmentes oder eher im Bereich des vorhergehenden
Segmentes (229), daß dieses
Segment leer ist.
-
4 soll
eine Variante bezüglich
der Art, wie das Durchlaufen eines Baumes organisiert werden kann,
verdeutlichen. Diese Variante stützt
sich auf die Kontinuitätslösungen zwischen
den Segmenten anstatt auf die Segmente, ist aber schwieriger als die
bevorzugte Methode einzusetzen. Der Wurzelknoten (Tiefe 0) des Baumes,
der dem Bezugszeichen 135 entspricht, enthält die niedrigste
Zahl des Segmentes 28 und die höchste Zahl des Segmentes 27 und
zwar beiderseits der Kontinuitätslösung 35. Der
Vergleich der bestimmten PL-Zahl mit diesen beiden Zahlen führt in der
Figur nach rechts (größere Zahlen)
bzw. nach links (niedrigere Zahlen). Bei dem Wurzelknoten 135 sind
außerdem
die Adressen im Hilfsspeicher des mittleren tieferen Knotens 133 bzw. des
mittleren höheren
Knotens 137 angegeben, womit die Baumstruktur befolgt werden
kann. Wenn die bestimmte PL-Zahl kleiner ist als die höchste Zahl des
Segmentes 27, enthält
der nächste
Knoten mit der Tiefe "-1", der dem Bezugszeichen 133 entspricht,
die niedrigste Zahl des Segmentes 26 und die höchste Zahl
des Segmentes 25. Wenn die bestimmte PL-Zahl größer ist als die niedrigste
Zahl des Segmentes 28, enthält der nächste Knoten mit der Tiefe "-1 ", der dem Bezugszeichen 137 entspricht, die
niedrigste Zahl des Segmentes 30 sowie die höchste Zahl
des Segmentes 29. Bei dem Knoten 133 führt der
Vergleich der bestimmten PL-Zahl mit der niedrigsten Zahl des Segmentes 26 bzw.
mit der höchsten
Zahl des Segmentes 25 nach rechts in der Figur bzw. nach
links und so weiter mit den Knoten der Tiefe "-2",
die den Bezugszeichen 132, 134, 136, 138 entsprechen,
wovon einer schließlich
zu dem gesuchten Segment führt.
-
Die
Merkmale eines Segmentes (der niedrigste Code und der höchste Code,
der im Segment enthalten ist, sowie das Offset) und die Daten zum Auffinden
in demselben Speicher der nächsten
Knoten des Baumes können
in einem einzigen Speicher aufgeschichtet werden, wobei dann dieser
Speicher gleichzeitig der Baumspeicher und der Hilfsspeicher wird.
Man braucht 10 Bytes um jedes Segment im Hilfsspeicher zu bestimmen,
und zwar: 2 Bytes um die kleinste PL-Zahl anzugeben und 2 Bytes
um die höchste
PL-Zahl des Segmentes anzugeben, 2 Bytes für das Offset, sowie jeweils
2 Bytes für
jede der beiden Adressen der nachfolgenden Segmente des Baumes.
In dem Fall des Rheintals, das bereits oben mit 196 Segmenten als
Beispiel genommen wurde, braucht man dementsprechend 196 mal 10
Bytes, also 1960 Bytes im Hilfsspeicher, immer noch zuzüglich 218450
Bytes für
den Speicher der Lokalisierungspunkte, so daß insgesamt 220410 Bytes benötigt werden.
Die Tiefe des Baumes beträgt
acht. Die notwendigen 220410 Bytes sind kaum zahlreicher als die
weiter oben ohne Verwendung eines Baumes genannten 219626 Bytes,
wobei mit dem Baum der Zugriff deutlich schneller wird.