DE102016005694A1 - A method of rendering a set of output pixels of a 2D pixel image and computer program product - Google Patents

A method of rendering a set of output pixels of a 2D pixel image and computer program product Download PDF

Info

Publication number
DE102016005694A1
DE102016005694A1 DE102016005694.0A DE102016005694A DE102016005694A1 DE 102016005694 A1 DE102016005694 A1 DE 102016005694A1 DE 102016005694 A DE102016005694 A DE 102016005694A DE 102016005694 A1 DE102016005694 A1 DE 102016005694A1
Authority
DE
Germany
Prior art keywords
pixels
output
pixel
pixel image
images
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
Application number
DE102016005694.0A
Other languages
German (de)
Inventor
Hendrick Kay
Günter Linhardt
Hansjörg Oppermann
Tim Stoldt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Conleos GmbH
Original Assignee
Conleos GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Conleos GmbH filed Critical Conleos GmbH
Priority to DE102016005694.0A priority Critical patent/DE102016005694A1/en
Publication of DE102016005694A1 publication Critical patent/DE102016005694A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/04Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
    • H04N1/17Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa the scanning speed being dependent on content of picture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/52Parallel processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

Es wird ein Verfahren zum Rendern einer Menge von an Positionen geordneten Ausgabepixeln eines 2D-Pixelbilds beschrieben. Es werden Folienbilder aus Pixeln in einer Speichereinheit bereitgestellt, wobei jedes Pixel eines Folienbilds einer Position im 2D-Pixelbild zugeordnet ist. Das 2D-Pixelbild wird in einer Recheneinheit errechnet, indem an allen Positionen im 2D-Pixelbild jeweils alle einer der Positionen im 2D-Pixelbild zugeordneten Pixel aus den Folienbildern zu jeweils einem Ausgabepixel des 2D-Pixelbilds zusammengerechnet werden. Dabei werden Ausgabepixel an aufeinander folgenden Positionen gruppenweise berechnet, indem für jedes Ausgabepixel in der Gruppe alle der Position des Ausgabepixels im 2D-Pixelbild zugeordneten Pixel aus den Folienbildern zusammengerechnet werden, nachdem die Ausgabepixel an allen zu den Positionen in der Gruppe vorhergehenden Positionen im 2D-Pixelbild berechnet worden sind. Das 2D-Pixelbild wird auf einem Ausgabegerät ausgegeben. Mit einem Computerprogrammprodukt kann das Verfahren auf einem Computer ausgeführt werden.A method of rendering a set of positionally ordered output pixels of a 2D pixel image is described. Foil images of pixels are provided in a storage unit, wherein each pixel of a foil image is associated with a position in the 2D pixel image. The 2D pixel image is calculated in a computation unit by adding together at each position in the 2D pixel image in each case all pixels assigned to one of the positions in the 2D pixel image from the film images to a respective output pixel of the 2D pixel image. Output pixels at successive positions are calculated in groups by adding together for each output pixel in the group all the pixels from the film images associated with the position of the output pixel in the 2D pixel image, after the output pixels have been positioned at all positions preceding the positions in the group in the 2D position. Pixel image have been calculated. The 2D pixel image is output on an output device. With a computer program product, the process can be performed on a computer.

Figure DE102016005694A1_0001
Figure DE102016005694A1_0001

Description

Die Erfindung betrifft ein Verfahren zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds mit den Merkmalen gemäß dem Oberbegriff des Anspruchs 1. Des Weiteren betrifft die Erfindung ein Computerprogrammprodukt gemäß Anspruch 10.The invention relates to a method for rendering a set of output pixels of a 2D pixel image having the features according to the preamble of claim 1. The invention further relates to a computer program product according to claim 10.

Die Verarbeitung von zweidimensionalen Bildern aus Pixeln (2D-Pixelbilder) ist in vielen technischen Anwendungsgebieten weit verbreitet. Häufig ist im Zusammenhang eines technischen Vorgangs, wie zum Beispiel der Kommunikation zweier über das Internet miteinander verknüpfter Computer, der Bildgebung in der Medizintechnik oder der Druckvorstufe, ein 2D-Pixelbild zu erzeugen und auf einem Ausgabegerät darzustellen oder auszugeben. Im Zuge der gegenwärtig stetig zunehmenden Datenmengen, zum Beispiel aufgrund der zunehmend höhere Darstellungsqualität oder der in quadratischer Abhängigkeit wachsenden Auflösung auf den Ausgabegeräten, ist es dabei offenkundig, dass aufgrund von mangelnder Speicherverfügbarkeit die 2D-Pixelbilder nicht immer als Zielbilder abgelegt vorgehalten werden können, sondern erst bedarfsgerecht aus Quellbildern erzeugt werden.The processing of two-dimensional images of pixels (2D pixel images) is widespread in many technical fields of application. Often, in the context of a technical process, such as the communication of two inter-computer linked computers, medical imaging or pre-press imaging, a 2D pixel image is to be generated and displayed on an output device. In the course of the currently steadily increasing amounts of data, for example due to the increasingly higher quality of representation or increasing in quadratic dependence resolution on the output devices, it is obvious that due to lack of memory availability, the 2D pixel images can not always be stored as target images, but only as needed from source images.

Im Zusammenhang von Gruppen von 2D-Pixelbildern, deren Inhalte sich nur in wenigen Eigenschaften unterscheiden, kommt dabei der so genannten Layertechnik besondere Bedeutung zu: Ein Zielbild aus Ausgabepixeln wird aus einer Mehrzahl einzelner Layer zusammengerechnet. Die Layer kann man sich anschaulich wie Folien mit teilweise völlig transparenten, teiltransparenten und opaken Bildinhalten vorstellen, welche übereinandergelegt das Zielbild ergeben. Dabei kann zusätzlich noch jedem Pixel in einem Layer ein Tiefenwert zugeordnet sein. Die Layer werden nachfolgend als Folienbilder bezeichnet. Eine Zerlegung in eine Mehrzahl von Folienbildern erlaubt es, aus einer Kombination von wenigen vorgehaltenen Folienbildern eine Vielzahl von Zielbildern bedarfsgerecht zu errechnen. Die Reduktion des notwendigen Speicherplatzes ist signifikant: Aus nur (n1 +...+ ni) abgespeicherten Folienbildern, wobei ni die Anzahl der Folienbilder in der j-ten Gruppe aus den i Gruppen von Folienbildern mit i variierenden Eigenschaften oder Attributen – zum Beispiel Applikation, Textur und Farbe – bedeutet, können (n1·...·ni) Zielbilder errechnet werden. Beispielsweise sind bei 3 Applikationen, 6 Texturen und 4 Farben (3 × 6 × 4) = 72 Zielbilder erhältlich, es werden aber nur (3 + 6 + 4) = 13 Folienbilder benötigt. Mit anderen Worten, der Speicherplatzbedarf steigt mit zunehmender Anzahl von Eigenschaften nur additiv und nicht multiplikativ.In the context of groups of 2D pixel images, the contents of which differ only in a few properties, the so-called layer technique is of particular importance: a target image from output pixels is composed of a plurality of individual layers. The layers can be visualized as slides with partly completely transparent, semi-transparent and opaque image contents, which superimpose the target image. In addition, each pixel in a layer can be assigned a depth value. The layers are referred to below as foil images. A decomposition into a plurality of foil images makes it possible to calculate a large number of target images from a combination of a few retained foil images as needed. The reduction of the necessary storage space is significant: from only (n 1 + ... + n i ) stored foil images, where n i is the number of foil images in the j th group of the i groups of foil images with i varying properties or attributes, For example, application, texture and color - means, (n 1 · ... · n i ) target images can be calculated. For example, with 3 applications, 6 textures and 4 colors (3 × 6 × 4) = 72 target images are available, but only (3 + 6 + 4) = 13 slide images are needed. In other words, the amount of memory required increases only as an additive and not as a multiplier as the number of properties increases.

