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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/04—Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
- H04N1/17—Scanning 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/413—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/52—Parallel processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0117—Conversion 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.
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
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
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:
Die
Eine Mehrzahl von Folienbildern wird in einem Speicher eines Rechners in einem verlustfrei komprimierten Datenformat aus dem bevorzugten Arbeitsformat bereitgestellt (Schritt
Die
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
In der
In der
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
Das erfindungsgemäße Verfahren, insbesondere im Zusammenhang der in der
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)
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)
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 |
-
2016
- 2016-05-12 DE DE102016005694.0A patent/DE102016005694A1/en active Pending
Cited By (1)
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 |