DE19928985A1 - Rekursive Online-Wavelet-Datenkompressionstechnik für die Verwendung bei der Datenspeicherung und bei Nachrichtenübermittlungen - Google Patents

Rekursive Online-Wavelet-Datenkompressionstechnik für die Verwendung bei der Datenspeicherung und bei Nachrichtenübermittlungen

Info

Publication number
DE19928985A1
DE19928985A1 DE19928985A DE19928985A DE19928985A1 DE 19928985 A1 DE19928985 A1 DE 19928985A1 DE 19928985 A DE19928985 A DE 19928985A DE 19928985 A DE19928985 A DE 19928985A DE 19928985 A1 DE19928985 A1 DE 19928985A1
Authority
DE
Germany
Prior art keywords
data
compression
tree
points
layer
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
DE19928985A
Other languages
English (en)
Inventor
Shailesh Kumar
Manish Misra
S Joe Qin
Terrence L Blevins
Richard C Seemann
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.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
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 Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE19928985A1 publication Critical patent/DE19928985A1/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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Programmable Controllers (AREA)

Abstract

Es ist eine rekursive Online-Wavelet-Datenkompressionstechnik offenbart, die beispielsweise in einem Prozeßregelnetzwerk verwendet werden kann und die einen Strom von Datenpunkten Online oder in Realzeit komprimiert (das heißt, so wie die Daten kommen oder erzeugt werden), und zwar ohne das Erfordernis der Abspeicherung einer großen Menge an unkomprimierten Daten. Das Datenkompressionssystem enthält einen Datenempfänger, der die Datenpunkte in einer sequentiellen Weise empfängt, und eine Kompressionsbaumberechnungsvorrichtung, welche Annäherungskoeffizienten und Detailkoeffizienten eines Vielschicht-Wavelet-Kompressionsbaumes aus den empfangenen Datenpunkten berechnet. Die Kompressionsbaumberechnungsvorrichtung bestimmt alle die Koeffizienten der höheren Ebenenschichten des Kompressionsbaumes, die bestimmt werden können, nachdem der Datenempfänger jeden der Datenpunkte empfangen hat, um dadurch eine Online- oder Realzeit-Datenkompression durchzuführen. Ein Speicher speichert die abgeleiteten Annäherungskoeffizienten des Kompressionsbaumes, ein Komparator vergleicht die abgeleiteten Detailkoeffizientgrößen oder andere Fehlermeßgrößen mit einem oder mit mehreren Schwellenwerten, um zu bestimmen, ob die Konstruktion des Kompressionsbaumes angehalten werden sollte, und ein Kompressionsdatengenerator wählt einen untergeordneten Satz der abgeleiteten Koeffizienten aus, um einen Satz von komprimierten Daten entsprechend den empfangenen Datenpunkten zu erzeugen, wenn der ...

Description

