-
STAND DER
TECHNIK
-
Erfindungsgebiet
-
Die Erfindung betrifft das Gebiet
der Datenverarbeitung. Insbesondere betrifft die Erfindung Codierung.
-
Stand der
Technik
-
Typischerweise benutzen mathematische
und technische Systeme ein Dezimalsystem und/oder Binärsystem
zur Darstellung von Zahlen und zur Durchführung von Berechnungen. Mit
der Zeit sind alternative Zahlensysteme für unterschiedliche Anwendungen
entwickelt worden. Zu diesen Zahlensystemen gehören solche mit festem Radix,
gemischtem Radix und gemischter Basis.
-
Ein Zahlensystem mit festem Radix
weist für
alle Stellen einer Folge von Ziffern einen konstanten Radix auf.
Bei Zahlensystemen mit festem Radix sind die Gewichte aufeinanderfolgender
Stellen aufeinanderfolgende ganzzahlige Potenzen einem einzigen
Radix multipliziert mit demselben Faktor. Zu Beispielen von Zahlensystemen
mit festem Radix gehören
Dezimal-, Binär-
und Hexadezimalsysteme.
-
Ein Zahlensystem mit gemischtem Radix
ist ein Radix-Zahlensystem, bei dem alle Radizes jeder Stelle einer
Folge von Ziffern konstant sind, aber nicht unbedingt die gleichen.
Das Zahlensystem mit gemischtem Radix ist ein allgemeineres Zahlensystem,
bei dem es möglicher weise
keine ganzzahligen Verhältnisse
zwischen den Radizes aller Ziffern gibt. Beispielsweise wird Zeit
mit einem Zahlensystem mit gemischtem Radix gemessen. Stunden werden
in Zehnern von Minuten und Minuten mit Radizes 6 bzw. 10 gemessen.
-
Bei einem Zahlensystem mit gemischter
Basis werden Zahlen als die Summe einer Folge von Stellenwerten
dargestellt. Jede Stellung besteht aus einer Mantisse und einer
Basis. Die Basis einer gegebenen Stelle ist eine Konstante für eine gegebene
Anwendung, aber die Basen über
Stellen hinweg sind nicht unbedingt ganzzahlige Verhältnisse
zwischen den Radizes aller Stellen. Beispielsweise werden Jahre
mit einem Zahlensystem mit gemischter Basis gemessen. Jahre werden
mit Zehnern von Monaten und Monate mit Basen 12 : 10 : 1 gemessen.
-
Die obigen Zahlensysteme sind zufriedenstellende
Verfahren zur Darstellung von Zahlen, sind aber unzulänglich für die Modellierung
von Operationsfolgen. Auch sind die obigen Zahlensysteme unzulänglich für die Übertragung
von Daten in einigen Sonderfällen.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die Erfindung läßt sich am besten unter Bezugnahme
auf die nachfolgende Beschreibung und beiliegenden Zeichnungen verstehen,
die zur Darstellung von Ausführungsformen
der Erfindung benutzt werden. In den Zeichnungen zeigt
-
1 ein
beispielhaftes System 100 mit Prozessoren 102 und
104 zum Erzeugen einer Folge mit veränderlichem Radix gemäß Ausführungsformen
der vorliegenden Erfindung,
-
2 ein
Flußdiagramm
zum Erzeugen einer Folge mit veränderlichem
Radix gemäß einer
Ausführungsform
der Erfindung,
-
3 ein
Blockdiagramm eines Beispiels von Stapelmanipulation gemäß einer
Ausführungsform
der Erfindung,
-
4 ein
Flußdiagramm
zum Codierung einer Anregungsfolge in eine Folge mit veränderlichem
Radix gemäß einer
Ausführungsform
der Erfindung,
-
5 ein
Diagramm der Übertragung
einer Anregungsfolge gemäß einer
Ausführungsform
der Erfindung und
-
6 ein
Flußdiagramm
zum Umwandeln eines Dezimalwertes in eine Folge mit veränderlichem
Radix wie im Block 419 der 4 gemäß einer
Ausführungsform
der Erfindung.
-
AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNG
-
In der nachfolgenden Beschreibung
sind zahlreiche bestimmte Einzelheiten aufgeführt, um ein gründliches
Verständnis
der Erfindung zu vermitteln. Selbstverständlich kann die Erfindung jedoch
ohne diese bestimmten Einzelheiten ausgeübt werden. In anderen Fällen sind
wohlbekannte Schaltungen, Strukturen und Verfahren nicht ausführlich dargestellt,
um die Erfindung nicht unverständlich
zu machen.
-
1 zeigt
ein beispielhaftes System 100 mit einer Radixeinheit 180 zum
Erzeugen einer Folge mit veränderlichem
Radix gemäß Ausführungsformen
der vorliegenden Erfindung. Obwohl im Zusammenhang mit System 100 beschrieben,
können
Ausführungsformen
der vorliegenden Erfindung in jedem geeigneten Computersystem mit
einer oder mehreren geeigneten integrierten Schaltungen implementiert
sein.
-
Nach der Darstellung in 1 umfaßt das Computersystem 100 den
Prozessor 102 und Prozessor 104. Auch enthält das Computersystem 100 den
Prozessorbus 110 und den Chipsatz 120. Prozessoren 102 und 104 und
Chipsatz 120 sind an dem Prozessorbus 110 angekoppelt.
Die Prozessoren 102 und 104 können jeweils eine beliebige
geeignete Prozessorarchitektur umfassen und umfassen bei einer Ausführungsform
eine Intel®-Architektur,
die beispielsweise in der von Intel® Corporation
von Santa Clara, California, erhältlichen
Familie von Pentium®-Prozessoren benutzt wird.
Das Computersystem 100 kann bei anderen Ausführungsformen
einen, drei oder mehrere Prozessoren umfassen, die jeweils eine
Menge von Anweisungen ausführen können, die
Ausführungsformen
der vorliegenden Erfindung entsprechen.
-
Bei einer Ausführungsform umfaßt der Chipsatz 120 Speichersteuerungs-Hub
(MCH – Memory
Controller Hub) 130, Eingangs/Ausgangssteuerungs-Hub (ICH – Input/Output
Controller Hub) 140 und Firmware-Hub (FWH) 170.
MCH 130, ICH 140 und FWH 170 können jeweils
beliebige geeignete Schaltungen umfassen und sind bei einer Ausführungsform
jeweils als getrennter integrierter Schaltungschip ausgebildet.
Bei anderen Ausführungsformen
kann der Chipsatz 120 eine oder mehrere geeignete integrierte
Schaltungsvorrichtungen umfassen.
-
MCH 130 kann beliebige geeignete
Schnittstellensteuerungen umfassen, um eine beliebige geeignete Kommunikationsverbindung
mit dem Prozessorbus 110 und/oder einer in Kommunikation
mit MCH 130 befindlichen beliebigen Vorrichtung oder Komponente
bereitzustellen. MCH 130 bietet bei einer Ausführungsform
geeignete Arbitrierung, Pufferung und Kohärenzverwaltung für jede Schnittstelle.
-
MCH 130 ist an den Prozessorbus 110 angekoppelt
und bietet eine Schnittstelle zu Prozessoren 102 und 104 über den
Prozessorbus 110. Der Prozessor 102 und/oder Prozessor 104 kann
als Alternative mit MCH 130 kombiniert werden, um einen
einzigen Baustein zu bilden. Bei einer Ausführungsform stellt MCH 130 auch eine
Schnittstelle zu einem Arbeitsspeicher 132 und einer Grafiksteuerung 134 bereit,
die jeweils an MCH 130 angekoppelt sind. Der Arbeitsspeicher 132 speichert
Daten und/oder Anweisungen, beispielsweise für das Computersystem 100 und
an einen beliebigen geeigneten Speicher wie beispielsweise einen
dynamischen Direktzugriffsspeicher (DRAM – Dynamic Random Access Memory)
umfassen. Die Grafiksteuerung 134 steuert die Anzeige von
Informationen auf einer geeigneten Anzeige 136 wie beispielsweise
einer Kathodenstrahlröhre
(CRT-Cathode Ray Tube) oder Flüssigkristallanzeige
(LCD – Liquid
Crystal Display), die an die Grafiksteuerung 134 angekoppelt
ist. Bei einer Ausführungsform
ist MCH 130 über
eine schnelle Grafikschnittstelle (AGP – Accelerated Graphics Port)
an die Grafiksteuerung 134 angeschlossen. Bei einer Ausführungsform
kann die Grafiksteuerung 134 als Alternative mit MCH 130 kombiniert
sein, um einen einzigen Baustein zu bilden.
-
MCH 130 ist auch an ICH 140 angekoppelt,
um über
eine Hub-Schnittstelle Zugang zur ICH 140 zu bieten. ICH 140 stellt
eine Schnittstelle zu Eingabe/Ausgabevorrichtungen oder periphere
Komponenten für das
Computersystem 100 bereit. ICH 140 kann beliebige
geeignete Schnittstellensteuerungen umfassen, um eine beliebige
geeignete Kommunikationsverbindung mit MCH 130 und/oder
eine beliebige, in Kommunikation mit ICH 140 befindliche
Vorrichtung oder Komponente bereitzustellen. Bei einer Ausführungsform
bietet ICH 140 geeignete Arbitrierung und Pufferung für jede Schnittstelle.
-
Bei einer Ausführungsform stellt ICH 140 eine
Schnittstelle zu einem oder mehreren IDE-Laufwerken 142 (Integrated
Drive Electronics – integrierte
Laufwerkelektronik) wie beispielsweise einem Festplattenlaufwerk
(HDD – Hard
Disk Drive) oder einem CD-ROM-Laufwerk
(Compact Disk Read Only Memory) zum Speichern von beispielsweise
Daten und/oder Anweisungen, einem oder mehreren geeigneten USB-Vorrichtungen (Universal
Serial Bus – universeller
serieller Bus) über
einen oder mehrere USB-Anschlüsse
144, einem Audio-Codec 146 (Coder/Decoder) und einem Modem-Codec 148 bereit.
Bei einer Ausführungsform
stellt ICH 140 auch eine Schnittstelle über eine Super-E/A-Steuerung 150 zu
einer Tastatur 151, einer Maus 152, einer oder
mehreren geeigneten Vorrichtungen wie beispielsweise einem Drucker über einen
oder mehrere parallele Anschlüsse 153,
einer oder mehreren geeigneten Vorrichtungen über einen oder mehrere serielle
Anschlüsse 154 und
einem Diskettenlaufwerk 155 bereit. Bei einer Ausführungsform
stellt ICH 140 weiterhin eine Schnittstelle zu einer oder
mehreren geeigneten, an ICH 140 über einen oder mehrere PCI-Steckplätze 162 an
einem PCI-Bus angekoppelten PCI-Vorrichtungen (Peripheral Component
Interconnect – Peripheriekomponentenbus)
und eine Schnittstelle zu einer oder mehreren geeigneten, an ICH 140 über den
PCI-Bus durch eine ISA-Brücke 164 angekoppelten
ISA-Vorrichtungen (Industry Standard Architekture) bereit. Die ISA-Brücke 164 ist über einen
oder mehrere ISA-Steckplätze 166 an
einen ISA--Bus an eine oder mehrere ISA-Vorrichtungen angeschlossen.
-
ICH 140 ist auch an FWH 170 angekoppelt,
um eine Schnittstelle zu FWH 170 bereitzustellen. FWH 170 kann
eine beliebige geeignete Schnittstellensteuerung zur Bereitstellung
einer beliebigen geeigneten Kommunikationsverbindung mit ICH 140 umfassen.
Bei einer Ausführungsform
kann FWH 170 mindestens einen Teil der Schnittstelle zwischen
ICH 140 und Super-E/A-Steuerung 150 teilen. FWH 170 umfaßt einen BIOS-Speicher 172 (Basic
Input/Output System – Ein-Ausgabe-Teil)
zum Speichern geeigneter System- und/oder Video-BIOS-Software. Der BIOS-Speicher 172 kann
einen beliebigen geeigneten nichtflüchtigen Speicher wie beispielsweise
einen Flash-Speicher umfassen.
-
Das in 1 dargestellte
System 100 enthält
auch eine Radixeinheit 180. Die Radixeinheit 180 ist
an die Prozessoren 102 und 104 angekoppelt. Bei
einer Ausführungsform
kann die Radixeinheit 180 Prozesse oder Aufgaben sein,
die im Arbeitsspeicher 132 und/oder Prozessoren 102 und 104 resident
sein können
und in den Prozessoren 102 und 104 ausgeführt werden
können.
Ausführungsformen
der vorliegenden Erfindung sind jedoch nicht darauf begrenzt, da
die Radixeinheit 180 aus verschiedenen Arten von Hardware
(wie beispielsweise digitaler Logik) bestehen kann, die die hier
beschriebene (ausführlicher
unten beschriebene) Verarbeitung ausführen.
-
Entsprechend enthält das Computersystem 100 ein
maschinenlesbares Medium, auf dem ein Satz Anweisungen (d. h. Software)
gespeichert ist, der eine beliebige oder alle der unten zu beschreibenden
Methodiken verkörpert.
Beispielsweise kann Software vollständig oder zumindest teilweise
im Arbeitsspeicher 132 und/oder in den Prozessoren 102/104 resident
sein. Für
die Zwecke der vorliegenden Anmeldung soll der Begriff „maschinenlesbares
Medium" jeden Mechanismus
einschließen,
der Informationen in einer durch eine Maschine (z. B. einen Computer)
lesbaren Form bereitstellt (d. h. speichert und/oder überträgt). Beispielsweise schließt ein maschinenlesbares
Medium ROM- (Read Only Memory – Nur-Lese-Speicher),
RAM- (Random Access Memory – Direktzugriffsspeicher),
Magnetplattenspeichermedien, optische Speichermedien, Flash-Speicher-Vorrichtungen,
elektrische, optische, akustische oder sonstige Form von ausgebreiteten
Signalen (z. B. Trägerwellen,
Infrarotsignalen, Digitalsignalen usw.) usw. ein.
-
2 ist
ein Flußdiagramm
zur Erzeugung einer Folge mit veränderlichem Radix gemäß einer
Ausführungsform
der Erfindung. Im Block
201 empfängt die Radixeinheit
180 eine
erste Folge. Im Block
203 bestimmt die Radixeinheit
180 die
Anzahl von Stellen einer zweiten Folge zur Darstellung der ersten
Folge. Wenn die Radixeinheit
180 bestimmt, daß k + 1
Stellen zur Darstellung der ersten Folge notwendig sind, dann kann die
zweite Folge wie folgt beschrieben werden: v(k) v(k – 1) v(k – 2)...
v(i)... v(l). Für
die i-te Stelle der Folge ist v(i) der Wert. v(0) ist in der Folge
nicht dargestellt, da es wie folgt als Gleichung 1 berechnet werden
kann:
-
Im Block 205 bestimmt die
Radixeinheit 180 einen Anwendungswert aus Funktion p(i).
Die Funktion p(i) basiert auf einem Satz Regeln, die für eine Anwendung
oder einen Satz von Anwendungen abgeleitet sind. Bei einer Ausführungsform
der Erfindung ist die Funktion p(i) ein konstanter Wert in Abhängigkeit
von der Anwendung. Bei einer anderen Ausführungsform der Erfindung definiert
die Funktionp(i) den maximalen Radix der zweiten Folge.
-
In Block
207 bestimmt der
Prozessor
102 v(i) für
jede Stelle der zweiten Folge. Bei einer weiteren Ausführungsform
der Erfindung führt
die Radixeinheit
180 den Block
207 vor dem Block
205 durch.
Im Block
209 berechnet der Prozessor
102 den Radix
für jede
Stelle, bezeichnet durch o(i), der zweiten Folge entsprechend der
Gleichung 2 wie folgt:
-
Die Ausführungsformen der vorliegenden
Erfindung können
auf die Modellierung oder Darstellung von auf Stelleninformationen
bezogenen Folgenproblemen angewandt werden. Die in 2 beschriebene zweite Folge ist eine
Folge mit veränderlichem
Radix, bei der der Radix jeder Stelle der zweiten Folge sich entsprechend
dem durch die zweite Folge ausgedrückten Wert verändert.
-
3 ist
ein Blockdiagramm eines Beispiels von Stapelmanipulation gemäß einer
Ausführungsform der
Erfindung. In 3 enthält eine
Eingangswarteschlange 303 Variablen D, C, B und A von links
nach rechts. Die Variablen der Eingangswarteschlange 303 werden
in einen FILO-Stapel 301 (First-In-Last-Out) eingeschoben.
Posten vom FILO-Stapeln 301 werden in die Ausgangswarteschlange 305 eingeschoben.
In 3 sind die Variablen
von der Eingangswarteschlange 303 in den FILO-Stapel 301 ein-
und aus ihm herausgeschoben worden, mit dem Ergebnis, daß der Ausgangsstapel 305 die
Variablen in der Reihenfolge D, C, A, B von links nach rechts enthält.
-
Wenn die in 3 dargestellten Stapeloperationen mit
einer binären
Folge dargestellt werden, wo der Wert "1" ein
Einschieben in den FILO-Stapel 301 und der Wert "0" ein Herausschieben aus dem FILO-Stapel 301 darstellt,
dann lassen sich die die Ausgangswarteschlange 305 ergebenden
Operationen durch die folgende Bitfolge darstellten: 11001010.
-
Bei der Stapeloperationsfolge verändert sich
die Anzahl von zwischen aufeinanderfolgenden Einsen auftretenden
Nullen. Die Anzahl von zwischen aufeinanderfolgenden Einsen auftretenden
Nullen kann durch v(i) angezeigt werden. Die binäre Stapeloperationsfolge kann
durch vier Werte auf folgende Weise modelliert werden:
-
Da die Eingangswarteschlange
303 und
die Ausgangswarteschlange
305 nur vier Variablen enthalten, können nur
4 Schiebeoperationen eintreten (d.h. nur vier Nullen können in
der binären
Stapeloperationsfolge vorkommen). Da die Höchstzahl an Schiebeoperationen
gleich vier ist, kann die Höchstzahl
von Schiebeoperationen wie folgt mit Gleichung 3 definiert werden:
-
Davon kann der nachfolgende Satz
Gleichungen abgeleitet werden, um die Werte der Folge mit veränderlichem
Radix zu bestimmen:
-
Wie durch die Gleichung v(0) gezeigt
kann v(0) aus v(3), v(2), v(1) ermittelt werden. Die binäre Stapeloperationsfolge
kann daher durch eine dreistellige Folge mit veränderlichem Radix v(3), v(2),
v(1) modelliert werden.
-
Unter Verwendung der obenbeschriebenen
Gleichung zur Bestimmung von o(i) sind die Radizes für jede der
Stellen der Folge mit veränderlichem
Radix wie folgt: o(3) = 2, o(2) = 3 – v(3), o(1) = 4 – v(2) – v(3). Diese
Radizes werden mit der Radixgleichung bei gegebener p(i) = 4 – i abgeleitet.
Im vorliegenden Beispiel zeigt die Funktion p(i) die Höchstzahl
von für
die i-te Stelle möglichen
Herausschiebeoperationen an. Beispielsweise können nach zwei Einschiebeoperationen
höchstens
zwei Herausschiebeoperationen durchgeführt werden. Die in 3 dargestellte binäre Stapeloperationsfolge
kann daher in kompakterer Form als die binäre Folge 11001010 mit der Folge
mit veränderlichem
Radix 021 mit Radizes 232 modelliert werden. In
der entenstehenden Tabelle ist jede mögliche Stapeloperationsfolge
mit vier Variablen im FILO-Stapel dargestellt.
-
Tabelle
1
Modell von FILO-Stapeloperationen
-
Die Ausführungsform der vorliegenden
Erfindung bietet eine kompakte Folge mit veränderlichen Radizes, die dieselben
Informationen wie eine längere
Folge mit festem Radix oder ge mischtem Radix bietet. Die Verteilung
von Bit in einer Binärfolge
kann wie in 3 dargestellt
mit einer wirkungsvolleren und kompakten Folge mit veränderlichem
Radix angezeigt werden.
-
Die Ausführungsformen der vorliegenden
Erfindung können
auch Gewinne beim Wirkungsgrad in Daten einschließlich von
Videodaten und Audiodaten bieten. Beispielsweise kann in dem MPELP
Speed Codec (Multipulse Excited Linear Prediction) eine Anregungsfolge,
die aus mehreren gleichförmig
beabstandeten Impulsen besteht, als Restsignal übertragen werden. In dem Restsignal
werden sowohl Amplitude als auch Position der Impulse sequentiell
impulsweise während
der Analyse bestimmt. Der MPELP-Algorithmus benutzt typischerweise
vier bis sechs Impulse alle fünf
Millisekunden. Codierung einer Anregungsfolge mit dem MPELP-Algorithmus
ist teurer als klassische Vocoder mit linearer Prädiktionscodierung.
Der MPELP-Algorithmus ist teurer, da mit MPELP sowohl die Amplituden
als auch die Positionen der Impulse codiert werden. Mit der Ausführungsform
der vorliegenden Erfindung kann eine Anregungsfolge wirkungsvoller
dargestellt werden.
-
4 ist
ein Flußdiagramm
zur Codierung einer Anregungsfolge in eine Folge mit veränderlichem
Radix und Übertragung
der Folge mit veränderlichem
Radix gemäß einer
Ausführungsform
der Erfindung.
5 ist
ein Diagramm der Übertragung
einer Anregungsfolge gemäß einer
Ausführungsform
der Erfindung.
4 wird
unter Bezugnahme auf
5 beschrieben.
Im Block
401 wird eine 30-Bit-Anregungsfolge empfangen.
In der
5 ist die Übertragung
einer Anregungsfolge vom Audio-Codec
146 des Systems
100 zur
Radixeinheit
180 des Systems
100 dargestellt.
Im Block
403 bestimmt die Radixeinheit die Anzahl von zur
Codierung der Anregungsfolge in eine Folge mit veränderlichem
Radix zu benutzenden Bit. Die Folge mit veränderlichem Radix wird die Verteilung
von Bit der binären
Anregungsfolge darstellen. Um der Norm G.723 der ITuU (International
Telecommunications Union) zu entsprechen, enthält die Anregungsfolge M Impulse,
nämlich
sechs für geradzahlige
Teilrahmen
30 und fünf
für ungeradzahlige
Teilrahmen. Es gibt daher
mögliche stellenabhängige Bitverteilungen.
Um das Verständnis
zu erleichtern, wird angenommen, daß M sechs ist. Da
dann genügen 20 Bit zur Darstellung
von stellenabhängigen
Bitverteilungs-Informationen
der Anregungsfolge statt der durch die Anregungsfolge dargestellten
30 Bit.
-
Es ist bereits ersichtlich, daß durch
die Ausführungsform
der vorliegenden Erfindung die Datenmenge für eine Anregungsfolge um 10
Bit pro Rahmen verringert wird. Im vorliegenden Beispiel ist p(i)
gleich N – M (N
= 30, die Gesamtzahl von Bit in einem Teilrahmen, und M die Anzahl
von Direc-Funktionen in einem Teilrahmen). Die Anregungsfolge kann
durch die kompakte Folge mit veränderlichem
Radix v(M)v(M – 1)...v(1) dargestellt
werden.
-
Wie im obigen Beispiel kann v(0)
folgendermaßen
bestimmt werden:
-
Im Block 405 bestimmt die
Radixeinheit 180 jedes v(i) für die Folge mit veränderlichem
Radix. v(i) stellt die Anzahl von zwischen 1-Bit in der Anregungsfolge
vorkommenden Null-Bit. Bei einer weiteren Ausführungsform der Erfindung stellt
v(i) die Anzahl von einem 1-Bit vorangehenden Null-Bit dar. Bei
einer alternativen Ausführungsform
der Erfindung stellt v(i) die Anzahl von 1-Bit zwischen Null-Bit
dar. Im Block 407 berechnet die Radixeinheit 180 den
maximalen Radix (d. h. p(i)) für
die Folge mit veränderlichem
Radix aus der Summe von Werten der Folge mit veränderlichem Radix wie in Gleichung
3.
-
Im Block
409 berechnet die
Radixeinheit
180 einen Radix für jedes v(i) in der Folge mit
veränderlichem Radix.
Der Radix für
jedes v(i) wird aus Gleichung 6 wie folgt berechnet:
-
In
5 überträgt die Radixeinheit
180 die
Folge mit veränderlichem
Radix zum Prozessor
102 des Systems
100. Im Block
411 der
4 wandelt der Prozessor
102 die
Folge mit ver änderlichem
Radix in einen Dezimalwert um. Der Dezimalwert für die Folge mit veränderlichem
Radix v(M)v(M – 1)v(M – 2)...
v(1) kann aus der folgenden Gleichung bestimmt werden:
-
Im Block 413 wandelt der
Prozessor 102 den Dezimalwert in eine 20-Bit-Binärfolge um
(„die
kompakte Anregungsfolge").
-
Im Block 415 werden die
kompakte Anregungsfolge und die (im Block 403 bestimmte)
Anzahl von Stellen zu einer weiteren Radixeinheit 180 übertragen.
In 5 wird die Übertragung
der kompakten Anregungsfolge und der Stellenzahl durch das System 100 zu
einem System 501 gezeigt. Die kompakte Anregungsfolge kann über ein
physikalisches Medium (z. B. Ethernet-Kabel, Koaxialkabel, Lichtleitfaser
usw.), ein drahtloses Medium oder sonstige Formen von ausgebreiteten
Signalen übertragen
werden. Die kompakte Anregungsfolge kann auch durch ein festes Medium
(z. B. Diskette, optische Platte usw.) vom System 100 zum System 501 übertragen
werden.
-
5 zeigt
den Empfang der kompakten Anregungsfolge durch den Prozessor 102 des
Systems 501. Im Block 417 der 4 wandelt der Prozessor 102 die
kompakte Anregungsfolge in ihren Dezimalwert um.
-
In der 5 überträgt der Prozessor 102 des
Systems 501 den Dezimalwert zur Radixeinheit 180 des Systems 501.
Im Block 419 der 4 stellt
die Radixeinheit 180 aus dem Dezimalwert wieder die Folge
mit veränderlichem
Radix v(M)v(M – 1)v(M – 2)...
v(1) v(0) her.
-
Im Block 421 stellt die
Radixeinheit 180 aus der Folge mit veränderlichem Radix v(M)v(M – 1) v(M – 2)...
v(1)v(0) wieder die 30-Bit-Anregungsfolge her. Im Block 423 exportiert
die Radixeinheit 180 die Anregungsfolge. 5 zeigt die Übertragung der Anregungsfolge
durch die Radixeinheit 180 des Systems 501 zum Audio-Codec 146 des
Systems 501.
-
Bei alternativen Ausführungsformen
der Erfindung können
Aufgaben auf verschiedene Weise unter Einheiten aufgeteilt werden.
Bei einer Ausführungsform
der Erfindung wandelt die Radixeinheit 180 des Systems 100 die
Folge mit veränderlichem
Radix in einen Dezimalwert um und überträgt den Dezimalwert zum Prozessor 102 des
Systems 100, der den Dezimalwert in die kompakte Anregungsfolge
umwandelt. Bei einer anderen Ausführungsform der Erfindung wandelt
die Radixeinheit 180 des Systems 100 die Folge
mit veränderlichem
Radix in den Dezimalwert um und wandelt den Dezimalwert in die kompakte
Anregungsfolge um. Bei einer weiteren Ausführungsform der Erfindung rechnet
die Radixeinheit 180 des Systems 501 die kompakte
Anregungsfolge in ihren entsprechenden Dezimalwert um. In einer
anderen Ausführungsform
der Erfindung überträgt die Radixeinheit 180 des
Systems 501 die Folge mit veränderlichem Radix zum Prozessor 102,
der die Anregungsfolge wieder aus der Folge mit veränderlichem
Radix herstellt.
-
6 ist
ein Flußdiagramm
zum Umwandeln eines Dezimalwerts in eine Folge mit veränderlichem
Radix wie im Block
419 der
4 gemäß einer
Ausführungsform
der Erfindung. Im Block
601 wird ein zeitweiliger Wert
("temp") mit dem Dezimalwert
initialisiert, eine Schleifenregelungsvariable i wird mit M initialisiert
(wobei M + 1 die Stellenzahl in der vom System
100 in der
5 empfangenen Folge mit
veränderlichem
Radix ist), und v(i)
i = 0. . . M werden
auf 0 initialisiert. Im Block
603 bestimmt der Prozessor
102 oder
die Radixeinheit
180, ob die folgende Bedingung erfüllt ist:
-
Wenn vom Prozessor 102 oder
der Radixeinheit 180 bestimmt wird, daß die Bedingung wahr ist, dann wird
im Block 605 v(i) der Folge mit veränderlichem Radix erhöht. Vom
Block 605 fließt
die Steuerung zurück zum
Block 603. Wenn vom Prozessor 102 oder dem Radix 180 bestimmt
wird, daß die
Bedingung falsch ist, dann wird im Block 607 v(i) der Folge mit
veränderlichem
Radix erniedrigt.
-
Im Block
609 wird die zeitweilige
Variable nach Gleichung 9 wie folgt aktualisiert:
-
Im Block
611 wird die Schleifenregelungsvariable
erniedrigt. Im Block
613 wird vom Prozessor
102 oder
Radixeinheit
180 bestimmt, ob die Schleifenregelungsvariable
gleich 0 ist. Wenn die Schleifenregelungsvariable nicht gleich 0
ist, dann fließt
die Steuerung zurück
zum Block
603. Wenn die Schleifenregelungsvariable gleich
0 ist, dann wird im Block 615 v(0) nach Gleichung 10 wie folgt berechnet:
-
Die Ausführungsformen der vorliegenden
Erfindung bieten ein Verfahren zum Modellieren, das mit herkömmlichen
Zahlensystemen nicht möglich
ist. Zusätzlich
ermöglichen
die Ausführungsformen
der vorliegenden Erfindung eine kompakte Darstellung von Folgen.
Verschiedene Daten wie beispielsweise Audiodaten und Videodaten
können
kompakt dargestellt werden, wodurch bei Übertragung dieser Daten über Netze
der Bandbreitenaufwand verringert wird.
-
Während
die Erfindung in bezug auf Stapelmanipulation beschrieben worden
ist, bieten andere Ausführungsformen
der Erfindung eine Datenstruktur, die auf einem Zahlensystem mit
veränderlichem
Radix basiert. Alternative Ausführungsformen
der Erfindung können
das Modellieren einer Suchfolge mit einem Zahlensystem mit veränderlichem
Radix umfassen. Die Erfindung ist daher nicht auf die Modellierung
von Stapelmanipulation begrenzt. Während darüber hinaus die Erfindung in
bezug auf eine Anregungsfolge beschrieben worden ist, könnten alternative
Ausführungsformen
implementiert werden, so daß Bewegungsvektoren
von Videodaten mit einem Zahlensystem mit veränderlichem Radix dargestellt
werden. Bei alternativen Ausführungsformen
der Erfindung können
verschiedene Aspekte von Videodaten einschließlich von Kontrast, Farbe,
Hintergrundbildern usw. mit einem Zahlensystem mit veränderlichem
Radix dargestellt werden.
-
Während
die Erfindung in bezug auf mehrere Ausführungsformen beschrieben worden
ist, wird der Fachmann erkennen, daß die Erfindung nicht auf die
beschriebenen Ausführungsformen
begrenzt ist.
-
Das Verfahren und die Vorrichtung
der Erfindung können
mit Abänderung
und Änderungen
innerhalb des Sinnes und Rahmens der beiliegenden Ansprüche ausgeübt werden.
Daher ist die Beschreibung beispielhaft und nicht als die Erfindung
begrenzend anzusehen.
-
ZUSAMMENFASSUNG
-
Es wird ein Verfahren und eine Vorrichtung
für ein
Zahlensystem mit veränderlichem
Radix beschrieben. Ein Verfahren umfaßt Empfangen einer ersten Folge
von Werten, Bestimmen einer Anzahl von Stellen für eine zweite Folge von Werten
und Erzeugen der zweiten Folge von Werten, wobei jeder Wert der
zweiten Folge einem Radix entspricht, wobei sich der Radix für jeden
Wert der zweiten Folge über
die zweite Folge in Bezug auf einen Anwendungswert verändert, wobei
der Anwendungswert einer Stelle in der zweiten Folge und einer Summe
einer Menge von Werten in der zweiten Folge entspricht.