DE69809397T2 - Datenkompressionssystem und -verfahren - Google Patents

Datenkompressionssystem und -verfahren

Info

Publication number
DE69809397T2
DE69809397T2 DE69809397T DE69809397T DE69809397T2 DE 69809397 T2 DE69809397 T2 DE 69809397T2 DE 69809397 T DE69809397 T DE 69809397T DE 69809397 T DE69809397 T DE 69809397T DE 69809397 T2 DE69809397 T2 DE 69809397T2
Authority
DE
Germany
Prior art keywords
vector
input
artificial neural
neural network
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69809397T
Other languages
English (en)
Other versions
DE69809397D1 (de
Inventor
Eyal Shlomot
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.)
Mindspeed Technologies LLC
Original Assignee
Rockwell Science Center LLC
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 Rockwell Science Center LLC filed Critical Rockwell Science Center LLC
Publication of DE69809397D1 publication Critical patent/DE69809397D1/de
Application granted granted Critical
Publication of DE69809397T2 publication Critical patent/DE69809397T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Description

    HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft Datenkompressions- und Kommunikationssysteme, und insbesondere Komplexitätsverringerung für Vektor-Quantisierung in Sprach-, Audio-, Bild- und Video-Kodieren.
  • 2. Beschreibung des Stands der Technik
  • Moderne Kommunikationssysteme stützen sich stark auf Datenkompressionstechniken für verlustbehaftetes Kodieren von Signalen wie beispielsweise Sprach-, Audio-, Festbild- und Videosequenzen. Mit der Zunahme in der Rechenleistung von spezialisierten Digitalsignalprozessoren, sind Daten- Kompressions-Algorithmen nun dazu fähig, von der theoretisch optimalen Technik der Vektor-Quantisierung (VQ) Verwendung zu machen. Beispiele für Sprachkodierungs-Algorithmen, welche VQ verwenden, sind die vor kurzem eingeführten International Telecommunications Union (ITU) Empfehlungen G.723.1 und G.729.
  • Gegenwärtige Standards für das Kodieren von Hochdurchsatz- Signalen, wie beispielsweise Audio, Festbild und Video, setzen VQ aufgrund des hohen Niveaus von Komplexität nicht ein, die für ihre Implementierung erforderlich ist. Neue Vorschläge für einen neuen Standard zum Audio-Kodieren enthalten VQ.
  • VQ verwendet einen großen Satz von digitalen Werten, oder Vektoren, von denen jeder einen möglichen Wert irgendeines Parameters eines Signals repräsentiert, welcher Parameter die Stärke, Phase, etc. sein kann. Jeder Vektor ist ein geordneter Satz von Werten und in digitaler Implementierung sind diese Werte digitale Werte. Diese Werte werden an jeweiligen Stellen in einer Tabelle gespeichert, und jede Tabellenstelle hat eine Adresse, oder einen Index. Aufeinanderfolgende Vektoren der Eingabe-Sprachparameter werden der VQ-Einheit bereitgestellt. Jeder Vektor wird mit den Eintragungen in der VQ-Tabelle entsprechend einem vorbestimmten Verzerrungsmaß verglichen, um den Index des Tabelleneintrags zu identifizieren, dessen Wert am nächsten zu dem Vektor von Parametern ist. Dieser Index wird dann gespeichert oder übermittelt.
  • An dem Empfangsende wird der Index als ein Zeiger auf einem Eintrag in einer zugehörigen Tabelle verwendet, der identische Digitalwerte an identischen Adressen hat, was in einem Rückgewinn einer verlustbehafteten Version des Originalvektors resultiert.
  • VQ ist so angesehen worden, als dass es eine optimale Lösung für Datenkompression bereitstellt, basierend auf Prinzipien, die in dem Gebiet der Informationstheorie entwickelt sind. Viele effiziente und optimierte Algorithmen existieren gegenwärtig für das Gestalten von VQ-Tabellen.
  • Ein typisches Kommunikations-System gemäß dem Stand der Technik, das VQ verwendet, ist in Fig. 1 gezeigt. Dieses System enthält einen VQ-Kodierer 100 an der Übermittlungsseite und einen VQ-Dekodierer 150 an der Empfangsseite. An der Eingabeseite ist ein Eingabe-Vektor an einer Eingabeleitung 115 an eine Such-Einheit 120 und an eine Vergleichs-Einheit 130 angelegt. Die Such-Einheit 120 ist an eine VQ-Tabelle 125 angeschlossen, welche aus einer Mehrzahl von Speicherstellen besteht, von denen jede einen Vektorwert speichert und eine Adresse hat, welche mittels eines Index bezeichnet ist. Unter der Steuerung der Such-Einheit 120 wird jeder über Leitung 115 angelegte Eingabe-Vektor mit jedem Vektor in Tabelle 125 verglichen, wobei dieser Vergleich mittels Abstands-Parameter 135 unterstützt wird, welche Vergleichs-Einheit 130 zugeführt werden, und die für das Berechnen des Verzerrungsmaßes verwendet werden können. Dann wird der Index, der dem Tabelleneintrag zugeordnet ist, welcher dem Eingabe-Vektor am nächsten ist, über eine Leitung 140 geleitet, von der aus er entweder gespeichert wird oder über einen Kommunikations-Kanal 145 an VQ-Dekoder 150 übermittelt wird.
  • Dekoder 150 ist im Wesentlichen aus einer Rückgewinn-Einheit 155 und einer VQ-Tabelle 160 gebildet, welche genau die gleichen Daten enthält wie VQ-Tabelle 125. Für jeden über Kommunikations-Kanal 145 übermittelten und mittels Rückgewinn-Einheit 155 empfangenen Index wird der entsprechende Vektor von Tabelle 160 gelesen und an Ausgabe- Leitung 165 transferiert.
  • Der Betrieb von VQ-Einheiten enthält Vergleichen jedes Eingabe-Vektors mit jedem Tabelleneintrag. Dieses Verfahren erfordert beträchtliche Rechenkomplexität und legt der Rate, mit welcher. Indizes mittels eines gegebenen Prozessors ausgegeben werden können, substantielle Schranken auf.
  • Andere bekannte VQ-Systeme enthalten eine Mehrzahl von kleineren Tabellen, von denen jede Vektoren speichert, und der geeignete quantisierte Vektor wird mittels Verkettens oder Kombinierens einer Mehrzahl von Vektoren repräsentiert, einer von jeder kleineren Tabelle. Jede Tabelle kann weniger Einträge oder Indizes haben als die einzige Tabelle von Fig. 1, so dass jeder Index aus einer geringen Anzahl von Bits besteht. Eine solche Anordnung ist als eine Produkt-VQ- Vorrichtung bekannt.
  • Ein Beispiel eines solchen bekannten Produkt-VQ- Vorrichtungstyps ist in Fig. 2 gezeigt, und ist aus einem Produkt-VQ-Kodierer 210 und einem Produkt-VQ-Dekodierer 250 gebildet. Es wird ersichtlich werden, dass sich Kodierer 210 von Kodierer 100 von Fig. 1 durch das Bereitstellen einer Mehrzahl von VQ-Tabellen 225 und durch das Bereitstellen einer Mehrzahl von Eingaben an die Vergleichs-Einheit 230 wesentlich unterscheidet. Im Kodierer 210 werden über Leitung 215 angelegte Eingabe-Vektoren an Such-Einheit 220 und Vergleichs-Einheit 230 geliefert. Diese beiden Einheiten kooperieren zum sukzessiven Vergleichen des Eingabe-Vektors mit allen Mitgliedern eines Satzes von Kombinationen von Vektoren von mindestens einer der Tabellen 225, unterstützt mittels der der Vergleichs-Einheit 230 über Eingabe 235 bereitgestellten Abstands-Parameter. Die Indizes, die den gespeicherten Werten zugeordnet sind, die in Kombination dem Eingabe-Vektor am nächsten sind, werden an Ausgabe-Leitung 240 entweder zum Speichern oder zum Übermitteln über Kommunikations-Kanal 245 bereitgestellt.
  • Nach dem Übermitteln über Kommunikations-Kanal 245 wird jeder Index zum Adressieren eines jeweiligen der Mehrfach-VQ- Tabellen 255 verwendet, und die an den Adressstellen der Tabellen 255 gespeicherten Vektorkomponenten werden in Einheit 265 als ein Ausgabe-Vektor kombiniert, welcher über eine Ausgabe-Leitung 270 geliefert wird.
  • In jedem Fall ist der Ausgabe-Vektor eine Reproduktion eines entsprechenden Eingabe-Vektors, wobei der Ausgabe-Vektor sich von dem Eingabe-Vektor um einen Fehlerwert unterscheidet, welcher von dem eingesetzten spezifischen Kodierschema abhängig ist. Als eine allgemeine Regel wird der Fehler eine Funktion der Anzahl von Einträgen in VQ-Tabellen 125 und 160 oder mehrerer VQ-Tabellen 225 und 255 sein.
  • Der Hauptnachteil eines VQ-Schemas und der Hauptgrund, dass es gegenwärtig nicht in allen Datenkompressionsalgorithmen verwendet wird, ist seine prohibitive Komplexität. Die Suche nach dem nächstliegenden Vektor in einer großen Tabelle oder sogar einigen kleinen Tabellen erfordert eine große Anzahl von arithmetischen Operationen. Beispielweise verbraucht VQ- Suche bis zu 80% oder 90% der Rechenlast für moderne Kodierschemen für Sprache, wie beispielsweise die ITU- Standards G.723.1 und G.729.
  • Das Erstellen einer Vektor-Quantisier-Tabelle, welche für die Klasse von mittels einer spezifischen Trainingssequenz repräsentierten Signalen robust gestaltet ist, ist in US- Patent Nr. 5,255,346 mit dem Titel "Method And Apparatus For Design Of A Vector Quantizer" beschrieben. Mittels Verwendens einer Trainingssequenz, welche im Wesentlichen ein vorbestimmter Satz von Vektoren, auf eine iterative Weise, ist, werden die Vektoren in der Vektor-Quantisier-Tabelle verbessert. Der resultierende Vektor-Quantisierer von US- Patent Nr. 5,255,346 könnte als ein Element der vorliegenden Erfindung verwendet werden.
  • ZIELE UND ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist ein primäres Ziel der vorliegenden Erfindung, die Nachteile bekannter VQ-Systeme zu überwinden.
  • Ein anderes Ziel der Erfindung ist es, die Vorteile von VQ- Systemen beizubehalten, wohingegen die Geschwindigkeit erhöht wird und die Rechenlast, die zum Durchführen von VQ-Kodieren erforderlich ist, reduziert wird.
  • Die obigen und andere Ziele werden erfindungsgemäß erreicht mittels eines Verfahrens zum Kodieren eines Eingabesignals zum Speichern oder Übermitteln über einen Kommunikations- Kanal mittels Transformierens aufeinanderfolgender Eingabe- Vektoren eines Parameters des Eingabesignals in eine entsprechende Abfolge von Indexsignalen, wobei jedes Indexsignal einem quantisierten Vektor zugeordnet ist, der einem geordneten Satz von Werten der Eingabesignal-Parameter entspricht, wobei das Verfahren aufweist:
  • Bereitstellen der Eingabe-Vektoren an ein künstliches neuronales Netzwerk, um zu bewirken, dass das künstliche neuronale Netzwerk mindestens ein Steuer-Ausgabesignal erzeugt;
  • Bereitstellen eines Vektor-Quantisierungs-Systems, das gebildet ist aus: mindestens einer Tabelle mit einer ersten Mehrzahl von Speicherstellen, wobei jede Speicherstelle einen repräsentativen Vektor speichert und eine mittels eines jeweiligen Indexsignals repräsentierte Adresse hat; und Such- Mitteln zum Vergleichen eines jeden repräsentativen Vektors mit jedem Eingabesignal-Parameter-Wert;
  • Anlegen des mindestens einen Steuer-Ausgabesignals an das Vektor-Quantisierungs-System zum Identifizieren einer zweiten Mehrzahl von Speicherstellen, welche zweite Mehrzahl eine Teilmenge der ersten Mehrzahl von Speicherstellen ist;
  • Durchsuchen, in den Such-Mitteln, der zweiten Mehrzahl von Speicherstellen, zum Lokalisieren von derjenigen Speicherstelle der zweiten Mehrzahl, welche am nächsten den Extraktionsmerkmale-Vektor gemäß einem Kriterium approximiert, das den Satz von Abstands-Parametern verwendet; und
  • Ausgeben des Index der Speicherstelle, welche als den Extraktionsmerkmale-Vektor am nächsten approximierend gefunden wird.
  • Ziele gemäß der Erfindung werden ferner mittels eines Systems zum Kodieren eines Eingabesignals zum Speichern oder Übermitteln über einen Kommunikations-Kanal mittels Transformierens aufeinanderfolgender Vektoren von Parametern des Eingabesignals in eine entsprechende Abfolge von Indexsignalen erreicht, wobei jedes Indexsignal einem quantisierten Vektor zugeordnet ist, der einen geordneten Satz von Werten der Eingabesignal-Parameter entspricht, wobei das System aufweist:
  • Mittel, die zum Bereitstellen des Eingabe-Vektors und des Satzes von Abstands-Parametern an ein künstliches neuronales Netzwerk angeschlossen sind, um zu bewirken, dass das künstliche neuronale Netzwerk mindestens ein Steuer- Ausgabesignal erzeugt;
  • Mittel, die zum Bereitstellen eines Vektor-Quantisierungs- Systems angeschlossen sind, das gebildet ist aus: mindestens einer Tabelle mit einer ersten Mehrzahl von Speicherstellen, wobei jede Speicherstelle einen repräsentativen Vektor speichert und eine Adresse hat, die mittels eines jeweiligen Indexsignals repräsentiert ist; und Such-Mitteln zum Vergleichen jedes repräsentativen Vektors mit jedem Eingabesignal-Parameter-Wert;
  • Mittel, die zum Anlegen des mindestens einen Steuer- Ausgabesignals an das Vektor-Quantisierungs-System zum Identifizieren einer zweiten Mehrzahl von Speicherstellen angeschlossen sind, welche zweite Mehrzahl eine Teilmenge der ersten Mehrzahl von Speicherstellen ist;
  • Mittel, die angeschlossen sind zum Durchsuchen, in den Such- Mitteln, der zweiten Mehrzahl von Speicherstellen zum Lokalisieren derjenigen Speicherstelle der zweiten Mehrzahl, welche am nächsten den Eingabe-Vektor entsprechend einem Kriterium approximiert, das den Satz von Abstands-Parametern verwendet; und
  • Mittel, die zum Ausgeben des Index der Speicherstelle angeschlossen sind, welche den Eingabe-Vektor als am nächsten approximierend gefunden wird.
  • KURZBESCHREIBUNG DER FIGUREN
  • Die Ziele und Merkmale der vorliegenden Erfindung, von welchen angenommen wird, dass sie neu sind, werden bezugnehmend auf die beigefügten Patentansprüche beschrieben. Die vorliegende Erfindung, sowohl ihre Organisation als auch ihre Betriebsweise, gemeinsam mit weiteren Zielen und Vorteilen, können bezugnehmend auf die folgende Beschreibung, in Verbindung mit den beigefügten Zeichnungen, am besten verstanden werden.
  • Fig. 1 ist ein Blockdiagramm, das ein grundlegendes VQ- System gemäß dem Stand der Technik zeigt,
  • Fig. 2 ist eine Ansicht, die ähnlich zu der von Fig. 1 ist, die eine andere Form der Konstruktion eines VQ-Systems gemäß dem Stand der Technik zeigt;
  • Fig. 3 und 4 sind Blockdiagramme von jeweils einer Komponente und eines Netzwerkes von solchen Komponenten, die in Ausführungsbeispielen der vorliegenden Erfindung eingesetzt sind;
  • Fig. 5 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines Kodierers gemäß der vorliegenden Erfindung zeigt;
  • Fig. 6 ist ein Flussdiagramm, das den Betrieb des Kodierers von Fig. 5 zeigt;
  • Fig. 7 ist ein Blockdiagramm, das ein zweites Ausführungsbeispiel eines Kodierers gemäß der vorliegenden Erfindung zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Wie oben angemerkt, werden Ziele der Erfindung mittels Kombinierens der Funktionen eines künstlichen neuronalen Netzwerks mit jenen eines herkömmlichen VQ-Systems auf eine neue Weise erreicht, welche die Vorteile von beiden Systemen kombiniert, um so Kodiergeschwindigkeit zu erhöhen und die Rechenlast herabzusetzen.
  • Ein künstliches neuronales Netzwerk wird mittels Koppelns einer Mehrzahl von Elementarkomponenten miteinander ausgebildet, welche in dem technischen Gebiet als Perzeptronen bekannt sind.
  • Fig. 3 ist ein Blockdiagramm, das die grundlegenden Komponenten eines exemplarischen Perzeptrons zeigt, das aus einer Mehrzahl von Eingabe-Anschlüssen 310, einer Summier- Einheit 320, einem Ausgabe-Funktionsgenerator 325 und einem Ausgabe-Anschluss 330 gebildet ist. Zwischen jeder der Eingaben 310 und Summier-Einheit 320 sind Komponenten vorgesehen, welche dem Signal an der zugeordneten Eingabe ein ausgewähltes Gewicht bereitstellen. Daher hat, falls das Signal an einer Eingabe einen Wert i hat, das an Summier- Einheit 320 angelegte entsprechende Signal einen Wert wi. Eine weitere Eingabe kann an Summier-Einheit 320 angeschlossen sein, zum Bereitstellen eines Signals mit einem festen Wert für Steuerzwecke. Beispielsweise kann die weitere Eingabe, wie gezeigt, einen festen Wert it und eine ein Gewicht wt bereitstellende Gewichtungs-Komponente empfangen, um einen Schwellwert itwt bereitzustellen. Summier-Einheit 320 generiert ein Signal entsprechend der Summe aller Eingaben wi und stellt diese Ausgabe dem Funktionsgenerator 325 bereit. Funktionsgenerator 325 kann die Signale an seiner Eingabe gemäß einer beliebigen gewünschten Funktion verändern, linear oder nichtlinear, abhängig von dem zu erzeugenden Endergebnis.
  • Um ein künstliches neuronales Netzwerk auszubilden, wird eine Mehrzahl von Perzeptronen mit der allgemeinen, in Fig. 3 gezeigten Form zu einem künstlichen neuronalen Netzwerk mit einer Mehrzahl von Schichten zusammengefügt, wovon ein Beispiel in Fig. 4 gezeigt ist.
  • Jeder in Fig. 4 gezeigte Kreis ist ein jeweiliges Perzeptron, das die in Fig. 3 gezeigte Form hat. Das in Fig. 4 dargestellte künstliche neuronale Netzwerk besteht aus einer Eingabeschicht, einer versteckten Schicht und einer Ausgabeschicht. In diesem dargestellten Ausführungsbeispiel hat jedes Perzeptron der Eingabeschicht eine einzige Eingabe. Jedoch kann jedes Perzeptron der Eingabeschicht 420 auch mindestens eine zusätzliche Eingabe haben, die zum Empfangen eines festen Signals für Steuerzwecke angeschlossen ist, das heißt zum Bereitstellen eines Schwellsignals, oder mit einer größeren Anzahl von Eingaben.
  • Die Ausgabe von jedem Perzeptron der Eingabeschicht 420 ist an eine jeweilige Eingabe von einem oder mehreren Perzeptronen der versteckten Schicht 430 angeschlossen. In dem in Fig. 4 dargestellten Ausführungsbeispiel ist die Ausgabe von jedem Perzeptron der Eingabeschicht 420 mit der Eingabe von jedem der Perzeptronen der versteckten Schicht 430 angeschlossen. Dies ist allerdings nicht erforderlich; die Ausgabe von jedem Perzeptron der Eingabeschicht 420 kann an weniger als an alle der Perzeptronen der versteckten Schicht 430 angeschlossen sein. Zusätzlich kann, wie im Falle der Perzeptronen der Eingabeschicht 420, jedes Perzeptron der versteckten Schicht 430 mit einer weiteren Eingabe versehen sein, welche ein festes Signal für Steuerzwecke empfängt, und insbesondere zum Bereitstellen eines Schwellwerts.
  • Schließlich werden die Ausgaben der Perzeptronen der versteckten Schicht 430 an jeweilige Eingäben der Perzeptronen der Ausgabeschicht 440 angeschlossen. Wieder kann die Ausgabe von jedem Perzeptron der versteckten Schicht 430 an die Eingaben einer beliebigen Anzahl von Perzeptronen der Ausgabeschicht 440 angeschlossen sein, und jedes Perzeptron der Ausgabeschicht 440 kann mit einer weiteren Eingabe versehen sein, welche ein festes Signal für Steuerzwecke empfängt, und insbesondere zum Bereitstellen eines Schwellwerts. Für die Praxis der vorliegenden Erfindung kann ein künstliches neuronales Netzwerk mit der in Fig. 4 gezeigten Form gemäß dem in den technischen Gebiet wohlbekannten Prinzipien konstruiert werden. Beispielsweise ist das Erzeugen eines solchen Netzwerks in dem Text von Simon Haykin mit dem Titel NEURAL NETWORKS beschrieben, veröffentlicht von McMillan College Publishing Company, New York, 1994. Kapitel 4 dieses Textes beschreibt die grundlegenden Prinzipien des Perzeptrons, wohingegen Kapitel 6 des Texts Mehrfach-Schicht-Perzeptronen beschreibt, solche wie die in Fig. 4 gezeigten, die eine Klasse von neuronalen Netzwerken bilden.
  • Wie aus dem oben zitierten Text klar wird, kann ein künstliches neuronales Netzwerk, eingesetzt in der Praxis der vorliegenden Erfindung, eine beliebige Anzahl von Schichten, eine beliebige Anzahl von Perzeptronen in jeder Schicht, eine beliebige Kombination von Zusammenschaltungen zwischen den Schichten, eine beliebige Kombination von Signalgewichtungen und eine beliebige Anzahl von Ausgaben haben.
  • Jedes Perzeptron kann von dem Typ sein, welcher eine binäre Ausgabe erzeugt, oder des Typ sein, welcher eine analoge Ausgabe erzeugt. Allerdings sind die Perzeptronen der Ausgabeschicht 440 normalerweise derart gebildet, dass sie binäre Ausgaben erzeugen, und der Satz von Ausgaben 450 wird einen binären Ausgabe-Vektor bilden.
  • Der Betrieb eines künstlichen neuronalen Netzwerks kann als ein Eingabe-Ausgabe-Mapping beschrieben werden, und das Mapping-Pattern wird hauptsächlich mittels der Gewichte w bestimmt, die an den Eingaben jedes Perzeptrons bereitgestellt sind. Die am üblichsten verwendeten künstlichen neuronalen Netzwerke sind von dem Mehrfach- Schicht-, Feed-Forward-Typ. Effiziente Algorithmen, wie beispielsweise Back-Propagation-Algorithmen, können zum Trainieren eines solchen Netzwerks basierend auf einem gekennzeichneten Trainingssatz verwendet werden, das heißt einem Satz von möglichen Eingabe-Vektoren gemeinsam mit der gewünschten Ausgabe des Netzwerks für jeden Vektor. Dieser Typ des Trainings eines künstlichen neuronalen Netzwerks ist auch in Abschnitten 6.6-6.22 der oben zitierten Arbeit von Haykin beschrieben. Mittels Verwendens unterschiedlicher Sätze von Gewichtungswerten kann ein gegebenes künstliches neuronales Netzwerk unterschiedliche Eingabe-Ausgabe-Mappings erzeugen.
  • Da alle der Perzeptronen jeder Schicht parallel operieren, wird die zwischen dem Eingeben eines Eingabe-Vektors und dem Ausgeben eines entsprechenden Ausgabe-Vektors vergehende Gesamtzeit gleich der Anzahl von neuronalen Netzwerk- Schichten multipliziert mit der Eingabe-Ausgabe- Verarbeitungs- oder Mapping-Zeit eines Perzeptrons in jeder Schicht sein. Da zusätzlich jede Schicht Signale der Reihe nach verarbeitet, könnten Eingabe-Vektoren an Eingaben 410 mit einer Frequenz geliefert werden, die gleich der Eingabe- Ausgabe-Mapping-Rate jedes Perzeptrons ist, falls die Perzeptronen synchron betrieben werden.
  • Künstliche neuronale Netzwerk-Theorie sagt aus, dass ein beliebiges Eingabe-Ausgabe-Mapping mittels eines dreischichtigen, Feed-Forward künstlichen neuronalen Netzwerks durchgeführt werden kann, unter der Annahme, dass eine ausreichend große Anzahl von Perzeptronen in der versteckten Schicht vorliegend sind. In der Praxis kann ein solches Netzwerk ein Eingabe-Ausgabe-Mapping approximieren, welches ihm mittels eines gekennzeichneten Trainingssatzes präsentiert wird.
  • Gemäß der Erfindung werden die Hochgeschwindigkeits-Mapping- Fähigkeiten von künstlichen neuronalen Netzwerken mit den exakteren Eingabe-Ausgabe-Mapping-Fähigkeiten eines VQ- Systems zum Erreichen eines hybriden Systems kombiniert, welches die Vorteile von beiden kombiniert. Insbesondere kombiniert das System gemäß der Erfindung die optimale Leistungsfähigkeit von VQ mit der geringen Komplexität von künstlichen neuronalen Netzwerksystemen.
  • VQ kann als eine Klassifikationstechnik angesehen werden. Jeder mögliche Vektor wird in einen repräsentierten Vektor klassifiziert, der Eintrag in der Tabelle, und in einen repräsentierten Index, den Index dieses Eintrags. Ein Satz von Vektoren wird mittels eines einzigen Eintrags oder eines einzigen Index repräsentiert. VQ kann also als eine Eingabe- Ausgabe-Mapping-Technik angesehen werden. Die Eingabe ist der originale Vektor und die Ausgabe ist der repräsentierte Vektor (oder der Index des repräsentierten Vektors in der VQ- Tabelle).
  • Ein Ausführungsbeispiel eines Systems gemäß der Erfindung ist in Fig. 5 gezeigt. Das System enthält ein künstliches neuronales Netzwerk 520 ("artificial neural network, ANN") mit zum Empfangen von Eingabe-Vektoren angeschlossenen Eingaben 510 und mit an eine geeignete Quelle von Gewichtungswerten 522 angeschlossenen Eingaben. Die Eingabe- Vektoren sind dieselben wie jene, die an Eingaben 115 und 215 in Fig. 1 und 2 angelegt sind. Netzwerk 520 hat Steuer- Ausgaben 525, die an Eingaben einer Such-Einheit 530 angeschlossen sind. Such-Einheit 530 ist an eine VQ-Tabelle 535 und eine Vergleichs-Einheit 540 angeschlossen, wobei die Kopplungen zwischen und der Betrieb von Such-Einheit 530, Tabelle 535 und Vergleichs-Einheit 540 im Wesentlichen gleich wie bei den bezugnehmend auf Fig. 1 beschriebenen ist.
  • Allerdings empfängt gemäß der vorliegenden Erfindung Such- Einheit 530 Information-Identifizierung-ausgewählte-Vektoren von Netzwerk 520, wobei jeder der Vektoren einen Index von Tabelle 535 repräsentiert, wo darin ein Vektor gespeichert ist, der nahe dem über Leitung 510 bereitgestellten Eingabe- Vektor ist.
  • Um ein Beispiel anzugeben, die Ausgabeschicht des neuronalen Netzwerks 520 kann eine Anzahl von Perzeptronen haben, die gleich der Anzahl von Einträgen in Tabelle 535 ist, und die Ausgabe von jeder Ausgabeschicht von Netzwerk 520 ist einer jeweiligen Adresse, oder Eintrag, von Tabelle 535 zugeordnet, und ist an Such-Einheit 530 angeschlossen. Netzwerk 520 wird trainiert worden sein, um auf jeden Eingabe-Vektor auf eine Weise zu antworten, die bewirkt, dass die Ausgaben von ausgewählten neuronalen Netzwerk-Ausgabeschicht-Perzeptronen einen gegebenen Wert haben, beispielsweise einen binären "1" Wert, wobei diese Perzeptronen quantisierten Vektoren zugeordnet sind, die dem Eingabe-Vektor am nächsten sind.
  • Alternativ kann die Ausgabeschicht des neuronalem Netzwerks 520 eine kleinere Anzahl von Perzeptronen aufweisen, und die Ausgabe von jedem Ausgabeschicht-Perzeptron kann einer ausgewählten Teilmenge von Einträgen in Tabelle 535 zugeordnet sein. Die Anzahl von Perzeptronen in der Ausgabeschicht kann kleiner, gleich oder größer als die Anzahl von Einträgen in Tabelle 535 sein.
  • Die Anzahl von Stellen, für welche Vergleich durchgeführt wird, kann so klein sein wie 4 Stellen, und so groß sein wie die Hälfte, aber vorzugsweise nicht größer als ein Viertel von all den Stellen, die in Tabelle 535 enthalten sind. Im Allgemeinen wird die Verarbeitungsgeschwindigkeit umgekehrt proportional zu der Anzahl von Stellen sein, für welche ein Vergleich durchgeführt wird.
  • Wenn der Index des nächstliegenden quantisierten Vektors bestimmt ist, mit der Unterstützung der auf Leitungen 545 gemäß der herkömmlichen Praxis in dem technischen Gebiet der Vektor-Quantisierung bereitgestellten Abstands-Parameter, wird dieser Index über Leitung 550 an Kommunikations-Kanal 560 übermittelt. Die übermittelten Indizes werden an der Empfangsseite (nicht gezeigt) auf dieselbe Weise wie gemäß dem Stand der Technik dekodiert.
  • Die grundlegenden Schritte eines Kodierverfahrens gemäß der vorliegenden Erfindung werden beschrieben, um das Verständnis in dem Programmier-Flussdiagramm von Fig. 6 zu vereinfachen.
  • Wie dort dargestellt, enthält das Kodierverfahren einen Schritt 610 zum Zuführen von Eingabe-Vektoren und Abstands- Parametern in Netzwerk 520 von Fig. 5. Während oder vor diesem Schritt kann ein geeigneter Satz von Gewichtungen von Einheit 522 dem Netzwerk 520 bereitgestellt werden.
  • Dann wird in Schritt 620 die Ausgabe von Netzwerk 520 zum Identifizieren eines Satzes von Indizes eingesetzt, welche in Tabelle 535 zu untersuchen sind. Dies kann entweder mittels Bereitstellens eines einzigen Index von Netzwerk 520 und mittels Ableitens eines Satzes von Indizes in Such-Einheit 530 davon, oder mittels direkten Bereitstellens eines Satzes von Indizes von Netzwerk 520 erreicht werden.
  • In Schritt 630 wird eine Minimal-Abstand-Suche durchgeführt, unter Steuerung der Vergleichs-Einheit 520, für jede der mittels Such-Einheit 530 bereitgestellten Indizes.
  • Ferner wird in Schritt 640 der Index der quantisierten Vektoren in Tabelle 535, der den minimalen Abstand von dem zugeordneten Eingabe-Vektor hat, als Index 550 an den Kommunikations-Kanal 560 übermittelt.
  • Dasselbe Konzept von Komplexitäts-Verringerung unter Verwendung von ANN mit einer einzigen Tabelle VQ kann auf Produkt-Code-VQ-Systeme ausgeweitet werden, wo eine Mehrzahl von Tabellen zum Repräsentieren des Eingabe-Vektors verwendet wird. Eine Teilmenge von Einträgen von jeder Tabelle kann mittels eines ANN vorausgewählt werden, um die Komplexität der VQ-Suche zu reduzieren. Eine Mehrzahl von ANNs, von denen jedes mit mindestens einer VQ-Tabelle korrespondiert und mit mindestens einer VQ-Tabelle operiert, kann verwendet werden. Ein einziges ANN mit einem ladbaren Satz von Gewichten kann auch zum Auswählen der Teilmenge von Einträgen von jeder Tabelle in einer sequentiellen Weise eingesetzt werden.
  • Fig. 7 beschreibt einen solchen Produkt-VQ-Kodierer mit einem zum Verringern der Komplexität verwendeten Satz von ANNs. Der Eingabe-Vektor (710) und die Abstands-Parameter (715) werden an den Satz von ANNs (740) angelegt. Der Satz von ANNs erzeugt die Steuer-Ausgabesignale (745), welche mittels der Such-Einheit (720) für eine Suche mit reduzierter Komplexität in dem Satz von VQ-Tabellen (735) verwendet werden, unter Verwendung der Vergleichs-Einheit (725), zum Erzeugen des Satzes von Indizes (730)
  • Während besondere Ausführungsbeispiele der vorliegenden Erfindung gezeigt und beschrieben worden sind, wird es für den Fachmann auf dem technischen Gebiet offensichtlich sein, dass Änderungen und Modifikationen getätigt werden können, ohne von dieser Erfindung in ihren breiteren Aspekten abzukommen, und daher ist es das Ziel in den beigefügten Patentansprüchen, alle solche Änderungen und Modifikationen abzudecken, die innerhalb des wahren Geists und Umfangs dieser Erfindung liegen.