HINTERGRUND DER ERFINDUNG
Die vorliegende Erfindung betrifft allgemein die Datenkom­ pression bei Datenspeicher- und Datenkommunikationssyste­ men, und spezieller eine rekursive Wavelet-Datenkompres­ sionstechnik für die Verwendung bei der Speicherung und der Übermittlung komprimierter Daten online in beispielsweise einem Prozeßregelnetzwerk.
BESCHREIBUNG DES STANDES DER TECHNIK
Prozeßanlagen, wie beispielsweise chemische Raffinerieanla­ gen und Arzneimittelherstellungsanlagen, enthalten in typi­ scher Weise eine große Anzahl von Bereichsvorrichtungen (field devices), die Parameter oder Variable an verschiede­ nen Stellen innerhalb eines Prozesses steuern und messen. Eine Bereichsvorrichtung kann eine Steuervorrichtung (bei­ spielsweise ein Strömungsventilkontroller), eine Meßvor­ richtung (beispielsweise eine Temperaturmeßvorrichtung, ei­ ne Druckmeßvorrichtung, ein Strömungsmesser) und/oder ir­ gendeine andere Vorrichtung sein, die einen Wert oder ande­ re Daten beeinflußt, darstellt, speichert oder festlegt, der bzw. die einem Prozeß zugeordnet ist bzw. sind. Bis zu dem vergangen Jahrzehnt oder ähnlich bestanden Bereichsvor­ richtungen oder Einsatzvorrichtungen (field devices) aus sehr einfachen Einheiten, die entweder von Hand oder elek­ tronisch gesteuert wurden, um eine oder höchstens ein Paar elektrischer Ablesungsgrößen zu erzeugen, die dann zu einem Anwender über eine Drahtverbindung oder über eine ange­ brachte Meßeinrichtung übertragen wurden. Allgemein gesagt, verwenden diese Vorrichtungen lediglich analoge Signale, um begrenzte Informationen, die die Ablesewerte betreffen oder Meßgrößen betreffen, die durch diese erzeugt wurden, zu übertragen.
Kürzlich wurden sog. "programmierbare" Bereichsvorrichtun­ gen entwickelt. Eine programmierbare Bereichsvorrichtung (smart field device) besteht aus einer Vorrichtung, welche die Fähigkeit hat, mit einem Host zu kommunizieren und ei­ nen solchen zu bilden, einem Kontroller und/oder einem Ma­ nagementsystem, der bzw. welches einem Prozeß zugeordnet ist, zu kommunizieren oder dieses zu bilden und detaillier­ te Informationen zu liefern, die durch die Vorrichtung an­ gefragt oder in dieser gespeichert werden. Beispielsweise sind einige programmierbare Bereichsvorrichtungen dazu be­ fähigt, ein analoges und/oder digitales Signal zu übertra­ gen, welches einen Prozeßwert anzeigt, der der Vorrichtung zugeordnet ist (wie beispielsweise ein Meßwert), wobei die­ se auch die Fähigkeit haben, digitale Signale zu speichern und zu übertragen, welche detaillierte vorrichtungsspezifi­ sche Informationen angeben, wie beispielsweise Eich-, Kon­ figurations-, Diagnose-, Wartungs- und/oder Prozeßinforma­ tionen. Programmierbare Vorrichtungen können beispielsweise die Einheiten speichern und übertragen, in denen die Vor­ richtung mißt, ferner die maximalen Bereiche der Vorrich­ tung, ob die Vorrichtung korrekt arbeitet, Fehlersuchinfor­ mationen hinsichtlich der Vorrichtung, wie und wann die Vorrichtung zu eichen ist, usw. Ferner kann die program­ mierbare Bereichsvorrichtung auch befähigt sein, Operatio­ nen an sich selbst vorzunehmen, wie beispielsweise Eigen­ tests und Eigen-Eichroutinen. Als Beispiel enthalten pro­ grammierbare Vorrichtungen Vorrichtungen, die dem HART(eingetragene Marke) (Highway Addressable Remote Trans­ ducer = adressierbare Autobahn-Fernwandler)-Protokoll (HART-Vorrichtungen), dem FOUNDATIONTM-Fieldbus-Protokoll (Fieldbus-Vorrichtungen), dem PROFIBUS(eingetragene Marke)- Protokoll, dem WORLDFIP(eingetragene Marke)-Protokoll, dem Device-Net(eingetragene Marke)-Protokoll und dem CAN- Protokoll folgen. Jedoch können andere Programmiervorrich­ tungsprotokolle entstehen oder können in der Zukunft ent­ wickelt werden, um unterschiedliche Typen von programmier­ baren Vorrichtungen zu unterstützen.
In Standardprozeßregelnetzwerken können programmierbare Vorrichtungen als auch andere Typen von Bereichsvorrichtun­ gen, wie Host-Vorrichtungen, die aus Kontrollern, Daten­ speichervorrichtungen, Anwenderschnittstellenvorrichtungen usw. bestehen können, an einen Prozeßkontroller über eine vorgeschrieben Leitung angeschlossen werden, die jeder Vor­ richtung zugeordnet ist, oder können alternativ über einen Bus angeschlossen sein, der alle oder wenigstens einen Teil der Vorrichtungen verbindet. Andere Prozeßregelnetzwerke, wie beispielsweise sog. verteilte Prozeßregelnetzwerke, in welchen Steuerfunktionen durch eine Vielzahl von Steuerele­ mente durchgeführt werden, die über das Prozeßregelnetzwerk verstreut sind, können einen oder mehrere Busse besitzen, welche die Vorrichtungen miteinander verbinden, die für ei­ ne Prozeßsteuerung oder Regelung erforderlich sind. Obwohl viele Kommunikationsprotokolle wie diejenigen, die oben an­ gegeben sind, für Prozeßregelkommunikationsnetzwerke ent­ wickelt wurden, stützen sich diese Regelnetzwerke in typi­ scher Weise auf lediglich einen (oder eine sehr begrenzte Zahl) von Bussen von all den Kommunikationsaktivitäten. In den meisten Systemen, speziell in großen Systemen, steht diese Tatsache hoch im Kurs, und zwar hinsichtlich der op­ timalen Verwendung des Busses. In der Tat gilt, je mehr Vorrichtungen an den Bus angeschlossen sind und je mehr In­ formation oder Daten über den Bus durch die Vorrichtungen gesendet werden, die an diesen angeschlossen sind, je wahr­ scheinlicher wird es, daß Flaschenhälse auf dem Bus auftre­ ten. Diese Flaschenhälse können zum Verlust von Daten füh­ ren und reduzieren die Performance des Prozeßregelnetz­ werks. Ferner nimmt die Zunahme in den Datenkommunikations­ fähigkeiten der Prozeßregelnetzwerke häufig die Fähigkeit der Datenspeichervorrichtungen stark in Anspruch, wie bei­ spielsweise Datenbibliotheken (Datenablagen), um die über einen Bus zu sendenden Daten zu sammeln und zu speichern. Der kürzliche Schritt in der Industrie, den Prozeßsteuerbus zum Übertragen von Videobildern zu verwenden, wie bei­ spielsweise solche, die durch eine Videokamera aufgenommen werden, die irgendwo innerhalb des Prozeßnetzwerks gelegen ist, trägt merklich zur Belastung des Datenverkehrs auf dem Prozeßbus bei und verstärkt das Problem.
Wie offensichtlich ist, ist es wünschenswert, ein Prozeßre­ gelsystem (oder irgendein anderes Kommunikationsnetzwerk) so zu konfigurieren, daß es die Fähigkeit erlangt, eine Kommunikation durchzuführen mit so vielen Daten wie mög­ lich, unter Verwendung eines gegebenen Ausmaßes der Bus­ bandbreite. Es ist in ähnlicher Weise wünschenswert, so viel wie möglich an Daten unter Verwendung von so wenig Speicher wie möglich zu speichern in beispielsweise Prozeß­ regelnetzwerken. Um diese Ziele zu erreichen, verwendeten herkömmliche Prozeßregelsysteme Datenkompressionstechniken, um die Daten, die in einer Speichervorrichtung gespeichert sind, zu komprimieren. Jedoch sind die meisten herkömmli­ chen Kompressionstechniken, die bei Prozeßregelsystemen verwendet wurden, nicht vollständig zufriedenstellend, und zwar in Verbindung mit der Reduzierung des Ausmaßes an Speicherraum, der erforderlich ist, um eine gegebene Menge an Daten zu speichern. Ferner besaßen herkömmliche Prozeß­ regelnetzwerke nicht die Fähigkeit, die Busbandbreite zu reduzieren, die erforderlich ist, um eine gegebene Menge an Daten über einen Bus zu übertragen, da sie nicht dazu befä­ higt waren, die komprimierten Daten über den Bus zu über­ tragen.
Allgemein gesagt, verwendeten herkömmliche Prozeßregelnetz­ werke, welche Daten zum Zwecke der Datenspeicherung kompri­ miert haben, nicht betriebsfähige Kompressionstechniken, wie beispielsweise die Kastenwagen-Kompressionstechnik (box car compression technique) und die Rückwärts-Neigungs­ interpolationstechnik. Interpolierende Kompressionstechni­ ken verwenden typischerweise eine Interpolation niedriger Ordnung, wie beispielsweise eine Interpolation nullter Ord­ nung (z. B. das Kastenwagenverfahren) oder eine Interpolati­ on erster Ordnung (z. B. das Rückwärts- Neigungsverfahren) über dem momentanen Punkt und dem letzten Paar aufgezeich­ neter Punkte, um zu entscheiden, ob es nützlich ist, den momentanen Punkt zu speichern. Während diese Verfahren schnell sind und daher Online oder in Realzeit verwendet werden können, um ankommende Daten zu komprimieren und zu speichern, basieren die Entscheidungen, die durch diese Verfahren getroffen werden, lediglich auf ein paar Punkten und somit liefern diese Verfahren nur eine relativ geringe Performance.
Andererseits hat sich gezeigt, daß die Wavelet-Datenkom­ pressionstechniken besser funktionieren als die Interpola­ tions-Kompressionstechniken, und zwar in bezug auf ver­ schiedene Kriterien, wie beispielsweise Mittelwert, quadra­ tischer Fehler, örtlicher Punktfehler, den empirischen Übertragungsfunktionsverhältnis- und den kumulativen Maß­ stabsfehler, und zwar größten Teils deshalb, weil die Wave­ let-Datenkompressionstechniken eine größere Anzahl von Da­ tenpunkten in Betracht ziehen, wenn die Daten komprimiert werden. Jedoch benötigen die Wavelet-Datenkompressions­ verfahren einen großen Satz oder ein Fenster von Daten, wie beispielsweise all die Daten, die einem bestimmten Video­ bild entsprechen oder eine gewisse andere physikalische Größe oder logische Einheit, die in dem Speicher verfügbar sein muß, bevor die Kompression beginnen kann. Als ein Er­ gebnis sind die bekannten Wavelet-Datenkompressions­ techniken, die bei herkömmlichen Datenkompressionssystemen angewendet wurden, relativ langsam und uneffizient, da sie für eine Zeitperiode inaktiv bleiben, während ein gesamtes Fenster oder ein gesamter Bereich von Daten gesammelt wird, und sie müssen dann mit hohen Datenverarbeitungsgeschwin­ digkeiten arbeiten, um die Wavelet-Koeffizienten zu berech­ nen, die zum Durchführen der Wavelet-Datenkompression er­ forderlich sind. In ähnlicher Weise erfordern die Wavelet- Datenkompressionstechniken eine relativ große Menge an Speicherraum, der nebenher für unkomprimierte Daten einge­ stellt werden muß, und zwar während des Kompressionsprozes­ ses. Beide diese Faktoren machen herkömmliche Wavelet- Datenkompressionstechniken ungeeignet für die Verwendung in einer Realzeit- oder Online-Datenkompression, bei der es wünschenswert ist, die ankommenden Daten effizient in Real­ zeit zu komprimieren, während lediglich eine minimale Menge an unkomprimierten Datenpunkten gespeichert wird.
ZUSAMMENFASSUNG DER ERFINDUNG
Die vorliegende Erfindung richtet sich auf eine Realzeit- oder Online-Datenkompressionstechnik, welche die Geschwin­ digkeit, Effizienz und Online-Implementierbarkeit von be­ kannten Interpolationskompressionstechniken besitzt, unter Beibehaltung minimaler Speicherqualitäten und Genauigkeit oder Performancequalitäten der bekannten Wavelet-Datenkom­ pressionstechniken. Die Kompressionstechnik der vorliegen­ den Erfindung kann in einem Kommunikationssystem verwendet werden, wie beispielsweise einem Prozeßregelnetzwerk, um komprimierte Daten in einer Datenbibliothek zu speichern (um dadurch die Speicheranforderungen des Netzwerks zu re­ duzieren), und kann dazu verwendet werden, um komprimierte Daten über einen Bus zu übertragen (um dadurch die Band­ breitenanforderungen des Busses zu reduzieren), während dennoch eine Realzeitdatenkompression realisiert wird.
Gemäß einem Aspekt der vorliegenden Erfindung komprimiert eine Prozeßregelsystem mit verschiedenen Prozeßsteuervor­ richtungen, die kommunikativ über einen Bus verbunden sind oder angeschlossen sind, Daten, bevor die Daten auf den Bus gesetzt werden, sendet die komprimierten Daten über den Bus zu beispielsweise einer Speichereinheit wie einer Datenbi­ bliothek, und speichert die komprimierten Daten in der Speichereinheit in einem Kompressionsformat. Solch ein Sy­ stem reduziert die Bandbreite, die den übertragenen Daten zugeordnet ist, was seinerseits die Möglichkeit schafft, mehr Daten über den Bus zu senden und/oder mehr Prozeßsteu­ ervorrichtungen an den Bus anzuschließen.
Gemäß einem anderen Aspekt der vorliegenden Erfindung kom­ primiert eine rekursive Online-Wavelet-Datenkompressions­ technik die Daten Online oder in Realzeit (z. B. so wie die Daten ankommen oder erzeugt werden), und zwar ohne das Er­ fordernis, daß eine große Menge an unkomprimierten Daten gespeichert werden muß, wie beispielsweise all die Daten, die einem gesamten Videobild zugeordnet sind.
Allgemein gesagt, enthält ein Datenkompressionssystem, wel­ ches einen Strom von Datenpunkten gemäß einem Aspekt der vorliegenden Erfindung komprimiert, einen Datenempfänger, der die Datenpunkte in einer sequentiellen Weise empfängt, und eine Kompressionsbaumberechnungsvorrichtung, die einen Vielschichtkompressionsbaum aus den empfangenen Datenpunk­ ten bestimmt. Der bestimmte oder abgeleitete Kompressions­ baum kann aus einem Wavelet-Kompressionsbäum bestehen, wel­ cher Koeffizienten in einer Nullwertschicht enthält, die gleich sind dem Strom der Datenpunkte, und Koeffizienten in einer oder mehreren höheren Ebenenschichten enthält, die aus den Koeffizienten in einer niederen Ebenenschicht be­ stimmt werden. Ein Speicher innerhalb des Datenkompressi­ onssystems speichert die bestimmten oder abgeleiteten Koeffizienten des Kompressionsbaumes und ein Kompressions­ datengenerator wählt einen Subsatz der abgeleiteten Koeffi­ zienten, um einen Satz von komprimierten Daten zu erzeugen, die den empfangenen Datenpunkten entsprechen. Die Kompres­ sionsbaumberechnungsvorrichtung bestimmt einen der Koeffi­ zienten von einer der höheren Ebenenschichten, nachdem der Datenempfänger ein erstes Datenelement der Datenpunkte emp­ fangen hat, jedoch bevor der Datenempfänger ein zweites Da­ tenelement der Datenpunkte empfängt, um dadurch eine On­ line- oder Realzeitdatenkompression durchzuführen.
In bevorzugter Weise enthält die Kompressionsbaumberech­ nungsvorrichtung einen Kompressionsbaumkoeffizientenrech­ ner, der alle die Koeffizienten der höheren Ebenenschichten des Kompressionsbaumes berechnet, die aus den gespeicherten Koeffizienten des Kompressionsbaumes berechnet werden kön­ nen, und zwar nach dem Empfang von jedem der Datenpunkte. Eine Datenbeseitigungsvorrichtung kann einen Koeffizienten aus dem Speicher entfernen, wenn dieser Koeffizient nicht mehr erforderlich ist, um direkt irgendeinen Koeffizienten in einer höheren Ebenenschicht des Kompressionsbaumes zu berechnen, um dadurch die Speicheranforderungen des Daten­ kompressionssystems minimal zu halten.
In einer Ausführungsform besteht der Speicher des Datenkom­ pressionssystems aus einem Stapelspeicher, der einen ge­ trennten Stapel enthält, welcher jeder Schicht oder Ebene des Vielebenen-Kompressionsbaumes zugeordnet ist. In bevor­ zugter Weise besitzt jeder Stapelspeicher N Speicherstel­ len, wobei N die Größe des Wavelet-Filters ist, welches zum Berechnen des Kompressionsbaumes verwendet wird. Der Spei­ cher kann auch einen Auffüllstapel enthalten, der Auffüll- Datenpunkte speichert, die zum Berechnen der anfänglichen Baumkoeffizienten innerhalb jeder Ebene oder Schicht des Vielebenen-Kompressionsbaumes verwendet werden. Der Auf­ füllstapel kann so ausgelegt sein, daß eine symmetrische Auffüllung durchgeführt wird und daß er N-2 Speicherstellen enthält.
Der Kompressionsdatengenerator kann die komprimierten Daten auswählen, um einen Satz zu enthalten, der all die Kompres­ sionsbaumkoeffizienten in dem Kompressionsbaum enthält, der dort, wo weitere Koeffizienten dem Kompressionsbaum hinzu­ zufügen sind, es erforderlich macht, einen Koeffizienten gemäß einer höheren Ebene des Kompressionsbaumes direkt zu berechnen, jedoch keine Koeffizienten enthält, die voll­ ständig aus anderen Koeffizienten in dem Satz berechnet werden können. Der Kompressionsdatengenerator kann ferner einen Indexgenerator enthalten, der einen Index generiert, der spezifiziert, welche Koeffizienten durch den Kompressi­ onsdatengenerator ausgewählt werden, und zwar als die kom­ primierten Daten. In bevorzugter Weise generiert der Index­ generator einen Index, der der Stelle in dem Kompressions­ baum des Koeffizienten entspricht, welcher durch den Kom­ pressionsdatengenerator als Teil der komprimierten Daten ausgewählt wurde, der zuletzt durch die Kompressionsbaumbe­ rechnungsvorrichtung bestimmt oder abgeleitet wurde.
Das Datenkompressionssystem kann auch einen Komparator ent­ halten, welcher die bestimmten oder abgeleiteten Koeffizi­ enten mit einem Schwellenwert vergleicht, und es kann der Kompressionsdatengenerator die komprimierten Daten auswäh­ len, das heißt eine Abbruchs- oder Haltkonstruktion des Kompressionsbaumes, wenn der Komparator bestimmt, daß einer der bestimmten Koeffizienten größer ist als der Schwellen­ wert. Der Komparator kann auch einen vorbestimmten Schwel­ lenwert für jede Schicht des Kompressionsbaumes, der größer ist als die Nullebenenschicht, speichern und kann die Koeffizienten für eine bestimmte Schicht des Kompressions­ baumes mit dem Schwellenwert vergleichen, der der bestimm­ ten Schicht zugeordnet ist. Alternativ kann der Komparator auch ein adaptiver Komparator sein, der einen akkumulierten Effektivwertfehler und/oder örtlichen Elementfehler berech­ net und der diese Werte mit Schwellenwerten vergleicht, die durch einen Anwender spezifiziert wurden, um zu bestimmen, ob die Konstruktion des Kompressionsbaumes durch irgendein bestimmtes Element innerhalb des Baumes angehalten oder ab­ gebrochen werden sollte.
Wenn dies gewünscht wird, kann die Kompressionsbaumberech­ nungsvorrichtung rekursiv einen Wavelet-Kompressionsbaum dadurch berechnen, indem ein Annäherungskoeffizient und ein Detail-Koeffizient für jedes der Elemente in dem Kompressi­ onsbaum an Ebenen oder Schichten berechnet wird, die größer sind als die Nullschichtenebene. In diesem Fall speichert der Speicher den Annäherungskoeffizienten für jedes der Elemente, während der Komparator den Einzelheiten- oder De­ tailkoeffizienten für jedes der Elemente mit einem Schwel­ lenwert vergleicht.
Das Datenkompressionssystem der vorliegenden Erfindung kann auch eine Datendekompressionsvorrichtung enthalten, mit ei­ nem Empfänger, der die komprimierten Daten empfängt, einem Speicher, der die empfangenen komprimierten Daten spei­ chert, und ein Umkehrkompressionsbaumgenerator, der die Elemente in dem Kompressionsbaum aus den gespeicherten kom­ primierten Daten berechnet, wenn jeder der komprimierten Datenpunkte empfangen wird, um dadurch eine Annäherung des anfänglichen Stromes der Datenpunkte, die an den Datenkom­ primierer geliefert wurden, wieder zu gewinnen.
Gemäß einem anderen Aspekt der vorliegenden Erfindung emp­ fängt eine in einem Computer implementierbare Datenkompres­ sionsroutine, die auf einem von einem Computer lesbaren Me­ dium für die Verwendung beim Komprimieren von Folgen von Datenpunkten gespeichert ist, die Folgen von Datenpunkten und nach dem Empfangen von jeder der Folgen der Datenpunk­ te, (1) bestimmt diese jeden Punkt oder Element in dem Vie­ lebenenkompressionsbaum, der aus dem empfangenen Datenele­ ment bestimmt werden kann und aus früher gespeicherten Ele­ menten des Vielebenenkompressionsbaumes bestimmt werden kann, (2) speichert die vorbestimmten Elemente in dem Spei­ cher und (3) entscheidet, ob die Konstruktion des Vielebe­ nenkompressionsbaumes angehalten werden sollte, um einen Schwellenwert mit einem Wert zu vergleichen, der einem der vorbestimmten Punkte oder Elemente zugeordnet ist. Wenn die Routine entscheidet, daß die Konstruktion des Vielebenen­ kompressionsbaumes angehalten oder abgebrochen werden soll­ te, entwickelt die Routine einen Satz von komprimierten Da­ ten aus den gespeicherten Elementen.
Gemäß einem anderen Aspekt der vorliegenden Erfindung ent­ hält ein Datenkompressionssystem für die Verwendung in ei­ nem Prozeßregelnetzwerk, welches eine Vielzahl von Prozeß­ steuervorrichtungen enthält, die kommunikativ mit einem Bus verbunden sind, einen Datenkomprimierer in wenigstens einer der Vielzahl der Prozeßsteuervorrichtungen, der Vorrich­ tungsdaten komprimiert, wie beispielsweise Videodaten, die durch eine der Vielzahl der Prozeßsteuervorrichtungen er­ zeugt wurden, um dadurch komprimierte Daten zu erzeugen. Eine Kommunikationsvorrichtung in einer der Vielzahl der Prozeßsteuervörrichtungen überträgt die komprimierten Daten zu einer zweiten einen der Vielzahl der Prozeßsteuervor­ richtungen über den Bus und eine Datenkompressionseinheit, die in einer zweiten einen der Vielzahl der Prozeßsteuer­ vorrichtungen gelegen ist, dekomprimiert die komprimierten Daten, um dekomprimierte Daten entsprechend den Vorrich­ tungsdaten zu erzeugen.
Eine weitere eine der Vielzahl der Prozeßsteuervorrichtun­ gen kann aus einer Datenereignisvorrichtung bestehen, die einen Speicher aufweist, der komprimierte Daten speichern kann, wobei eine Anwenderschnittstellenvorrichtung die de­ komprimierten Daten darstellt oder ein Prozeßkontroller enthalten ist, der die Daten verwendet, die aus den kompri­ mierten Daten entwickelt wurden, um den Prozeß zu steuern.
Wenn es gewünscht wird, kann die Datenkomprimiervorrichtung aus einer rekursiven Wavelet-Datenkomprimiervorrichtung be­ stehen, die eine rekursive Wavelet-Datenkompressionstechnik verwendet, um die Vorrichtungsdaten zu komprimieren. In solch einem System konstruiert die rekursive Wavelet-Daten­ kompressionsvorrichtung rekursiv einen Wavelet-Kompres­ sionsbaum mit einer Vielzahl von Schichten oder Ebenen und generiert komprimierte Daten aus dem Wavelet-Kompressions­ baum.
Gemäß einem noch weiteren Aspekt der vorliegenden Erfindung umfaßt ein Verfahren zum Übertragen von Daten innerhalb ei­ nes Prozeßregelnetzwerks, welches eine Vielzahl von Prozeß­ steuervorrichtungen enthält, die über einen Bus kommunika­ tiv miteinander verbunden sind, die Schritte gemäß dem Er­ zeugen von Daten in einer Vielzahl von Prozeßsteuervorrich­ tungen, das Komprimieren der Daten, die in jeder der Viel­ zahl der Prozeßsteuervorrichtungen erzeugt wurden, und Übertragen der komprimierten Daten von jeder der Vielzahl der Prozeßsteuervorrichtungen zu einer anderen der Vielzahl der Prozeßsteuervorrichtungen über den Bus. Ein Teil der komprimierten Daten von wenigstens einer der Vielzahl der Prozeßsteuervorrichtungen wird an einer weiteren Prozeß­ steuervorrichtung empfangen und es werden die empfangenen komprimierten Daten an der weiteren Vorrichtung dekompri­ miert.
Bei einer anderen Ausführungsform der vorliegenden Erfin­ dung umfaßt ein Verfahren oder eine in einem Computer im­ plementierbare Routine für einen adaptiven Schwellenver­ gleich von Daten für die Verwendung in einer Datenverarbei­ tungsroutine die Schritte gemäß einem Sammeln von Folgen von sequentiellen Datenpunkten, und nach dem Sammeln von jeder der Folgen der sequentiellen Datenpunkte, das Bestim­ men einer Summenfehlervariablen basierend auf den Daten­ punkten innerhalb der gesammelten Folgen der sequentiellen Datenpunkte. Die Summenfehlervariable wird dann mit einem Schwellenwert verglichen. Die Schritte gemäß dem Bestimmen der Summenfehlervariablen und gemäß dem Vergleich der Sum­ menfehlervariablen mit dem Schwellenwert werden in bevor­ zugter Weise nach dem Empfang eines ersten Datenpunktes in den Folgen der sequentiellen Datenpunkte durchgeführt, und zwar vor dem Empfang eines zweiten Datenpunktes, welcher unmittelbar auf den ersten Datenpunkt in den Folgen der se­ quentiellen Datenpunkte folgt. Die Summenfehlervariable kann in einer rekursiven Weise bestimmt werden und kann ei­ ne oder mehrere einer örtlichen Punktfehlervariablen umfas­ sen, ebenso eine Effektivwert-Fehlervariable und/oder eine Quadratsummen-Fehlervariable. Wenn es gewünscht wird, kann die Summenfehlervariable auf Null gesetzt werden und es können neue Folgen von beispielsweise drei oder mehr se­ quentiellen Datenpunkten gesammelt werden, wenn die Summen­ fehlervariable so bestimmt wird, daß sie größer als der Schwellenwert ist.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Fig. 1 ist ein Blockschaltbild eines Prozeßregelnetz­ werks, welches komprimierte Daten speichert und über einen Bus sendet, gemäß der vorliegenden Erfindung;
Fig. 2 ist ein Baumdiagramm, welches einen Standard- Wavelet-Datenkompressionsbaum veranschaulicht, der einer Wavelet-Datenkompressionstechnik zuge­ ordnet ist;
Fig. 3 ist ein Satz von vier Baumdiagrammen, die unter­ schiedliche Stufen der Konstruktion eines Kom­ pressionsbaumes veranschaulichen, die die rekur­ sive Wavelet-Datenkompressionstechnik nach der vorliegenden Erfindung verwenden;
Fig. 4 ist ein Flußdiagramm, welches eine rekursive Wa­ velet-Datenkompressionstechnik gemäß der vorlie­ genden Erfindung veranschaulicht, die in dem Pro­ zeßregelnetzwerk von Fig. 1 verwendet werden kann;
Fig. 5 ist ein Baumdiagramm, welches einen aufgefüllten Wavelet-Datenkompressionsbaum veranschaulicht, der einem Wavelet-Filter von sechs Einheiten in der Länge zugeordnet ist, der durch die rekursive Wavelet-Datenkompressionstechnik nach der vorlie­ genden Erfindung entwickelt werden kann;
Fig. 6 ist ein Blockschaltbild eines Systems, welches die Fähigkeit hat, die rekursive Wavelet-Daten­ kompressionstechnik der vorliegenden Erfindung durchzuführen;
Fig. 7 ist ein Blockschaltbild eines Systems, welches die Fähigkeit hat, die Datendekompression gemäß der vorliegenden Erfindung durchzuführen;
Fig. 8 ist ein Flußdiagramm, welches die Operation einer Stapelmanipulationsprozedur, welche die rekursive Wavelet-Datenkompressionstechnik nach der vorlie­ genden Erfindung implementiert, veranschaulicht;
Fig. 9 ist ein Flußdiagramm, welches die Operation einer Stapelmanipulationsprozedur für die Rekonstrukti­ on von Daten veranschaulicht, die gemäß der Kom­ pressionstechnik der vorliegenden Erfindung kom­ primiert wurden; und
Fig. 10 ist ein Flußdiagramm, welches eine Schwellenwert­ vergleichsroutine gemäß der vorliegenden Erfin­ dung veranschaulicht.
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
Gemäß Fig. 1 enthält ein Prozeßregelnetzwerk 10 einen Kon­ troller 12, einen Host 14, einen Datenereignisspeicher oder eine Datenbibliothek 16 und viele andere Bereichsvorrich­ tungen 18, die alle über einen Bus 20 verbunden sind. Der Kontroller 12 kann beispielsweise ein verteilter Steuersy­ stemkontroller oder irgendein anderer Typ eines Kontrollers sein, der beispielsweise in einem alleinstehenden Perso­ nalcomputer oder in einem Netzwerkcomputer implementiert ist. Die Host-Vorrichtung 14 kann ebenfalls beispielsweise aus einem Personalcomputer oder einer anderen Vorrichtung bestehen, die es einem Anwender oder einem Operator er­ laubt, eine Kopplung mit dem Prozeßregelsystem 10 in einer bekannten Weise herzustellen. Wenn es gewünscht wird, kann der Host 14 einen Speicher für Datenereignisse enthalten, eine Anwenderschnittstelle, einen Kontroller usw. Der Date­ nereignisspeicher 16 kann aus irgendeinem Typ eines bekann­ ten Speichers oder Speichervorrichtung bestehen, die eine digitale Plattenspeichervorrichtung enthält (wie solche, die Kompaktdisks, digitale Videodisks, Laserdisks usw. ver­ wenden), wobei aber keine Beschränkung auf diese digitalen Plattenspeichervorrichtungen besteht, kann einen RAM-Spei­ cher enthalten, einen Magnetplattenspeicher usw. Jede der Bereichsvorrichtungen 18 kann aus irgendeinem Typ einer Be­ reichsvorrichtung (field device) bestehen, die in dem Pro­ zeßregelnetzwerk 10 verwendet wird, welche beispielsweise Sensoren, Kontroller, Steuerventile, Stellglieder, Ventila­ toren, Videokameras, Mikrophone usw. enthält. Natürlich können andere Vorrichtungen an den Bus 20 angeschlossen werden und ferner können die Vorrichtungen 12, 14, 16 und 18 über den Bus 20 in irgendeiner gewünschten Konfiguration verbunden sein. In ähnlicher Weise kann der Bus 20 aus ir­ gendeinem Typ eines Busses bestehen, der ein gewünschtes Kommunikationsprotokoll verwendet, wie beispielsweise das FIELDBUS-Protokoll, das HART-Protokoll usw., und kann in irgendeiner gewünschten Weise konfiguriert sein. Beispiels­ weise kann der Bus 20 irgendeine Anzahl von Segmenten oder Zweigen aufweisen und kann irgendeine Anzahl von Vorrich­ tungen miteinander verbinden, um eine Kommunikation zwi­ schen diesen zu ermöglichen.
Wie in Fig. 1 veranschaulicht ist, enthält jede der Vor­ richtungen 12, 14, 16 und 18 innerhalb des Prozeßregelnetz­ werks 10 ein Kompressions-/Kommunikationsnetzwerk 25. Jedes der Kompressionsnetzwerke 25 hat die Fähigkeit, Daten zu komprimieren, die durch die zugeordnete Vorrichtung entwic­ kelt wurden oder in dieser gespeichert sind, und enthält eine Kommunikationsvorrichtung, welche diese komprimierten Daten über den Bus 20 zu einer anderen Vorrichtung sendet, wie beispielsweise dem Datenereignisspeicher 16, dem Kon­ troller 12 oder dem Host 14. In ähnlicher Weise hat, wenn dies erforderlich ist, jedes der Kompressionsnetzwerke 25 die Fähigkeit, die über den Datenbus 20 empfangenen kompri­ mierten Daten zu dekomprimieren. Das Kompressionsnetzwerk 25 für irgendeine bestimmte Vorrichtung kann als Software implementiert sein, die in einem Speicher gespeichert ist, welcher der Vorrichtung zugeordnet ist und welche auf einem Computer oder anderem Prozessor ausgeführt wird (wie bei­ spielsweise einem Mikroprozessor), welcher der Vorrichtung zugeordnet ist. Natürlich kann eine Vorrichtung einen ge­ trennten Computer enthalten, der das Kompressionsnetzwerk 25 implementiert, jedoch enthält eine Vorrichtung in typi­ scher Weise einen Computer, der das Kompressionsnetzwerk implementiert, und zwar zusammen mit der Ausführung weite­ rer Aufgaben, die mit der Vorrichtung verbunden sind. Al­ ternativ kann das Kompressionsnetzwerk 25 in einer Hard­ ware, einer Firmware oder in anderen standardisierten oder spezialisierten Berechnungsvorrichtungen implementiert sein.
Im allgemeinen arbeiten die Kompressionsnetzwerke 25 inner­ halb des Kommunikationsprotokolls, welches dem Prozeßregel­ netzwerk 10 zugeordnet ist, und zwar unter Verwendung von Kommunikationsvorrichtungen, die bereits in den Vorrichtun­ gen enthalten sind, die an den Bus angeschlossen sind, was die Möglichkeit schafft, komprimierte Daten über den Bus 20 in der gleichen Weise zu senden, in der unkomprimierte Da­ ten über den Bus 20 gesendet werden. Da jedoch komprimierte Daten über den Bus 20 gesendet werden, ist das Verkehrsauf­ kommen auf den Bus reduziert, was die Möglichkeit schafft, mehrere Vorrichtungen an den Bus 20 anzuschließen. Es kön­ nen natürlich irgendwelche Typen von Datenkommunikations­ vorrichtungen verwendet werden, inklusive beispielsweise HART-, FIELDBUS- und weitere Datenkommunikationsvorrichtun­ gen, die allgemein gemäß dem gut bekannten Open Systems In­ terconnect (Offen-System-Verbindungs-)(OSI)-Kommunikations­ modell, welches geschichtet ist, konfiguriert sind.
Während in den Kompressionsnetzwerken 25 irgendwelche ge­ wünschten Kompressionstechniken implementiert sein können, um Daten zu komprimieren, die über den Bus 20 zu übertragen sind, so implementiert jedes der Kompressionsnetzwerke 25 in bevorzugter Weise eine rekursive Online-Kompressions- (und/oder Dekompressions-)Technik solcher Art, wie diejeni­ ge, die hier offenbart ist, um die Daten zu komprimieren (und zu dekomprimieren), die über den Bus 20 gesendet wer­ den. Obwohl es auch zu bevorzugen ist, daß jede der Vor­ richtungen, die an den Bus 20 angeschlossen ist, ein Daten­ kompressionsnetzwerk 25 besitzt, welches sowohl eine Kom­ pression als auch Dekompression durchführt, so daß alle oder die meisten Datenkommunikationen über den Bus unter Verwendung komprimierter Daten durchgeführt werden, muß dies nicht der Fall sein. Somit können spezielle Vorrich­ tungen ein Kompressionsnetzwerk haben, welches lediglich ankommende Daten dekomprimiert (da die Vorrichtung nicht Daten über den Bus 20 übertragen muß) oder welches ledig­ lich ausgehende oder übertragene Daten komprimiert (da die Vorrichtung keine Daten über dem Bus 20 zu empfangen braucht). In einigen Fällen braucht eine oder mehrere der Vorrichtungen, die an den Bus 20 angeschlossen ist bzw. sind, kein Datenkompressionsnetzwerk 25 darin enthalten. Beispielsweise braucht der Datenereignisspeicher 20 kein Datenkompressionsnetzwerk, da dieser lediglich komprimierte Daten empfängt, die komprimierten Daten in dem Speicher speichert und, nach Empfang eines Befehls, die komprimier­ ten Daten wiedergewinnt und diese über den Bus 20 sendet, und zwar zu einer nachfragenden Vorrichtung. In ähnlicher Weise können, wenn dies gewünscht wird, einige Vorrichtun­ gen innerhalb des Prozeßregelnetzwerks 10 unkomprimierte Daten senden, während andere komprimierte Daten senden. Je­ doch ist diese Technik komplizierter und ist nicht die be­ vorzugteste. Darüber hinaus können die Kompressionsnetzwer­ ke 25 alle oder lediglich einen ausgewählten untergeordne­ ten Satz von Informationen komprimieren, die über den Bus 20 gesendet werden. Somit können beispielsweise alle Kommu­ nikationsinformationen auf dem Bus 20 (welche Vorrichtungs­ daten als auch einen Kommunikationsüberhang (overhead), wie beispielsweise Befehle, Anfragen usw., enthalten) über den Bus 20 in einem komprimierten Format übertragen werden. Je­ doch ist diese Konfiguration nicht typischerweise erforder­ lich, da Standard-Kommunikationsbefehle, Anfragen usw. im allgemeinen kein großes Ausmaß einer Busbandbreite erfor­ dern, verglichen mit den Daten, die gesammelt wurden oder die durch die Vorrichtungen erzeugt wurden, die an den Bus 20 angeschlossen sind. Es ist somit in typischer Weise le­ diglich erforderlich, die Daten zu komprimieren (und zu de­ komprimieren), die über den Bus 20 gesendet werden.
Das hier beschriebene Kompressionsdaten-Kommunikationsnetz­ werk ist speziell bei Prozeßregelsystemen nützlich, die große Mengen an Daten zu den Bereichsvorrichtungen senden oder die große Menge an Daten von den Bereichsvorrichtungen sammeln, speziell Daten gemäß einer hohen Bandbreite, wie Videobilddaten, Audiokommunikationsdaten usw. Somit können in einer Ausführungsform eine oder mehrere der Bereichsvor­ richtungen 18 des Prozeßregelnetzwerks 10 aus Videoanzeige­ vorrichtungen, Videokameras, Mikrophonen, Lautsprechern usw. bestehen, die für eine Kommunikation beispielsweise an den Kontroller 12 oder den Host 14 angeschlossen sind, um eine Video- und/oder Audiokommunikation zwischen verschie­ denen Stellen innerhalb einer Prozeßanlage zu ermöglichen. Bei Verwendung dieser Konfiguration kann eine Bedienungs­ person, die beispielsweise sich bei der Host-Vorrichtung 14 aufhält, tatsächlich in Realzeit die Ausgangsgröße einer Videokamera betrachten, die irgendwo sonst innerhalb der Prozeßanlage gelegen ist, und kann mit Einzelpersonen spre­ chen (oder hören), und zwar an entfernt gelegenen Stellen innerhalb der Anlage unter Verwendung von lediglich der Hardware, die bereits an das Prozeßregelnetzwerk 10 ange­ schlossen ist. Wenn es gewünscht wird, können jedoch andere Vorrichtungen, wie beispielsweise der Kontroller 12, kom­ primierte Daten empfangen, diese Daten dekomprimieren und die dekomprimierten Daten zum Steuern oder Regeln des Pro­ zesses verwenden.
Da darüber hinaus die vorliegende Erfindung in bevorzugter Weise die rekursive Wavelet-Datenkompressionstechnik ver­ wendet, die hier beschrieben wird, wird ein geringes Ausmaß an Verlust in der Performance erzielt, verglichen mit ande­ ren Kompressionstechniken, während jedoch gleichzeitig Re­ alzeitkommunikationen geschaffen werden. In gleicher Weise erfordert die rekursive Wavelet-Datenkompressionstechnik, die hier beschrieben ist, nicht die Verwendung von großen Speichern zum Speichern von unkomprimierten Daten während der Datenkompressionsroutine, wie dies durch Standard- Wavelet-Datenkompressionstechniken gefordert wird.
Allgemein gesagt, arbeitet eine Standard-Wavelet-Datenkom­ pressionstechnik dadurch, indem ein Vielschichtenkompressi­ onsbaum erstellt wird, wie beispielsweise derjenige, der in Fig. 2 veranschaulicht ist, der eine Reihe von Elementen besitzt, die jeder Schicht zugeordnet sind. Jedes Element (point) des Kompressionsbaumes besitzt einen zugeordneten Annäherungskoeffizienten, der eine Annäherung eines Mittel­ wertes eines Satzes von Daten wiedergibt, und einen zuge­ ordneten Detailkoeffizienten, der Hochfrequenzinformationen wiedergibt. Eine Standard-Wavelet-Datenkompressionstechnik kann so interpretiert werden, daß dabei ein Annäherungsfil­ ter einer Längen auf einen Satz von Daten angewendet wird, um einen Annäherungskoeffizienten zu erzeugen und indem ein entsprechendes Detailfilter angewendet wird, welches basie­ rend auf der Differenz zwischen der Ausgangsgröße des Annä­ herungsfilters und den tatsächlichen oder aktuellen Daten erhalten wird, um einen Detailkoeffizienten an jedem Ele­ ment des Kompressionsbaumes zu erzeugen. Natürlich können die zugeordneten Annäherungskoeffizienten und Detailkoeffi­ zienten zum Rekonstruieren der originalen Daten verwendet werden. Gemäß Fig. 2 ist ein Annäherungskoeffizient für ein bestimmtes Element in dem Baum mit aj,k(j) bezeichnet, worin j die Baumschicht angibt und k(j) den Zeitwert des Elements bei der Schicht j des Baumes angibt. In ähnlicher Weise ist der Detailkoeffizient für ein bestimmtes Element in dem Baum mit bj,k(j) bezeichnet. In Fig. 2 ist die Schicht oder Ebene nullter Ordnung (der feinste Maßstab), welche die ak­ tuellen Ursprungsdaten wiedergibt, mit j = 0 als Index ver­ sehen und es werden mit zunehmenden j gröbere und gröbere Maßstäbe erreicht. Die Zeitindizes k(j) starten immer mit k(j) = 1 für jeden Maßstab oder Schicht j. Unter Verwendung dieser Notierungen fassen die folgenden Gleichungen die Er­ zeugung der Wavelet-Kompressionsdaten zusammen, das heißt die Elemente eines Wavelet-Kompressionsbaumes einer bekann­ ten Wavelet-Datenkompressionstechnik.
worin:
aj,k(j) = der Annäherungskoeffizient bei der Schicht j für den Zeitindex k(j) (entsprechend der Schicht j) des Kompressionsbaumes ist;
n = die Filterlänge, die zum Erzeugen des Kom­ pressionsbaumes verwendet wird; und
h(i) = der i-te Koeffizient für das Wavelet-Filter (dies kann beispielsweise ein HAAR-Kompres­ sionsfilter sein, worin n = 2) ist.
worin:
bj,k(j) = der Detailkoeffizient für die Schicht j und den Zeitindex k(j) (entsprechend der Schicht j) des Kompressionsbaumes ist;
n = die Filterlänge, die zum Erzeugen des Kom­ pressionsbaumes verwendet wird, ist; und
h(i) = der i-te Koeffizient des Wavelet-Filters (i = 0, 1, . . . n-1)ist.
Es werden somit allgemein gesagt für einen Satz von Daten der Längen die Gleichungen 1 und 2 sukzessive angewendet, um die Annäherungskoeffizienten aj,k(j) und die Detailkoeffi­ zienten bj,k(j) bei unterschiedlichen Schichten j des Kom­ pressionsbaumes zu entwickeln, um einen Kompressionsbaum zu erzeugen, wie derjenige, der in Fig. 2 veranschaulicht ist. Nachdem der Kompressionsbaum vervollständigt ist, werden alle Annäherungskoeffizienten und Detailkoeffizienten, die über einem vorbestimmten Schwellenwert liegen, ausgesendet oder werden als komprimierte Daten entsprechend dem Satz der Ursprungsdaten gespeichert (das heißt die Daten bei der Schicht j = 0). Gewöhnlich werden lediglich die Annähe­ rungskoeffizienten für die höchste Schicht gespeichert, wenn die Detailkoeffizienten minimal sind, das heißt klei­ ner sind als ein bestimmter Schwellenwert. Es können jedoch sowohl die Annäherungskoeffizienten für die höchste Schicht als auch die Detailkoeffizienten für all die Baumelemente gespeichert werden, um eine komplette Wiedergewinnung der Ursprungsdaten zu ermöglichen.
Wie zu erkennen ist, ist der Kompressionsbaum von Fig. 2 so konstruiert, daß acht Ursprungsdatenpunkte (j = 0) und vier Schichten verwendet werden, das heißt die Schichten 0 bis 3. Wie oben dargelegt wurde, entspricht die niedrigste Schicht (j = 0) den Ursprungsdatenpunkten, die die aktuel­ len Daten sein können, welche durch eine Vorrichtung ent­ wickelt wurden, um sie über den Bus 20 von Fig. 1 zu sen­ den, oder die in einem Datenereignisspeicher abgespeichert werden, wie beispielsweise der Datenbibliothek 16 von Fig. 1. Der Kompressionsbaum von Fig. 2 wird für eine Wavelet- Kompressionsroutine entwickelt, und zwar unter Verwendung einer Filterlänge von Zwei (n = 2), so daß die Annäherungs­ koeffizienten eines bestimmten oder speziellen Elements in dem Kompressionsbaum von den zwei Annäherungskoeffizienten der Elemente der Schicht entwickelt werden, die unmittelbar darunter liegt. Beispielsweise wird der Annäherungskoeffi­ zient a1,1 aus den Annäherungskoeffizienten a0,1 und a0,2 ent­ wickelt (das heißt den Ursprungsdatenpunkten) und ist in Fig. 2 so veranschaulicht, daß dieser an diese Elemente durch ausgezogene Linien angeschlossen oder verbunden ist. In ähnlicher Weise wird der Annäherungskoeffizient a2,1 der zweiten Schicht aus den Annäherungskoeffizienten a1,1 und a1,2 entwickelt usw. Wie durch strichlierte Linien in Fig. 2 angezeigt ist, wird der Detailkoeffizient für irgendein Element aus den Annäherungskoeffizienten von n (n = 2 in Fig. 2) Elementen in einer unmittelbar vorhergehenden Schicht entwickelt. Es wird somit der b1,2-Detailkoeffizient aus den Annäherungskoeffizienten a0,1 und a0,2 entwickelt. Es sei darauf hingewiesen, daß die erste Schicht (j = 0) des Kompressionsbaumes keine (das heißt mit 0 bewertete) De­ tailkoeffizienten besitzt, da die Annäherungskoeffizienten dieser Schicht gleich sind den Werten der Ursprungsdaten­ punkte.
Wie aus dem Kompressionsbaum von Fig. 2 hervorgeht, können die acht Datenpunkte der ersten Schicht (j = 0) unter Ver­ wendung der Wavelet-Kompression komprimiert werden, um den einzelnen Datenannäherungskoeffizienten a3,1 der dritten Schicht zu entwickeln und, wenn dies erforderlich ist, ei­ nen einzelnen Detailkoeffizient b3,1. Wenn einmal der gesam­ te Kompressionsbaum berechnet worden ist oder bestimmt wor­ den ist (welches lediglich dann auftritt, nachdem der ge­ samte Satz an Ursprungsdaten empfangen worden ist), kann der Kompressionsbaum gespeichert werden oder kann in dem komprimierten Format übertragen werden, indem der Annähe­ rungskoeffizient der höchsten Schicht des Baumes (a3,1) zu­ sammen mit all den Detailkoeffizienten, die über einem vor­ bestimmten Schwellenwert liegen, gespeichert oder übertra­ gen werden. Von diesen Punkten können die Ursprungsdaten­ punkte (oder eine dichte Annäherung derselben) entwickelt werden. Natürlich können die aktuellen Ursprungsdatenpunkte lediglich aus den komprimierten Daten bestimmt werden, wenn all die Detailkoeffizienten gespeichert oder übertragen worden sind, was im allgemeinen nicht praktisch ist.
Wie jedoch oben dargelegt wurde, ist es allgemein erforder­ lich, daß alle Ursprungsdatenpunkte, das heißt a0,1-a0,8, vor dem Beginn der Berechnung der Annäherungskoeffizienten und der Detailkoeffizienten der höheren Schichten des Kom­ pressionsbaumes verfügbar sind. In ähnlicher Weise ist es in einem Dekompressionssystem erforderlich, alle Annähe­ rungskoeffizienten und Detailkoeffizienten, die einem kom­ primierten Baum zugeordnet sind, vor dem Beginn der Rekon­ struktion der Ursprungsdatenpunkte zu empfangen. Da ferner das Kompressionssystem (oder das Dekompressionssystem) nicht im voraus weiß, wie viele Punkte zu empfangen sind oder wie groß der Satz der komprimierten Daten entsprechend einem Baum ist (da alle Detailkoeffizienten, die größer als ein vorbestimmter Schwellenwert sind, in typischer Weise gesendet werden), ist es erforderlich, einen Index zu sen­ den oder zu speichern, und zwar mit jedem Punkt der kompri­ mierten Daten, der die Position in dem Baum anzeigt, der durch den Datenpunkt wiedergegeben wird. Wenn beispielswei­ se der Annäherungskoeffizient a1,3 gesendet und gespeichert wird, muß das Kompressionssystem auch einen Index senden und speichern, der anzeigt, welcher Typ eines Datenpunktes (z. B. Annäherungskoeffizient oder Detailkoeffizient) gesen­ det wird und welche Baumschicht und welcher Zeitwert diesem Punkt zugeordnet sind.
Wie zu ersehen ist, müssen zum Komprimieren von Daten unter Verwendung der Standard-Wavelet-Datenkompressionstechnik alle Ursprungsdatenpunkte, die einem Baum zugeordnet sind, zuerst empfangen werden und gespeichert werden, um zu be­ stimmen, wie groß der Baum sein wird. Als nächstes muß der Baum entwickelt werden, indem die Annäherungs- und Detail­ koeffizienten des Baumes berechnet werden. Danach müssen die gewünschten Annäherungskoeffizienten und Detailkoeffi­ zienten (und ein Index, der zu jedem zugeordnet ist) ge­ speichert werden oder als komprimierte Daten übertragen werden. Wie zuvor dargelegt wurde, erfordert diese Technik die Kollektion und Speicherung einer großen Gruppe von Ur­ sprungsdaten, bevor die Komprimierungsverarbeitung beginnen kann. Diese Tatsache macht diese Technik für Online- Kompressionsanwendungen sub-optimal, wie beispielsweise beim Senden von Live-Videodaten über den Bus, da sie Zeiten einer geringen Verarbeitungsanforderung erzeugt (wenn das System darauf wartet, alle die Ursprungsdaten zu empfangen) und Zeiten hoher Verarbeitungsanforderungen erzeugt (wenn das System den Kompressionsbaum für eine Gruppe von empfan­ genen und gespeicherten Daten berechnen muß). Ferner erfor­ dert diese Technik einen großen Speicher, um die empfange­ nen Datenpunkte vor der Berechnung des Kompressionsbaumes zu speichern.
Die rekursive Wavelet-Datenkompressionstechnik der vorlie­ genden Erfindung überwindet diese Probleme durch Berechnen eines Wavelet-Kompressionsbaumes in einer rekursiven Weise, z. B. beim Erzeugen der Ursprungsdaten oder Übergabe an die Kompressionseinheit. Als ein Ergebnis braucht diese Technik nicht auf einen großen Satz oder ein Fenster von Daten zu warten, der bzw. die ankommen müssen, bevor die komprimier­ ten Daten, die den Ursprungsdaten zugeordnet sind, entwic­ kelt werden, was die Verarbeitungsbelastung erweitert und in signifikanter Weise den Speicheraufwand reduziert, der für die unkomprimierten Daten erforderlich ist. Ferner kön­ nen die komprimierten Daten sehr häufig gesendet oder ge­ speichert werden, was das Erfordernis einschränkt, eine Menge komprimierter Daten alle auf einmal senden zu müssen. Allgemein gesagt, unterscheidet sich die rekursive Wavelet- Datenkompressionstechnik nach der vorliegenden Erfindung von der Standard-Wavelet-Kompressionstechnik, da sie jeden der Punkte bei jedem der verschiedenen Schichten des Kom­ pressionsbaumes berechnet, sobald die Daten, die für die Berechnung dieses Punktes erforderlich sind, verfügbar wer­ den.
Spezieller gesagt, nimmt während des Betriebs die rekursive Wavelet-Datenkompressionstechnik der vorliegenden Erfindung einen Ursprungsdatenpunkt an und legt fest, ob ein Punkt in einer höheren Schicht des Kompressionsbaumes berechnet wer­ den kann. Wenn dies der Fall ist, berechnet die Kompressi­ onstechnik den höheren Punkt (das heißt den Annäherungs­ koeffizienten und den Detailkoeffizienten für diesen Punkt) und legt fest, ob irgendwelche anderen höheren Schichtpunk­ te berechnet werden können. Wenn keine weiteren höheren Schichtpunkte berechnet werden können, und zwar basierend auf dem Empfang des Ursprungsdatenpunktes, akzeptiert die Kompressionstechnik den nächsten Ursprungsdatenpunkt und wiederholt den Prozeß, wodurch der Baum gebildet wird, und zwar mit Empfangen der Ursprungsdatenpunkte.
Dieser Prozeß ist in Fig. 3 veranschaulicht, die einen Kom­ pressionsbaum herausgreift (der unter Verwendung einer Fil­ terlänge von Zwei konstruiert ist), und zwar bei unter­ schiedlichen Stufen während der Konstruktion unter Verwen­ dung der Wavelet-Datenkompressionstechnik nach der vorlie­ genden Erfindung. Bei einem Schritt (a) wird der erste Da­ tenpunkt (a0,1) empfangen und wird in den Kompressionsbaum plaziert. Bei einem Schritt (b) wird der nächste Datenpunkt (a0,2) empfangen und wird in den Kompressionsbaum plaziert. Zu diesem Zeitpunkt werden die höheren Schichtkoeffizienten a1.1 und b1,1 durch die Gleichungen (1) und (2) jeweils be­ rechnet (die nunmehr verwendet werden können) und werden in den Kompressionsbaum plaziert. Da keine weiteren Koeffizi­ enten einer höheren Schicht berechnet werden können, bewegt sich der Prozeß zu dem Schritt (c), bei dem der nächste Da­ tenpunkt (a0,3) empfangen wird und in den Kompressionsbaum gesetzt wird. Bei einem Schritt (d) wird der Datenpunkt (a0,4) empfangen und wird in den Kompressionsbaum gesetzt. Die ersten Schichtkoeffizienten a1,2 und b1,2 werden dann be­ rechnet (da ausreichend Daten nun zur Verfügung stehen, um dies durchzuführen) und werden in den Kompressionsbaum ge­ setzt. Danach werden die Zweitschichtkoeffizienten a2,1 und b2,1 berechnet, erneut aus dem Grund, weil ausreichend Nied­ rigschichtkoeffizienten zur Verfügung stehen, um dies durchzuführen, und werden in den Kompressionsbaum gesetzt. Dieser Prozeß des Hinzufügens von Ursprungsdatenpunkten an der Nullschichtebene des Kompressionsbaumes und die Berech­ nung aller möglichen Höherschichtkoeffizienten daraus wird wiederholt, um den Kompressionsbaum in einer rekursiven Weise zu erstellen, das heißt mit Verfügbarkeit der Daten, die verwendet werden, um den Baum zu erstellen.
Jedesmal, wenn die Annäherungs- und Detailkoeffizienten für einen Punkt in dem Baum bestimmt werden, wird der Detail­ koeffizient mit einem Schwellenwert verglichen, der für un­ terschiedliche Schichten des Baumes unterschiedlich sein kann. Wenn die Größe des Detailkoeffizienten größer ist als der Schwellenwert, wird die Berechnung dieses Kompressions­ baumes abgebrochen, um einen signifikanten Verlust von In­ formation zu vermeiden, wenn die Ursprungsdaten während der Dekompression wiedergewonnen werden. Danach wird ein mini­ maler Satz von Annäherungskoeffizienten innerhalb des exi­ stierenden Baumes zusammen mit der Schicht und dem Zeitin­ dex des "letzten" Annäherungskoeffizienten (Buchhaltungsin­ formation) zu dem Baum hinzugefügt, wird gesendet oder als die komprimierten Daten, die den empfangenen Ursprungsdaten zugeordnet sind, gespeichert. Es wird dann ein neuer Baum konstruiert, beginnend mit dem nächsten Ursprungsdaten­ punkt, der durch die Kompressionseinheit empfangen wird.
Ein Kompressionssystem, welches diese rekursive Technik verwendet, kann allgemein so interpretiert werden, daß es sequentiell eine Reihe von unterschiedlichen Kompressions­ bäumen entwickelt, von denen jeder eine unterschiedliche Größe haben kann, und zwar mit der Ankunft der Ursprungsda­ ten. Das Kompressionssystem sendet dann oder speichert als komprimierte Daten einen minimalen Satz von Annäherungs­ koeffizienten, die zu jedem Kompressionsbaum zugeordnet sind, wenn bestimmt wurde, daß die weitere Konstruktion des Kompressionsbaumes zu dem signifikanten Verlust von Daten führen kann und daher zu einem signifikanten Fehler während der Dekompression. Es sei darauf hingewiesen, daß für einen Kompressionsbaum irgendeiner gegebenen Größe, der gleiche Satz an Annäherungskoeffizienten immer als komprimierte Da­ ten gesendet oder gespeichert wird. Als ein Ergebnis braucht der Index, der einem Baum zugeordnet ist, lediglich zu spezifizieren, wie groß der Baum ist (das heißt bei wel­ cher Stufe dessen Konstruktion abgebrochen wurde), da mit Hilfe dieser Information das Dekompressionssystem automa­ tisch bestimmen kann, wie viele Datenpunkte den komprimier­ ten Daten zugeordnet sind, die aus dem Baum entwickelt wer­ den und welchen Punkten in dem Baum diese Datenpunkte ent­ sprechen. Da ferner die Detailkoeffizienten nicht als ein Teil der komprimierten Daten gesendet oder gespeichert wer­ den, besteht kein Bedarf dafür, diese Werte zu behalten oder zu speichern, während der Kompressionsbaum konstruiert wird.
Gemäß Fig. 4 ist ein Flußdiagramm einer Routine oder eines Verfahrens 40 veranschaulicht, die bzw. welches Daten kom­ primiert, unter Verwendung der rekursiven Wavelet-Datenkom­ pressionsroutine der vorliegenden Erfindung. Natürlich kann die Routine 40 in einer Software implementiert sein, die auf einem programmierbaren Computer (wie beispielsweise ei­ nem Mikroprozessor) läuft und die in einem von einem Compu­ ter lesbaren Medium gespeichert ist, wie beispielsweise in einem RAM, ROM auf einer Laser- oder Magnetplatte usw. Al­ ternativ kann die Routine 40 in der Hardware oder Firmware implementiert sein, wie dies für den Fachmann offensicht­ lich ist.
In der Routine 40 beginnt ein Block 42 mit der Konstruktion eines Kompressionsbaumes durch Rückstellen von allen Baum­ parametern. Beispielsweise stellt der Block 42 alle Annähe­ rungs- (und Detail-)Koeffizienten auf allen Schichten des Kompressionsbaumes auf Null ein. Danach empfängt ein Block 44 einen neuen Ursprungsdatenpunkt, der beispielsweise aus einem digitalen Datenpunkt bestehen kann, der durch eine Bereichsvorrichtung entwickelt wurde, und speichert diesen Punkt als einen Nullschicht-Annäherungskoeffizienten in dem Baum. Wenn Videodaten komprimiert werden, kann der empfan­ gene Datenpunkt ein digitales Videosignal oder Pixel wie­ dergeben. Ein Block 46 bestimmt dann, ob ein Annäherungs­ koeffizient einer höheren Schicht in dem Kompressionsbaum berechnet werden kann. Natürlich hängt, ob ein Annäherungs­ koeffizient zu irgendeinem bestimmten Zeitpunkt berechnet werden kann, von der Größe des Filters ab, welches zum Kon­ struieren des Baumes verwendet wird. Beispielsweise erfor­ dert ein Baum, der ein Filter der Größe Zwei verwendet, daß zwei Annäherungskoeffizienten der Nullschicht (Ursprungsda­ tenpunkte) verfügbar sind, bevor ein Annäherungskoeffizient für die erste Schicht berechnet werden kann. Wenn natürlich die Filtergröße vier beträgt, so müssen vier Punkte in ir­ gendeiner speziellen Schicht verfügbar sein, bevor ein Punkt in der nächsthöheren Schicht berechnet werden kann.
Wenn der Block 46 bestimmt, daß ein Punkt einer höheren Schicht innerhalb des Baumes berechnet werden kann, so be­ rechnet ein Block 48 den Punkt der höheren Schicht, das heißt den Annäherungskoeffizienten und den Detailkoeffizi­ enten unter Verwendung von beispielsweise den Gleichungen (1) und (2), die oben angegeben sind. Danach bestimmt ein Block 50, ob die Größe des Detailkoeffizienten (oder ir­ gendein anderer Fehlerwert) größer ist als ein Schwellen­ wert, der für den berechneten Punkt in dem Kompressionsbaum erstellt wurde. Dieser Schwellenwert kann vorbestimmt sein oder kann entsprechend der Schicht eingestellt sein, wel­ cher der Detailkoeffizient zugeordnet ist, und er kann so­ mit verschieden für unterschiedliche Schichten des Kompres­ sionsbaumes sein. Wenn ein vorbestimmter Schwellenwert ver­ wendet wird, so ist der Prozeß der Einstellung dieses Schwellenwertes für Fachleute gut bekannt, die mit Wavelet- Kompressionstechniken vertraut sind, und braucht daher hier nicht weiter beschrieben zu werden. Es ist ausreichend festzustellen, daß der Schwellenwert für Detailkoeffizien­ ten in typischer Weise bei höheren Schichten des Kompressi­ onsbaumes zunimmt, da ein größeres Fehlerausmaß (oder Ver­ lust eines Details) in höheren Schichten des Baumes tole­ rierbar ist. Alternativ können eine oder mehrere Schwellen­ werte mit einem oder mehreren statistischen Parametern des Kompressionsbaumes verglichen werden, wie beispielsweise einem Effektivwertfehler oder dem örtlichen Punktfehler des Kompressionsbaumes an irgendeinem bestimmten Punkt.
Wenn der Block 50 bestimmt, daß die Größe des Detailkoeffi­ zienten (oder einer anderen Größe) nicht größer ist als der Schwellenwert, dann löscht ein Block 52 irgendwelche nicht benötigten Koeffizienten (wie beispielsweise Annäherungs­ koeffizienten) in den niederen Schichten des Baumes. Baum­ koeffizienten werden nicht mehr benötigt, wenn beispiels­ weise alle Koeffizienten in der nächsthöheren Schicht des Baumes, welche diese Koeffizienten benötigen, um eine Be­ stimmung durchzuführen, berechnet worden sind. Wenn somit beispielsweise der Baum von Fig. 3 erstellt wird, nachdem der Annäherungskoeffizient a1,1 und der Detailkoeffizient b1,1 berechnet worden sind, können die Ursprungsdatenpunkte a0,1 und a0,2 gelöscht werden (bei dem Schritt (c)). In ähn­ licher Weise können, nachdem die Annäherungskoeffizienten a2,1 und der Detailkoeffizient b2,1 berechnet worden sind, die Annäherungskoeffizienten a1,1 und a1,2 gelöscht werden (bei dem Schritt (d)). Natürlich hängt die Zahl der ge­ löschten Koeffizienten von der Filtergröße ab, die dem Kom­ pressionsbaum, der konstruiert wird, zugeordnet ist.
Als nächstes speichert ein Block 54 den berechneten Annähe­ rungskoeffizienten als Teil des Kompressionsbaumes und übergibt die Steuerung zu dem Block 46 zurück, der fest­ legt, ob ein anderer Annäherungskoeffizient einer höheren Schicht basierend auf der Erzeugung des neuen Annäherungs­ koeffizienten, der durch den Block 54 gespeichert wurde, berechnet werden kann. Die Blöcke 46, 48, 50, 52 und 54 führen eine Wiederholung durch bis der Block 46 bestimmt, daß keine Annäherungskoeffizienten einer höheren Schicht basierend auf dem Empfang des letzten Ursprungsdatenpunktes berechnet werden können. An dieser Stelle wird die Steue­ rung auf den Block 44 zurück übertragen, der einen neuen Ursprungsdatenpunkt annimmt.
Die Schleife, die durch die Blöcke 44, 46, 48, 50, 52 und 54 konfiguriert ist, wiederholt (wodurch ein Kompressions­ baum in einer rekursiven Weise erstellt wird mit dem Emp­ fang der Ursprungsdatenpunkte und wobei nicht benötigte Punkte innerhalb des Kompressionsbaumes gelöscht werden) die Vorgänge bis der Block 50 bestimmt, daß die Größe des Detailkoeffizienten (oder eines anderen Wertes) größer ist als dessen zugeordneter Schwellenwert. An dieser Stelle sendet ein Block 59 einen Satz von Minimalkoeffizienten oder speichert diese, welche dem Kompressionsbaum zugeord­ net sind, der konstruiert wird, die alle aus den Annähe­ rungskoeffizienten bestehen (die momentan innerhalb des Kompressionsbaumes vorhanden sind), und zwar zusammen mit einem Index (der allgemein die Größe des Baumes spezifi­ ziert), und zwar als die komprimierten Daten, die den Ur­ sprungsdaten zugeordnet sind, welche für die Erstellung des Kompressionsbaumes verwendet werden. Es sei darauf hinge­ wiesen, daß keine Detailkoeffizienten als ein Teil der kom­ primierten Daten gesendet oder gespeichert werden, sondern daß statt dessen diese Punkte durch eine Datenkompressions­ einheit als Null angenommen werden.
Danach wird die Steuerung auf den Block 42 zurück übertra­ gen, der die Baumparameter zurücksetzt, um mit der Kon­ struktion eines neuen Kompressionsbaumes zu beginnen. Die Routine 40, die in Fig. 4 veranschaulicht ist, wird in die­ ser Weise wiederholt, um fortlaufend Kompressionsbäume un­ terschiedlicher Größen aus den Ursprungsdaten zu erstellen, die empfangen oder generiert werden, und um die komprimier­ ten Daten, die aus jedem Baum entwickelt wurden, wenn die Konstruktion dieses Baumes abgebrochen wurde, auszusenden oder zu speichern. Die Routine 40 wird dadurch befähigt, Daten Online zu komprimieren, z. B. in einer Realzeit, und zwar mit dem Empfang der Daten bei lediglich minimaler Ver­ arbeitung und minimalem Speicheraufwand innerhalb der Kom­ pressionseinheit.
Es sei darauf hingewiesen, daß die Routine 40 (oder irgend­ eine andere Routine, welche die rekursive Wavelet-Datenkom­ pressionstechnik der vorliegenden Erfindung implementiert) eine Anzahl von Schritten implementiert, um einen Kompres­ sionsbaum zu erstellen und um einen minimalen Satz von An­ näherungskoeffizienten beizubehalten, die als komprimierte Daten gesendet oder gespeichert werden. Zuerst empfängt die Routine einen neuen Datenpunkt (a0,k(0)) und addiert diesen Punkt zu dem Baum als Blattknotenpunkt bei der Schicht-0- Annäherung. Die Routine erneuert dann die zwei Sätze C und B in der folgenden Weise:
C = C'U' {a0,k(0)} (3)
worin
C = der minimale Satz der Annäherungs­ koeffizienten zu irgendeinem gegebenen Zeitpunkt;
k(j) = der Zeitindex bei der Schicht j;
a0,k(0) = der Annäherungskoeffizient bei der Schicht Null und im Zeitpunkt k(0); und
'U' = zeigt die Union von zwei Sätzen an.
B = (0,k(0)) (4)
worin
B = die Schicht und der Zeitindex des letz­ ten Koeffizienten, der zu C addiert wurde; und
(j,k(j)) = der Index, der den Annäherungskoeffizi­ enten bei der Schicht j und dem Zeit­ punkt k(j) anzeigt.
Wenn immer die Routine kann, führt sie eine Berechnung für eine höhere Schicht (Bj,k(j)) durch und vergleicht die Größe dieses Detailkoeffizienten mit einem Schwellenwert tj. Wenn die Größe des Detailkoeffizienten kleiner ist als der Schwellenwert, berechnet die Routine die Annäherungskoeffi­ zienten für diese Schicht und den Zeitwert (z. B. a1,k(1)) un­ ter Verwendung der erforderlichen gespeicherten Annähe­ rungskoeffizient in den niederen Schichten des Baumes. Die Sätze C und B werden dann in der folgenden Weise erneuert:
C = C'U' {a1,k(1)} - {a0,2k(1)-1, a0,2k(1)} (5)
B = (1,k(1)) (6),
und zwar unter der Annahme einer Filterlänge von Zwei. Da­ nach bestimmt die Routine, ob irgendwelche neuen höheren Detail- und Annäherungskoeffizienten berechnet werden kön­ nen und, wenn dies der Fall ist, wiederholt sie die Schrit­ te der Berechnung der Detail- und Annäherungskoeffizienten, vergleicht die Größe des Detailkoeffizienten mit einem Schwellenwert und erneuert die Sätze C und B. Wenn die Grö­ ße des Detailkoeffizienten (z. B. b1,k(1)) größer ist als der entsprechende Schwellenwert (z. B. t1), dann sollte dieser Wert nicht ignoriert werden, daß der Baum aus dem Bereich der Genauigkeit herausläuft und es werden die Sätze C und B als komprimierten Daten abgefertigt. Danach wird der Baum zurückgestellt und die Konstruktion des nächsten Baumes wird begonnen. Es sei jedoch erwähnt, daß der gesamte Satz B nicht gesendet oder gespeichert zu werden braucht, und zwar als ein Index zu den komprimierten Daten. Statt dessen braucht lediglich ein Index, z. B. der Index des letzten An­ näherungskoeffizienten, zu dem Satz der minimalen Koeffizi­ enten C hinzugefügt zu werden und dieser braucht nur gesen­ det zu werden, und zwar als ein Index zu den komprimierten Daten, da der Rest der Indizes in dem Satz B aus diesem ei­ nen Index bestimmt werden kann, wie im folgenden beschrie­ ben wird.
Wenn ein Kompressionsbaum erstellt wird, kann es erforder­ lich sein oder wünschenswert sein, künstliche Werte an dem Beginn von jeder Schicht des Baumes vorzusehen, um die Grenzeffekte bei der Berechnung von Annäherungskoeffizien­ ten einer höheren Schicht zu reduzieren. Um beispielsweise Koeffizienten in der Schicht Eins zu berechnen oder einer höheren Schicht des Baumes zu berechnen, der unter Verwen­ dung eines Filters der Länge Vier oder mehr konstruiert wird, erfordert die Kompressionsroutine die Existenz von negativ zeitlich bewerteten Koeffizienten in jeder der Schichten. Natürlich existieren diese negativen Zeitwerte nicht und es müssen daher Werte künstlich eingeschoben wer­ den. Dieses Konzept wird allgemein als "Padding" (Auffül­ len) bezeichnet. Fig. 5 veranschaulicht einen Kompressions­ baum, der ein Filter der Länge 6 verwendet, mit vier Auf­ füllpunkten (die als schattierte Punkte veranschaulicht sind), die in die mit negativer Zeit indizierten Stellen für die Nullschicht und die erste Schicht desselben einge­ schoben sind. Für Zwecke der Einfachheit der Notierung ist der Zeitindex von jedem Punkt in dem Baum von Fig. 5 mit einer Zahl (1, 2, 3, usw.) angezeigt und die Schicht des Baumes ist durch eine Grundzahl (prime notation) angezeigt. Somit gibt die Bezeichnung 2' den zweiten Zeitwert der er­ sten Schicht des Baumes an, während die Bezeichnung 1" den ersten Zeitwert der zweiten Schicht des Baumes angibt. Wie in Fig. 5 veranschaulicht ist, erfordert die Berechnung der Annäherungs- und Detailkoeffizienten bei dem Punkt 1' die Verwendung von vier aufgefüllten Werten (padded values) und zweier Ist-Werte in der Nullschicht des Baumes. In ähnli­ cher Weise erfordert die Berechnung der Annäherungs- und Detailkoeffizienten an der Stelle 2' die Verwendung von zwei aufgefüllten Werten und vier Ist-Werten in der Null­ schicht des Kompressionsbaumes.
Es gibt eine Anzahl von Typen der Auffüllung (padding), die beim Konstruieren eines Kompressionsbaumes verwendet werden können, inklusive z. B. einer Nullauffüllung, symmetrischer Auffüllung und geglätteter Auffüllung. Bei der Nullauffül­ lung werden die mit negativer Zeit indizierten Punkte (Koeffizienten) alle auf Null gestellt. Dieser Typ der Auf­ füllung führt zu scharfen Unregelmäßigkeiten an den Grenzen und es wurde festgestellt, daß dies zu hohen Detailkoeffi­ zienten nahe den Grenzen führt, was unerwünscht ist. Bei der symmetrischen Auffüllung werden die mit negativer Zeit indizierten Punkte alle auf die entsprechenden mit positi­ ver Zeit indizierten Punkte gesetzt. Somit werden bei­ spielsweise die Werte der Annäherungskoeffizienten -1, -2, -3 und -4 auf die Annäherungskoeffizienten 1 bzw. 2 bzw. 3 bzw. 4 gleichgesetzt. Dieser Typ der Auffüllung (padding) ist in Fig. 5 veranschaulicht und es hat sich gezeigt, daß dieser zu Detailkoeffizienten an den Grenzen führt (da es die Glätte oder weichen Übergang an den Grenzen bewahrt), ohne einen großen Verarbeitungs-Overhead. Er wird daher als ein bevorzugter Typ der Auffüllung betrachtet. Bei der Glättungsauffüllung werden die aufgefüllten Punkte erwei­ tert unter Verwendung der ersten Ableitung der Funktion (der Datenpunkte) an der Grenze, was zu einer kompletten Glättung oder Weichzeichnung führt. Während dieses Auffüll­ verfahren den höchsten Grad der Weichzeichnung an den Gren­ zen schafft, erfordert es einen signifikanten Verarbei­ tungs-Overhead und es wird als sehr nützlich in einigen On­ line-Anwendungen betrachtet, bei denen der Verarbeitungs- Overhead auf einem Minimum gehalten werden muß. Natürlich können irgendwelche anderen Typen der Auffüllung ebenfalls verwendet werden.
Wie zu ersehen ist, beträgt die Zahl der Annäherungskoeffi­ zienten, die bei der Schicht j eines Baumes benötigt wird, um den ersten zeitindizierten Koeffizienten bei der Schicht j+1 zu berechnen, und zwar unter Verwendung der symmetri­ schen Auffüllung, gleich n-2, worin n die Filtergröße ist, die zum Konstruieren des Kompressionsbaumes (n < 2) verwendet wird. Ferner beträgt die Zahl der Annäherungs­ koeffizienten bei der Schicht j+1, die berechnet werden können, sobald einmal die ersten n-2 Koeffizienten bei der Schicht j zur Verfügung stehen, gleich n/2-1.
Gemäß Fig. 6 ist ein Kompressionssystem 60, welches dazu verwendet werden kann, um die rekursive Online-Wavelet-Da­ tenkompressionstechnik, die her beschrieben ist, zu imple­ mentieren, in Form eines Blockdiagramms veranschaulicht. Das Kompressionssystem 60 kann als Software in einem Compu­ ter oder als Hardware, Firmware usw., wie gewünscht, imple­ mentiert werden. Natürlich kann das Kompressionssystem 60 als ein Teil von jedem der Kompressionsnetzwerke 25 von Fig. 1 implementiert werden.
Wie in Fig. 6 dargestellt ist, enthält das Kompressionssy­ stem 60 einen Empfänger 62, der einen Strom von Datenpunk­ ten empfängt, die zu komprimieren sind und welcher diese Datenpunkte einer Kompressionsbaumberechnungsvorrichtung 64 zuführt. Der Empfänger 62 kann aus irgendeinem Typ eines Datenempfängers bestehen, inklusive beispielsweise einem Eingangsport eines Prozessors, einer Empfänger-/Demodula­ torvorrichtung, einem Stapel, einer Software innerhalb ei­ nes Prozessors, um Daten von einer Vorrichtung oder einem Bus usw. zu erhalten.
Die Kompressionsbaumberechnungsvorrichtung 64, die als Software in einem Prozessor implementiert sein kann, in ei­ ner Hardware oder Firmware usw. implementiert sein kann, berechnet oder bestimmt die Koeffizienten, wie beispiels­ weise die Annäherungskoeffizienten und die Detailkoeffizi­ enten, aus den Daten, die durch den Empfänger 62 empfangen werden. Die Kompressionsbaumberechnungsvorrichtung 64 spei­ chert die berechneten Koeffizienten, wie beispielsweise die Annäherungskoeffizienten in einem Speicher 66 und kann ei­ nige oder alle berechneten Koeffizienten verwenden, die in dem Speicher 66 abgespeichert sind, um Punkte in höheren Schichtebenen des Kompressionsbaumes zu bestimmen. In ähn­ licher Weise liefert die Kompressionsbaumberechnungsvor­ richtung 64 Detailkoeffizienten (oder andere Punkte) zu ei­ nem Komparator 68, der diese Koeffizienten (oder die Größen derselben) mit einem oder mit mehreren Schwellenwerten ver­ gleicht, um zu bestimmen, ob die Konstruktion des momenta­ nen Kompressionsbaumes abgebrochen werden sollte. Wenn es gewünscht wird, kann der Komparator 68 einen einzelnen Schwellenwert, vielfache unterschiedliche Schwellenwerte speichern, von denen einer bei jeder unterschiedlichen Schicht des Kompressionsbaumes verwendet wird, oder kann adaptiv eine kumulative Fehlermeßgröße berechnen und diese mit einem Schwellenwert vergleichen, wie dies beschrieben wird.
Wenn in jedem Fall der Komparator 68 bestimmt, daß die Kon­ struktion des momentanen Kompressionsbaumes abgebrochen werden sollte, unterrichtet dieser einen Kompressionsdaten­ generator 70, der die in dem Speicher 60 gespeicherten Koeffizienten dazu verwendet, um einen Satz von komprimier­ ten Daten zu generieren. Ein Indexgenerator 72 erzeugt ei­ nen Index für den Satz der komprimierten Daten und es wer­ den sowohl die Koeffizienten, die durch den Kompressionsda­ tengenerator 70 ausgewählt wurden, als auch der Index, der durch den Indexgenerator 72 erzeugt wurde, ausgesendet, und zwar als ein Satz der komprimierten Daten entsprechend den Ursprungsdaten, die durch den Empfänger 62 empfangen wur­ den.
Wenn es gewünscht wird, kann die Kompressionsbaumberech­ nungsvorrichtung 65 einen Auffülldatengenerator 74 enthal­ ten, der Auffülldaten für jeden Kompressionsbaum erzeugt, und eine Datenentfernungsvorrichtung 76 enthalten, die 49628 00070 552 001000280000000200012000285914951700040 0002019928985 00004 49509 Da­ ten entfernt, wie beispielsweise Annäherungskoeffizienten, und zwar aus dem Speicher 66, wenn diese Daten nicht mehr zum direkten Berechnen eines höheren Schichtpunktes (Koeffizienten) in dem momentanen Kompressionsbaum benötigt werden. Die Datenentfernungsvorrichtung 76 erlaubt es, daß die Größe des Speichers 66 auf einem Minimum gehalten wird, indem Daten aus dem Speicher 66 entfernt werden, wenn sie nicht länger für die Erstellung eines Kompressionsbaumes benötigt werden oder wenn sie nicht länger als komprimierte Daten benötigt werden.
Natürlich können der Komparator 68, der Kompressionsdaten­ generator 70 und der Indexgenerator 72 (als auch irgendwel­ che anderen Komponenten von Fig. 6) in Form einer Software, Hardware, Firmware usw. in irgendeiner gewünschten Weise implementiert sein.
Gemäß Fig. 7 ist ein Datendekompressionssystem 77 veran­ schaulicht, welches einen Kompressionsdatenempfänger 78 enthält, der ähnlich dem Empfänger 62 von Fig. 6 sein kann, einen Speicher 80 enthält, einen Umkehrkompressionsbaumge­ nerator 82 und eine Ursprungsdatenextrahiervorrichtung 84 enthält. Der Empfänger 78 empfängt die komprimierten Daten, die den Index enthalten, der mit diesen gesendet wurde, und gibt die komprimierten Daten an den Umkehrkompressionsbaum­ generator ab. Der Umkehrkompressionsbaumgenerator 82 (oder der Empfänger 78) verwendet den empfangenen Index, um die Größe des Kompressionsbaumes zu bestimmen, der den kompri­ mierten Daten zugeordnet ist, und bestimmt auch, welche und wie viele Kompressionsbaumkoeffizienten für einen bestimm­ ten Kompressionsbaum zu erwarten sind. Nach dem Empfang von jedem neuen Datenpunkt, der einem bestimmten Satz von kom­ primierten Daten zugeordnet ist (die typischerweise in dem Speicher 80 abgespeichert sind), entwickelt der Umkehrkom­ pressionsbaumgenerator 82 alle die niedrigeren Kompressi­ onsbaumannäherungskoeffizienten, die unter Verwendung des empfangenen Datenpunktes und der in dem Speicher 80 gespei­ cherten Kompressionsbaumkoeffizienten bestimmt werden kön­ nen, und speichert dann diese entwickelten Koeffizienten in dem Speicher 80. Um die niederen Punkte in einem Kompressi­ onsbaum zu berechnen, kann der Umkehrkompressionsbaumgene­ rator 82 die folgenden Gleichungen verwenden:
worin:
aj,k = der Annäherungskoeffizient bei der Schicht j für den Zeitindex k (entspre­ chend der Schicht j) des Kompressions­ baumes;
n = die Filterlänge, die zum Erzeugen des Kompressionsbaumes verwendet wurde; und
h(i) = der i-te Koeffizient des Wavelet-Fil­ ters (1 = 0, 1, . . . n-1).
Da natürlich die Detailkoeffizienten (bj,k) auf Null ge­ stellt sind, ist die rechtsseitige Summierung von jeder der Gleichungen (7) und (8) immer Null, was den Rechenvorgang dieser Gleichungen einfacher gestaltet.
Unter Verwendung dieser oder ähnlicher Gleichungen entwic­ kelt der Umkehrkompressionsbaumgenerator 82 sequentiell Ur­ sprungsdaten entsprechend den Ursprungsdaten, die in dem Datenkompressionssystem 60 von Fig. 6 verwendet wurden, um den Kompressionsbaum zu erzeugen. Die Ursprungsdatenextra­ hiervorrichtung 75 erkennt jeden Ursprungsdatenpunkt (z. B. die Nullebenenschicht des rekonstruierten Kompressionsbau­ mes) und liefert diese Datenpunkte als dekomprimierte Daten aus. Wenn es gewünscht wird, kann der Umkehrkompressions­ baumgenerator 82 Koeffizienten aus dem Speicher 80 entfer­ nen, wenn diese Koeffizienten nicht mehr benötigt werden, um irgendwelche Punkte einer niedrigeren Schicht in dem Kompressionsbaum, der entwickelt wurde, zu bestimmen.
Natürlich kann irgendeiner oder können auch alle die Ein­ richtungen wie der Empfänger 78, der Umkehrkompressions­ baumgenerator 82 und die Ursprungsdatenextrahiervorrichtung 84 durch eine Software implementiert werden, die auf einem computerlesbaren Medium gespeichert ist und die auf einem Computer in einer gewünschten oder bekannten Weise läuft. Diese Elemente können auch in einer spezialisierten Hard­ ware, Firmware usw., wie gewünscht, implementiert werden.
In einer Ausführungsform ist die Kompressionstechnik der vorliegenden Erfindung in einer Weise implementiert, die lediglich einen minimalen Speicher und Verarbeitungs- Overhead verwendet. Bei dieser Ausführungsform wird ein Satz von Stapeln manipuliert, um einen Kompressionsbaum zu erstellen und um gleichzeitig den minimalen Satz der Annä­ herungskoeffizienten beizubehalten, die als Kompressionsda­ ten entsprechend einem Satz der empfangenen Ursprungsdaten zu verwenden sind. Die Verwendung der Stapelmanipulation zur Erstellung eines Kompressionsbaumes (mit einem zugeord­ neten Filter der Länge von N = 4) soll nun unter Hinweis auf eine Folge von Schritten, die in Fig. 8 veranschaulicht sind, beschrieben werden, während die Stapelmanipulation zum Erzeugen der Ursprungsdaten aus den komprimierten Daten (das heißt zum Dekomprimieren der Daten), die durch das Sy­ stem entwickelt werden, welches Fig. 8 zugeordnet ist, im folgenden unter Hinweis auf eine Folge von Schritten be­ schrieben wird, die in Fig. 9 veranschaulicht sind.
Allgemein gesagt, enthält zum Implementieren der rekursiven Wavelet-Datenkompressionstechnik der vorliegenden Erfindung unter Verwendung einer Reihe von Stapeln das Kompressions­ system einen Stapel mit n Speicherstellen, die jeder Schicht eines Kompressionsbaumes zugeordnet sind, und zwar zusätzlich zu einem Auffüllstapel mit n-2 Speicherstel­ len. Jeder in Fig. 8 veranschaulichte Schritt zeigt einen Speicher 88 mit einem Nullschichtstapel 90, einem Erst­ schichtstapel 91 und einem Zweitschichtstapel 92, von denen jeder vier (da hier n = 4 ist) Speicherstellen besitzt. Na­ türlich können weitere Stapel für höhere Schichten hinzuge­ fügt werden, wie dies gewünscht wird oder erforderlich ist. Der Speicher 88, der bei jedem Schritt von Fig. 8 veran­ schaulicht ist, enthält auch einen Auffüllstapel 95 mit zwei (das heißt n-2) Speicherstellen darin.
In Fig. 8 sind die Ursprungsdaten, das heißt die zu kompri­ mierenden empfangenen Daten, so veranschaulicht, daß sie einen Zeitindex haben, der diesen zugeordnet ist und der in einem Kreis ist. Ähnlich der Fig. 5 sind die Annäherungs­ koeffizienten des Kompressionsbaumes (welches lediglich die Koeffizienten sind, die in dem Speicher 88 abgespeichert sind) so veranschaulicht, daß sie in den Stapeln 90, 91, 92 und 95 gespeichert sind, wobei der numerische Zeitindex des Koeffizienten mit einem Apostroph versehen ist, welches die Schicht des Baumes anzeigt, welcher der Koeffizient zuge­ ordnet ist. Somit bedeutet 2' den Annäherungskoeffizienten für den zweiten Zeitindex an der ersten Schicht des Kom­ pressionsbaumes. In ähnlicher Weise bedeutet 4 den Annähe­ rungskoeffizienten (Ursprungsdaten) für den vierten Zeitin­ dex bei der Nullschicht des Kompressionsbaumes.
Das Kompressionssystem, welches gemäß Fig. 8 verwendet wird, ist derart konfiguriert, daß die Annäherungskoeffizi­ enten in den geeigneten Stapel eingeführt werden, wenn die­ se Koeffizienten verfügbar werden oder erzeugt werden. Wenn irgendeiner der Stapel 90, 91, 92 oder 95 voll wird, was anzeigt, daß ein Annäherungs- und (Detail-)Koeffizient ei­ ner höheren Schicht berechnet werden kann, werden die Koeffizienten der höheren Schicht unter Verwendung von bei­ spielsweise den Gleichungen (1) und (2) ermittelt und es wird der Annäherungskoeffizient an einer geeigneten Stelle innerhalb des Speichers 88 abgespeichert. Der Auffüllstapel 95 wird dazu verwendet, um zu Beginn die Annäherungskoeffi­ zienten für jede Schicht des Kompressionsbaumes zu empfan­ gen und zu speichern, bis der erste zeitindizierte Annähe­ rungskoeffizient für eine höhere Schicht des Baumes be­ stimmt ist, zu welchem Zeitpunkt der Auffüllstapel 95 sei­ nen Inhalt auf den geeigneten Stapel einer niederen Schicht auflädt und damit beginnt, die Annäherungskoeffizienten für die höhere Schicht des Kompressionsbaumes zu speichern. Wenn ferner irgendein Annäherungskoeffizient einer höheren Schicht berechnet wird und in dem Speicher 88 abgespeichert wird, so werden die Annäherungskoeffizienten der niedrige­ ren Schicht, die nicht länger dazu benötigt werden, um ir­ gendwelche weiteren Koeffizienten einer höheren Schicht zu ermitteln, von dem Boden des Stapels für diese Schicht ent­ fernt. Diese Operationen ergeben sich klarer aus der fol­ genden Beschreibung.
Bei einem Schritt (a) von Fig. 8 wird der erste Ursprungs­ datenpunkt empfangen und wird in den Auffüllstapel 95 ein­ gegeben. Bei einem Schritt (b) wird ein zweiter Ursprungs­ datenpunkt empfangen und wird in den Auffüllstapel 95 ein­ gegeben, der den Auffüllstapel 95 füllt. Da bei diesem Bei­ spiel eine symmetrische Auffüllung verwendet wird, stehen genügend Daten zur Verfügung, um den ersten zeitindizierten Annäherungskoeffizienten für die erste Schicht des Baumes (1') zu berechnen. Bei einem Schritt (c) wird der Detail­ koeffizient, der dem 1'-Wert-Annäherungskoeffizienten zuge­ ordnet ist, bestimmt und wird mit einem Schwellenwert ver­ glichen, um festzulegen, ob die Konstruktion des Baumes ab­ gebrochen werden sollte. Wenn die Konstruktion des Baumes fortzusetzen ist, wird der 1'-Annäherungskoeffizient be­ rechnet und in dem Auffüllstapel 95 gespeichert, der zuerst seine Inhalte in den Nullschichtstapel 90 schiebt. (Der Be­ rechnungsschritt des Detailkoeffizienten oder anderer Meß­ größen für die Verwendung bei der Bestimmung, ob der zu konstruierende Baum fortgesetzt werden soll, wird im fol­ genden nicht erwähnt, jedoch sollte dieser so angenommen werden, daß er stattfindet, indem jeder Annäherungskoeffi­ zient für die Schicht Eins und höher des Baumes bestimmt wird. Zum Zwecke dieses Beispiels wird angenommen, daß die berechneten Detailkoeffizientgrößen alle kleiner sind als deren jeweiliger Schwellenwert, bis die Berechnung des 1'''-Detailkoeffizienten bei dem Schritt (l) von Fig. 8 stattfindet.)
Bei einem Schritt (d) werden die Ursprungsdatenpunkte 3 und 4 in den Stapel 90 gemäß der Nullschicht eingegeben (da der Auffüllstapel 95 nun für die ersten Schichtkoeffizienten verwendet wird). Diese Operation füllt den Nullschichtsta­ pel 90, was bedeutet, daß ausreichend Daten existieren, um einen Annäherungskoeffizienten einer ersten Schicht zu be­ rechnen, hier also 2'. Bei einem Schritt (e) wird der 2'- Koeffizient berechnet und wird in den Auffüllstapel 95 ge­ setzt, während die 1- und 2-Annäherungskoeffizienten, die nicht länger zum Berechnen der Koeffizienten irgendeiner höheren Ebene benötigt werden, aus dem Nullschichtstapel 90 entfernt werden. Der Auffüllstapel 95 ist nun voll, was be­ sagt, daß ein Koeffizient der Schicht Zwei aus den Punkten hier berechnet werden kann. Bei einem Schritt (f) wird der erste zeitindizierte Koeffizient für die zweite Schicht des Baumes (1") berechnet (unter Verwendung der Werte in dem Auffüllstapel 95). Es wird der 1"-Annäherungskoeffizient in den Auffüllstapel 95 plaziert, der zuerst seine Inhalte in den Stapel 91 der ersten Schicht schiebt. Da keiner der Stapel 90, 91, 92 oder 95 voll ist, können keine Koeffizi­ enten einer höheren Schicht ohne Empfang von neuen Daten berechnet werden.
Bei einem Schritt (g) werden die Datenpunkte 5 und 6 emp­ fangen und werden in den Stapel 90 der Nullschicht gesetzt, welche diesen Stapel füllen. Bei einem Schritt (h) berech­ net das Kompressionssystem den 3'-Koeffizienten und ent­ fernt die unteren zwei Werte aus dem Stapel 90 der Null­ schicht. Bei einem Schritt (i) empfängt das Kompressionssy­ stem die Ursprungsdatenwerte 7 und 8 und plaziert diese Werte in den Stapel 90 der Nullschicht, was erneut diesen Stapel füllt. Bei einem Schritt (j) wird der 4'-Koeffizient aus den Koeffizienten in dem Stapel 90 der Nullschicht be­ rechnet und wird in den Stapel 91 der ersten Schicht pla­ ziert. Die unteren zwei Werte des Stapels 90 der Null­ schicht werden gelöscht. Da der Stapel der ersten Ordnung nun voll ist, berechnet das Kompressionssystem bei einem Schritt (k) die nächsten Koeffizienten der Schicht Zwei, das heißt 2", und plaziert diesen Koeffizienten in den Auffüllstapel 95. Diese Operation füllt den Auffüllstapel 95, was bedeutet, daß der 1'''-Punkt bestimmt werden kann. Es ist hier angenommen, daß die Größe des Detailkoeffizien­ ten für den 1'''-Punkt größer ist als dessen zugeordneter Schwellenwert, so daß der 1'''-Annäherungskoeffizient nicht berechnet oder gespeichert wird, sondern statt dessen die Kompressionsdaten basierend auf den Koeffizienten in dem Kompressionsbaum nach dem Schritt (k) entwickelt werden, das heißt die Koeffizienten in dem Speicher 88 bei dem Schritt (k). Zum Zwecke der Vervollständigung veranschau­ licht jedoch der Schritt (l) von Fig. 8 die Berechnung des 1'''-Annäherungskoeffizienten mit der Annahme, daß die Kon­ struktion des Baumes nicht nach dem Schritt (k) abgebrochen wurde. Somit berechnet das Kompressionssystem bei dem Schritt (l) den ersten zeitindexierten Koeffizienten der dritten Schicht des Kompressionsbaumes (1'''). Dieser Koeffizient wird in den Auffüllstapel 95 gesetzt, der zu­ erst seine Inhalte auf den Stapel 92 der zweiten Schicht verschiebt.
Wie zu erkennen ist, existiert der Satz der minimalen Koeffizienten, die für die Rekonstruktion der Ursprungsda­ ten erforderlich sind (und die als die komprimierten Daten verwendet werden können), da alle die Annäherungskoeffizi­ enten in den Stapeln 90, 91 und 92 gemäß der Null-, ersten, zweiten usw. Schicht gespeichert sind (und die Werte des Auffüllstapels 95, wenn der Auffüllstapel 95 voll ist). So­ mit ist nach dem Schritt (k) der Satz der Minimalkoeffizi­ enten, die zum Rekonstruieren der Ursprungsdatenpunkte 1-­ 8 erforderlich sind, gleich 1", 2", 3', 4', 7 und 8. Nach dem Schritt (l) wird der Satz der Minimalkoeffizienten der gleiche sein, während nach dem Schritt (i) der Satz der Mi­ nimalkoeffizienten gleich sein würde 3', 2', 1', 8, 7, 6 und 5. Allgemein gesagt, besteht der Minimalsatz der Koeffizienten zu irgendeinem speziellen Zeitpunkt aus einem Satz von Annäherungskoeffizienten in dem Kompressionsbaum, der dort, wo weitere Annäherungskoeffizienten zu dem Kom­ pressionsbaum hinzuzufügen sind, es erforderlich machen würde, direkt einen Koeffizienten einer höheren Schicht des Kompressionsbaumes zu berechnen, jedoch keinerlei Koeffizi­ enten einzuschließen, die vollständig aus den anderen Koeffizienten innerhalb des Satzes berechnet werden können.
Während der Satz der Minimalkoeffizienten, wie sie oben be­ schrieben wurden, als komprimierte Daten versendet oder ge­ speichert werden kann, ist es auch erforderlich, eine An­ zeige der Größe oder des Anhaltepunktes des Kompressions­ baumes zu senden oder zu speichern, um es der Dekompressi­ onseinheit zu ermöglichen, den Minimalsatz von Koeffizien­ ten in richtiger Weise wieder herzustellen und zu dekodie­ ren. Der Grund für diese Forderung besteht darin, daß die Dekompressionseinheit nicht die Größe des Baumes im voraus kennt (da sich die Baumgröße von Baum zu Baum ändert) und daher auch nicht weiß, wie viele und welche Koeffizienten als die komprimierten Daten gesendet oder gespeichert wer­ den. Jedoch mit einer Anzeige des Punktes, bei dem die Kon­ struktion des Kompressionsbaumes abgebrochen wurde, weiß die Dekompressionseinheit sowohl wie viele komprimierte Da­ tenpunkte entwickelt worden sind, und zwar aus dem Kompres­ sionsbaum (das heißt wie viele Datenpunkte irgendeinem spe­ ziellen Baum zugeordnet sind) und welche Annäherungskoeffi­ zienten diese Datenpunkte betreffen, da diese Variablen in einmaliger Weise auf den Punkt bezogen sind, bei dem die Konstruktion des Kompressionsbaumes abgebrochen wurde. Eine der besten Anzeigen der Größe des Baumes zu irgendeinem ge­ gebenen Zeitpunkt ist eine Anzeige darüber, welcher Annähe­ rungskoeffizient (innerhalb des Satzes der Minimalannähe­ rungskoeffizienten) zu dem Baum hinzugefügt wurde, bevor die Konstruktion des Baumes abgebrochen wurde. Es war somit beispielsweise nach dem Schritt (k) von Fig. 8 der letzte der Minimalkoeffizienten, der zu dem Kompressionsbaum hin­ zugefügt wurde, bevor die Konstruktion des Baumes abgebro­ chen wurde, der Koeffizient 2". Es kann daher der Index dieses Punktes, das heißt (2, 2), als ein Index verwendet werden, der mit den Minimalkoeffizienten versendet wird, um einer Dekompressionseinheit zu ermöglichen, die Ursprungs­ datenpunkte 1-8 wieder zu gewinnen oder wieder herzustel­ len.
Die unten angegebene Tabelle 1 zeigt eine Liste von Koeffi­ zienten, die zu dem Kompressionsbaum hinzugefügt wurden, den Minimalsatz der Koeffizienten, der erforderlich ist, um die Ursprungsdaten wieder zu gewinnen, und den Minimalin­ dex, der damit zugeordnet ist, und zwar für Kompressions­ bäume, die abgebrochen wurden, nach dem Empfang zwischen einem und acht Ursprungsdatenpunkten. Es sei darauf hinge­ wiesen, daß nach dem Empfang der bestimmten Ursprungsdaten­ punkte, wie beispielsweise 2, 4, 6 und 8, es eine Vielzahl von möglichen Anhaltepunkten gibt, da mehr als ein Koeffi­ zient zu dem Kompressionsbaum nach dem Empfang dieser Punk­ te hinzugefügt werden kann.
TABELLE 1
Es sei darauf hingewiesen, daß das Hinzufügen von 1'; 1", 1''' usw. an Punkten zu dem Baum nicht unmittelbar diese Punkte zu dem Minimalsatz der Koeffizienten hinzu addiert, da diese Punkte vollständig aus den Punkten bestimmt werden können, die momentan innerhalb des Minimalsatzes der Koeffizienten vorhanden sind. Dies ist ein Kunstgriff der Verwendung der symmetrischen Auffüllung (symmetric pad­ ding).
Natürlich können andere Typen von Indexierung in gleicher Weise verwendet werden und die Erfindung ist nicht auf die spezielle Indexierungsroutine beschränkt oder für den vor­ liegenden Fall auf eine spezielle Stapelmanipulationsrouti­ ne, wie sie hier beschrieben ist. Ferner können, wie dies ersehen werden kann, die Stapelmanipulationsroutine und die Informationen in der Tabelle 1 auf größere Bäume erweitert werden, das heißt auf solche, die aus mehr als acht Daten­ punkten konstruiert sind.
In Fig. 9 ist eine Stapelkonfiguration für die Verwendung in einem Dekomprimierungssystem veranschaulicht, welches die Ursprungsdatenpunkte 1-8 aus den gespeicherten oder übertragenen komprimierten Daten, die in Fig. 8 erzeugt wurden, rekonstruiert. Ähnlich dem Kompressionssystem braucht das Dekompressionssystem lediglich einen minimalen Speicher zuzuweisen, um die Ursprungsdaten zu rekonstruie­ ren. Dieser Speicher kann die Form eines Stapels von n-2 Speicherstellen haben (worin n die Filterlänge ist, die der Wavelet-Kompressionstechnik zugeordnet ist), und zwar für jede Schicht des Baumes (die durch den Index bestimmt wer­ den kann, der mit den komprimierten Daten gesendet oder ge­ speichert wird). Es kann somit, wie in Fig. 9 veranschau­ licht ist, nach dem Empfang des Index, der einem Kompressi­ onsbaum zugeordnet ist, das Dekompressionssystem einen Zwei-Speicher-Stapel für jeden Annäherungskoeffizienten der Null-, ersten und zweiten Ebene zuweisen. Jeder der Schrit­ te von Fig. 9 veranschaulicht den Nullschichtstapel 100, während einige dieser Schritt einen Stapel 101 einer ersten Schicht und einen Stapel 102 einer zweiten Schicht veran­ schaulichen.
Zu Beginn empfängt das Dekompressionssystem den Index für einen Baum und bestimmt daraus, wie viele und welche Annä­ herungskoeffizienten gespeichert sind oder als die kompri­ mierten Daten gesendet werden. Wenn es gewünscht wird, kann das Dekompressionssystem eine Tabelle speichern, ähnlich der Tabelle 1 (ohne die Spalte, welche die hinzugefügten Koeffizienten identifiziert), ist jedoch so erweitert, daß sie Bäume enthält, die aus mehr Datenpunkten konstruiert wurden und kann diese Tabelle dazu verwenden, um die ankom­ menden Daten zu interpretieren. Natürlich kann das Dekom­ pressionssystem andere Typen der Indexierung verwenden (wie den Indizes basierend darauf, wie viele Datenpunkte dazu verwendet wurden, um den Baum zu erzeugen) und kann die an­ kommenden Daten in einer anderen Weise dekodieren.
Unter der Annahme, daß die Dekompressionseinheit den Index (2, 2) empfängt, der durch das Beispiel von Fig. 8 erzeugt wird, bestimmt sie aus der Tabelle 1, daß sie zu erwarten hat, die 1"-, 2"-, 3'-, 4'-, 7- und 8-Annäherungskoef­ fizienten zu empfangen, und zwar in dieser Reihenfolge, um acht Ursprungsdatenpunkte zu reproduzieren. Bei dem Schritt (a) von Fig. 9 empfängt das Dekompressionssystem den 1"- Koeffizienten und setzt diesen in den Stapel 102 der zwei­ ten Schicht. Bei einem Schritt (b) empfängt das Dekompres­ sionssystem den Koeffizienten 2" und setzt diesen Wert in den Stapel 102 der zweiten Schicht, was diesen Stapel füllt. Als ein Ergebnis können Koeffizienten der niederen Schicht berechnet werden, und zwar unter Verwendung der Gleichungen (7) und (8), die oben angegeben sind. Bei einem Schritt (c) werden die Annäherungskoeffizienten 2' und 1' der niederen Schicht berechnet und in den Stapel 101 der ersten Schicht plaziert, was diesen Stapel füllt. Zu diesem Zeitpunkt wird der untere Wert des Stapels 102 der zweiten Schicht gelöscht, da dieser nicht länger zum Berechnen ir­ gendwelcher Koeffizienten einer niederen Schicht benötigt wird. Da auch der Stapel 101 der ersten Schicht gefüllt ist berechnet das Dekompressionssystem bei einem Schritt (d) die Koeffizienten 1 und 2 der Nullschicht (welches die re­ konstruierten Ursprungsdatenpunkte 1 und 2 sind). Der unte­ re Wert des Stapels 101 der ersten Schicht wird gelöscht. Natürlich verwendet das Dekompressionssystem die Datenwerte 1 und 2 als die rekonstruierten Daten in irgendeiner norma­ len Weise, wodurch der Stapel 100 der Nullschicht geleert wird.
Bei einem Schritt (e) empfängt das Dekompressionssystem den Koeffizienten 3' und setzt diesen in den Stapel 101 der er­ sten Schicht ein, was diesen Stapel füllt. Bei einem Schritt (f) berechnet das System die Annäherungskoeffizien­ ten 3 und 4 der Nullschicht und verwendet diese Werte als die rekonstruierten Daten. Auch wird der untere Wert des Stapels 101 der ersten Schicht gelöscht. Bei einem Schritt (g) wird der nächste Minimalkoeffizient (4') empfangen und wird in den Stapel 101 der ersten Schicht plaziert, wodurch dieser Stapel gefüllt wird. Bei einem Schritt (h) werden die Annäherungskoeffizienten 5 und 6 aus den Werten des Stapels 101 der ersten Schicht berechnet, es wird der unte­ re Wert des Stapels 101 der ersten Schicht gelöscht und es werden die Koeffizienten der Nullschicht als die rekonstru­ ierten Datenpunkte 5 und 6 verwendet. Bei einem Schritt (i) werden die Minimalkoeffizienten 7 und 8 empfangen, werden in den Stapel 100 der Nullschicht plaziert und werden dann als rekonstruierte Datenpunkte 7 und 8 verwendet. Danach kann das Dekompressionssystem den nächsten Index empfangen und damit beginnen, die Daten zu rekonstruieren, basierend auf dem nächsten Satz der komprimierten Daten, die einem Kompressionsbaum einer unterschiedlichen Größe zugeordnet sein können.
Wie zu ersehen ist, erfordert die Verwendung der Stapelkon­ figurationen, wie sie in den Fig. 8 und 9 veranschaulicht ist, um Daten zu komprimieren und zu dekomprimieren, ledig­ lich einen minimalen Aufwand an Speicher, während Kompres­ sionsdaten generiert werden oder während Ursprungsdaten aus den komprimierten Daten rekonstruiert werden. Dieses Merk­ mal ermöglicht es den Kompressions- und Dekompressionssy­ stemen (wie den Systemen 25 von Fig. 1), klein ausgeführt zu werden und nicht kostspielig zu sein, und schafft die Möglichkeit, diese in Vorrichtungen in einfacher Weise ein­ zubauen oder mit aufzunehmen, wie beispielsweise in Be­ reichsvorrichtungen, die an einen Bus angeschlossen sind.
Ferner wird die Verarbeitung vervollständigt, indem die Ur­ sprungsdaten oder die komprimierten Daten empfangen werden, welches die Datenverarbeitungsanforderungen hinsichtlich der Zeit einebnet und einen langsameren und daher auch we­ niger kostspieligen Prozessor zuläßt, der bei den Kompres­ sions- und Dekompressionssystemen verwendet wird.
Obwohl natürlich eine Ausführungsform der vorliegenden Er­ findung beschrieben wurde, und zwar mit Verwendung der Sta­ peloperationen, um den Speicheraufwand zu reduzieren, der zum Komprimieren und zum Dekomprimieren von Daten erforder­ lich ist, können andere Typen einer Computersoftware und von Systemen so konstruiert und/oder programmiert werden, um den Kompressionsbaum in einer rekursiven Online-Weise gemäß den hier beschriebenen Prinzipien zu berechnen oder abzuleiten.
Wie oben dargelegt wurde, kann anstelle eines Vergleiches von jeder detaillierten Koeffizientengröße mit einem ver­ schiedenen Schwellenwert, der beispielsweise für jede Schicht des Kompressionsbaumes bestimmt wird, die rekursive Wavelet-Datenkompressionsroutine einen oder mehrere stati­ stische Fehlerwerte berechnen, die irgendeinem gegebenen Punkt des Kompressionsbaumes zugeordnet sind und kann diese statistischen Werte mit einem Schwellenwert vergleichen, um zu bestimmen, ob die Konstruktion des Kompressionsbaumes abgebrochen werden sollte. Dieses Verfahren hat den Vor­ teil, daß es anwenderfreundlicher ist, dahingehend, daß ein Anwender lediglich einen Schwellenwert spezifizieren muß, und zwar für jede statistische Fehlermessung, und daß der gleiche Schwellenwert bei jedem Punkt in dem Baum angewen­ det wird. Ferner fühlt sich in einem typischen Fall ein An­ wender wohler, indem er den Wert des Schwellenwertes ein­ stellt, basierend auf einer geeigneten statistischen Feh­ lermessung, wie beispielsweise einem Effektivwertfehler oder dem örtlichen Punktfehler, als wenn er versucht, einen geeigneten Schwellenwert zu bestimmen, und zwar für jede Schicht des Kompressionsbaumes, was mehr Wissen erfordert und auch Verständnis der Wirkungsweise oder Mechanik der Wavelet-Datenkompression.
Allgemein gesprochen, basiert die hier beschriebene Schwel­ lenwertbildungstechnik auf zwei statistischen Fehlermessun­ gen, dem Effektivwertfehler (RMSE) und dem örtlichen Punkt­ fehler (LPE) und, wenn irgendeine dieser Messungen oder Meßwerte größer wird als ein spezifizierter Schwellenwert, wird die Konstruktion des Baumes angehalten oder abgebro­ chen. Es sei jedoch erwähnt, daß irgendeine andere Zahl und Typ von Fehlermessungen verwendet werden kann, um eine Schwellenwertbildung durchzuführen.
Wie dies bekannt ist, läßt sich ein Rohsignal x = (x0, x1, . . . , xN-1) und ein rekonstruiertes Signal x! = (x! 0, x! 1, . . . , x! N-1) der Effektivwertfehler e® in der folgenden Weise definieren:
und der örtliche Punktfehler eL läßt sich definieren als:
worin:
N = die Zahl der Rohpunkte, die zum Berech­ nen der Fehlermessungen verwendet wer­ den; und
|x| = der absolute Wert von x.
Zum Zwecke der Einfachheit der Verarbeitung kann anstelle der Berechnung des Effektivwertfehlers bei jedem Punkt der Quadratsummenfehler es rekursiv berechnet werden und der Effektivwertfehler kann aus dem Quadratsummenfehler es be­ rechnet werden. Wie dies bekannt ist, ist der Quadratsum­ menfehler es wie folgt definiert:
Die rekursiven Beziehungen für eS und eL bei den Schichten j und j-1 des Wavelet-Kompressionsbaumes können generell modelliert werden wie folgt:
worin:
aj,k = der Annäherungskoeffizient für die j-te Schicht und den k-ten Zeitpunkt des Kompressionsbaumes; und
f = bezeichnet eine Funktion.
Die spezifische rekursive Beziehung des Quadratsummenfeh­ lers eS an einem Punkt in einem HAAR-Wavelet-Kompressions­ baum ist wie folgt gegeben:
während die rekursive Beziehung für den örtlichen Punktfeh­ ler eL an einem Punkt in dem Wavelet-Kompressionsbaum in Ausdrücken des positiven örtlichen Punktfehlers eL+ und dem negativen örtlichen Punktfehler eL- in der folgenden Weise gegeben ist:
Der positive örtliche Punktfehler und der negative örtliche Punktfehler sind als der maximale örtliche Punktfehler in der positiven Richtung und der negativen Richtung jeweils festgelegt. Die Ausdrücke für eL+ und eL- sind wie folgt ge­ geben:
worin β ein Wert ist, der proportional zu dem Detailkoeffi­ zienten eines Punktes in einem Kompressionsbaum bei der Schicht j und dem Zeitpunkt k ist und in der folgenden Wei­ se bestimmt werden kann:
Wie oben erwähnt ist, können der kumulative örtliche Punkt­ fehler und der kumulative Quadratsummenfehler (und daher der kumulative Effektivwertfehler) an irgendeinem Punkt be­ rechnet werden, wo zwei Zweige des Kompressionsbaumes kom­ biniert sind (das heißt bei einer höheren Schicht), wenn der Kompressionsbaum wächst, und zwar unter Verwendung der folgenden Gleichungen:
worin:
eS T = der momentane Gesamt-(Kumulativ-)Qua­ dratsummenfehler;
eS T = der neue Gesamt-(Kumulativ-)Quadratsum­ menfehler an dem neu berechneten Punkt; und
eS j,k = der Quadratsummenfehler, der dem Punkt bei der Schicht j und dem Zeitwert k zugeordnet ist.
In ähnlicher Weise läßt sich der örtliche kumulative Punkt­ fehler an irgendeinem Punkt, wo zwei verzweigte Bäume kom­ biniert sind (das heißt bei einer höheren Schicht), wie folgt ausdrücken:
worin:
eL T = der momentane Gesamt-(Kumulativ-) ört­ liche Punktfehler;
eL T = der neue Gesamt-(Kumulativ-) örtliche Punktfehler an dem neu berechneten Punkt; und
eL j,k = der örtliche Punktfehler, der dem Punkt bei der Schicht j und dem Zeitwert k zugeordnet ist.
Natürlich läßt sich der kumulative Effektivwertfehler wie folgt berechnen:
worin:
eR T = der neue Gesamt-(Kumulativ-)Effektiv­ wertfehler; und
N = die Zahl der Ursprungsdatenpunkte, die angekommen sind, seit die Konstruktion des Baumes gestartet wurde.
Im wesentlichen berechnet die Kompressionsroutine, die sta­ tistische Fehlermessungen verwendet, um eine Schwellenwert­ bildung durchführen, die eS- und die eL-Werte an jedem Punkt unter Verwendung der rekursiven Ausdrücke (14) und (15), die oben angegeben sind, berechnet den kumulativen Quadratsummenfehler eS und den örtlichen kumulativen Punktfehler eL unter Verwendung der Gleichungen (19) und (20), berechnet den kumulativen Effektivwertfehlerwert eR unter Verwendung der Gleichung (21) und vergleicht den ku­ mulativen Effektivwertfehlerwert eR und den örtlichen ku­ mulativen Punktfehlerwert eL mit den Schwellenwerten θR (für den Effektivwertfehler) und den Schwellenwerten θL (für den örtlichen Punktfehler). Wenn einer oder beide der Schwellenwerte θR oder θL kleiner ist als der berechnete eR-Wert bzw. eL-Wert, wird die Konstruktion des Kompressi­ onsbaumes abgebrochen oder angehalten, ohne den neuen Punkt zu dem Kompressionsbaum hinzuzufügen.
Der folgende Abschnitt gibt eine Schritt-für-Schritt-Be­ schreibung einer Routine an, welche die adaptive Schwellen­ wertbildung verwendet, die oben beschrieben ist, und zwar in der rekursiven Wavelet-Datenkompressionsroutine der vor­ liegenden Erfindung. In dieser Beschreibung bedeuten:
j = die Schicht des Kompressionsbaumes.
k(j) = der Zeitindex für die Schicht j, die als nächstes gefüllt wird.
C = ein Satz von Minimalkoeffizienten.
(b(r), (B(t)): = ein Paar von Buchhaltungsindizes der Form (j, k(j)).
θR = der maximal erlaubte Effektiverwertfeh­ ler.
θL = der maximal erlaubte örtliche Punktfeh­ ler.
eS T = der gesamte akkumulierte Quadratsummen­ fehler.
eL T = der gesamte akkumulierte örtliche Punktfehler.
eS j,k = der Quadratsummenfehler des Baumes, der bei dem Knotenpunkt aj,k verwurzelt ist.
eL j,k = der örtliche Punktfehler des Baumes, der bei dem Knotenpunkt aj,k verwurzelt ist.
ES = ein Satz, der die Quadratsummenfehler­ ausdrücke eS j,k enthält.
EL = ein Satz, der die örtlichen Punktfeh­ lerausdrücke eL j,k enthält.
Schritt 1:
Anfangswerte:
k(j) = 0 für alle j = 0, 1 . . . , J-1, J
C = {}, d. h. der Nullsatz
(B(r), B(t)) = (-1, -1) (d. h. irgendwelche gültigen Werte)
ES = {}
EL = {}
Schritt 2:
empfange den nächsten Punkt aJ,k(J) und
(a) erneuere den Satz C und B wie folgt:
C = C + {a0,k(0)} (22)
(B(r), B(t)) = (0, k(0)) (23)
(b) erneuere ES und EL
ES = ES + {eS 0,k(0)} (24)
EL = EL + {eL 0,k(0)} (25)
Schritt 3:
erneuere den Baum, soweit dies möglich ist, beginnend von der Schicht j = 1.
Solange somit k(j)-1 durch 2 teilbar ist, unternimm das folgende:
  • a) Berechne den Annäherungskoeffizienten aj,k(j), unter Verwendung:
  • b) berechne die Fehlerschätzgrößen eS j,k(j) und eL j,k(j) un­ ter Verwendung der Gleichungen (14) und (15);
  • c) berechne den geschätzten Effektivwertfehler eR T und den örtlichen Gesamtpunktfehler eL T und, wenn der Baum bis zu diesem Punkt gewachsen ist, verwende die Glei­ chungen (19), (20) und (21);
  • d) wenn eR T kleiner ist als θR und eL T kleiner ist als θL, dann lasse den Baum durch Ausführen der folgenden Schritte wachsen:
    • 1. erneuere die Sätze C und B wie folgt:
      C = C + {aj,k(j)} - {aj-1,2k(j), aj-1,2k(j)+1} (27)
      (B(r), B(t)) = (j, k(j)) (28)
    • 2. erneuere ES und EL
      ES = ES + {eS j,k(j)} - {eS j-1,2k(j), eS j-1,2k(j)+1} (29)
      EL = EL + {eL j,k(j)} - {eL j-1,2k(j), eL j-1,2k(j)+1} (30)
    • 3. erneuere den akkumulierten Gesamtfehler eS T und eL T
    • 4. setze k(j) = k(j)+1 (Inkrementindex bei der Schicht j)
    • 5. setze j = j + 1 (Bewegen zu der nächsten niedri­ geren Auflösung)
  • e) ansonsten:
    • 1. sende die Sätze C und B als komprimierte Daten; und
    • 2. gehe zum Schritt 1 (starte neuen Baum).
Schritt
4
:
k(0) k(0) + 1 und gehe zu dem Schritt
2
.
Die hier beschriebene Kompressionstechnik ist speziell in bestimmten Systemen nützlich, die beispielsweise die neuen Videoprozessorchips von Intel verwenden, welche die Fähig­ keit haben, Videokompressionstechniken durchzuführen und komprimierte Videodaten zu manipulieren. Im allgemeinen wird die Wavelet-Kompressionstechnik, die hier beschrieben ist, an den Stellen in den Prozeßregelsystemen (oder ande­ ren Kommunikationssystemen) angewendet, bei denen Messungen zu Beginn vorgenommen werden, wie beispielsweise bei einem Kontroller oder bei einer Bereichsvorrichtung, um die an­ fallenden Daten zu komprimieren. Die Kontroller, Multiple­ xer und andere Meßvorrichtungen, die über das System ver­ teilt sind, senden die komprimierten Daten direkt zu den Schnittstellenstationen und Daten, Ereignisspeichern, wel­ che die Fähigkeit haben, die komprimierten Daten zu archi­ vieren. Die Schnittstellenstationen können Videoverarbei­ tungsroutinen verwenden, die bereits beispielsweise auf dem Intel-Chip vorhanden sind, um Kurz-Term- oder Lang-Term- Trends darzustellen, die Daten für eine Anzeige zu dekom­ primieren oder um irgendeine andere Funktion auszuführen, die durch die Software auf dem Chip vorgesehen wird.
Ferner können Datenereignisspeicher so ausgelegt werden, daß sie die komprimierten Daten direkt verwenden, ohne die Daten zuerst zu dekomprimieren. Ferner können in bestimmten Fällen, die beispielsweise bei der Darstellung des Wavelet- Skalierungsfaktors und einer Amplitude gegenüber Zeitinfor­ mationen die komprimierten Wavelet-Daten direkt für die Prozeßanalyse ohne die Komprimierung der Daten verwendet werden.
Es sei auch darauf hingewiesen, daß die Wavelet-Datenkom­ pressionstechnik, die hier beschrieben ist, auf irgendeine Wavelet-Basis irgendeiner Länge angewendet werden kann und die Vorteile besitzt, daß die Speicheranforderungen mini­ miert werden können, die zum Implementieren der Kompression in beispielsweise einem Kontroller erforderlich sind, wobei die Prozessorbelastung zu irgendeinem gegebenen Zeitpunkt minimiert wird und die Bandbreite minimiert wird, die für die Kommunikation bzw. Übertragung der komprimierten Daten benötigt wird. Natürlich ist die hier beschriebene Kompres­ sionstechnik nicht auf die Verwendung von HAAR-Wavelet- Filter beschränkt, sondern kann auf andere Typen bekannter Wavelet-Filter oder Filter, die in der Zukunft entwickelt werden, angewendet werden. Obwohl ferner eine Wavelet-Da­ tenkompressionstechnik hier in Verbindung mit einem Prozeß­ regelsystem beschrieben ist, kann diese Technik in irgend­ einem Kommunikationssystem, wie beispielsweise irgendeinem Video-, Audio- und/oder Datenkommunikationssystem verwendet werden, welches für irgendeine Anwendung eingesetzt wird. Es sei darauf hingewiesen, daß obwohl die oben erläuterte adaptive Schwellenwertbildungsroutine hier als speziell nützlich bei den Wavelet-Datenkompressionstechniken be­ schrieben wurde, diese adaptive Schwellenwertbildungsrouti­ ne auch in anderen Online-Verarbeitungsanwendungen verwen­ det werden kann, die in typischer Weise Hard- oder Soft- Schwellenwertbildungstechniken verwenden und die in der Tat bei irgendeinem Online-Prozeß verwendet werden können, der eine Schwellenwertbildung erfordert. Als ein Beispiel kann die adaptive Schwellenwertbildungsroutine, die hier be­ schrieben wurde, in anderen Online-Datenkompressionstechni­ ken verwendet werden, wie beispielsweise in der Boxcar, Backward Slope, usw., als auch bei der Online-Uni-Zufalls­ variablen und Multi-Zufallsvariablen Datenkompressionstech­ nik, Bildkompressions-, Videokompressions-, Sprach- (Audio-)Kompressionstechniken und bei Anwendungen verwendet werden, die auf Datenkompressionstechniken basieren, wie beispielsweise solchen, die in Scannern, Faxgeräten, Druc­ kern, netzbasierten Multimediaanwendungen usw. verwendet werden. Ferner kann die adaptive Schwellenwertbildungstech­ nik, die hier beschrieben ist, auch zum Beseitigen von Störsignalen, Sensorüberprüfung, Fehlerdetektion, multi-zu­ fallsvariable Fehlerdetektion, Prozeßidentifizierung, Sy­ stemidentifizierung und Mustererkennungsanwendungen als auch bei irgendwelchen anderen statistischen Verarbeitungs- oder Datenverarbeitungsanwendungen verwendet werden, die eine Schwellenwertbildung verwenden.
Das Flußdiagramm 120 von Fig. 10 ist dafür geeignet, um die Art zu veranschaulichen, in welcher die adaptive Schwellen­ wertbildungstechnik, die hier beschrieben wird, in anderen Verarbeitungstechniken implementiert werden kann. Allgemein gesagt, wird die Routine, die durch das Flußdiagramm 120 veranschaulicht ist, inseitig oder als ein Teil einer zu­ grundeliegenden Verarbeitungsroutine implementiert, die Da­ ten in einer sequentielle Weise empfängt, das heißt als Folgen von sequentiellen Datenpunkten. In der Vergangenheit berechneten diese Routinen einen Schwellenwert basierend auf der Differenz zwischen zwei empfangenen Datenpunkten (typischerweise dem letzten empfangenen Datenpunkt und ei­ nem anfänglichen Datenpunkt) und verglichen dann den Fehlerwert mit einem gewissen voreingestellten Schwellen­ wert. Das Flußdiagramm 120 bestimmt andererseits Online ei­ nen oder mehrere Summenfehlervariable basierend auf all den empfangenen Datenpunkten oder basierend auf wenigstens ei­ nem sequentiellen Untersatz von drei oder mehr der empfan­ genen Datenpunkt, und vergleicht dann diesen einen oder mehreren Summenfehlervariablen mit den Schwellenwerten. Wie oben beschrieben wurde, erzeugt eine Summenfehlerschwellen­ wertbildungstechnik genauere Ergebnisse und ermöglicht es einem Anwender, einen geeigneten Schwellenwert auszuwählen, ohne all die Komplexitäten der zugrundeliegenden Prozeßbe­ rechnungen verstehen zu müssen.
Gemäß Fig. 10 ist in der Routine, die auf irgendeinem com­ puterlesbaren Medium, wie beispielsweise einer Platte, Festplatte usw., gespeichert sein kann und die auf einer Computervorrichtung implementierbar ist, einen Block 122, der die eine oder die mehreren Summenfehlervariablen in­ itialisiert, indem diese in typischer Weise auf Null ge­ setzt werden. Innerhalb eines Blocks 124 führt die zugrun­ deliegende Verarbeitungsroutine, die beispielsweise aus ir­ gendeiner der oben erwähnten Routinen bestehen kann, die Schritte gemäß einem Sammeln oder Empfangen eines Daten­ punktes (X0, X1, . . .) durch und führt irgendwelche erfor­ derlichen Berechnungen basierend auf dem Empfang dieses Da­ tenpunktes durch. Natürlich hängen die Berechnungen oder Schritte, die durch die zugrundeliegende Verarbeitungsrou­ tine in dem Block 124 ausgeführt werden, vom Typ der Routi­ ne ab, die implementiert ist und sie sind für die Fehler­ schwellenwertbildungstechnik, die hier beschrieben wird, nicht von Bedeutung, mit Ausnahme der Tatsache, daß eine oder mehrere Prozeßvariablen, die durch die zugrundeliegen­ de verarbeitende Routine berechnet werden, dazu verwendet werden, um die Summenfehlervariable oder -variablen zu be­ stimmen. Die speziellen Prozeßvariablen, die für die Sum­ menfehlerberechnung verwendet werden, hängen natürlich von dem zugrundeliegenden Prozeß ab und sind dem Fachmann des speziellen zugrundeliegenden Prozesses genau bekannt, der implementiert ist.
Als nächstes berechnet ein Block 126 die Summenfehlervaria­ ble oder -variablen oder erneuert diese aus dem Datenpunkt, der empfangen wird, und/oder die Prozeßvariablen, die durch den Block 124 bestimmt wurden. Bei einer bevorzugten Aus­ führungsform bestehen die Summenfehlervariablen aus dem ku­ mulativen örtlichen Punktfehler und dem kumulativen Effek­ tivwertfehler, wobei die Berechnung von diesen beiden für den Fachmann auf dem Gebiet des zugrundeliegenden Prozesses verständlich ist. Allgemein gesagt, können diese Variablen jedoch unter Verwendung der Gleichungen bestimmt werden, ähnlich den Gleichungen (9) und (10), um den örtlichen Punktfehler und den Effektivwertfehler zu ermitteln, und zwar nach dem Empfang irgendeines bestimmten Datenpunktes, wobei dann die Gleichungen ähnlich den Gleichungen (20) und (21), die oben angegeben sind, verwendet werden. Natürlich kann der kumulative Effektivwertfehler rekursiv unter Ver­ wendung des oben beschriebenen Quadratsummenfehlers abge­ leitet werden. Während das Flußdiagramm 120 so beschrieben wird, daß sowohl der kumulative örtliche Punktfehler als auch der kumulative Effektivwertfehler verwendet werden, kann die adaptive Schwellenwertbildungstechnik, die hier beschrieben wird, lediglich einen dieser Fehler verwenden oder kann irgendeinen oder mehrere Summenfehlervariable verwenden (das heißt solche, die aus einer Sequenz des Bau­ mes oder aus mehreren sequentiellen Datenpunkten stammen) anstelle oder zusätzlich dazu.
Wenn die Summenfehlervariable oder -variablen berechnet werden, vergleicht ein Block 128 diese Werte mit den Werten der entsprechenden voreingestellten Schwellenwerte. Wenn jede der Summenfehlervariablen kleiner ist als der entspre­ chende Schwellenwert, kehrt die Routine zu dem Block 124 zurück für den Empfang des nächsten Datenwertes. Die Schritte gemäß dem Empfangen eines Datenpunktes, Erneuern von einem oder mehreren Summenfehlerwerten basierend auf dem Datenpunkt und das Vergleichen des einen oder der meh­ reren Summenfehlerwerte mit voreingestellten Schwellenwer­ ten werden solange wiederholt, bis eine der Summenfehlerva­ riablen größer wird als der entsprechende voreingestellte Schwellenwert. An dieser Stelle führt ein Block 130 Schrit­ te durch, was immer für Schritte gewöhnlich bei früheren Soft- oder Hard-Schwellenwertbildungsimplementationen des zugrundeliegenden Prozesses ausgeführt wurden, wenn der Schwellenwert überschritten wird. Beispielsweise wird in einer Datenkompressionsroutine der Datenpunkt als einer der erforderlichen Kompressionsdatenpunkte gespeichert. In an­ deren Routinen können andere Werte gespeichert oder Schrit­ te unternommen werden, was von der zugrundeliegenden Verar­ beitungsroutine abhängig ist, die implementiert ist. Danach kehrt die Steuerung zu dem Block 122 zurück, der die Sum­ menfehlerwerte zurückstellt, und der Schwellenwertbildungs­ prozeß beginnt erneut an dem nächsten untergeordneten Satz der sequentiellen Daten.
Obwohl die vorliegende Erfindung unter Hinweis auf spezifi­ sche Beispiele beschrieben wurde, die lediglich zur Veran­ schaulichung dienen sollen und die Erfindung nicht ein­ schränken, ist es für einen Fachmann offensichtlich, daß Änderungen, Zusätze und/oder Weglassungen bei den offenbar­ ten Ausführungsformen vorgenommen werden können, ohne da­ durch den Rahmen der vorliegenden Erfindung zu verlassen.