Vor dem Hintergrund der notwendigen Erstellung des Zielbildes bei Bedarf ist es von großer Bedeutung, dass die Folienbilder möglichst schnell zusammengerechnet werden. Aufgabe der vorliegenden Erfindung ist es daher, eine schnelle Ausgabe eines 2D-Pixelbildes auf einem Ausgabegerät zu bewirken.Against the background of the necessary creation of the target image as needed, it is of great importance that the slide images are added together as quickly as possible. It is therefore an object of the present invention to effect a fast output of a 2D pixel image on an output device.

Diese Aufgabe wird erfindungsgemäß durch ein Verfahren zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds mit den Merkmalen gemäß Anspruch 1 gelöst. Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen charakterisiert. Einzelne Merkmale oder Merkmalskombinationen, welche in der Erfindung realisiert sein können, sind in dieser Beschreibung und/oder den beigefügten Figuren dargestellt. Die in den Ansprüchen einzeln aufgeführten Merkmale sind in technologisch sinnvoller Weise miteinander kombinierbar und können durch erläuternde Sachverhalte aus der Beschreibung und durch Details aus den Figuren ergänzt werden, wobei weitere Ausführungsvarianten der Erfindung aufgezeigt werden.This object is achieved by a method for rendering a set of output pixels of a 2D pixel image with the features of claim 1. Advantageous developments of the invention are characterized in the dependent claims. Individual features or feature combinations which may be realized in the invention are illustrated in this description and / or the attached figures. The features listed individually in the claims can be combined with each other in a technologically meaningful manner and can be supplemented by explanatory facts from the description and by details from the figures, wherein further embodiments of the invention are shown.

Erfindungsgemäß ist ein Verfahren zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds, insbesondere mittels eines Rechners oder Computers, insbesondere in einem 2D-Computergrafiksystem, geschaffen. Die Ausgabepixel des 2D-Pixelbilds sind an Positionen in der Menge geordnet, insbesondere formatiert. Die Ordnung bezieht sich insbesondere auf die Koordinaten oder die (x, y)-Position im 2D-Pixelbild mit Dimensionen x und y.According to the invention, a method is provided for rendering a set of output pixels of a 2D pixel image, in particular by means of a computer or computer, in particular in a 2D computer graphics system. The output pixels of the 2D pixel image are ordered at positions in the set, in particular formatted. The order relates in particular to the coordinates or the (x, y) position in the 2D pixel image with dimensions x and y.

Die Pixel enthalten bevorzugt Farbwerte aus einem geräteunabhängigen Farbraum, insbesondere aus einem dreidimensionalen Farbraum, beispielsweise dem Lab-Raum oder bevorzugt dem RGB-Raum.The pixels preferably contain color values from a device-independent color space, in particular from a three-dimensional color space, for example the Lab space or preferably the RGB space.

Im erfindungsgemäßen Verfahren werden mehr als zwei Folienbilder aus Pixeln in einer Speichereinheit bereitgestellt, wobei jedes Pixel eines Folienbilds der mehr als zwei Folienbilder einer Position im 2D-Pixelbild zugeordnet ist. Ausgehend von den Folienbildern in einer Recheneinheit wird das 2D-Pixelbild errechnet, indem an allen Positionen im 2D-Pixelbild jeweils alle einer der Positionen im 2D-Pixelbild zugeordneten Pixel aus den Folienbildern zu jeweils einem Ausgabepixel des 2D-Pixelbilds zusammengerechnet werden. Erfindungsgemäß werden Ausgabepixel im 2D-Pixelbild gruppenweise berechnet. Dabei wird eine Gruppe von Ausgabepixeln an aufeinander folgenden Positionen im 2D-Pixelbild berechnet, indem für jeden Ausgabepixel in der Gruppe alle der Position des Ausgabepixels im 2D-Pixelbild zugeordneten Pixel aus den Folienbildern zusammengerechnet werden. Dies geschieht, nachdem die Ausgabepixel an allen zu den Positionen der Ausgabepixel in der Gruppe vorhergehenden Positionen im 2D-Pixelbild berechnet worden sind, insbesondere indem für jedes Ausgabepixel an einer der zu den Positionen der Ausgabepixel in der Gruppe vorhergehenden Positionen alle zugeordneten Pixel aus den Folienbildern zusammengerechnet worden sind. Das 2D-Pixelbild wird dann auf einem Ausgabegerät, insbesondere einem Gerät für eine visuelle Ausgabe, ausgegeben.In the method according to the invention, more than two film images of pixels are provided in a memory unit, wherein each pixel of a film image of the more than two film images is assigned to a position in the 2D pixel image. Starting from the film images in a computing unit, the 2D pixel image is calculated by adding together all the pixels of the film images assigned to one of the positions in the 2D pixel image to one output pixel of the 2D pixel image at all positions in the 2D pixel image. According to the invention, output pixels in the 2D pixel image are calculated in groups. In this case, a group of output pixels is calculated at successive positions in the 2D pixel image by adding together for each output pixel in the group all pixels of the film images associated with the position of the output pixel in the 2D pixel image. This is done after the output pixels have been calculated at all positions preceding the positions of the output pixels in the group in the 2D pixel image, in particular by for each output pixel at one of the positions of the output pixels in the group previous positions all associated pixels from the slide images have been added together. The 2D pixel image is then output on an output device, in particular a device for visual output.

Das Ausgabegerät kann ein Monitor, ein Drucker, ein Display eines Handgerätes, wie zum Beispiel eines Smartphones oder eines Tablets, oder dergleichen sein. Ein 2D-Pixelbild kann auch als eine 2D-Pixelgrafik oder abkürzend als ein 2D-Bild oder eine 2D-Grafik bezeichnet werden. Pixel können einen oder mehrere Farbwerte und/oder einen Transparentwert umfassen. Die Folienbilder können auch als Layer bezeichnet werden. Pixel können auch als Bildpunkte bezeichnet werden. Ein Computer kann auch als Rechner bezeichnet werden.The output device may be a monitor, a printer, a display of a handset, such as a smartphone or a tablet, or the like. A 2D pixel image may also be referred to as a 2D pixel graphic, or abbreviated as a 2D image or a 2D graphic. Pixels may include one or more color values and / or a transparency value. The slide images can also be called layers. Pixels can also be referred to as pixels. A computer can also be called a computer.

Im Allgemeinen werden in 2D-Computergrafiksystemen Bilder als Abfolge von Farbinformationen sequenziell angezeigt. Das 2D-Bild beginnt in einer Ecke, zum Beispiel oben links, und breitet sich zeilenweise bis zur gegenüberliegenden Ecke, zum Beispiel unten rechts, aus. In einem auszugebenden 2D-Bild sind die Ausgabepixel in der Weise des Bildaufbaus bei der Ausgabe geordnet. Anders gesagt, um ein 2D-Bild darzustellen, werden Datenformate oder Datenordnungen genutzt, deren Struktur dem Ausgabeverfahren entspricht. Ein 2D-Bild kann daher in einem Speicher linear abgelegt werden, insbesondere indem die einzelnen Zeilen linear aneinander liegend abgespeichert werden. Dadurch können die 2D-Bilder technisch einfach direkt aus dem Speicher ausgelesen und angezeigt werden.Generally, in 2D computer graphics systems, images are sequentially displayed as a sequence of color information. The 2D image begins in a corner, for example, at the top left, and spreads line by line to the opposite corner, for example, bottom right. In a 2D image to be output, the output pixels are arranged in the manner of image formation at output. In other words, to represent a 2D image, data formats or data orders whose structure corresponds to the output method are used. A 2D image can therefore be stored linearly in a memory, in particular by the individual lines being stored linearly adjacent to one another. This makes it technically easy to read and display the 2D images directly from the memory.