Claims (16)

1. Ein Verfahren zum Kodieren eines Eingabesignals zum Speichern oder Übermitteln über einen Kommunikations-Kanal mittels Transformierens aufeinanderfolgender Eingabe-Vektoren von Parametern des Eingabesignals in eine entsprechende Aufeinanderfolge von Indexsignalen, wobei jedes Indexsignal einem quantisierten Vektor zugeordnet ist, der einem geordneten Satz von Werten der Eingabesignal-Parameter entspricht, wobei das Verfahren aufweist:
Bereitstellen der Eingabe-Vektoren an ein künstliches neuronales Netzwerk, um zu bewirken, dass das künstliche neuronale Netzwerk mindestens ein Steuer-Ausgabesignal erzeugt;
Bereitstellen eines Vektor-Quantisierungs-Systems, das gebildet ist aus: mindestens einer. Tabelle mit einer ersten Mehrzahl von Speicherstellen, wobei jede Speicherstelle einen repräsentativen Vektor speichert und eine mittels eines jeweiligen Indexsignals repräsentierte Adresse hat; und Such- Mitteln zum Vergleichen jedes repräsentativen Vektors mit jedem Eingabesignal-Parameter-Wert;
Anlegen des mindestens einen Steuer-Ausgabesignals an das Vektor-Quantisierungs-System zum Identifizieren einer zweiten. Mehrzahl der Speicherstellen, welche zweite Mehrzahl eine Teilmenge der ersten Mehrzahl von Speicherstellen ist;
Durchsuchen, in den Such-Mitteln, der zweiten Mehrzahl von Speicherstellen zum Lokalisieren derjenigen Speicherstelle der zweiten Mehrzahl, welche den Eingabe- Vektor gemäß einem Kriterium am nächsten approximiert, das einen Satz von Abstands-Parametern verwendet, und
Ausgeben des Index der Speicherstelle, welche als den Eingabe-Vektor am nächsten approximierend gefunden wird.
2. Ein Verfahren nach Anspruch 1, wobei die zweite Mehrzahl weniger als die Hälfte der ersten Mehrzahl ist.
3. Ein Verfahren nach Anspruch 1, wobei die zweite Mehrzahl weniger als ein Viertel der ersten Mehrzahl ist.
4. Ein System zum Kodieren eines Eingabesignals zum Speichern oder Übermitteln über einen Kommunikations-Kanal mittels Transformierens aufeinanderfolgender Eingabe-Vektoren von Parametern des Eingabesignals in eine entsprechende Abfolge von Indexsignalen, wobei jedes Indexsignal einem quantisierten Vektor zugeordnet ist, der einem geordneten Satz von Werten der Eingabesignal-Parameter entspricht, wobei ein Vektor-Quantisierungs-System eine erste Mehrzahl von Speicherstellen in einer Tabelle hat, wobei jede Speicherstelle einen repräsentativen Vektor speichert und eine Adresse hat, die mittels eines jeweiligen Indexsignals repräsentiert ist, und ein Such-Mittel zum Vergleichen jedes repräsentativen Vektors mit jedem Eingabesignal-Parameter- Wert, wobei das System gekennzeichnet ist durch:
mindestens ein künstliches neuronales Netzwerk;
Mittel, die zum Bereitstellen des Eingabe-Vektors an das mindestens eine künstliche neuronale Netzwerk angeschlossen sind, um zu bewirken, dass das künstliche neuronale Netzwerk mindestens ein Steuer-Ausgabesignal erzeugt;
Mittel, die zum Anlegen des mindestens einen Steuer- Ausgabesignals an das Vektor-Quantisierungs-System zum Identifizieren einer zweiten Mehrzahl der Speicherstellen angeschlossen ist, welche zweite Mehrzahl eine Teilmenge der ersten Mehrzahl von Speicherstellen ist;
Mittel, die zum Durchsuchen, in dem Such-Mittel, der zweiten Mehrzahl von Speicherstellen angeschlossen sind, zum Lokalisieren derjenigen Speicherstelle der zweiten Mehrzahl, welche den Eingabe-Vektor gemäß einem Kriterium am nächsten approximiert, das einen Satz von Abstands-Parametern verwendet; und
Mittel, die zum Ausgeben des Index der Speicherstelle angeschlossen sind, welche als den Eingabe-Vektor am nächsten approximierend gefunden ist.
5. Ein System nach Anspruch 4, wobei das mittels des künstlichen neuronalen Netzwerks empfangene Eingabesignal ein digitales Signal ist, das aus einer Anzahl von Bits gebildet ist, wobei das künstliche neuronale Netzwerk eine Mehrzahl von Eingäben hat, von denen jede zum Empfangen eines jeweiligen Bits des digitalen Signals angeschlossen ist, und der Satz von mittels des künstlichen neuronalen Netzwerks abgeleiteten Ausgabesignalen entspricht den Adressen der zweiten Mehrzahl von Speicherstellen.
6. Ein System nach Anspruch 5, wobei das künstliche neuronale Netzwerk eine Mehrzahl von Ausgaben hat, von denen jede mindestens einer Speicherstelle der zweiten Mehrzahl von Speicherstellen zugeordnet ist.
7. Ein System nach Anspruch 6, wobei jede Ausgabe des künstlichen neuronalen Netzwerks einem Satz von Speicherstellen der zweiten Mehrzahl von Speicherstellen zugeordnet ist.
8. Ein System nach Anspruch 4, wobei die zweite Mehrzahl weniger als die Hälfte der ersten Mehrzahl ist.
9. Ein System nach Anspruch 4, wobei die zweite Mehrzahl weniger als ein Viertel der ersten Mehrzahl ist.
10. Ein System nach Anspruch 4, wobei die mindestens eine Tabelle eine Mehrzahl von Tabellen aufweist, von denen jede eine erste Mehrzahl von Speicherstellen hat, und wobei jede quantisierte Vektoren speichert, die einen Abschnitt eines jeweiligen Indexsignals repräsentieren.
11. Ein System nach Anspruch 4, wobei die mindestens eine Tabelle eine Mehrzahl von Tabellen aufweist.
12. Ein System nach Anspruch 11, wobei das mindestens eine künstliche neuronale Netzwerk eine Mehrzahl von künstlichen neuronalen Netzwerken zum Bereitstellen jeweiliger Steuer- Ausgabesignale aufweist, jedes entsprechend der mindestens einen der Mehrzahl von Tabellen.
13. Ein System nach Anspruch 12, wobei jedes künstliche neuronale Netzwerk einer jeweiligen Tabelle zugeordnet ist.
14. Ein System nach Anspruch 12, wobei jedes künstliche neuronale Netzwerk eine Mehrzahl von Eingaben hat, jede zum Empfangen eines Abschnitts des Eingabe-Vektors, und Mittel zum Bereitstellen eines Gewichts mit einem ausgewählten Wert an jeden Eingabe-Vektor-Abschnitt.
15. Ein System nach Anspruch 14, das ferner Mittel aufweist, die zum Bereitstellen unterschiedlicher Gewicht-Werte an jedes künstliche neuronale Netzwerk angeschlossen sind.
16. Ein System gemäß Anspruch 15, wobei jedes künstliche neuronale Netzwerk einer Mehrzahl von Tabellen zugeordnet ist, und den Eingabe-Vektor-Abschnitten Gewichte bereitstellt, die unterschiedliche Werte haben, zum Bereitstellen eines unterschiedlichen Steuer-Ausgabesignals an jede der Mehrzahl von zugeordneten Tabellen.
DE69809397T 1997-02-18 1998-02-05 Datenkompressionssystem und -verfahren Expired - Fee Related DE69809397T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/801,890 US5781128A (en) 1997-02-18 1997-02-18 Data compression system and method
PCT/US1998/002026 WO1998036499A1 (en) 1997-02-18 1998-02-05 Data compression system and method