Claims (71)

1. Datenkompressionssystem, welches einen Strom von Da­ tenpunkten komprimiert, mit:
einem Datenempfänger, der die Datenpunkte in einer se­ quentiellen Weise empfängt;
einer Kompressionsbaumberechnungsvorrichtung, die ei­ nen Kompressionsbaum aus den empfangenen Datenpunkten bestimmt, wobei der bestimmte Kompressionsbaum Koeffi­ zienten in einer Nullebenenschicht enthält, die gleich sind dem Strom der Datenpunkte und den Koeffizienten in einer oder in mehreren höheren Ebenenschichten, die aus den Koeffizienten in der Nullebenenschicht be­ stimmt wurden;
einem Speicher, der die bestimmten Koeffizienten des Kompressionsbaumes speichert; und
einem Kompressionsdatengenerator, der einen unterge­ ordneten Satz der bestimmten Koeffizienten auswählt, um einen Satz von komprimierten Daten entsprechend den empfangenen Datenpunkten zu erzeugen;
wobei die Kompressionsbaumberechnungsvorrichtung einen der Koeffizienten von einer der höheren Ebenenschich­ ten bestimmt, nachdem der Datenempfänger einen ersten einen der Datenpunkte empfangen hat, jedoch bevor der Datenempfänger einen zweiten einen der Datenpunkte empfängt.
2. Datenkompressionssystem nach Anspruch 1, bei dem die Kompressionsbaumberechnungsvorrichtung ei­ ne Kompressionsbaumkoeffizientenberechnungsvorrichtung enthält, die alle Koeffizienten der höheren Ebenen­ schichten des Kompressionsbaumes berechnet, die aus den gespeicherten Koeffizienten des Kompressionsbaumes nach dem Empfang von jedem einen der Datenpunkte be­ rechnet werden können.
3. Datenkompressionssystem nach Anspruch 1, welches ferner eine Datenbeseitigungsvorrichtung ent­ hält, die jeden Koeffizienten aus dem Speicher besei­ tigt, wenn dieser Koeffizient nicht länger erforder­ lich ist, um direkt irgendeinen Koeffizienten in einer höheren Ebenenschicht des Kompressionsbaumes zu be­ rechnen.
4. Datenkompressionssystem nach Anspruch 1, bei dem der Speicher einen Stapelspeicher umfaßt.
5. Datenkompressionssystem nach Anspruch 4, bei dem die Kompressionsbaumberechnungsvorrichtung den Kompressionsbaum unter Verwendung eines Filters der Länge N berechnet und bei dem der Stapelspeicher einen getrennten Stapel enthält, der N Speicherstellen be­ sitzt, die jeder der Schichten des Kompressionsbaumes zugeordnet sind.
6. Datenkompressionssystem nach Anspruch 5, bei dem der Speicher ferner einen Auffüllstapel (pad­ ding stack) enthält.
7. Datenkompressionssystem nach Anspruch 6, bei dem der Auffüllstapel N-2 Speicherstellen enthält.
8. Datenkompressionssystem nach Anspruch 1, bei dem die Kompressionsbaumberechnungsvorrichtung ei­ nen Auffülldatenpunktgenerator enthält, der Auffüllda­ tenpunkte generiert, die einer bestimmten Schicht des Kompressionsbaumes zugeordnet sind, und zwar für die Verwendung bei der Berechnung von Anfangskoeffizienten einer Schicht des Kompressionsbaumes, die höher ist als die bestimmte Schicht.
9. Datenkompressionssystem nach Anspruch 8, bei dem der Auffülldatenpunktgenerator die Auffüllda­ tenpunkte für die bestimmte Schicht symmetrisch, gleich den Anfangskoeffizienten der bestimmten Schicht auffüllt.
10. Datenkompressionssystem nach Anspruch 1, bei dem der Kompressionsdatengenerator die komprimier­ ten Daten auswählt, die einen Satz enthalten, der alle die Kompressionsbaumkoeffizienten in dem Kompressions­ baum enthält, die dort, wo weitere Koeffizienten zu dem Kompressionsbaum hinzuzufügen sind, es erforder­ lich machen würden, direkt einen Koeffizienten einer höheren Schicht des Kompressionsbaumes zu berechnen, der jedoch nicht irgendwelche Koeffizienten zu enthal­ ten braucht, die vollständig aus den anderen Koeffizi­ enten innerhalb des Satzes berechnet werden können.
11. Datenkompressionssystem nach Anspruch 10, bei dem der Kompressionsdatengenerator ferner einen Indexgenerator enthält, der einen Index erzeugt, wel­ cher spezifiziert, welche Koeffizienten durch den Kom­ pressionsdatengenerator als komprimierte Daten ausge­ wählt werden.
12. Datenkompressionssystem nach Anspruch 11, bei dem der Indexgenerator einen Index erzeugt, der der Stelle in dem Kompressionsbaum des Koeffizienten entspricht, der durch den Kompressionsdatengenerator als Teil der komprimierten Daten ausgewählt wurde, der durch die Kompressionsbaumberechnungsvorrichtung zu­ letzt bestimmt worden ist.
13. Datenkompressionssystem nach Anspruch 1, ferner mit einem Komparator, der die bestimmten Koeffizienten mit einem Schwellenwert vergleicht und bei dem der Kompressionsdatengenerator die komprimier­ ten Daten auswählt, wenn der Komparator bestimmt, daß einer der vorbestimmten Koeffizienten größer ist als der Schwellenwert.
14. Datenkompressionssystem nach Anspruch 13, bei dem der Komparator einen vorbestimmten Schwellen­ wert für jede Schicht des Kompressionsbaumes spei­ chert, die größer ist als die Nullebenenschicht und der die Koeffizienten für eine bestimmte Schicht des Kompressionsbaumes mit dem gespeicherten Schwellenwert vergleicht, welcher dieser bestimmten Schicht zugeord­ net ist.
15. Datenkompressionssystem nach Anspruch 13, bei dem die Kompressionsbaumberechnungsvorrichtung ei­ nen ersten und einen zweiten Koeffizienten für jeden einer Anzahl von Punkten des Kompressionsbaumes bei Schichten berechnet, die größer sind als die Nullebe­ nenschicht, und bei dem der Speicher den ersten Koeffizienten für jede der Anzahl der Punkte darin speichert und der Komparator den zweiten Koeffizienten für jede der Anzahl der Punkte mit dem Schwellenwert vergleicht.
16. Datenkompressionssystem nach Anspruch 15, bei dem der erste Koeffizient aus einem Wavelet-Annä­ herungskoeffizienten und der zweite Koeffizient aus einem Wavelet-Detailkoeffizienten besteht.
17. Datenkompressionssystem nach Anspruch 1, ferner mit einem Komparator, der eine Fehlermeßgröße mit einem Schwellenwert vergleicht und bei dem der Kompressionsdatengenerator die komprimierten Daten auswählt, wenn der Komparator bestimmt, daß die Feh­ lermeßgröße größer ist als der Schwellenwert.
18. Datenkompressionssystem nach Anspruch 17, bei dem die Fehlermeßgröße aus einer örtlichen Punkt­ fehlermeßgröße besteht.
19. Datenkompressionssystem nach Anspruch 17, bei dem die Fehlermeßgröße aus einer Effektivwertfeh­ lermeßgröße besteht.
20. Datenkompressionssystem nach Anspruch 1, welches ferner eine Datendekompressionsvorrichtung mit einem Empfänger enthält, der die komprimierten Daten empfängt, mit einem Speicher, der die empfangenen kom­ primierten Daten speichert, und einem Umkehrkompressi­ onsbaumgenerator, der Punkte in dem Kompressionsbaum aus den gespeicherten komprimierten Daten berechnet, wenn jedes Datum der komprimierten Daten empfangen wird, um dadurch eine Annäherung des Stromes der Da­ tenpunkte wieder herzustellen.
21. Datenkompressionssystem nach Anspruch 1, bei dem die Kompressionsbaumberechnungsvorrichtung ei­ ne Reihe von Kompressionsbäumen unterschiedlicher Grö­ ßen aus den empfangenen Datenpunkten ermittelt.
22. In einem Computer implementierbare Datenkompressions­ routine für die Verwendung beim Komprimieren einer Reihe von Datenpunkten unter Verwendung eines Viel­ schicht-Kompressionsbaumes, der einen Satz von Baum­ punkten besitzt, wobei die Routine auf einem computer­ lesbaren Medium gespeichert ist und auf einer Compu­ tervorrichtung implementiert ist, um die folgenden Schritte durchzuführen:
Empfangen der Folge der Datenpunkte;
nach Empfang von jeder der Folgen der Datenpunkte, Durchführen eines Schrittes gemäß:
  • 1. Bestimmen von jedem Baumpunkt in dem Vielschicht- Kompressionsbaum, der aus dem empfangenen Daten­ punkt und aus früher gespeicherten Datenpunkten des Vielschicht-Kompressionsbaumes bestimmt wer­ den kann;
  • 2. Speichern der bestimmten Baumpunkte in dem Spei­ cher; und
  • 3. Durchführen einer Entscheidung, wenn die Kon­ struktion des Vielschicht-Kompressionsbaumes an­ gehalten werden sollte, durch Vergleichen eines Schwellenwertes mit einem Wert, der einem der be­ stimmten Baumpunkte zugeordnet ist; und
