DE10297282T5 - Verfahren und Vorrichtung für ein Zahlensystem mit veränderlichem Radix - Google Patents

Verfahren und Vorrichtung für ein Zahlensystem mit veränderlichem Radix Download PDF

Info

Publication number
DE10297282T5
DE10297282T5 DE10297282T DE10297282T DE10297282T5 DE 10297282 T5 DE10297282 T5 DE 10297282T5 DE 10297282 T DE10297282 T DE 10297282T DE 10297282 T DE10297282 T DE 10297282T DE 10297282 T5 DE10297282 T5 DE 10297282T5
Authority
DE
Germany
Prior art keywords
sequence
radix
binary
values
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE10297282T
Other languages
English (en)
Inventor
Rongzhen Yang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE10297282T5 publication Critical patent/DE10297282T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/12Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word having two radices, e.g. binary-coded-decimal code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/18Conversion to or from residue codes

Abstract

Verfahren mit folgenden Schritten:
Empfangen einer ersten Folge von Werten;
Bestimmen einer Anzahl von Stellen für eine zweite Folge von Werten;
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.

Description

  • 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:
    Figure 00070001
  • 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:
    Figure 00070002
  • 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:
    Figure 00080001
  • 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:
    Figure 00080002
  • Davon kann der nachfolgende Satz Gleichungen abgeleitet werden, um die Werte der Folge mit veränderlichem Radix zu bestimmen:
    Figure 00080003
  • 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.
  • Figure 00090001
    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
    Figure 00100001
    mögliche stellenabhängige Bitverteilungen. Um das Verständnis zu erleichtern, wird angenommen, daß M sechs ist. Da
    Figure 00110001
    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:
    Figure 00110002
  • 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:
    Figure 00110003
  • 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:
    Figure 00120001
  • 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:
    Figure 00130001
  • 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:
    Figure 00140001
  • 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:
    Figure 00140002
  • 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.