Dank der erfindungsgemäßen Verarbeitung der Pixel aus den Folienbildern zu einem 2D-Pixelbild aus Ausgabepixeln ist eine schnelle Berechnung und somit eine schnelle Darstellung auf einem Ausgabegerät möglich. Dieser Vorteil ist besonders bedeutsam im Zusammenhang von Programmanwendungen, in welchen auf Anfrage ein 2D-Pixelbild situativ errechnet und ausgegeben wird, da beim Einsatz des erfindungsgemäßen Verfahrens die Antwortzeiten kurz sind.Thanks to the processing according to the invention of the pixels from the film images into a 2D pixel image from output pixels, rapid calculation and thus rapid representation on an output device are possible. This advantage is particularly significant in the context of program applications in which, upon request, a 2D pixel image is calculated and output situationally since, when using the method according to the invention, the response times are short.

Für das erfindungsgemäße Verfahren ist es besonders bevorzugt und trägt es zu einer weiteren Beschleunigung bei, wenn zusätzlich die Folienbilder in einem Datenformat mit reduziertem Speicherplatzbedarf, insbesondere unter verlustfreier Kompression, bereitgestellt und/oder mit einer Anordnung der Pixel in den Folienbildern für eine Parallelverarbeitung organisiert sind. Zu diesem Zweck können zweidimensionale Bilder und Folienbilder in besagtem Datenformat verlustfrei ineinander überführt/umgerechnet werden. Bei der Überführung/Umrechnung und/oder der verlustfreien Kompression wird die Geometrie der Bilder, das heißt die Höhe und die Breite der Bilder, und deren Inhalt nicht verändert.For the method according to the invention, it is particularly preferred and contributes to a further acceleration if, in addition, the film images are provided in a data format with reduced storage space requirement, in particular under lossless compression, and / or are organized with an arrangement of the pixels in the film images for parallel processing , For this purpose, two-dimensional images and film images in said data format can be converted without loss into each other / converted. During transfer / conversion and / or lossless compression, the geometry of the images, ie the height and width of the images, and their content are not changed.

Bevorzugt werden in vorteilhaften Ausführungsformen des erfindungsgemäßen Verfahrens zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds Gruppen von Pixeln der mehr als zwei Folienbilder zeilenweise und/oder parallelisiert in der Recheneinheit verarbeitet. Auf Basis einer zeilenorientieren/zeilenweisen und/oder parallelisierten Verarbeitung können mehrere Ausgabepixel, insbesondere sämtliche Ausgabepixel einer Zeile des 2D-Pixelbilds, gleichzeitig berechnet werden. Bei einer zeilenorientierten Verarbeitung kann insbesondere eine parallelisierte Verarbeitung mehrerer Zeilen erfolgen. Eine parallelisierte Verarbeitung kann eine Parallelverarbeitung auf mehreren Rechnerkernen oder bevorzugt eine nebenläufige Verarbeitung – vorteilhaft unter anderem wegen der Skalierbarkeit – sein. Diese Vorgehensweise bewirkt eine weitere Verringerung der für die Berechnung notwendigen Zeit.Preferably, in advantageous embodiments of the method according to the invention for rendering a set of output pixels of a 2D pixel image, groups of pixels of the more than two film images are processed line by line and / or parallel in the arithmetic unit. On the basis of line-oriented / line-wise and / or parallelized processing, a plurality of output pixels, in particular all output pixels of a line of the 2D pixel image, can be calculated simultaneously. In a line-oriented processing, a parallel processing of a plurality of lines can be carried out in particular. A parallelized processing may be a parallel processing on several computer cores or preferably a concurrent processing - advantageous among other things because of the scalability. This procedure causes a further reduction of the time required for the calculation.

Es ist besonders vorteilhaft im Hinblick auf einen möglichst geringen Speicherplatzbedarf und/oder auf möglichst wenige Rechenschritte, wenn im erfindungsgemäßen Verfahren zum Rendern die mehr als zwei Folienbilder darüber hinaus nur mit Pixeln mit Deckkraft, nur mit nicht völlig transparenten Pixeln, bereitgestellt werden. Pixel mit Deckkraft – teiltransparent oder opak – werden auch als relevante Pixel bezeichnet, während Pixel ohne Deckkraft dagegen irrelevante Pixel sind. Pixel ohne Deckkraft sind transparent und daher beitragslos beim Zusammenrechnen der Pixel aus den Folienbildern zum Ausgabepixel. In diesen erfindungsgemäßen Ausführungsformen werden Pixel ohne Deckkraft für die Berechnung nicht herangezogen.It is particularly advantageous with regard to the smallest possible storage space requirement and / or to as few computation steps as possible if in the method according to the invention for rendering the more than two film images are provided only with pixels having opacity, only with pixels which are not completely transparent. Pixels with opacity - partially transparent or opaque - are also referred to as relevant pixels, while pixels without opacity are irrelevant pixels. Opacity-free pixels are transparent and therefore non-contributory in summing the pixels from the slide images to the output pixel. In these embodiments according to the invention, pixels without opacity are not used for the calculation.

In einer vorteilhaften besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens zum Rendern werden die mehr als zwei Folienbilder mit Pixeln, welche – insbesondere zusätzlich – einen Tiefenwert umfassen, bereitgestellt. Der Tiefenwert ist ein Maß für den Abstand des Pixels zum Bezugspunkt, zum Beispiel zur Betrachterposition oder zur Aufnahmekameraposition, des 2D-Bildes. Er wird auch als Z-Wert bezeichnet. In der besagten Ausführungsform kann insbesondere ein konkreter Ausgabepixel des 2D-Pixelbildes aus den Pixeln der mehr als zwei Folienbilder berechnet werden, indem die Pixel der Folienbilder in Reihenfolge ihrer Tiefenwerte zusammengerechnet werden. Bevorzugt erfolgt eine Zusammenrechnung der Tiefenwerte von einer großen zu einer kleinen Entfernung zum Betrachter des 2D-Bildes. Auf diese Weise kann für einen Ausgabepixel ein Pixel eines Folienbildes mit kleinem Tiefenwert ein Pixel eines anderen Folienbildes mit großem Tiefenwert gemäß seiner Deckkraft teilweise oder vollständig überdecken.In an advantageous particularly preferred embodiment of the method according to the invention for rendering, the more than two foil images are provided with pixels which-in addition to that-comprise a depth value. The depth value is a measure of the distance of the pixel from the reference point, for example, to the observer position or the shooting camera position, of the 2D image. It is also called Z-value. In the said embodiment, in particular, a concrete output pixel of the 2D pixel image can be calculated from the pixels of the more than two film images by adding up the pixels of the film images in order of their depth values. Preferably, the depth values are aggregated from a large to a small distance to the viewer of the 2D image. In this way, for an output pixel, one pixel of a low depth film image may partially or completely cover a pixel of another high depth image film according to its opacity.

Alternativ dazu oder darüber hinaus können in Ausführungsformen des erfindungsgemäßen Verfahrens zum Rendern in einem Arbeitsformat Pixel in zusammenhängenden Pixelbereichen der Folienbilder in Pixelgruppen zusammengefasst bereitgestellt werden. Es ist dabei besonders bevorzugt, wenn insbesondere für eine Pixelgruppe Farbwerte der Pixel in einem ersten Speicherbereich und Tiefenwerte in einem zweiten Speicherbereich bereitgestellt werden.Alternatively, or in addition, in embodiments of the inventive method for rendering in a working format, pixels in contiguous pixel areas of the film images in pixel groups. In this case, it is particularly preferable if, in particular for a pixel group, color values of the pixels in a first memory area and depth values in a second memory area are provided.