Entwickeln eines Satzes von komprimierten Daten aus den gespeicherten Baumpunkten, wenn die Routine die Entscheidung trifft, daß die Konstruktion des Kompres­ sionsbaumes basierend auf dem Vergleich angehalten oder abgebrochen werden sollte.
23. Datenkompressionsroutine nach Anspruch 22, bei der die Routine den Schritt durchführt, wonach be­ stimmt wird, daß der Vielschicht-Kompressionsbaum drei Punkte in einer Nullebenenschicht enthält, die gleich sind den empfangenen Datenpunkten und den Baumpunkten in einer oder in mehreren höheren Ebenenschichten, die aus den Baumpunkten in der Nullebenenschicht oder ei­ ner höheren Schicht bestimmt wurden.
24. Datenkompressionsroutine nach Anspruch 23, bei der der Schritt der Bestimmung die Schritte gemäß einem Berechnen eines ersten Koeffizienten und eines zweiten Koeffizienten für jeden der Baumpunkte des Vielschicht-Kompressionsbaumes in den Schichten um­ faßt, die größer sind als die Nullebenenschicht, und bei der der Schritt gemäß dem Speichern der bestimmten Baumpunkte in dem Speicher den Schritt gemäß einem Speichern des ersten Koeffizienten in dem Speicher enthält, welcher erste Koeffizient jedem bestimmten Baumpunkt zugeordnet ist.
25. Datenkompressionsroutine nach Anspruch 24, bei der der Schritt der Entscheidungsfindung den Schritt umfaßt, gemäß dem Vergleichen des zweiten Koeffizienten mit dem Schwellenwert, um zu bestimmen, ob die Konstruktion des Kompressionsbaumes angehalten werden sollte.
26. Datenkompressionsroutine nach Anspruch 22, bei der nach dem Empfang von jedem Datenpunkt die Rou­ tine ferner den Schritt durchführt, gemäß einer Besei­ tigung eines bestimmten Baumpunktes aus dem Speicher, wenn der bestimmte Baumpunkt nicht länger dazu benö­ tigt wird, um unmittelbar irgendeinen Baumpunkt in ei­ ner Schicht des Baumes zu bestimmen, die höher ist als die Schicht, die dem bestimmten Baumpunkt zugeordnet ist.
27. Datenkompressionsroutine nach Anspruch 22, bei der die Routine die empfangenen und ermittelten Baumpunkte in einem Stapelspeicher abspeichert.
28. Datenkompressionsroutine nach Anspruch 27, bei der der Vielschicht-Kompressionsbaum unter Verwen­ dung eines Filters der Länge N berechnet wird und bei der der Stapelspeicher einen getrennten Stapelspeicher mit N Speicherstellen für jede der Schichten des Viel­ schicht-Kompressionsbaumes enthält.
29. Datenkompressionsroutine nach Anspruch 22, bei der die Routine ferner die Schritte durchführt, gemäß Durchführen einer Auffüllung (padding) der Baum­ punkte für eine bestimmte Schicht des Vielschicht- Kompressionsbaumes, und welche die aufgefüllten Baum­ punkte, die der bestimmten Schicht des Vielschicht- Kompressionsbaumes zugeordnet sind, dazu verwendet, um anfängliche Baumpunkte einer Schicht des Vielschicht- Kompressionsbaumes zu ermitteln, die höher ist als die bestimmte Schicht.
30. Datenkompressionsroutine nach Anspruch 29, bei der die Routine ferner einen Schritt durchführt, gemäß der Erzeugung einer Vielzahl von Auffüllbaum­ punkten für die bestimmte Schicht des Kompressionsbau­ mes, um eine symmetrische Anpassung einer Vielzahl von anfänglichen Baumpunkten in der bestimmten Schicht zu erreichen.
31. Datenkompressionsroutine nach Anspruch 22, bei der die Routine ferner den Schritt durchführt, ge­ mäß einem Entwickeln der komprimierten Daten, die ei­ nen Satz enthalten, der alle die Baumpunkte in dem Kompressionsbaum enthält, die dort, wo weitere Baum­ punkte zu dem Kompressionsbaum hinzuzufügen sind, er­ forderlich sein würden, um direkt einen Baumpunkt ei­ ner höheren Schicht des Kompressionsbaumes zu berech­ nen, jedoch keinerlei Baumpunkte enthalten muß, die vollständig aus anderen Baumpunkten innerhalb des Sat­ zes berechnet werden können.
32. Datenkompressionsroutine nach Anspruch 31, bei der die Routine ferner den Schritt ausführt, gemäß einer Erzeugung eines Index, der der Stelle innerhalb des Kompressionsbaumes des Baumpunktes entspricht, der durch die Routine als ein Teil der komprimierten Daten ausgewählte wurde, der durch die Routine als ein Baum­ punkt in dem Kompressionsbaum zuletzt ermittelt worden ist.
33. Datenkompressionsroutine nach Anspruch 22, bei der der Schritt der Entscheidungsfindung einen Schritt gemäß einem Berechnen einer kumulativen Feh­ lermessung als Wert enthält.
34. Datenkompressionsroutine nach Anspruch 33, bei der die kumulative Fehlermessung aus einer Qua­ dratsummenfehlermessung besteht.
35. Datenkompressionsroutine nach Anspruch 33, bei der die kumulative Fehlermessung aus einer Effek­ tivwertfehlermessung besteht.
36. Datenkompressionsroutine nach Anspruch 22, bei der die Routine ferner einen Satz von komprimier­ ten Daten dadurch dekomprimiert, indem sie die Schrit­ te des sequentiellen Empfangens der komprimierten Da­ ten, Speichern der empfangenen komprimierten Daten in einem weiteren Speicher und generieren von Datenpunk­ ten aus den empfangenen komprimierten Daten durch­ führt, wenn die komprimierten Daten empfangen werden, indem sie einen Kompressionsbaum aus höheren Schichten oder niedrigen Schichten unter Verwendung der empfan­ genen komprimierten Daten bildet.
37. Verfahren zum Komprimieren von Daten unter Verwendung eines Wavelet-Kompressionsbaumes mit den folgenden Schritten:
  • 1. Empfangen einer Folge von Datenpunkten;
    nach dem Empfangen von jedem Datenpunkt,
    • 1. Speichern des Datenpunktes als einen Wert in ei­ nem momentanen Satz;
    • 2. rekursives Bestimmten eines Punktes einer höheren Schicht in dem Baum, wenn der Punkt der höheren Schicht aus den Werten des momentanen Satzes be­ stimmt werden kann;
    • 3. Durchführen eines Vergleichs für jeden bestimmten Punkt einer höheren Schicht eines Fehlerwertes, der dem Punkt der höheren Schicht zugeordnet ist, mit einem Schwellenwert; und
    • 4. wenn der Fehlerwert kleiner ist als der Schwel­ lenwert;
      • a) Speichern des Punktes der höheren Schicht als einen Wert in dem momentanen Satz; und
      • b) Entfernen von irgendwelchen nicht benötigten Werten aus dem momentanen Satz; und