Claims (25)

  1. Verfahren mit folgenden Schritten: Empfangen einer ersten Folge von Werten; Bestimmen einer Anzahl von Stellen für eine zweite Folge von Werten; 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.
  2. Verfahren nach Anspruch 1, wobei die erste Folge eine binäre Folge ist.
  3. Verfahren nach Anspruch 1, wobei die erste Folge eine Anregungsfolge ist.
  4. Verfahren nach Anspruch 1, wobei die erste Folge eine binäre Folge ist und die zweite Folge eine Verteilung von Bits in der ersten Folge darstellt.
  5. Verfahren nach Anspruch 1, wobei der Anwendungswert ein maximaler Radix für die zweite Folge ist.
  6. Verfahren nach Anspruch 1, weiterhin mit folgenden Schritten: Umwandeln der zweiten Folge in einen Dezimalwert; Umwandeln des Dezimalwertes in eine binäre Folge; Übertragen der binären Folge und der Anzahl von Stellen; Wiederherstellen des Dezimalwertes aus der binären Folge; Erzeugen der zweiten Folge aus dem Dezimalwert; und Wiederherstellen der ersten Folge aus der zweiten Folge.
  7. Verfahren mit folgenden Schritten: Empfangen einer ersten binären Folge; Bestimmen einer Anzahl von Stellen für eine Folge von Werten; Bestimmen eines Wertes für jede Stelle in der Folge, wobei die Folge von Werten eine Verteilung von Bit in der ersten binären Folge anzeigt; Bestimmen eines Anwendungswertes entsprechend der ersten binären Folge; Berechnen eines Radix für jede Stelle in der Folge von Werten, wobei sich der Radix im Verhältnis zum Anwendungswert und einer Menge von Werten der Folge verändert; Umwandeln der Folge von Werten in einen Dezimalwert; und Umwandeln des Dezimalwertes in eine zweite binäre Folge.
  8. Verfahren nach Anspruch 7, wobei die erste binäre Folge eine Anregungsfolge ist.
  9. Verfahren nach Anspruch 7, weiterhin mit folgenden Schritten: Übertragen der zweiten binären Folge und der Anzahl von Stellen; Wiederherstellen der zweiten binären Folge im Dezimalwert; Umwandeln des Dezimalwertes in die Folge von Werten; und Wiederherstellen der ersten binären Folge aus der Folge von Werten.
  10. System, das folgendes umfaßt: einem ersten Computersystem zum Erzeugen einer Folge mit veränderlichem Radix, die eine Verteilung von Bit in einer ersten binären Folge darstellt, zum Erzeugen eines Dezimalwertes aus der Folge mit veränderlichem Radix, zum Umwandeln des Dezimalwertes in eine zweite binäre Folge, zum Übertragen der zweiten binären Folge und einer Anzahl von Stellen der Folge mit veränderlichem Radix; und einem zweiten, an das erste Computersystem angekoppelte Computersystem, zum Empfangen der zweiten binären Folge, zum Umwandeln der zweiten binären Folge in den Dezimalwert, zum Erzeugen der Folge mit veränderlichem Radix mit dem Dezimalwert und zum Wiederherstellen der ersten binären Folge entsprechend der Folge mit veränderlichem Radix.
  11. System nach Anspruch 10, wobei die erste binäre Folge eine Anregungsfolge ist.
  12. System nach Anspruch 10, wobei der Anwendungswert ein maximaler Radix für die Folge mit veränderlichem Radix ist.
  13. Vorrichtung, die folgendes umfaßt: einem Audio-Codec zur Erzeugung einer Anregungsfolge; und einer an den Audio-Codec angekoppelten Radixeinheit zur Durchführung von Operationen mit folgenden Schritten: Bestimmung einer Anzahl von Stellen für eine Folge mit veränderlichem Radix zur Darstellung einer Verteilung von Bit in der Anregungsfolge durch die Folge mit veränderlichem Radix, Empfangen eines Anwendungswertes; und Berechnung eines Radix für jede Stelle in der Folge mit veränderlichem Radix, wobei sich der Radix im Verhältnis zum Anwendungswert und einer Menge von Werten in der Folge mit veränderlichem Radix verändert.
  14. Vorrichtung nach Anspruch 13, weiterhin mit der Vorrichtung zur Übertragung der Folge mit veränderlichem Radix.
  15. Vorrichtung nach Anspruch 13, weiterhin mit der Radixeinheit zur Umwandlung der Folge mit veränderlichem Radix in einen Dezimalwert.
  16. Vorrichtung nach Anspruch 13, weiterhin mit der Radixeinheit zur Umwandlung der Folge mit veränderlichem Radix in einen Dezimalwert und zum Umwandeln des Dezimalwertes in eine binäre Folge.
  17. Maschinenlesbares Medium, das Anweisungen bereitstellt, die bei ihrer Ausführung durch einen Satz von einem oder mehreren Prozessoren bewirken, daß der Satz von Prozessoren Operationen mit folgenden Schritten durchführt: 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.
  18. Maschinenlesbares Medium nach Anspruch 17, wobei die erste Folge eine binäre Folge ist.
  19. Maschinenlesbares Medium nach Anspruch 17, wobei die erste Folge eine Anregungsfolge ist.
  20. Maschinenlesbares Medium nach Anspruch 17, wobei die erste Folge eine binäre Folge ist und die zweite Folge eine Verteilung von Bit in der ersten Folge darstellt.
  21. Maschinenlesbares Medium nach Anspruch 17, wobei der Anwendungswert ein maximaler Radix für die zweite Folge ist.
  22. Maschinenlesbares Medium nach Anspruch 17, die weiterhin folgendes umfaßt: Umwandeln der zweiten Folge in einen Dezimalwert; Umwandeln des Dezimalwertes in eine binäre Folge; Übertragen der binären Folge und der Anzahl von Stellen; Wiederherstellen des Dezimalwertes aus der binären Folge; Erzeugen der zweiten Folge aus dem Dezimalwert; und Wiederherstellen der ersten Folge aus der zweiten Folge.
  23. Maschinenlesbares Medium, das Anweisungen bereitstellt, die bei ihrer Ausführung durch einen Satz von einem oder mehreren Prozessoren bewirken, daß der Satz von Prozessoren Operationen mit folgenden Schritten durchführt: Empfangen einer ersten binäre Folge; Bestimmen einer Anzahl von Stellen für eine Folge von Werten; Bestimmen eines Wertes für jede Stelle in der Folge, wobei die Folge von Werten eine Verteilung von Bit in der ersten binären Folge anzeigt; Bestimmen eines Anwendungswertes entsprechend der ersten binären Folge; Berechnen eines Radix für jede Stelle in der Folge von Werten, wobei sich der Radix im Verhältnis zum Anwendungswert und einer Menge von Werten der Folge verändert; Umwandeln der Folge von Werten in einen Dezimalwert; und Umwandeln des Dezimalwertes in eine zweite binäre Folge.
  24. Maschinenlesbares Medium nach Anspruch 23, wobei die erste binäre Folge eine Anregungsfolge ist.
  25. Maschinenlesbares Medium nach Anspruch 23, die weiterhin folgendes umfaßt: Übertragen der zweiten binären Folge und der Anzahl von Stellen; Wiederherstellen der zweiten binären Folge im Dezimalwert; Umwandeln des Dezimalwertes in die Folge von Werten; und Wiederherstellen der ersten binären Folge aus der Folge von Werten.
DE10297282T 2001-09-27 2002-09-26 Verfahren und Vorrichtung für ein Zahlensystem mit veränderlichem Radix Withdrawn DE10297282T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/964,957 US6725246B2 (en) 2001-09-27 2001-09-27 Method and apparatus for varying-radix numeration system
US09/964957 2001-09-27
PCT/US2002/030626 WO2003027831A1 (en) 2001-09-27 2002-09-26 Method and systeme for converting varying-radix numbers