In einer vorteilhaften Weiterentwicklung dieser Ausführungsformen des erfindungsgemäßen Verfahrens zum Rendern werden die mehr als zwei Folienbilder in einem verlustfrei komprimierten Datenformat bereitgestellt und zur Berechnung der Ausgabepixel in das Arbeitsformat dekomprimiert. Das verlustfrei komprimierte Datenformat kann ein bekanntes Kompressionsdatenformat, wie beispielsweise ein ZIP-Format oder mittels compress- oder deflat-Kompression sein. Die deflat-Kompression ist aufgrund ihrer Streaming-Fähigkeit besonders bevorzugt.In an advantageous further development of these embodiments of the inventive method for rendering, the more than two foil images are provided in a losslessly compressed data format and decompressed to calculate the output pixels in the working format. The lossless compressed data format may be a known compression data format, such as a ZIP format or by compress or deflat compression. Deflat compression is particularly preferred because of its streaming capability.

Das erfindungsgemäße Verfahren zum Rendern ist nicht auf Ausführungsformen mit lokal begrenzten Rechenmitteln und Darstellungsmitteln, insbesondere mit genau einem Computer beschränkt, sondern kann auch in einem Netzwerk von Computern, zum Beispiel in einem LAN, WLAN oder über das Internet, verteilt auf einer Mehrzahl von Computern realisiert werden. Das erfindungsgemäße Verfahren kann dabei in einer Gruppe von Ausführungsformen teilweise auf einem ersten Computer und teilweise auf einem zweiten Computer, der nicht identisch zum ersten Computer ist, ausgeführt werden. Mit anderen Worten, im erfindungsgemäßen Verfahren zum Rendern können die Berechnungen auf einem ersten Rechner ausgeführt werden und kann das 2D-Pixelbild auf einem Ausgabegerät eines zweiten Rechners, der vom ersten Rechner verschieden ist, ausgegeben werden.The method according to the invention for rendering is not limited to embodiments with locally limited computing means and presentation means, in particular with exactly one computer, but can also be present in a network of computers, for example in a LAN, WLAN or over the Internet, distributed on a plurality of computers will be realized. The method according to the invention can be carried out in a group of embodiments partly on a first computer and partly on a second computer which is not identical to the first computer. In other words, in the method according to the invention for rendering, the calculations can be carried out on a first computer and the 2D pixel image can be output on an output device of a second computer, which is different from the first computer.

Besonders bei Anwendungen, insbesondere Anwendungscomputerprogrammen, in welchen ein 2D-Pixelbild auf einem ersten Rechner berechnet, über das Internet auf einen entfernten zweiten Rechner übertragen und auf einem Ausgabegerät des entfernten zweiten Rechners angezeigt wird, ist ein schneller Bildaufbau wichtig, damit der Betrachter des Bildes, der Nutzer des zweiten Rechners, nicht vorzeitig ohne abgeschlossenen Bildaufbau die Verbindung abbricht. Mit der erfindungsgemäßen Vorgehensweise ist ein umgehender Bildaufbau möglich, da Berechnungszeiten für das 2D-Pixelbild möglichst gering gehalten, bevorzugt optimiert niedrig sind. Auf diese Weise kann ein aus Sicht des Bildanbieters unerwünschter Abbruch der Übertragung, insbesondere weil sich das Bild zu langsam aufbaut, vermieden werden. Handelt es sich beispielsweise um ein 2D-Pixelbild aus einem Katalog von Produkten, bedeutet die Vermeidung von Abbrüchen eine erhöhte Wahrscheinlichkeit für eine beschleunigte und/oder positive Kaufentscheidung des Betrachters.Particularly in applications, in particular application computer programs in which a 2D pixel image is calculated on a first computer, transmitted via the Internet to a remote second computer and displayed on an output device of the remote second computer, rapid image construction is important to allow the viewer of the image , the user of the second computer, does not prematurely terminate the connection without completed image construction. With the procedure according to the invention, an immediate image structure is possible since calculation times for the 2D pixel image are kept as low as possible, preferably optimally low. In this way, an undesirable interruption of the transmission from the point of view of the image provider, in particular because the image builds up too slowly, can be avoided. For example, if a 2D pixel image is from a catalog of products, avoiding crashes will increase the likelihood of an accelerated and / or positive purchase decision by the viewer.

Im Zusammenhang des erfinderischen Gedankens steht auch ein auf einem Computer lauffähiges Computerprogramm. Das Computerprogramm kann in Form eines Computerprogrammprodukts verkörpert sein. Ein erfindungsgemäßes Computerprogrammprodukt kann direkt in den internen Speicher eines Computers geladen werden und umfasst Softwarecodeabschnitte, mit denen ein Verfahren mit den Merkmalen oder Merkmalskombinationen gemäß dieser Darstellung ausgeführt wird, wenn das Computerprogrammprodukt auf dem Computer läuft.In the context of the inventive idea is also running on a computer computer program. The computer program may be embodied in the form of a computer program product. A computer program product according to the invention can be loaded directly into the internal memory of a computer and comprises software code sections with which a method with the features or feature combinations according to this representation is executed when the computer program product is running on the computer.

Die Erfindung sowie das technische Umfeld werden nachfolgend anhand der Figuren näher erläutert. Weitere Vorteile und vorteilhafte Ausführungsformen und Weiterbildungen der Erfindung werden anhand der nachfolgenden Beschreibung unter Bezugnahme auf die Figuren dargestellt. Die Figuren zeigen besonders bevorzugte Ausführungsbeispiele, auf die die Erfindung jedoch nicht beschränkt ist. Insbesondere ist darauf hinzuweisen, dass die Figuren und insbesondere die dargestellten Größenverhältnisse nur schematisch sind. Gleiche Bezugszeichen bezeichnen gleiche Gegenstände.The invention and the technical environment will be explained in more detail with reference to FIGS. Further advantages and advantageous embodiments and developments of the invention will be described with reference to the following description with reference to the figures. The figures show particularly preferred embodiments, to which the invention is not limited. In particular, it should be noted that the figures and in particular the illustrated proportions are only schematic. Like reference numerals designate like objects.

Es zeigt im Einzelnen:It shows in detail:

1 eine schematische Darstellung des Ablaufs einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds, 1 1 is a schematic representation of the sequence of a preferred embodiment of the method according to the invention for rendering a set of output pixels of a 2D pixel image;

2 eine schematische Darstellung einer bevorzugten Ausführungsform des erfindungsgemäß genutzten Datenformats eines Folienbilds, 2 a schematic representation of a preferred embodiment of the invention used data format of a film image,

3 eine Skizze zur Berechnung einer Gruppe von Ausgabepixel in einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens, und 3 a sketch for calculating a group of output pixels in a preferred embodiment of the inventive method, and

4 eine Topologie einer Ausführungsform einer Anordnung mit einem ersten und einem zweiten Rechner, welche voneinander entfernt und über ein Netzwerk miteinander verbunden sind, zur Durchführung des erfindungsgemäßen Verfahrens. 4 a topology of an embodiment of an arrangement with a first and a second computer, which are separated from each other and connected to each other via a network, for carrying out the method according to the invention.

Die 1 zeigt schematisch den Ablauf einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds.The 1 schematically shows the flow of a preferred embodiment of the inventive method for rendering a set of output pixels of a 2D pixel image.