Senden des momentanen Satzes als komprimierte Daten, wenn der Fehlerwert für irgendeinen Punkt einer höhe­ ren Schicht größer ist als der Schwellenwert.
38. Verfahren zum Komprimieren von Daten nach Anspruch 37, bei dem der Schritt des Sendens des momentanen Satzes von Daten den Schritt des Erzeugens eines Index um­ faßt, der dem momentanen Satz zugeordnet ist.
39. Verfahren zum Komprimieren von Daten nach Anspruch 38, bei dem der Schritt der Erzeugung eines Index den Schritt der Erzeugung eines Index umfaßt, der die Stelle in dem Baum des letzten Wertes, der zu dem mo­ mentanen Satz addiert wurde, spezifiziert.
40. Verfahren zum Komprimieren von Daten nach Anspruch 37, wonach der Schritt des Vergleichens den Schritt der Bestimmung des Fehlerwertes als einen akkumulativen Fehlerwert enthält, basierend auf all den Werten, die zu dem momentanen Satz hinzu addiert wurden.
41. Verfahren zum Komprimieren von Daten nach Anspruch 40, bei dem der kumulative Fehlerwert aus einem Effektiv­ wertfehlerwert besteht.
42. Datenkompressionssystem für die Verwendung in einem Prozeßregelnetzwerk mit einer Vielzahl von Prozeßsteu­ ervorrichtungen, die über einen Bus kommunikativ ver­ bunden sind, mit:
einer Datenkomprimierungsvorrichtung in wenigstens ei­ ner der Vielzahl der Prozeßsteuervorrichtungen, welche die Vorrichtungsdaten komprimiert, die durch eine der Vielzahl der Prozeßsteuervorrichtungen erzeugt werden, um komprimierte Daten zu erzeugen;
einer Kommunikationsvorrichtung in einer der Vielzahl der Prozeßsteuervorrichtungen, welche die komprimier­ ten Daten zu einer zweiten einen der Vielzahl der Pro­ zeßsteuervorrichtungen über den Bus überträgt; und
einer Datendekomprimierungseinheit, die in einer zwei­ ten einen der Vielzahl der Prozeßsteuervorrichtungen gelegen ist und die die komprimierten Daten dekompri­ miert, um die dekomprimierten Daten entsprechend den Vorrichtungsdaten zu erzeugen.
43. Datenkompressionssystem nach Anspruch 42, bei dem eine weitere eine der Vielzahl der Prozeßsteu­ ervorrichtungen aus einem Datenereignisspeicher (data historian) besteht, der eine Speichervorrichtung ent­ hält, die die komprimierten Daten speichern kann und bei dem die Kommunikationsvorrichtung die komprimier­ ten Daten zu dem Datenereignisspeicher über den Bus überträgt.
44. Datenkompressionssystem nach Anspruch 42, bei dem die zweite eine der Vielzahl der Prozeßsteuervorrichtungen aus einer Anwenderschnittstellenvorrichtung besteht, welche die dekomprimierten Daten darstellt.
45. Datenkompressionssystem nach Anspruch 42, bei dem die zweite eine der Vielzahl der Prozeßsteuer­ vorrichtungen aus einem Prozeßkontroller besteht.
46. Datenkompressionssystem nach Anspruch 42, bei dem die Datenkompressionsvorrichtung aus einer re­ kursiven Wavelet-Datenkompressionsvorrichtung besteht, die eine rekursive Wavelet-Datenkompressionstechnik verwendet, um die Vorrichtungsdaten zu komprimieren.
47. Datenkompressionssystem nach Anspruch 46, bei dem die Konstruktionseinrichtung eine Einrichtung enthält, um sequentiell die Vorrichtungsdaten zu emp­ fangen, und eine Einrichtung, um die Punkte in dem Kompressionsbaum von einem untergeordneten Satz der Vorrichtungsdaten zu bestimmen, wobei die Bestimmungs­ einrichtung einen oder mehrere Punkte in einer ersten und einer zweiten Schicht des Kompressionsbaumes be­ stimmt, bevor die Empfangseinrichtung all die Vorrich­ tungsdaten innerhalb des untergeordneten Satzes der Vorrichtungsdaten empfängt.
48. Datenkompressionssystem nach Anspruch 42, bei dem die zweite eine der Vielzahl der Prozeßsteuer­ vorrichtungen einen Prozessor enthält, der die kompri­ mierten Daten verarbeiten kann während die komprimier­ ten Daten in einem komprimierten Format vorliegen.
49. Datenkompressionssystem nach Anspruch 42, bei dem die Vorrichtungsdaten aus Videodaten bestehen.
50. Datenkompressionssystem für die Verwendung in einem Prozeßregelnetzwerk, mit einer Vielzahl von Bereichs­ vorrichtungen (field device) und einer Host-Vor­ richtung, die kommunikativ über einen Bus verbunden sind, mit:
einer Datenkompressionsvorrichtung, die in jeder einen der Vielzahl der Bereichsvorrichtungen gelegen ist, welche die Vorrichtungsdaten komprimiert, die durch die zugeordnete eine der Vielzahl der Bereichsvorrich­ tungen erzeugt wurden, um komprimierte Daten zu erzeu­ gen;
einer Kommunikationsvorrichtung, die in jeder einen der Vielzahl der Bereichsvorrichtungen gelegen ist, welche die komprimierten Daten zu der Host-Vorrichtung über den Bus überträgt; und
einer Datendekompressionseinheit, die in der Host-Vor­ richtung gelegen ist, welche die komprimierten Daten dekomprimiert, um dekomprimierte Daten zu erzeugen.
51. Datenkompressionssystem nach Anspruch 50, ferner mit einem Datenereignisspeicher (data histori­ an), der in der Host-Vorrichtung gelegen ist und einen Speicher besitzt, welcher die komprimierten Daten speichert, die über den Bus der Host-Vorrichtung zuge­ führt werden.
52. Datenkompressionssystem nach Anspruch 50, ferner mit einem Prozeßkontroller, der in der Host- Vorrichtung gelegen ist, welcher die dekomprimierten Daten verwendet, um eine Steuerung eines Prozesses zu bewirken.
53. Datenkompressionssystem nach Anspruch 50, bei dem jede der Datenkompressionsvorrichtungen aus einer rekursiven Wavelet-Datenkompressionsvorrichtung besteht, welche die Vorrichtungsdaten komprimiert, und zwar unter Verwendung einer rekursiven Wavelet-Daten­ kompressionstechnik.
54. Datenkompressionssystem nach Anspruch 53, bei dem jede der rekursiven Wavelet-Datenkompressions­ vorrichtungen die Vorrichtungsdaten in Realzeit kom­ primiert.
55. Datenkompressionssystem nach Anspruch 53, bei dem jede der rekursiven Wavelet-Datenkompressions­ vorrichtungen eine Einrichtung enthält, um sequentiell die Vorrichtungsdaten zu empfangen, die einem Kompres­ sionsbaum zugeordnet sind, und eine Einrichtung, um Punkte in dem Kompressionsbaum aus den empfangenen Da­ ten zu bestimmen, wobei die Bestimmungseinrichtung viele Punkte in dem Kompressionsbaum bestimmt, bevor die Empfangseinrichtung all die Vorrichtungsdaten emp­ fängt, die dem Kompressionsbaum zugeordnet sind.
56. Datenkompressionssystem nach Anspruch 50, bei dem die Vorrichtungsdaten, die einer der Vielzahl der Bereichsvorrichtungen zugeordnet sind, aus Video­ daten bestehen.
57. Verfahren zum Übertragen von Daten innerhalb eines Prozeßregelnetzwerks, welches eine Vielzahl von Pro­ zeßsteuervorrichtungen enthält, die kommunikativ durch einen Bus miteinander verbunden sind, wobei das Ver­ fahren die folgenden Schritte umfaßt:
Erzeugen von Daten in einer Vielzahl der Prozeßsteuer­ vorrichtungen;
Verarbeiten der in jeder der Vielzahl der Prozeßsteu­ ervorrichtungen generierten Daten;
Übertragen der komprimierten Daten von jeder der Viel­ zahl der Prozeßsteuervorrichtungen zu einer anderen einen der Vielzahl der Prozeßsteuervorrichtungen über den Bus;
Empfangen eines Abschnitts der komprimierten Daten von wenigstens einer der Vielzahl der Prozeßsteuervorrich­ tungen bei einer weiteren Prozeßsteuervorrichtung; und
Dekomprimieren der empfangenen komprimierten Daten an der weiteren Vorrichtung.
58. Verfahren nach Anspruch 57, bei dem der Schritt des Empfangens die Schritte ent­ hält, gemäß einem Empfangen der komprimierten Daten von jeder der Vielzahl der Prozeßsteuervorrichtungen an der weiteren Prozeßsteuervorrichtung und Speichern der empfangenen komprimierten Daten in einem Speicher in der weiteren Prozeßsteuervorrichtung.
59. Verfahren nach Anspruch 57, bei dem der Schritt der Komprimierung den Schritt der Komprimierung der Daten und der Verwendung einer re­ kursiven Wavelet-Datenkompressionstechnik enthält.
60. Verfahren für einen adaptiven Schwellenwertvergleich für die Verwendung in einer Datenverarbeitungsroutine, mit den folgenden Schritten:
Sammeln einer Folge von sequentiellen Datenpunkten;
nach dem Sammeln von jeder der Folgen der sequentiel­ len Datenpunkte, Bestimmen einer Summenfehlervariablen basierend auf den Datenpunkten innerhalb der gesammel­ ten Folgen der sequentiellen Datenpunkte; und
Vergleichen der Summenfehlervariablen mit einem Schwellenwert.
61. Verfahren nach Anspruch 60, bei dem der Schritt der Bestimmung der Summenfehlerva­ riablen und der Schritt des Vergleichens der Summen­ fehlervariablen mit dem Schwellenwert nach dem Empfang eines ersten Datenpunktes in der Folge der sequentiel­ len Datenpunkte und vor dem Empfang eines zweiten Da­ tenpunktes, der unmittelbar auf den ersten Datenpunkt in der Folge der sequentiellen Datenpunkte folgt, aus­ geführt werden.
62. Verfahren nach Anspruch 61, bei dem der Bestimmungsschritt den Schritt der Berech­ nung der Summenfehlervariablen in einer rekursiven Weise enthält.
63. Verfahren nach Anspruch 60, bei dem die Summenfehlervariable aus einer örtlichen Punktfehlervariablen besteht.
64. Verfahren nach Anspruch 60, bei dem die Summenfehlervariable aus einer Effektiv­ wertfehlervariablen besteht.
65. Verfahren nach Anspruch 60, bei dem die Summenfehlervariable aus einer Quadratsum­ menfehlervariablen besteht.
66. Verfahren nach Anspruch 60, ferner mit den Schritten gemäß einer Einstellung der Summenfehlervariablen auf Null und Sammeln von neuen Folgen der sequentiellen Datenpunkte, wenn die Summen­ fehlervariable größer ist als der Schwellenwert, und zwar bei dem Vergleichsschritt.
67. In einen Computer implementierbare Schwellenwerterver­ gleichroutine für die Verwendung in einem Prozeß, der eine Folge von sequentiellen Datenpunkten empfängt, wobei die Routine auf einem computerlesbaren Medium gespeichert ist und auf einer Computervorrichtung im­ plementierbar ist, um die folgenden Schritte durchzu­ führen:
Bestimmen einer Summenfehlervariablen basierend auf jedem der Datenpunkte innerhalb der gesammelten Folge der sequentiellen Datenpunkte; und
Vergleichen der Summenfehlervariablen mit einem Schwellenwert.
68. Auf einem Computer implementierbare Schwellenwertver­ gleichroutine nach Anspruch 67, bei der die Routine ferner die Schritte gemäß einer Bestimmung der Summenfehlervariablen und einem Ver­ gleich der Summenfehlervariablen mit dem Schwellenwert nach dem Empfang eines ersten Datenpunktes in der Fol­ ge der sequentiellen Datenpunkte, jedoch vor dem Emp­ fang eines zweiten Datenpunktes, der unmittelbar in der Folge der sequentiellen Datenpunkte auf den ersten Datenpunkt folgt, ausführt.
69. In einen Computer implementierbare Schwellenwertver­ gleichroutine nach Anspruch 67, bei der die Summenfeh­ lervariable aus einer örtlichen Punktfehlervariablen besteht.
70. In einen Computer implementierbare Schwellenwertver­ gleichroutine nach Anspruch 67, bei der die Summenfeh­ lervariable aus einer Effektivwertfehlervariablen be­ steht.
71. Auf einen Computer implementierbare Schwellenwertver­ gleichroutine nach Anspruch 67, bei der die Summenfeh­ lervariable aus einer Quadratsummenfehlervariablen be­ steht.
DE19928985A 1998-06-26 1999-06-24 Rekursive Online-Wavelet-Datenkompressionstechnik für die Verwendung bei der Datenspeicherung und bei Nachrichtenübermittlungen Withdrawn DE19928985A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/105,950 US6215907B1 (en) 1998-06-26 1998-06-26 Recursive on-line wavelet data compression technique for use in data storage and communications