Publications (1)

Publication Number Publication Date
DE10297282T5 true DE10297282T5 (de) 2004-08-26

Family

ID=25509225

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10297282T Withdrawn DE10297282T5 (de) 2001-09-27 2002-09-26 Verfahren und Vorrichtung für ein Zahlensystem mit veränderlichem Radix

Country Status (6)

Country Link
US (2) US6725246B2 (de)
EP (1) EP1444569A1 (de)
CN (1) CN1561477A (de)
DE (1) DE10297282T5 (de)
TW (1) TW569555B (de)
WO (1) WO2003027831A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190788B2 (en) 2002-09-13 2007-03-13 Intel Corporation Methods and apparatus for encrypting a binary string
US7840622B2 (en) * 2005-07-25 2010-11-23 International Business Machines Corporation Method and floating point unit to convert a hexadecimal floating point number to a binary floating point number
CN101179277B (zh) * 2006-11-06 2010-06-16 盛群半导体股份有限公司 高延伸性的译码电路及译码方法
US8315183B2 (en) * 2009-12-23 2012-11-20 Intel Corporation Channel quality indexing and reverse indexing
US8594718B2 (en) 2010-06-18 2013-11-26 Intel Corporation Uplink power headroom calculation and reporting for OFDMA carrier aggregation communication system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4158285A (en) * 1976-02-09 1979-06-19 Hewlett-Packard Company Interactive wristwatch calculator
CA2005070C (en) * 1988-12-23 1999-04-27 Henry C. Yuen Apparatus and method for using encoded video recorder/player timer preprogramming information
US5307173A (en) * 1988-12-23 1994-04-26 Gemstar Development Corporation Apparatus and method using compressed codes for television program record scheduling
US4963869A (en) 1989-09-29 1990-10-16 The Boeing Company Parallel residue to mixed base converter
CN1140115C (zh) * 1994-05-16 2004-02-25 杰姆斯达发展公司 采用压缩码的电视节目录制预定和卫星接收机控制
US5603022A (en) * 1994-09-23 1997-02-11 The Regents Of The University Of Michigan Data compression system and method representing records as differences between sorted domain ordinals representing field values
US5678043A (en) * 1994-09-23 1997-10-14 The Regents Of The University Of Michigan Data compression and encryption system and method representing records as differences between sorted domain ordinals that represent field values

Also Published As

Publication number Publication date
WO2003027831A1 (en) 2003-04-03
TW569555B (en) 2004-01-01
US7650372B2 (en) 2010-01-19
US20040059762A1 (en) 2004-03-25
CN1561477A (zh) 2005-01-05
EP1444569A1 (de) 2004-08-11
US20030093446A1 (en) 2003-05-15
US6725246B2 (en) 2004-04-20

Similar Documents

Publication Publication Date Title
DE2934489C2 (de)
DE3115859C2 (de)
DE2229149A1 (de) Verfahren zur Übertragung von Sprache
DE102018130084A1 (de) Dynamische Quantisierung neuronaler Netzwerke
DE2311220A1 (de) Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung
DE112020003600T5 (de) Hardware für maschinelles lernen mit parameterkomponenten mit reduzierter genauigkeit für effiziente parameteraktualisierung
DE3109795A1 (de) Bandeinengungsverfahren fuer getoente bilder
DE2158378A1 (de) Digitales Filter
DE2907992A1 (de) Verfahren zur behandlung von videodaten
DE4024323A1 (de) Digital-rauschgenerator
DE10124351B4 (de) Verfahren und Vorrichtung zum Verarbeiten zweier Datenoperanden in einem Prozessor
DE2547597A1 (de) Verfahren und vorrichtung zur verarbeitung von digitalwoertern
DE2730662A1 (de) Verfahren und schaltung zum erzeugen eines autokorrelations-funktions-faktors
EP0628183B1 (de) Schaltungsanordnung zum digitalen multiplizieren von integer-zahlen
DE10297282T5 (de) Verfahren und Vorrichtung für ein Zahlensystem mit veränderlichem Radix
DE2212967A1 (de) Einrichtung und Verfahren zur Verwendung eines dreifeldrigen Wortes zur Darstellung einer Gleitkommazahl
DE3201088C2 (de)
DE3836504C2 (de)
DE3115884C2 (de)
DE3818097C2 (de)
DE3633461A1 (de) Taktsignalgebervorrichtung
DE3936503A1 (de) Digitales verschwommen-folgerungssystem
DE2826570C2 (de)
DE2712582A1 (de) Digital-differential-analysator
EP0303978B1 (de) Verfahren und Schaltungsanordnung zur Verbesserung der Auflösung von digitalen Signalen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law

Ref document number: 10297282

Country of ref document: DE

Date of ref document: 20040826

Kind code of ref document: P

8139 Disposal/non-payment of the annual fee