Eine Mehrzahl von Folienbildern wird in einem Speicher eines Rechners in einem verlustfrei komprimierten Datenformat aus dem bevorzugten Arbeitsformat bereitgestellt (Schritt 10). Bei einer Anfrage für die Darstellung oder Ausgabe eines 2D-Pixelbildes mit bestimmten Attributen (Schritt 12), insbesondere mit von einem Anfragenden bestimmten Attributen, werden die den bestimmten Attributen zugeordneten Folienbilder für die Berechnung ausgewählt. Die ausgewählten Folienbilder werden dekomprimiert (Schritt 14) in das erfindungsgemäße Arbeitsformat, welches für die Berechnung des 2D-Pixelbildes besonders optimiert ist. Das auszugebende 2D-Pixelbild wird nun erfindungsgemäß berechnet, indem zeilenweise in Gruppen von Pixel die Ausgabepixel aus den Folienbildern zusammengerechnet werden (Schritt 16). In bevorzugter Ausführungsform erfolgt die Berechnung in Parallelverarbeitung (Schritt 18) der einzelnen Ausgabepixel in der Gruppe von Pixeln. Dabei werden für jeden Ausgabepixel die zugeordneten Pixel aus den Folienbildern nach ihren Tiefenwerten geordnet (Schritt 20). Die Ausgabepixel werden aus den Pixeln der Folienbilder gemäß deren Farbwerten und Deckkraft berechnet (Schritt 22). Die Ausgabepixel werden zeilenweise auf dem Ausgabeberät ausgegeben (Schritt 24), so dass das 2D-Pixelbild dargestellt wird.A plurality of slide images are provided in a memory of a computer in a lossless compressed data format from the preferred working format (step 10 ). When requesting the display or output of a 2D Pixel image with certain attributes (step 12 ), in particular with attributes determined by a requestor, the film images associated with the particular attributes are selected for calculation. The selected slide images are decompressed (step 14 ) in the working format according to the invention, which is particularly optimized for the calculation of the 2D pixel image. The 2D pixel image to be output is now calculated according to the invention by adding the output pixels from the film images line by line into groups of pixels (step 16 ). In a preferred embodiment, the calculation is carried out in parallel processing (step 18 ) of the individual output pixels in the group of pixels. In this case, the assigned pixels from the film images are ordered according to their depth values for each output pixel (step 20 ). The output pixels are calculated from the pixels of the slide images according to their color values and opacity (step 22 ). The output pixels are output line by line on the output advisor (step 24 ) so that the 2D pixel image is displayed.

Die 2 ist eine schematische Darstellung einer bevorzugten Ausführungsform des erfindungsgemäß genutzten Datenformats, des Arbeitsformats, eines Folienbilds. Das Folienbild erstreckt sich in eine X-Richtung 26 und eine Y-Richtung 28 und weist eine Menge von geordneten, an (x, y)-Positionen angeordnete Pixeln auf. Das Folienbild wird in Zeilen, welche auch als Scanlinien bezeichnet werden, zerlegt. In jeder Zeile werden nur relevante Pixel, also Pixel mit Deckkraft, für das Arbeitsformat berücksichtigt. Es werden dann zusammenhänge Bereich von relevanten Pixeln zu Gruppen von Pixeln, auch als Chunks bezeichnet, zusammengefasst. Ein Chunk enthält die Startinformation der Gruppe von Pixeln in der Scanlinie, zum Beispiel die X-Position, und die Länge der Gruppe. Im Chunk folgt dann ein erster Bereich, in welchem die Farbwerte und die Deckwerte der Pixel des Chunks abgelegt werden. In einen zweiten Bereich werden die Tiefenwerte der Pixel des Chunks aufeinander folgend gespeichert, falls das Folienbild Tiefeninformation aufweist. In einer ersten Gruppe von Ausführungsformen können erste und zweite Bereiche desselben Chunks hintereinander folgend abgelegt werden. In einer zweiten Gruppe von Ausführungsformen werden die ersten Bereiche der Chunks aufeinander folgend abgelegt und die zweiten Bereiche der Chunks werden aufeinander folgend abgelegt. Diese Art der Datenspeicherung ermöglicht es, sowohl Bilder mit als auch Bilder ohne Tiefenwerte in einem einheitlichen Arbeitsformat abzuspeichern.The 2 is a schematic representation of a preferred embodiment of the present invention used data format, the working format, a film image. The film image extends in an X direction 26 and a Y direction 28 and has a set of ordered pixels arranged at (x, y) positions. The slide image is decomposed into lines, which are also called scan lines. In each line only relevant pixels, ie pixels with opacity, are taken into account for the working format. It then aggregates the range of relevant pixels into groups of pixels, also referred to as chunks. A chunk contains the start information of the group of pixels in the scan line, for example the X position, and the length of the group. The chunk is then followed by a first area in which the color values and the cover values of the pixels of the chunk are stored. In a second area, the depth values of the pixels of the chunk are successively stored if the slide image has depth information. In a first group of embodiments, first and second portions of the same chunk may be consecutively dropped. In a second group of embodiments, the first portions of the chunks are sequentially stored and the second portions of the chunks are sequentially stored. This type of data storage makes it possible to store images as well as images without depth values in a uniform working format.

Leere Scanlinien enthalten keine relevanten Pixel und folglich werden keine Chunks für das Arbeitsformat gebildet. In einer Weiterentwicklung des Datenformats werden leere Scanlinien als Leerelemente in das Arbeitsformat abgelegt.Empty scanlines do not contain relevant pixels and, as a result, chunks are not formed for the working format. In a further development of the data format, empty scan lines are stored as empty elements in the working format.

An dieser Stelle sei betont, dass das beschriebene Datenformat in vorteilhafter Weise streamfähig ist.It should be emphasized at this point that the data format described is advantageously streamable.

Unter Bezugnahme auf die 2 sei beispielhaft anhand von drei Chunks der Aufbau des bevorzugten Arbeitsformats erläutert: Das beispielhafte Folienbild mit Tiefeninformation weist zehn Zeilen auf, wobei eine erste Folge 30 mit fünf relevanten Pixeln in der ersten Zeile, eine zweite Folge 32 mit drei relevanten Pixeln in der vierten Zeile und eine dritte Folge 34 mit sechs relevanten Pixeln in der siebten Zeile vorhanden sind. Die Daten werden im Arbeitsformat 36 linear abgelegt. Für die erste Folge 30 werden zunächst eine Startangabe und eine Längenangabe 38 abgelegt. Es schließen sich die Farbwerte in einem Bereich 40 der ersten Folge 30 an. In einem Bereich 42 werden nach einer Startangabe und einer Längenangabe 38 die Tiefenwerte der Pixel der ersten Folge 30 abgelegt. Auf diese Weise wird ein erstes Chunk der Daten im Arbeitsformat 36 gebildet. Im beispielhaften Folienbild ist die zweite Folge 32 die nächste Gruppe von relevanten Pixeln. Für die zweite Folge 32 werden eine Startangabe und eine Längenangabe 44 in das zweite Chunk abgelegt. Es werden anschließend die Farbwerte der zweiten Folge 32 in einem Bereich 46 angeordnet, während die Tiefenwerte der zweiten Folge 32 in einen Bereich 48 – wiederum nach einer Startangabe und Längenangabe 44 – geschrieben werden. Für die dritte Folge 34 wird zur Bildung eines dritten Chunks analog verfahren: Zunächst werden für die dritte Folge 34 eine Startangabe und eine Längenangabe 50 abgelegt. Es schließen sich die Farbwerte der dritten Folge 34 in einem Bereich 52 an. In einem an eine Startangabe und eine Längenangabe 50 angrenzenden Bereich 54 werden die Tiefenwerte der Pixel der ersten Folge 34 geschrieben. Entsprechend wird für sämtliche Chunks in einem Folienbild für die Darstellung im Arbeitsformat 36 vorgegangen. Auf die beschriebene Weise werden für sämtliche Folienbilder die relevanten Pixel im beschriebenen Arbeitsformat organisiert und bereitgestellt. Mittels der beschriebenen Ausführungsform des Arbeitsformats 36 wird eine vorteilhafte symmetrische Aufteilung der Farbwerte und der Tiefenwerte erzielt.With reference to the 2 the structure of the preferred work format is explained by way of example with reference to three chunks: the exemplary film image with depth information has ten lines, with a first sequence 30 with five relevant pixels in the first line, a second episode 32 with three relevant pixels in the fourth line and a third sequence 34 with six relevant pixels in the seventh line. The data is in working format 36 filed linearly. For the first episode 30 First, a start indication and a length specification 38 stored. It close the color values in one area 40 the first episode 30 at. In one area 42 be after a start indication and a length specification 38 the depth values of the pixels of the first sequence 30 stored. In this way, a first chunk of data in working format 36 educated. In the exemplary film image is the second consequence 32 the next group of relevant pixels. For the second episode 32 will be a start and a length 44 placed in the second chunk. Then the color values of the second sequence will become 32 in one area 46 arranged while the depth values of the second episode 32 in an area 48 - again after a start indication and length indication 44 - to be written. For the third episode 34 is proceeded analogously to the formation of a third chunk: First, for the third episode 34 a start indication and a length indication 50 stored. It close the color values of the third episode 34 in one area 52 at. In one to a start indication and a length indication 50 adjacent area 54 become the depth values of the pixels of the first sequence 34 written. Accordingly, for all chunks in a slide image for presentation in working format 36 proceed. In the manner described, the relevant pixels in the working format described are organized and provided for all the film images. By means of the described embodiment of the working format 36 an advantageous symmetrical distribution of the color values and the depth values is achieved.

