-
Diese
Erfindung betrifft Verfahren zum Komprimieren digitalisierter Signale
und insbesondere zum Komprimieren und Entkomprimieren digitaler Daten,
die physiologische Signale darstellen, welche von implantierbaren
oder batteriebetriebenen Vorrichtungen erhalten werden, um eine
wirksame Kompression bei einer verhältnismäßig geringen Datenverarbeitung
zu erreichen.
-
Bei
vielen medizinischen Anwendungen gibt es eine Notwendigkeit, fortlaufend
Signale zu überwachen
und diese Signale zu digitalisieren und die sich ergebenden Daten
zur späteren
Verwendung zu speichern. Insbesondere dann, wenn eine implantierbare
oder batteriebetriebene Vorrichtung verwendet wird, wird diese Aufgabe
schwierig, weil es erforderlich ist, Energie und Speicher zu sparen.
Beispielsweise hat ein implantierbarer Schrittmacher eine begrenzte
Batterielebensdauer und kann dementsprechend nicht große Speichermengen
für das
Speichern von Daten aufwenden oder umfangreiche Verarbeitungstechniken
für komplizierte
Kompressionsschemata verwenden. Wenn eine Aufgabe des Schrittmachers
darin besteht, intrakardiale Signale zu erfassen, zu digitalisieren
und zum späteren Hochladen
zu einer externen Vorrichtung zu speichern, ist es erforderlich,
dies mit einem Minimum an Speicher und Verarbeitungsaufwand vorzunehmen. Dies
führt zur
Anforderung einer wirksamen Datenkompression, welche eine erhebliche
Reduktion der zu speichernden Bits bereitstellt, während die
Zeit minimiert wird, die für
das Übertragen
von Daten zur externen Vorrichtung, um sie zu verarbeiten und anzuzeigen,
aufgewendet wird. Bei einem solchen Kompressionsschema kann jedoch,
sowohl aus Energieerwägungen
als auch wegen der Speichermenge, die der Softwareroutine zugewiesen
werden müsste,
keine sehr komplizierte Verarbeitung notwendig sein.
-
In
all den voranstehend erwähnten
Anwendungen, in denen die Leistung und der verfügbare Speicher Faktoren sind,
ist eine verhältnismäßig einfache
Technik erforderlich, um das Meiste aus der verfügbaren Datenkompression zu
machen, dies jedoch, ohne auf eine komplexe Datenverarbeitung zurückzugreifen.
Diese Erfindung erreicht das Ziel des Bereitstellens einer Kompression
von mehr als 50 %, während
sie den für
das Speichern erforderlichen Speicher und die Zeit zum Transportieren
der Daten verringert. Zusätzlich
zur Ausführungsform
des implantierbaren Schrittmachers umfassen andere Anwendungen solche,
an denen digitalisierte physiologische Signale, wie EKG, EGM, Atmung,
Blutdruck usw., beteiligt sind.
-
In
der US-A-4 870 685 ist ein Sprachsignal-Kompressionssystem dargelegt, bei dem
eine differenzielle Verarbeitung verwendet wird. In der US-A-4 503
510 ist ein EKG-Kompressionsprozess offenbart, bei dem eine Huffman-Codierung verwendet
wird. In der
JP 59182639 ist
auch ein Datenkompressionsschema offenbart.
-
Eine
Hauptaufgabe der Erfindung besteht darin, ein einfaches, jedoch
wirksames Mittel und Verfahren zur Kompression von Signalen, insbesondere
von Signalen, welche physiologische Parameter darstellen, zur Verwendung
mit medizinischen und anderen Vorrichtungen, bei denen die verfügbare Energie
begrenzt ist, wie es bei implantierbaren Stimulatoren und anderen
batteriebetriebenen Vorrichtungen der Fall ist, zu erreichen.
-
Gemäß einem
Aspekt der vorliegenden Erfindung ist ein Verfahren zur Datenkompression
vorgesehen, das dazu ausgelegt ist, bei der Speicherung von Daten
in und Übertragung
von Daten aus einer implantierbaren und/oder batteriebetriebenen medizinischen
Vorrichtung verwendet zu werden, mit den folgenden Schritten:
Einholen
eines physiologischen Signals von einem Patienten,
Bilden einer
Probe des Signals, um Proben in der Form digitaler Daten zu erhalten,
Auswählen einer
Blockgröße, die
einer ausgewählten Anzahl
von Proben per Block entspricht, und,
für jeden Block, Vergleichen
jeder Probe in dem Block mit der unmittelbar vorausgehenden Probe
und Ermitteln eines die Differenz zwischen jeder Probe und der vorausgehenden
Probe wiedergebenden Delta-Werts und Speichern jedes Delta-Werts, und Untersuchen
der Delta-Werte und Ermitteln des größten absoluten Delta-Werts,
gekennzeichnet
durch das Ermitteln der Anzahl von Bits, die benötigt werden, um den größten absoluten Delta-Wert
zu speichern, und Speichern der Anzahl von Bits, und Speichern jedes
Delta-Werts für
den Block, wobei die Delta-Werte die Anzahl von Bits enthalten.
-
Gemäß einem
anderen Aspekt ist eine batteriebetriebene Vorrichtung mit Mitteln
vorgesehen, die dazu ausgelegt sind, physiologische Signale von
einem Patienten einzuholen, einem Speicher zum Speichern von die
Signale wiedergebenden Daten und Mitteln zum Übertragen der Daten in eine
andere Vorrichtung, wobei die Vorrichtung des weiteren folgendes
umfasst:
Probenbildungsmittel bzw. Abtastmittel zum Probenbilden
bzw. Abtasten der Signale in zeitlicher Abfolge,
Mittel zum
Halten von Blockdaten, die eine ausgewählte Anzahl von einen Block
bildenden Proben wiedergeben, und
Deltamittel, die operationsfähig sind,
einen Delta-Wert für
jede Probe zu ermitteln, wobei der Delta-Wert die Differenz zwischen
jeder Probe und der unmittelbar vorausgehenden Probe wiedergibt,
gekennzeichnet durch
Max-Bit-Mittel zum Ermitteln der maximalen
Anzahl von Bits für
jeden Block, die zum Speichern des größten Delta-Werts des Blocks
benötigt
werden, und zum Speichern von diese Anzahl wiedergebenden Max-Bit-Daten
für jeden
Block,
Blockmittel zum Speichern von Deltadaten für jeden Delta-Wert eines Blocks
in dem Speicher, wobei jede der Deltadaten die maximale Anzahl von
Bits umfasst, und wobei die Deltadaten für einen Block zusammen mit
den Max-Bit-Daten für
diesen Block abgespeichert werden, und
Wiederholungsmittel
zum Wiederholen der Funktionen des Ermittelns der Max-Bit-Daten
und Speichern der Max-Bit- Daten
und der Deltadaten für
jeden Block des Signals, und dadurch Speichern von das Signal wiedergebenden
komprimierten Daten.
-
Demgemäß ist eine
Datenkompressions- und -dekompressionstechnik vorgesehen, die darauf beruht,
die zeitliche Ableitung zwischen aufeinander folgenden Proben eines
Signals zu bilden.
-
Gemäß bevorzugten
Ausführungsformen werden
die Digitaldaten für
einen vorgegebenen Block aufeinanderfolgender Proben, beispielsweise von
5 bis 12, verarbeitet, um die Differenz zwischen der Probe und der
unmittelbar vorhergehenden Probe zu bestimmen, welche als Delta-Wert
bezeichnet wird. Wenn die Delta-Werte für einen Block alle zusammengestellt
wurden, wird der Delta-Wert mit dem größten Absolutwert gefunden,
und es wird bestimmt, wie viele Bits (BitAnzahl) für diesen
maximalen Delta-Wert erforderlich sind. Dann werden der Wert von
BitAnzahl und die Bits für
jedes Delta in dem Block nacheinander gespeichert, woraufhin die Technik
für jeden
Block wiederholt wird. Eine Entkompression wird ausgeführt, indem
BitAnzahl für
jeden Block bestimmt wird und das Signal durch Addieren (oder Subtrahieren)
des Delta-Werts zum bzw. vom Wert jeder Probe integriert wird. Der
Anfangswert (Integrationskonstante), welcher bei der Kompression
und bei der Entkompression verwendet wird, wird als ein Festwert
festgelegt, beispielsweise als der Wert, der eine Basisspannung
von Null darstellt.
-
Es
wurde herausgefunden, dass die Technik gemäß dieser Erfindung für die meisten
medizinischen Signale, wie EKGs, eine wirksame Kompression von mehr
als 50 % bereitstellt.
-
Dies
ergibt eine ähnliche
Reduktion des erforderlichen Speichers und der Übertragungszeit. Wenngleich
viel aufwendigere Kompressionsverfahren verfügbar sind, ist es schwierig,
eine um mehr als etwa 5 % höhere
Kompression zu erreichen, wobei dies auf Kosten eines erheblichen
Speicher- und Verarbeitungsaufwands geht. Überdies ist das Kompressionsverfahren
gemäß dieser
Erfindung in der Hinsicht verlustfrei, dass das ursprüngliche
Digitalsignal vollständig
rekonstruiert werden kann. Dies steht zu anderen Verfahren, wie
einer adaptiven Delta-Impulscodemodulation, in Gegensatz, wodurch
ein größeres Kompressionsverhältnis bereitgestellt
wird, jedoch auf Kosten einer gewissen Signalverzerrung. Das Verfahren
und die Vorrichtung gemäß dieser
Erfindung bieten demgemäß einen
sehr notwendigen Kompromiss für
viele Anwendungen, einschließlich insbesondere
der vorstehend erwähnten
medizinischen Anwendungen.
-
Bevorzugte
Ausführungsformen
der Erfindung werden nun nur als Beispiel mit Bezug auf die anliegende
Zeichnung beschrieben.
-
1 ist
ein Diagramm, in dem zwei Formen von Vorrichtungen dargestellt sind,
auf die die Erfindung anwendbar ist, nämlich eine implantierbare Vorrichtung
in der Art eines Schrittmachers und eine außen an einem Patienten getragene
batteriebetriebene Vorrichtung.
-
2A ist
ein einfaches Blockdiagramm, in dem die wesentlichen Elemente einer
implantierbaren oder tragbaren Vorrichtung gemäß dieser Erfindung dargestellt
sind,
-
2B ist
ein einfaches Flussdiagramm, in dem die wesentlichen Schritte dargestellt
sind, die beim Komprimieren, Über tragen
und Entkomprimieren von Daten gemäß dieser Erfindung ausgeführt werden.
-
3A ist
ein Flussdiagramm, in dem die grundlegenden Schritte dargestellt
sind, die bei der Datenkompression gemäß dieser Erfindung ausgeführt werden,
die 3B und 3C Flussdiagramme,
in denen in weiteren Einzelheiten die Schritte dargestellt sind,
die gemäß dieser
Erfindung zum Komprimieren von Daten ausgeführt werden.
-
4 ist
ein Flussdiagramm, in dem die Schritte dargestellt sind, die gemäß dieser
Erfindung ausgeführt
werden, um Daten zu entkomprimieren.
-
5 ist
eine Reihe von Graphen, in denen ein Beispiel eines analogen physiologischen
Signals, der Delta-Rekonstruktion
(zeitlichen Ableitung) des Signals und der für das ursprüngliche Signal und das komprimierte
Signal erforderlichen Bits dargestellt ist.
-
In 1 ist
ein Diagramm dargestellt, das die Umgebung der Vorrichtung und des
Verfahrens gemäß dieser
Erfindung zeigt. Die Erfindung kann mit einer implantierbaren Vorrichtung
in der Art eines Schrittmachers 30 verwendet werden, der
als in einen Patienten implantiert dargestellt ist. Mit dem Schrittmacher
ist eine Leitung 31 verbunden, die sich in das Herz des
Patienten erstreckt und an ihrem distalen Ende eine oder mehrere
Elektroden aufweist, welche Stimulationsimpulse abgeben und auch
intrakardiale oder epikardiale Signale erfassen. Wie auf dem Gebiet
der Schrittmacher wohlbekannt ist, können die Erfassungssignale
vom Schrittmacher empfangen, digitalisiert und im Speicher gespeichert
werden, um sie später
zu einer externen Vorrichtung 37 zu übertragen. Wie dargestellt
ist, kann der Transceiver 37 eine herkömmliche Programmiereinrichtung sein,
wie sie auf dem Gebiet der Schrittmacher verwendet wird. Wenn die
Programmiereinrichtung Daten vom Schrittmacher empfangen hat, kann
sie diese zu einem Prozessor 38 übertragen, der wiederum Daten
an eine Ein-/Ausgabevorrichtung 39 ausgeben kann, was alles
in wohlbekannter Weise geschieht. Wie wohlbekannt ist, können implantierbare
Vorrichtungen, wie Schrittmacher, wegen offensichtlicher Beschränkungen
in Bezug auf die Leistung und die Speicherkapazität keine
großen
Datenmengen behandeln.
-
In 1 ist
auch eine tragbare Vorrichtung 32 dargestellt, die als
an den Arm eines Patienten angeschnallt dargestellt ist. Diese Vorrichtung 32 kann beispielsweise
mit Elektroden 33 zusammenwirken, um ein Patienten-EKG
zu bestimmen. Wie bei der implantierten Vorrichtung können in
der batteriebetriebenen Vorrichtung 32 gesammelte Daten
zur Weiterverarbeitung und Ausgabe zu einer anderen Vorrichtung
heruntergeladen werden. Die gleichen Beschränkungen in Bezug auf die Verarbeitung
und die Speicherverfügbarkeit
können
für eine
solche batteriebetriebene, tragbare Vorrichtung gelten.
-
In 2A ist
ein einfaches Blockdiagramm dargestellt, das die wesentlichen Elemente
einer implantierbaren oder tragbaren Vorrichtung gemäß dieser
Erfindung zeigt. Eine Batterie 25 versorgt einen Sensor
oder Sensoren 26, welche Leitungen 31 oder 33 einschließen, mit
Energie. Der Sensorblock kann auch eine Verstärkerstufe und eine Digitalisierungsschaltungsanordnung
einer herkömmlichen
Form aufweisen. Die digitalisierten Daten werden zu einem Prozessorblock 34 übertragen,
der geeigneterweise einen Mikroprozessor enthält. Es sei bemerkt, dass die
in dieser Erfindung enthaltenen Verarbeitungsschritte mit einer
beliebigen Kombination zweckgebundener Hardware und/oder Software
ausgeführt werden
können.
Der Mikroprozessor steht in Verbindung mit einem bei 35 dargestellten
Speicher, welcher wiederum in Verbindung mit dem Transceiver 36 steht,
um Daten von der Vorrichtung nach außen zu übertragen oder um Daten und/oder
Befehle von dieser zu empfangen.
-
In 2B ist
ein einfaches Flussdiagramm dargestellt, das die wesentlichen Schritte
zeigt, welche beim Komprimieren, Übertragen und Entkomprimieren
von Daten gemäß dieser
Erfindung ausgeführt
werden. Bei 40 werden die Signale, wie EKG-Signale, in
analoger Form aufgenommen. Die analogen Signale werden bei 41 in
digitale Daten umgeformt, und es können an diesem Punkt anfängliche Codierschritte
ausgeführt
werden. Die digitalen Daten werden in dem Pufferspeicher 42 gespeichert.
In Block 44 werden die Daten nach der erfindungsgemäßen Technik
komprimiert, und sie werden in Block 45 gespeichert. Bei 46 wird
ein Befehl zum Übertragen
der Daten von einer externen Quelle empfangen, wodurch die Verfügbarkeit
für das
Empfangen gespeicherter Daten angegeben wird. Die komprimierten
Daten werden bei 47 in einer auf dem Gebiet der Schrittmacher
wohlbekannten Weise übertragen.
Bei 48 werden die Daten an der externen Vorrichtung entkomprimiert,
um die ursprünglichen
Signale in digitaler Form wiederherzustellen. Die Signaldaten werden
dann bei 49 gespeichert oder angezeigt.
-
In 3A ist
ein Flussdiagramm dargestellt, welches die grundlegenden Schritte
zur Datenkompression gemäß dieser
Erfindung zeigt. Bei 51 werden BlockGröße Daten bestimmt, die durch
Programmierung in Daten gespeichert worden sind. Bei 52 wird das
analoge Signal abgetastet. Jede solche Probe wird mit der letzten
Probe verglichen, und es wird eine Differenz oder ein Delta-Wert
bestimmt und gespeichert, wie bei 53 dargestellt ist. Hiernach
wird bei 55 bestimmt, ob ein Probenblock verarbeitet worden ist.
Ein solcher Block kann eine Größenordnung
von 5-12 aufweisen, welche als ein optimaler Bereich für EKG- und ähnliche
medizinische Signale bestimmt worden ist. Es ist zu verstehen, dass
die Blockgröße entsprechend
der Art der Anwendung zu bestimmen ist, weil die Blockgröße im Fall
bestimmter Signale, welche geringere zeitliche Variationen aufweisen, größer sein
kann. Falls der Block nicht abgeschlossen worden ist, springt die
Routine zu 52 zurück
und erhält
die nächste
Probe. Nur dann, wenn alle Proben erhalten worden sind und die jeder
Probe entsprechenden Delta-Werte bestimmt und gespeichert worden
sind, wird die Routine in Block 56 fortgesetzt. An diesem
Punkt wird die größte Differenz
oder der Delta-Wert mit der höchsten
absoluten Amplitude bestimmt. Dann bestimmt die Routine bei 57 die
Anzahl der zum Speichern des vorgegebenen maximalen Delta-Werts
erforderlichen Bits. Dieser Wert, BitAnzahl, wird gespeichert, wie
bei 58 dargestellt ist. Hiernach wird der ganze Block der
Delta-Werte sequenziell im Speicher gespeichert, wobei nur eine
Anzahl von Bits für
jeden Delta-Wert verwendet wird, die BitAnzahl entspricht. Falls
demgemäß BitAnzahl
= 5 ist und der Block zehn Proben enthält, werden 50 Bits, entsprechend
den zehn Delta-Werten, seriell im Speicher gespeichert. Danach wird
der nächste
Datenblock in der gleichen Weise verarbeitet, bis alle Signaldaten
verarbeitet worden sind.
-
In
den 3B und 3C ist
ein Flussdiagramm dargestellt, das die gemäß dieser Erfindung zum Komprimieren
von Daten ausgeführten
Schritte in näheren
Einzelheiten darstellt. Bei 65 wird eine als "LetzteProbe" bezeichnete Variable
auf Null gesetzt, so dass der Wert der letzten Probe als ein Basiswert von
Null angenommen wird. Danach wird bei 66 die Variable ProbenAnzahl
auf Null gesetzt, und der Wert MaxDelta ist gleich –1. Die
Routine geht dann zu 68, wo bestimmt wird, ob ProbenAnzahl
BlockGröße gleicht,
d.h. ob alle Proben in dem Block in dieser Schleife verarbeitet
worden sind. Falls dies nicht der Fall ist, geht die Routine zu
Block 70 und erhält
und verarbeitet die nächste
Probe. Wie bei 70 dargestellt ist, wird die neue Probe
gleich "NächsteProbe" gesetzt, wird Delta
als NeueProbe-LetzteProbe
berechnet, wird LetzteProbe dann gleich NeueProbe gesetzt, ProbenAnzahl
gleich ProbenAnzahl +1 gesetzt und wird der Delta-Wert in den Pufferspeicher
eingegeben, der der Nummer der Probe entspricht. Anschließend wird
bei 72 bestimmt, ob der existierende Wert von MaxDelta
kleiner als der Absolutwert von Delta ist, der bisher erhalten worden
ist. Falls dies nicht der Fall ist, kehrt die Routine zu Block 68 zurück. Falls
die Antwort bei 72 jedoch Ja ist, bedeutet dies, dass der
Absolutwert des letzten bestimmten Deltas größer ist als der zuvor gespeicherte
Wert von MaxDelta, und MaxDelta wird bei 73 aktualisiert
und gleich dem gerade erhaltenen Absolutwert von Delta gesetzt.
Die Routine kehrt dann zu 68 zurück und iteriert, bis ProbenAnzahl
gleich BlockGröße ist.
An diesem Punkt wurden der Wert von MaxDelta und die Delta-Werte
für alle
Proben in dem Block berechnet, und die Routine geht zu (1), wie
angegeben ist.
-
Wie
bei Block 75 in 3C dargestellt
ist, wird BitAnzahl als das höchste
in MaxDelta festgelegte Bit bestimmt. Dies kann auf eine Anzahl
von Arten geschehen, beispielsweise unter Verwendung eines Prioritätsdecodierers,
durch Berechnen von logMaxDelta oder durch Zählen der Anzahl der Rechtsverschiebungen
von MaxDelta, bis MaxDelta null erreicht. Danach wird bei 76 der
Wert von BitAnzahl für den
aktuellen Block geschrieben. Wie bei 76 angegeben ist,
kann dieser für
jede Anwendung in der Art von Standardschrittmachern, welche mit
Signalen arbeiten, die eine Auflösung
von 8 Bits aufweisen, als ein 3-Bit-Wort geschrieben werden. Natürlich ist
ein 4-Bit-Wort erforderlich, falls eine Auflösung von 16 Bits verwendet
wird. Bei 78 wird die Variable ProbenAnzahl der äußeren Schleife
auf Null initialisiert. Bei 80 wird bestimmt, ob ProbenAnzahl
gleich BlockGröße ist.
Unter der Annahme, dass die Antwort Nein ist, wird bei 82 ProbenAnzahl
auf ProbenAnzahl +1 inkrementiert. Dann wird bei 83 die
Variable BitNummer der inneren Schleife auf BitAnzahl +1 gesetzt. Dies
gewährleistet,
dass nicht nur die signifikante Anzahl von Bits gespeichert wird,
sondern dass auch ein zusätzliches
Bit gespeichert wird, das das Vorzeichen des aktuellen Delta-Werts angibt. Insbesondere wird
das Vorzeichenbit für
jeden Delta-Wert zuerst gespeichert, und es wird als nächstes der
Absolutwert dieses Delta-Werts unter Verwendung nur der berechneten
Anzahl von Bits gespeichert. Während der
Entkompression wird dieses Vorzeichenbit vor dem Delta-Wert gelesen.
Bei 85 wird bestimmt, ob BitNummer gleich null ist. Falls
dies der Fall ist, springt die Routine zu 80 zurück. Falls
dies nicht der Fall ist, geht die Routine zu 86 und schreibt
das nächste
Bit für
den aktuellen Delta-Wert.
Demgemäß wird für den ProbenAnzahl
entsprechenden Delta-Wert die aktuelle Bitnummer genommen und in den
Speicher geschrieben. Danach wird bei 88 BitAnzahl um 1
dekrementiert, und die Routine springt zu 85 zurück. Wenn BitAnzahl
auf Null verringert wurde, springt die Routine zu Block 80 zurück, und
unter der Annahme, dass ProbenAnzahl noch nicht gleich BlockGröße ist,
werden ProbenAnzahl und BitNummer zurückgesetzt, und es wird wieder
durch die innere Schleife 85, 86 und 88 zurückgesprungen. Wenn
herausgefunden wird, dass ProbenAnzahl gleich BlockGröße ist,
kehrt die Routine zu (2) aus 3A zurück und beginnt
mit einem anderen Block erneut.
-
In 4 ist
ein Flussdiagramm der Routine zum Entkomprimieren der Daten dargestellt.
Wie bei 94 dargestellt ist, wird die Variable LetzteProbe
auf Null initialisiert. Bei 95 wird BitAnzahl für den aktuellen
Block gelesen, d.h. es wird jedes der 3 Bits gelesen, um die Anzahl
der verwendeten Bits zu bestimmen. Danach wird bei 96 ProbenAnzahl
auf Null initialisiert. Bei 98 wird bestimmt, ob ProbenAnzahl gleich
BlockGröße ist.
Falls dies der Fall ist, kehrt die Routine zu 95 zurück, um mit
dem Entkomprimieren des nächsten
Blocks zu beginnen. Falls dies jedoch nicht der Fall ist, geht die
Routine zu 100 und setzt ProbenAnzahl gleich ProbenAnzahl
+1 und den Delta-Wert
auf Null. Bei 101 wird die Variable BitNummer der inneren
Schleife auf BitAnzahl +1 initialisiert. Bei 102 wird bestimmt,
ob BitNummer gleich null ist. Falls dies nicht der Fall ist, geht
die Routine zu 106 und liest das nächste Bit für den aktuellen Delta-Wert. Dann
wird bei 107 BitNummer gleich BitNummer –1 gesetzt,
und die Routine springt zu 102 zurück. Wenn BitNummer auf Null
verkleinert wurde, verzweigt die Routine von 102 zu 103 und
erzeugt die nächste
Probe. Dies erfolgt, indem zuerst eine Vorzeichenerweiterung des
Vorzeichenbits von Delta vorgenommen wird, so dass, falls der anfängliche
Delta-Wert +7 war und BitAnzahl 3 war, der Code 0111 gespeichert
wird, während, falls
Delta –7
war, der Code 1001 gespeichert wird, wobei eine Zweierkomplementnotation verwendet
wird. Eine Zweierkomplementnotation ist für negative Zahlen bevorzugt,
jedoch nicht erforderlich. Einzelheiten der Verwendung von Zweierkomplementen
sind wohlbekannt. Durch Ausführen
der Vorzeichenerweiterung werden 8-Bit-Delta-Werte von 0000 0111
(binär
+7) bzw. 1111 1001 (binär –7) erzeugt
und demgemäß sichergestellt,
dass die richtigen Delta-Werte, sowohl positive als auch negative, mit
diesem rekonstruierten Delta-Wert wiederhergestellt werden, die
nächste
Probe wird durch Setzen von NeueProbe auf LetzteProbe + Delta erzeugt,
und LetzteProbe wird gleich NeueProbe gesetzt. Dann wird bei 104 "NächsteProbe" als "NeueProbe" geschrieben. Danach kehrt die Routine
zu Block 98 zurück
und verarbeitet die nächste
Probe. Dies wird wiederholt, bis bei 98 festgestellt wird,
dass die Anzahl der Proben gleich BlockGröße ist, und die Routine kehrt
an diesem Punkt zur Verarbeitung des nächsten Blocks zu 95 zurück.
-
In 5 sind
drei Graphen dargestellt, welche die Wirksamkeit der erfindungsgemäßen Kompressionstechnik
zeigen. Der obere Graph zeigt ein analoges Signal, das ein von einer
medizinischen Vorrichtung erhaltenes Signal darstellt. Der mittlere Graph
zeigt Delta-Werte für
das analoge Signal, und es wird gezeigt, dass für viele medizinische Anwendungen
die Amplitudenschwankungen der Delta-Signale stark verkleinert sind.
Der untere Graph aus 5 zeigt die kumulative Anzahl
der zum Speichern des Signals erforderlichen Bits für das ursprüngliche Signal
(obere Kurve) und das komprimierte Signal (untere Kurve). Wie dargestellt
ist, erzielt die Datenkompression gemäß dieser Erfindung eine Bitreduktion
von etwa 50 %. Dies wird mit einem verhältnismäßig geringen Verarbeitungsaufwand
erreicht, so dass sie eine sehr vorteilhafte Technik für Anwendungen
ist, bei denen es erhebliche Einschränkungen für den verfügbaren Speicher und die Batterieenergie gibt.
-
Demgemäß sind ein
Verfahren und ein System zum Bereitstellen einer Datenkompression
in Umgebungen mit einer niedrigen Leistungsaufnahme, d.h. Anwendungen
in der Art implantierbarer Stimulatoren oder batteriebetriebener
Vorrichtungen, offenbart. Die bereitgestellten Vorteile sind eine
gute Kompression, minimale Verarbeitungsanforderungen und eine vollständige Wiederherstellung
des ursprünglichen
Signals zur Zeit der Entkomprimierung.