DE102012202537A1 - System for image synthesis i.e. rendering, of tomogram in medical engineering, has frontend and backend-units operated in different operating system processes of common computer system or in different computer systems of network - Google Patents
System for image synthesis i.e. rendering, of tomogram in medical engineering, has frontend and backend-units operated in different operating system processes of common computer system or in different computer systems of network Download PDFInfo
- Publication number
- DE102012202537A1 DE102012202537A1 DE201210202537 DE102012202537A DE102012202537A1 DE 102012202537 A1 DE102012202537 A1 DE 102012202537A1 DE 201210202537 DE201210202537 DE 201210202537 DE 102012202537 A DE102012202537 A DE 102012202537A DE 102012202537 A1 DE102012202537 A1 DE 102012202537A1
- Authority
- DE
- Germany
- Prior art keywords
- backend
- unit
- volume data
- render
- end unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
Description
Die Erfindung bezieht sich auf ein System zur Bildsynthese (auch: Rendern) eines Volumendatensatzes, wie er insbesondere in der Medizintechnik von einer tomographischen, bildgebenden Modalität, insbesondere einem Computertomographen oder MR-Tomographen erzeugt wird. The invention relates to a system for image synthesis (also: rendering) of a volume data set, as is generated in particular in medical technology by a tomographic, imaging modality, in particular a computed tomography or MR tomograph.
Als Volumendatensatz wird demnach ein Datensatz bezeichnet, der eine Vielzahl von Bildpunkten (Voxeln) enthält, wobei diese Bildpunkte jeweils einen Farb- oder Grauwert spezifizieren, und wobei diesen Bildpunkten jeweils eine Position in einem dreidimensionalen Bildkoordinatensystem zugewiesen ist. Ein Volumendatensatz besteht insbesondere häufig aus einer Aneinanderreihung einer Vielzahl von zweidimensionalen Schichtbildern (x/y-Ebenen), die das abgebildete Volumen parallel an unterschiedlicher Position einer dritten Bildkoordinate (z-Richtung) schneiden. Accordingly, a volume data set is a data record which contains a plurality of pixels (voxels), these pixels each specifying a color or gray value, and wherein each of these pixels is assigned a position in a three-dimensional image coordinate system. In particular, a volume data set frequently consists of a sequence of a plurality of two-dimensional slice images (x / y planes) which intersect the imaged volume in parallel at different positions of a third image coordinate (z direction).
Als „Bildsynthese“ oder „Rendern“ wird die Abbildung des Volumendatensatzes auf einen zweidimensionalen Bilddatensatz bezeichnet, der die in dem Volumendatensatz enthaltene 3D-Struktur in einer räumlichen (insbesondere perspektivischen) Ansicht aus einer vorgegebenen Blickrichtung (Perspektive) darstellt. Der durch Rendern erzeugte zweidimensionale Bilddatensatz (nachfolgend auch als VR-Bild bezeichnet) visualisiert also die Ansicht, die sich einem Beobachter ergeben würde, der die abgebildete 3D-Struktur unter der vorgegebenen Blickrichtung betrachtet. Rendern ist insbesondere in der Medizintechnik gebräuchlich, um medizinische Volumendatensätze (Tomogramme) in anzeigbare 2D-Ansichten umzusetzen. The term "image synthesis" or "rendering" refers to the mapping of the volume data set to a two-dimensional image data set that represents the 3D structure contained in the volume data set in a spatial (in particular perspective) view from a predetermined viewing direction (perspective). The two-dimensional image data set generated by rendering (also referred to below as VR image) thus visualizes the view which would result for an observer who views the imaged 3D structure under the given viewing direction. Rendering is commonly used in medical technology to translate medical volume datasets (tomograms) into displayable 2D views.
Das realistische Rendern von Volumendatensätzen erfordert jedoch regelmäßig einen hohen numerischen Aufwand, und ist daher nur mit performanten Rechnersystemen und/oder entsprechend hoher Rechenzeit durchzuführen. Insbesondere in der medizintechnischen Anwendung, wo die verwendeten Volumendatensätze oft speicherplatzintensiv sind und zudem regelmäßig aus in schneller zeitlicher Folge wechselnder Perspektive betrachtet werden, ist die Rechenzeit ein kritischer Faktor. Herkömmliche Bildsynthesesysteme sind daher häufig in hohem Maße auf die Minimierung des Rechenaufwandes und damit der Rechenzeit optimiert. Hierzu sind herkömmliche Bildsynthese-Systeme oft speziell auf eine bestimmte Hardwareumgebung ausgelegt und arbeiten nur in dieser Hardwareumgebung mit ausreichender Performanz. Insbesondere sind herkömmliche Bildsynthese-Systeme häufig entweder nur am Client oder nur in einer bestimmten Client-Server-Struktur lauffähig. Des Weiteren sind herkömmliche Bildsynthese-Systeme häufig entweder nur für die Nutzung auf eines Graphikprozessors (GPU) oder nur für die Nutzung eines Zentralprozessors (CPU) ausgelegt und/oder benötigen eine bestimmte Netzwerkqualität. Des Weiteren können Bildsynthese-Systeme üblicherweise nur Volumendaten eines bestimmten Datenformats einlesen. However, the realistic rendering of volume data sets regularly requires a high level of numerical complexity, and is therefore only possible with high-performance computer systems and / or correspondingly high computation time. In particular, in the medical technology application, where the volume data sets used are often memory space intensive and are also regularly considered in rapid temporal sequence of changing perspective, the computing time is a critical factor. Conventional image synthesis systems are therefore often optimized to minimize the computational effort and thus the computing time. For this purpose, conventional image synthesis systems are often designed specifically for a specific hardware environment and work only in this hardware environment with sufficient performance. In particular, conventional image synthesis systems often run either only on the client or only in a specific client-server structure. Furthermore, conventional image synthesis systems are often designed either for use only on a graphics processor (GPU) or for the use of a central processor (CPU) and / or require a certain network quality. Furthermore, image synthesis systems can usually read only volume data of a particular data format.
Im Zuge zunehmender Arbeitsteilung, insbesondere auch zwischen geographisch entfernten Standorten, und zunehmender datentechnischer Vernetzung besteht andererseits ein wachsendes Bedürfnis daran, Bildsynthese-Anwendungen flexibel in unterschiedlichen technischen Umgebungen zur Verfügung zu stellen. On the other hand, in the course of increasing division of labor, especially between geographically distant locations, and increasing data networking, there is a growing need to provide image synthesis applications flexibly in different technical environments.
Der Erfindung liegt die Aufgabe zugrunde, ein System zum Rendern eines Volumendatensatzes im Hinblick auf die vorstehend beschriebene Problematik zu verbessern. The invention has for its object to improve a system for rendering a volume data set in view of the above-described problems.
Diese Aufgabe wird erfindungsgemäß gelöst durch die Merkmale des Anspruchs 1. Vorteilhafte und teils für sich erfinderische Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche. This object is achieved by the features of claim 1. Advantageous and partly inventive embodiments of the invention are the subject of the dependent claims.
Danach umfasst das System eine Frontend-Einheit und eine Backend-Einheit. Die Frontend-Einheit dient hierbei zur Interaktion mit einem Nutzer. Konkret ist sie dazu eingerichtet, anhand von Nutzereingaben Render-Aufträge zu erzeugen und an die Backend-Einheit zu übermitteln. Die Frontend-Einheit ist weiterhin dazu eingerichtet, gerenderte Bilder (VR-Bilder) anzuzeigen. Thereafter, the system includes a front-end unit and a back-end unit. The front-end unit serves to interact with a user. Specifically, it is set up to generate render jobs based on user input and to transmit them to the backend unit. The frontend unit is also set up to display rendered images (VR images).
Zur Interaktion mit einem Nutzer umfasst die Frontend-Einheit zweckmäßigerweise eine graphische Nutzeroberfläche (GUI), innerhalb der die VR-Bilder auf einem Bildschirm anzeigbar sind. Nutzereingaben können innerhalb dieser Nutzeroberfläche insbesondere durch Mausaktionen (also Bewegung eines Mauszeigers) in Kombination mit dem Betätigen einer oder mehrerer Tasten oder auf vergleichbare Weise getätigt werden. In der für Graphikanwendungen an sich üblichen Weise kann eine solche Mausaktion insbesondere die Anweisung vermitteln, eine auf der Nutzeroberfläche als VR-Bild angezeigte Volumenstruktur innerhalb eines Anzeigefeldes zu verschieben, zu drehen und/oder zu skalieren (d.h. zu vergrößern oder verkleinern). Solche Anweisungen werden auch als „Pan & Zoom“ bezeichnet und führen regelmäßig dazu, dass der angezeigte Volumendatensatz neu, insbesondere unter einer anderen Perspektive gerendert werden muss. For interaction with a user, the front-end unit expediently comprises a graphical user interface (GUI) within which the VR images can be displayed on a screen. User entries can be made within this user interface in particular by mouse actions (ie movement of a mouse pointer) in combination with the actuation of one or more keys or in a comparable manner. In the usual manner for graphics applications, such a mouse action may in particular impart the instruction to move, rotate, and / or scale (i.e., zoom in or out) a volume structure displayed on the user interface as a VR image within a display panel. Such instructions are also referred to as "pan & zoom" and regularly result in the displayed volume data set having to be re-rendered, especially under a different perspective.
Die Backend-Einheit dient zur Durchführung aller rechenintensiven Tätigkeit beim Rendern des Volumendatensatzes. Sie ist konkret dazu eingerichtet, nach Maßgabe der Render-Aufträge aus dem Volumendatensatz die VR-Bilder abzuleiten und diese VR-Bilder zur Anzeige an die Frontend-Einheit zurückzuleiten. The backend unit is used to perform all the computationally intensive activity of rendering the volume data set. Specifically, it is set up to derive the VR images from the volume data set in accordance with the render jobs and to return these VR images to the front-end unit for display.
Erfindungsgemäß sind die Frontend-Einheit und die Backend-Einheit dabei derart gestaltet, dass sie in verschiedenen „Deployment“-Varianten (also in verschiedenen Verteilungen auf zugrundeliegende Rechnersysteme) betrieben werden können. So sind die Frontend-Einheit und die Backend-Einheit sowohl auf einen gemeinsamen Rechnersystem als auch auf verschiedenen Rechnersystemen eines Datenübertragungsnetzwerkes, insbesondere dem Internet, betreibbar. In ersterem Fall sind die Frontend-Einheit und die Backend-Einheit weiterhin sowohl als Bestandteil eines gemeinsamen Betriebssystemprozesses als auch in unterschiedlichen Betriebssystemprozessen des gemeinsamen Rechnersystems betreibbar. Optional kann im Rahmen der Erfindung weiterhin vorgesehen sein, dass auch die Backend-Einheit selbst in unterschiedlichen Deploymentvarianten betreibbar ist. Insbesondere kann in diesem Sinne vorgesehen sein, dass verschiedene Schichten der Backend-Einheit auf verschiedene Server verteilt implementierbar sind. Eine oder mehrere Schichten der Backend-Einheit können dabei insbesondere auch zusammen mit der Frontend-Einheit auf einem gemeinsamen Client implementiert sein, während mindestens eine weitere Schicht der Backend-Einheit serverseitig implementiert ist. According to the invention, the front-end unit and the back-end unit are designed such that they can be operated in different "deployment" variants (that is, in different distributions on underlying computer systems). Thus, the front-end unit and the back-end unit can be operated both on a common computer system and on different computer systems of a data transmission network, in particular the Internet. In the former case, the frontend unit and the backend unit continue to be operable both as part of a common operating system process as well as in different operating system processes of the common computer system. Optionally, it can also be provided within the scope of the invention that the backend unit itself can also be operated in different deployment variants. In particular, it can be provided in this sense that different layers of the backend unit can be implemented distributed to different servers. One or more layers of the backend unit can in particular also be implemented together with the frontend unit on a common client, while at least one further layer of the backend unit is implemented on the server side.
Der Begriff „Rechnersystem“ bezeichnet dabei entweder eine (physikalische) Hardwarestruktur, d.h. einen Computer, mit einem darauf aufgesetzten Betriebssystem oder eine virtuelle Maschine (ggf. wiederum mit einem darauf aufgesetzten Betriebssystem). Rechnersysteme, auf denen die Frontend-Einheit implementiert ist, sind im Folgenden als „Client“ bezeichnet. Rechnersysteme, auf denen zumindest ein Teil der Backend-Einheit implementiert ist, nicht aber die Frontend-Einheit, sind im Folgenden als „Server“ bezeichnet. The term "computer system" designates either a (physical) hardware structure, i. a computer with an operating system mounted on it or a virtual machine (or, if necessary, with an operating system installed thereon). Computer systems on which the front-end unit is implemented are referred to below as "client". Computer systems on which at least part of the back-end unit is implemented, but not the front-end unit, are referred to below as "server".
Zusätzlich zu dem Betriebssystem kann das jeweilige Rechnersystem sogenannte Middleware (insbesondere in Form einer „Software-Plattform“ oder eines „Frameworks“) umfassen, die auf dem Betriebssystem aufgesetzt ist, und auf der wiederum die Frontend-Einheit bzw. Backend-Einheit ablaufen. So ist die Backend-Einheit vorzugsweise für den Ablauf innerhalb des .NET-Frameworks der Fa. Microsoft Corporation ausgebildet. Die Frontend-Einheit ist vorzugsweise als Internet-Applikation zum Ablauf in einem Internet-Browser des jeweiligen Clients ausgebildet. In addition to the operating system, the respective computer system may comprise what are known as middleware (in particular in the form of a "software platform" or a "framework") which is set up on the operating system and on which the front-end unit or back-end unit is run. Thus, the backend unit is preferably designed for the course within the .NET framework of the company Microsoft Corporation. The front-end unit is preferably designed as an Internet application for execution in an Internet browser of the respective client.
Die Frontend-Einheit und die Backend-Einheit sind insbesondere derart gestaltet, dass sie unabhängig voneinander ausführbar und ohne Source-Code-Änderung, d.h. mit ein und demselben Source-Code-Stamm in den unterschiedlichen Deployments ausführbar sind. In particular, the front-end unit and the back-end unit are designed to be executable independently of each other and without source code change, i. with one and the same source code root executable in the different deployments.
Die Betreibbarkeit des Systems in verschiedenen Deployments ermöglicht einen flexiblen, gleichzeitig aber effektiven Einsatz des Systems in unterschiedlichen Hardwareumgebungen bei gleichzeitig geringem Entwicklungsaufwand. So ist es insbesondere möglich, das System in einem gewöhnlichen Rechnernetzwerk, beispielsweise einem LAN einer medizinischen Einrichtung zu betreiben, wobei in diesem Fall die Backend-Einheit vorzugsweise auf einem zentralen Server implementiert ist, während eine Anzahl von Clients jeweils eine Instanz der Frontend-Einheit enthält. Mit dem gleichen System ist aber auch ein Offline-Einsatz möglich, wobei in diesem Fall die Frontend-Einheit und die Backend-Einheit auf ein und demselben Rechnersystem, beispielsweise einem PC ohne Netzanschluss implementiert sind. In einer weiteren Deployment-Variante können eine oder mehrere Instanzen der Frontend-Einheit auf mobilen Kleinrechnern, beispielsweise Smartphones oder Tablet-PCs implementiert sein, wobei diese Frontend-Einheiten über das Internet auf die – in diesem Fall im Rahmen eines Webservers implementierte – Backend-Einheit zugreifen. The operability of the system in different deployments allows a flexible, but effective use of the system in different hardware environments with low development costs. Thus, in particular, it is possible to operate the system in an ordinary computer network, for example a LAN of a medical device, in which case the backend unit is preferably implemented on a central server, while a number of clients each have an instance of the frontend unit contains. With the same system but also an offline use is possible, in which case the front-end unit and the back-end unit are implemented on the same computer system, such as a PC without power supply. In a further deployment variant, one or more instances of the front-end unit can be implemented on mobile mini-computers, for example smartphones or tablet PCs, these front-end units being transmitted via the Internet to the back-end system implemented in this case as part of a web server. Unit access.
Das erfindungsgemäße System ermöglicht insbesondere auch einen Wechsel zwischen verschiedenen Deployment-Varianten. Beispielsweise kann eine Frontend-Einheit, die auf einem Client implementiert ist, immer dann auf eine entfernt in einem Server implementierte Backend-Einheit zugreifen, wenn der Client netzwerktechnisch mit dem entsprechenden Server verbunden ist, und immer dann auf eine rechnerinterne Backend-Einheit zugreifen, wenn die Netzwerkverbindung unterbrochen wird. In einem anderen Anwendungsfall kann ein Nutzer das System wahlweise von seinem Büro-PC oder seinem Smartphone aus bedienen, wobei er auf identische Instanzen der Frontend-Einheit zugreift. The system according to the invention also makes it possible, in particular, to switch between different deployment variants. For example, a front-end appliance implemented on a client can always access a remotely deployed back-end appliance in a server if the client is network-connected to the appropriate server, and then access an on-machine backend appliance, when the network connection is lost. In another application, a user may optionally operate the system from his office PC or smartphone, accessing identical instances of the front-end unit.
Aufgrund seiner Flexibilität hinsichtlich des Deployments der Frontend-Einheit und der Backend-Einheit kann das System in Hardware-Umgebungen mit äußerst unterschiedlicher Performanz eingesetzt werden. Um angesichts dieser Variabilität der Umgebungsbedingungen eine Überlastung des Systems auszuschließen, verfügt das System in bevorzugter Ausbildung über eine automatische Arbeitsflusssteuerung. Im Zuge dieser Arbeitsflusssteuerung ist die Frontend-Einheit zweckmäßigerweise dazu eingerichtet, die Anzahl der „offenen“ (d.h. an die Backend-Einheit übermittelten, aber noch nicht abgeschlossenen) Render-Aufträge zu ermitteln, und neue Render-Aufträge nur dann abzusenden, wenn diese Anzahl einen vorgegebenen Grenzwert nicht überschreitet. Because of its flexibility in deploying the front-end unit and the back-end unit, the system can be used in hardware environments with very different performance. In order to avoid overloading the system in view of this variability of the environmental conditions, the system preferably has automatic workflow control. In the course of this workflow control, the front-end unit is conveniently set up to determine the number of "open" (ie transmitted to the backend unit but not yet completed) render jobs, and to submit new render jobs only if they are Number does not exceed a predetermined limit.
Ein Render-Auftrag ist hierbei dann abgeschlossen, wenn die Backend-Einheit das mit dem Render-Auftrag angeforderte VR-Bilder erzeugt und an die Frontend-Einheit zurückgeschickt hat. Sofern und solange die Anzahl der offenen Render-Aufträge den Grenzwert überschreitet, werden neue Render-Aufträge vorzugsweise durch die Frontend-Einheit verworfen. Alternativ ist im Rahmen der Erfindung grundsätzlich denkbar, dass die Frontend-Einheit überzählige Render-Aufträge in eine Warteschlange einreiht und zu einem späteren Zeitpunkt an die Backend-Einheit übermittelt. A render job is completed when the backend unit has generated the VR images requested with the render job and sent them back to the frontend unit. Provided and as long as the number of open render jobs exceeds the threshold, new render jobs are preferably discarded by the front end unit. Alternatively, in the context of the invention, it is fundamentally conceivable for the front-end unit to queue surplus render jobs in a queue and transmit them to the back-end unit at a later time.
Alternativ hierzu kann die Arbeitsflusssteuerung im Rahmen der Erfindung auch backend-seitig implementiert sein. In diesem Fall ist die Backend-Einheit dazu eingerichtet, die Anzahl der offenen Render-Aufträge zu ermitteln, und neue Render-Aufträge nur dann anzunehmen, wenn diese Anzahl den vorgegebenen Grenzwert nicht überschreitet. Überzählige Render-Aufträge werden anderenfalls von der Backend-Einheit durch entsprechende Mitteilung an die Frontend-Einheit abgelehnt oder stillschweigend ignoriert. Alternatively, the workflow control in the invention may also be implemented on the backend side. In this case, the backend unit is set up to determine the number of open render jobs, and to accept new render jobs only if that number does not exceed the specified limit. Otherwise, excess render jobs will be rejected or tacitly ignored by the backend unit by notification to the frontend unit.
Um abhängig von dem jeweiligen Deployment des Systems die zur Verfügung stehenden Ressourcen optimiert nutzen zu können, ist der Grenzwert, also die zugelassene Maximalanzahl an offenen Render-Aufträgen für verschiedene vorgesehene Deployment-Varianten vorzugsweise jeweils individuell, und somit gegebenenfalls unterschiedlich vorgegeben. Beispielsweise ist dieser Grenzwert auf den Wert „1“ gesetzt, wenn die Frontend-Einheit und die Backend-Einheit auf ein und demselben Rechnersystem implementiert sind. Bei Deployment der Frontend-Einheit und die Backend-Einheit über das Internet ist der Grenzwert dagegen vorzugsweise auf den Wert „6“ (pro Client) gesetzt. In order to be able to use the available resources optimally depending on the respective deployment of the system, the limit value, that is to say the permitted maximum number of open render jobs for different envisaged deployment variants, is preferably each individual, and thus possibly specified differently. For example, this limit is set to the value "1" when the front-end unit and the back-end unit are implemented on the same computer system. When deploying the front-end unit and the back-end unit via the Internet, the limit is preferably set to the value "6" (per client).
Zur weiteren Flexibilisierung des Systems ist die Backend-Einheit vorzugsweise derart eingerichtet, dass sie Volumendatensätze mindestens zweier Datenformate laden und verarbeiten kann. Insbesondere ist die Backend-Einheit dabei dazu eingerichtet, die Volumendaten von mehreren der Formate DICOM, RAW, JPEG und/oder Deep Zoom einzulesen. Vorzugsweise umfasst hierbei die Backend-Einheit ein multiformatfähiges Datenlademodul, das dazu eingerichtet ist, alle Volumendatensätze zur weiteren Verarbeitung in einem gemeinsamen Ausgabeformat, insbesondere dem Rohdatenformat RAW auszugeben. Alle Volumendatensätze, die ursprünglich in einem abweichenden Format gespeichert sind, werden hierbei von dem Datenlademodul in das gemeinsame Ausgabeformat umgewandelt. Alternativ können verschiedene Lademodule für die verschiedenen Datenformate vorgesehen sein. To further make the system more flexible, the backend unit is preferably set up in such a way that it can load and process volume data sets of at least two data formats. In particular, the backend unit is set up to read in the volume data from several of the DICOM, RAW, JPEG and / or Deep Zoom formats. In this case, the back-end unit preferably comprises a multiformat-capable data loading module which is set up to output all volume data records for further processing in a common output format, in particular the raw data format RAW. All volume data sets that were originally stored in a different format are converted by the data load module into the common output format. Alternatively, different load modules can be provided for the different data formats.
Ebenfalls um die je nach Deployment vorhandenen Hardwareressourcen bestmöglich zu nutzen, ist die Backend-Einheit in einer weiteren Ausführungsvariante dazu eingerichtet, die Hardware-Konfiguration des Rechnersystems zu ermitteln, auf dem die Backend-Einheit (oder zumindest dessen Render-Algorithmus) implementiert ist. Ein Hardware-Erkennungsmodul der Backend-Einheit prüft hierbei insbesondere, ob das Rechnersystem über einen Graphikprozessor (GPU) verfügt und/oder ermittelt die Anzahl der für die Bildsynthese verfügbaren Zentralprozessoren (CPUs oder CPU-Kerne). In Anhängigkeit der ermittelten Hardwarekonfiguration erzeugt die Backend-Einheit dabei die VR-Bilder wahlweise unter Zugriff auf den Graphikprozessor oder mindestens einem Zentralprozessor. Die Backend-Einheit ist also mit anderen Worten dazu eingerichtet, beide Prozessorarten zu nutzen und je nach Verfügbarkeit eine dieser beiden Prozessorarten auszuwählen. Die Backend-Einheit ist hierbei zweckmäßigerweise dazu eingerichtet, den Graphikprozessor zu nutzen, sofern ein solcher verfügbar ist und ansonsten auf einen oder mehrere Zentralprozessoren des zugrundeliegenden Rechnersystems auszuweichen. Likewise, in order to make the best possible use of the hardware resources available depending on the deployment, the backend unit in a further embodiment variant is set up to determine the hardware configuration of the computer system on which the backend unit (or at least its rendering algorithm) is implemented. A hardware recognition module of the backend unit checks in particular whether the computer system has a graphics processor (GPU) and / or determines the number of central processors (CPUs or CPU cores) available for the image synthesis. Depending on the hardware configuration determined, the backend unit thereby generates the VR images optionally with access to the graphics processor or at least one central processor. In other words, the back-end unit is set up to use both types of processors and to select one of these two types of processors depending on the availability. The backend unit is expediently adapted to use the graphics processor, if such is available and otherwise to avoid one or more central processors of the underlying computer system.
Zur weitestmöglichen Verringerung der Latenzzeit, also der Zeitspanne, die ein Nutzer von der Nutzereingabe bis zur Anzeige des VR-Bildes warten muss, ist die Backend-Einheit bevorzugt dazu eingerichtet, den einem Render-Auftrag zugrundeliegenden Volumendatendatensatz nicht im Ganzen, sondern progressiv (d.h. sukzessive in mehreren Teilen oder „Chunks“) einzuladen. Zumindest der erste Chunk ist dabei vorzugsweise derart gewählt, dass die in ihm enthaltenen Voxel über das ganze abgebildete Volumen verteilt sind, so dass bereits ein anhand dieses Chunks erzeugtes VR-Bild die gesamte Volumenstruktur des Volumendatensatzes, wenn auch in geringer Auflösung, wiedergibt. Das erste zu einem Volumendatensatz erzeugte VR-Bild wird hierbei zweckmäßigerweise nur aus einer Teilmenge der Voxel des Volumendatensatzes, und somit mit vergleichsweise geringer Auflösung erzeugt. Bei der Abarbeitung nachfolgender Render-Aufträge zu demselben Volumendatensatz werden jeweils alle bereits eingeladenen Voxel berücksichtigt, so dass die zugehörigen VR-Bilder mit sukzessive steigender Auflösung erzeugt werden. To reduce the latency time as much as possible, ie, the time that a user must wait from the user input to the display of the VR image, the backend unit is preferably set up to render the volume data record underlying a render job not as a whole but progressively (ie successively in several parts or "chunks"). At least the first chunk is preferably selected such that the voxels contained in it are distributed over the entire imaged volume, so that even a VR image generated on the basis of this chunk reproduces the entire volume structure of the volume data set, albeit in low resolution. The first VR image generated to form a volume data set is expediently generated only from a subset of the voxels of the volume data set, and thus with a comparatively low resolution. When processing subsequent render jobs for the same volume data set, all voxels already loaded are taken into account, so that the associated VR images are generated with successively increasing resolution.
Um unter den unterschiedlichen Umgebungsbedingungen, in denen das System betreibbar ist, stets eine vergleichbare Funktionalität des Systems sicherzustellen, ist die Backend-Einheit in einer besonders vorteilhaften Ausführung dazu eingerichtet, die Performanz des Rechnersystems oder Datenübertragungsnetzwerkes, auf dem die Frontend-Einheit und die Backend-Einheit ablaufen, zu bestimmen, und in Abhängigkeit dieser Performanz die Anzahl und/oder Größe der Chunks (insbesondere die Anzahl der x/y-Ebenen des Volumendatensatzes), die für die Abarbeitung des jeweils ersten Render-Auftrags zu einem Volumendatensatz eingelesen werden, derart zu wählen, dass das zugehörige erste VR-Bild stets innerhalb einer vorgegebenen Zeitspanne abgeschlossen ist. Diese Zeitspanne ist in zweckmäßiger Dimensionierung insbesondere auf etwa 1 Sekunde gesetzt. Durch das System wird somit sichergestellt, dass innerhalb dieser Zeitspanne (insbesondere innerhalb einer Sekunde) nach dem Laden eines neuen Volumendatensatzes stets das erste VR-Bild angezeigt wird. Sofern das System auf einem leistungsfähigen Rechnersystem oder Datenübertragungsnetzwerk implementiert ist, wird dieses erste VR-Bild bereits mit vergleichsweise hoher Auflösung angezeigt. Sofern andernfalls das System auf einem leistungsschwachen Rechnersystem oder Datenübertragungsnetzwerk implementiert ist, wird in dem ersten Bearbeitungszyklus ein VR-Bild mit entsprechend geringerer Auflösung erzeugt. In zweckmäßiger Ausführung kann der Nutzer einen jeden Render-Auftrag jederzeit abbrechen, wenn eine hinreichende Auflösung erreicht ist, wodurch in erheblichem Maße Rechenzeit eingespart werden kann. In order to always ensure comparable functionality of the system under the different environmental conditions in which the system is operable, the backend unit is arranged in a particularly advantageous embodiment, the performance of the computer system or data transmission network on which the front-end unit and the backend Unit, determine and, depending on this performance, the number and / or size of the chunks (in particular the number of x / y levels of the volume data set) which are read into a volume data set for the execution of the respectively first render job, such that the associated first VR image is always completed within a predetermined period of time. This time span is set in appropriate dimensioning in particular to about 1 second. The system thus ensures that the first VR image is always displayed within this period of time (in particular within one second) after loading a new volume data record. If the system is implemented on a high-performance computer system or data transmission network, this first VR image is already displayed with a comparatively high resolution. Otherwise, if the system is implemented on a low-performance computer system or data transmission network, a VR image with a correspondingly lower resolution is generated in the first processing cycle. In an expedient embodiment, the user can cancel any rendering job at any time, if a sufficient resolution has been achieved, which can considerably save computing time.
Die Performanz des Rechnersystems oder Datenübertragungsnetzwerkes leitet die Backend-Einheit dabei insbesondere aus der Rechenkapazität des backend-seitigen Rechnersystems, der Datenübertragungsrate zwischen Frontend-Einheit und Backend-Einheit und der Speicherzugriffszeit der Backend-Einheit ab. Im Rahmen der Erfindung kann vorgesehen sein, dass die Backend-Einheit die Performanz in Abhängigkeit des gegebenen Deployments aus hinterlegten Kennwerten ableitet. Vorzugsweise ermittelt die Backend-Einheit die Performanz der anhand einer Testmessung, insbesondere durch Messung der zum Laden, Rendern und Übertragen eines Testdatensatzes benötigten Zeit. Sofern im Rahmen des Systems mehrere Instanzen der Frontend-Einheit mit einer gemeinsamen Backend-Einheit verbunden sind, bestimmt die Backend-Einheit die Performanz vorzugsweise individuell für jede Frontend-Einheit. The performance of the computer system or data transmission network derives the backend unit in particular from the computing capacity of the backend-side computer system, the data transfer rate between the front-end unit and the back-end unit and the memory access time of the back-end unit. Within the scope of the invention, it can be provided that the backend unit derives the performance as a function of the given deployment from stored characteristic values. Preferably, the backend unit determines the performance of the time required by means of a test measurement, in particular by measuring the loading, rendering and transmission of a test data set. If, in the context of the system, several instances of the front-end unit are connected to a common back-end unit, the back-end unit preferably determines the performance individually for each front-end unit.
Um die verfügbaren Datenübertragungskapazitäten besonders effektiv nutzen zu können, ist die Frontend-Einheit vorzugsweise dazu eingerichtet, der Backend-Einheit einen Komprimierungsgrad vorzugeben, nach Maßgabe dessen die Backend-Einheit die VR-Bilder unterschiedlich stark komprimiert. Die Frontend-Einheit legt diesen Komprimierungsgrad dabei insbesondere in Abhängigkeit einer Verwendungsangabe über die beabsichtigte Verwendung der VR-Bilder fest. Die Verwendungsangabe bezeichnet hierbei insbesondere den medizinischen Verwendungszweck, zu dem der Nutzer die VR-Bilder zu verwenden gedenkt (z.B. Befundung, Berichterstellung, Verteilung, etc.). Es kann hierbei vorgesehen sein, dass die Verwendungsangabe von dem Nutzer explizit vorgegeben wird. Vorzugsweise leitet die Frontend-Einheit die Verwendungsangabe, und damit den Komprimierungsgrad aber aus dem eingestellten Arbeitsmodus des Frontends, z.B. einem ablaufenden Workflow, Angaben aus einer elektronischen Patientenakte oder sonstigen Umgebungsbedingungen automatisch ab. In order to be able to use the available data transmission capacities particularly effectively, the front-end unit is preferably set up to specify a degree of compression for the back-end unit according to which the back-end unit compresses the VR pictures differently. The front-end unit determines this degree of compression in particular depending on a use statement on the intended use of the VR images. The indication of use refers in particular to the medical purpose for which the user intends to use the VR images (for example, reporting, reporting, distribution, etc.). It can be provided here that the indication of use is explicitly specified by the user. Preferably, the front-end unit derives the indication of use, and thus the degree of compression from the set working mode of the front end, e.g. an expiring workflow, information from an electronic patient record or other environmental conditions automatically.
Der vorstehend beschriebenen Funktionalität liegt die Erkenntnis zugrunde, dass für verschiedene Verwendungszwecke die VR-Bilder in unterschiedlicher Mindestqualität benötigt werden, und dass dies auch den möglichen Komprimierungsgrad beeinflusst. So ist beispielsweise für das sogenannte „Reading“, d.h. das Befunden von medizinischen Volumendaten regelmäßig höchste Bildqualität zwingend erforderlich, so dass dieser Anwendungszweck mit einer starken Komprimierung der VR-Bilder nicht vereinbar ist. Für andere Anwendungszwecke, beispielsweise die Verteilung der VR-Bilder ist dagegen eine bereits vergleichsweise geringe Bildqualität ausreichend, so dass in diesem Fall eine vergleichsweise starke Bildkomprimierung möglich ist. Infolge der Vorgabe des Komprimierungsgrades werden die VR-Bilder von der Backend-Einheit somit stets so stark komprimiert, wie es der Anwendungszweck zulässt, wodurch die übertragene Datenmenge bedarfsgerecht minimiert wird. The functionality described above is based on the knowledge that the VR images are required in different minimum quality for different purposes, and that this also influences the possible degree of compression. For example, for the so-called "reading", i. The finding of medical volume data regularly requires the highest image quality, so that this application is incompatible with a strong compression of the VR images. For other purposes, such as the distribution of VR images, however, already comparatively low image quality is sufficient, so that in this case, a relatively strong image compression is possible. As a result of the specification of the degree of compression, the VR images are thus always compressed by the back-end unit as much as the application allows, thereby minimizing the amount of data transferred as required.
Zur effektiven Abarbeitung der – ggf. von einer Vielzahl von Frontend-Einheiten übermittelten Render-Aufträge ist die Backend-Einheit vorzugsweise multi-threaded gestaltet, also zur parallelen Abarbeitung mehrerer Ablaufstränge oder „Threads“ geeignet. Konkret ist die Backend-Einheit hierbei insbesondere dazu eingerichtet, jeden Render-Auftrag in einem dedizierten (d.h. diesem Render-Auftrag exklusiv zugewiesenen) Träger-Thread abzuarbeiten. Hierdurch werden Wartezeiten bei der Abarbeitung eines Render-Auftrages weitgehend vermieden. For the effective execution of the - possibly transmitted from a plurality of front-end units rendering jobs, the back-end unit is preferably designed multi-threaded, so suitable for the parallel processing of multiple drainage strands or "threads". Concretely, the backend unit is especially arranged to process each render job in a dedicated (i.e., exclusively assigned to that render job) thread. As a result, waiting times during the execution of a render job are largely avoided.
Zur weiteren Effizienzsteigerung ist die Backend-Einheit dabei zweckmäßigerweise dazu eingerichtet, für das eigentliche Rendern des Volumendatensatzes einen oder mehrere Sub-Threads zu erzeugen, die parallel zu dem Träger-Thread abgearbeitet werden. Um bei dieser hochgradig parallelisierten Abarbeitung der Render-Aufträge dennoch eine Überlastung des Rechnersystems, auf dem die Backend-Einheit implementiert ist, zu vermeiden, sind die Träger-Threads derart gestaltet, dass sie jeweils eine Abfolge von mehreren definierten Bearbeitungsstufen durchlaufen. Beispielhaft durchläuft jeder Träger-Thread eine Eingabestufe (input step), eine Steuerstufe (scheduling step), eine Renderstufe (rendering step), eine Komprimierungsstufe (compression step) und eine Ausgabestufe (output step), deren jeweiliger Inhalt nachfolgend näher erläutert wird. Die Träger-Threads sind dabei derart aufeinander abgestimmt (getaktet), dass sie die verschiedenen Bearbeitungsstufen nach Art eines Fließbands zeitlich versetzt synchron zueinander abarbeiten. Ein Träger-Thread, der einen später gestarteten Render-Auftrag abarbeitet, tritt in eine bestimmte Bearbeitungsstufe somit erst dann ein, wenn ein Träger-Thread eines vorausgehenden Render-Auftrags diese Bearbeitungsstufe verlassen hat. To further increase the efficiency of the backend unit is expediently set up to generate for the actual rendering of the volume data set one or more sub-threads, which are processed in parallel to the carrier thread. In order to avoid overloading the computer system on which the backend unit is implemented in this highly parallelized processing of the render jobs, the support threads are designed such that they each run through a sequence of several defined processing stages. By way of example, each support thread undergoes an input step, a scheduling step, a rendering step, a compression step, and an output step, the respective contents of which will be explained in more detail below. The carrier threads are coordinated (clocked) in such a way that they process the different processing stages in the manner of a conveyor belt in a time-shifted manner in synchronism with one another. A support thread that executes a render job started later, thus enters a certain processing stage only when a support thread a previous rendering job has left this editing stage.
Das Laden der Volumendaten wird vorzugsweise von der Backend-Einheit asynchron zu der Abarbeitung der Träger-Threads durchgeführt. „Asynchron“ heißt hierbei, dass die Backend-Einheit für das Nachladen der einzelnen Subvolumina nicht auf entsprechende Befehle aus dem Träger-Thread wartet, sondern die Ladetätigkeit unabhängig von der Abarbeitung des Träger-Threads durchführt. The loading of the volume data is preferably performed by the backend unit asynchronously with the processing of the carrier threads. "Asynchronous" means here that the backend unit does not wait for corresponding commands from the carrier thread for the reloading of the individual subvolumes, but carries out the loading operation independently of the processing of the carrier thread.
Bei der Frontend-Einheit und der Backend-Einheit handelt es sich in zweckmäßiger Ausführung um Softwarebausteine, so dass das erfindungsgemäße System im engeren Sinne durch ein Softwareprodukt gebildet ist. Im weiteren Sinn schließt das erfindungsgemäße System die Rechnersysteme und das ggf. vorhandene Datenübertragungsnetz, in denen bzw. dem das System deployment-abhängig implementiert ist, ein. In diesem Fall ist das erfindungsgemäße System somit durch eine Kombination einer Hardware und einer darauf lauffähig implementierten Software realisiert. The front-end unit and the back-end unit are expediently software components, so that the system according to the invention is formed in the narrower sense by a software product. In a broader sense, the system according to the invention includes the computer systems and the possibly existing data transmission network in which the system is implemented in a deployment-dependent manner. In this case, the system according to the invention is thus realized by a combination of a hardware and a software implementable thereon.
Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand einer Zeichnung näher erläutert. Darin zeigen: An embodiment of the invention will be explained in more detail with reference to a drawing. Show:
Einander entsprechende Teile, Größen und Strukturen sind in allen Figuren stets mit gleichen Bezugszeichen versehen. Corresponding parts, sizes and structures are always provided with the same reference numerals in all figures.
Das in
Das Frontend
Das Eingabemodul
Bei den von dem Eingabemodul
Entsprechend der hinterlegten Befehlskonvention leitet das Eingabemodul
Zur Kommunikation mit dem Backend
Die Web-Anfrage W enthält neben einer Angabe über die Art oder den Inhalt des zugrundeliegenden Render-Auftrags A (beispielsweise der Durchführung eines Bildrotationsschritts unter Angabe der Drehrichtung)
- – Angaben zur Datenlokalisierung, d.h. zum Speicherort der zu ladenden Volumendaten (z.B. lokale Festplatte, lokale virtuelle Festplatte oder Cloud Blob Storage),
- – eine Angabe zu dem Datenformat der zu ladenden Volumendaten (z.B. DICOM, RAW, JPEG oder Deep Zoom), und
- – einen Komprimierungsgrad, gemäß
dem das Backend 3 das auftragsgemäß zu erstellende VR-Bild B für die Rücksendung andas Frontend 2 komprimiert.
- - data localization information, ie the location of the volume data to be loaded (eg local hard disk, local virtual hard disk or cloud blob storage),
- - an indication of the data format of the volume data to be loaded (eg DICOM, RAW, JPEG or Deep Zoom), and
- - a level of compression according to which the
backend 3 the order to be created VR image B for the return to thefront end 2 compressed.
Die Web-Anfrage W enthält zudem einen Rückruf, den das Backend
Das Bildanforderungsmodul
Um einen „Auftragsstau“ und eine damit verbundene Überlastung des Systems
- – mit dem Absenden einer jeden Web-Anfrage W um den Wert „1“ imkrementiert, und
- – mit dem Abschluss eines jeden Render-Auftrages A, d.h. mit dem Empfang eines jeden VR-Bilds B um den Wert „1“ dekrementiert.
- - With the sending of each web request W is incremented by the value "1", and
- - decrements with the completion of each rendering job A, ie with the receipt of each VR image B by the value "1".
Das Frontend
Wie aus
In der Speicherzugriffsschicht
In der Speicherverwaltungsschicht
In der Renderschicht
Das Speicherinitialisierungsmodul
Das Datenlademodul
Das Chunk-Steuermodul
In einem ersten Schritt werden von dem Datenlademodul
In a first step are from the
Das Umgebungsprüfmodul
Das Rendermodul
Das Hardwareerkennungsmodul
Ist das Backend
Der Bildlademanager
Der Bildlademanager
Die geladenen Volumendaten werden an das Rendermodul
Die „in-memory“ gerenderten Daten werden von dem Rendermodul
Bei der gleichzeitigen Abarbeitung mehrerer Render-Aufträge A werden die parallelen Träger-Threads Ti durch den Bildlademanager
Diese Abstimmung der parallel laufenden Träger-Threads Ti ist bei dem dargestellten System
Der fünfstufige Arbeitsablauf innerhalb eines jeden Träger-Threads Ti vollzieht sich im Einzelnen wie folgt:
In der Eingabestufe S1 (Input Step) nimmt der Bildlademanager
In input stage S1 (Input Step), the image load manager takes
In der Steuerstufe S2 (Scheduling Step) untersucht der Bildlademanager
Des Weiteren reserviert der Bildlademanager
Die Renderstufe S3 wird bei der Abarbeitung eines auf einen neuen Volumendatensatz V gerichteten (ersten) Render-Auftrags A jeweils mit einem ersten geladenen Subvolumen (das aus einem oder mehreren Chunks bestehen kann) geladen und kann danach weitere, auf Nutzereingaben E beruhende Render-Aufträge A ausführen. Dabei liefert sie jeweils als Ergebnis eine Bitmap des auftragsgemäß erstellten VR-Bildes B zurück. Das Rendermodul
In der Komprimierungsstufe S4 wird das erstellte VR-Bild B nach Maßgabe des eingangs zugeführten Komprimierungsgrades komprimiert. Die Funktion der Komprimierungsstufe S4 ist im dargestellten Beispiel in dem Rendermodul
Die im dargestellten Beispiel ebenfalls in das Rendermodul
Die Kommunikation zwischen dem Frontend
Das Laden der Volumendaten ist wiederum vollständig asynchron zu der fließbandartigen Abarbeitung der Träger-Threads Ti gestaltet. Der Bildlademanager
In der Speicherschicht
Hiervon wird durch das Datenlademodul
Der Formfaktor ist hierbei ein Maß für die Auflösung, die der Client darstellen kann. Ist beispielsweise der Client ein Smartphone, so ist dessen Formfaktor regelmäßig vergleichsweise klein. Entsprechend werden – wie in
Die vom Frontend
Wie bereits vorstehend erwähnt, können das Frontend
Anstelle eines einzelnen Servers
Eine weitere Deployment-Variante des Systems
Die Erfindung ist nicht auf das vorstehend beschriebene Ausführungsbeispiel beschränkt. Vielmehr können weitere Ausführungen der Erfindung von dem Fachmann anhand der vorstehenden Beschreibung gefunden werden. The invention is not limited to the embodiment described above. Rather, other embodiments of the invention can be found by those skilled in the art from the foregoing description.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201210202537 DE102012202537A1 (en) | 2012-02-20 | 2012-02-20 | System for image synthesis i.e. rendering, of tomogram in medical engineering, has frontend and backend-units operated in different operating system processes of common computer system or in different computer systems of network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201210202537 DE102012202537A1 (en) | 2012-02-20 | 2012-02-20 | System for image synthesis i.e. rendering, of tomogram in medical engineering, has frontend and backend-units operated in different operating system processes of common computer system or in different computer systems of network |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102012202537A1 true DE102012202537A1 (en) | 2013-08-22 |
Family
ID=48915204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE201210202537 Pending DE102012202537A1 (en) | 2012-02-20 | 2012-02-20 | System for image synthesis i.e. rendering, of tomogram in medical engineering, has frontend and backend-units operated in different operating system processes of common computer system or in different computer systems of network |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102012202537A1 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040156377A1 (en) * | 2003-02-08 | 2004-08-12 | Walls Jeffrey Joel | Apparatus and method for communicating with a network |
US20050038890A1 (en) * | 2003-08-11 | 2005-02-17 | Hitachi., Ltd. | Load distribution method and client-server system |
US20080082966A1 (en) * | 2006-09-29 | 2008-04-03 | Siemens Aktiengesellschaft | System for creating and running a software application for medical imaging |
US20090189890A1 (en) * | 2008-01-27 | 2009-07-30 | Tim Corbett | Methods and systems for improving resource utilization by delaying rendering of three dimensional graphics |
US20090225076A1 (en) * | 2008-03-04 | 2009-09-10 | Agfa Healthcare Nv | Method and System for Real-Time Volume Rendering on Thin Clients Via Render Server |
US20100045662A1 (en) * | 2006-10-02 | 2010-02-25 | Aftercad Software Inc. | Method and system for delivering and interactively displaying three-dimensional graphics |
DE102010043783A1 (en) * | 2010-11-11 | 2011-11-24 | Siemens Aktiengesellschaft | Method for distributing load of three dimensional-processing of e.g. medical image data, between client and server computers of network in cloud processing scenario, involves generating three dimensional volume from loaded image data |
-
2012
- 2012-02-20 DE DE201210202537 patent/DE102012202537A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040156377A1 (en) * | 2003-02-08 | 2004-08-12 | Walls Jeffrey Joel | Apparatus and method for communicating with a network |
US20050038890A1 (en) * | 2003-08-11 | 2005-02-17 | Hitachi., Ltd. | Load distribution method and client-server system |
US20080082966A1 (en) * | 2006-09-29 | 2008-04-03 | Siemens Aktiengesellschaft | System for creating and running a software application for medical imaging |
US20100045662A1 (en) * | 2006-10-02 | 2010-02-25 | Aftercad Software Inc. | Method and system for delivering and interactively displaying three-dimensional graphics |
US20090189890A1 (en) * | 2008-01-27 | 2009-07-30 | Tim Corbett | Methods and systems for improving resource utilization by delaying rendering of three dimensional graphics |
US20090225076A1 (en) * | 2008-03-04 | 2009-09-10 | Agfa Healthcare Nv | Method and System for Real-Time Volume Rendering on Thin Clients Via Render Server |
DE102010043783A1 (en) * | 2010-11-11 | 2011-11-24 | Siemens Aktiengesellschaft | Method for distributing load of three dimensional-processing of e.g. medical image data, between client and server computers of network in cloud processing scenario, involves generating three dimensional volume from loaded image data |
Non-Patent Citations (4)
Title |
---|
Forumseintrag ".net Funda" vom 13.4.2009 zum Begriff "Remoting", URL: http://www.dotnetfunda.com/interview/exam505-what-is-remoting.aspx [abgerufen am 20.11.2012]. * |
Forumseintrag „.net Funda" vom 13.4.2009 zum Begriff "Remoting", URL: http://www.dotnetfunda.com/interview/exam505-what-is-remoting.aspx [abgerufen am 20.11.2012]. |
Online-Definition des Begriffes "remoting" auf "glosbe.com", URL: http://de.glosbe.com/en/de/remoting , [abgerufen am 20.11.2012]. * |
Online-Definition des Begriffes „remoting" auf „glosbe.com", URL: http://de.glosbe.com/en/de/remoting , [abgerufen am 20.11.2012]. |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112012004747B4 (en) | Hidden automated data mirroring for native interfaces in distributed virtual machines | |
DE112019004301T5 (en) | IMPROVED PROGRAMMING PROGRAMMING OF FIELD PROGRAMMABLE GATE ARRAYS USING PARTIAL RECONFIGURATION | |
DE102018130037A1 (en) | DYNAMIC JITTER AND LATENCY TOLERANT RENDERING | |
DE112020005323B4 (en) | ELASTIC EXECUTION OF MACHINE LEARNING WORKLOADS USING APPLICATION-BASED PROFILING | |
DE102020124932A1 (en) | Apparatus and method for real-time graphics processing using local and cloud-based graphics processing resources | |
DE102019103340A1 (en) | SIMULTANEOUS COMPUTING AND GRAPHICS SCHEDULING | |
DE102017009121A1 (en) | Prioritizing tile-based virtual reality video streaming using adaptive rate allocation | |
DE202017105403U1 (en) | Instruction set architecture for neural networks | |
DE102019007796A1 (en) | Use of a neural network serving for the detection of critical edges and a geometric model for determining camera parameters from a single digital image | |
DE102019103310A1 (en) | ESTIMATE FOR AN OPTIMAL OPERATING POINT FOR HARDWARE WORKING WITH A RESTRICTION ON THE SHARED PERFORMANCE / HEAT | |
DE69805087T2 (en) | METHOD AND SYSTEM FOR SYNCHRONIZED DETECTION, PROCESSING AND ALLOCATION OF INSTRUMENTATION DATA AND FOR SYNCHRONIZED CONTROL IN A CLIENT-SERVER NETWORK | |
DE102020132377A1 (en) | Apparatus and method for throttling a ray tracing pipeline | |
DE112019005288T5 (en) | EFFECTIVE AND SCALABLE BUILDING AND PROBING OF HASH TABLES USING MULTIPLE GPUs | |
DE102020201154A1 (en) | METHOD AND DEVICE FOR STORING AND ACCESSING MULTI-DIMENSIONAL DATA | |
DE102021121332A1 (en) | ASSESSING QUALITATIVE STREAMING EXPERIENCE USING SESSION PERFORMANCE METADATA | |
DE102013017640A1 (en) | Distributed tiled caching | |
DE102006038155A1 (en) | Distributed image processing for medical images, involves monitoring system resources between communicating server and client to produce monitoring data, processing image data, and allocating image data to client based on monitoring data | |
DE102021119725A1 (en) | OVERLAYING METADATA ONTO VIDEO STREAM ON-DEMAND FOR INTELLIGENT VIDEO ANALYTICS | |
DE102020127862A1 (en) | INCREASE USER BINDING WHILE WAITING FOR COMPUTING ALLOCATION FOR CLOUD SERVICES | |
DE102017011422A1 (en) | Baring prediction for a three-dimensional digital content | |
DE102020118860A1 (en) | TECHNIQUES FOR PRELOADING TEXTURES WHEN RENDERING GRAPHICS | |
DE60015784T2 (en) | METHOD AND DEVICE FOR QUICKLY VISUALIZING THREE-DIMENSIONAL SCENES | |
DE112016001140T5 (en) | Interactive multi-user display system and method | |
DE102021122362A1 (en) | SWITCHING BETWEEN STATES IN A HYBRID VIRTUAL REALITY DESKTOP COMPUTING ENVIRONMENT | |
DE112021003274T5 (en) | RESOURCE ALLOCATION TO OPTIMIZE HYPERPARAMETERS IN LARGE DEEP LEARNING WORKLOADS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R083 | Amendment of/additions to inventor(s) | ||
R016 | Response to examination communication | ||
R081 | Change of applicant/patentee |
Owner name: SIEMENS HEALTHCARE GMBH, DE Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0019000000 Ipc: G16Z0099000000 |
|
R081 | Change of applicant/patentee |
Owner name: SIEMENS HEALTHINEERS AG, DE Free format text: FORMER OWNER: SIEMENS HEALTHCARE GMBH, MUENCHEN, DE |