In der 3 ist schematisch eine Berechnung einer Gruppe von Ausgabepixel, hier beispielhaft vier Ausgabepixel, aus einer Mehrzahl von Folienbildern, hier beispielhaft drei Folienbildern, in einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens skizziert. Die 3 stellt schematisch die Verarbeitung von Folienbildern beim Zusammenrechnen zu Ausgabepixeln eines 2D-Bildes dar, indem die einzelnen Folien mit ihrer Pixelinformation übereinander gerechnet werden: Um in vorteilhafter Weise möglichst schnell die erforderlichen Rechenoperationen auszuführen, werden die Ausgabepixel parallel berechnet. Um das Rechnen zu parallelisieren, sind alle Folienbilder in Zeilen zerlegt, so dass stets die gleiche Zeile aus allen Folienbildern in einem Berechnungsschritt zusammengerechnet werden kann. Innerhalb dieses Verfahrensschritts werden alle Pixel der Folienbilder, welche sich an derselben Stelle, (x, y)-Position, Koordinate, befinden, in der Reihenfolge des Tiefenwertes, insbesondere in aufsteigender oder bevorzugt absteigender Reihenfolge, sortiert. Anders gesagt, bevorzugt erfolgt die Berechnung des Ausgabepixels aus allen Pixeln der Folienbilder, die zu derselben Stelle gehören, von fern zu nah. Der berechnete Ausgabepixel wird an die Koordinate des auszugebenden 2D-Bildes geschrieben.In the 3 is schematically a calculation of a group of output pixels, here exemplarily four output pixels, out of a plurality of film images, here exemplified three film images, outlined in a preferred embodiment of the method according to the invention. The 3 schematically represents the processing of film images when calculating to output pixels of a 2D image by the individual films are calculated with their pixel information on top of each other: To advantageously perform the required arithmetic operations as quickly as possible, the output pixels are calculated in parallel. To calculate Parallelize all slide images are divided into lines, so that always the same line from all slide images can be added together in one calculation step. Within this process step, all the pixels of the film images which are located at the same position, (x, y) position, coordinate, are sorted in the order of the depth value, in particular in ascending or preferably descending order. In other words, preferably, the calculation of the output pixel is made from all the pixels of the film images belonging to the same location from far to near. The calculated output pixel is written to the coordinate of the 2D image to be output.

In der 3 wird eine Gruppe 56 von vier Ausgabepixeln gezeigt, welche parallel aus den entsprechenden Pixeln von drei Folienbildern errechnet werden. Jeder der vier Ausgabepixel wird in Richtung 58 abnehmender Tiefenwerte der entsprechenden Pixel berechnet. Für den Ausgabepixel an der Ausgabestelle 1 werden die Pixel Al, B1 und C1 der Folienbilder A, B und C zusammengerechnet. Für die Ausgabestelle 2 werden die Pixel A2, B2 und C2 der Folienbilder A, B und C zum Ausgabepixel zusammengeführt. An der Ausgabestelle 3 ergibt sich aufgrund der Tiefenwerte der Pixel A3, B3 und C3 der Folienbilder A, B und C, dass die Pixel in der Reihenfolge A3 – C3 – B3 zusammenzurechnen sind.In the 3 becomes a group 56 of four output pixels, which are calculated in parallel from the corresponding pixels of three slide images. Each of the four output pixels is towards 58 decreasing depth values of the corresponding pixels. For the output pixel at the output location 1, the pixels A1, B1 and C1 of the film images A, B and C are added together. For the issuing station 2, the pixels A2, B2 and C2 of the film images A, B and C are merged to the output pixel. At the output point 3, due to the depth values of the pixels A3, B3 and C3 of the film images A, B and C, the pixels are to be combined in the order A3-C3-B3.

Schließlich ergibt sich an der Ausgabestelle 4, dass aufgrund der Tiefenwerte die Pixel der Folienbilder A, B und C in der Reihenfolge C4 – A4 – B4 in die Berechnung des Ausgabepixels einfließen.Finally, it emerges at the output point 4 that, due to the depth values, the pixels of the film images A, B and C are included in the calculation of the output pixel in the order C4-A4-B4.

Durch die Parallelisierung der zeilenweisen Verarbeitung ist es in vorteilhafter Weise ausschließlich bei der Vergabe eines Arbeitspakets an einen der Rechenprozesse notwendig, zwischen den Rechenprozessen zu synchronisieren. Das bedeutet, dass kein Arbeitspaket gleichzeitig an zwei Rechenprozesse vergeben werden kann. Jedem Arbeitspaket ist eine Ergebniszeile aus dem Gesamtergebnis zugeordnet. Ein Überschreiben kann nicht stattfinden. Diese Arbeitsweise unterstützt Systeme mit mehreren Rechnerkernen. Die zeitaufwändige Synchronisation zwischen den Rechenkernen kann dadurch bestmöglich vermieden werden. Was sich in einer deutlichen Erhöhung der Abarbeitungsgeschwindigkeit beziehungsweise Verringerung der Laufzeit widerspiegelt.Due to the parallelization of the line-by-line processing, it is advantageously necessary to synchronize between the computing processes exclusively when allocating a work package to one of the computing processes. This means that no work package can be awarded to two processes simultaneously. Each work package is assigned a result row from the overall result. Overwriting can not take place. This way of working supports systems with several computer cores. The time-consuming synchronization between the cores can be avoided as best as possible. What is reflected in a significant increase in the processing speed or reduction of the term.

Die 4 stellt schematisch eine Topologie einer Ausführungsform einer Anordnung mit einem ersten Rechner 60 und einem zweiten Rechner 70 dar, welche voneinander entfernt und über ein Netzwerk 68, bevorzugt das Internet, miteinander verbunden sind, zur Durchführung des erfindungsgemäßen Verfahrens. Vom zweiten Rechner 70 wird ein 2D-Pixelbild angefragt, welches durch den ersten Rechner 60 zur Verfügung gestellt wird. Bevor das 2D-Pixelbild vom ersten Rechner 60 auf den zweiten Rechner 70 übertragen werden kann, muss das 2D-Pixelbild erfindungsgemäß aus einer Mehrzahl von Folienbildern berechnet werden. Vom zweiten Rechner 70 werden Attribute des gewünschten 2D-Pixelbildes auf den ersten Rechner 60 übertragen. Ein Computerprogrammprodukt 62, welches geeignet zur Durchführung des erfindungsgemäßen Verfahrens ist, befindet sich in einem Speicher 64 des ersten Rechners 60. Aus den Folienbildern der besagten übertragenen Attribute wird in einer Recheneinheit 66 des ersten Rechners 60 mittels der Berechnungsschritte des erfindungsgemäßen Verfahrens die Menge von Ausgabepixeln des 2D-Pixelbilds gerendert. Das auf diese Weise erzeugte Bild wird zeilenweise, insbesondere als Stream, auf den entfernten zweiten Rechner 70 übertragen. Das 2D-Pixelbild wird auf einem Ausgabegerät 72 des zweiten Rechners 70, hier beispielhaft ein Monitor, dargestellt.The 4 schematically illustrates a topology of an embodiment of an arrangement with a first computer 60 and a second computer 70 which are distant from each other and through a network 68 , Preferably, the Internet, are interconnected, for carrying out the method according to the invention. From the second computer 70 a 2D pixel image is requested, which by the first computer 60 is made available. Before the 2D pixel image from the first computer 60 on the second computer 70 can be transferred, the 2D pixel image according to the invention must be calculated from a plurality of film images. From the second computer 70 become attributes of the desired 2D pixel image on the first computer 60 transfer. A computer program product 62 , which is suitable for carrying out the method according to the invention, is located in a memory 64 of the first computer 60 , From the slide images of said transmitted attributes is in a computing unit 66 of the first computer 60 by means of the calculation steps of the method according to the invention, the set of output pixels of the 2D pixel image is rendered. The image generated in this way is line by line, in particular as a stream, on the remote second computer 70 transfer. The 2D pixel image is displayed on an output device 72 the second computer 70 , here a monitor, for example.

