-
Die
Erfindung liegt auf dem Gebiet der Medizintechnik und betrifft insbesondere
die Verarbeitung von medizinischem Bildmaterial.
-
Die
Entwicklung von modernen Bildgebungsverfahren nebst implementierender
Hardware zur Umsetzung derselbigen, haben dem medizinisch geschulte
Auge des Arztes neue Möglichkeiten
für die Diagnosefindung
durch den Arzt an die Seite gestellt.
-
Die
die bildgebungsverfahren-implementierende Hardware wird in der Medizintechnik
auch Modalität
genannt und umfasst neben dem klassischen Röntgengerät, auch eine große Anzahl
von Tomographen, wie z. B. CT, PET oder MET. Diese Modalitäten nehmen
vom Patienten eine große
Anzahl von hoch aufgelösten
Schnittbildern ab, die anschließend
zusammen als dreidimensionale (3D) Bilddatenblöcke für weitere Untersuchungen zur
Verfügung
stehen. Die 3D-Bilddatenblöcke
sind äußerst Speicherintensiv
und werden deshalb zentral in Datenbanksystemen, z. B. PACS, für die Diagnosefindung
bereitgehalten.
-
Mit
Hilfe moderner Rendering-Methoden, z. B. VRT (Volumerendering-Technique),
MIP (Maximum Intensity Projection) oder SSD (Surface Shaded Display),
werden aus den 3D-Bilderdatenblöcken durch
Projektion in eine gewünschte
Richtung eine Reihe von zweidimensionalen Bildern mit visuellen,
z. B. farblichen, die Diagnosefindung unterstützenden, Ausgestaltungen, erzeugt,
die dann dem Arzt zur Diagnosefindung zur Verfügung gestellt werden.
-
Diese
zweidimensionalen (2D) Bilder werden dann z. B. auf Grundlage eines „Ranging
Protokolls" in einer
vorteilhaften Anordnung bzw. Abfolge vom Arzt betrachtet, oder die
Bilder werden über
eine Animation oder durch eine Userinteraktion fortlaufend aktualisiert
dargestellt. Z. B. ist eine Funktionalität denkbar durch die der Arzt
ein Organ aus verschiedenen Perspektiven betrachten kann. Jede Perspektive wird
durch ein Bild des Organs dargestellt, und durch, z. B. Mausklick,
eine neue Perspektive des Organs als neues Bild geladen. Die Qualität der 2D-Bilder,
d. h. die Auflösung
und Farbtreue sind für
eine sichere Diagnose von entscheidender Wichtigkeit.
-
Die
Modalitäten
sind in der Regel in ein medizinisches Kommunikationsnetzwerk, z.
B. einem Krankenhaus-Intranet oder ein supra-regionales bzw. -internationales
Netzwerke (Internet), als zentrale Knoten eingebunden, über die
die Bilder an anfragenden Knoten (Clients) übertragen werden können.
-
Die
Einbindung der Modalitäten
als zentrale Knoten ist notwendig, da es sich bei den Modalitäten um sehr
teuere Infrastrukturen handelt. Nicht jede Praxis oder sogar nicht
jedes Krankenhaus kann sich z. B. ein eigenes CT leisten.
-
Auch
die Implementierung des Renderingverfahrens zur Erzeugung der 2D-Bildern
aus dem 3D-Bilderblock ist äußerst rechenintensiv
und wird daher ebenfalls z. T. zentral durch spezialisierte Hochleistungsrechner
durchgeführt.
-
Die
Zentralisierung der Modalitäten
bzw. das zentrale Bereitstellen der dreidimensionalen Bilddaten
z. B. durch ein PACS in dem Netzwerk ergibt dann das folgende praktische
Anwendungsszenario für
den Arzt. Der Arzt wird über
den Client und über das
Netzwerk eine spezielle Rendering-Weise von Bildern aus dem 3D-Bilddatenblock
anfordern, die zu seinem konkreten Vorgehen bei der Diagnosefindung passt.
Der in der Vergangenheit von dem zu untersuchenden Patienten abgenommene
3D Bilddatenblock wird dann über
PACS verfügbar
gemacht und von dem zentralen Graphikrechner gerendert. Die so erzeugte
Vielzahl von 2D Bildern wird dann an den anfragenden Client übertragen.
-
Da
der Arzt allerdings die gerenderten 2D-Bilder z. B. auch für Notfalldiagnosen
verwenden möchte
bzw. diese Bilder auch von Ärzten
z. B. im Rahmen einer medizinischen Telekonferenz einer Vielzahl
von weit verstreuten Knoten im Kommunikationsnetzwerk zugänglich gemacht
werden müssen, ist
die schnelle Übertragung
der qualitativ hochwertigen 2D Bilder an die Clients bzw. Knoten
von enormer Wichtigkeit.
-
Die
gerenderten 2D-Bilder sind in der Regel aber, obwohl es sich um
Schnitte des speicherintensiven 3D-Bilderdatenblocks handelt, immer
noch speicherintensiv, so dass für
eine hohe Durchsatzrate bei der Übertragung
im Netzwerk Kompressionsverfahren angewendet werden müssen. Die
Speicherintensivität
kann aber auch durch ein hohes Datenaufkommen gegeben sein, dass
z. B. durch die oben beschriebene Funktionalität der Userinteraktion zur Darstellung
der verschiedenen Perspektiven bedingt ist, da hierbei eine Vielzahl
von 2D-Bildern als „Frames" in möglicherweise
kurzen Zeitabständen übertragen
werden müssen.
-
Dies
zieht aber das Problem nach sich, dass bei der Anwendung von insbesondere
verlustbehafteten Kompressionsverfahren in diesen 2D-Bildern Artefakte
erzeugt werden, und dies besonders dann, wenn die 2D-Bilder auch
einen Anteil an 3D-Graphikelementen
wie z. B. Linien, Schriften, Meshes, etc. aufweisen. Diese Artefakte
können
die Qualität
der Bilder jedoch in einem enormen Ausmaß beeinträchtigen, was im schlimmsten
Fall sogar zu Fehldiagnosen führen
kann.
-
Handelt
es sich bei diesen Graphikanteilen in den 2D-Bildern lediglich um
Overlay-Graphiken kann das Problem dadurch umgangen werden, die
Graphikanteile z. B. separat von den 2D-Bildern zu komprimieren und zu übertragen
und erst am Zielknoten zusammenzusetzen.
-
Handelt
es sich allerdings nicht um Overlay-Graphiken, so dass die Graphikelemente
also in das 2D-Bild direkt eingebettet sind bzw. verdeckt sind,
besteht diese Möglichkeit
nicht, so dass die Anwendung eines beliebigen, verlustbehafteten
Kompressionsverfahren unweigerlich zu den erwähnten Artefakten führt.
-
Im
Stand der Technik sind eine Reihe von Speicher- und Kompressionsverfahren
bekannt, wie z. B. DjVu, die durch aufwändige Muster- bzw. Bilderkennungsroutinen
in der Lage sind, die Graphikelemente zu isolieren, so dass das
zu komprimierende Bild in Vordergrund- und Hintergrundanteile zerlegt wird,
und diese dann separat komprimiert werden können. Vorder- und Hintergrundanteil
des Bildes werden dann separat komprimiert und nach Übertragung
und Dekompression am Zielknoten wieder zusammengesetzt.
-
Intelligente
Kompressionsverfahren wie DjVu haben aber den Nachteil, dass es
sich um recht mächtige
Algorithmen handelt, deren Umsetzung rechner- und zeitintensiv ist.
Eine schnelle Übertragung
von Bildern, die in einem medizinischen Szenario oft erforderlich
ist, ist mit solchen Kompressionsverfahren nicht möglich, wenn
man die Artefaktbildung umgehen möchte.
-
Es
bestehen also grundsätzlich
3 Möglichkeiten
das „Artefaktproblem" bei der Übertragung
von Bildern in einem Server-Client-Szenario
zu vermeiden: Man überträgt die Bilder
nicht verlustbehaftet, nützt
also einen sehr niedrigen Kompressionsgrad, hat aber dann das Problem,
dass sich nur sehr geringe Durchsatzraten erzielen lassen. Eine
andere Möglichkeit
besteht darin, dass man grundsätzlich
auf Bilder mit 3D-Graphikanteilen
verzichtet, erkauft sich dadurch dann allerdings den Nachteil, dass
die für die
Diagnosebefundung erforderlichen Visualisierungsmöglichkeit
nicht voll ausgenutzt werden können – eine gerade
im Bereich der Medizin nicht zu akzeptierende Option. Eine dritte
Möglichkeit
besteht natürlich
auch darin, die Artefaktbildung zu akzeptieren, was aber unter Umständen zu
Fehldiagnosen bei der Interpretation der Bilder führen könnte.
-
Die
Erfindung hat es sich also zur Aufgabe gemacht einen Weg aufzuzeigen,
mit dem Bilder mit 3D-Graphikanteilen in einem ausreichenden Kompressionsgrad
komprimiert werden können,
so dass bei der Netzwerkübertragung
an einen Zielknoten ein hoher Durchsatz bei geringer Netzauslastung
erzielt werden kann. Gleichzeitig soll die Bildung von Artefakten
nach einer Dekompression der Bilder vermieden werden und die Kompression
besonders schnell durchführbar
sein, um so die Grundlage für
interaktive Funktionalitäten
an dem Zielknoten sicherstellen zu können.
-
Diese
Aufgabe wird durch die beiliegenden Hauptansprüche gelöst, insbesondere durch ein
Verfahren, durch ein System, eine Graphikkarte und ein Computerprogrammprodukt.
-
Im
Folgenden wird die Erfindung anhand der verfahrensgemäßen Lösung beschrieben.
Hierbei erwähnte
Vorteile, Merkmale oder alternative Ausführungsformen sind ebenso auch
auf die anderen beanspruchten Gegenstände zu übertragen, insbesondere auf
das beanspruchte System, Vorrichtung sowie auf das Produkt. Mit
anderen Worten können auch
die vorstehend genannten beanspruchten Gegenstände mit Merkmalen weitergebildet
sein, die in Zusammenhang mit dem Verfahren beschrieben und/oder
beansprucht worden sind und umgekehrt.
-
Die
vorliegende Aufgabe wird insbesondere durch ein Verfahren zum Komprimieren
von über
eine Graphikkarte darstellbaren digitalen Bildern gelöst, wobei
das Verfahren die folgenden Verfahrensschritte umfasst:
- – Bereitstellen
eines Bildes durch die Graphikkarte;
- – Auszeichnen
eines Vordergrundbereichs in dem bereitgestellten Bild;
- – Komprimieren
des ausgezeichneten Vordergrundbereichs;
- – Vereinfachen
der Bildes, indem der in dem Bild ausgezeichnete Vordergrundbereich
geglättet wird;
- – Separates
Komprimieren des vereinfachten Bildes,
wobei das Auszeichnen
des Vordergrundbereichs anhand einer in der Graphikkarte bereitgestellten Tiefeninformationen
erfolgt.
-
Im
Folgenden soll die Terminologie der in der vorliegenden Erfindung
verwendeten Begrifflichkeiten kurz beschrieben werden.
-
Mit
der Graphikkarte ist hierbei in erster Linie ein massiv parallel
arbeitendes Hardwaremodul zu verstehen, das in der Lage ist auf
Grundlage von verschiedenen Renderingverfahren die digitalen Bilder zu
erzeugen.
-
Mit
digitalen Bildern werden 2D-Bilddaten gemeint, die aus dem Renderingverfahren
hervorgegangen sind und 3D-Graphikelemente,
wie z. B. Schriften, Linien oder Meshes enthalten, die über das Renderingverfahren
in das Bild eingebettet wurden.
-
Unter
Bereitstellen ist hierbei der Vorgang des Rendering durch die Graphikkarte
gemeint, insbesondere die einzelnen Renderingphasen, in denen die
3D-Graphikelemente gerendert werden. Ein Darstellung des Bildes
auf einem Monitor am Client selbst ist hierbei nicht erforderlich.
-
Unter
Auszeichnung ist eine auf „Pixel-für-Pixel" Basis basierendes
Vorgehen gemeint, durch die das gerenderte Bild in eine zwei Mengen
von Pixeln zerlegt werden, nämlich
in den Vordergrundbereich und eine hierzu komplementäre Menge,
den Hintergrundbereich.
-
Unter
Komprimieren ist das Anwenden herkömmlicher Kompressionsverfahren
zu verstehen, wobei gemäß einem
Aspekt der Erfindung, der ausgezeichnete Vordergrundbereich verlustfrei
komprimiert wird.
-
Unter
Vereinfachung des Bildes ist erfindungsgemäß die Anwendung von herkömmlichen Glättungsverfahren
auf den ausgezeichneten Vordergrundbereich in dem Bild gemeint.
Einzelnen Pixel in dem ausgezeichneten Vordergrundbereich zugeordneten
Farbinformationen definieren in dem Vordergrundbereich ein Farbverlaufsignal,
in welchem durch das Glättungsverfahren
große
Frequenzunterschiede in diesem Farbverlaufsignal geglättet werden.
Das kann z. B. dadurch geschehen, dass man, von den Pixeln im Komplementärbereich
des Vordergrundbereichs, d. h. dem Hintergrundbereich, ausgehend,
einen harmonischen Farbverlauf annimmt. Diese Annahme stellt sich
numerisch als ein Dirichlet-Problem dar, und kann durch Anwendung
von numerischen Standardverfahren wie z. B. Diskretisieren der zugehörigen Differentialgleichungen/Differentialoperatoren,
gelöst
werden.
-
Erfindungsgemäß wird hierbei
ein Mehrgitterverfahren verwandt, um schnelle Konvergenzraten zu
erzielen. Andere geeignete Verfahren wie z. B. die Methode des konjugierten
Gradienten, sind im Prinzip auch denkbar.
-
Erfindungsgemäß ist es
ausreichend die Iteration nach einigen Stufen abzubrechen. Eine
vollständige
Lösung
des Dirichlet-Problems
ist für
die Zwecke der Erfindung nicht erforderlich.
-
Es
lassen sich allerdings auch andere Glättungsverfahren anwenden. Es
muss lediglich sichergestellt sein, dass große Schwankungen in dem Farbverlaufsignal
in dem Vordergrundbereich eliminiert sind, so dass sich das so vereinfachte
Bild auch mit einem hohen Kompressionsgrad komprimieren lässt, ohne
dass beim Dekomprimieren Artefakte entstehen. Durch separates Komprimieren
des vereinfachten Bildes mit einem hohen Kompressionsgrad und des
Vordergrundbereichs mit einem niedrigen Kompressionsgrad, lässt sich
insgesamt ein hoher Kompressionsgrad erzielen, der eine schnelle Übertragung
des Bildes ermöglicht.
-
Außerdem besteht
hier der Vorteil darin, dass bei einem Rekonstruieren des Bildes
aus dem Vordergrundbereich und dem vereinfachten Bild durch jeweiliges
Dekomprimieren und Zusammensetzen bzw. Kombinieren der beiden Teile
eine Artefaktbildung in dem rekonstruierten Bild vermieden werden
kann. Ein simples, verlustbehaftetes Komprimieren des Bildes ohne
Zerlegung und Glättung
würde beim
anschließenden
Dekomprimieren besonders in den Bereichen der 3D-Graphikelemente
in dem Bild, zum Teil zu starken Artefaktbildungen führen, die
die Qualität
des Bildes erheblich beeinträchtigen können.
-
Unter
Tiefeninformationen sind Informationen zu verstehen, die eine räumliche
Tiefe der 3D-Graphikelemente in dem Bild definieren. Erfindungsgemäß sind hierbei
die Z-Werte der jeweiligen Pixel in dem Bild gemeint, die beim Rendering
der 3D-Graphikelemente im Zuge des Rendering des Gesamtbildes im
Z-Buffer abfallen. Gemäß anderen Ausführungsformen
der Erfindung können
aber auch andere geeignete Tiefeninformationen, wie z. B. die α-Werte beim α-Compositing,
herangezogen werden. Das erfindungsgemäße Verfahren ist besonders
geeignet für
Renderingverfahren, wenn die 3D-Graphikelemente in einem separaten
Renderingschritt gerendert werden, bevor oder nach dem Rendern der restlichen
Pixel in einem anderen Renderingschritt, so dass z. B. die Z-Werte
dem Z-Buffer zum Zwecke des Auszeichnens des Vordergrundbereichs
abgegriffen werden können.
-
Eine
Anwendung des Verfahrens zusammen mit solchen Renderingverfahren
hat den Vorteil, dass die Tiefeninformation nicht erst in einem
zusätzlichen Schritt
generiert werden muss, da Tiefeninformationen im Zuge solcher Renderingverfahren
natürlicherweise
vorhanden sind.
-
Erfindungsgemäß erfolgt
das Auszeichnen des Vordergrundbereichs in 2 Phasen, wobei in der ersten
Phase diejenigen Pixel in dem Bild erfasst werden, denen eine Tiefeninformation
also z. B. ein Z-Wert zugeordnet ist (insbesondere den 3D-Graphikelementen)
und bei denen sich dieser Z-Wert während des Renderns nicht ändert. In
der zweiten Phase werden aus diesen erfassten Pixeln zusätzlich noch
Pixel aufgrund von Farbinformationen ausgewählt.
-
Die
Farbinformation sind gegeben durch einen hinreichend großen Unterschied
des Farbwertes eines Pixels mit Z-Wert gegenüber den Farbwerten der Nachbarpixel
dieses Pixels.
-
Erfindungsgemäß werden
also Farb- und Tiefeninformationen kombiniert, wobei gemäß einer Ausführungsform
die Auswahl aufgrund von Tiefen- bzw. Farbinformationen bzw. Änderungen
derselbigen in getrennten Schritten erfolgt und gemäß einer anderen
Ausführungsform
diese beiden Schritte in einem Schritt kombiniert werden.
-
Einer
anderen Ausführungsform
gemäß wird eine
Größe (z. B.
ausgedrückt
in der Anzahl von Pixeln) des auszuzeichnenden Vordergrundbereichs anhand
der Tiefen- oder Farbinformation dynamisch angepasst. Erfindungsgemäß wird dabei
z. B. die Anzahl der Pixel gezählt,
die aufgrund von der Tiefeninformation erfasst wurden. Ist diese
Anzahl im Hinblick auf eine konfigurierbaren Schrankenwert klein,
werden direkt die so erfassten Pixel als der Vordergrundbereich
angesehen. Sollte die Anzahl der Werte aber größer sein als der Schrankenwert,
wird in einem zusätzlichen
Schritt über
ein iteratives Verfahren unter Einbeziehung der Farbinformationen
ein Randbereich um die so erfassten Pixel definiert, der dann als Vordergrundbereich
genommen wird. Dies hat den Vorteil, dass beim Vorliegen von sehr
viel 3D-Graphikinformation in dem Ausgangsbild die Auszeichnung des
Vordergrundbereichs trotzdem klein gehalten werden kann.
-
Erfindungsgemäß wird der
Vordergrundbereich nur schwach komprimiert und das vereinfachte Bild
stark, so dass die hiermit erzielte Gesamtkompression des Bildes
für eine
schnelle Übertragung hinreichend
groß ist
und trotzdem eine Artefaktbildung beim späteren Dekomprimieren und Kombinieren
des Vordergrundbereichs und des vereinfachten Bild vermieden wird.
-
Erfindungsgemäß wird die
Pixel-für-Pixel-Operation
parallelisiert, so dass sich das Auszeichnen direkt auf der Graphikkarte
oder auf einem mit der Graphikkarte kommunizierenden Modul, z. B. einem
Fragmentshader, implementieren lässt.
Durch Ausnutzung der massiv parallelen Fähigkeiten moderner Graphikkarten
kann eine schnelle Ausführbarkeit
des Verfahrens gemäß der Erfindung
erzielt werden.
-
Gemäß einer
weiteren Ausführungsform
der Erfindung umfasst das Verfahren auch das separate oder gleichzeitige Übertragen
des komprimierten Vordergrundbereichs als auch des vereinfachten
Bildes an einen Empfängerknoten,
der eine Anfrage bezüglich
des Bildes abgesetzt hat. In einer weiteren Ausführungsform wird der am Empfängerknoten empfangene
Vordergrundbereich und das vereinfachte Bild jeweils dekomprimiert
und anschließend z.
B. mit einer dortigen Graphikkarte mit einer einfachen Superpositionsoperation
zusammengesetzt.
-
In
der folgenden detaillierten Figurenbeschreibung werden nicht einschränkend zu
verstehende Ausführungsbeispiele
mit den Merkmalen und weiteren Vorteilen anhand der Zeichnung besprochen.
In dieser zeigen:
-
1 eine
schematische und übersichtsartige
Darstellung der wesentlichen Komponenten gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
2 ein
Blockdiagramm, das eine übliche zeitliche
Abfolge von Verfahrensschritten gemäß einer bevorzugten Ausführungsform
der Erfindung erläutert.
-
Anhand
von 1 werden im Folgenden die wesentlichen Komponenten
des erfindungsgemäßen Systems
zum Übertragen
von komprimierten digitalen Bildern im Netzwerk vorgestellt.
-
1 zeigt
beispielsweise ein PACS 101 auf dem ein 3D-Bilderdatenblock 105 zum
Abrufen bereitgehalten wird. Bei den 3D-Bilderdatenblock 105 handelt
es sich um eine Menge von Schnittbildern, die von einer Modalität, z. B.
einem CT, von einem Patienten abgenommen wurden. Ein Arzt fordert
nun von einem Client 160, der über ein Kommunikationsnetzwerk 165 (z.
B. Krankenhaus-Intranet oder Internet) mit einem Server 110 verbunden
ist, eine Reihe von speziellen, nach seinen Wünschen gerenderten Bildern 120 an.
Im Folgenden wird nur von dem Bild 120 gesprochen, obwohl
klar ist, dass in der Regel eine ganze Reihe von Bildern angefordert
werden, die dann z. B. am Client 160 – z. B. zu einer Animation – zusammengesetzt
werden können,
um so den Arzt bei der Diagnose zu unterstützen.
-
Der
Server 110 verfügt über eine
leistungsfähige
Graphikkarte 115. Der Server 110 fordert nun von
dem PACS 101 den dem Patienten zugeordneten 3D-Bilderdatenblock 105 an,
wobei die Graphikkarte 115 auf Grundlage des 3D-Bilderdatenblocks 105 und
eines geeigneten Renderingverfahrens das Bild 120 erzeugt.
-
Erfindungsgemäß umfasst
die Graphikkarte 115 ein Vordergrunddetektormodul 130 und
ein Glättungsmodul 150.
Diese beiden Module sind entweder als Hard- und/oder Software implementiert
und erfindungsgemäß direkt
in die Graphikkarte 115 eingebaut. Gemäß einer alternativen Ausführungsform können diese
beiden Module natürlich
auch bezüglich
der Graphikkarte 115 externe Module sein.
-
Anhand
von Tiefeninformationen, die während
des Renderingvorgangs durch und an der Graphikkarte 115 anfallen,
zeichnet das Vordergrunddetektormodul 130 in dem entstandenen
Bild 120 einen Vordergrundbereich VGB aus. Dieses Auszeichnen geschieht
auf einer Pixel-für-Pixel
Basis und kann somit z. B. über
einen entsprechend programmierten Fragmentshader implementiert werden.
-
Durch
die Auszeichnung des Vordergrundbereiches VGB in dem gerenderten
Bild 120 wird effektiv eine Unterteilung des Bil des 120 gegeben,
wobei alle diejenigen Pixel, die nicht als zu dem Vordergrundbereich
VGB gehörend
ausgezeichnet sind, automatisch als einen Hintergrundbereich HGB
zugehörig
angesehen werden. Der Vordergrundbereich VGB und der Hintergrundbereich
HGB bilden eine Partition des Bildes 120.
-
Der
ausgezeichnete Vordergrundbereich VGB wird aus dem Bild 120 z.
B. in ein separates Imagefile herauskopiert, so dass die Positionsangaben
von Vordergrundpixel, aus denen der Vordergrundbereich VGB aufgebaut
ist, bezüglich
dem Bild 120 erhalten bleiben, um so ein späteres Zusammenfügen bzw.
Rekonstruieren des Bildes 120 zu ermöglichen.
-
Anschließend wird
das den Vordergrundbereich VGB umfassende Imagefile mit Hilfe eines
Vordergrundbereich-Kompressionsmoduls 140 erfindungsgemäß schwach,
d. h. verlustfrei, komprimiert und anschließend über ein Übertragungsinterface 110a des
Servers 110 durch das Netzwerk 165 an den anfragenden
Client 160 übertragen.
-
Gleichzeitig
oder zu einem späteren
Zeitpunkt werden diejenigen Pixel in dem Bild 120, die
zu dem Vordergrundbereich VGB angehörig ausgezeichnet wurden, ausgehend
von dem Hintergrundbereich HGB mit Hilfe eines Glättungsmoduls 150 geglättet um
so ein vereinfachtes Bild 120a des Bildes 120 zu
erzeugen, wobei das Bild 120 in diesem Zusammenhang auch
als Ausgangsbild bezeichnet werden kann.
-
Erfindungsgemäß wird dann
das vereinfachte Bild 120a mit Hilfe eines Kompressionsmoduls 155 erfindungsgemäß stark,
d. h. verlustbehaftet, komprimiert. Das so erhaltene stark komprimierte
vereinfachte Bild 120a wird dann über das Übertragungsinterface 110a des
Servers 110 über
das Netzwerk 165 an den anfragenden Client 160 übertragen.
-
Nachdem
der schwach komprimierte Vordergrundbereich VGB und das stark komprimierte
vereinfachte Bild 120a am Client 160 über ein
Empfängerinterface 160a des
Clients 160 empfangen wurden, werden das stark komprimierte
vereinfachte Bild 120a und der Vordergrundbereich VGB jeweils
mit einem entsprechenden Dekompressionsmodul 170, 180 dekomprimiert.
Dabei kann es sich auch um ein Dekompressionsmodul handeln, das
sowohl stark als auch schwach komprimierte Daten dekomprimieren kann.
-
Anschließend erfolgt
am Client 160 über
ein Kompositionsmodul 190 die Zusammensetzung oder Kombination
des Vordergrundbereichs VGB mit dem vereinfachten Bild 120a,
z. B. durch Superposition, so dass das ursprünglich am Server 110 gerenderte Ausgangsbild 120 durch
Rekonstruktion zurückerhalten
wird. Das Kombinieren kann z. B. mit der Graphikkarte 115 des
Clients 160 erfolgen, die in Kommunikation mit dem Kompositionsmodul 190 steht.
-
Das
erfindungsgemäßes System
zum Übertragen
von komprimierten Bildern erlaubt eine schnelle Übertragung des Bildes 120 mit
geringer Auslastung des Netzwerks 165, wobei das am Client 160 empfangene
und zusammengesetzte Bild 120 keine störenden Artefakte aufweist.
Genau dies wäre jedoch
bei herkömmlichen
Systemen der Fall gewesen, wenn das Bild 120 3D-Graphiken
bzw. 3D-Graphikanteile enthält
und wenn das Bild 120 mit herkömmlichen Kompressionsmethoden
verlustbehaftet komprimiert worden wäre. Durch das Zusammenspiel
der Graphikkarte 115 mit dem Vordergrunddetektormodul 130 bzw.
dem Glättungsmodul 150 wird die
Artefaktbildung in dem komprimierten zusammengesetzten Bild 120 effektiv
vermieden, und trotzdem durch starkes Komprimieren des vereinfachten Bildes 120a ein
Kompressionsgrad bezüglich
des gesamten Bildes 120 erreicht, der ein schnelles Übertragen
erlaubt. Da das Auszeichnen und/oder Glätten als Vorbereitungsphase
für die
beiden Kompressionen vorzugsweise durch Vektoroperationen direkt
auf der Graphikkarte 150 implementiert werden kann, kann
die Vorbereitungsphase sehr schnell durchgeführt werden.
-
Im
Folgenden wird eine übliche
zeitliche Abfolge von Verfahrensschritten gemäß einer bevorzugten Ausführungsform
der Er findung erläutert.
Hierbei wird insbesondere auf den Verfahrensschritt des Auszeichnens 220,
welches von dem Vordergrunddetektormodul 130 implementiert
wird und dem Verfahrensschritt des Vereinfachens 240, welches über das
Glättungsmodul 150 implementiert
wird, eingegangen.
-
Zunächst wird
im Schritt 210 das Bild 120 über die Graphikkarte 115 bereitgestellt.
Das Bereitstellen umfasst das Rendern des Bildes und verläuft im Allgemeinen
in mehreren Phasen (auch engl. „Passes" genannt), wenn das Rendern gemäß einer 3D-API
z. B. nach OpenGL oder DirectX verläuft, was für das Verfahren gemäß der Erfindung
vorzugsweise der Fall ist. In der ersten Phase werden die 3D-Graphiken
gerendert, wobei denjenigen Pixeln, die die 3D-Graphiken bilden,
ein sogenannter Z-Wert im Rahmen des Z-Buffering zugeordnet und
in einer Float-Textur auf der Graphikkarte zwischengespeichert wird.
Pixel, die Bestandteile der 3D-Graphiken sind, sind daher an ihrem
von einem initialen Wert (üblicherweise
als 1 gesetzt) verschiedenen Z-Wert erkennbar. In einer weiteren
Phase werden alle restlichen Daten, aus denen das Bild 120 besteht,
gerendert (z. B. durch VRT, MIP oder SSD), wodurch dann das gewünschte Bild 120 entsteht.
-
Anschließend wird
in Schritt 220 der Vordergrundbereich VGB ausgezeichnet,
in dem die Menge aller Z-Werte, als die den jeweiligen Pixeln zugeordnete
Tiefeninformation ausgewertet werden. Zunächst erfasst das Vordergrunddetektormodul 130 in dem
Schritt 220 diejenigen Pixel, die einen von dem initialen
Wert verschiedenen Z-Wert haben. Diese Pixelmenge sei der Einfachheit
halber A1 genannt.
-
Des
Weiteren registriert das Vordergrunddetektormodul 130,
bei welchen Pixeln aus der Menge A1 sich der Z-Wert beim Übergang
von der ersten in die zweite Phase nicht geändert hat. Dies ist die Menge
A2 (also eine Teilmenge von A1) und diese stellt, wie im Folgenden
gleich näher
erläutert,
im einfachen Fall, d. h. wenn A2 wenig Pixel enthält, den
Vordergrundbereich VGB dar.
-
Aufgrund
der in den einzelnen Pixeln kodierten Farbinformationen, die sich
aus den Farbkanälen zusammensetzt,
wird nun durch das Vordergrunddetektormodul 130 eine Pixelmenge
A3 als Teilmenge der Pixelmenge A2 gebildet. A3 umfasst diejenigen Pixel,
deren Farbinformationen – pro
Farbkanal – sich gegenüber Nachbarpixeln
hinreichend stark ändert. Für diese Änderungsrate
ist ein Farbinformationsschrankenwert vorgesehen, der über das
Vordergrunddetektormodul 130 konfigurierbar ist.
-
Gemäß einer
alternativen Ausführungsform der
Erfindung ist es auch denkbar, dass das Erfassen der Pixel über den
Z-Wert (d. h. das Bilden der Menge A2) und das Bilden der Menge
A3 über
die Farbinformationswerte in Bezug auf die Nachbarpixel in einem
Schritt erfolgt. Die Änderung
der Z-Werte, also der Tiefeninformation und der Farbinformation
wird hierbei durch eine gemeinsame, konfigurierbare Schranke ausgedrückt.
-
Anschließend wird
durch das Vordergrunddetektormodul 130 über eine iterative Konstruktion ein
Randbereich um A3 als Teilmenge von der Menge A2 definiert. Dieser
Randbereich ist, im allgemeinen Fall, im Gegensatz zu dem oben erwähnten einfachen
Fall, der Vordergrundbereich VGB.
-
Die
iterative Konstruktion setzt dabei bei einer Menge A31 an, die diejenige
Teilmenge von A2 ist, die an A3 angrenzt. Als nächster Iterationsschritt wird
die Menge A32 definiert, die diejenige Teilmenge von A2 ist, die
an die Menge A31 angrenzt. Allgemein erhält man mit fortschreitendem
Iterationsschritt n die Menge A3n, die diejenige Menge von A2 ist,
die an die Menge A3(n-1) angrenzt. Der Parameter n ist hierbei über das
Vordergrunddetektormodul 130 konfigurierbar, so dass sich
die Größe (ausgedrückt in der
Anzahl von Pixeln) eine „Breite" des Randbereichs
einstellen lässt
und dadurch definieren lässt, wie
groß der
Anteil des Vordergrundbereichs VGB bezüglich des gesamten Bildes 120 sein
soll. Anschaulich wird also der Vordergrundbereich VGB als Randbereich
um A3 ausgezeichnet, der mit jedem Iterationsschritt „breiter" wird und den Bereich
der Komplementärmenge
von A3 in A2 immer mehr ausfüllt.
-
In
einer bevorzugten Ausführungsform
wird die Größe des Vordergrundbereichs
VGB (ausgedrückt
in der Anzahl von Pixeln) einer Größe (wiederum ausgedrückt in Pixeln)
der 3D-Graphikanteile
dynamisch angepasst. Über
eine durch das Vordergrunddetektormodul 130 konfigurierbare
Schranke für
die Gesamtgröße der 3D-Grapihkanteile
wird festgelegt, dass, wenn die Menge A1 sehr klein ist (d. h. wenn
nur wenig Graphikanteile im Bild 120 vorliegen), dann wird
die Menge A2 als Vordergrundbereich VGB genommen, was dem oben erwähnten einfachen
Fall entspricht. Andernfalls wird die beschriebene iterative Konstruktion
des Randbereichs aus der Menge A2 über den einstellbaren Iterationsparameter
n als Vordergrundbereich VGB ausgezeichnet, so dass letzterer klein
gehalten werden kann, auch wenn in Bild 120 ein großer Anteil
von Graphikelementen präsent
ist.
-
Auf
diese Weise erlaubt das erfindungsgemäße Verfahren den Vordergrundbereich
VGB dynamisch demjenigen Pixelanteil des Bildes 120 anzupassen,
der aus 3D-Graphiken besteht. Alle Pixel, die nicht dem Vordergrundbereich
VGB angehören,
werden zum Hintergrundbild HGB gezählt. Anschließend werden
im Schnitt 230a die zum Vordergrundbereich VGB gehörenden Pixel
z. B. in ein Imagefile kopiert und mit einem geeigneten Verfahren
verlustfrei, d. h. schwach, komprimiert. Das Vordergrundbereich Image-File
liegt nun zur Übertragung
an den Client 160 bereit.
-
Im
Schritt 240 wird nun das vereinfachte Bild 120a gebildet,
indem das Glättungsmodul 150 von den
Pixeln des Hintergrundbereiches HGB her kommend den Vordergrundbereich
VGB in Bild 120 glättet.
Mit anderen Worten, werden die Farbinformationen der Pixel des Hintergrundbereichs
HGB, stetig auf die Farbinformationen der Pixel im Vordergrundbereichs
VGB im Bild 120 fortgesetzt.
-
Gemäß einer
Ausführungsform
der Erfindung wird die Annahme gemacht, dass die Farbinformationen
in den zu glättenden
Pixeln harmonisch verläuft,
so dass der Laplace-Operator auf jeden Farbkanal dieser Pixel verschwindet.
-
Dies
stellt numerisch ein Dirichlet-Problem dar, welches durch eine einfache
Diskretisierung des Laplace-Operators lösbar ist. Eine Möglichkeit
besteht darin, den Laplace-Operator
durch 1/4(P1 + P2 + P3 + P4)-P0 zu approximieren, wobei P0 der Farbwert
eines Pixels im Vordergrundbereich VGB ist, und die P1 bis P4 die
entsprechenden Farbwerte der an diesem Punkt angrenzenden Nachbarpixel
sind.
-
Gemäß einer
Ausführungsform
ist es nicht notwendig, den Glättungsschritt 240 vollständig durchzuführen, was
Zeit spart. Gemäß einer
Ausführungsform
der Erfindung, wird das Dirichlet-Problem mit einem iterativen Ansatz
gelöst
und die Iteration nach einigen Schritten einfach abgebrochen. Voreilhafterweise
bietet sich hierbei ein Mehrgitterverfahren an, um ein schnelles
Konvergenzverhalten zu erhalten. Die Vorgabe einer Anzahl von Hierarchiestufen
in dem Mehrgitterverfahren bzw. die Anzahl der Iterationsschritte
in jedem der Hierarchiestufen, stellen zwei Parameter des Glättungsmoduls 150 dar,
die erfindungsgemäß einstellbar
und konfigurierbar sind. Durch den Mehrgitteransatz, kann die Anzahl
m der Iterationen pro Hierarchiestufe sehr klein, gehalten werden,
z. B. m = 3. Die Glättung über das
Mehrgitterverfahren lässt
sich sehr – vorteilhaft – weil schnell – direkt
auf einen Prozess der Graphikkarte 115 (GPGPU) implementieren.
-
Das
so erhaltene vereinfachte Bild 120b wird nun in dem Schritt 230d verlustbehaftet,
bzw. stark komprimiert.
-
Im
Schritt 250 werden der schwach komprimierte Vordergrundbereich
VGB und das stark komprimierte vereinfacht Bild 120a vom
Server 110 an den Client 160 übertragen, um dann dort über die
beiden Dekompressionsmodule 170 und 180 dekomprimiert
zu werden, um anschließend
in Schritt 270 durch das Komposi tionsmodul 190 zum
Ausgangsbild 120 zusammengesetzt zu werden. Das Kompositionsmodul 190 kann
dabei auf einer Graphikkarte des Client 160 implementiert
werden.
-
Abschließend sei
darauf hingewiesen, dass die Beschreibung der Erfindung und die
Ausführungsbeispiele
grundsätzlich
nicht einschränkend
in Hinblick auf eine bestimmte physikalische Realisierung der Erfindung
zu verstehen sind. Für
einen einschlägigen
Fachmann ist es insbesondere offensichtlich, dass die Erfindung
teilweise oder vollständig
in Soft- und/oder
Hardware und/oder auf mehrere physikalische Produkte – dabei
insbesondere auch Computerprogrammprodukte – verteilt realisiert werden kann.