-
Querverweis auf zugehörige Anmeldungen
-
Diese
Anmeldung beansprucht die Priorität der provisorischen US-Anmeldung
Nr. 60/545,550 (Anwaltsaktenzeichen Nr. 2005P00467US), eingereicht
am 17. Februar 2004 mit dem Titel ”Interactive Client-Server
Transmission of Compressed Data with Prioritization by Scene Content”. Zusätzlich ist
diese Anmeldung eine Continuation-In-Part der US-Patentanmeldung Nr. 10/100,154 (Anwaltsaktenzeichen Nr.
2002P04284US), eingereicht am 18. März 2002 mit dem Titel ”Efficient
Ordering of Data for Compression and Visualization”.
-
Hintergrund
-
Medizinisch-volumetrische
Online-Datenbanken wie beispielsweise die, die von der National Library
of Medicine (NLM) gepflegt wird, haben mit der ansteigenden Benutzung
des Internets an Beliebtheit gewonnen. Bildarchivierungs- und Kommunikationssysteme
(Picture Archiving and Communication Systems, PACS) können verwendet
werden, um solche Datenbanken zu unterstützen. Darüber hinaus nimmt die Verwendung
von dreidimensionalen Bildgebungsverfahren zu, die volumetrische
Datensätze
erzeugen, einschließlich
z. B. der Magnetresonanztomographie (MRI), Ultraschall (US), Computertomographie
(CT), Positronemissionstomographie (PET) und die Single Photon Emission
Computed Tomography (SPECT).
-
Im
Allgemeinen sind volumetrische Datensätze sehr umfangreich. Z. B.
umfasst der Datensatz des ”Visible
Male” axiale
Bildabtastungen des gesamten Körpers,
die in 1 mm Abständen
bei einer Auflösung
von 512×512
Pixel durchgeführt wurden. Der
gesamte Datensatz hat 1.870 Querschnitte und benötigt etwa 15 GByte an Voxel-Daten.
Der Datensatz ”Visible
Woman” umfasst
Querschnittsbilder bei einem Drittel der Abtastabstände des ”Visible
Male” entlang
der Axialrichtung und benötigt
etwa 40 GByte.
-
Wenn
derartige Datensätze über Netze
von geringer Bandbreite mit unterschiedlichen Lasten und Latenzbeschränkungen übertragen
werden sollen, müssen
effiziente Kompressionsmodelle verwendet werden. Das Kompressionsmodell
sollte sowohl verlustbehaftete als auch verlustlose Kompression
unterstützen.
Verlustbehaftete Komprimierung ermöglicht dem Benutzer, auf Bildqualität zugunsten reduzierter
Bitraten zu verzichten. Andererseits gibt es Situationen, wo eine
verlustlose Rekonstruktion wichtig ist, z. B. dort, wo kleine Bilddetails
die Erfassung der Pathologie beeinflussen und die Diagnose verändern könnten. Das
Kompressionsmodell sollte 8, 12 und 16 Bit signierter oder unsignierter
Daten unterstützen,
was für
medizinische Bilder typisch ist. Im Allgemeinen sollte es vorzugsweise
beliebige Bit-Tiefen unterstützen.
-
Der
Vorteil der Komprimierung kann erheblich verbessert werden, wenn
der gesamte Datensatz vor der Visualisierung nicht dekomprimiert
werden muss. Deshalb ist es wichtig, dass der komprimierte Bitdatenstrom
skalierbar ist. Unter Berücksichtigung, dass
die Clients typischerweise in der Anzeigegröße beschränkt sind, sollten die vom Server übertragenen
Daten in der Auflösung
skalierbar sein. Dies ermöglicht
es einem Client, eine Version des Volumens mit niedriger Auflösung zu
durchzusuchen und in geeigneter Weise ein Teilvolumen (volume of
interest, VOI) auszuwählen.
Eine Verzerrungsskalierbarkeit ist ebenfalls wünschenswert, so dass das VOI
des Clients stufenweise in der Qualität verfeinert werden kann.
-
Darüber hinaus
ist eine Skalierbarkeit hinsichtlich der Position oder räumlichen
Anordnung in interaktiven Anwendungen wünschenswert, wobei interaktive
Anwender beabsichtigen könn ten,
einen bestimmten Unterabschnitt des Volumens anzusehen. Da die Wiedergabezeit
bezüglich
der Größe des Datensatzes
linear ist, sollte die Komprimierungstechnik auf einem mehrfach
auflösenden
Rahmenwerk basieren, wobei eine Ansicht in reduzierter Auflösung es
ermöglicht,
sowohl über
das Netz übertragene komprimierte
Daten als auch Wiedergabezeit einzusparen.
-
Es
wurden bereits zahlreiche Techniken der Bildkomprimierung vorgeschlagen,
wobei viele davon einige der oben erwähnten Skalierbarkeitsbeschränkungen
unterstützen.
Beliebte Techniken des Standes der Technik umfassen Embedded Zero-Tree Wavelet
Coding (EZW) und Set Partitioning in Hierachical Trees (SPIHT),
wobei beide Wavelet-Codierungsverfahren sind. Der JPEG2000-Standard
z. B. erlaubt die Sortierung von Bits im komprimierten Datenstrom,
um sich für
die Zielstellung zu eignen.
-
Ein
bekanntes Verfahren zur Visualisierung des Datensatzes ist es, Volumenrendering
zu verwenden. Volumenrendering verwendet eine Übertragungsfunktion, die Voxel-Intensitätswerte
Farb- und Opazitätswerten
zuordnet. Was derzeit benötigt
wird, ist eine verbesserte Technik zur priorisierten Bildvisualisierung
aus skalierbaren komprimierten Daten.
-
Aus
der
DE 102 17 886
A1 ist ein medizinisches Datensystem zum lokalen und internetbasierten
Zugriff auf in einem Datenspeicher einer medizinischen Einrichtung
gespeicherte medizinische Daten bekannt, das ein Server-Programm
zum lokalen Zugriff auf die Daten des Datenspeichers und ein um ein
Web-Applikations-Server-Programmerweitertes Web-Server-Programm
zum internetbasierten Zugriff auf die Daten des Datenspeichers aufweist,
wobei bei einer Anforderung von Daten aus dem Datenspeicher über das
Internet das Netz-Server-Programm das Web-Applikations-Server-Programm
keinen im Zusammenhang mit der Anforderung stehenden Prozesszustand über die
Anforderung hinaus zwischenspeichern.
-
Aus
der
EP 1 217 556 A2 ist
ein Verwaltungssystem für
medizinische Bilder bekannt, das es erlaubt, einen gängigen Internetbrowser
als medizinische Workstation zu verwenden, in dem medizinische Bilder
aus einer Vielzahl von Bildformaten in ein browserkompatibles Format
umgewandelt werden.
-
Die
US 6 014 694 A lehrt
ein System, das einen adaptiven Transport von Videodaten über ein Netzwerk,
in dem die verfügbare
Bandbreite zeitlich variiert, erlaubt. Dazu werden Bildrate und
Bildauflösung
der Videobilder an die verfügbare
Netzwerkbandbreite angepasst.
-
Aus
der
US 2003/0174883
A1 ist ein Verfahren zur gewichteten Informationsübertragung
bekannt, bei dem ein komplettes Datenvolumen, entweder beginnend
mit Higher-Order-Daten und endend mit Lower-Order-Daten oder in
umgekehrter Reihenfolge übertragen
wird. Dabei wird der skalare Bereich der Volumendaten nach deren
Intensitätswerten
geordnet.
-
Aus
der
US 6,182,114 B1 ist
ein Verfahren bekannt, bei dem durch einen Server ein Bild mit niedriger
Auflösung
bereitgestellt wird und eine vom Nutzer am Client ausgewählte Region
dann selektiv verbessert wird.
-
Aus
dem Artikel „Lossy
to Lossless Object-Based Coding of 3-D MRI Data” von G. Menegaz, J. Thiran,
IEEE Transactions an image processing, Vol. 11, No. 9, September
2002, ist es bekannt, die Voxel eines Bildes nach ihrer räumlichen
Lage in Bins zusammenzufassen. Der D4 ist somit eine Objekt-basierte
Codierung zu entnehmen, bei der ein vorher segmentiertes und definiertes
Objekt priorisiert gegenüber
anderen Objekten übertragen
werden kann.
-
Nachteilig
bei all diesen Systemen ist jedoch, dass es bei einer beschränkten Bandbreite
der Verbindung zwischen Server und Client entweder sehr lange dauert,
bis eine gewünschte
Teilstruktur eines Bildes übertragen
ist oder eine schnellere Übertragung
der gewünschten
Teilstruktur eines Bildes mit einem signifikant reduzierten Auflösungsgrad
dieser Teilstruktur erkauft wird.
-
Die
Aufgabe der Erfindung besteht darin, diese Nachteile des Standes
der Technik durch ein Verfahren zur priorisierten Bildvisualisierung
aus skalierbaren komprimierten Daten zu beheben, das zu einem verbesserten
Ansichtserlebnis führt.
-
Diese
Aufgabe wird gelöst
durch ein Verfahren mit den Merkmalen des Anspruchs 1.
-
Eine
Ausführungsform
des entsprechenden Verfahrens umfasst das Empfangen einer interaktiven
Priorisierungsanfrage von einem Client, das Priorisieren der Übertragung
der komprimierten Daten bezogen auf die Bin-Optimierung als Antwort
auf die interaktive Priorisierungsanfrage und das Übertragen der
priorisierten komprimierten Daten zum Client.
-
Diese
und andere Aspekte, Merkmale und Vorteile der vorliegenden Offenbarung
werden anhand der folgenden Beschreibung von beispielhaften Ausführungsformen
deutlich, die in Verbindung mit den beigefügten Zeichnungen zu lesen ist.
-
Kurze Beschreibung der Zeichnungen
-
Die
vorliegende Offenbarung lehrt die priorisierte Bildvisualisierung
aus skalierbaren komprimierten Daten gemäß der folgenden beispielhaften Figuren,
in denen:
-
1 eine
schematische Darstellung eines Client-Server-Modells zeigt;
-
2 ein
Flussdiagramm für
die priorisierte Bildvisualisierung aus skalierbaren komprimierten Daten
gemäß einer
beispielhaften Ausführungsform der
vorliegenden Offenbarung zeigt;
-
3 eine
grafische Darstellung von Bin- und Code-Block-Masken gemäß einer beispielhaften Ausführungsform
der vorliegenden Offenbarung zeigt;
-
4 eine
grafische Darstellung von Vergleichsvolumenschnitten einschließlich eines Schnitts
mit Bin-optimierter
Ausgabe gemäß einer beispielhaften
Ausführungsform
der vorliegenden Offenbarung zeigt;
-
5 eine
grafische Darstellung für
Spitzenwert-Signal-Geräuschverhältnisse
(PSNR) als Funktion der vom Server übertragenen Daten mit und ohne
Bin-optimierte Ausgabe
gemäß einer
beispielhaften Ausführungsform
der vorliegenden Offenbarung zeigt;
-
6 eine
grafische Darstellung einer Bin-Maske und einer der Bin-Maske entsprechenden Code-Block-Maske
gemäß einer
beispielhaften Ausführungsform
der vorliegenden Offenbarung zeigt;
-
7 eine
grafische Darstellung einer priorisierten Ausgabe unter Verwendung
der Bin-Maske aus 6 zeigt;
-
8 eine
grafische Darstellung von Knochen darstellt, der aus einem unkomprimierten
Volumen wiedergegeben ist;
-
9 eine
grafische Darstellung von Knochen zeigt, wiedergegeben nach 1,5
MB von priorisierter Übertragung
für die
Knochen-Bin gemäß einer beispielhaften
Ausführungsform
der vorliegenden Offenbarung;
-
10 eine
grafische Darstellung von Knochen zeigt, wiedergegeben nach 1,5
MB standardmäßiger nicht
priorisierter Übertragung;
-
11 eine
grafische Darstellung von Knochen zeigt, wiedergegeben nach 2 MB
von priorisierter Übertragung
für die
Knochen-Bin gemäß einer beispielhaften
Ausführungsform
der vorliegenden Offenbarung;
-
12 eine
grafische Darstellung für
Knochen zeigt, wiedergegeben nach 2 MB standardmäßiger nichtpriorisierter Übertragung;
-
13 eine
grafische Differenzdarstellung zwischen den 11 und 8 zeigt;
und
-
14 eine
grafische Differenzdarstellung zwischen den 12 und 8 zeigt.
-
Detaillierte Beschreibung
der bevorzugten Ausführungsformen
-
Es
wird ein System und ein Verfahren zur priorisierten Bildvisualisierung
aus skalierbaren komprimierten Daten vorgestellt. Eine Vielzahl
von Visualisierungsmodellen kann verwendet werden, um Voxel-Daten
zu visualisieren. Abhängig
vom Visualisierungsmodell und den Visualisierungsparametern, wie z.
B. Blickpunkt und dergleichen, kann lediglich ein gewisser Anteil
der Daten letztlich zur wiedergegebenen Ausgabe beitragen. Deshalb
priorisiert eine intelligente Serverausführungsform die komprimierten Datenpakete
basierend auf ihren potenziellen Beiträgen zur wiedergegebenen Anzeigeausgabe.
-
Das
Volumenrendering von komprimierten dreidimensionalen (3D)-Daten
unter Verwendung des JPEG-Standards wurde zuvor angesprochen. Ein
Nachteil des JPEG-Standards ist, dass er auf einem Modell der diskreten
Cosinus-Transformation (DCT) basiert, das hinsichtlich der Skalierbarkeit
einen Mangel an Fülle
aufweist. JPEG2000 wurde in Teil 2 des Standards erweitert, um eine
Spezifikation der diskreten Wavelet-Transformation (DWT) entlang der Komponentenrichtung
bereitzustellen.
-
Eine
beispielhafte Ausführungsform
der vorliegenden Offenbarung verwendet skalierbare komprimierte
Daten, die den JPEG2000-Standard erfüllen. In anderen Ausführungsformen
können
andere Arten von skalierbaren komprimierten Daten verwendet werden
wie z. B. Daten, die dem vorgeschlagenen MPEG Scalable Video Coder
(MPEG SVC) und dergleichen entsprechen.
-
Als
Bildkomprimierungsstandard ist JPEG2000 hoch skalierbar und unterstützt die
Erweiterung von zweidimensionalen (2D) Algorithmen, um Volumen zu
unterstützen.
Z. B. wurde eine dreidimensionale (3D) reversible ganzzahlige Wavelet-Tranformation kombiniert
mit EZW vorgestellt, um eine verlustlose Komprimierung zu erzielen,
wogegen ansonsten 3D-SPIHT
verwendet wurde.
-
Eine
der Anforderungen der Telemedizin ist es, Fernvisualisierung und
Durchsuchen von medizinischen Volumendaten zu ermöglichen.
Deshalb besteht ein Bedarf, skalierbare Komprimierungsmodelle und
wirksame Client-Server-Modelle zu verwenden, um eine Interaktivität und ein
verbessertes Ansichtserlebnis zu erreichen. Ausführungsformen der vorliegenden
Offenbarung umfassen Modelle, die JPEG2000 und JPIP (JPEG2000 Interactive
Protocol) verwenden, um Daten in einer mehrfach auflösenden und
stufenweisen Art zu übertragen.
Der Server wertet die räumliche
Lage aus, die durch die Wavelet-Transformation und die paketindizierende Information
angeboten wird, um die komprimierten Volumendaten zu übertragen,
die bezüglich
einer bestimmten Anfrage des Clients relevant sind. Sobald der Client
sein Teilvolumen (volume of interest, VOI) identifiziert, wird das
Volumen stufenweise innerhalb des Teilvolu mens von einer verlustbehafteten
bis zu einer schließlich
verlustlosen Darstellung verfeinert. Kontextuelle Hintergrundinformation
kann ebenfalls mit einer Qualität
zur Verfügung
gestellt werden, die vom Teilvolumen weg abnimmt.
-
Eine
Priorisierung ermöglicht
es dem Client, schrittweise Bildinhalt aus einer komprimierten Datei zu
visualisieren. In einer beispielhaften Ausführungsform stellt der Client
Anfragen, um schrittweise Daten zu empfangen, die irgendeinem bestimmten
Gewebetyp entsprechen. Der Server ist nun in der Lage, dieselbe
komprimierte Datendatei während
der Übertragung
wieder zu ordnen, um priorisierte Datenpakete gemäß der Anfrage
des Clients zu liefern.
-
Demzufolge
hat der interaktive Benutzer die Freiheit, irgendeinen Unterabschnitt
des Volumens bei variabler Auflösung
mit unterschiedlichen Stufen der optischen Qualität zu durchsuchen
und wiederzugeben, und ist ebenfalls in der Lage, jeden beliebigen Satz
von Gewebetypen mit verbesserter Qualität zu visualisieren. Die sich
ergebende Ausführungsform des
Systems ist in idealer Weise für
bandbreitenbeschränkte
Systeme geeignet, die komprimierte volumetrische Daten auf einem
Server aufweisen, die von einem Client durchsucht werden sollen.
-
Wie
in 1 dargestellt ist ein Client-Server-Modell im
Allgemeinen mit der Bezugsziffer 100 gekennzeichnet, der
Client-Server 100 umfasst einen Server 110 und
einen Client 120, der in Signalkommunikation mit dem Server
steht. Der Server 110 umfasst einen Datenbankserver 112,
einen Transcoder 114, der in Signalverbindung mit dem Datenbankserver
steht, und ein Cache-Speicher-Modell 116, das in Signalverbindung
mit dem Transcoder steht. Der Client 120 umfasst einen
Entkomprimierer 122, ein Renderingmodul 124, das
in Signalverbindung mit dem Entkomprimierer steht, und einen Cache-Speicher 126,
der in Signalverbindung mit dem Renderingmodul steht.
-
Mit
Blick auf 2 ist ein Verfahren zur priorisierten
Bildvisualisierung aus skalierbaren komprimierten Daten allgemein
mit der Bezugsziffer 200 gekennzeichnet. Das Verfahren 200 umfasst
einen Anfangsblock 210, der die Steuerung an einen Eingabe-/Ausgabeblock
(I/O) 212 übergibt.
Beim Block 212 fordert ein Client priorisierte komprimierte
Daten von einem Server an, und die Steuerung wird an einen Funktionsblock 214 übergeben.
In Block 214 transcodiert der Server die komprimierten
Daten zur Bin-Priorisierung, und die Steuerung wird an einen Funktionsblock 216 übergeben.
Im Block 216 hält
der Server sein Cache-Modell des Cache-Speichers des Clients, und
die Steuerung wird an einen I/O-Block 218 übergeben.
Im Block 218 überträgt der Server
priorisierte komprimierte Daten an den Client, und die Steuerung
wird an einen I/O-Block 220 übergeben.
-
Im
I/O-Block 220 empfängt
der Client wiederum die priorisierten komprimierten Daten vom Server, und
die Steuerung wird an einen Funktionsblock 222 übergeben.
Im Funktionsblock 222 dekomprimiert der Client die priorisierten
Daten, und die Steuerung wird an einen Funktionsblock 224 übergeben.
Im Funktionsblock 224 gibt der Client die priorisierten Daten
wieder, und die Steuerung wird an einen Anzeigeblock 226 übergeben.
In Block 226 zeigt der Client die priorisierten Daten an,
und die Steuerung wird an einen Entscheidungsblock 228 übergeben.
Der Block 228 bestimmt, ob der Client mehr Daten anfordert,
und wenn ja, wird die Steuerung zurück an den Funktionsblock 214 gegeben.
Andernfalls, wenn der Client keine Daten mehr anfordert, wird die
Steuerung an einen Endblock 230 übergeben.
-
Wendet
man sich nun 3 zu, sind Masken von Knochendaten
von einem Schnitt eines volumetrischen Datensatzes allgemein mit
der Bezugsziffer 300 gekennzeichnet. Die Masken umfassen
eine Bin-Maske 310 und eine Code-Block-Maske 320,
die die relevanten Code-Blöcke
auf dem unteren Bandbereich darstellt.
-
Vier
Transformationsstufen wurden entlang der x-, y- und z-Richtung angewendet,
um die Masken zu ermitteln.
-
Wie
in 4 gezeigt sind die Volumenschnitte, die den Effekt
der Bin-optimierten Ausgabe veranschaulichen, allgemein mit der
Bezugsziffer 400 gekennzeichnet, ein Schnitt 410 ohne
Bin-optimierte Ausgabe und ein weiterer Schnitt 420 mit
Bin-optimierter
Ausgabe sind in einer Stufe angezeigt, wenn ungefähr dieselbe
Menge an komprimierten Daten, oder ungefähr 3 MB, von derselben komprimierten Datei
durch den Server übertragen
worden ist. Die allgemeine komprimierte Datei umfasst 256 Schnitte, die
mit vier Transformationsstufen entlang der drei Dimensionen komprimiert
sind. In diesem Fall wurde der Knochen vom Client angefordert. Alle
Schnitte wurde vom Server übertragen
und vom Client dekomprimiert, wobei die entsprechenden Zonen mit höherer Genauigkeit übertragen
wurden. Im Schnitt 420 weisen die den Knochen entsprechenden
Bereiche eine höhere
optische Qualität
auf Kosten einer niedrigeren optischen Qualität in den Bereichen in der Mitte
auf.
-
Hinsichtlich 5 sind
Spitzen-Signal-Geräusch-Verhältnisse
(PSNR) allgemein mit der Bezugsziffer 500 bezeichnet. Das
PSNR ist als eine Funktion der vom Server übertragenen Daten mit und ohne
Bin-optimierter Ausgabe dargestellt. Das PSNR innerhalb der Bin
ist erheblich höher
mit Bin-optimierter Ausgabe. Das PSNR außerhalb der Bin ist ebenfalls
dargestellt. Die ausgewählte
Zonengröße war 16 × 16. Die
ausgewählte
Code-Block-Größe war 8 × 8.
-
Wendet
man sich nun 6 zu, sind auf die linke Hälfte des
Volumens begrenzte Masken allgemein mit der Bezugsziffer 600 gekennzeichnet.
Eine Bin-Maske 610 entspricht den auf die linke Hälfte des Volumens
begrenzten Knochen, und eine Code-Block-Maske 620 entspricht
der Bin-Maske.
-
Wie
in 7 dargestellt sind Ergebnisse für eine priorisierte
Ausgabe unter Verwendung der Bin-Maske 610 von 6 allgemein
mit der Bezugsziffer 700 gekennzeichnet, wobei das Ergebnis 710 den
Gewichtungen wb = 2048 auf allen unteren Bändern entspricht, und wobei
das Ergebnis 720 den Gewichtungen von wLL4 = 2048 und wb
= 1024 auf den anderen unteren Bändern
entspricht. Das Ergebnis 720 hat die Blockartigkeit aufgrund
der erhöhten
Betonung des gesamten LLDxy-Bandes reduziert.
-
Unter
Bezugnahme auf 8 ist ein wiedergegebener Knochen,
nachdem das vollständige
unkomprimierte Volumen vom Client empfangen wurde, allgemein mit
dem Bezugszeichen 800 gekennzeichnet.
-
Wie
in 9 dargestellt ist ein wiedergegebener Knochen,
nachdem 1,5 MB an priorisierter Übertragung
für die
Knochen-Bin vom
Client empfangen wurden, allgemein mit der Bezugsziffer 900 gekennzeichnet.
Hier betragen die beobachteten PSNR-Werte für den Knochen, den Hintergrund
und das gesamte Volumen 40.25, 40.15 bzw. 40.15 dB.
-
Im
Hinblick auf 10 ist ein wiedergegebener Knochen,
nachdem 1,5 MB an Standard- oder nicht priorisierter Übertragung
durch den Client empfangen wurden, allgemein mit der Bezugsziffer 1000 gekennzeichnet.
Hier betragen die beobachteten PSNR-Werte für den Knochen, den Hintergrund
und das gesamte Volumen 34.05, 40.72 bzw. 40.51 dB.
-
Wendet
man sich nun 11 zu, ist der wiedergegebene
Knochen, nachdem 2 MB an priorisierter Übertragung für die Knochenklasseneinteilung durch
den Client empfangen wurden, allgemein mit der Bezugsziffer 1100 gekennzeichnet.
-
Hier
betragen die beobachteten PSNR-Werte für den Knochen, den Hintergrund
und das gesamte Volumen 41.73, 40.44 bzw. 40.46 dB.
-
Wie
in 12 dargestellt, ist der wiedergegebene Knochen,
nachdem 2 MB an Standard- oder nicht priorisierter Übertragung
durch den Client empfangen wurden, allgemein mit der Bezugsziffer 1200 gekennzeichnet.
Hier betragen die beobachteten PSNR-Werte für den Knochen, den Hintergrund
und das gesamte Volumen 35.06, 41.16 bzw. 35.08 dB.
-
Unter
Bezugnahme auf 13 ist ein Differenzbild zwischen
den Wiedergaben 1100 der 11 und 800 der 8 allgemein
mit der Bezugsziffer 1300 gekennzeichnet. Dies ist die
Differenz zwischen 2 MB priorisierter Übertragung gegenüber dem
gesamten unkomprimierten Datensatz.
-
Wendet
man sich nun 14 zu, ist ein Differenzbild
zwischen den Wiedergaben 1200 der 12 und 800 der 8 allgemein
mit der Bezugsziffer 1400 gekennzeichnet. Dies ist die
Differenz zwischen 2 MB Standard- oder nicht priorisierter Übertragung
gegenüber
dem vollständigen
unkomprimierten Datensatz.
-
In
Betrieb können
die volumetrischen Datensätze
ziemlich groß sein,
deshalb werden Speicher- und Platten-Cache-Modelle verwendet, um
die Leistung zu steigern. Deshalb hält der Client 120 aus 1 einen
Cache-Speicher 126 der vom Server übertragenen Daten, und ist
in der Lage, Elemente aus dem Cache-Speicher zu löschen, sobald sie sich außerhalb
des VOI eines interaktiven Benutzers befinden. Der Server wiederum
hält das
Modell 116 des Cache-Speichers des Clients, um ein erneutes
Senden von allen Elementen zu vermeiden, die der Client bereits
in seinem Cache-Speicher hat. Das Erfordernis, dass der Server sich
des Inhalts des Cache-Speichers des Clients bewusst ist, ist besonders
wichtig bei Wavelet-basierten Komprimierungsmodellen, da sogar VOIs
eine erhebliche Überlappung
an komprimierten Daten aufweisen können. Darüber hinaus ermöglicht das
Kommunikationsprotokoll, dass der Client seinen Cache-Speicherstatus
dem Server mitteilt.
-
Das
Kommunikationsprotokoll zwischen dem Client 120 und dem
Server 110 verwendet vorzugsweise ein generisches Protokoll,
das in einfacher Weise bei einer Auswahl von Kanälen eingesetzt wird. Das Client-Server-Protokoll
ist transportneutral, und jedes vom Server zurückgelieferte Paket ist eine in
sich abgeschlossene Einheit. Dieses Merkmal resultiert aus der Tatsache,
dass Pakete außerhalb
der Reihenfolge empfangen werden können, und der Client nicht
warten müssen
sollte, um seinen Cache-Speicher zu verbessern. Ein derartiges Modell wird
in erhöhtem
Maß wichtig,
wenn Übertragungsprotokolle
mit sehr wenigen Fehlerbehebungsdiensten und/oder hohen Paketlöschungskanälen versendet
werden. In solchen Fällen
würde das
Fehlen eines derartigen in sich abgeschlossenen Modells bedeuten,
dass der Client warten müsste,
bis der Server verlorene Pakete erneut sendet.
-
In
Betrieb des Client-Server-Modells 100 aus 1 können volumetrische
Datensätze
vom Datenbankserver 112 gespeichert und gepflegt werden,
so dass einer oder mehrere dezentrale Clients 120 die Datensätze interaktiv
durchsuchen können.
Ein Client kann eine einfache Arbeitsstation mit begrenzter Bandbreite,
Speicher und Verarbeitungsleistung sein. Eines der grundlegenden
Erfordernisse eines Clients ist eine Breite hinsichtlich der Interaktivität innerhalb
einer Vielfalt von Netzbedingungen. Z. B. kann ein interaktiver
Benutzer die Ansicht mit reduzierter Auflösung, die Möglichkeit, einen ausgewählten Unterabschnitt
des Volumens anzusehen, sowie die Möglichkeit benötigen, ausgewählte Schnitte
zu schwenken, zu zoomen und anzusehen, all dies mit einem angenehmen
und in Echtzeit stattfindenden Ansichtserlebnis, das eine unmittelbare
und stufenweise Verfeinerung des Ansichtsvolumens aufweist. Ein
Benutzer ist im Allgemeinen bereit, anfänglich auf etwas Wiedergabequalität oder Bildfeld
zugunsten der Echtzeitleistung zu verzichten. Ein Benutzer wie z.
B. ein Radiologe oder Krankenhausarzt könnte auch Bedarf haben, dem
Datensatz Schnitt für Schnitt
zu untersuchen oder das Volumen zu visualisieren, um einen Überblick
zu bekommen.
-
In
den Masken der Knochendaten 300 aus 3, die aus
einem Schnitt eines volumetrischen Datensatzes sind, ergibt die
Bin-Maske 310 die Code-Block-Maske 320, die wiederum
die relevanten Code-Blöcke
im Bereich des unteren Bandes darstellt. Vier Transformationsstufen
wurden entlang der x-, y- und z-Richtungen
angewendet, um die Masken zu erhalten.
-
Die
grundlegenden Volumenvisualisierungsalgorithmen sind von zwei Arten:
Direkte Volumenrendering-(DVR)-Algorithmen und Oberflächenanpass-(Surface-Fitting,
SF)-Algorithmen. DVR umfasst Ansätze
wie Ray-Casting und Splatting. Nachteilig an DVR ist, dass der gesamte
Datensatz vor jedem wiedergegebenen Bild durchlaufen werden muss.
Manchmal wird schnell ein Bild mit niedriger Auflösung erzeugt,
um das Volumen zu überprüfen, und
dann verfeinert, was man ”stufenweise
Verfeinerung” (progressive
refinement) nennt. SF-Verfahren passen ISO-Oberflächen wie z. B. planare Polygone oder
Oberflächenstücke, an
Konturoberflächen
mit konstantem Wert an. SF-Verfahren sind gewöhnlich schneller als DVR-Verfahren,
da sie den Datensatz genau einmal für einen gegebenen Grenzwert
durchlaufen. Neue Ansichten der Oberfläche können schnell erzeugt werden.
Die Verwendung einer neuen FS-Grenze ist jedoch zeitaufwändig, da
die Zellen wieder inspiziert werden müssen, um neue Oberflächen zu
extrahieren.
-
Die
Datenklassifikation kann die Auswahl eines skalaren Grenzwertes
für SF-Algorithmen
oder die Auswahl von Opazitätswerten
für DVR-Algorithmen
umfassen. Eine Opazitätsübertragungsfunktion wird
verwendet, um die relevanten Segmente herauszustellen, und die uninteressanten
transparent zu machen. Für
aus CT-Scannern erfasste Daten bestimmt die Pixelintensität im Allgemeinen
den Gewebetyp. Deshalb können
skalare Voxelwerte eine Schlüsselrolle
bei der Bestimmung der komprimierten Daten spielen, die für einen
interaktiven Client von Interesse sind.
-
Um
im Codestrom skalare Werte zu identifizieren, wird der skalare Bereich
der Volumendaten in Bins (Behälter)
aufgeteilt, wobei jeder Bin den Intensitätsbereich darstellt, auf den
ein bestimmtes Gewebe begrenzt ist. Bins sind im Allgemeinen nicht gleichmäßig beabstandet.
Jedes Voxel wird einem bestimmten Bin zugeordnet, oder kann unzugeordnet bleiben.
Erfindungsgemäß werden
die komprimierten Volumendaten, die jedem Bin entsprechen, identifiziert.
Für jeden
Bin wird eine Bin-Maske erzeugt, wie z. B. die Bin-Maske 310 aus 3.
Die Bin-Maske ist ein Satz von Voxeln, die zu dem Bin gehören. Aufgrund
der begrenzten räumlichen
Ausdehnung der DWT, ist es möglich,
jedes Voxel auf einen Satz von Wavelet-Koeffizienten unter Verwendung
der Basisfläche
des Wavelet-Kernels zu verfolgen, der für die Transformation der Volumendaten
verwendet wurde. Dies kann rekursiv von jeder Auflösung zur
nächst niedrigeren
Auflösung
erreicht werden. Auf diese Weise wird jede Bin-Maske, die auf dem
Volumendatenraster definiert ist, auf eine Maske auf dem Raster des
unteren Bandes abgebildet. Diese Maske wird verwendet, um zu identifizieren,
ob ein Code-Block zu einem Bin beiträgt. Der Satz von Code-Blöcken, die
zu einem Bin beitragen, bildet eine Code-Block-Maske auf dem Raster
des unteren Bandes, wie z. B. die Code-Block-Maske 320 aus 3.
-
Damit
zeigen die Masken 300 aus 3 die Bin-Maske 310 und
die Code-Block-Maske 320 für einen Schnitt eines Volumens.
Dieses Verfahren erfordert vernachlässigbaren zusätzlichen
Berechnungsaufwand. Die Code-Block-Maske wird erfindungsgemäß während der
Volumenkomprimierung erzeugt und ist ein einmaliger Aufwand. Der
Bin von jedem Voxel wird bestimmt, während er gelesen wird. Aufgrund
der Schmiereffekte des Wavelet-Filters
können die
Code-Block-Masken eine gewisse Überlappung aufweisen.
D. h., ein Code-Block kann mehr als einen Gewebetyp betreffen. Deshalb
wird erfindungsgemäß eine Bin-Tabelle
erzeugt zur Identifizierung der Bins, auf die jeder Code-Block einen
Einfluss ausübt. Es
ist ein Feld bi enthalten, das den Prozentsatz der Koeffizienten
des Code-Blocks i anzeigt, der zum Bin b beiträgt. Diese Tabelle wird in einer
Datei auf dem Server gespeichert. Diese Tabellendatei kann für jedes
Bin in unkomprimierter Form als Binärvolumen dargestellt werden.
Ein Bit ist für
jeden Code-Block erforderlich, um zu bestimmen, ob es zu dem Bin
beiträgt.
Für ein
512 × 512 × 256 großes erstes
Beispieltestvolumen wie z. B. eines Ausschnitts aus einem CT-Scan
eines Abdomens betrug unter Verwendung einer Code-Block-Größe von 8 × 8 die
Größe der Tabellendatei
für einen
Bin 0.051625 Bits/Voxel. Die Tabellendatei kann man sich als eine
binäre
Maske vorstellen und kann auf einfache Weise komprimiert werden.
-
Ein
Ansatz, um eine skalierbare Darstellung zu erzeugen, wäre, einfach
die Verzerrungsratensteigerungen des betreffenden skalaren Bins,
b, mit einer Gewichtung wb vor der Ratenzuweisung während der
Komprimierung zu multiplizieren. Dies ergäbe sicherlich ein verbessertes
Ansichtserlebnis für zum
Bin b gehörende
Voxels. Dies erzeugt jedoch eine vordefinierte Bin-Präferenz in
der komprimierten Datei. Wenn der Client einen anderen Bin wiedergeben
möchte,
würde dies
ein erneute Komprimierung des Bitstroms erfordern. Deshalb werden
erfindungsgemäß durch
den Server die dazugehörigen
Daten direkt (on the fly) aus einem einzigen komprimierten Codestrom
bestimmt und übertragen,
um in jedem Bin für
ein verbessertes Ansichtserlebnis zu sorgen.
-
Deshalb
werden Packet-Length Tile-part (PLT) Markiersegmente im Codestrom
verwendet, um für
einen Zufallszugriff auf Pakete aus dem Codestrom zu sorgen. Da
die Zonengrößen willkürlich ausgewählt sein
können
und manchmal groß genug
sind, dass sie das gesamte untere Band belegen, transcodiert der
Server optional das Eingabevolumen direkt (on the fly) in eines
mit kleineren oder in der Größe angepassten
Zonen, die so klein wie die Größe des Code-Blocks
sein können.
Das Transcodieren verbraucht keine wesentlichen Ressourcen, da das Transcodieren
einfach existierende Codeblöcke
neu verpackt, um kleineren Zonengrößen zu entsprechen, ohne sie
tatsächlich zu
decodieren. Ein Transcoder wie z. B. der Transcoder 114 aus 1 bietet dadurch
eine für
eine interaktive Visualisierung geeignete Granularität.
-
Vor
dem Liefern der Daten werden die Zonen neu in Pakete geschichtet,
um einen oder mehrere Daten-Bins wie vom Client ausgewählt hervor
zu heben. Vor dem erneuten Schichten bestimmt erfindungsgemäß der Server
aus der Bin-Tabelle den Grad, mit dem jede Zone P zur Code-Block-Maske Bb
für den
Bin b beiträgt.
Dies wird die Bin-Relevanz abp der Zone P genannt, wie durch die
Gleichung 1 von Tabelle 1 definiert, wobei N die Anzahl der Code-Blöcke ist,
die die Zone P bilden. Das Feld bi wird aus der Bin-Tabelle ermittelt.
Die Steigungen der Verzerrungsrate jedes Pakets aus der Zone P werden anschließend mit
1 + (abp)(wb) gewichtet. Die Gewichtung wb bestimmt die Wichtigkeitsstufe,
die mit dem Empfang der Voxel-Daten
verbunden ist, die dem Bin b entsprechen, vor dem Rest des Volumens. Eine
Gewichtung von Null hat ein Fehlen der Gewichtung zur Folge. Eine
Gewichtung wb entspricht grob einer Bit-Ebenenverschiebung der relevanten
Koeffizienten des Code-Blocks
im unteren Band um log2wb Bit-Ebenen. Die ersichtlichen oder gewichteten
Steigungen der Verzerrungsrate des Pakets aus der Zone P bei der
Schicht l sind durch Gleichung 2 aus Tabelle 1 gegeben. Folglich
wird den Paketen eine obere Schicht l' < l
neu zugeordnet, so dass Gleichung 3 der Tabelle 1 erfüllt ist.
-
In
den Volumenschnitten 400 aus 4, die die
Wirkung einer Bin-optimierten Ausgabe veranschaulichen, werden ein
Schnitt 410 ohne Bin-optimierte Ausgabe und ein weiterer
Schnitt 420 mit Bin-optimierter Ausgabe in einer Stufe
angezeigt, wobei annähernd
dieselbe Menge an komprimierten Daten aus derselben komprimierten
Datei durch den Server übertragen
wurde. Die Bereiche im anderen Schnitt 420, die dem interaktiv
ausgewählten
Gewebetyp von diesem Fall Knochen entsprechen, weisen eine höhere optische
Qualität
als die Bereiche im Schnitt 410 auf. Obwohl die JPIP-Anfragesyntax selbst
die Extraktion von einigen Bereichen von Interesse im Bild unterstützt, sind
sie darauf beschränkt, rechteckig
zu sein und wären
in solch einem Fall nicht anwendbar, da der Bin über das Volumen verstreut ist.
-
Die
Schnitte 410 und 420 sind aus einem beispielhaften
CT-Scan eines Abdomens,
nachdem drei MBytes an komprimierten Daten vom Server übertragen
wurden. Die gemeinsame komprimierte Datei enthält 256 Schnitte, komprimiert
mit vier Transformationsstufen entlang der drei Dimensionen. In
diesem Fall wurde der Knochen vom Client angefordert. Alle Schnitte
wurden vom Server übertragen
und vom Client dekomprimiert, wobei die relevanten Zonen mit größerer Genauigkeit übertragen
wurden. Wie dargestellt haben die weißen Bereiche aus 420,
die dem Knochen von 3 entsprechen, eine höhere optische
Qualität
zulasten einer geringeren optischen Qualität in den Bereichen in der Mitte,
die keine Knochen darstellen.
-
Die
Spitzen-Signal-Geräusch-Verhältnisse (PSNR) 500 aus 5 vergleichen
den schrittweisen Anstieg im PSNR der Bin, wenn Daten vom Client empfangen
werden, mit und ohne Bin-optimierte
Zuführung.
Aus der Figur ist ersichtlich, dass die Bin-optimierte Zuführung etwa
5 MB Datentransfer erfordert, um ein PSNR von 46 dB für die Daten
innerhalb des Bins zu erzielen, wohingegen 11 MB an Daten übertragen
werden müssen,
um die gleiche Rekonstruktionsqualität zu erzielen, wenn eine Bin-optimierte
Zuführung
nicht verwendet wird. Durch Variieren der Gewichtung wb ist es möglich, einen
Bereich von Priorisierungen innerhalb des Bins zu erhalten.
-
Die
PSNRs sind eine Funktion der vom Server mit und ohne Bin-optimierte Zuführung übertragenen
Daten. Das PSNR innerhalb des Bins ist erheblich höher mit
Bin-optimierter Zuführung.
Das PSNR außerhalb
des Bins ist ebenfalls dargestellt. Die ausgewählte Zonengröße war 16 × 16. Die
gewählte
Code-Block-Größe war 8 × 8.
-
Damit
zeigt 5 die Gewinne, die man mit zwei unterschiedlichen
Gewichtungen, 1024 und 8, erhält.
Höhere
Gewichtungen führen
zu höheren
Gewinnen. Es ist hier zu betonen, dass die Datenzuführung basierend
auf den Bildinhalt optimiert wird. Wenn a priori bekannt ist, dass
Knochen das einzige Gewebe von Interesse war, hätte der Server Knochen heraus
segmentieren und in einer separaten Datei komprimieren können, und
dies würde
weit weniger Datenübertragung
erfordern als die hier erwähnten
Modelle. Die vorliegende beispielhafte Anwendung erfordert jedoch,
dass der Client die Flexibilität
besitzt, um jede Art von Gewebe oder Segmentierung auszuwählen.
-
Der
Server kann größere Zonengrößen in kleinere
Abmessungen transcodieren, um die Granularität für eine interaktive Bin-Zuführung zu
erhöhen. Diese
Granularität
ist jedoch mit einem leichten Paketierzusatzaufwand verbunden. Ein
Paket ist die Basiseinheit der Übertragung.
Jedem Paket geht ein Paket-Header
voraus, der dazu dient, den Beitrag des Pakets zum Codestrom zu
identifizieren. Für
ein Volumen mit einer großen
Anzahl von Schnitten kann die Nettogröße der Paket-Header ebenfalls
eine geringfügige
Rolle spielen. Wenn beabsichtigt ist, das gesamte Volumen zu übertragen,
ist es klar, dass größere Zonengrößen effektiver
wären.
Kleinere Zonengrößen haben
mehr Pakete und damit eine größere Gesamtgröße von Paket-Headern
zur Folge. Um die Datenzuführung
innerhalb des Bins zu optimieren, ergeben kleinere Zonenabmessungen
höhere
PSNR-Werte innerhalb des Bins, da kleinere Zonen eine kompaktere
Darstellung des Bins bilden. Tabelle 2 zeigt den Effekt des Transcodierens
in kleinere Zonengrößen. Die
ausgewählte
Code-Block-Größe war 8 × 8. Die
PSNRs sind tabellarisch für
Zonengrößen von
16, 32 und 64 in zwei beispielhaften Fällen dargestellt.
-
Das
PSNR mit Bin-optimierter Zuführung
ist in dem interessierenden Bin höher, auf kalkulierten Kosten
einer Reduzierung des PSNR in von dem Bin-entfernten Bereichen.
Wenn der Bin auf einen kleinen räumlichen
Bereich beschränkt
ist, könnte der
Client blockartige Artefakte während
der Anfangsphasen der Durchsuchungssitzung sehen. Dies geschieht
bei den Ergebnissen 400 aus 4 nicht, da
die Schmiereffekte des Filters darin resultieren, dass nahezu das
gesamte LLDxy-Band gewichtet ist.
-
Die
Bin-Maske des Knochens 610, beschränkt auf die linke Hälfte des
Volumens, und die Code-Block-Maske 620, die der Bin-Maske
entsprechen, wurden mit Bezug auf 6 eingeführt. Wenn ein
Bin auf der linken Hälfte
des Volumens aus Knochengewebe besteht, wie in 6,
könnte
man am Ende bei blockartigen Artefakten wie in 710 aus 7 dargestellt
landen. Deshalb könnte
ein angenehmeres Durchsuchungserlebnis durch Reduzieren der Gewichtung
wb auf einen geeigneten Wert erzielt werden. Darüber hinaus kann eine Gewichtungsfunktion
wb(cbi) angewendet werden, die stufenweise von den relevantesten
zu den am wenigsten relevanten Bins abklingt. Alternativ wäre es eine
einfachere Lösung,
alle Code-Blöcke
im LLDxy-Band mit w LLDxy > max(wb)
zu gewichten oder ein paar Bänder
mit geringer Auflösung
zu gewichten. 700 aus 7 zeigt
die Reduktion der Blockartigkeit, die durch Gewichtung des gesamten
LLDxy-Bandes erhalten wurde.
-
Die
wiedergegebenen Bilder werden durch Anwendung des Priorisierungsmodells
auf Knochen in der beispielhaften Ausführungsform verglichen. 8 ist
aus einem unkomprimierten 512 × 512 × 256 (xyz)-Bereich
des Abdomens wiedergegeben. 9 bis 12 vergleichen
die Wiedergaben von 1,5 MB und 2 MB priorisierter und gleichmäßiger Übertragungen.
Die Qualitätsunterschiede
der wiedergegebenen Ausgabe sieht man in Form einer grobkörnigeren
Struktur und durch das Vorhandensein von zusätzlichen Löchern bei fehlender Priorisierung. 13 und 14 zeigen
die Differenzbilder der priorisierten und Standardmodelle gegenüber den
Originalwiedergaben. Es lässt
sich ersehen, dass die Differenzabbildung im priorisierten Fall
viel weniger dicht ist als im nicht priorisierten Fall, wodurch die
erhaltene Verbesserung bei den Wiedergaben für den Client veranschaulicht
wird.
-
Das
oben beschriebene Modell kann für
Volumenrendering verwendet werden und erzielt eine gute Leistung
für eine
schnittbasierte Ansicht. Im Falle des Volumenrenderings können jedoch
noch weitere Verbesserung erzielt werden. Um eine derartige Verbesserung
zu erreichen, wird die Bin-Tabelle nicht mehr während der Komprimierung erzeugt,
da die verbesserte Bin-Tabelle vom Blickpunkt des interaktiven Benutzers
abhängig
sein wird, der variieren kann. Ein generischer Ray-Caster verfolgt Strahlen durch
das Volumen, wobei die skalaren Voxel-Werte entlang des Strahls
gemäß einer
Strahlenfunktion verarbeitet werden. Die meisten Strahlenfunktionen verwenden
eine Alpha-Zusammenfügungstechnik (alpha
compositing technique), die die Werte entlang des Strahls als pro
Abstandseinheit angesammelte Opazitätsabtastwerte behandelt. Die
Relevanzmessung abp sollte dann eine Funktion der angesammelten
Opazität
entlang des Strahls sein, wobei er durch jeden Code-Block läuft. Der
Server kann sich außerdem
die frühe
Strahlenabbrechung (early ray termination) zunutze machen.
-
Sobald
die Opazität
den Okklusionsschwellwert erreicht, können nachfolgende Bin-relevante Werte
entlang des Strahls auf Null gesetzt werden. Die Priorisierung wird
in diesem Fall sowohl durch den Client als auch durch den Server
durchgeführt. Der
Server priorisiert Bereiche des Volumens basierend auf der Opazität für Bin-optimierte
Zuführung, während der
Client Bereiche des Volumens basierend auf der Sichtbarkeit priorisiert.
Die Sichtbarkeitsrelevanzmessungen können durch den Client berechnet
werden, sobald die niedrigste Auflösung dekomprimiert worden ist.
Eine ratenverzerrungsoptimierte Zuführung für die Bins kann dann auf die nachfolgenden
unteren Bänder
mit höherer
Auflösung
angewendet werden. Da die Daten mit höherer Auflösung im Client verfügbar werden,
kann die Bin-Tabelle weiter verfeinert werden. Es wurde ein Wavelet- basiertes Visualisierungsmodell
vorgeschlagen, wobei die Priorisierung vollständig vom Client durchgeführt wird
und bezüglich
verfeinerter Clientanfragen ausgedrückt wird, basierend auf Sichtbarkeitsschätzungen
einer geringeren Auflösung.
-
Die
offenbarten Techniken können
auf viele Erscheinungsbild-basierte
Bildübertragungs-
und Speicherprobleme über
medizinische Bilder hinaus angewendet werden. Alternative Beispiele
umfassen automatische Objekterfassung auf Fließbändern durch Maschinensicht,
Personengesichtserfassung bei der Sicherheitskontrolle und dergleichen.
Wie vom einschlägigen
Durchschnittsfachmann erkannt wird, kann der wie hierin verwendete
Begriff ”Bild” auch dreidimensionale,
vierdimensionale und höherdimensionale
Datensätze
in alternativen Ausführungsformen
bedeuten.
-
Es
versteht sich, dass die Lehre der vorliegenden Offenbarung in verschiedenen
Formen von Hardware, Software, Firmware, Prozessoren für besondere
Zwecke oder deren Kombinationen implementiert werden kann. Weiterhin
ist die Software vorzugsweise als Anwendungsprogramm implementiert, das
konkret auf einer Programmspeichereinheit enthalten ist. Das Anwendungsprogramm
kann hochgeladen und von einer Maschine ausgeführt werden, die eine geeignete
Architektur aufweist. Vorzugsweise ist die Maschine auf einer Computerplattform
implementiert, die Hardware wie z. B. ein oder mehrere zentrale
Verarbeitungseinheiten (”CPU”), einen
Direktzugriffsspeicher (”RAM”) und Eingabe-/Ausgabe-(”I/O”) Schnittstellen
aufweist. Die Computerplattform kann ebenfalls ein Betriebssystem
und Mikrobefehlscode umfassen. Die verschiedenen hierin beschriebenen
Prozesse und Funktionen können
entweder Teil des Mikrobefehlscodes oder Teil des Anwendungsprogramms
oder einer beliebigen Kombination davon sein, die von einer CPU
ausgeführt
werden. Darüber
hinaus können
verschiedene andere Peripheriegeräte mit der Computerplattform
verbunden sein wie z. B. eine zusätzliche Datenspeichereinheit
und eine Druckeinheit.
-
Weiterhin
versteht sich, dass, da einige der einzelnen Systembestandteile
und Verfahren, die in beigefügten
Zeichnungen dargestellt sind, vorzugsweise in Software implementiert
sind, die tatsächlichen
Verbindungen zwischen den Systemkomponenten oder den Prozessfunktionsblöcken unterschiedlich
sein können
je nach Art und Weise, wie die vorliegende Offenbarung programmiert
ist. Mit der hierin angegebenen Lehre ist der einschlägige Durchschnittsfachmann
in der Lage, diese und ähnliche
Implementierungen oder Konfigurationen der vorliegenden Offenbarung
zu betrachten.
-
Obwohl
die veranschaulichenden Ausführungsformen
hierin unter Bezugnahme auf die beigefügten Zeichnungen beschrieben
wurden, versteht es sich, dass die vorliegende Offenbarung nicht
auf genau diese Ausführungsformen
beschränkt
ist, und dass verschiedene Änderungen
und Modifikationen durch den einschlägigen Durchschnittsfachmann
darin bewirkt werden können,
ohne vom Umfang oder Geist der vorliegenden Offenbarung abzuweichen. All
solche Veränderungen
und Modifikationen sind absichtlich innerhalb des Umfangs der vorliegenden Offenbarung
umfasst, wie sie in den beigefügten
Ansprüchen
dargelegt ist.