Das erfindungsgemäße Verfahren, insbesondere im Zusammenhang der in der 4 gezeigten Topologie, kann auch auf einzelne 2D-Pixelbilder einer Abfolge von 2D-Pixelbildern angewendet werden, deren Bildinhalt sich nur geringfügig voneinander unterscheiden. Anders gesagt, es können einzelne 2D-Pixelbilder in Form eines Streams, eines Daumenkinos oder eines Zeichentricks auf erfindungsgemäße Weise gerendert oder erzeugt werden. Werden die 2D-Pixelbilder in der Abfolge kurzzeitig aufeinander wechselnd angezeigt, entsteht für den Betrachter ein Eindruck einer Animation oder Bewegung des Bildinhalts. Für derartige Anwendungen ist die schnelle Berechnung der auszugebenden 2D-Pixelbildern besonders bedeutend.The inventive method, in particular in the context of in the 4 shown topology, can also be applied to individual 2D pixel images of a sequence of 2D pixel images, the image content of which differ only slightly from each other. In other words, individual 2D pixel images in the form of a stream, a flipbook or a cartoon can be rendered or generated in accordance with the invention. If the 2D pixel images are displayed alternately in the sequence for a short time, the viewer is given an impression of an animation or movement of the image content. For such applications, the fast calculation of the output 2D pixel images is particularly significant.

Besonders vorteilhaft gelangt das erfindungsgemäße Verfahren in Produktdarstellungsprogrammen, zum Beispiel in Katalogprogrammen oder Bestellprogrammen, oder Programmen zur medizinischen Bildgebung, zum Beispiel CT-Bilddarstellungsprogrammen, zum Einsatz. Bei diesen Anwendungen ist ein schneller Bildaufbau für den Nutzer wichtig.The method according to the invention is used particularly advantageously in product presentation programs, for example in catalog programs or order programs, or programs for medical imaging, for example CT image display programs. In these applications, fast image creation is important to the user.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

1010
Bereitstellen von FolienbildernProviding slide images
1212
Anfrage für ein 2D-PixelbildRequest for a 2D pixel image
1414
Dekomprimieren der Folienbilder in ArbeitsformatDecompress the slide images in working format
1616
Zeilenweises Berechnen von Gruppen von PixelnLine by line calculation of groups of pixels
1818
Parallelverarbeitungparallel processing
2020
Ordnen nach TiefenwertenSort by depth values
2222
Berechnen der AusgabepixelCalculate the output pixels
2424
Ausgeben auf AusgabegerätOutput to output device
2626
X-AchseX axis
2828
Y-AchseY-axis
3030
erste Folge von Pixelnfirst sequence of pixels
3232
zweite Folge von Pixelnsecond sequence of pixels
3434
dritte Folge von Pixelnthird episode of pixels
3636
Daten im ArbeitsformatData in working format
3838
Startangabe und Längenangabe der ersten FolgeStart specification and length specification of the first sequence
4040
Farbwerte der ersten FolgeColor values of the first episode
4242
Tiefenwerte der ersten FolgeDepth values of the first episode
4444
Startangabe und Längenangabe der zweiten FolgeStart specification and length specification of the second sequence
4646
Farbwerte der zweiten FolgeColor values of the second episode
4848
Tiefenwerte der zweiten FolgeDepth values of the second episode
5050
Startangabe und Längenangabe der dritten FolgeStart specification and length specification of the third sequence
5252
Farbwerte der dritten FolgeColor values of the third episode
5454
Tiefenwerte der dritten FolgeDepth values of the third episode
5656
Gruppe von AusgabepixelnGroup of output pixels
5858
Richtung abnehmender TiefenwerteDirection of decreasing depth values
A1A1
Pixel des Folienbildes A an Ausgabestelle 1Pixel of the film image A at issuing office 1
B1B1
Pixel des Folienbildes B an Ausgabestelle 1Pixel of the film image B at issuing office 1
C1C1
Pixel des Folienbildes C an Ausgabestelle 1Pixel of the film image C at issuing office 1
A2A2
Pixel des Folienbildes A an Ausgabestelle 2Pixel of the film image A at issuing office 2
B2B2
Pixel des Folienbildes B an Ausgabestelle 2Pixel of the film image B at issuing office 2
C2C2
Pixel des Folienbildes C an Ausgabestelle 2Pixel of the film image C at issuing office 2
A3A3
Pixel des Folienbildes A an Ausgabestelle 3Pixel of the film image A at issuing office 3
B3B3
Pixel des Folienbildes B an Ausgabestelle 3Pixel of the film image B at issuing office 3
C3C3
Pixel des Folienbildes C an Ausgabestelle 3Pixel of the film image C at issuing office 3
A4A4
Pixel des Folienbildes A an Ausgabestelle 4Pixel of the film image A at issuing office 4
B4B4
Pixel des Folienbildes B an Ausgabestelle 4Pixels of the film image B at issue point 4
C4C4
Pixel des Folienbildes C an Ausgabestelle 4Pixel of the film image C at issuing office 4
6060
erster Rechnerfirst computer
6262
ComputerprogrammproduktA computer program product
6464
SpeicherStorage
6666
Recheneinheitcomputer unit
6868
NetzwerkverbindungNetwork Connection
7070
zweiter Rechnersecond computer
7272
Ausgabegerät des zweiten RechnersOutput device of the second computer

Claims (10)

Verfahren zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds, wobei die Ausgabepixel des 2D-Pixelbilds an Positionen in der Menge geordnet sind, in welchem mehr als zwei Folienbilder aus Pixeln in einer Speichereinheit bereitgestellt werden, wobei jedes Pixel eines Folienbilds der mehr als zwei Folienbilder einer Position im 2D-Pixelbild zugeordnet ist, das 2D-Pixelbild ausgehend von den Folienbildern in einer Recheneinheit errechnet wird, indem an allen Positionen im 2D-Pixelbild jeweils alle einer der Positionen im 2D-Pixelbild zugeordneten Pixel aus den Folienbildern zu jeweils einem Ausgabepixel des 2D-Pixelbilds zusammengerechnet werden, und das 2D-Pixelbild auf einem Ausgabegerät ausgegeben wird, dadurch gekennzeichnet, dass Ausgabepixel im 2D-Pixelbild gruppenweise berechnet werden, wobei eine Gruppe von Ausgabepixeln an aufeinander folgenden Positionen im 2D-Pixelbild berechnet wird, indem für jedes Ausgabepixel in der Gruppe alle der Position des Ausgabepixels im 2D-Pixelbild zugeordneten Pixel aus den Folienbildern zusammengerechnet werden, nachdem die Ausgabepixel an allen zu den Positionen der Ausgabepixel in der Gruppe vorhergehenden Positionen im 2D-Pixelbild berechnet worden sind.A method of rendering a set of output pixels of a 2D pixel image, wherein the output pixels of the 2D pixel image are ordered at positions in the set in which more than two slide images of pixels are provided in a memory unit, each pixel of a slide image being greater than two Foil images is associated with a position in the 2D pixel image, the 2D pixel image is calculated from the film images in a computing unit by each of all positions in the 2D pixel image each assigned to one of the positions in the 2D pixel image pixels from the film images to one output pixel of the 2D pixel image and outputting the 2D pixel image on an output device, characterized in that output pixels in the 2D pixel image are calculated in groups, whereby a group of output pixels is calculated at successive positions in the 2D pixel image, for each Output pixels in the group all of the position of the output pixel in the 2D pixel image associated pixels from the film images are aggregated after the output pixels have been calculated at all preceding to the positions of the output pixels in the group positions in the 2D pixel image. Verfahren zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds gemäß Anspruch 1, dadurch gekennzeichnet, dass Gruppen von Pixeln der mehr als zwei Folienbilder zeilenweise und/oder parallelisiert in der Recheneinheit verarbeitet werden.A method for rendering a set of output pixels of a 2D pixel image according to claim 1, characterized in that groups of pixels of the more than two film images are processed line by line and / or parallel in the arithmetic unit. Verfahren zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds gemäß Anspruch 1 oder 2, dadurch gekennzeichnet, dass die mehr als zwei Folienbilder nur mit Pixeln mit Deckkraft bereitgestellt werden.A method of rendering a set of output pixels of a 2D pixel image according to claim 1 or 2, characterized in that the more than two film images are provided only with pixels having opacity. Verfahren zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die mehr als zwei Folienbilder mit Pixeln, welche einen Tiefenwert umfassen, bereitgestellt werden.Method for rendering a set of output pixels of a 2D pixel image according to one of the preceding claims, characterized in that the more than two film images are provided with pixels which comprise a depth value. Verfahren zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds gemäß Anspruch 4, dadurch gekennzeichnet, dass ein konkretes Ausgabepixel des 2D-Pixelbildes aus den Pixeln der mehr als zwei Folienbilder berechnet wird, indem die Pixel der Folienbilder in Reihenfolge ihrer Tiefenwerte zusammengerechnet werden.A method of rendering a set of output pixels of a 2D pixel image according to claim 4, characterized in that a concrete output pixel of the 2D pixel image is calculated from the pixels of the more than two film images by summing the pixels of the film images in order of their depth values. Verfahren zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in einem Arbeitsformat Pixel in zusammenhängenden Pixelbereichen der Folienbilder in Pixelgruppen zusammengefasst bereitgestellt werden.Method for rendering a set of output pixels of a 2D pixel image according to one of the preceding claims, characterized in that pixels are provided in contiguous pixel regions of the film images in pixel groups in a working format. Verfahren zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds gemäß Anspruch 6, dadurch gekennzeichnet, dass für eine Pixelgruppe Farbwerte der Pixel in einem ersten Speicherbereich und Tiefenwerte in einem zweiten Speicherbereich bereitgestellt werden.Method for rendering a set of output pixels of a 2D pixel image according to claim 6, characterized in that color values of the pixels in a first memory area and depth values in a second memory area are provided for a pixel group. Verfahren zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds gemäß Anspruch 6 oder 7, dadurch gekennzeichnet, dass die mehr als zwei Folienbilder in einem verlustfrei komprimierten Datenformat bereitgestellt werden und zur Berechnung der Ausgabepixel in das Arbeitsformat dekomprimiert werden.A method of rendering a set of output pixels of a 2D pixel image according to claim 6 or 7, characterized in that the more than two foil images are provided in a lossless compressed data format and decompressed to calculate the output pixels in the working format. Verfahren zum Rendern einer Menge von Ausgabepixeln eines 2D-Pixelbilds gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Berechnungen auf einem ersten Rechner ausgeführt werden und das 2D-Pixelbild auf einem Ausgabegerät eines zweiten Rechners, der vom ersten Rechner verschieden ist, ausgegeben wird.Method for rendering a set of output pixels of a 2D pixel image according to one of the preceding claims, characterized in that the calculations are performed on a first computer and the 2D pixel image an output device of a second computer, which is different from the first computer, is output. Computerprogrammprodukt, das direkt in den internen Speicher eines Computers geladen werden kann und Softwarecodeabschnitte umfasst, mit denen ein Verfahren gemäß einem der vorhergehenden Ansprüche ausgeführt wird, wenn das Computerprogrammprodukt auf dem Computer läuft.A computer program product that can be loaded directly into the internal memory of a computer and includes software code portions that perform a method according to any one of the preceding claims when the computer program product is run on the computer.
DE102016005694.0A 2016-05-12 2016-05-12 A method of rendering a set of output pixels of a 2D pixel image and computer program product Pending DE102016005694A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016005694.0A DE102016005694A1 (en) 2016-05-12 2016-05-12 A method of rendering a set of output pixels of a 2D pixel image and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016005694.0A DE102016005694A1 (en) 2016-05-12 2016-05-12 A method of rendering a set of output pixels of a 2D pixel image and computer program product

Publications (1)

Publication Number Publication Date
DE102016005694A1 true DE102016005694A1 (en) 2017-11-16

Family

ID=60163435

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016005694.0A Pending DE102016005694A1 (en) 2016-05-12 2016-05-12 A method of rendering a set of output pixels of a 2D pixel image and computer program product

Country Status (1)

Country Link
DE (1) DE102016005694A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017010223A1 (en) 2017-11-04 2019-05-09 conLeos GmbH A method of rendering a set of output pixels of a 2D pixel image and computer program product

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017010223A1 (en) 2017-11-04 2019-05-09 conLeos GmbH A method of rendering a set of output pixels of a 2D pixel image and computer program product

Similar Documents

Publication Publication Date Title
DE69122557T2 (en) Imaging
DE10053439B4 (en) Graphics accelerator with interpolation function
DE69937785T2 (en) Method of selecting color block points for block coding
DE69125549T2 (en) Compressed image memory for high-resolution computer graphics
DE3750784T2 (en) Generation of an intrapolated characteristic value for display.
DE3512505A1 (en) SYSTEM FOR PROCESSING GRAPHIC DATA FOR A CAD WORKPLACE
DE3804938A1 (en) Image processing device
DE112019000972T5 (en) Methods and systems for simplified graphical mapping of bipartite graphs
EP2172032B1 (en) Method for processing a spatial image
EP2528042A1 (en) Method and device for the re-meshing of 3D polygon models
DE102022119422A1 (en) Method for creating a hierarchical data structure, hierarchical data structure and method for streaming three-dimensional objects
DE3889903T2 (en) METHOD FOR TREATING THE HIDDEN LINES OF AN IMAGE.
DE102016005694A1 (en) A method of rendering a set of output pixels of a 2D pixel image and computer program product
DE102018003085A1 (en) Synchronization of a digital image on a component basis
DE102008005476A1 (en) Method for image compression of an image with 3D graphic information
EP2092465B1 (en) Method and system for the automatic processing of printing data for a printing operation
EP1833258A2 (en) Hybrid image compression method
EP2893510B1 (en) Method and image processing apparatus for removing a visual object from an image
DE112017007815T5 (en) Image processing device, image processing method and image processing program
DE102017010223A1 (en) A method of rendering a set of output pixels of a 2D pixel image and computer program product
DE102021100205A1 (en) SYSTEMS AND METHODS FOR REDUCING MEMORY REQUIREMENTS IN NEURAL NETWORKS
WO2017050997A1 (en) Method, computer program and system for transmitting data in order to produce an interactive image
EP3465608B1 (en) Method and device for determining a transfer between two display images, and vehicle
EP3168673B1 (en) System for the visualization of image data
DE102021204059A1 (en) processing an image

Legal Events

Date Code Title Description
R012 Request for examination validly filed