Publications (1)

Publication Number Publication Date
DE19928985A1 true DE19928985A1 (de) 1999-12-30

Family

ID=22308692

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19928985A Withdrawn DE19928985A1 (de) 1998-06-26 1999-06-24 Rekursive Online-Wavelet-Datenkompressionstechnik für die Verwendung bei der Datenspeicherung und bei Nachrichtenübermittlungen

Country Status (4)

Country Link
US (1) US6215907B1 (de)
JP (3) JP4242008B2 (de)
DE (1) DE19928985A1 (de)
GB (1) GB2339126B (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10021286A1 (de) * 2000-05-02 2001-11-08 Kara Can Verfahren und Vorrichtung zur Kompression und/oder Dekompression von Daten
DE10258472B3 (de) * 2002-12-09 2004-05-13 Siemens Ag Verfahren zum Verarbeiten von digitalen Datenwerten
DE10021282B4 (de) * 2000-05-02 2007-04-26 Michael Soliman Verfahren und Vorrichtung zur Kompression und/oder Dekompression von Daten

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4146027B2 (ja) * 1999-04-05 2008-09-03 株式会社岩根研究所 情報変換システム
US6445963B1 (en) * 1999-10-04 2002-09-03 Fisher Rosemount Systems, Inc. Integrated advanced control blocks in process control systems
US7239424B1 (en) 2000-09-08 2007-07-03 Ricoh Co., Ltd. Wavelet-based image processing path
KR100423969B1 (ko) * 2001-11-16 2004-03-22 삼성전자주식회사 필드버스 인터페이스 보드 및 그 제어방법
US7370120B2 (en) * 2001-12-07 2008-05-06 Propel Software Corporation Method and system for reducing network latency in data communication
US6901300B2 (en) 2002-02-07 2005-05-31 Fisher-Rosemount Systems, Inc.. Adaptation of advanced process control blocks in response to variable process delay
DE10209734A1 (de) * 2002-03-06 2003-09-25 Endress & Hauser Gmbh & Co Kg Verfahren und Vorrichtung zum Reduzieren einer zu übertragenden Datenmenge von Prozessdaten
US7558873B1 (en) * 2002-05-08 2009-07-07 Nvidia Corporation Method for compressed large send
US7437548B1 (en) 2002-07-11 2008-10-14 Nvidia Corporation Network level protocol negotiation and operation
US7913294B1 (en) 2003-06-24 2011-03-22 Nvidia Corporation Network protocol processing for filtering packets
US7239253B1 (en) * 2003-09-18 2007-07-03 Intel Corporation Codec system and method
US7259482B2 (en) * 2003-09-24 2007-08-21 Belkin International, Inc. Distance extender and method making use of same
US7451004B2 (en) * 2005-09-30 2008-11-11 Fisher-Rosemount Systems, Inc. On-line adaptive model predictive control in a process control system
US8208554B2 (en) * 2006-12-07 2012-06-26 Qualcomm Incorporated Line-based video compression
US8108442B2 (en) * 2008-07-22 2012-01-31 Computer Associates Think, Inc. System for compression and storage of data
US8386412B2 (en) * 2008-12-12 2013-02-26 At&T Intellectual Property I, L.P. Methods and apparatus to construct histogram and wavelet synopses for probabilistic data
CN102098058B (zh) * 2010-11-12 2013-03-06 中南大学 时序数据实时高效线性压缩与解压缩方法
WO2012162116A1 (en) * 2011-05-20 2012-11-29 Littelfuse, Inc. Ac/dc current transformer
US8612402B1 (en) * 2012-10-26 2013-12-17 Stec, Inc. Systems and methods for managing key-value stores
US9531915B2 (en) 2013-12-04 2016-12-27 Aspeed Technology Inc. Image encoding system and method thereof
CN105680868B (zh) 2014-11-17 2019-04-12 华为技术有限公司 压缩流数据的方法及设备
JP2019515400A (ja) * 2016-05-16 2019-06-06 フィッシャー−ローズマウント システムズ,インコーポレイテッド プロセス制御システムにおけるマルチプロトコルフィールド装置
US10638013B2 (en) * 2016-06-09 2020-04-28 Chevron U.S.A. Inc. Automated wavelet-based data compression systems and methods
US10387991B2 (en) * 2016-07-01 2019-08-20 Intel Corporation Method and apparatus for frame buffer compression
US11222443B2 (en) * 2019-04-02 2022-01-11 Dotphoton Ag Image compression using image acquisition device characteristics

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5262958A (en) * 1991-04-05 1993-11-16 Texas Instruments Incorporated Spline-wavelet signal analyzers and methods for processing signals
JPH0563996A (ja) * 1991-09-02 1993-03-12 Ricoh Co Ltd 画像処理装置
US5717394A (en) * 1993-02-10 1998-02-10 Ricoh Company Ltd. Method and apparatus for encoding and decoding data
JPH06245280A (ja) * 1993-02-15 1994-09-02 Mitsubishi Electric Corp 情報伝送装置
JP3298029B2 (ja) * 1993-03-16 2002-07-02 株式会社日立製作所 映像表示制御方法、映像表示処理システム
IL107658A0 (en) 1993-11-18 1994-07-31 State Of Israel Ministy Of Def A system for compaction and reconstruction of wavelet data
AU699823B2 (en) * 1993-12-20 1998-12-17 Rodney John Smith Data compression system
JPH0887458A (ja) * 1994-09-14 1996-04-02 Toshiba Corp プロセス制御用データ伝送装置及びi/oバス伝送障害の除去方法
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US5867602A (en) * 1994-09-21 1999-02-02 Ricoh Corporation Reversible wavelet transform and embedded codestream manipulation
US5881176A (en) * 1994-09-21 1999-03-09 Ricoh Corporation Compression and decompression with wavelet style and binary style including quantization by device-dependent parser
US5651099A (en) 1995-01-26 1997-07-22 Hewlett-Packard Company Use of a genetic algorithm to optimize memory space
JP3350289B2 (ja) * 1995-06-08 2002-11-25 株式会社日立製作所 遠隔情報の送信方法及び送信装置
JP2000506686A (ja) * 1995-10-25 2000-05-30 サーノフ コーポレイション オーバラップブロック動き補償及びゼロツリーウェーブレット符号化を用いる低ビットレートビデオ符号化器
US5808683A (en) * 1995-10-26 1998-09-15 Sony Corporation Subband image coding and decoding
JPH09167010A (ja) * 1995-12-18 1997-06-24 Toshiba Corp プロセス監視装置
US5982434A (en) * 1996-03-22 1999-11-09 Sony Corporation Image signal coding method and device thereof, image signal decoding method and device thereof, and recording medium
JPH1042280A (ja) * 1996-07-24 1998-02-13 Mitsubishi Electric Corp 映像監視装置
US5982938A (en) 1997-03-31 1999-11-09 Iterated Systems, Inc. System and method for compressing data using differential coding of coefficient addresses
GB2324220B (en) 1997-04-11 2001-03-28 Nat Transcomm Ltd Data compression
WO1998056184A1 (en) 1997-06-05 1998-12-10 Wisconsin Alumni Research Foundation Image compression system using block transforms and tree-type coefficient truncation
JPH1198512A (ja) * 1997-09-18 1999-04-09 Sanyo Electric Co Ltd 画像符号化装置及び画像符号化方法
US6011871A (en) * 1997-10-09 2000-01-04 Bmc Software, Inc. Method and apparatus for compressing digital data
US6021228A (en) * 1997-10-14 2000-02-01 Netscape Communications Corporation Integer-only short-filter length signal analysis/synthesis method and apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10021286A1 (de) * 2000-05-02 2001-11-08 Kara Can Verfahren und Vorrichtung zur Kompression und/oder Dekompression von Daten
WO2001086819A1 (de) 2000-05-02 2001-11-15 Kara, Can Verfahren und vorrichtung zur kompression und/oder dekompression sowie zur analyse und darstellung von daten
US6839003B2 (en) 2000-05-02 2005-01-04 Michael Soliman Method and device for compressing and/or decompressing data as well as for analyzing and representing data
DE10021286B4 (de) * 2000-05-02 2005-03-10 Kara Can Verfahren und Vorrichtung zur Kompression und/oder Dekompression von Daten
DE10021282B4 (de) * 2000-05-02 2007-04-26 Michael Soliman Verfahren und Vorrichtung zur Kompression und/oder Dekompression von Daten
DE10258472B3 (de) * 2002-12-09 2004-05-13 Siemens Ag Verfahren zum Verarbeiten von digitalen Datenwerten

Also Published As

Publication number Publication date
US6215907B1 (en) 2001-04-10
JP2000068853A (ja) 2000-03-03
JP4875041B2 (ja) 2012-02-15
JP2009089399A (ja) 2009-04-23
GB2339126A (en) 2000-01-12
JP4870132B2 (ja) 2012-02-08
JP2009089400A (ja) 2009-04-23
GB2339126B (en) 2003-08-20
GB9910814D0 (en) 1999-07-07
JP4242008B2 (ja) 2009-03-18

Similar Documents

Publication Publication Date Title
DE19928985A1 (de) Rekursive Online-Wavelet-Datenkompressionstechnik für die Verwendung bei der Datenspeicherung und bei Nachrichtenübermittlungen
DE69725487T2 (de) Gitternetze mit veränderbarer Auflösung
DE69205690T2 (de) Verfahren und system zur herstellung und zum erhalt mehrerer dokumentversionen in einer datenverarbeitungsystembibliothek.
DE3686754T2 (de) Bilddatenkodierverfahren.
DE68923875T2 (de) Entropie-Kodierer/Dekodierer mit einem Kontextextrahierer.
DE60206801T2 (de) Verfahren zur übertragung von datenobjekten von einem server zu einem client-terminal, das sich einer verwaltung des cache bedient
DE69309732T2 (de) Verfahren und Vorrichtung ein Bild zu komprimieren und zu dekomprimieren
DE69931597T2 (de) Vorrichtung und verfahren zur datenumsetzung sowie entsprechender aufzeichnungsträger
DE68914331T2 (de) Vorrichtung zum Wiedergeben von digitalisierten Videobildern.
DE19932223A1 (de) Verfahren zum Verwalten veränderlicher Verkehrslasten in einem Telekommunikationsnetz
AT525294A1 (de) Verfahren zum Erzeugen einer hierarchischen Datenstruktur, hierarchische Datenstruktur sowie Verfahren zum Streamen von dreidimensionalen Objekten
DE69209676T2 (de) Vektorquantizierer unter Verwendung eines mit einem Kontinuitätszwang sortierten Kodebuches
DE69935410T2 (de) Verfahren und Anordnung zur Rauschimpulsverringerung in einem Signalverarbeitungssystem
EP1110407B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors
EP0577631B1 (de) Verfahren zur kompression von bilddaten
EP3396919A1 (de) Verfahren zur datenübertragung von einem gerät an ein datenverwaltungsmittel, vermittlungseinheit, gerät und system
WO1997050254A1 (de) Verfahren und vorrichtung zur bearbeitung von bildpunkten eines bildsegments durch einen rechner
DE19926315B4 (de) Kollaborative Beurteilung beim statistischen Kodieren
DE10393630B4 (de) Verfahren und System zur Kodierung der Konnekrivität eines Dreiecknetzes
DE10008055A1 (de) Verfahren zur Kompression von Daten
DE60002580T2 (de) 3d maschenkompression und -kodierung
EP1219106A1 (de) Verfahren zum komprimieren eines digitalen bildes mit mehreren bit-ebenen
DE69724885T2 (de) Bildkodierung beruhend auf Unterabtastung, Klassifizierung von Pixelblöcken und Zuordnung von Abbildungskoeffizienten
EP3410636A1 (de) Verfahren zur übertragung analyserelevanter daten, sender und system
DE10305129A1 (de) Kommunikations-Vorrichtung zum Verarbeiten von Daten, die von einem Netzwerk empfangen wurden

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8139 Disposal/non-payment of the annual fee