Publications (2)

Publication Number Publication Date
DE69809397D1 DE69809397D1 (de) 2002-12-19
DE69809397T2 true DE69809397T2 (de) 2003-07-31

Family

ID=25182287

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69809397T Expired - Fee Related DE69809397T2 (de) 1997-02-18 1998-02-05 Datenkompressionssystem und -verfahren

Country Status (6)

Country Link
US (1) US5781128A (de)
EP (1) EP0962059B1 (de)
JP (1) JP2001511980A (de)
AT (1) ATE227903T1 (de)
DE (1) DE69809397T2 (de)
WO (1) WO1998036499A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513073B1 (en) * 1998-01-30 2003-01-28 Brother Kogyo Kabushiki Kaisha Data output method and apparatus having stored parameters
US6192442B1 (en) * 1998-04-29 2001-02-20 Intel Corporation Interrupt controller
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6285994B1 (en) 1999-05-25 2001-09-04 International Business Machines Corporation Method and system for efficiently searching an encoded vector index
US20180336469A1 (en) * 2017-05-18 2018-11-22 Qualcomm Incorporated Sigma-delta position derivative networks
CN112445772B (zh) * 2019-08-31 2024-08-23 上海寒武纪信息科技有限公司 用于数据压缩和解压缩的装置和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2639739B1 (fr) * 1988-11-25 1991-03-15 Labo Electronique Physique Procede et dispositif de compression de donnees d'image utilisant un reseau de neurones
US5067152A (en) * 1989-01-30 1991-11-19 Information Technologies Research, Inc. Method and apparatus for vector quantization
US4994927A (en) * 1989-06-19 1991-02-19 Gte Laboratories Inc Self-adaptive neural net based vector quantizer for image compression
US5255346A (en) * 1989-12-28 1993-10-19 U S West Advanced Technologies, Inc. Method and apparatus for design of a vector quantizer
US5216750A (en) * 1990-06-07 1993-06-01 Texas Instruments Incorporated Computation system and method using hamming distance

