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übermittlungenInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Programmable Controllers (AREA)
- Compression Or Coding Systems Of Tv Signals (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
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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:
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 = {}
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:
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.
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)
- 1. erneuere die Sätze C und B wie folgt:
- 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
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.
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äß:
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
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
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.
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.
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.
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.
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.
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.
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)
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)
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 |
WO2008070843A2 (en) * | 2006-12-07 | 2008-06-12 | Qualcomm Incorporated | Line-based video rate control and 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 | 中南大学 | 时序数据实时高效线性压缩与解压缩方法 |
BR112013029615B1 (pt) * | 2011-05-20 | 2020-12-01 | Littelfuse, Inc. | circuito transformador de corrente, e método para configurar um circuito transformador de corrente |
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 | 华为技术有限公司 | 压缩流数据的方法及设备 |
US11108893B2 (en) | 2016-05-16 | 2021-08-31 | Fisher-Rosemount Systems, Inc. | Multi-protocol field device in process control systems |
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)
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 |
EP0737383A1 (de) * | 1993-12-20 | 1996-10-16 | Rodney John Smith | Datenkomprimierungssystem |
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 |
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 |
US5867602A (en) * | 1994-09-21 | 1999-02-02 | Ricoh Corporation | Reversible wavelet transform and embedded codestream manipulation |
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 | 株式会社日立製作所 | 遠隔情報の送信方法及び送信装置 |
DE69633129T2 (de) * | 1995-10-25 | 2005-08-04 | Sarnoff Corp. | Waveletbaum-bildcoder mit überlappenden bildblöcken |
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 |
AU8055798A (en) | 1997-06-05 | 1998-12-21 | 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 |
-
1998
- 1998-06-26 US US09/105,950 patent/US6215907B1/en not_active Expired - Lifetime
-
1999
- 1999-05-10 GB GB9910814A patent/GB2339126B/en not_active Expired - Fee Related
- 1999-06-24 DE DE19928985A patent/DE19928985A1/de not_active Withdrawn
- 1999-06-25 JP JP18006699A patent/JP4242008B2/ja not_active Expired - Fee Related
-
2008
- 2008-10-15 JP JP2008266733A patent/JP4875041B2/ja not_active Expired - Fee Related
- 2008-10-15 JP JP2008266735A patent/JP4870132B2/ja not_active Expired - Fee Related
Cited By (6)
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 |
---|---|
JP2000068853A (ja) | 2000-03-03 |
GB2339126B (en) | 2003-08-20 |
JP4242008B2 (ja) | 2009-03-18 |
US6215907B1 (en) | 2001-04-10 |
JP4875041B2 (ja) | 2012-02-15 |
JP2009089399A (ja) | 2009-04-23 |
JP2009089400A (ja) | 2009-04-23 |
GB9910814D0 (en) | 1999-07-07 |
GB2339126A (en) | 2000-01-12 |
JP4870132B2 (ja) | 2012-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19928985A1 (de) | Rekursive Online-Wavelet-Datenkompressionstechnik für die Verwendung bei der Datenspeicherung und bei Nachrichtenübermittlungen | |
DE69428979T2 (de) | Einrichtung und verfahren zur kodierung von bilddaten | |
DE69725487T2 (de) | Gitternetze mit veränderbarer Auflösung | |
DE69205690T2 (de) | Verfahren und system zur herstellung und zum erhalt mehrerer dokumentversionen in einer datenverarbeitungsystembibliothek. | |
DE69230255T2 (de) | Verfahren und vorrichtung zur dynamischen bandbreitenzuweisung in einer digitalen übertragungssitzung | |
DE3686754T2 (de) | Bilddatenkodierverfahren. | |
DE68923875T2 (de) | Entropie-Kodierer/Dekodierer mit einem Kontextextrahierer. | |
DE69803871T2 (de) | Fernsteuersystem mit minimierung der bildschirm-aktualisierungszeit durch auswahl des kompressionsalgorithmus | |
DE69324301T2 (de) | Bildverarbeitungsvorrichtung und -verfahren | |
DE69728757T2 (de) | Verfahren und Vorrichtung zum Kodieren eines Objektes unter Verwendung einer Konturbewegungsschätztechnik | |
DE69309732T2 (de) | Verfahren und Vorrichtung ein Bild zu komprimieren und zu dekomprimieren | |
DE69424923T2 (de) | Verfahren und Anordnung zur Bearbeitung eines dekodierten Bildsignals mit Verzerrung | |
DE69931597T2 (de) | Vorrichtung und verfahren zur datenumsetzung sowie entsprechender aufzeichnungsträger | |
DE68914331T2 (de) | Vorrichtung zum Wiedergeben von digitalisierten Videobildern. | |
DE69904843T2 (de) | Kompression- und kodierungsverfahren eines 3d maschennetzwerks | |
DE19932223A1 (de) | Verfahren zum Verwalten veränderlicher Verkehrslasten in einem Telekommunikationsnetz | |
DE69209676T2 (de) | Vektorquantizierer unter Verwendung eines mit einem Kontinuitätszwang sortierten Kodebuches | |
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 | |
DE10008055A1 (de) | Verfahren zur Kompression von Daten | |
DE60002580T2 (de) | 3d maschenkompression und -kodierung | |
DE69724885T2 (de) | Bildkodierung beruhend auf Unterabtastung, Klassifizierung von Pixelblöcken und Zuordnung von Abbildungskoeffizienten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8139 | Disposal/non-payment of the annual fee |