Method for displaying a light animation on the lighting system of a motor vehicle
The method uses a graphics engine to dynamically generate and update complex light animations on motor vehicle lighting systems, addressing rigidity issues by describing light sources and sub-animations, enabling flexible and efficient animation display.
Patent Information
- Application Number
- FR2022009891
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-09-29
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2042-09-29
AI Technical Summary
Existing light animation systems in motor vehicles are rigid and require recalculation of animations with any design changes, limiting dynamic generation and update of complex animations involving multiple objects or varying display depths.
A method utilizing a graphics engine to generate light animations by describing light sources' positions and sub-animations with priority indices and opacity coefficients, allowing simultaneous or sequential display of complex animations independently of the light system's design.
Enables easy testing, validation, and updating of complex light animations on motor vehicle lighting systems, supporting simultaneous or sequential display of multiple animations with variable depth effects, and compatible with both real and virtual lighting systems.
Smart Images

Figure 00000029_0000 
Figure 00000029_0001 
Figure 00000030_0000
Abstract
Description
Title of the invention: Method for displaying a light animation on a lighting system of a motor vehicle
[0001] Technical domain,
[0002] The invention relates to the technical field of automotive lighting and / or automotive signaling. More particularly, the invention relates to the field of displaying a light animation on a lighting system of a motor vehicle.
[0003] Prior art,
[0004] In the field of interior lighting or vehicle signaling, lighting systems now include enough light sources to display light animations. For example, it is known to display a light animation on a motor vehicle's rear light, consisting of a moving arrow to indicate to a road user the direction the vehicle will take, or to display a scrolling light signal on a light strip inside a vehicle to indicate to the driver the direction of a hazard on the road.
[0005] In this type of system, each light animation is predetermined based on the number and position of each of the light sources in the lighting system; the light animation is stored in the lighting system's memory as a sequence of control instructions for each of these sources. When a light animation is launched, a control system determines a sequence of control instructions for the light sources, enabling the light animation to be displayed on the vehicle's lighting system.
[0006] In other words, this type of system is particularly rigid and does not allow for the dynamic generation of animations. Furthermore, for any new animation that one wishes to generate, it is necessary to first calculate, on a computer, an entire sequence of control instructions, then store it in the device's memory in order to test and verify it, and modify it if necessary until a sequence of instructions considered satisfactory is reached. It is therefore not possible to test, generate, and update animations in a simple and rapid way. Finally, each animation is particularly dependent on the structure of the lighting system, and in particular on the technologies used and the spatial distribution of the light sources. Any evolution in the design of a lighting system This therefore implies a recalculation of the animations and it is not easy to reuse a previously generated animation for a lighting system.
[0007] In this context, application FR3096435 has envisioned a method in which a simple description of a light animation is provided to a graphics engine, which then determines, for a given structure of a light system, a rendering of this light animation and in which a control of the light system can then control the sources of the light system from this rendering.
[0008] Since the graphics engine can be embedded in a vehicle's computer and in a computer equipped with a vehicle simulation environment, it is possible to implement a lighting animation in a virtual representation of the lighting system without having to physically implement it in the lighting system itself. Therefore, the animation can be easily and simply tested and validated, regardless of the design of the lighting system for which it is intended. Subsequently, only the animation description needs to be provided to the embedded graphics engine so that it can generate a rendering for the vehicle's lighting system design. This description can then be used for different designs and can be easily updated.
[0009] While this solution does indeed meet the various needs mentioned above, it has a major drawback. This solution only allows the display of the animation of a single object, and not the display of a complex animation requiring several objects, or even the display of several simultaneous animations. In particular, this solution does not address the case of animations with different levels of display depth, such as an object moving against a dynamic background, or several objects that need to cross paths by passing over one another.
[0010] There is therefore a need for a method for displaying a complex light animation, involving different sub-animations, on a light system of a motor vehicle, and which allows for easy and simple testing, validation and updating of a light animation regardless of the design of the light system for which it is intended.
[0011] The invention therefore falls within this context and seeks to resolve all of the aforementioned drawbacks.
[0012] Presentation of the invention.
[0013] The invention thus relates to a method for displaying a light animation on a lighting system of a motor vehicle comprising a controller and a plurality of light sources selectively controllable by the controller, the method being implemented by a graphics engine, the method comprising the following steps: a. step of providing the graphics engine with a description of at least one element of the lighting system defining the number and position of the light sources of that element; b. step of providing the graphics engine with a description of at least two light sub-animations to be displayed on the light system to form a light animation, each description being associated with at least one priority index and / or at least one opacity coefficient; c. step of determining, by the graphics engine, a sequence of control instructions for the light sources of said element to display said light animation, the sequence of control instructions being determined from the description, the priority index and / or the opacity coefficient of each light sub-animation, and according to the description of said element; d. control step, by the controller, of the light sources of the element of the lighting system by means of the sequence of control instructions to display said lighting animation on the lighting system.
[0014] In the invention, the step of providing a description of an element of the light system to the graphics engine makes it possible to know the exact location of the available light sources, in particular their spatial distribution, and to associate with each of them an identifier, in particular a numerical index allowing to control said light source individually.
[0015] It is further understood that the sequence of control instructions can be determined by the graphics engine based on the description, priority index, and / or opacity coefficient of each lighting sub-animation, and according to the description of said element. Indeed, it is possible, for example, to combine these sub-animations to give a layering effect to the lighting animation. For example, the priority index value establishes an order in which the different objects of the same animation should be displayed, particularly to produce visual effects of varying depth. Each higher-order sub-animation is thus assigned at least one opacity coefficient, allowing it to determine whether lower-order sub-animations can show through this higher-order sub-animation.The graphics engine can thus determine a sequence of instructions for creating a complex light animation in which light sub-animations can be displayed simultaneously and / or sequentially.
[0016] The graphics engine can then transmit said sequence of instructions to the controller to individually control each of the light sources and assign it the photometric characteristics necessary to correctly reproduce said complex light animation. It is therefore understandable that the advantages of the The solutions from the previous application FR3096435 are thus preserved, each light sub-animation being able to be easily tested, validated and updated, without depending on the design or technology choice of a light system.
[0017] In an alternative or cumulative embodiment of the invention, the lighting system may be a virtual lighting system, in particular generated via a computer simulation environment of a motor vehicle, and especially of a motor vehicle's passenger compartment. Advantageously, the method for displaying a lighting animation makes it possible to simulate the final rendering of a lighting animation on such a virtual lighting system so that the result can be tested and validated prior to its deployment on the actual lighting system of a motor vehicle.
[0018] In an alternative or cumulative embodiment of the invention, the lighting system may be a lighting system of a motor vehicle, and in particular a lighting system arranged inside the passenger compartment of a motor vehicle and / or outside a motor vehicle.
[0019] Definitions
[0020] In the present invention, "graphics engine" means one or more electronic components capable of manipulating digital data, in particular an electronic control unit, a central processing unit or a processor that can be embedded in a desktop or laptop computer, a digital tablet or even in a motor vehicle, and capable of communicating with memory storage systems and / or electronic systems, in particular through cables or a wireless link, such as the projectors of a motor vehicle.
[0021] In the case where the graphics engine is integrated into a motor vehicle, a single graphics engine may be used for the entire lighting system, or multiple graphics engines may be used, each associated with a group of light sources in the lighting system and thus implementing the steps of the process for that group of light sources. If necessary, the lighting system may include a central controller capable of controlling each of these graphics engines.
[0022] In the present invention, the term "light source" means any light source, possibly associated with an electro-optical element, capable of being selectively activated, deactivated, and / or controlled to emit an elementary light beam whose luminous intensity is controllable. This may include, in particular, a light-emitting semiconductor chip, a light-emitting element of a monolithic pixelated light-emitting diode, a portion of a light-converting element excitable by a light source, or a light source associated with a liquid crystal or a micromirror.
[0023] In the present invention, "displaying a light animation on" means "displaying a light animation on a lighting system” is defined as the evolution of the state of at least one light source within that lighting system over a given time period. This state may be characterized by a set of photometric characteristics of the light emitted by said at least one light source, including its color, intensity, frequency, and polarization.
[0024] The display of a light animation may, for example, include a modification of the color and / or intensity of the light emitted by all or part of the light sources of the light system and / or the emission of light, momentary and / or repeated, by all or part of the light sources of the light system to materialize the display and possibly the transformation of one or more objects, for example of their shape, their position, their color and / or their opacity, on all or part of the light system and / or to cause a change in a light atmosphere, for example of its color and / or its intensity, generated by the light system.According to the invention, a light animation can be displayed only on a portion of the light sources of the lighting system or on all of them, and / or separate light animations can be displayed on the same set of light sources or on different parts of the light sources of the lighting system.
[0025] In the present invention, the term "lighting system element" means a predetermined set of light sources. This lighting system element may, in particular, be a flat and / or curved screen, a strip of light sources, or an outdoor signaling device of any shape and dimensions. The light sources of this element may be distributed in one dimension, in particular aligned along a line, curve, and / or arc parameterized in space; or in two dimensions; or in three dimensions.
[0026] For example, an element of the lighting system may refer to all the light sources in the lighting system or only to a subset of said light sources. For example, two distinct elements of the lighting system may include one or more common light sources.
[0027] In the present invention, the term "sequence of instructions for controlling the light sources of an element" means a temporal sequence of control instructions, each control instruction comprising a set of information, in particular in the form of a bit sequence, including for each light source of said element at least one elementary instruction from among: a. a setpoint for the light intensity of the light source, b. a color setting for the light source or grey level, in particular in the form of a color code such as RGB (Red, Green, Blue) or HSV (Hue, Saturation, Value); c. a time range for the ignition of the light source.
[0028] If desired, each piece of information can be associated with an identifier of the light source to which it is intended, such as a set of spatial coordinates and / or a pixel index. Alternatively, this information can be arranged in a table whose cell order corresponds to the spatial arrangement of the light sources of said element.
[0029] Embodiments
[0030] In one embodiment of the invention, the descriptions of the sub-animations are defined in the same spatial reference frame; and, for each instruction of said instruction sequence and for each light source of the element of the lighting system, the graphics engine determines: a. from the said description of the said element, the position of the said light source in the said spatial reference frame; b. for each light sub-animation, a value of said light sub-animation at said determined position and at a given instant; c. a value of the light animation at said position determined from the determined value of each light sub-animation and weighted using the priority index and / or the opacity coefficient of that light sub-animation; said instruction being determined from said determined value of the light animation.
[0031] In other words, to calculate an instruction, the graphics engine samples a view at a given instant of each sub-animation with respect to the position of the light sources in the spatial reference frame, it being understood that only the pixel values of each sub-animation corresponding to the positions of the sources are determined. These values may be grayscale or color values. Since the views are determined in the same spatial reference frame, and in particular the same spatial reference frame as that of the description of said element, the graphics engine can then perform a coherent superposition of the sub-animations in order to determine the final rendering of the animation to be displayed on the element of the lighting system, and thus to determine an instruction.These different stages are thus periodically repeated, each sub-animation being re-evaluated and sampled at a later time to obtain a new instruction in the sequence of instructions until the end of the light animation is reached. It is conceivable that the graphics engine determines each value of each light sub-animation through a single thread executed by one processor, or through several parallel threads, for example, executed by a multi-core processor. This could be done for each light source. of the element of the light system, the graphics engine will be able, for example, to determine all the values of the light sub-animations at the determined position of this light source in the same execution thread associated with this light source, or in an execution thread associated with a set of light sources including this light source.
[0032] It should be noted that in the case where two sub-animations overlap at the same pixel level, the graphics engine can advantageously use the priority indices of the sub-animations and the opacity coefficients to determine the rendering of the animation at that pixel level. For example, the value of the lighting animation can be determined from the determined value of each lighting sub-animation and weighted using the priority index and / or the opacity coefficient of that lighting sub-animation.
[0033] It should be noted that the instruction can be formed by the set of values of the light animation determined for each of the light sources of the element of the lighting system, each value then forming an elementary instruction of a light source. Alternatively, these values can be transformed by the graphics engine, for example by means of gamma correction operations, in order to obtain elementary instructions of the light sources.
[0034] In one embodiment of the invention, the description, in particular each description, of a light sub-animation may include at least one object and a transformation of said object over a period of time of said object. Preferably, the description of each sub-animation may include a description of an object comprising at least its shape and position in said spatial reference frame, and a description of a transformation of at least one feature of said object comprising at least start and end values of said feature and a duration of said transformation. For example, the objects are described by a set of geometric shapes, for example straight line segments or polygons, defined by their vertices. Each control instruction can thus be determined by evaluating a view, also called a "frame," of the sub-animation, that is, of the object at a given instant of the transformation it undergoes.Since this view is a vector representation of the sub-animation, it is not limited to a given resolution, unlike a raster representation, and is therefore independent of the structure and technology chosen for the element of the lighting system. Each successive evaluation of a view of the sub-animation, as the transformation undergoes the object from its starting value to its ending value and during the duration of the transformation, thus provides a new instruction to control the light sources of the lighting element and sequentially display the sub-animation on that lighting element.
[0035] If desired, it may be provided that each description of a sub-animation includes a single description of an object and at least one description of a transformation of a characteristic of said object.
[0036] In one embodiment of the invention, the description of said element includes a description of a model of said element comprising a spatial distribution of light sources of said element and a description of an arrangement of said model in said spatial reference frame.
[0037] Advantageously, the spatial reference frame allows the location of each light source of said element to be determined by means of coordinates, by matching said coordinates of a point in the model to those of the corresponding light source. This spatial reference frame may, in particular, be a two-dimensional or three-dimensional coordinate system, not necessarily Euclidean, and may, in particular, use curvilinear coordinates to locate a point on a curved surface or along a one-dimensional curve in space.
[0038] It is understood that the model description allows the distribution of light sources to be described independently of a spatial reference frame, so that the same model description can be used even if two elements of the lighting system are structurally identical but positioned in different locations within the vehicle, thus further reducing the memory space required for rendering by the graphics engine. This is particularly relevant if the vehicle's dashboard has two identical screens, left and right, or if the vehicle's interior has two light strips arranged symmetrically on the doors.
[0039] For example, in the case of a one-dimensional distribution, such as a strip, a spatial distribution of light sources of said element may comprise only a number of light sources and a spacing between two adjacent light sources. Alternatively, in the case of a two-dimensional distribution, such as a screen, a spatial distribution of light sources of said element may comprise only a number of light sources per column and per row and a vertical and / or horizontal spacing between two adjacent light sources in the same column and / or row. Alternatively still, a spatial distribution of light sources of said element may comprise, for each light source, its position relative to an original light source.
[0040] Preferably, the arrangement of the model may include information allowing the position of the element to be described in the spatial reference frame and possibly information allowing a factor of enlargement or reduction of the model and / or an angle of rotation of said model.
[0041] In one embodiment of the invention, each description of a sub-animation luminous animation is provided following the receipt, by the graphics engine, of a command to display a luminous animation, and each instruction of said sequence of control instructions is determined sequentially from the receipt of said display command.
[0042] For example, the graphics engine may receive a command to display a light animation, with at least two sub-animation descriptions being provided simultaneously, in response to said command, to the graphics engine, said at least two sub-animations being intended to be displayed on the light system to form said light animation displayed on the light system.
[0043] Advantageously, the graphics engine is equipped with memory in which a library describing light sub-animations is stored. If necessary, the method may include the following steps: a. stage of receiving by the graphics engine a command to display a first light animation on the element of the light system; b. retrieval step by the graphics engine, upon receiving said display command, of a first set of at least two descriptions of light sub-animations stored in said memory and enabling the execution of said first light animation together.
[0044] It is thus understood that the graphics engine is equipped with a library of lighting sub-animations that can be combined to form a large number of complex lighting animations. The graphics engine can therefore receive a display command specifying one or more lighting sub-animations to be executed in order to display a lighting animation on an element of the lighting system. The step of providing these descriptions of the lighting sub-animations thus corresponds to the step of retrieving the first set from memory. Thus, following the receipt of this command to display a first lighting animation, the graphics engine can retrieve a first set of one or more descriptions of lighting sub-animations enabling the generation of this first lighting animation. This decomposition thus makes it possible to limit the working memory space of the graphics engine.Furthermore, the step of determining the instruction sequence by the graphics engine is thus limited to rendering these light sub-animations, and therefore the first light animation, for the available light sources, and not to all of these sub-animations.
[0045] Advantageously, a library of model descriptions and layout descriptions is stored in memory and accessible by the graphics engine from said memory. If necessary, the graphics engine pre-selects from said memory the model and layout descriptions that allow the various elements of the lighting system to be described based on identifiers of these descriptions. stored in said memory. Alternatively, the identifiers of said descriptions may be selected beforehand and manually by a user.
[0046] Advantageously, each description of a light sub-animation stored in said memory of the graphics engine is independent of the number of light sources of the element of the light system and of the position of these light sources.
[0047] In one embodiment of the invention, the set of descriptions of the light sub-animations is stored in said graphics engine memory in the form of a data tree. This data tree comprises a first sub-tree encoding a plurality of object descriptions, each including one or more characteristics of said object, and a second sub-tree encoding a plurality of descriptions of a transformation of at least one characteristic of an object. Where applicable, the retrieval step by the graphics engine of said first set includes retrieving, for each sub-animation of the first set, a description of an object in the first sub-tree and a description of a transformation of at least one characteristic of said object in the second sub-tree.
[0048] In other words, the data tree structure allows for a simple, exhaustive, and compact description of all the information necessary to construct the set of descriptions of light sub-animations. By proceeding in this way, each sub-animation is described in its entirety using the object(s) constituting said sub-animation and their respective graphic characteristics, in particular the size and color of said objects, and the set of transformations applied to at least one of the graphic characteristics of one of said objects.
[0049] If desired, the step of retrieving the descriptions of an object and a transformation can be preceded by a step of decompressing the data tree.
[0050] In one embodiment of the invention, for each description of an object stored in said first subtree, said description includes a value of at least one characteristic of the object chosen from at least the following characteristics: a. number of vertices of said object; b. position of the vertices of said object.
[0051] It may be envisaged that the said description also includes at least one property-type characteristic, the value of which can be fixed or modified using a sub-animation, chosen from the following characteristics: a. global color of the object; b. color of each of the object's vertices; c. overall opacity coefficient of the object; d. opacity coefficient of each of the object's vertices; e. priority index.
[0052] In one embodiment of the invention, for each description of a transformation of at least one feature of an object stored in said second subtree, said description includes at least a starting value of said feature, an ending value of said feature, a duration of said transformation, and a transition profile of said feature from its starting value to its ending value. This transformation may thus be a transition of the type: moving the object to another position, rotating it, changing its color, changing its opacity, modifying the number and / or position of one or more, or even all, of the vertices, or a combination of one or more of these transitions. Where applicable, the transition profile may be a continuous or discontinuous function, such as a linear, quadratic, inverse, or identity function.
[0053] It should be noted that one can thus associate a global, or unique, color of the object with all the vertices, or associate a color with each vertex, the set of colors then forming a color map of the object allowing, by interpolation, the definition of color variations of the object. Equivalently to color, one can associate a global, or unique, opacity coefficient of the object with all the vertices, or associate an opacity coefficient with each vertex, the set of coefficients then forming an opacity map of the object allowing, by interpolation, the definition of opacity variations of the object.
[0054] By proceeding in this way, it is possible to specify for a given object the temporal and spatial evolution of at least one characteristic; the data tree thus contains all the information necessary for the execution of a light animation including in the case where several objects are present.
[0055] In one cumulative or alternative embodiment of the invention, the graphics engine receives a command to display a first light animation, at least a description of a first sub-animation being provided, in response to said command, to the graphics engine, in which the graphics engine subsequently receives a command to display a second light animation, at least a description of a second light sub-animation being provided, in response to said command, to the graphics engine, said first and second sub-animations each being intended to form respectively the first and second light animations intended to be displayed on the light system to form said light animation displayed on the light system.
[0056] Where appropriate, the process may include the following steps: a. upon receipt of said command to display the second animation luminous; the retrieval by the graphics engine in said memory of a second set of descriptions of luminous sub-animations allowing to realize together said second luminous animation; b. the determination by the graphics engine of a sequence of control instructions for the light sources of said element to display said first light animation and said second light animation, the sequence of control instructions being determined from the description of each light sub-animation of the first set, from the description of each light sub-animation of the second set, and according to the description of said element.
[0057] By proceeding in this way, the graphics engine is able to generate consistent light source control instructions for any number of animations, including for two light animations that are offset in time and / or have distinct execution times, due to the receipt of separate display commands. Indeed, it may be necessary to start displaying a second light animation simultaneously with the first light animation currently being displayed. Such a situation arises, for example, when a road hazard or a technical fault suddenly appears. In this case, it may be necessary to display a light animation informing a vehicle occupant of the hazard and / or the technical fault. This light animation can then be superimposed on a first light animation currently being executed, notably by being displayed with priority over said first animation.It should be noted that in this case, the graphics engine renders the light animations in the same spatial reference frame but in distinct temporal reference frames specific to each light animation.
[0058] Similar to sub-animations, it is possible to combine light animations with a superposition or depth effect, by associating each animation with a priority index and a depth coefficient.
[0059] In one embodiment of the invention, for each instruction of said instruction sequence and for each light source of the element of the lighting system, the graphics engine determines: a. Based on the aforementioned description of the said element, the position of the said light source in the said spatial reference frame, b. for each luminous sub-animation of the first set and the second set, a value of said luminous sub-animation at the level of said determined position; c. a value of the first light animation at said position determined from the determined value of each sub-animation luminous of the first set and a value of the second luminous animation at said position determined from the determined value of each luminous sub-animation of the second set; said instruction being determined from said determined values of the first and second luminous animations.
[0060] In one embodiment of the invention, for each instruction of said sequence of instructions, the graphics engine increments a time advance of each light sub-animation of the first and second sets of sub-animations, the step of determining the value of each light sub-animation of the first and second sub-sets at the level of said determined position being carried out according to said time advance of this sub-animation.
[0061] Preferably, the progress time of a set of sub-animations, or of each sub-animation within a set of sub-animations, is initialized upon receiving the command to display the light animation corresponding to that set. Following the incrementation of the progress time, for each instruction, the graphics engine then samples a view at said progress time for each sub-animation, determines a rendering of each animation from the samples of the sub-animations in the corresponding set, and then composes a global rendering from these renderings. These incrementing, sampling, and rendering calculation steps are thus periodically repeated to generate new instructions until the progress time of a sub-animation exceeds the duration of the transformation(s) of that sub-animation.Once this duration is exceeded, this sub-animation is no longer taken into account in the rendering calculations by the graphics engine.
[0062] It should be noted that, according to this feature, the temporal evolution of the sub-animations of each light animation is processed independently of the other light animations. Therefore, the speed of each sub-animation can be controlled independently of the other sub-animations. If desired, the progression time of each light sub-animation can be different for each of said sub-animations, in particular being a multiple, integer or not, of a unit of time, in particular 1 ms.
[0063] In one embodiment of the invention, the method includes a step of supplying the graphics engine with an image or a sequence of images intended to be displayed simultaneously on the lighting system with said light animation, said image or sequence of images being associated with at least one priority index and / or at least one opacity coefficient; and the sequence of instructions for controlling the light sources of said element to display said light animation is determined by the graphics engine from the description, the priority index and / or The opacity coefficient of each light sub-animation, and of said image or sequence of images, its priority index and / or its opacity coefficient. Thus, in addition to the dynamic display of light animations on the lighting system, images can be displayed simultaneously, for example, images stored in the graphics engine's memory or in another memory of the vehicle.
[0064] It may advantageously be provided that the plurality of light sources forms at least two groups of light sources, each defining an element of the light system, the light sources being selectively controllable by a controller; and that the light system comprises a plurality of graphics engines, each associated with an element of the light system, and a master controller capable of controlling each of the graphics engines; the master controller and the graphics engines each comprising a clock.
[0065] If applicable, the process then comprises the following steps: a. step of providing each graphics engine with a description of the element of the associated lighting system, defining the number and position of the light sources of that element; b. step of providing each graphics engine with a description of at least one light sub-animation to be displayed on the associated light system element, the set of sub-animations to form a light animation; c. step of supplying, by the master controller, a clock signal generated by its clock, to each of the graphics engines; d. step of calculating, by each graphics engine, a time offset between a clock signal generated by its clock and the clock signal provided by the master controller; e. step of determining, by each graphics engine, a sequence of instructions for controlling the light sources of the element of the associated lighting system, each instruction being determined from the description of said associated element, the description of the lighting sub-animation provided to this graphics engine and a time for the advancement of said lighting sub-animation determined from said time offset; f. control step, by the controller, of the light sources of each element of the lighting system by means of the sequence of control instructions determined by the associated graphics engine to display said lighting sub-animation on that element
[0066] It is thus understood that each graphics engine implements the same steps of the process according to the invention, as described above, the instructions being determined according to its own clock frequency, each instruction being, for example generated for each clock period, or multiple of periods. However, the clock frequency can differ significantly from one graphics engine to another, influenced by external parameters such as temperature or manufacturing tolerances of the graphics engines. These discrepancies then lead to a desynchronization of the instruction sequences generated by the graphics engines, resulting in an undesirable effect when displaying a light animation on multiple elements of the same lighting system. The aforementioned characteristics thus allow each microcontroller to estimate the time offset of its clock relative to the same reference clock signal, and then generate instructions that compensate for this estimated offset.
[0067] Advantageously, each graphics engine, for each instruction of said instruction sequence and for each light source of the associated lighting system element: a. increments the advance time of the description of the light sub-animation provided to this graphics engine using a time step determined from said time offset; b. determines, from said description of said associated element, the position of said light source in said spatial reference frame; c. determines a value of said light sub-animation at said determined position and said advance time of said sub-animation, said instruction being determined from said determined value of this light sub-animation
[0068] Preferably, the steps of incrementing the advance time, determining the position of the light source, and determining the value of the light sub-animation are repeated until the advance time exceeds the duration of the transformation of said sub-animation. In other words, the graphics engine can thus adapt the number of views of a sub-animation that it evaluates to render that sub-animation, with regard to the duration specified in the description of that sub-animation. However, each evaluated view can give rise to a new control instruction, so that the number of evaluated views directly impacts the actual display time of the sub-animation on the element of the lighting system. It is therefore possible to modulate the display time of each sub-animation so that the sub-animations are displayed synchronously.
[0069] Advantageously, the graphics engine increases the time step if the period of the clock signal generated by its clock is greater than the period of the clock signal provided by the master controller, and decreases the time step if the period of the clock signal generated by its clock is less than the period of the clock signal provided by the master controller. In other words, the time step is increased if the clock The graphics engine's clock speed is slower than that of the master controller, and it is reduced if the graphics engine's clock speed is faster than that of the master controller.
[0070] For example, the graphics engine can modify the time step using a factor determined from the ratio between the period of the clock signal provided by the controller and the period of the clock signal generated by its clock.
[0071] In one embodiment of the invention, the step of determining by the graphics engine a sequence of control instructions for the light sources of said element to display said light animation includes the generation of a sequence of control instructions, each associated with one of the light sources of said element, the ordering of said sequence of instructions corresponding to the arrangement of the light sources of said element with respect to the motor vehicle.
[0072] Therefore, the said sequence of instructions for controlling the light sources uniquely defines sequences of instructions for each of the light sources according to its position in the spatial reference frame. Thus, the image constructed by all the light sources makes it possible to generate a coherent overall image with respect to the light animation resulting from the various commands for displaying light animations received by said graphics engine.
[0073] Preferably, when the lighting system controller receives a control instruction determined by the graphics engine, it successively controls the light sources of the lighting system element according to that control instruction. For example, for each control instruction, in the case where each light source of the lighting system element has three light-emitting chips of red, green, and blue respectively, the controller can generate, for each selected light source, three PWM (Pulse Width Modulation) modulated signals whose duty cycles are determined according to the setpoint contained in the control instruction associated with that light source, and supply these signals to said light source.
[0074] The invention also relates to a computer program comprising program code which is designed to implement the method according to the invention.
[0075] The invention also relates to a data carrier on which the computer program according to the invention is recorded.
[0076] Brief description of the figures.
[0077] The present invention is now described by means of purely illustrative and in no way limiting examples of the scope of the invention, and from the accompanying illustrations, in which:
[0078] [Fig-1] represents, schematically and partially, a lighting system of a motor vehicle for the implementation of a process according to an embodiment of the invention;
[0079] [Fig.2] represents, schematically and partially, a method for displaying a light animation on the light system of [Fig.1] according to an embodiment of the invention;
[0080] [Fig.3] represents, schematically and partially, a data tree in which is stored a plurality of descriptions of light sub-animations for the implementation of the process of [Fig.2];
[0081] [Fig.4] represents, schematically and partially, an example of implementation of the process of [Fig.2] for displaying a light animation on the light system of [Fig.1];
[0082] [Fig.5] represents, schematically and partially, a time graph describing a sequence of light animations displayed on the light system of [Fig.1] using the method of [Fig.2];
[0083] [Fig.6] represents, schematically and partially, a temporal graph re presenting a sequence of light animations displayed on the light system of [Fig. 1]; and
[0084] [Fig.7] represents, schematically and partially, a temporal graph re presenting a sequence of light animations displayed on the light system of [Fig.1] using the method of [Fig.2].
[0085] In the following description, identical elements, by structure or by function, appearing on different figures retain, unless otherwise specified, the same references.
[0086] Description of embodiments,
[0087] A light system 1 of a motor vehicle for the implementation of a method of displaying one or more light animations according to an embodiment of the invention is shown in [Fig.1].
[0088] In the described example, the lighting system 1 is a vehicle interior lighting system comprising a central strip 21 of light sources arranged on the vehicle's dashboard, and a right strip 22 and a left strip 23 of light sources arranged symmetrically on the right and left doors of the vehicle. Each of the strips 21, 22, and 23 comprises an array of LED light sources arranged in rows and columns. Furthermore, the strips 22 and 23 are symmetrically identical. Each strip thus forms an element of the lighting system 1.
[0089] This example is given by way of example only, and other types of lighting systems can be designed without departing from the scope of the present invention. In particular, the number of elements in the lighting system, their arrangement relative to the motor vehicle (whether interior or exterior), the number of light sources in each element, their spatial distribution, their dimensions, and the type of light can all be varied. that they are capable of emitting, as well as the technology of these light sources, without departing from the scope of the present invention. Each element may be, interchangeably, a device of an interior lighting system of the motor vehicle, a road lighting device, or a signaling device of the motor vehicle.
[0090] Each element 21 to 23 of the light system 1 is associated with a graphics engine MGi to MG3, intended to generate control instructions for the light sources of this element, and a controller Pi to P3, intended to control the light sources of this element from the instructions generated by the associated graphics engine.
[0091] Each graphics engine includes a memory (not shown), in which are stored a library of descriptions of light sub-animations and a library of descriptions of elements of light systems.
[0092] The lighting system 1 also includes a BCM master controller capable of controlling each of the graphics engines and transmitting data frames to them via an embedded data communication network.
[0093] A method for displaying a light animation on system 1 according to an embodiment of the invention is shown in [Fig.2].
[0094] It should be noted that the lighting system 1 can be a real lighting system of a motor vehicle or a virtual lighting system, simulated through a motor vehicle simulation environment, in order to test and validate lighting animations before deploying them on a real vehicle. The description of the process that follows can therefore be applied equally to a real lighting system or to a simulated lighting system.
[0095] For the sake of brevity, the process will be described with respect to the MGi graphics engine, the Pi controller and the element 21 only, it being understood that the same process is implemented by the other graphics engines, controllers and elements.
[0096] In a step E0, the graphics engine MGi receives a display command Zi of a light animation A; on element 21.
[0097] In a step El, the graphics engine MGi retrieves, in its memory, a description DI of the element 21 and in a step E2, the graphics engine MGi retrieves, in its memory, a set of descriptions D2LJ of light sub-animations allowing the light animation A; to be carried out together.
[0098] The DI descriptions of element 21 and D2;j of each light sub-animation can, for example, be retrieved using identifiers of element 21 and the sub-animations contained in the Z; command. According to the Z; command, the set of sub-animation descriptions may include one or more D2ij descriptions.
[0099] The element description library may, for example, include a sub-library of element model descriptions, i.e., of different distributions spatial light sources independent of any spatial reference frame, and a sub-library of model arrangement descriptions, that is, information allowing a model, whatever its type, to be positioned in a given spatial reference frame.
[0100] It is thus understood that the combination of a description of an element model and a description of a model arrangement, retrieved at the end of step El, allows the graphics engine MGi to know the position of each of the light sources of element 21 in the spatial reference frame of the motor vehicle.
[0101] The use of these two libraries allows a single graphics engine to flexibly manage a large number of different element types without increasing the amount of RAM or buffer space it requires. Furthermore, these libraries are particularly advantageous for elements 22 and 23, which are symmetrical and can therefore be described by the same model but with different arrangements.
[0102] Similarly, the light sub-animation description library includes a sub-library of object descriptions, in the same spatial reference frame as that used for model arrangement descriptions, and a sub-library of transformation descriptions of at least one feature of an object.
[0103] In other words, each description D2ij of a light sub-animation retrieved by the graphics engine MGi can be described by a combination of a single description Oj of an object from the object description sub-library and at least one description Tj of a transformation of a feature of that object from the transformation description sub-library.
[0104] It should be noted that, in the example described, an object is described, in its description Oj, by means of the number of its vertices and their positions. Furthermore, each object has properties such as a global color, a global opacity coefficient, and a priority index, the values of which are not fixed in the stored description and which define characteristics of the object that can be modified by a sub-animation. The global color and / or the global opacity coefficient can be replaced by a color and / or opacity map defining a color and / or an opacity coefficient for each vertex. An object can thus be a geometric shape, a symbol, a pictogram, or even an entire background, or a combination of several of these elements.
[0105] Furthermore, a transformation of an object's characteristic is described, in its description Tj, by a starting value, an ending value, a transformation duration, and a transition profile. A transformation could thus be a change in the color, opacity, position, or shape of an object.
[0106] In other words, it is possible to evaluate a view, or "frame", of a sub- The light animation at a given instant is achieved by applying the characteristic transformation(s) defined by description Tj to that characteristic of the object, as defined by description Oj, up to that instant. The value of this characteristic at that instant can be obtained by interpolation, using the starting and ending values, the transformation duration, the transition profile, and the instant itself. Since the object representation is vector-based, it is not limited to a particular resolution, so the sub-animation is independent of the structure or technology chosen for element 21.
[0107] The library of descriptions of light sub-animations can be stored in the memory of the MGi graphics engine as a data tree A. As shown in [Fig. 3], this data tree has a first subtree O encoding a plurality of object descriptions Oi to On; each description comprising several features Ci to Cm. The data tree also has a second subtree T encoding a plurality of descriptions Ti to Tp of a transformation of an object feature. The element description library can also be stored in the memory of the MGi graphics engine as a data tree.
[0108] At the end of steps El and E2, once the description Di and all the descriptions D2ij have been retrieved, the graphics engine MGi initializes a progress time ty for each of the corresponding light sub-animations.
[0109] In a step E3, for each sub-animation, the progress time of that sub-animation is incremented by a time step Afj, specific to that sub-animation. The steps for determining this time step Afj will be described later. This progress time is then compared to the duration 0j of the sub-animation, as defined in the description D2;j of that sub-animation.
[0110] If the progress time is greater than the duration 0j of the sub-animation, this sub-animation is then no longer taken into account for subsequent steps.
[0111] Otherwise, in step E4, the graphics engine MGi estimates the position pk of each light source of element 21 in the spatial reference frame. It should be noted that, if element 21 is not involved in the Zi5 command, none of the light sources are needed to display the light animation Ai, so steps E1 to E9 are not implemented.
[0112] It should be noted that the positions pk can be one or more coordinates in the spatial reference frame of description Dl, depending on whether the light sources of element 21 are distributed in one dimension, two dimensions, or three dimensions. These coordinates can be determined by positioning the model of element 21, as defined in description Dl, in the spatial reference frame defined in the arrangement of the model in description Dl, and optionally by applying transformations to this model, such as rotation, symmetry and / or scaling, if such transformations are defined in the model arrangement of description Dl.
[0113] Then, in a step E5, for each description D2;j of a lighting sub-animation and for each position pk thus determined, the MGi graphics engine determines a value for this lighting sub-animation at that position pk and at the advance time hj. As described previously, the value of each of the features of the object concerned by this sub-animation at that advance time can be obtained by interpolation, so that a view of the sub-animation at that advance time can be evaluated and the color and / or gray level of a portion of the view of this sub-animation, at a given position and for that advance time, can be determined. However, only the values of the view at the positions pk are needed for displaying the lighting sub-animation on the element 21. The MGi graphics engine thus samples this view using the positions pk.
[0114] In a step E6, for each position pk, the graphics engine MGi determines a value aijk of the light animation A; at the level of this position pk using the set of values Vijjk of the light sub-animations determined at the end of step E5.
[0115] In this context, as previously explained, each description Oj of an object includes an opacity coefficient Oj, defining the object's transparency, and a priority index zj5 defining the plane in which the object appears. This opacity coefficient Oj and this priority index Zj are thus used in step E6 to compose the sub-animations together according to an alpha composition by superimposing them according to their priority indices sorted in descending order, each sub-animation allowing more or less transparency of the sub-animations placed below it depending on its opacity coefficient.
[0116] More precisely, each value ai>k of the light animation A; at the level of a position pk can be obtained by summing the values v^ of the light sub-animations, each value v^ of a light sub-animation being weighted by a coefficient determined from the opacity coefficient Oj and the priority index Zj of this light sub-animation.
[0117] Figure 4 shows an example of implementing steps E4 to E6 for two light sub-animations D2i and D22 evaluated at a given time t. As shown, the light sub-animation D2i has an opacity coefficient ai of 1, meaning that it is completely opaque, while the light sub-animation D22 has an opacity coefficient a2 of 0, meaning that it is completely transparent. Furthermore, the light sub-animation D2i has an index of priority Zi of 1 and the light sub-animation D22 has a priority index z2 of 0, meaning that the light sub-animation D2i is located above D22.
[0118] It will be noted that, despite the opacity of the sub-animation D2B the values of vi>u which are zero, due to the absence of an object at their position pk, have been assigned an opacity coefficient of 0 so as to allow the values vij2>k of the sub-animation D22 located below to show through.
[0119] It should be noted that the steps just described are implemented for the display of a given light animation A, following the reception of the instruction Z i. However, it is possible that another light animation, or even several other light animations, may be being displayed on the element 21. The operations of steps E3 to E6 as previously described can thus be implemented for other light sub-animations described by another set D2i2j of light sub-animations, retrieved by the graphics engine MGi following the reception of an instruction Zr for the display of another light animation Ar, the implementation of these steps thus allowing the graphics engine to obtain values ai jk of the light animation Ar at the positions pk.
[0120] Thus, in a step E7, the graphics engine MGi composes all the light animations A; during execution, in a similar way to step E6, namely by an alpha composition.
[0121] To this end, the MGi graphics engine assigns each running light animation A; an opacity coefficient and a priority index. For example, an opacity coefficient and a priority index can be assigned to a light animation A; following the receipt of the corresponding Z; command and, in particular, based on information contained in that command.
[0122] The MGi graphics engine can thus determine control instructions bk for each of the positions pk, using the set of values ai>k of the light animations A; determined at the end of step E6. These control instructions bk are intensity and / or color commands which are advantageously organized in a table transmitted to the controller Pb II. It should be noted that the position of a control instruction bk in the table corresponds to the position pk of the light source within the element 21.
[0123] In an unrepresented step, the MG1 graphics engine may perform gamma correction of each of the bk control instructions.
[0124] Steps E3 to E7 are thus repeated sequentially for each light sub-animation of each light animation Ai, until the advance time hj of that sub-animation becomes greater than the duration 0j of that sub-animation. As previously stated, this sub-animation is then no longer taken into account for the calculation of the following control instructions bk.
[0125] The set of these cycles thus makes it possible to obtain a sequence of control instructions for the display of the light animations A;. Once the set of sub-animations of a light animation A; has been executed, the animation A; is considered to be finished and is no longer taken into account for the calculation of the following control instructions bk.
[0126] Each control instruction bk thus allows the Pi controller to control the light source of the element 21 corresponding to the position pk so that it emits, or not, an elementary light beam whose intensity and / or color depends on this control instruction bk.
[0127] To this end, in a step E8, the PI controller can, for example, generate, for each light source of the element 21, one or more pulse-width modulated (PWM) signals, whose duty cycles rk are determined according to the control instruction bkas associated with the position pk of this light source, depending on whether this instruction defines a gray level or a color
[0128] In a step E9, the light sources of element 21 are controlled by means of PWM signals, so that the set of elementary beams emitted by the light sources of element 21 materializes the set of light sub-animations of the animations Ai, at the advance times hj.
[0129] A time graph representing different bk control instructions generated sequentially by the graphics engines MGi, MG2 and MG3 for the display of two light animations Ai and A2 on the elements 21, 22 and 23 of the light system 1 has thus been represented in [Fig.5].
[0130] The lighting animation Ai corresponds to a color change of ambient light emitted by elements 21, 22, and 23, with all the light sources of these elements participating in this lighting animation Ab. The lighting animation A2 corresponds to the display of arrows moving from the center of element 21 to the end of element 22, in order to signal to a vehicle occupant an event located on the right side of the vehicle. The command Z2, provided to each graphics engine and causing the display of animation A2, can, for example, result from the detection of said event by one or more sensors on the vehicle.
[0131] Each MGh MG2 and MG3 graphics engine includes a clock for sequencing the calculation of the bk control instructions. Each clock thus generates a clock signal with a period Ac, and each control instruction is generated after the same cycle of periods Ac.
[0132] In the ideal example of [Fig.5], the periods Ac of the clocks are identical, so that the control instructions bksont generated by the graphics engines MGi, MG2 and MG3 synchronously.
[0133] However, it is common for the clock periods of two graphics engines to differ. In the example shown in [Fig.6], the ACi period of the MGi graphics engine is longer than the AC2 period of the MG2 graphics engine.
[0134] As a result, the control instructions bksont are generated by the MGi graphics engine more slowly than those generated by the MG2I graphics engine. Consequently, the duration of the light animation A2 as displayed is shorter for element 22 than for element 21. Therefore, the vehicle occupant can observe that the scrolling speed of the arrow in animation A2 is faster when displayed on element 22 than when displayed on element 21, which can be annoying.
[0135] In order to overcome this drawback, in a step E10, the BCM master controller, which is also equipped with a clock, transmits to all the graphics engines MGi, MG2 and MG3 of the lighting system 1 a data frame containing its clock signal with its period Ac.
[0136] In an Eli step, each graphics engine compares the period of its clock signal to that of the master controller. In the example in [Fig.7], the ACi period of the MGi graphics engine is identical to the Ac period of the BCM master controller, while the ACi period of the MG2 graphics engine is shorter.
[0137] In step El 1, in the event of a variation between these periods, each graphics engine calculates the ratio between the period Ac of the master controller BCM and its own period and determines a value for the time step Atij used to increment the advance time hj from this offset. More precisely, this time step Atij will be increased if the ratio is less than 1 and will be decreased if the ratio is greater than 1.
[0138] In the example of [Fig.7], the time step At2 used by the graphics engine MGi is therefore more important than the time step At'2 used by the graphics engine MG2.
[0139] It can thus be seen that the number of cycles of steps E3 to E7 required for the progress time of animation A2 to be greater than the duration of this animation is greater for the MG2 graphics engine than for the MGb graphics engine. Therefore, the actual display time of animation A2 on element 22 is lengthened and the effect observed by the occupant in the example of [Fig.6] disappears in the example of [Fig.7].
[0140] The preceding description clearly explains how the invention makes it possible to achieve the objectives it has set for itself, and in particular by proposing a method of displaying a light animation on a light system which makes it possible to test and validate this light animation, independently of the structure, design or technological choices of the light system, and which does not require a large size of RAM and / or buffer memory for the calculation of the control instructions of the light system.
[0141] In any event, the invention cannot be limited to the embodiments specifically described in this document, and extends in particular to all equivalent means and to any technically operative combination of these means.
Claims
Claims
1. Method for displaying a light animation on a light system (1) of a motor vehicle comprising a controller (Pb P2, P3) and a plurality of light sources selectively controllable by the controller, the method being implemented by a graphics engine (MGi, MG2, MG3), comprising the following steps: a. (El) step of providing the graphics engine with a description (Dl) of at least one element (21, 22, 23) of the lighting system defining the number and position of the light sources of this element; b. (E2) step of providing the graphics engine with a description of at least two light sub-animations (D2;j) to be displayed on the light system to form a light animation (A,), each description being associated with at least one priority index (zb z2) and / or at least one opacity coefficient (ab a2); c. (E3, E4, E5, E6, E7) step of determining, by the graphics engine, a sequence of control instructions (bk) of the light sources of said element to display said light animation, the sequence of control instructions being determined from the description, the priority index and / or the opacity coefficient of each light sub-animation, and according to the description of said element; d. (E9) step of controlling, by the controller, the light sources of the element of the lighting system by means of the sequence of control instructions to display said light animation on the lighting system.
2. Method according to the preceding claim, in which the descriptions (D2ij) of the sub-animations are defined in the same spatial reference frame, characterized in that for each instruction (bk) of said sequence of instructions and for each light source of the element (21, 22, 23) of the light system (1), the graphics engine (MGb MG2, MG3) determines: a. (E4) from said description (Dl) of said element, the position (pk) of said light source in said spatial reference frame, b. (E5) for each light sub-animation, a value (vi jjk) of said light sub-animation at said determined position and at a given time (hj); c. a value (ai>k) of the light animation (Ai) at said position determined from the determined value of each light sub-animation and weighted using the priority index (zb z2) and / or the opacity coefficient (ab a2 ) of this light sub-animation; said instruction being determined from said determined value of the light animation.
3. Method according to the preceding claim, in which the description (D2jj) of a sub-animation comprises a description of an object (Oj) comprising at least its shape, its position in said spatial reference frame and a description (Tj) of a transformation of at least one characteristic of said object comprising at least starting and ending values of said characteristic and a duration (0j) of said transformation.
4. Method according to one of claims 2 to 3, in which the description (Dl) of said element (21, 22, 23) comprises a description of a model of said element comprising a spatial distribution of the light sources of said element and a description of an arrangement of said model in said spatial reference frame.
5. Method according to one of the preceding claims, in which each description (D2ij) of a light sub-animation is provided following the reception (EO), by the graphics engine (MGi, MG2, MG3), of a display command (Zi) of a light animation (Ai), and in which each instruction (bk) of said control instructions is determined sequentially from the reception of said display command.
6. Method according to the preceding claim, in which the graphics engine (MGi, MG2, MG3) receives a display command (Z) for a light animation (A;), at least two descriptions (DZj) of sub-animations being provided simultaneously, in response to said command, to the graphics engine, said at least two sub-animations being intended to be displayed on the light system (1) to form said light animation displayed on the light system.
7. Method according to one of claims 5 or 6, in which the graphics engine (MGi, MG2, MG3) receives a display command (Zi) of a first light animation (Ai), at least one description (D2 ij) of a first sub-animation being provided, in response to said command, to the graphics engine, in which the graphics engine subsequently receives a display command (Z2) of a second light animation (A2), at least one description of a second light sub-animation being provided, in response to said command, to the graphics engine, said first and second sub-animations each being intended to form respectively the first and second light animations intended and to be displayed on the lighting system (1) to form said light animation displayed on the lighting system.
8. Method according to one of the preceding claims, the method comprising a step of providing the graphics engine (MGi, MG2, MG3) with an image or a sequence of images intended to be displayed simultaneously on the light system (1) with said light animation (A;), said image or sequence of images being associated with at least one priority index (zb z2) and / or at least one opacity coefficient (ab a2); and in which the sequence of control instructions (bk) of the light sources of said element (21, 22, 23) for displaying said light animation is determined by the graphics engine from the description, the priority index and / or the opacity coefficient of each light sub-animation (D2jj), and from said image or sequence of images, its priority index and / or its opacity coefficient.
9. Computer program comprising program code which is designed to implement the method according to one of claims 1 to R
10. d O. Data carrier on which the computer program according to claim 9 is recorded.