Also Published As

Publication number Publication date
EP0962059B1 (de) 2002-11-13
ATE227903T1 (de) 2002-11-15
EP0962059A1 (de) 1999-12-08
WO1998036499A1 (en) 1998-08-20
DE69809397D1 (de) 2002-12-19
JP2001511980A (ja) 2001-08-14
US5781128A (en) 1998-07-14

Similar Documents

Publication Publication Date Title
DE4397106B4 (de) Schnelles auf einer Baumstruktur basierendes Verfahren zur Vektorquantisierung
DE3853916T2 (de) Digitaler-sprachkodierer mit verbesserter vertoranregungsquelle.
DE69323156T2 (de) Bilddatenkomprimierungs/Dekomprimierungssystem
DE69030485T2 (de) Binärreflexivkodierer zur Vektorquantifizierung
DE3883192T2 (de) Neuronale Netzwerkschaltung und -struktur.
DE69023963T2 (de) Gerät zur Verstärkungs/Form-Vektorquantifizierung.
DE69226095T2 (de) Bildkodier- und Dekodiersystem unter Verwendung einer Orthogonaltransformation und Bitzuordnungsverfahren
DE69118465T2 (de) Einrichtung und Verfahren zur Datenkomprimierung durch Quantisierung von in einem Binärbaum gesuchten Vektoren
DE69412294T2 (de) System zur prädiktiven Kodierung/Dekodierung eines digitalen Sprachsignals mittels einer adaptiven Transformation mit eingebetteten Kodes
DE69015695T2 (de) Einrichtung zur Transformationskodierung.
DE69637335T2 (de) Bildsignalkodierungsmethode und -vorrichtung
DE69023411T2 (de) Vektorquantizierungskodierer und Dekodierer.
DE69029232T2 (de) System und Methode zur Sprachkodierung
DE69329569T2 (de) Digitale Kodierung von Sprachsignalen
DE3786412T2 (de) Verfahren und Vorrichtung zur digitalen Signalkodierung durch Quantisierung.
EP0368139A2 (de) Verfahren zur Codierung von Restfehlerbildern
DE3202913A1 (de) Verfahren und vorrichtung zur verarbeitung eines grauwertkomponenten enthaltenden faksimilesignals
DE3853899T2 (de) Verfahren und Vorrichtung zur Codierung und Decodierung eines Signals.
EP0276753A2 (de) Verfahren und Vorrichtung zur digitalen Nachrichtenübertragung und/oder -aufzeichnung und -wiedergabe
DE2659083A1 (de) Verfahren und vorrichtung zur sprechererkennung
DE69106580T2 (de) Codieranordnung mit einem Unterbandcoder und Sender mit der Codieranordnung.
DE69124210T2 (de) Einrichtung zur Signalcodierung
DE69527078T2 (de) Verfahren zur vektorkodierung und entsprechender kodierer/dekodierer
DE69127495T2 (de) Erkennungseinheit und Gerät zur Erkennung und Beurteilung in dem die Einheit verwendet ist
DE69225649T2 (de) Bewegungskompensation mit Verwendung einer minimalen Bitanzahl je bewegtem Block als Kriterium für Blockübereinstimmung

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: CONEXANT SYSTEMS, INC., NEWPORT BEACH, CALIF., US

8327 Change in the person/name/address of the patent owner

Owner name: MINDSPEED TECHNOLOGIES, INC. (N.D.GES.D. STAATES D

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee