Gebiet der Erfindung
-
Die Erfindung betrifft ein Verfahren zum Speichern
multiparametrischer Daten und betrifft insbesondere ein Verfahren zum
Komprimieren multiparametrischer Daten, die in Listenform aus
einem Durchfluß- oder Bild-Zytometer erhalten werden.
Hintergrund der Erfindung
-
Bei der Partikelanalyse handelt es sich generell um die
Analyse von Zellen, Kernen, Chromosomen und anderer Partikeln mit
dem Zweck, die Partikeln als Mitglieder verschiedener
Populationen zu identifizieren und/oder die Partikeln in
verschiedene Populationen zu sortieren. Zu diesen Typ von Analyse gehört
die automatische Analyse mittels Fluß- oder Bild-Zytometrie.
In jedem der beiden Fälle kann der Partikel, z. B. eine Zelle,
mit einem oder mehreren Markern gekennzeichnet werden und dann
auf das Vorhandensein oder Nichtvorhandensein eines oder
mehrerer derartiger Marker hin untersucht werden. Im Falle einer
Zelle, z. B. einer Leukozyte, einer Tumorzelle oder eines
Mikroorganismus, kann der Marker auf Moleküle an der
Zelloberfläche oder auf Moleküle in dem Zytoplasma hinweisen. Durch
die Untersuchung der physikalischen Merkmale einer Zelle (etwa
Größe und Körnigkeit) sowie des Markers bzw. der Marker, mit
denen die Zelle gekennzeichnet ist, kann man zusätzliche
In
formation erhalten, die zum Identifizieren der Population
verwendbar ist, zu der eine Zelle gehört.
-
Die Zytometrie umfaßt eine bekannte Methodologie, bei der
Multiparameter-Daten verwendet werden, um verschiedene Zell-
Typen in einer Probe zu identifizieren und voneinander zu
unterscheiden. Beispielsweise kann die Probe aus einer Vielzahl
biologischer Fluide, z. B. Blut, Lymphe oder Urin, entnommen
sein, oder sie kann aus Suspensionen von Zellen aus Geweben,
z. B. Gehirn, Lymphknoten, Colon, Lunge, Brust, Niere oder
Leber abgeleitet sein. Bei einem Durchfluß-Zytometer werden
Zellen im wesentlichen einzeln durch einen oder mehrere
Detektionsbereiche hindurchgeführt, wobei in jedem Bereich jede
Zelle von einer Energiequelle beleuchtet wird. Die
Energiequelle weist generell eine Beleuchtungsquelle auf, die Licht
einer einzigen Wellenlänge ausgibt, z. B. von einem Laser (etwa
einem He/Ne- oder Argon-Laser) oder einer Quecksilberlampe mit
geeigneten Filtern ausgegebenes Licht.
-
In Reihe mit einem Abtastbereich werden mehrere
Lichtsammeleinrichtungen, z. B. Fotovervielfacherröhren, verwendet, um
Licht, das durch jede Zelle hindurchtritt (generell als
Vorwärtsstreulicht bezeichnet), und Licht, das rechtwinklig zur
Richtung der Strömung der Zellen durch den Detektionsbereich
reflektiert wird (generell als Orthogonal- oder
Seiten-Lichtstreuung bezeichnet), separat aufzuzeichnen, und es werden
eine oder mehrere Lichtsammeleinrichtungen verwendet, um
fluoreszentes Licht, das - falls es durch einen oder mehrere
fluoreszente Marker gekennzeichnet ist - von der Zelle ausgegeben
werden kann, separat aufzuzeichnen, während das Licht durch
den Detektionsbereich hindurchtritt und von der Energiequelle
beleuchtet wird. Jede der Vorwärtslichtstreuungs- ("FSC"-),
Orthogonallichtstreuungs- ("SSC"-) und Fluoreszenz-Emissionen
("FL1", "FL2" etc.) weist einen separaten Parameter für jede
Zelle (oder jedes "Ereignis") auf. Somit können z. B. bis zu
vier Parameter aus einer Zelle gesammelt (und aufgezeichnet)
werden, welche mit zwei unterschiedlichen Fluoreszenz-Markern
gekennzeichnet ist, und bis zu fünf Parametern können aus
Zellen gesammelt werden, welche mit drei unterschiedlichen
Fluoreszenz-Markern gekennzeichnet sind. Sämtliche Daten für ein
Ereignis können zu einem "Ereignisvektor" addiert werden.
-
Durchfluß-Zytometer weisen Einrichtungen zum Erfassen,
Analysieren und Aufzeichnen von Daten auf, z. B. einen Computer, bei
denen mehrere Daten-Kanäle die Lichtstreuung und Fluoreszenz
erfassen, die von jeder Zelle während deren Hindurchbewegung
durch den Detektionsbereich ausgesandt wird. Der Zweck des
Analysesystems besteht darin, Zellen zu klassifizieren und zu
zählen, wobei sich jede Zelle selbst als ein Satz
digitalisierter Parameterwerte darstellt. Typischerweise werden bei
derzeitigen Analyseverfahren in Echtzeit gesammelte (oder zur
späteren Analyse, d. h. in Auflistungs-Betriebsart,
aufgezeichnete) Daten zwecks erleichterter Visualisierung in einem 2-D-
Raum abgebildet. Derartige Abbildungen werden als
Punkt-Diagramme bezeichnet, und ein typisches Beispiel eines
Punkt-Diagramms, das aus für Leukozyten aufgezeichneten
Lichtstreuungsdaten erstellt ist, ist in Fig. 1 von U. S.-Pat. Nr. 4,987,086
gezeigt. Durch Aufzeichnen des Orthogonal-Streulichtes
gegenüber dem Vorwärtsstreulicht kann man in einer vom
vollständigen Blut getrennten Population von Leukozyten eine
Unterscheidung zwischen Granulozyten, Monozyten und Lymphozyten treffen.
Indem z. B. unter Verwendung von Lichtstreuung ausschließlich
Leukozyten elektronisch (oder manuell) "durchgelassen" werden,
und indem die geeigneten monoklonalen Antikörper verwendet
werden, die mit Fluorochromen unterschiedlicher
Ausgabewellenlängen gekennzeichnet sind, kann man weiter zwischen
Zell-Typen innerhalb der Lymphozyten-Population unterscheiden (z. B.
zwischen T-Helfer-Zellen und zytotoxischen T-Zellen). Die
U. S.-Patente Nr. 4,727,020, 4,704,891, 4,599,307 und 4,987,086
beschreiben die Anordnung der einzelnen Komponenten, die ein
Durchfluß-Zytometer bilden, die allgemeinen
Verwendungsprinzi
pien und einen Ansatz zum Durchlaß von Zellen zwecks
Diskriminieren zwischen Populationen.
-
Das Führen von Rohdateien mit Listen von
Multiparameter-Ereignisvektoren kann unpraktikabel sein. Beispielsweise
beansprucht eine einzige Datei für 10.000 Leukozyten, wenn für
jede Zelle fünf unabhängige Messungen mit einer Auflösung von
10 Bit vorgesehen sind, die Anzahl von 100,000 Bytes. Bereits
bei der Durchführung eines kompletten Routine-Immonoassays
mittels Fluß-Zytometrie nur einer einzigen Patienten-Probe
werden mehrere derartige Dateien gesammelt. In einem Labor mit
großen Bezugsdateien ist es nicht unüblich, daß sich täglich
mehrere Hundert derartiger Mehrfachdateien-Aufzeichnungen
ansammeln.
-
Das Problem der Daten-Handhabung, das sich aus dem Umfang
dieser in Listenform erstellten Datensätze ergibt, kann
beträchtlich reduziert werden, indem entweder zum Zeitpunkt der
Datensammlung oder später jede Datei in ein komprimiertes Format
umgesetzt wird. Herkömmlicherweise werden die komprimierten
Daten dekomprimiert (d. h. hinsichtlich Größe und Format in den
ursprünglichen Zustand zurückversetzt), bevor sie analysiert
werden können. Diese Notwendigkeit kann jedoch entfallen,
falls die komprimierten Daten in einem Format vorliegen, das
für die gleichen Typen von Verarbeitungsvorgängen geeignet
ist, die an unkomprimierten Daten durchgeführt werden. Dieses
Merkmal bietet den Vorteil, daß die Datei nie "re-inflatiert"
zu werden braucht, um verwendbar zu sein (d. h. die Kompression
kann als permanent betrachtet werden).
-
Während der Vorteil der Kompression von Dateien normalerweise
zwecks kompakterer Archivierung von Routine-Daten ausgenutzt
wird, kann die Kompression von Dateien alternativ auch dazu
verwendet werden, die Anzahl von Ereignissen zu erhöhen, die
man aufzeichnen und analysieren kann, wenn die vertretbare
Dateiengröße praktischen Begrenzungen unterliegt. Falls der
Kom
pressionsfaktor (d. h. die Größe der ursprünglichen Datei,
dividiert durch die Größe der komprimierten Datei) z. B. 10X
beträgt und irgendein medizinischer Zweck darin liegt, 10X so
viele Ereignisse zu untersuchen (z. B. beim Fahnden nach
minimalem Rest-Krebs oder bei einem ähnlichen Problem im
Zusammenhang mit seltenen Ereignissen), dann besteht ein nutzbarer
Vorteil der Kompression darin, daß die derzeitige durch
Speicherfaktoren diktierte Decke, denen die Anzahl von Ereignissen
pro Aufzeichnung unterworfen ist, erhöht wird.
-
Bei der Beurteilung des Wertes konkurrierender
Datenkompressionsverfahren bilden der Kompressionsfaktor und die
Wiederherstellungstreue die vorrangigen Auswertungskriterien,
während die Kompressionsgeschwindigkeit, die
Dekompressionsgeschwindigkeit und der Kurzzeit-Speicherbedarf, die für beide
Vorgänge erforderlich sind, sekundäre Kriterien sind, welche
wichtig genug sind, um als Akzeptanzkriterien berücksichtigt
zu werden.
-
Auf der Basis der Wiederherstellungstreue (d. h. die Exaktheit,
mit der die dekomprimierten Daten den Original-Daten
entsprechen) wird ein Wiederherstellungsverfahren entweder als
"verlustlos" (d. h. bei exakter bitweiser Wiederherstellung der
Original-Daten) oder "verlustbehaftet" klassifiziert (d. h. bei
einer inexakten Wiederherstellung, bei der die signifikanteste
Information erhalten bleibt und die weniger signifikante
Information zugunsten eines höheren Kompressionsfaktors
aufgegeben wird). Generell erfolgt die verlustlose Kompression unter
Ausnutzung der inhärenten Redundanz des Original-Datenformats,
wobei in dem komprimierten Format sämtliche derartige
Redundanz herausgepreßt wird. Die verlustbehaftete Kompression geht
einen Schritt weiter, indem sie die relative Signifikanz
derjenigen Teile ausnutzt, die nach dem Beseitigen sämtlicher
Redundanz verbleiben, und vorzugsweise die am meisten
signifikantesten Teile der Information zwecks späterer Rückgewinnung
beibehält.
-
Die Erfindung bietet eine Anzahl von Vorteilen gegenüber
existierenden Datenkompressionsverfahren. Beispielsweise kann
sowohl bei der verlustlosen Kompression als auch bei der
verlustbehafteten Kompression der Benutzer die Anzahl der Bits
niedrigster Signifikanz ("LSBs") bestimmen, die bei jeder
Parameter-Messung (z. B. bei dem Flußzytometrie-Kanalwert)
ausgeschlossen werden sollen. Falls die Wahl "null" lautet, dann
werden die Daten exakt wiederhergestellt. Falls der gewählte
Betrag größer als null ist, dann erfolgt ein Trimmen der Bits
niedrigster Signifikanz bzw. Wertigkeit, und bei der
Dekompression werden die getrimmten Bits zufallsorientiert ersetzt.
Ein Bit-Trimmen ermöglicht einen höheren Kompressionsfaktor
als im Falle einer verlustlosen Kompression; somit kann der
Benutzer einen Kompromiß zwischen der Exaktheit des
wiederhergestellten Vektors und dem Kompressionsfaktor treffen.
-
Der hier verwendete Dekompressionsschritt ist relativ einfach
und kann schnell durchgeführt werden, so daß die Wartezeit,
die mit Vorgang des Datenzugriffs einhergeht, wenn die Daten
in komprimierter Form gespeichert sind und zur Benutzung
dekomprimiert werden müssen, minimiert wird.
-
Jedes Verfahren zum Analysieren von Daten, das nur einen
sequentiellen Zugriff auf die Ereignisvektoren erfordert und
unabhängig von der Ereignis-Reihenfolge das gleiche Ergebnis
erbringt, kann derart angepaßt werden, daß es eine Analyse
direkt anhand des komprimierten Formats durchführt. In dem
Dekompressionsschritt ist ein spezialisierter Iterator
vorgesehen, um während des sequentiellen Lesens aus der
komprimierten Datei Ereignisse zu adressieren; der Iterator kann in
existierende Analyse-Algorithmen, bei denen ein sequentieller
Zugriff auf Ereignisvektoren ausreichend ist, eingefügt werden.
(Bei Analyse-Verfahren, die einen Direktzugriff auf die
Ereignisvektoren verlangen, ist es erforderlich, daß die Daten in
dekomprimierter Form vorliegen.) In Fällen, in denen die
Datenanalyse an komprimierten Daten vorgenommen werden kann,
kann die Kompression ein unumkehrbarer Vorgang sein, der die
Größe der Datei permanent reduziert.
-
Bei der verlustbehafteten Kompression ist der jeder Parameter-
Messung zuschreibbare Fehler klar begrenzt, und der bei einer
Population ähnlicher Ereignisvektoren zu erwartende Fehler ist
bei einem vorgegebenen Vertrauensintervall klein und
vorhersehbar.
-
Bei der Erfindung wird die Reihenfolge der Ereignisvektoren,
in der diese in der Original-Datei auftreten, in der
dekomprimierten Datei verwürfelt. Bei dem vorliegenden Verfahren wird
ein Teil des Kompressionsfaktors aufgrund eines Verlustes an
Ereignis-Reihenfolge erzielt.
-
Bei dem Verfahren steigt der Kompressionsfaktor mit der
Mehrfachraum-Negentropie (Musterung, Clusterung) jeder Datei an.
Beispielsweise ermöglichen Aufzeichnungen, die dichte
Populationen mit niedrigem C. V. enthalten (z. B. Kalibrierungs-Perlen
rote Blutkörperchen) höhere Kompressionsfaktoren als
Aufzeichnungen, bei denen die Populationen unscharf, verschwommen
und/oder diffus sind.
-
Bei einem stationären Datengenerator (einem Generator, dem
stabile Statistiken zugrundeliegen) erhöht sich der mit dem
beanspruchten Verfahren erzielbare Kompressionsfaktor, was
auch für die Anzahl der aufgezeichneten Ereignisvektoren gilt.
-
Im Vergleich mit Bitverdichtungsverfahren (bei denen ein
Vergleich zwischen Daten dieses Typs getroffen wird, indem
sämtliche nicht verwendeten Bits und getrimmten Bits entfernt
werden) ermöglicht das Verfahren höhere Kompressionsfaktoren, die
ungefähr um einen Faktor 2 vergrößert sind.
-
Im Vergleich zu Mehrfachraum-Histogramm-Sortierverfahren (bei
denen die Anzahlen exakt übereinstimmender Ereignisse bei den
n-meist signifikantesten Bits gezählt werden, wobei die
verbleibenden, am wenigsten signifikantesten Bits
notwendigerweise getrimmt worden sind, um die kombinatorische Explosion von
Histogramm-Zuordnungsgruppen in Grenzen zu halten), erfordert
das Verfahren kein Bit-Trimmen als Vorbedingung für die
Kompression.
Überblick über die Erfindung
-
Die Erfindung betrifft ein Verfahren zum Speichern
multiparametrischer Daten. Das Verfahren gemäß der Erfindung enthält
Kompressions- und Dekompressionsschritte. Der
Kompressionsschritt weist drei Transformationen auf, die an den in
Listenform vorliegenden Daten ausgeführt werden:
-
a) Transformieren von Ereignisvektoren in holographische
Form;
-
b) Sortieren der Liste holographischer Ereignisvektoren; und
-
c) Differenz-Kodieren und Lauflängen-Kodieren der sortierten
Liste.
-
Der Dekompressionsschritt weist drei inverse Transformationen
auf, die an der komprimierten, in Listenform vorliegenden
Datenaufzeichnung ausgeführt werden:
-
a) Differenz- und Lauflängen-Dekodieren;
-
b) zufallsorientiertes Verwürfeln der Ereignis-Reihenfolge;
und
-
c) Rücktransformieren der holographischen Ereignisvektoren in
die ursprüngliche Form.
-
In Listenform vorliegende Daten, z. B. FSC, SSC, FL1 und FL2,
die aus einer mit zwei fluoreszent markierten monoklonalen
Antikörpern gekennzeichneten Zell-Probe erhalten und z. B. mit
einem Durchfluß-Zytometer analysiert worden sind, werden
mittels des Verfahrens gemäß der Erfindung in Echtzeit
komprimiert. Die gespeicherten komprimierten Daten können dann zu
einem späteren Zeitpunkt analysiert werden, um zwischen sowie
innerhalb verschiedener Zell-Populationen in der Probe
diskriminieren zu können. Zu den anschließend an derartigen Daten
ausführbaren Analyseverfahren zählen Verfahren gemäß U. S.-Pat.
Nr. 4,727,020.
Kurzbeschreibung der Zeichnung
-
Fig. 1 zeigt eine Reihe von 2D-Streudiagrammen für eine
Bivarianten-Projektion einer listenweisen Aufzeichnung von Daten
mit 15.000 Ereignissen · 5 Parameter · 10 Bits, und zwar in
der ursprünglichen Form (A) der Aufzeichnung, nach
Durchführung verlustloser Kompression und Dekompression (B), bei
Verlustbehafteter Durchführung mit Trimmung eines Bits
niedrigster Signifikanz ("LSB") (C), Trimmung von 2 LSBs (D),
Trimmung von 3 LSBs (E), Trimmung von 4 LSBs (F), Trimmung von 5
LSBs (G) und Trimmung von 6 LSBs (H).
Detaillierte Beschreibung
-
Gemäß Fig. 1 wurden in Listenform vorliegende Daten unter
Verwendung von FACScan Research Software (Becton Dickinson
Immunocytometry Systems, "BDIS") in einem Computer des Typs HP 340
aufgezeichnet und gespeichert. Die Daten wurden einer Probe
lysierter, ungewaschener ganzer Blutkörperchenzellen
entnommen, die mit fluroreszent markierten monoklonalen Antikörpern
(BDIS), und zwar CD3 FITC, CD16/56 PE und CD19 PerCp
gekennzeichnet worden waren. Die Probe wurde in einem
Durchflußzyto
meter der Marke FACScan analysiert, in dem FSC, SSC, FL1, FL2
und FL3 für jedes Ereignis aufgezeichnet wurden. Die Daten
wurden mittels FACSNet-Software (BDIS) auf einen Macintosh
Quadra 950 übertragen und mittels Software, bei der das
Verfahren gemäß der Erfindung verwendet wurde, komprimiert,
dekomprimiert und abgebildet.
-
Da die Diagramm-Auflösung fest auf 7 Bit (128 Pixel) liegt,
bleiben die Auflösungs-Ungenauigkeiten, die den ersten drei
verlustbehafteten Fällen zuzuschreiben sind, unbemerkt; vgl.
Fig. 1(A) - (C). Die Kompressionsfaktoren bei sämtlichen
Beispielen ergeben sind die folgenden:
-
(A) 10-Bit-Original-Daten (B) 2,4X verlustlos
-
(C) 2,8X, 1 Bit getrimmt (D) 3,4X, 2 Bits getrimmt
-
(E) 4,3X, 3 Bits getrimmt (F) 5,6X, 4 Bits getrimmt
-
(G) 7,2X, 5 Bits getrimmt (H) 16X, 6 Bits getrimmt
-
Aus einem Vergleich der Fig. 1(C)-(H) ist ersichtlich, daß
Kompression und Dekompression von Daten nicht zu einer
statistisch signifikanten Veränderung bei der Analyse der aus Fig.
1(A) bestimmten Probe führen. Somit kann in Abhängigkeit von
dem gewünschten Niveau der Empfindlichkeit, das für die
Datenanalyse benötigt wird, das hier angewandte Verfahren gemäß der
Erfindung verwendet werden, ohne das Ergebnis, das kritisch
für die praktische Anwendung der Erfindung ist, negativ zu
beeinflussen.
-
Das Verfahren gemäß der Erfindung kann generell als Verfahren
zur Datenkompression bezeichnet werden. Es weist zwei
grundsätzliche Schritte auf: Datenkompression und
Datendekompression. In dem ersten Schritt wird die Bitfolge jedes
Roh-Ereignisvektors neugeordnet, wobei die stärkste
Mehrfachraum-Positionsinformation ("Bits") an dem linken Ende des
Ergebnisvektors und die schwächste Mehrfachraum = Positionsinformation an
dem entgegengesetzten Ende konzentriert wird. Der
Ergebnis
vektor wird als "holographische" Transformation des Eingangs-
Ergebnisvektors in dem Sinne bezeichnet, daß die in jedem
seiner Parameter-Felder enthaltenen Bits über den gesamten
Ergebnisvektor verwischt ("verteilt") werden. Diese Transformation
ist invertierbar (wobei das Inversionsergebnis später bei der
Dekompression benötigt wird).
-
In Tabelle 1 sind Ereignisse, Ereignisvektoren für fünf
Parameterdaten und eine holographische Transformation der
Ereignisvektoren für ein hypothetisches Beispiel gezeigt. Die
holographische Transformation konkateniert die signifikantesten
Bits aus sämtlichen fünf Parametern in einen (mit C1
gekennzeichneten) Chunk. Die Bits zweithöchster Signifikanz werden
in einen Chunk C2 neugruppiert usw., wobei am Ende die am
wenigsten signifikanten Bits sämtlicher fünf Parameter
konkateniert werden, um einen Chunk C10 zu bilden. Der holographische
Ereignisvektor besteht aus 10 Chunks (einem Chunk für jedes
Bit in dem Parameter-Feld des Eingabevektors), wobei jedes
Chunk fünf Bits aufweist (einen für jeden Parameter bei dem
Eingabevektor). Das signifikanteste Chunk ("MSC") enthält die
signifikanteste Positionalinformation über die Position des
Ereignisvektors in dem 5D-Raum, und das Chunk niedrigster
Signifikanz ("LSC") enthält die am wenigsten signifikante
Positionalinformation.
-
In dem zweiten Schritt des Kompressionsverfahrens werden die
Ereignisvektoren in holographischer Form sortiert, ohne daß
die Parameter in eine Rangordnung gebracht zu werden brauchen
(da sie verwischt worden sind). Bei dem sortierten Auflisten
organisieren sich ähnliche Mehrfachraum-Ereignisvektoren (d. h.
Daten-Cluster) selbstätig in Abfolgen, die die Möglichkeit
bieten, eine Differenz-Kodierung und eine Lauflängen-Kodierung
auszuwerten. Tabelle 2 zeigt die Liste sortierter
holographischer Ereignisvektoren (erzeugt durch den gleichen
Datengenerator wie in der obigen Tabelle 1) und die Liste der
zugehörigen Differenz-Vektoren. In der sortierten holographischen Form
ist die Homogenität der Ereignisvektoren offensichtlich. Nur
Ereignisse, die von einem der vier Cluster ausgehen, sind zu
Beginn der sortierten Liste wiedergegeben. Als Ergebnis dieses
zweiten Schritts sind die Daten bereit zur Anwendung der
Vektordifferenz-Kodierung und der Lauflängen-Kodierung.
-
In dem dritten Kompressionsschritt wird die sortierte Liste
holographischer Vektoren mittels Standard-Kodierungstechniken
in einen Differenzkodierungs-Keimwert, eine
Differenzkodierungs-Längen-Liste, einen Differenzkodierungs-Stapel, eine
Lauflängen-Liste und einen Prüfsummenvektor transformiert, die
zusammengenommen eine komprimierte Transformation der
ursprünglichen Ereignisvektor-Aufzeichnung bilden. Diese Daten-
Objekte werden (zusammen mit der von der Original-Datei
übernommenen Daten-Identifikation) als komprimierte Datei
gespeichert.
-
Ein Differenz-Code arbeitet generell in der folgenden Weise
(zu den Zwecken dieses Beispiels werden nur univariante
Abfolgen betrachtet). Für eine sortierte Liste von Zahlen
-
12 22 33 34 40 42 65 100
-
wird jeder Eintrag als Differenz zwischen sich selbst und
seinem Vorgänger kodiert. Dies ergibt die folgende Abfolge:
-
Zum Dekodieren beginnt man mit dem Keimwert (dem ersten Wert)
und addiert iterativ Differenzcode-Werte hinzu, um jedes
nachfolgende Element in der Original-Liste zu errechnen. Das
letzte Element wird als "Prüfsumme" beibehalten, um die
Korrektheit des Verdichtungsvorgangs zu gewährleisten. Falls die
Differenz-Codes im Vergleich zu den Werten klein sind, ergibt der
Differenz-Code eine effiziente Kompression. Die
Differenz-Vek
toren in Tabelle 2 zeigen eine derartige
Kompressionsgelegenheit. Sämtliche führenden Nullen dieser Differenz-Vektoren
werden abgeschnitten, was eine Reduktion von ungefähr 2X des
Speicherraumes ermöglicht, der erforderlich ist, um diese
Ereignisvektoren korrekt zu erinnern (mit voller
10-Bit-Genauigkeit).
-
Als Mittel zum Erreichen noch höherer Kompressionsfaktoren
bietet das Verfahren der Erfindung die Möglichkeit, eine
variable Anzahl der am wenigsten signifikanten Bits von jedem
Parameter-Wert aufzugeben, wobei diese Bits bei der
Dekompression zufallsorientiert ersetzt werden. Aus Tabelle 3 ist
ersichtlich, wie das Bit-Trimmen die Kompression verstärkt. Die
holographische Kompression zieht Bits, die die gleiche
numerische Signifikanz (innerhalb ihrer jeweiligen Parameter)
aufweisen, in das gleiche Chunk zusammen. Die am wenigsten
signifikanten drei Bits der Parameter-Werte werden in dem am
wenigsten signifikanten Chunks des holographischen Vektors
isoliert. Das Aufgeben dieser Bits wird übersetzt in eine Nullung
der ihnen zugehörigen Chunks im holgraphischen Raum. Auch die
Differenz-Vektoren verlieren in ähnlicher Weise ihre am
wenigsten signifikanten drei Bits, wodurch die Anzahl von Chunks,
die als Differenz-Codes gespeichert werden müssen, annähernd
halbiert wird.
-
Sowohl eine Daten-Homogenität als auch das Bit-Trimmen können
identische Ereignisse ergeben, die in der sortierten
holographischen Vektor-Liste als zusammenhängend erscheinen (siehe
die unterstrichenen Vektoren in Tabelle 3). Eine Standard-
Technik zum Handhaben von Abläufen aus identischen Ereignissen
besteht in der Lauflängen-Kodierung. Es wird einfach ein
Zählwert identischer Ereignisse in einem Durchlauf akkumuliert und
anschließend einer Lauflängen-Liste hinzugefügt. In dem
Differenz-Code wird ein Symbol plaziert, welches anzeigt, daß
während der Dekompression die Lauflängen-Liste an diesem Punkt
konsultiert werden sollte und dementsprechend eine
Wiederholung des Ereignisses veranlaßt werden sollte.
-
Bei den Differenz-Vektoren gemäß Tabelle 3 sind die
Kompressivmechanismen des Verfahrens summiert. Die führenden Nullen
bezeichnen die Gleichzeitigkeit, die ein Cluster verschiedener
Vektoren gemeinsam aufweist. Ein Erhöhen der Homogenität der
Population (d. h. Muster, Negentropie) greift die Nicht-Null-
Einträge von ihrer linken Flanke her an. Ein Bit-Trimmen
verkürzt die Nicht-Null-Einträge an ihrer rechten Flanke, wobei
die Bits der Original-Meßwerte aufgegeben werden, die
(höchstwahrscheinlich) die am wenigstens wertvolle Information
repräsentieren. Der Bereich (fettgedruckter Text) links in der
Mitte repräsentiert den nichtredundanten Informationsgehalt der
Original-Datenaufzeichnung. Wenn die fortschreitenden Nullen
von beiden Flanken aufeinandertreffen, treten identische
Ereignisse auf, und diese brauchen nur durch ihre Lauflänge
repräsentiert zu werden.
-
Der vervollständigte Code für die obige Abfolge von Vektoren
besteht aus den folgenden Skalaren und Listen:
-
Die "Differenzlängen-Liste" gibt
an, wie viele Chunks für
jedes Ereignis dem "Differenzcode-Stapel" hinzugefügt wurden.
Ein Null-Eintrag in der "Differenzlängen-Liste" bedeutet, daß
identische Ereignisse erfolgt sind und daß die Lauflänge der
Lauflängen-Liste hinzugefügt wurde. Der
"Differenzcode-Keimwert" gibt das erste holographische Ereignis an, das benötigt
wurde, um das Dekodieren des Differenz-Code zu beginnen, und
die "Differenzcode-Prüfsumme" gibt den letzten holographischen
Vektor als Mittel zur Fehlerdetektion beim Abschluß des
Dekodierens an.
-
Während des Schreibens dieser Datenstrukturen in die Datei
wird zur Erhöhung der Dichte der gespeicherten Information
eine Bitverdichtung verwendet, bei der sämtliche unbenutzten
Bit-Positionen beseitigt werden. Falls z. B. die Chunks, die
den Differenzcode-Stapel aufweisen, 5-Bit-Einheiten sind, die
in dem RAM-Speicher als 8-Bit-Bytes vorhanden sind, dann
werden die nicht benutzten 3 Bits während des Vorgangs des
Schreibens der komprimierten Datei abgetrennt. Wenn eine
dekomprimierte Datei zurück in den Speicher gelesen wird, werden
dieses Bits zurückgepackt, so daß die Listen-Elemente wiederum
auf maschinenlesbaren Bytes aufgereiht werden. Bitverdichtung
ist auf dem Gebiet der Datenkompression bekannt, siehe [Zitat]
und braucht als solche nicht im einzelnen erläutert zu werden.
Ihre Anwendbarkeit für die abgeschlossenen Datenstrukturen,
bei denen das Verfahren der Erfindung für komprimierte Formate
angewandt wird, fällt direkt unter den Umfang der Erfindung.
-
In dem ersten Dekompressionsschritt können, nachdem die in
komprimiertem Format vorliegende Datei in den Speicher
eingelesen worden ist, in dem Dekompressionsschritt die
holographischen Ereignisvektoren in sortierter Abfolge wiedergewonnen
werden. Nachdem der letzte holographische Vektor synthetisiert
worden ist, wird er mit dem während der Kompression
beibehaltenen Prüfsummenvektor auf Gleichheit hin verglichen.
-
In dem zweiten Schritt kann der Effekt, daß sortierte
Ereignisse nacheinander vorliegen - falls er unerwünscht ist -
zum Zeitpunkt der Dekompression beseitigt werden, indem die
Reihenfolge der holographischen Ereignisvektoren, die aus der
Differenz- und Lauflängen-Kodierung gewonnen worden sind,
zufallsorientiert verwürfelt wird. Die ursprüngliche Reihenfolge
der Ereignisvektoren in der Original-Datei ist unabhängig
davon verloren, ob dieser Schritt durchgeführt wird oder nicht.
Der Verlust der Ereignis-Reihenfolge ist ein intrinsisches
Merkmal des Kompressionsverfahrens.
-
Vorteilhafterweise ist das Kompressionsverfahren der Erfindung
dennoch auch nützlich für Anwendungsfälle, die eine exakte
Wiederherstellung der Ereignis-Reihenfolge erfordern. Eine
offensichtliche Gegenmaßnahme besteht darin, eine umgekehrte
Ereignisreihenfolgen-Liste zu speichern (d. h. eine
Nachschlagtabelle, in der während des Dekompressionsschritts die
ursprüngliche Ereignis-Anzahl als Funktion der sortierten
Ereignis-Nummer nachgeschlagen werden kann). Dabei muß jedoch
aufgrund der Speicherung dieser Liste ein beträchtlicher
Kompromiß hinsichtlich des Kompressionsfaktors in Kauf genommen
werden, und in einigen Fällen kann eine alternative
Kompressionstechnik, bei die Ereignis-Reihenfolge implizit
beibehalten wird (z. B. Bitverdichtung) bessere Ergebnisse erzielen.
-
In dem dritten Schritt wird die Bit-Reihenfolge invers
transformiert, wobei das Format eines Ereignisvektors
wiederhergestellt wird, der N Binär-Parameter-Felder aufweist. Es werden
zufallsorientierte Bits verwendet, um die während der
Kompression getrimmten Bits niedrigster Signifikanz zu ersetzen.
-
Bei dem Sehritt des Verwürfelns der Ereignis-Reihenfolge
handelt es sich um einen fakultativen Schritt. Er braucht nur
ausgeführt zu werden, falls eines oder mehrere der
nachfolgenden Datenanalyseverfahren eine stochastische (in
zufallsorientierter Ordnung erfolgende) Präsentation von Ereignissen
er
fordern. Beispiele dafür sind Abbildungsverfahren, bei denen
die Möglichkeit besteht, nur die ersten N Ereignisse in der
Datenaufzeichnung abzubilden, und adaptive
Klassifikationsverfahren, bei denen die ersten N Ereignisse im voraus erfaßt
werden, um die Klassifikationsparameter zu vereinfachen.
-
Falls die nachfolgenden Analyseverfahren, denen die Daten
unterzogen werden sollen, immun gegenüber der
nichtstochastischen Präsentation von Ereignissen sind, kann der Schritt des
Verwürfelns der Ereignis-Reihenfolge mit dem im folgenden
erläuterten Vorteil übersprungen werden. Die beiden
erforderlichen Dekompressionstransformationen können einzeln für jedes
Ereignis ausgeführt werden, so daß die übrige
Ereignisverarbeitung eingestreut werden kann. Dieses Merkmal macht es
möglich, daß der Dekompressionsschritt als ein spezialisierter
Iterator innerhalb der Datenanalyse-Software verdichtet wird,
so daß die Software die Analyse- und Visualisierungsverfahren
direkt an dem komprimierten Format vornehmen kann. Der Vorteil
besteht darin, daß in den RAM-Speicher sehr große (d. h. > 1
Million Ereignisse) komprimierte Aufzeichnungen aufgenommen
werden können, deren dekomprimierte Äquivalente zu groß dazu
sind.
-
Ein einzigartiges Merkmal des Verfahrens der Erfindung besteht
in dessen Fähigkeit, Begrenzungen für den ungünstigsten Fall
und den normalen Fehler einzubringen. Wie bereits erwähnt,
wird durch dieses Verfahren die Ereignis-Reihenfolge
vollständig zerstört, und damit dieses Kompressionsverfahren anwendbar
ist, muß man sicher sein, daß die nachfolgenden Analysen, die
an den Daten durchgeführt werden, immun gegenüber einer
Wiederherstellung der Ereignis-Reihenfolge sind. Die meisten
statistischen Populationsanalysen, die an dem gesamten Daten-Set
vorgenommen werden, tolerieren eine derartige
Ereignis-Verwürfelung, jedoch können Analysen, bei denen dies nicht der
Fall ist, möglicherweise zu überraschenden Ergebnissen führen.
-
Unter dem gleichen Blickwinkel muß man sich, wenn das
Verwürfeln der Ereignis-Reihenfolge während der Kompression
absichtlich weggelassen wird und somit eine sequentielle Analyse
in komprimiertem Format vorgenommen werden kann, deutlich
dessen bewußt sein, daß dekomprimierte Ereignisse in der
weitestgehend nichtstochastischen Abfolge dekomprimiert werden (d. h.
die Statistik der Ereignisse ändert sich vom Start bis zum
Ende dramatisch). Man muß sicher sein, daß die
Analyseverfahren beim direkten Bearbeiten der komprimierten Datei die
ungünstigste Wiederherstellung der Ereignis-Reihenfolge (d. h.
ein beabsichtigtes Sortieren) tolerieren werden.
-
Bei dem verlustlosen Verfahren beträgt der Fehler für jeden
Ereignisvektor null. Falls man die wiedergewonnenen Ereignisse
in die ursprüngliche Reihenfolge zurückversetzt (indem man zu
Testzwecken eine umgekehrte Liste führt), kann man die exakte
Entsprechung zwischen ursprünglichen und dekomprimierten
Daten-Sets verifizieren. Bei einer verlustbehafteten
Betriebsart, bei der
-
b = Anzahl der getrimmten Bits
-
M = Original-Meßwert
-
RM = wiederhergestellter Meßwert nach der Dekompression,
-
ist der im ungünstigsten Fall auftretende Fehler (d. h. die
Ereignisvektor-Komponente) in der folgenden Weise begrenzt:
-
epsilon = abs (M - RM) 2b - 1
-
Es ist unmöglich, daß ein wiedergewonnener Wert außerhalb des
Datenbereiches der Original-Daten fällt.
-
Für eine unbegrenzte Anzahl derartiger Meßwerte ist die
Fehlerverteilung bei dem Beispiel b = 2 dreieckig und symmetrisch
um Null, wie im folgenden gezeigt.
-
-3 -2 -1 0 1 2 3
-
Mittels dieser Verteilung besteht die Möglichkeit, den in
einen Populations-Mittelwert eingeführten Fehler durch
Bit-Trimmen zu analysieren, wobei folgendes angenommen wird:
-
N = Population (Anzahl von Messungen)
-
X = Mittelwert vor der Kompression
-
RX = wiedergewonnener Mittelwert nach der Dekompression.
-
Es wird keine Änderunng der Populations-Mitgliedschaft
angenommen.
-
Die im ungünstigsten Fall angenommene Drift des Populations-
Mittelwertes wird bestimmt, indem der im ungünstigsten Fall
auftretende Fehler für sämtliche einzelnen Messungen
angenommen wird, und zwar stets in der gleichen Richtung:
-
abs (X - RX) 2b - 1
-
(d. h. die im ungünstigsten Fall auftretende Drift des
Populations-Mittelwertes ist die gleiche wie der im ungünstigsten
Fall auftretende Fehler bei einer einzelnen Messung). Die
Wahrscheinlichkeit des ungünstigsten Falls eines
Populationsfehlers nimmt mit zunehmendem N schnell ab:
-
prob = (1/2)2bN
-
Beispielsweise tritt bei zwei Bits, die im Fall von fünf
Ereignissen getrimmt werden, ein Fehler gemäß dem ungünstigsten
Fall ein einziges Mal in einer Million auf und beeinflußt den
mittleren Kanal-Wert um plus oder minus 3.
-
Die Populations-Drift kann als Funktion von N mit einem eher
zweckmäßigen Vertrauensintervall, z. B. 99,7% (3 sigma)
geschätzt werden. Die Fehler bei den einzelnen Messungen
tendie
ren mit zunehmendem N dazu, sich selbst aufzuheben, wobei der
Populations-Mittelfehler langsam zu null konvergiert, und zwar
als eins, dividiert durch die Quadratwurzel von N:
-
abs (X - RX) < 2b - 1/sqrt N
-
Beispielsweise ist bei zwei Bits, die im Fall einer Population
von 100 Ereignissen getrimmt werden, und zwar 99,7% der Zeit
bei wiederholter Anwendung, der Wiederherstellungsfehler des
Populations-Mittelwertes weniger als
-
3/sqrt(100) = 0,3.
-
Die Leistungscharakteristik eines Datenkompressionsverfahrens
kann entscheidend für seine Vermarktung sein. Falls die
Geschwindigkeit des Systems als unannehmbar niedrig erachtet
wird oder sein Bedarf an Kurzzeitspeicherung als unannehmbar
überhöht gilt, wird sich das Verfahren im Handel nicht
durchsetzten, obwohl seine Hauptmerkmale, d. h. der
Kompressionsfaktor und die Wiederherstellungstreue, akzeptabel sind. Bei dem
Designs jedes Verfahrens wird implizit ein Kompromiß zwischen
der Ausführungsgeschwindigkeit und dem Kurzzeitspeicherbedarf
geschlossen. Die Leistungseigenschaften des Verfahrens gemäß
der Erfindung werden separat erörtert.
-
Generell folgt die zeitliche Leistung des Kompressors einer
zeitlichen Begrenzung, die ausgedrückt wird als Daten-Breite x
N logN (wobei N = Anzahl der Ereignisse und die Daten-Breite
die Anzahl von Bits pro Eingabevektor ist), und dabei ist die
Begrenzungsoperation der Schritt des Sortierens des
holographischen Vektors. Es ist jedes Sortierverfahren anwendbar, das
auf einem primitiven Vergleichsoperator der Form "IstGrößer
Als" (EreignisNummer1, EreignisNummer2) basiert, wobei die
Argumente zwei Ereignisvektoren spezifizieren, die durch ihre
Positionsnummern in der Original-Aufzeichnung indiziert sind,
und wobei das Verfahren gemäß der Erfindung diese Komparator-
Funktion dem Sortierschritt als Blackbox zufügt.
-
Der Speicherverbrauch verlangt einen Block, der ausreichend
ist, um die Eingangs-Multiparameter-Ereignisaufzeichnung zu
halten, deren Verwendung während der sequentiellen
Transformation von Ereignissen in holographisches Format allmählich
dahingehend konvertiert wird, daß sie die gleiche Vektor-Liste
in holographischer Form enthält.
-
Das Sortieren erfordert, daß eine Index-Liste sortierter
Ereignisse geführt wird, die auf die Identitätsabfolge
-
1 2 3 4... N
-
hin initialisiert wird und mittels des Sortier-Schritts in
ihrer Reihenfolge neugeordnet wird, bis sie die Auflistung der
Ereignis-Nummern in deren korrekt sortierten Reihenfolge
enthält. Das Differenz-Kodieren der sortierten holographischen
Vektoren (ein sequentieller Durchlauf durch die Index-Liste
sortierter Ereignisse) erfordert eine weitere Zuweisung von
Speicherraum, um die drei Listen zu halten, die den Großteil
des komprimierten Formats aufweisen, und Begrenzungen für den
ungünstigsten Fall halten diese Listen auf einem linearen
Mehrfachen (2-3X) des Eingangsdatenvolumens. Die dynamische
Speicherzuweisung kann den Speicherbedarf deutlich unter der
beim ungünstigsten Fall auftretenden Zuweisung für Dateien
halten, welche typische Negentropien aufweisen.
-
Zusammenfassend läßt sich zu den Leistungseigenschaften des
Kompressionsschritts feststellen, daß die Ausführungszeit von
der N*logN-Begrenzung des Sortierschritts dominiert wird, und
daß der Speicherbedarf sich auf ein niedriges Mehrfaches des
Speicherraums beläuft, der zur Unterbringung der
Eingangsdaten-Aufzeichnung erforderlich ist.
-
Die vollen Dekompressionsschritte (einschließlich der
willkürlichen Veränderung der Ereignis-Reihenfolge) erfordern zwei
aufeinanderfolgende Durchläufe. Der erste Durchlauf wird
durchgeführt, um eine (auf die Identitäts-Abfolge hin
initialisierte) Ereignis-Reihenfolgen-Liste zufallsorientiert zu
verwürfeln, wodurch die Nummer gemäß den sortieren Ereignisse
(d. h. die Reihenfolge, in der Ereignisse aus dem Differenz-
Code heraus auftreten) in eine zufallsorientierte Position in
der Ausgabedatei übertragen wird. Der zweite Durchlauf umfaßt
einen einzelnen Durchlauf durch den Differenz-Code, bei dem,
während jedes holographische Ereignis durch Addieren eines
Differenz-Codes zu dem vorherigen Differenz-Code rekonstruiert
wird, der aktuelle holographische Vektor aus der
holographischen Form zurück in die Form eines
Multiparameter-Ereignisvektors transformiert wird und an der Listen-Stelle
ausgeschrieben wird, die diesem Vektor in dem ersten Durchlauf
zufallsorientiert zugewiesen wurde. Falls der Verwürfelungs-
Schritt für unnötig befunden wird, erzeugt der
Dekompressionsschritt nur Ausgangs-Ereignisse in der Reihenfolge, in der sie
aus dem Differenz-Code heraus auftreten. In beiden Fällen ist
die Ausführungszeit durch das Datenvolumen der dekomprimierten
Datei linear begrenzt.
-
Der Speicherbedarf des Dekompressionsschritts ist im
wesentlichen der gleiche wie derjenige des Kompressors, wobei Blöcke
für drei Differenzcode-Listen, eine Abfolge-Index-Liste und
ein Block zur Unterbringung der dekomprimierten
Ereignisvektor-Aufzeichnung erforderlich sind. Da die tatsächlichen
Größen der Differenzcode-Listen bei Beginn der Dekompression
bekannt sind, braucht bei ihnen keine Zuweisung gemäß dem
ungünstigsten Fall zu erfolgen, wie sie bei dem Kompressor aufgrund
des Fehlens einer dynamischen Speicher-Zuweisung nötig ist.
-
Ein spezieller Fall, der durch das Verfahren der Erfindung
ermöglicht wird, ist die Möglichkeit, eine Analyse direkt an
dem komprimierten Format vorzunehmen, falls die Analyse
unemp
findlich gegenüber der Ereignis-Reihenfolge ist und der
sequentielle Zugriff auf die Ereignisvektoren unzureichend ist
(d. h. ein zufallsorientierter Zugriff nicht erforderlich ist).
In diesem speziellen Fall wird der Speicherbedarf des
Dekompressionsschritts dahingehend ökonomisiert, daß nur Blocks für
die drei Differenzcode-Listen erforderlich sind. Im Ablauf
werden bei dieser Verfahrensweise der Dekompressionsanalyse
jeder holographische Ereignisvektor und seine
nichtholographische Transformation erzeugt, verarbeitet und weggeworfen. Die
durch diese Option ermöglichte reduzierte Speicherbegrenzung
ist attraktiv zur Analysen mit seltenen Ereignissen, bei denen
die zugehörige Größe der unkomprimierten Datei unannehmbar
wäre.
-
Sämtliche in dieser Beschreibung aufgeführten
Veröffentlichungen und Patente geben den allgemeinen Kenntnisstand auf dem
Gebiet an, auf das sich die Erfindung bezieht. Diese
Veröffentlichungen werden hiermit insgesamt durch Verweis in dem
gleichen Ausmaß einbezogen, als ob jede einzelne
Veröffentlichung speziell für sich durch Verweis einbezogen worden wäre.
-
Dem Durchschnittsfachmann wird ersichtlich sein, daß
zahlreiche Änderungen und Modifikationen an der Erfindung vorgenommen
werden können, ohne vom Umfang der zugehörigen Ansprüche
abzuweichen.
VERFAHREN ZUM KOMPRIMIEREN VON MULTIPARAMETER-
EREIGNISLISTEN-AUFZEICHNUNGEN Tabelle 1
Tabelle 2
Tabelle 3