DE102017200015A1 - Determine at least one subsequent record for a real-time application - Google Patents
Determine at least one subsequent record for a real-time application Download PDFInfo
- Publication number
- DE102017200015A1 DE102017200015A1 DE102017200015.5A DE102017200015A DE102017200015A1 DE 102017200015 A1 DE102017200015 A1 DE 102017200015A1 DE 102017200015 A DE102017200015 A DE 102017200015A DE 102017200015 A1 DE102017200015 A1 DE 102017200015A1
- Authority
- DE
- Germany
- Prior art keywords
- nodes
- node
- grid
- grid structure
- animation
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/147—Scene change detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/21—Circuitry for suppressing or minimising disturbance, e.g. moiré or halo
Abstract
Die Erfindung betrifft ein Verfahren zum Bestimmen mindestens eines nachfolgenden Datensatzes (30) für eine Echtzeitanwendung, aufweisend ein Ermitteln mindestens zweier vorangegangener Datensätze (10, 20), wobei die mindestens zwei Datensätze (10, 20) jeweils eine Gitterstruktur mit einer Vielzahl von Knoten (12, 22) aufweisen, ein Vergleichen der jeweiligen Knoten (12) der einen Gitterstruktur der mindestens zwei Gitterstrukturen mit den jeweiligen Knoten (22) der anderen Gitterstruktur der mindestens zwei Gitterstrukturen, falls zwei Knoten (12, 22) übereinstimmen, der identische Knoten (12, 22, 32) in den nachfolgenden Datensatz übernommen wird, falls zwei Knoten (12, 22) nicht übereinstimmen, der Knoten der einen Gitterstruktur der mindestens zwei Gitterstrukturen einem entsprechenden Knoten (32) zugewiesen wird und der zugewiesene Knoten (32) in den nachfolgenden Datensatz (30) übernommen wird. Ferner ist die Erfindung auf ein entsprechendes Computerprogrammprodukt gerichtet. The invention relates to a method for determining at least one subsequent data record (30) for a real-time application, comprising determining at least two preceding data records (10, 20), the at least two data records (10, 20) each having a grid structure with a multiplicity of nodes (10). 12, 22), comparing the respective nodes (12) of the one grid structure of the at least two grid structures with the respective nodes (22) of the other grid structure of the at least two grid structures, if two nodes (12, 22) match, the identical node (12) 12, 22, 32) is taken over into the subsequent data set if two nodes (12, 22) do not match, the node of the one grid structure of the at least two grid structures is assigned to a corresponding node (32) and the assigned node (32) in the subsequent record (30) is taken. Furthermore, the invention is directed to a corresponding computer program product.
Description
Technisches GebietTechnical area
Die vorliegende Erfindung betrifft ein Verfahren zum Bestimmen mindestens eines nachfolgenden Datensatzes für eine Echtzeitanwendung. Ferner ist die Erfindung auf ein entsprechendes Computerprogrammprodukt gerichtet.The present invention relates to a method for determining at least one subsequent data record for a real-time application. Furthermore, the invention is directed to a corresponding computer program product.
Stand der TechnikState of the art
Virtual Reality, oder auch Virtuelle Realität (VR) genannt, gewinnt zunehmend an Bedeutung. Die virtuelle Realität bezeichnet die Darstellung einer virtuellen Welt, welche computergeneriert ist. Die virtuelle Welt kann beispielsweise an die reale Welt angelehnt sein.Virtual Reality, or Virtual Reality (VR) called, is becoming increasingly important. Virtual reality is the representation of a virtual world, which is computer-generated. For example, the virtual world may be based on the real world.
Ferner steht die virtuelle Realität in engem Zusammenhang mit VR-Brillen. Durch den Einsatz einer VR-Brille ist ein Anwender vorteilhafterweise nicht mehr auf einen Monitor angewiesen, sondern hat ein 3D-Bild in seinem Blickfeld, welches komfortabel in alle Richtungen gerichtet werden kann, um die virtuelle Welt zu betrachten.Furthermore, virtual reality is closely related to VR glasses. By using a VR glasses, a user is advantageously no longer dependent on a monitor, but has a 3D image in his field of vision, which can be conveniently directed in all directions to view the virtual world.
Üblicherweise müssen Animationen oder Illustrationen mit jeweils 30 bis 50 Einzelbildern pro Sekunde dargestellt werden, um für das menschliche Auge als Bewegung wahrgenommen zu werden. Dabei ist es erforderlich, dass die Einzelbilder (auch als „Frame“ bezeichnet) möglichst stetig ablaufen und keine großen Sprünge zwischen den Einzelbildern auftreten.Usually, animations or illustrations, each with 30 to 50 frames per second, have to be displayed in order to be perceived as a movement for the human eye. It is necessary that the individual images (also referred to as "frame") run as steadily as possible and that no large jumps occur between the individual images.
Solche Sprünge verursachen leicht Irritationen, Schwindelgefühle, Kopfschmerzen und Erbrechen bei dem Anwender der VR-Brille. Diese Symptome werden auch unter dem Begriff „Virtual Reality Sickness“ zusammengefasst.Such jumps easily cause irritation, dizziness, headache and vomiting of the user of VR glasses. These symptoms are also summarized under the term "Virtual Reality Sickness".
Zunächst sind in der obersten Reihe die Rechenergebnisse der Iterationen i-1, ..., i+2 eingetragen, welche zu Einzelbildern in der letzten Reihe weiterverarbeitet werden. Die Iterationen i-1, ..., i+2 sind als Rechenschritte zu verstehen. Die Dauer einer Iteration kann hierbei variieren und beispielsweise mehrere Sekunden dauern. Ein Beispiel eines iterativen Verfahrens ist ein Formoptimierungsprozess, in dem basierend auf vordefinierten Kräften, eine optimierte Struktur berechnet wird, die den Kräften standhält und zusätzlich ein möglichst geringes Gewicht besitzt. Die Struktur kann dem Nutzer oder Simulationsingenieur während der Berechnung eingeblendet werden. Ein anderes Beispiel wäre jede FEM (Finite Elements Method) Berechnung z.B. eine Fluidsimulation oder eine thermische Simulation.First, in the top row, the computational results of the iterations i-1, ..., i + 2 are entered, which are further processed into individual images in the last row. The iterations i-1, ..., i + 2 are to be understood as calculating steps. The duration of an iteration may vary and may take several seconds, for example. An example of an iterative method is a shape optimization process in which, based on predefined forces, an optimized structure is calculated which withstands the forces and additionally has the lowest possible weight. The structure can be displayed to the user or simulation engineer during the calculation. Another example would be any FEM (Finite Element Method) calculation, e.g. a fluid simulation or a thermal simulation.
In der zweiten Reihe sind beispielhaft die Rechenergebnisse einzelner Iterationen i-1, ..., i+2 graphisch illustriert, nämlich als Rechteck, Kreis und Dreieck. Die Rechenergebnisse können als Daten verstanden werden, die in der Animation illustriert werden sollen. Dabei ist nur das Rechenergebnis der vorangegangenen Iteration bekannt, jedoch nicht das Rechenergebnis der nachfolgenden oder zukünftigen Iteration. In dem Formoptimierungsprozess wird zum Beispiel nach jeder Iteration eine verbesserte (Mesh-)Struktur ausgegeben, die ein Input der nächsten Iteration ist und auch graphisch illustriert werden kann.In the second row, the calculation results of individual iterations i-1,..., I + 2 are graphically illustrated, for example, as a rectangle, a circle and a triangle. The calculation results can be understood as data to be illustrated in the animation. Only the calculation result of the previous iteration is known, but not the result of the calculation of the subsequent or future iteration. In the shape optimization process, for example, after each iteration, an improved (mesh) structure is output, which is an input of the next iteration and can also be graphically illustrated.
Die einzelnen Rechenergebnissen werden zu einer zeitlich kontinuierlichen Folge von Rechenergebnissen weiterverarbeitet. Dementsprechend sind in der dritten Reihe die weiterverarbeiteten Rechenergebnisse graphisch illustriert. Im Stand der Technik wird als Zwischenergebnis zwischen zwei aufeinanderfolgenden Rechenergebnissen, nämlich dem vorangegangenen - bekannten - Rechenergebnis und dem nachfolgendem - unbekannten - Rechenergebnis, einfach das vorherige Rechenergebnis verwendet. Das aus dem Rechenergebnis resultierende Standbild wird dem Anwender in der Animation in der letzten Reihe dargestellt.The individual computation results are further processed into a temporally continuous sequence of computation results. Accordingly, in the third row the further processed calculation results are graphically illustrated. In the prior art, the previous calculation result is simply used as an intermediate result between two successive computation results, namely the preceding - known - computation result and the following - unknown - computation result. The still image resulting from the calculation result is displayed to the user in the animation in the last row.
Durch die Standbilder zwischen den Einzelbildern entstehen jedoch nachteilig Sprünge zwischen den Einzelbildern der Animation, wie in der letzten unteren Reihe dargestellt. Folglich ist die Animation unstetig und es kann ferner für den Anwender zur oben genannten „Virtual Reality Sickness“ kommen.Due to the still images between the frames, however, disadvantageous jumps occur between the individual images of the animation, as shown in the last lower row. Consequently, the animation is unsteady and it may also come for the user to the above-mentioned "Virtual Reality Sickness".
Die vorliegende Erfindung stellt sich daher die Aufgabe, ein Verfahren zum Bestimmen mindestens eines nachfolgenden Datensatzes für eine Echtzeitanwendung bereitzustellen, welches eine stetige Animation der daraus resultierenden Einzelbilder ermöglicht.The present invention therefore has as its object to provide a method for determining at least one subsequent data record for a real-time application, which enables a continuous animation of the resulting individual images.
Zusammenfassung der ErfindungSummary of the invention
Die oben genannte Aufgabe wird erfindungsgemäß durch ein Verfahren zum Bestimmen mindestens eines nachfolgenden Datensatzes für eine Echtzeitanwendung gelöst, aufweisend:
- a. Ermitteln mindestens zweier vorangegangener Datensätze, wobei
- b. die mindestens zwei vorangegangenen Datensätze jeweils eine Gitterstruktur mit einer Vielzahl von Knoten aufweisen,
- c. Vergleichen der jeweiligen Knoten der einen Gitterstruktur der mindestens zwei Gitterstrukturen mit den jeweiligen Knoten der anderen Gitterstruktur der mindestens zwei Gitterstrukturen,
- - falls zwei Knoten übereinstimmen, der identische Knoten in den nachfolgenden Datensatz übernommen wird,
- - falls zwei Knoten nicht übereinstimmen, der Knoten der einen Gitterstruktur der mindestens zwei Gitterstrukturen einem entsprechenden Knoten zugewiesen wird und der zugewiesene Knoten in den nachfolgenden Datensatz übernommen wird.
- a. Determine at least two previous records, where
- b. the at least two preceding data records each have a grid structure with a multiplicity of nodes,
- c. Comparing the respective nodes of the one grid structure of the at least two grid structures with the respective nodes of the other grid structure of the at least two grid structures,
- if two nodes match, the identical node is taken over into the subsequent data record,
- if two nodes do not match, the node of the one grid structure of the at least two grid structures is assigned to a corresponding node and the assigned node is taken over into the subsequent data record.
Dementsprechend wird durch das erfindungsgemäße Verfahren ein nachfolgender Datensatz bestimmt. Die Bestimmung des nachfolgenden Datensatzes basiert auf zwei oder mehreren Datensätzen, welche dem nachfolgenden zu bestimmenden Datensatz zeitlich vorausgehen oder vorangehen. Dementsprechend können diese Datensätze auch als vorgegangene Datensätze bezeichnet werden und sind bekannt.Accordingly, a subsequent data record is determined by the method according to the invention. The determination of the subsequent data record is based on two or more data records which precede or precede the subsequent data record to be determined. Accordingly, these records may also be referred to as previous records and are known.
Die vorangegangenen und nachfolgenden Datensätze weisen jeweils eine Gitterstruktur auf. Die Gitterstruktur wird auch als „Mesh-Struktur“ oder Gittermenge bezeichnet und weist eine Vielzahl von Knoten auf. Dementsprechend können die Gitterstrukturen der vorangegangenen Datensätze als Mi mit Ni Knoten und Mi-1 mit Ni-1 Knoten definiert werden. Dabei entspricht N der Anzahl der Knoten zu den vorangegangenen Zeitpunkten i und i-1.The preceding and following data records each have a grid structure. The lattice structure is also referred to as a "mesh structure" or lattice set and has a plurality of nodes. Accordingly, the lattice structures of the previous data sets can be defined as M i with N i nodes and M i-1 with N i-1 nodes. N corresponds to the number of nodes at the preceding times i and i-1.
Der Knoten wird als Schnittpunkt zwischen zwei oder mehreren Gitterlinien in einer Gitterstruktur definiert. Der Knoten weist beispielsweise für 3D Informationen in Form von kartesischen Koordinaten über die Position des Knotens (X, Y, Z) auf. Ferner kann der Knoten weitere farbkodierte Eigenschaften, wie beispielsweise Temperatur (T) etc. aufweisen. Dementsprechend kann der Knoten auch aus multidimensionaler Vektor (X, Y, Z, T) betrachtet werden.The node is defined as the intersection between two or more gridlines in a grid structure. For example, for nodes, the node has information in the form of Cartesian coordinates about the position of the node (X, Y, Z). Furthermore, the node may have further color-coded properties, such as temperature (T), etc. Accordingly, the node can also be viewed from multidimensional vector (X, Y, Z, T).
Die jeweiligen Knoten der einen Gitterstruktur der mindestens zwei Gitterstrukturen werden mit den jeweiligen Knoten der anderen Gitterstruktur der mindestens zwei Gitterstrukturen verglichen, um den nachfolgenden Datensatz zu bestimmen. Dementsprechend wird jeder Knoten der einen Gitterstruktur mit jedem anderen Knoten der anderen Gitterstruktur verglichen. Mit anderen Worten wird ein Vektor (X0, Y0, Z0, T0) mit einem anderen Vektor (X1, Y1, Z1, T1) verglichen. Der Vergleich kann auch als Ist/Soll-Vergleich betrachtet werden.The respective nodes of the one grid structure of the at least two grid structures are compared with the respective nodes of the other grid structure of the at least two grid structures to determine the subsequent data record. Accordingly, each node of one lattice structure is compared to each other node of the other lattice structure. In other words, one vector (X 0 , Y 0 , Z 0 , T 0 ) is compared with another vector (X 1 , Y 1 , Z 1 , T 1 ). The comparison can also be regarded as an actual / target comparison.
Die jeweiligen Knoten werden zunächst auf Übereinstimmung verglichen. Zwei Knoten können übereinstimmen oder identisch zueinander sein. Falls zwei Knoten identisch sind, wird der identische Knoten in den nachfolgenden Datensatz übernommen. Dadurch ist keine Animation erforderlich. Mit anderen Worten werden zunächst diejenigen Knoten erkannt, welche sich zwischen zwei Rechenergebnissen nicht ändern. Diese identischen Knoten können auch als unveränderte Knoten bezeichnet werden.The respective nodes are first compared for agreement. Two nodes can be identical or identical to each other. If two nodes are identical, the identical node is taken over into the subsequent data record. This does not require animation. In other words, those nodes are first recognized that do not change between two computation results. These identical nodes may also be referred to as unchanged nodes.
Falls zwei Knoten nicht identisch sind, erfolgt eine Zuweisung und der zugewiesene Knoten wird in den nachfolgenden Datensatz übernommen. Mit anderen Worten werden diejenigen Knoten erkannt, welche sich zwischen zwei Rechenergebnissen ändern. Diese Knoten müssen zugewiesen oder animiert werden, beispielsweise unter Berücksichtigung von mathematischen Abständen, wie beispielsweise euklidische Abstände, zwischen den jeweiligen Knoten. Diese nicht identischen Knoten können auch als sich ändernde Knoten bezeichnet werden.If two nodes are not identical, an assignment takes place and the assigned node is taken over into the subsequent data record. In other words, those nodes that change between two computational results are recognized. These nodes must be assigned or animated, for example, taking into account mathematical distances, such as Euclidean distances, between the respective nodes. These non-identical nodes may also be referred to as changing nodes.
Der Fall der fehlenden Übereinstimmung bzw. fehlenden Identität tritt beispielsweise auf, wenn ein Knoten in der ersten Gitterstruktur vorhanden ist, aber in der zweiten Gitterstruktur nicht mehr vorhanden ist oder verschwunden bzw. weggefallen ist. Folglich sind in der zweiten Gitterstruktur weniger Knoten vorhanden. Die Anzahl der Knoten sinkt über die Zeit. Dabei handelt es sich um einen Wegfall des Knotens, das bedeutet der Knoten verschwindet und kann auch gelöscht werden.For example, the case of mismatch or missing identity occurs when a node is present in the first lattice structure but is no longer present in the second lattice structure, or has disappeared or dropped. As a result, fewer nodes are present in the second lattice structure. The number of nodes decreases over time. This is a drop of the node, which means that the node disappears and can also be deleted.
Ferner ist beispielsweise ein Knoten in der ersten Gitterstruktur nicht vorhanden, aber in der zweiten Gitterstruktur vorhanden. Folglich sind in der zweiten Gitterstruktur mehr Knoten vorhanden. Die Anzahl der Knoten steigt über die Zeit. Dementsprechend handelt es sich um eine Hinzufügung des Knotens.Further, for example, a node is not present in the first lattice structure but exists in the second lattice structure. As a result, more nodes are present in the second lattice structure. The number of nodes increases over time. Accordingly, it is an addition of the node.
Ferner kann beispielsweise auch die Anzahl der Knoten gleich oder unverändert bleiben. Die Knoten sind zwar nicht identisch zueinander, aber ähnlich. Beispielsweise sind die Knoten räumlich nicht an der exakt gleichen Stelle, aber dennoch dicht benachbart angeordnet.Furthermore, for example, the number of nodes may remain the same or unchanged. The nodes are not identical but similar. For example, the nodes are spatially not in the exact same location, but still arranged close together.
Durch die erfindungsgemäße Bestimmung des nachfolgenden Datensatzes werden die nachteiligen Sprünge, Pausen oder Standbilder aus dem Stand der Technik zwischen den Iterationen, Rechenergebnissen und letztlich Einzelbildern vermieden. Die Animation der Einzelbilder ist vorteilhafterweise stetig und kontinuierlich.The determination according to the invention of the subsequent data record avoids the disadvantageous jumps, pauses or still images from the prior art between the iterations, computation results and ultimately individual images. The animation of the individual images is advantageously continuous and continuous.
In einer Ausgestaltung ist der Knoten multidimensional ausgebildet, aufweisend eine Position und/oder mindestens eine Eigenschaft. Dementsprechend kann der Knoten auch als multidimensionaler Vektor (X, Y, Z, T) betrachtet werden, wobei X, Y, Z die Position des Knotens angibt und T die Eigenschaft. Die Eigenschaft ist beispielsweise die Temperatur. Dadurch können die Parameter für die Knoten der mindestens zwei Gitterstrukturen der vorangegangenen Datensätze beliebig eingestellt werden und in dem Vergleich und der Abstandsberechnung berücksichtigt werden. In one embodiment, the node is designed in a multidimensional manner, comprising a position and / or at least one property. Accordingly, the node may also be considered as a multidimensional vector (X, Y, Z, T), where X, Y, Z indicate the position of the node and T the property. The property is for example the temperature. As a result, the parameters for the nodes of the at least two grid structures of the preceding data sets can be set as desired and taken into account in the comparison and the distance calculation.
In einer weiteren Ausgestaltung weist das Vergleichen ein Ermitteln jeweiliger Abstände zwischen den jeweiligen Knoten der einen Gitterstruktur der mindestens zwei Gitterstrukturen und den jeweiligen Knoten der anderen Gitterstruktur der mindestens zwei Gitterstrukturen auf. Dementsprechend werden die Abstände oder Distanzen berechnet. Beispielsweise können die räumlichen oder mathematischen Distanzen zwischen den Positionen X, Y, Z der Knoten bestimmt werden. Diejenigen Knoten mit der geringsten räumlichen Distanz - also die nächsten Nachbarn - werden bestimmt. Alternativ oder zusätzlich können diejenigen Knoten mit ähnlichen Temperaturwerten bestimmt werden etc. Dadurch kann vorteilhafterweise die Differenz- oder Distanzberechnung hinsichtlich den Anwenderbedürfnissen flexibel angepasst werden.In a further embodiment, the comparing comprises determining respective distances between the respective nodes of the one grid structure of the at least two grid structures and the respective nodes of the other grid structure of the at least two grid structures. Accordingly, the distances or distances are calculated. For example, the spatial or mathematical distances between the positions X, Y, Z of the nodes can be determined. Those nodes with the smallest spatial distance - ie the nearest neighbors - are determined. Alternatively or additionally, those nodes with similar temperature values can be determined, etc. As a result, advantageously, the difference or distance calculation can be adapted flexibly with regard to the user requirements.
In einer weiteren Ausgestaltung ist der Abstand ein mathematischer Abstand, insbesondere ein euklidischer Abstand oder ein L1-Abstand.In a further embodiment, the distance is a mathematical distance, in particular a Euclidean distance or an L1 distance.
In einer weiteren Ausgestaltung stimmen die zwei Knoten überein, wenn der Abstand zwischen den zwei Knoten gering oder null ist. Dementsprechend liegt eine Übereinstimmung oder Identität vor, wenn die Abstände oder Distanzen zwischen zwei Knoten nahe Null oder Null ist. Beispielsweise ist der Abstand dann gering, falls die Knoten räumlich die gleiche Position in der Gitterstruktur einnehmen oder sehr dicht benachbart angeordnet sind. Dadurch können diese Knoten ohne jegliche weitere Berechnungsschritte bzw. Animation effizient in den nachfolgenden Datensatz übernommen werden.In a further embodiment, the two nodes match if the distance between the two nodes is low or zero. Accordingly, there is a match or identity if the distances or distances between two nodes are close to zero or zero. For example, the distance is small if the nodes spatially occupy the same position in the grid structure or are arranged very close together. As a result, these nodes can be efficiently taken over into the subsequent data record without any further calculation steps or animation.
In einer weiteren Ausgestaltung, für den Fall, dass zwei Knoten nicht übereinstimmen, wird der Knoten der einen Gitterstruktur einem entsprechenden Knoten unter Berücksichtigung des geringsten Abstands zugewiesen und der zugewiesene Knoten mittels einer Interpolation oder eines Tiefpassfilters in den nachfolgenden Datensatz übernommen wird. Dementsprechend benötigen vorteilhafterweise nur die sich ändernden Knoten, beispielsweise neuer oder weggefallender Knoten in einer Gitterstruktur, diesen weiteren Schritt bzw. Animation.In a further embodiment, in the event that two nodes do not match, the node of the one grid structure is assigned to a corresponding node taking into account the smallest distance and the assigned node is taken over into the subsequent data record by means of an interpolation or a low-pass filter. Accordingly, advantageously only the changing nodes, for example new or dropping nodes in a grid structure, require this further step or animation.
In einer weiteren Ausgestaltung weist das Verfahren weiterhin auf:In a further embodiment, the method further comprises:
Darstellen der mindestens zwei vorangegangenen Datensätze und/oder des nachfolgenden Datensatzes als Einzelbilder in einer Animation in Echtzeit.Representing the at least two preceding records and / or the subsequent record as frames in an animation in real time.
Dementsprechend wird der nachfolgende Datensatz für eine Echtzeitanwendung bestimmt. Hierbei sind unterschiedliche Echtzeitanwendungen möglich. Beispielsweise ist eine Echtzeitanwendung eine 3D-Animation oder Illustration. Die Datensätze werden in entsprechende Einzelbilder weiterverarbeitet und dem Anwender einer VR-Brille in Echtzeit dargestellt. Diese Animation ist vorteilhafterweise aktuell, stetig und kontinuierlich.Accordingly, the subsequent data set is determined for a real-time application. Different real-time applications are possible. For example, a real-time application is a 3D animation or illustration. The data sets are processed into corresponding individual images and displayed to the user of VR glasses in real time. This animation is advantageously up-to-date, continuous and continuous.
Die Erfindung betrifft ferner ein Computerprogrammprodukt mit einem Computerprogramm, das Mittel zur Durchführung des erfindungsgemäßen Verfahrens aufweist, wenn das Computerprogramm auf einer programmgesteuerten Einrichtung zur Ausführung gebracht wird.The invention further relates to a computer program product with a computer program which has means for carrying out the method according to the invention when the computer program is executed on a program-controlled device.
Ein Computerprogrammprodukt, wie z.B. ein Computerprogramm-Mittel, kann beispielsweise als Speichermedium, wie z.B. Speicherkarte, USB-Stick, CD-ROM, DVD, oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogrammprodukt oder dem Computerprogramm-Mittel erfolgen. Als programmgesteuerte Einrichtung kommt insbesondere eine Steuereinrichtung, wie beispielsweise eine Industriesteuerungs-PC oder eine Speicherprogrammierbare Steuerung oder ein Programmable Logic Controller, kurz PLC, oder ein Mikroprozessor für eine Smartcard oder dergleichen in Frage.A computer program product, such as a computer program means may, for example, be used as a storage medium, e.g. Memory card, USB stick, CD-ROM, DVD, or even in the form of a downloadable file provided by a server in a network or delivered. This can be done, for example, in a wireless communication network by the transmission of a corresponding file with the computer program product or the computer program means. As a program-controlled device is in particular a control device, such as an industrial control PC or a programmable logic controller or a programmable logic controller, short PLC, or a microprocessor for a smart card or the like in question.
Figurenlistelist of figures
In der folgenden detaillierten Beschreibung werden vorliegend bevorzugte Ausführungsformen der Erfindung mit Bezug auf die folgenden Figuren weiter beschrieben.
-
1 zeigt ein Ablaufdiagramm zum Bestimmen mindestens eines nachfolgenden Datensatzes für eine Echtzeitanwendung gemäß der Erfindung; -
2 zeigt einen beispielhaften Vergleich zweier vorangegangener Datensätze gemäß einer Ausführungsform der Erfindung; und; -
3 zeigt ein Verfahren zum Verarbeiten einer Abfolge mit Iterationen in eine Animation mit Einzelbildern und deren nachteiligen Sprünge nach dem Stand der Technik.
-
1 shows a flow chart for determining at least one subsequent record for a real-time application according to the invention; -
2 shows an exemplary comparison of two previous data sets according to an embodiment of the invention; and; -
3 shows a method for processing a sequence with iterations into a single-frame animation and its disadvantageous jumps in the prior art.
Beschreibung der bevorzugten Ausführungsformen Description of the Preferred Embodiments
Im Folgenden werden bevorzugte Ausführungsformen der vorliegenden Erfindung in Bezug auf die Zeichnung beschrieben.Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
Wie bereits weiter oben ausgeführt, können die Gitterstrukturen der vorangegangenen Datensätze
Ferner ist die Animation um einen Faktor n schneller als die parallel stattfindende Berechnung. Dabei gilt für die Abtastzeiten:
In den n-1 Zeitschritten zwischen zwei Animationsframes besteht die Möglichkeit, die dargestellte Gitterstruktur derart zu verändern, dass zum Zeitpunkt i das durch Ni Knoten dargestellte Ergebnis sanft zu dem durch Ni+1 Knoten animiert wird und zwar unabhängig von der Anzahl der Knoten. Die Animationsframes können auch als Einzelbilder ausgelegt werden.In the n-1 time steps between two animation frames, it is possible to change the illustrated lattice structure such that at time i the result represented by N i nodes is gently animated to that by N i + 1 nodes, regardless of the number of nodes , The animation frames can also be interpreted as single images.
Jeder Knoten weist Informationen oder Parameter in Form von kartesischen Koordinaten über die Position des Knotens (X, Y, Z) und/oder mindestens eine Eigenschaft auf. Beispielsweise können die Eigenschaften farbkodierte Eigenschaften sein, wie Temperatur T, mechanische Spannungen, elektrische oder magnetische Feldstärken etc. auf. Dementsprechend kann der Knoten auch aus multidimensionaler Vektor (X, Y, Z, T) betrachtet werden.Each node has information or parameters in the form of Cartesian coordinates about the position of the node (X, Y, Z) and / or at least one property. For example, the properties may be color-coded properties such as temperature T, mechanical stresses, electric or magnetic field strengths, etc. Accordingly, the node can also be viewed from multidimensional vector (X, Y, Z, T).
Der erste vorangegangene Datensatz
In einem ersten Verfahrensschritt wird die Gitterstruktur des ersten vorangegangenen Datensatzes
Zunächst werden diejenigen Knoten erkannt, welche sich zwischen zwei Rechenergebnissen nicht ändern. Diese Knoten können unverändert in den neuen Illustrationsschritt ohne Animation übernommen werden.First, those nodes are recognized which do not change between two computation results. These nodes can be used unchanged in the new illustration step without animation.
Diejenigen Konten, welche sich ändern, werden animiert. Mit anderen Worten wird für den Fall, dass zwei Knoten nicht übereinstimmen, der Knoten der einen aus den mindestens zwei Gitterstrukturen einem entsprechenden Knoten zugewiesen. Der zugewiesene Knoten wird in den nachfolgenden Datensatz übernommen. Die Zuweisung kann auf einer Differenzberechnung basieren und die Übernahme auf einer Interpolation oder einem Tiefpassfilter.Those accounts that change are animated. In other words, in case two nodes do not match, the node of the one of the at least two mesh structures is assigned to a corresponding node. The assigned node is taken over into the following data record. The assignment can be based on a difference calculation and the transfer on an interpolation or a low-pass filter.
Anstelle der Änderung der Eigenschaft zwischen zwei Rechenschritte sprungartig durchzuführen, wird die Änderung der Eigenschaft mit Einsatz eines Tiefpassfilters in diskreten Zeitschritten gefiltert:
Da aufgrund der Abtastung ein diskreter Filter mit einer Abtastzeit TAnimation zum Einsatz kommt, ist gemäß dem bekannten Nyquist-Shannon Theorem nur ein Signal mit einem Zeitschritt TAnimation/2 ohne Aliasing darstellbar. D.h. eine minimale Untergrenze für die Zeitkonstante des diskreten Filters ist TAnimation/2, somit gilt
Es ist bekannt, dass jeder Filter eine gewisse Zeitverzögerung des gefilterten Signals hervorbringt (Group Delay). Damit das Ergebnis der Filterung zwischen zwei Illustrationsschritten (in einer Dauer TAnimation) nahezu vollständig konvergiert, darf die Zeitkonstante auch nicht zu hoch sein. Hier gibt es aber keine theoretische Obergrenze. Die Ergebnisse hängen von der Wahrnehmung des Nutzers ab. Die Zeitkonstante sollte aber auch kleiner als der Zeitschritt sein, der zur Berechnung notwendig ist. Sonst widerspricht sich der Effekt der Filterung
Somit wird für jeden Knoten des letzten Frames definiert, welche Position er bis zum nächsten Schritt annehmen soll. Daraus entsteht der Übergang seiner Transformation entsprechend dem nächsten Berechnungsergebnis. Die Animation erfolgt wieder schrittweise. Dementsprechend werden in jedem Illustrationsschritt nur Δi+1/n Knoten verändert.Thus it is defined for each node of the last frame which position it should take until the next step. This results in the transition of its transformation according to the next calculation result. The animation is again step by step. Accordingly, only Δi + 1 / n nodes are changed in each illustration step.
Dadurch wird das Rechenergebnis einer Iteration schrittweise animiert, in dem in jedem Animationsframe (jeder TAnimation Sekunden) zwischen zwei Rechenergebnissen nur ein Teil der zu verändernden Knoten animiert wird. Ferner verringert sich vorteilhafterweise der Effekt einer sprungartigen Veränderung der Animation. Hierzu ist es erforderlich, die Animation erst nach dem Vorliegen des ersten Iterationsergebnisses zu beginnen.This animates the result of an iteration step by step, in which only part of the nodes to be modified is animated in each animation frame (every T animation seconds) between two computation results. Furthermore, advantageously reduces the effect of a sudden change in the animation. For this it is necessary to start the animation only after the existence of the first iteration result.
Vorteilhafterweise entsteht eine Animation ohne Sprünge.Advantageously, an animation without jumps.
Beispielsweise weist die zweite Gitterstruktur Mi die gleiche Anzahl von Knoten mit den gleichen Knoteneigenschaften auf. Die erste und zweite Gitterstrukturen Mi-1 und Mi weisen 6 identische Knoten auf. Diese können ohne Animation in die Gitterstruktur Mi+1 des nachfolgenden Datensatzes
Alternativ kann jedoch die zweite Gitterstruktur Mi auch weniger, mehr oder andere Knoten aufweisen, wobei sich die anderen Knoten in den Knoteneigenschaften unterscheiden (hier Position). Die Gitterstruktur Mi weist dementsprechend in
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017200015.5A DE102017200015A1 (en) | 2017-01-02 | 2017-01-02 | Determine at least one subsequent record for a real-time application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017200015.5A DE102017200015A1 (en) | 2017-01-02 | 2017-01-02 | Determine at least one subsequent record for a real-time application |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102017200015A1 true DE102017200015A1 (en) | 2018-07-05 |
Family
ID=62568137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102017200015.5A Withdrawn DE102017200015A1 (en) | 2017-01-02 | 2017-01-02 | Determine at least one subsequent record for a real-time application |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102017200015A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5134480A (en) * | 1990-08-31 | 1992-07-28 | The Trustees Of Columbia University In The City Of New York | Time-recursive deinterlace processing for television-type signals |
-
2017
- 2017-01-02 DE DE102017200015.5A patent/DE102017200015A1/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5134480A (en) * | 1990-08-31 | 1992-07-28 | The Trustees Of Columbia University In The City Of New York | Time-recursive deinterlace processing for television-type signals |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102018118330B4 (en) | Simulation device and simulation method for robot system | |
WO2007020231A2 (en) | System for the computer-aided design of technical devices | |
EP0845720B1 (en) | Method of analyzing and monitoring of transient processes | |
EP3398092A1 (en) | Method for configuring a co-simulation for a total system | |
DE69911986T2 (en) | DEVICE AND METHOD FOR COMPENSATING AND DISTRIBUTING CONTROL ALGORITHM LOADS | |
WO2001086819A9 (en) | Method and device for compressing and/or decompressing data as well as for analyzing and representing data | |
EP2791896B1 (en) | Method for generating super-resolution images having improved image resolution and measuring device | |
EP1437685A2 (en) | Method for segmenting three-dimensional structures | |
EP2433185B1 (en) | Apparatus and method for editing a process simulation database for a process | |
DE102018008064A1 (en) | Downscaling images with pixel sets selected by a blue noise scan | |
EP1252566B1 (en) | Configuration of interconnected arithmetic elements, and method for the computer-aided determination of a second state of a system in a first state space from a first state of the system in the first state space | |
DE102017200015A1 (en) | Determine at least one subsequent record for a real-time application | |
DE112019001959T5 (en) | SEGMENTING IRREGULAR SHAPES IN PICTURES USING DEEP AREA GROWTH | |
EP0829809A1 (en) | Method for process-visualization | |
EP3465608B1 (en) | Method and device for determining a transfer between two display images, and vehicle | |
DE10154200C1 (en) | Random number sequence generation method for simulation of noise using computer program product and computer program | |
DE102016221204A1 (en) | Determining at least one approximated intermediate data set for a real-time application | |
DE10064688A1 (en) | Method for the needs-based generation of individual random numbers of a sequence of random numbers of a 1 / f noise | |
EP4244814A2 (en) | Method for compressing model data, and computer system | |
EP4302226A1 (en) | Computer-implemented method for determining a spatial distribution of element size values for geometric basic elements of a network display from a digital display of an object for a simulation of the object | |
DE102006034347A1 (en) | Optimization method of installation system, involves calculating behavior of installation system by simulation device on basis of description of model of installation system | |
DE102022202693A1 (en) | Testing technical systems for complete describability using sensor data and an associated differential equation | |
DE19736043A1 (en) | Automatic process for the technical implementation of physical systems | |
EP3789864A1 (en) | Method for testing a control software of a control device | |
DE10331431A1 (en) | Data compression of simulation results |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |