Vehicle light show control method and device, electronic equipment and storage medium
Patent Information
- Application Number
- CN202610928704.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-25
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2046-06-25
AI Technical Summary
但是,该方案通常采用简单的时序控制逻辑,缺乏对灯光亮度等参数的精细化调节
[0019] Compared to existing technologies, the vehicle light show control method, device, electronic device, and storage medium provided in this application first generate an initial frame sequence and vehicle layout information in response to a configuration operation. The initial frame sequence records the state of all vehicles in each frame in the form of a state code. Then, in response to a frame-level arrangement operation, the state code of each vehicle is updated frame by frame to obtain a target frame sequence. Finally, in response to a playback operation, the control data in the target frame sequence is read sequentially according to a set frame interval, and SVG layered rendering is performed by combining the vehicle layout information with a pre-built SVG layer set. This makes the light show playback process no longer dependent on pre-recorded video files or dedicated hardware controllers. At the same time, users can perform customized operations through the front-end interface to achieve various light shows with different effects that meet user needs.
Smart Images

Figure CN122496667B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of front-end technology, and more specifically, to a vehicle light show control method, device, electronic device, and storage medium. Background Technology
[0002] Currently, vehicle light show display technology mainly adopts the following two implementation methods: The first method involves playing a pre-recorded video file, causing the vehicle lights to change synchronously according to the video content. However, this solution typically uses a fixed light sequence and simple on / off control, resulting in limited light changes and making it difficult to flexibly adjust according to user needs or different scenarios.
[0003] The second approach uses a dedicated hardware controller to control the on / off state of the vehicle's various lighting components through a preset program. However, this solution typically employs simple timing control logic and lacks fine-grained adjustment of parameters such as light brightness.
[0004] Therefore, existing vehicle light show solutions mostly use fixed light sequences, which cannot be flexibly adjusted according to specific vehicle models and user needs, making it difficult to achieve complex combinations of light effects. They generally suffer from monotonous light effects and a lack of personalized customization. Summary of the Invention
[0005] The purpose of this application is to provide a vehicle light show control method, device, electronic device, and storage medium to improve the above-mentioned problems.
[0006] To achieve the above objectives, the technical solutions adopted in the embodiments of this application are as follows: In a first aspect, embodiments of this application provide a vehicle light show control method, the method comprising: In response to the configuration operation, an initial frame sequence and vehicle layout information for the light show are generated. The initial frame sequence includes multiple frames of control data arranged in chronological order, and the control data includes the status codes of all vehicles in the light show in the corresponding frames. In response to the frame-level orchestration operation, the status code of each vehicle in each of the control data corresponding to the frame-level orchestration operation is updated frame by frame to obtain the target frame sequence. In response to the playback operation, the control data of each frame in the target frame sequence is read sequentially according to the set frame interval, and the vehicle layout information and the pre-built SVG layer set are used to perform SVG layer rendering on the control data of each frame to form a continuous light show frame picture.
[0007] Optionally, the vehicle's status coding includes status bits of multiple controlled component groups of the vehicle, and the SVG layer set includes at least one first SVG layer and multiple second SVG layers corresponding one-to-one with the multiple controlled component groups; The step of performing SVG layered rendering of the control data of the current frame using the vehicle layout information and a pre-built SVG layer set includes: For each vehicle status code in the control data of the current frame, the display status of each second SVG layer is determined based on the status bit of each controlled component group in the status code, and a target layer corresponding to each second SVG layer is generated; Based on the vehicle layout information and the preset hierarchical order, the at least one first SVG layer and all the target layers are overlaid to obtain the light show frame image corresponding to the current frame.
[0008] Optionally, the second SVG layer includes SVG primitives for representing the visual state of each controlled component in the corresponding controlled component group; The step of determining the display state of each second SVG layer based on the state bits of each controlled component group in the state code, and generating the target layer corresponding to each second SVG layer, includes: Check the status bit of each controlled component group in the status code, and generate control information for controlling the display status of each SVG element in the corresponding second SVG layer; For each of the second SVG layers, the display state of each SVG element in the second SVG layer is controlled according to the control information corresponding to the second SVG layer to obtain the target layer.
[0009] Optionally, the controlled component group includes a basic lighting group, and the plurality of second SVG layers include a basic lighting layer corresponding to the basic lighting group. The basic lighting layer includes SVG primitives for characterizing the on / off state of each light in the basic lighting group. The step of checking the status bits of each controlled component group in the status code and generating control information for controlling the display status of each SVG element in the corresponding second SVG layer includes: Check the status bits of each light in the status code in sequence; If the status bit is the first value, then a control signal is generated to control the hiding of the SVG primitive corresponding to the status bit; If the status bit is the second value, then a control signal is generated to control the display of the SVG primitive corresponding to the status bit; By traversing the state bits of each light in the state code, control information is obtained for controlling the visibility state of each SVG element in the basic light layer. The control information includes the control signal corresponding to the state bit of each light in the state code.
[0010] Optionally, the controlled component group includes a door and window group, and the plurality of second SVG layers include a door and window layer corresponding to the door and window group. The door and window layer includes SVG primitives for representing the open state and closed state of each door and window in the door and window group. The step of checking the status bits of each controlled component group in the status code and generating control information for controlling the display status of each SVG element in the corresponding second SVG layer includes: The status bits of each door and window in the status code are checked sequentially. If the status bit is the first value, then a control signal is generated to control the display of the SVG primitive in the off state corresponding to the status bit; If the status bit is the second value, then a control signal is generated to control the display of the SVG primitive corresponding to the on state of the status bit; By traversing the status bits of each door and window in the status code, control information for controlling the display and hiding status of each SVG element in the door and window layer is obtained. The control information includes the control signal corresponding to the status bit of each door and window in the status code.
[0011] Optionally, after the step of sequentially reading the control data of each frame in the target frame sequence at a set frame interval, the method further includes: When the control data of the current frame is empty, a pre-built empty frame template is obtained as the control data of the current frame for SVG layered rendering.
[0012] Optionally, the step of responding to the configuration operation and generating the initial frame sequence and vehicle layout information for the light show includes: In response to the configuration operation, obtain the total number of vehicles, vehicle arrangement mode, and total duration of the light show, wherein the total duration is a user-defined duration or the duration of the target audio associated with the light show; Based on the total duration and the preset single frame duration, the total number of frames of the light show is calculated, and the initial frame sequence with a length equal to the total number of frames is generated; The vehicle layout information is generated based on the total number of vehicles and the vehicle arrangement pattern.
[0013] Optionally, the step of generating the vehicle layout information based on the total number of vehicles and the vehicle arrangement pattern includes: Based on the vehicle arrangement pattern, calculate the coordinates of each vehicle in the preset canvas coordinate system; Based on the coordinates of each vehicle in the canvas coordinate system and a preset offset rule, calculate the coordinates of the controlled components of each vehicle in the canvas coordinate system. Based on the vehicle arrangement pattern, generate rotation transformation parameters; The vehicle layout information includes the coordinates of each vehicle in the canvas coordinate system, the coordinates of each vehicle's controlled component in the canvas coordinate system, and the rotation transformation parameters.
[0014] Optionally, the vehicle's status code includes multiple status bits, each status bit corresponding to a controlled component of the vehicle, and all status bits in the initial frame sequence are first values; the frame-level orchestration operation includes single-frame orchestration operations. The step of responding to the frame-level orchestration operation and updating the status code of each vehicle corresponding to the frame-level orchestration operation in the control data of each frame frame to obtain the target frame sequence includes: In response to the orchestration operation of the current frame, identify each target controlled component of each target vehicle specified by the orchestration operation for activation; In the control data of the current frame, the status bit corresponding to each target controlled component of each target vehicle is modified to the second value, while the remaining status bits remain unchanged from the first value.
[0015] Optionally, the step of responding to the frame-level orchestration operation and updating the status code of each vehicle corresponding to the frame-level orchestration operation in each frame of control data to obtain the target frame sequence further includes: In the arrangement interface, based on the control data of the current frame, the vehicle layout information, and the pre-built SVG layer set, SVG layer rendering is performed to generate a preview screen of the current frame.
[0016] Secondly, embodiments of this application provide a vehicle light show control device, the device comprising: A configuration module is used to respond to configuration operations and generate an initial frame sequence and vehicle layout information for the light show. The initial frame sequence includes multiple frames of control data arranged in chronological order, and the control data includes the status codes of all vehicles in the light show in the corresponding frames. The orchestration module is used to respond to frame-level orchestration operations, update the status code of each vehicle in each of the control data corresponding to the frame-level orchestration operation frame by frame, and obtain the target frame sequence. The playback module is used to respond to playback operations, read the control data of each frame in the target frame sequence sequentially according to the set frame interval, and perform SVG layered rendering of the control data of each frame using the vehicle layout information and the pre-built SVG layer set to form a continuous light show frame picture.
[0017] Thirdly, embodiments of this application provide an electronic device, including a processor and a memory, wherein the memory is used to store a program, and the processor is used to implement the vehicle light show control method in the first aspect above when executing the program.
[0018] Fourthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the vehicle light show control method described in the first aspect above.
[0019] Compared to existing technologies, the vehicle light show control method, device, electronic device, and storage medium provided in this application first generate an initial frame sequence and vehicle layout information in response to a configuration operation. The initial frame sequence records the state of all vehicles in each frame in the form of a state code. Then, in response to a frame-level arrangement operation, the state code of each vehicle is updated frame by frame to obtain a target frame sequence. Finally, in response to a playback operation, the control data in the target frame sequence is read sequentially according to a set frame interval, and SVG layered rendering is performed by combining the vehicle layout information with a pre-built SVG layer set. This makes the light show playback process no longer dependent on pre-recorded video files or dedicated hardware controllers. At the same time, users can perform customized operations through the front-end interface to achieve various light shows with different effects that meet user needs. Attached Figure Description
[0020] Figure 1 A schematic flowchart of a vehicle light show control method provided in an embodiment of this application is shown.
[0021] Figure 2 An example diagram of a front-end interface provided in an embodiment of this application is shown.
[0022] Figure 3 An example diagram of a page layout provided in an embodiment of this application is shown.
[0023] Figure 4 An example diagram of the timeline panel in the layout page provided in this application embodiment is shown.
[0024] Figure 5 An example diagram of the control panel in the layout page provided in this application embodiment is shown. Figure 6 A block diagram of a vehicle light show control device provided in an embodiment of this application is shown.
[0025] Figure 7 A block diagram of an electronic device provided in an embodiment of this application is shown.
[0026] Icons: 100-Vehicle light show control device; 101-Configuration module; 102-Scheduling module; 103-Playback module; 10-Electronic device; 11-Processor; 12-Memory; 13-Bus. Detailed Implementation
[0027] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.
[0028] The vehicle light show control method provided in this application is applied to an electronic device. The electronic device provides a visual front-end interface, supporting frame-level editing and previewing of the light show, supporting status encoding parsing in multi-bit binary encoding formats, supporting SVG layered rendering, and enabling millisecond-level frame interval control. For example, the electronic device can be a server, processing device, processing platform, or an in-vehicle controller.
[0029] Please refer to Figure 1 , Figure 1 This paper illustrates a flowchart of a vehicle light show control method provided in an embodiment of this application. The vehicle light show control method may include the following steps: S101, in response to the configuration operation, generate the initial frame sequence of the light show and vehicle layout information, wherein the initial frame sequence includes multiple frames of control data arranged in chronological order, and the control data includes the status codes of all vehicles in the light show in the corresponding frames; S102, in response to the frame-level orchestration operation, update the status code of each vehicle in each control data corresponding to the frame-level orchestration operation frame by frame to obtain the target frame sequence; S103 responds to the playback operation, reads the control data of each frame in the target frame sequence according to the set frame interval, and performs SVG layer rendering on each frame control data using vehicle layout information and a pre-built SVG layer set to form a continuous light show frame picture.
[0030] In step S101, the initial frame sequence consists of multiple frames of control data arranged in chronological order. Each frame of control data contains the state code of all vehicles in the light show within that frame. The vehicle layout information represents the spatial positional relationship and attitude of each vehicle in the canvas coordinate system.
[0031] In one possible implementation, the process of generating the initial frame sequence of the light show and vehicle layout information in response to the configuration operation in step S101 may include: S1011, respond to configuration operation, obtain the total number of vehicles, vehicle arrangement mode and total duration of the light show, where the total duration is the user-defined duration or the duration of the target audio associated with the light show; S1012, calculate the total number of frames of the light show based on the total duration and the preset single frame duration, and generate an initial frame sequence with a length equal to the total number of frames; S1013, generate vehicle layout information based on the total number of vehicles and vehicle arrangement pattern.
[0032] In this embodiment, the configuration operation can be the user's operation when creating a light show theme on the front-end interface, including but not limited to selecting the canvas type, setting canvas parameters, and setting the theme duration. The canvas type can include rectangular arrays, inverted V-shaped arrays, V-shaped arrays, circular arrays, etc., corresponding to the vehicle arrangement patterns of the light show, meeting various creative needs from simple light changes to complex performance sequences. The canvas parameters correspond to the total number of vehicles participating in the light show. The theme duration can be a user-defined duration without music, in which case the user-defined duration is used as the total duration of the light show; or it can be an uploaded theme music, which is associated with the light show, and the light show moves according to the music's rhythm, in which case the duration of the theme music is used as the total duration of the light show.
[0033] For example, such as Figure 2 As shown, assuming the user selects the canvas type as circular array on the front-end interface, sets the canvas parameters to 9 vehicles, selects the uploaded theme music, and the theme music duration is 93 seconds, then the front-end obtains the total number of vehicles in the light show as 9, the vehicle arrangement mode as circular array, and the total duration as 93 seconds.
[0034] After obtaining the total number of vehicles, vehicle arrangement pattern, and total duration of the light show, the total number of frames of the light show can be calculated based on the total duration and the preset single frame duration, and an initial frame sequence with a length equal to the total number of frames can be generated. Optionally, the initial frame sequence is denoted as allFrameData, which is an array of length K, where K represents the total number of frames calculated based on the total duration and the preset single frame duration (e.g., 100ms). Each item in the array corresponds to the data of one frame, and the duration of each frame is fixed at 100ms. Each frame data is an object, whose key is the vehicle number and the value is the status code of the vehicle in that frame. In the initial state (i.e., in the initial frame sequence), the status codes of all vehicles are 0, indicating that all controlled components such as lights, doors, and windows are in the off state.
[0035] For example, "allFrameData": [ { "1": 0, "2": 0, "3": 0, "4": 0, ..., "N": 0}, { "1": 0, "2": 0, "3": 0, "4": 0, ..., "N": 0}, / / ... Total K frames ] Where 1 to N represent the vehicle numbers of each vehicle in the light show.
[0036] Finally, vehicle layout information is generated based on the total number of vehicles and their arrangement pattern. This vehicle layout information is denoted as `layoutData`, which is an object where the key is the vehicle number and the values are the static layout parameters for that vehicle. Optionally, each vehicle's static layout parameters include the following fields: (x, y) coordinates, which refer to the coordinates of the vehicle as a whole in the canvas coordinate system (i.e., the SVG coordinate system). These coordinates can be the coordinates of the top-left corner of the vehicle rectangle, where the vehicle rectangle is the smallest bounding rectangle of the vehicle outline. The (lx, ly) coordinates refer to the coordinates of the controlled component (such as a lighting module) in the canvas coordinate system (i.e., the SVG coordinate system). These coordinates can be the coordinates of the top-left corner of the lighting rectangle. The lighting rectangle is the smallest bounding rectangle of the lighting module, used to achieve precise control over the rendering position of the controlled component. The lighting module includes all the vehicle's lights, such as low beam headlights, brake lights, left hazard warning lights, right hazard warning lights, front position lights, rear position lights, front ISD, and rear ISD. That is, the smallest bounding rectangle is generated based on the outline of all the vehicle's lights, and the coordinates of the top-left corner of this smallest bounding rectangle are the coordinates (lx, ly) of the lighting module in the canvas coordinate system. The rotation transformation parameter, denoted as transform, is used to adapt to changes in orientation caused by differences in installation angles on different vehicles.
[0037] For example, "layoutData": { "1": { "x": 100, "y": 50, "lx": 90, "ly": 10, "transform": ""}, "2": { "x": 130, "y": 50, "lx": 120, "ly": 10, "transform": ""}, "3": { "x": 100, "y": 110, "lx": 90, "ly": 70, "transform": ""}, "4": { "x": 130, "y": 110, "lx": 120, "ly": 70, "transform": ""} } Among them, 1 to 4 represent the vehicle numbers of each vehicle in the light show.
[0038] In this way, by generating vehicle layouts, it is ensured that regardless of the vehicle arrangement mode selected by the user, such as rectangular array, inverted V array, V array, or circular array, spatial positioning data that strictly matches it can be output, thereby ensuring that the subsequent SVG layer is accurately rendered in the correct position and orientation.
[0039] Optionally, the process of generating vehicle layout information based on the total number of vehicles and the vehicle arrangement pattern in sub-step S1013 may include: Based on the vehicle arrangement pattern, calculate the coordinates of each vehicle in the preset canvas coordinate system. Based on the coordinates of each vehicle in the canvas coordinate system and the preset offset rules, calculate the coordinates of the controlled components of each vehicle in the canvas coordinate system. Generate rotation transformation parameters based on the vehicle arrangement pattern; The vehicle layout information includes the coordinates of each vehicle in the canvas coordinate system, the coordinates of each vehicle's controlled components in the canvas coordinate system, and rotation transformation parameters.
[0040] In this embodiment, the vehicle arrangement pattern can include a rectangular array layout, an inverted V-shaped array layout, a V-shaped array layout, a circular array layout, etc. The coordinates of the vehicles in the canvas coordinate system can be the coordinates of the upper left corner of the vehicle rectangle. The vehicle rectangle refers to the smallest bounding rectangle of the vehicle. The coordinates of the vehicles in the canvas coordinate system are used to place the vehicles in the canvas coordinate system. Optionally, the canvas coordinate system is defined as follows: the origin is located at the upper left corner of the canvas, the X-axis is positive to the right, and the Y-axis is positive downwards.
[0041] For a rectangular array layout, the vehicles are arranged in a positive direction. First, the number of rows and columns is determined based on the total number of vehicles. Then, the width and height of the array as a whole are calculated based on the given column spacing and row spacing. The horizontal and vertical centering offset of the array in the canvas is then obtained. Finally, the coordinates of the upper left corner of each vehicle rectangle are calculated row by row and column by column.
[0042] Optionally, the overall width and height occupied by the array are:
[0043]
[0044] in, This indicates the width occupied by the entire array. This indicates the total height occupied by the array. Indicates the row number. Indicates the column number. Indicates the given column spacing. Indicates the given line spacing. This represents the width of the vehicle rectangle. This represents the rectangular height of the vehicle.
[0045] Optionally, the sum of the horizontal and vertical center offsets of the array in the canvas is:
[0046]
[0047] in, This indicates the horizontal center offset of the array within the canvas. This indicates the vertical center offset of the array within the canvas. Indicates the width of the canvas. Indicates the height of the canvas.
[0048] Optionally, for the vehicle in row 'row' and column 'col' (indexed as 'index'), the coordinates of the top-left corner of its vehicle rectangle are:
[0049]
[0050] Where (x, y) represents the coordinates of the top-left corner of the vehicle rectangle, and row represents the row number of the vehicle. Indicates the column number of the vehicle. Indicates the given column spacing. This indicates the given line spacing.
[0051] For both V-shaped and inverted V-shaped layouts, vehicles are arranged in a forward orientation, starting from the bottom (V-shaped layout) or top (inverted V-shaped layout) and expanding upwards or downwards row by row. In the V-shaped layout, vehicle numbers decrease from the total number of vehicles to 1. The bottom row (row 1) contains either 1 vehicle (odd, centered) or 2 vehicles (even, symmetrically centered with a 4-pixel interval) depending on the parity of the number. From the second row onwards, the number of vehicles in each row increases by 2 compared to the previous row. The two newly added vehicles are located to the left of the leftmost vehicle in the previous row, offset to the left by one horizontal step. At this point, and to the right of the rightmost vehicle in the previous row, shift one horizontal step to the right. The left and right sides are symmetrical along the vertical center line of the canvas, and the vertical spacing between lines is [missing information]. ,in, and These represent the width and height of the vehicle rectangle, respectively, with 4 indicating 4 pixels.
[0052] The inverted V-shaped layout is a vertical mirror image of the V-shaped layout. Vehicle numbers increase from 1 to the total number of vehicles, expanding downwards from the top (row 1). The rules for adding vehicles in each row, as well as the horizontal and vertical stepping rules, are the same as in the V-shaped layout. Those skilled in the art can calculate the coordinates of each vehicle in the canvas coordinate system using conventional iterative methods based on the above rules and the total number of vehicles.
[0053] For a circular array layout, vehicles are evenly arranged clockwise along the circumference with their front always pointing towards the center of the circle. Using the center point of the canvas as a reference, the polar angle and rotation angle of each vehicle are calculated, and then the coordinates of the upper left corner of the rectangle of each vehicle are calculated using trigonometric functions.
[0054] Optionally, for the vehicle at index i +1, the polar angle and rotation angle are:
[0055]
[0056] in, Indicates the polar angle. `angleStep` represents the rotation angle; `angleStep` is the angle step size, starting from 180° at the bottom and increasing sequentially. In a canvas coordinate system where the Y-axis is positive downwards, vehicles are arranged uniformly in a clockwise direction along the circumference. The polar angle is defined as the angle between the direction vector from the center of the canvas to the geometric center of the vehicle and the positive direction of the X-axis. For example, when i=0, i.e., the vehicle with index 1, the polar angle is... This corresponds to the vehicle directly to the left. The rotation angle is defined as the angle by which the vehicle rectangle rotates around its geometric center. It controls the vehicle's orientation on the canvas. When the rotation angle is 0°, the vehicle rectangle maintains its initial orientation (i.e., the front of the vehicle points towards the negative Y-axis of the canvas, upwards). When the rotation angle is positive, the vehicle rectangle rotates clockwise around its geometric center. For example, for the vehicle directly to the left, initially the front of the vehicle is upwards, and the polar angle is... With a rotation angle of 450°, the vehicle rectangle rotates 450° clockwise around its geometric center, and the front of the vehicle will face right, that is, towards the center of the circle.
[0057] Optionally, the coordinates of the upper left corner of the vehicle rectangle are:
[0058]
[0059] Where (x, y) represents the coordinates of the top-left corner of the vehicle rectangle. and These represent the width and height of the vehicle rectangle, respectively; (centerX, centerY) represents the center point of the canvas, and , , Indicates the width of the canvas. Indicates the height of the canvas; This represents the radius of the circular array.
[0060] Based on this, the coordinates of the controlled components of each vehicle in the canvas coordinate system can be calculated according to the coordinates of each vehicle in the canvas coordinate system and the preset offset rules. The coordinates of the controlled components in the canvas coordinate system are used to place the controlled components in the canvas coordinate system. The coordinates of the controlled components in the canvas coordinate system can be the coordinates of the upper left corner of the light rectangle, where the light rectangle refers to the smallest bounding rectangle of the light module. Optionally, taking the light module as an example, the preset offset rules can include predefined basic size constants, such as the vehicle rectangle width rectW, the vehicle rectangle height rectH, the light width lightW, and the light height lightH, for example, rectW=26, rectH=56, lightW=56, lightH=168.
[0061] In rectangular array layout, V-shaped array layout, and inverted V-shaped array layout, the coordinates of the lighting module are offset based on the coordinates of the upper left corner of the vehicle rectangle to achieve visual centering of the basic lighting layer within the vehicle outline.
[0062] Optionally, the coordinates of the lighting module are:
[0063]
[0064] Where (lx, ly) represents the coordinates of the lighting module, and (x, y) represents the coordinates of the top-left corner of the vehicle rectangle. and These are the width and height of the vehicle rectangle, respectively. and These are the width and height of the lighting module, respectively.
[0065] In the circular array layout, the coordinates of the lighting modules are also calculated based on the coordinates of the upper left corner of the vehicle rectangle, specifically:
[0066]
[0067] It should be noted that the lighting module and the vehicle rectangle use the same rotation transformation parameters to ensure that the lighting module and the vehicle are aligned.
[0068] Next, rotation transformation parameters can be generated based on the vehicle layout pattern. The rotation transformation parameters include at least the rotation angle and the rotation center. These rotation transformation parameters are applied through the transform attribute of the SVG to achieve the simultaneous rotation of the vehicle rectangle and its lighting module.
[0069] In the circular array layout, for the vehicle with index i + 1, the rotation angle is:
[0070] The center of rotation is the vehicle's geometric center coordinates ( , This ensures that the front of the car always points towards the center of the circle.
[0071] In rectangular array layout, inverted V-shaped array layout, and V-shaped array layout, the rotation transformation parameters are empty because the vehicles are kept in the forward orientation.
[0072] It should be noted that since the Y-axis of the canvas coordinate system is positive downwards, if a conventional counter-clockwise angle increment method is used, the vehicles will appear to be arranged clockwise, causing the front of the vehicles to deviate from the center of the circle. Therefore, in this embodiment, the initial polar angle is set to 180° in the circular array layout, and the vehicle's own rotation angle is set to [missing value] in the subsequent rotation transformation parameters. Through the aforementioned angle reference adjustment and rotation transformation compensation, the vehicles can be evenly arranged clockwise along the circumference in the canvas coordinate system, with the front of the vehicle always pointing towards the center of the circle, thus overcoming the orientation deviation problem caused by the difference in coordinate system direction.
[0073] Finally, the vehicle layout information obtained includes the coordinates (x, y) of each vehicle in the canvas coordinate system, the coordinates (lx, ly) of each vehicle's controlled components in the canvas coordinate system, and the rotation transformation parameters.
[0074] In step S102, in response to the user-initiated frame-level orchestration operation, the control data of any frame in the initial frame sequence is modified. Specifically, the status code of each vehicle corresponding to the frame-level orchestration operation is updated frame by frame in the control data, ultimately forming the target frame sequence. Since the frame-level orchestration operation is a single-frame update and can modify the status code of a single vehicle, the user can precisely locate the corresponding moment of any frame on the timeline and independently set the on / off state of controlled components such as lights, doors, windows, or DLP for any vehicle without affecting the data of other frames or other vehicles. In other words, the frame-level orchestration operation includes single-frame orchestration operations; that is, after the user selects a specific frame on the timeline of the orchestration page, that frame can be edited independently.
[0075] For example, through Figure 2 After adding a theme to the front-end interface shown, users can access the arrangement page to arrange the themes. The arrangement page provides an intuitive visual interface that allows users to precisely control the animation effects of lights, windows, and DLP display systems in multiple vehicles. For example... Figure 3As shown, the arrangement page adopts a three-column layout. The left side is a quick animation selection area (animation selection is not involved in this embodiment), the middle is a visual display area of the vehicle array, and the right side is the control panel for lights, doors and windows, and DLP. At the same time, users can precisely set the on or off status of any vehicle's lights, doors and windows, or DLP and other controlled components through the timeline panel in the arrangement page. In addition, the arrangement page also supports real-time preview and frame-level arrangement, and integrates audio synchronization function to ensure that the light show performance and background music are perfectly matched.
[0076] In one possible implementation, the vehicle's status code is a binary code comprising multiple status bits, each corresponding to a controlled component of the vehicle. Optionally, the status code uses 21 valid bits (bits 0 to 20) and is divided into three layers according to function: a basic lighting layer (bits 0 to 7) corresponding to low beam headlights, brake lights, left hazard warning light, right hazard warning light, front position light, rear position light, front ISD, and rear ISD; a door and window layer (bits 8 to 16) corresponding to left front door, right front door, left rear door, right rear door, left front window, right front window, left rear window, right rear window, and the tailgate; and a DLP special effects lighting layer (bits 17 to 20) corresponding to DLP welcome lights 1 to 4. Bits 21 to 23 are reserved in the status code for future expansion.
[0077] At the same time, all status bits in the initial frame sequence are the first value, that is, all status bits are 0 in the initial state, indicating that all controlled components of all vehicles are in a closed or inactive state.
[0078] Based on this, the process in step S102 of responding to the frame-level orchestration operation and updating the state code of each vehicle corresponding to the frame-level orchestration operation in each control data frame by frame to obtain the target frame sequence may include: S1021, in response to the orchestration operation of the current frame, identify each target controlled component of each target vehicle specified to be activated by the orchestration operation; S1022, modify the status bit corresponding to each target controlled component of each target vehicle in the control data of the current frame to the second value, and keep the other status bits unchanged.
[0079] In this embodiment, enter Figure 3 Once the arrangement page shown has started, frame-level arrangement operations can begin. In a practical scenario, firstly, as... Figure 4As shown, the timeline panel includes a timeline, lighting track, door and window track, and DLP track. Users select a specific time point on the timeline. It should be noted that the timeline adopts a frame timeline design, with each frame corresponding to 100ms. For example, time 00:00:09 corresponds to the 90th frame (90 frames × 100ms / frame = 9 seconds). When the user selects the 90th frame, the electronic device obtains the control data corresponding to the 90th frame, namely allFrameData
[90] , which includes the status codes of all vehicles in the 90th frame.
[0080] Next, the user in Figure 3 In the visualization area of the arrangement page shown, select vehicle number 4. At this time, locate allFrameData
[90] [4]. This value represents the current status code of vehicle number 4 in frame 90, stored as a decimal integer. This decimal number is converted to binary to form a 21-bit binary code. Figure 5 As shown, when the user operates the control panel and turns on the low beam headlights (bit 1) and brake lights (bit 2), the corresponding binary bits are set to 1. According to the binary encoding rules described above, the low beam headlights correspond to bit 1 (the least significant bit), and the brake lights correspond to bit 2. Therefore, the binary encoding becomes 0b000000000000000000011 (decimal 3).
[0081] In other words, firstly, in response to the orchestration operation of the previous frame, the system identifies each target controlled component of each target vehicle specified by the orchestration operation. For example, when the user selects vehicle number 4 in frame 90 and operates the low beam headlights and brake lights on the right control panel, the system identifies the target vehicle as number 4 and the target controlled components as the low beam headlights and brake lights. Then, the system modifies the status bit corresponding to each target controlled component of each target vehicle in the control data of the current frame to the second value, while keeping the other status bits unchanged from the first value. For example, if the low beam headlight corresponds to bit 0 and the brake light corresponds to bit 1, then the control data is modified from 0b000000000000000000000 to 0b00000000000000000011 (decimal 3).
[0082] In existing technologies, traditional object representation requires 21 Boolean attributes (approximately 200-300 bytes), while the binary encoding provided in this embodiment can store all states for a single vehicle in a single frame using only 4 bytes, saving more than 80% of memory. At the same time, the changed bits can be quickly calculated through XOR operations, and the rendering layer only needs to update the changed lighting effects or door and window states, avoiding a full refresh and ensuring a high frame rate.
[0083] Meanwhile, the binary encoding provided in this embodiment can be used to perform state superposition, checking, and clearing through single-instruction bit operations. For example, turn on the low beam headlights and open the left front door: state |= (1<<0) | (1<<8), check if the hazard warning lights are on: if (state&(1<<2 | 1<<3)), turn off all DLP effects: state&= ~(0x1F<<16).
[0084] Furthermore, bits 21 to 23 are reserved in the binary encoding provided in this embodiment. New light types (such as DLP Welcome 5, Welcome 6, Welcome 7, etc.) can be defined directly on the reserved bits without affecting the parsing of existing data. At the same time, the expansion within each layer is also independent. For example, if the DLP special effects light layer is expanded from 4 bits to 7 bits, it will not affect the logic of the door and window layer or the basic light layer.
[0085] In another possible implementation, the process of updating the status code of each vehicle corresponding to the frame-level orchestration operation in each control data frame by frame in response to the frame-level orchestration operation to obtain the target frame sequence may further include: S1023, in the arrangement interface, based on the control data of the current frame, vehicle layout information and pre-built SVG layer set, SVG layer rendering is performed to generate a preview screen of the current frame.
[0086] In this embodiment, for the current frame, after updating the control data through sub-steps S1021~S1022, the SVG layered rendering can also be performed on the SVG layered rendering based on the control data of the current frame, vehicle layout information and pre-built SVG layer set in the arranging interface, thereby generating a preview screen of the current frame, which is convenient for users to view the arranging effect.
[0087] Among them, the control data of the current frame refers to the control data of the frame that the user has just completed the arrangement of, for example, allFrameData
[90] [4]=0b00000000000000000011 (decimal is 3). The vehicle layout information is pre-generated according to the vehicle layout pattern selected by the user (such as circle, rectangle, V-shaped array, etc.), which includes the coordinates of each vehicle in the canvas coordinate system, the coordinates of the controlled parts in the canvas coordinate system, and the rotation transformation parameters. The SVG layer set refers to the static graphic resources that are ready in the initialization stage, which includes at least one first SVG layer and multiple second SVG layers. Among them, the first SVG layer can be a base layer, which includes static backgrounds such as vehicle outlines and wheels. It has no corresponding state bit in the state coding and needs to be displayed at all times. In addition to the base layer, the first SVG layer can also be a reserved layer, corresponding to bits 21~23 reserved in the state coding, which is used for reserved expansion and is not rendered in the SVG layered rendering. Each second SVG layer corresponds to a type of controlled component (such as basic lighting layer, door and window layer, DLP special effects lighting layer, etc.).
[0088] Based on this, in the orchestration interface, according to the status codes of each vehicle in the control data of the current frame, and combined with the spatial positioning relationship defined by the vehicle layout information, the corresponding SVG layers in the SVG layer set are controlled for visibility and overlaid with coordinates. Finally, a visual preview screen that is completely consistent with the user's current orchestration result is synthesized and displayed in real time in the middle area of the orchestration page. It should be noted that the process of generating the preview screen of the current frame through SVG layer rendering is similar to the process of performing SVG layer rendering on each frame of control data described in step S103 below, as detailed below.
[0089] In step S103, in response to the playback operation initiated by the user, the control data of each frame in the target frame sequence is read sequentially according to the preset frame interval (e.g., 100ms), and the vehicle layout information generated in step S101 and the pre-built SVG layer set are used to perform SVG layer rendering on each frame of control data, and finally synthesize a continuous light show frame image.
[0090] As previously described, an SVG layer set is a pre-built set of graphic resources, including at least one first SVG layer and multiple second SVG layers, each second SVG layer corresponding to a type of controlled component. Vehicle layout information is used to provide the coordinates and transformation parameters of each vehicle in the canvas coordinate system; the control data for each frame determines which layers, in which positions, and in what way participate in the rendering of the light show frame in the current frame. Therefore, by utilizing vehicle layout information and the SVG layer set to perform layered SVG rendering of the control data for each frame, the playback process of the light show no longer relies on pre-recorded video files or dedicated hardware controllers, thus enabling the creation of editable and scalable light show effects for different vehicle models and scenes without changing the hardware.
[0091] In one possible implementation, the vehicle's state encoding includes state bits of multiple controlled component groups of the vehicle, and the SVG layer set includes at least one first SVG layer and multiple second SVG layers corresponding one-to-one with the multiple controlled component groups. Each controlled component group corresponds to a type of independently controllable controlled component of the vehicle, and each controlled component group has an independent second SVG layer for characterizing the visual state of each controlled component within the controlled component group.
[0092] Based on this, step S103, which involves performing SVG layered rendering of each frame of control data using vehicle layout information and a pre-built SVG layer set, may include: S1031, for each vehicle's status code in the control data of the current frame, determine the display state of each second SVG layer based on the status bits of each controlled component group in the status code, and generate the target layer corresponding to each second SVG layer; S1032, based on the vehicle layout information and the preset hierarchical order, at least one first SVG layer and all target layers are overlaid to obtain the light show frame image corresponding to the current frame.
[0093] In this embodiment, a one-to-one correspondence is established between multiple controlled component groups of the vehicle and multiple second SVG layers in the SVG layer set, and the display state of each corresponding second SVG layer is determined according to the value of each state bit in the control data of each frame during the rendering process.
[0094] In this embodiment, when performing SVG layered rendering on the control data of the current frame using vehicle layout information and SVG layer set, taking any state code of any vehicle in the control data of the current frame as an example, firstly, the display state of each second SVG layer is determined based on the state bits of each controlled component group in the state code, and the target layer corresponding to each second SVG layer is generated.
[0095] Optionally, the status code includes 21 valid bits, functionally divided into a basic lighting layer (bits 0-7), a door / window layer (bits 8-16), and a DLP effects lighting layer (bits 17-20), and also includes 3 reserved bits (bits 21-23), corresponding to the reserved layers. The SVG layer group includes a basic layer, a basic lighting layer, a door / window layer, a DLP effects lighting layer, and a reserved layer. Table 1 below shows the correspondence between SVG layers, controlled component groups, and status bits in the status code, as well as the rendering instructions for each SVG layer.
[0096] Table 1
[0097] As shown in Table 1, the base layer does not correspond to any status bits and is used to always display static background elements such as vehicle outlines and wheels. The base lighting layer corresponds to the base lighting layer (bits 0-7). When a status bit is the first value (e.g., 0), the corresponding light element in the base lighting layer is hidden; when a status bit is the second value (e.g., 1), the corresponding light element in the base lighting layer is displayed. The door / window layer corresponds to the door / window layer (bits 8-16). When a status bit is the first value (e.g., 0), the elements representing the closed doors / windows in the corresponding door / window layer are displayed; when a status bit is the second value (e.g., 1), the elements representing the open doors / windows in the corresponding door / window layer are displayed. The DLP effects lighting layer corresponds to the DLP effects lighting layer (bits 17-20). DLP is not displayed in the cloud; only the data is retained, and it is not rendered. The reserved layer corresponds to the reserved layer (bits 21-23), which is reserved for future expansion and is not rendered for now.
[0098] Then, based on the vehicle layout information and the preset layer order, at least one SVG layer and all target layers are overlaid. That is, the base layer, base lighting layer, door and window layer, DLP effect lighting layer, and reserved layer are drawn sequentially in the same canvas coordinate system according to the preset layer order. The position, size, and rotation of each SVG layer are determined by the coordinates and rotation transformation parameters recorded in the vehicle layout information. Finally, the light show frame corresponding to the current frame is synthesized. Optionally, the preset layer order can be from top to bottom: DLP effect lighting layer, door and window layer, base lighting layer, base layer, and reserved layer, or other layer orders are not limited here.
[0099] In this way, by rendering each SVG layer independently, it is ensured that different types of lights, door and window opening and closing and DLP animations do not interfere with each other, and can all be enabled or disabled independently, such as turning on only the lights and not opening the doors and windows.
[0100] In existing technologies, vehicle light shows mostly use whole-frame image replacement to present the effect. All changes in the state of controlled components such as lights, doors, and windows depend on switching between whole-frame images. If there are 21 controlled components, then 2... 21 A single image would require a significant amount of storage space. However, in this embodiment, layered SVG rendering is employed. The SVG layer set includes at least one first SVG layer and multiple second SVG layers. Each second SVG layer corresponds to a type of controlled component. Rendering can be completed simply by controlling the display state of the second SVG layers for each type of controlled component and overlaying them with at least one first SVG layer. This requires storing only a few SVG layers, resulting in a smaller storage space.
[0101] Optionally, the second SVG layer includes SVG primitives representing the visual state of each controlled component in the corresponding controlled component group. SVG primitives are graphic elements defined in vector format used to visually represent the on or off state of the corresponding controlled component. For example, for the basic lighting layer, it includes SVG primitives representing the on / off state of each light. Taking any light as an example, if the light is on, the SVG primitive is displayed; if the light is off, the SVG primitive is hidden and does not participate in the final image composition. Similarly, for the door and window layer, it includes SVG primitives representing the on and off states of each door and window. Taking any door or window as an example, if the door or window is open, the SVG primitive for the open state is displayed; if the door or window is closed, the SVG primitive for the closed state is displayed. These SVG primitives are hidden by default when not invoked and only participate in the image composition when the corresponding state bit indicates that it is on.
[0102] Based on this, the process in sub-step S1031, which involves determining the display state of each second SVG layer based on the state bits of each controlled component group in the control data of the current frame for each vehicle's state code, and generating the target layer corresponding to each second SVG image, may include: S10311, Check the status bit of each controlled component group in the status code, and generate control information for controlling the display status of each SVG element in the corresponding SVG layer; S10312, for each second SVG layer, control the display state of each SVG element in the second SVG layer according to the control information corresponding to the second SVG layer, and obtain the target layer.
[0103] In this embodiment, firstly, the status bits of each controlled component group (such as the basic lighting group and the door / window group) in the status code are checked to generate control information. The control information includes control signals for the display status of each SVG element. For the basic lighting layer, if the status bit is 1, a control signal is generated to control the display of the SVG element corresponding to that status bit; if the status bit is 0, a control signal is generated to control the hiding of the SVG element corresponding to that status bit. For the door / window layer, if the status bit is 1, a control signal is generated to control the display of the SVG element in the open state corresponding to that status bit; if the status bit is 0, a control signal is generated to control the hiding of the SVG element in the closed state corresponding to that status bit.
[0104] Then, for each second SVG layer, the display attributes of each SVG element are set one by one according to the control information corresponding to the second SVG layer, so that the SVG elements that should be displayed are in a visible state and the SVG elements that should be hidden are in an invisible state, thereby obtaining each target layer.
[0105] Optionally, adopt <foreignobject>Container nested SVG <use>SVG primitives are reused using elements, and the display state of each SVG primitive is controlled in real time using the bit checking function `checkBit()`. Specifically, after obtaining the control data for the current frame, for each vehicle's state code, the bit checking function checks the value of each state bit in the state code, following the order of basic lighting layer, door and window layer, and DLP special effects lighting layer. If the value is 0, it indicates that the corresponding controlled component is in a closed state; if it is 1, it indicates that the corresponding controlled component is in a closed state. Control information is then generated. Based on this control information, CSS visibility / visibility class names (such as `.hidden` / `.visible`, indicating invisible / visible) are added or removed from the corresponding SVG primitives. Finally, the SVG rendering engine only draws SVG primitives with the CSS visibility / visibility class name `.visible` (visible), generating the corresponding target layer.
[0106] In one possible implementation, the controlled component group includes a base light group, and multiple second SVG layers include a base light layer corresponding to the base light group. The base light layer includes SVG primitives used to characterize the on / off state of each light in the base light group. That is, the base light layer is composed of multiple SVG primitives, each SVG primitive corresponding to one light in the base light group, used to characterize the light effect outline or emission pattern of that light when it is on.
[0107] Based on this, the process of checking the status bits of each controlled component group in the status code and generating control information for controlling the display status of each SVG element in the corresponding second SVG layer in sub-step S10311 may include: Check the status bits of each light in the status code in turn; If the status bit is the first value, then generate the control signal for hiding the SVG primitive corresponding to the status bit; If the status bit is the second value, then a control signal is generated to control the display of the SVG primitive corresponding to the status bit; Traverse the status bits of each light in the status code to obtain the control information used to control the visibility of each SVG primitive in the basic light layer. The control information includes the control signal corresponding to the status bit of each light in the status code.
[0108] In this embodiment, the status bits of each light in the status code are checked sequentially. Each status bit is a single bit in a 21-bit binary code assigned to a specific light in a predetermined order. If the status bit is a first value, such as 0, it indicates that the light should currently be off. A control signal is generated to hide the SVG element corresponding to the status bit, preventing it from participating in the rendering of the current frame. If the status bit is a second value, such as 1, it indicates that the light should currently be on. A control signal is generated to display the SVG element corresponding to the status bit, causing it to be displayed at a specified position. Following this process, after traversing the status bits of each light in the status code, control information is obtained, including a set of control signals. Each control signal controls the display or hiding state of an SVG element. This control information is used to subsequently render the base light layer and generate the corresponding target layer.
[0109] In another possible implementation, the controlled component group includes a door and window group, and multiple second SVG layers include door and window layers corresponding to the door and window group. The door and window layers include SVG primitives for representing the open state and closed state of each door and window in the door and window group. That is, the door and window layers pre-set two independent SVG primitives for the open state and closed state of each door and window in the door and window group.
[0110] The process of checking the status bits of each controlled component group in the status code and generating control information for controlling the display status of each SVG element in the corresponding second SVG layer in sub-step S10311 may include: Check the status bits of each door and window in the status code in turn; If the status bit is the first value, then a control signal is generated to control the display of the SVG primitive in the off state corresponding to the status bit; If the status bit is the second value, then a control signal is generated to control the on state of the SVG element display corresponding to the status bit. Traverse the status bits of each door and window in the status code to obtain the control information used to control the display status of each SVG element in the door and window layer. The control information includes the control signal corresponding to the status bit of each door and window in the status code.
[0111] In this embodiment, the status bits of each door / window in the status code are checked sequentially. Each status bit is a single bit in a 21-bit binary code assigned to a specific door / window in a predetermined order. If the status bit is the first value, such as 0, it indicates that the door / window should be closed. A control signal is generated to display the closed SVG element corresponding to the status bit, causing it to appear at the specified position. If the status bit is the second value, such as 1, it indicates that the door / window should be open. A control signal is generated to display the open SVG element corresponding to the status bit, causing it to appear at the specified position. Following this process, after traversing the status bits of each door / window in the status code, control information is obtained, including a set of control signals. Each control signal controls the display of an open or closed SVG element for a door / window. This control information is used for subsequent rendering of the door / window layer to generate the corresponding target layer.
[0112] In one possible application scenario, there may be a situation where control data is missing in the target frame sequence. If control data is missing in a certain frame, a pre-built empty frame template is automatically obtained as a substitute input, thereby ensuring that the SVG layered rendering is not interrupted due to data abnormalities.
[0113] Therefore, after reading the control data of each frame in the target frame sequence sequentially according to the set frame interval in step S103, the vehicle light show control method provided in this application embodiment further includes: When the control data of the current frame is empty, a pre-built empty frame template is obtained as the control data of the current frame for SVG layered rendering.
[0114] In this embodiment, the empty frame template refers to a predefined standard frame object, denoted as emptyFrame. All vehicles in this object have a status code of 0, indicating that all controlled components of all vehicles in the light show are in an off state within this frame. For example, "emptyFrame": { "1": 0, "2": 0, "3": 0, "4": 0}, where keys 1-4 are vehicle numbers. The empty frame template is generated in response to user configuration operations. During the light show playback, if control data for a frame is missing due to incomplete editing, abnormal data transmission, or user-initiated clearing, or if it is necessary to forcibly reset all vehicle lights, doors, windows, and other controlled components to an off state, the empty frame template can be directly called as the control data for the current frame to continue subsequent SVG layered rendering steps, ensuring continuous image composition.
[0115] To better understand this solution, the process involved in steps S101 to S103 above will be introduced below using the arrangement of a 3-second light show as an example.
[0116] First, respond to user inquiries Figure 2 The configuration operations of the front-end node shown generate the initial frame sequence allFrameData. allFrameData is an array of length K, where the array index represents the frame index (e.g., frame 0, frame 1, ..., frame K). The value of each frame is an array of length M (i.e., control data), where M is the total number of vehicles (e.g., M=3). Each element in this array is a 21-bit binary number (i.e., a status code, expandable), representing all the light / door / window / effect states of the vehicle in the corresponding frame. Furthermore, the actual time of each frame is determined by the frame index multiplied by the set frame interval. For example, if the frame interval = 100ms, then frame 5 corresponds to 500ms. It should be noted that the back-end and front-end need to agree on a unified frame rate (e.g., 10fps, i.e., 100ms / frame) to ensure a one-to-one correspondence between the timeline scale and the actual time.
[0117] Then, through Figure 2 After adding a theme to the front-end interface shown, you can enter the arrangement page to arrange the theme, such as... Figure 4 As shown, the timeline panel on the editing page provides a three-track interface similar to video editing software. The tracks display frame scales (one scale point per frame), allowing users to click on any frame for editing. Specifically, the lighting track allows editing of low beam headlights, brake lights, hazard warning lights - left, hazard warning lights - right, position lights - front, position lights - rear, ISD - front, and ISD - rear, corresponding to bits 0-7 in the status code; the door and window track allows editing of front door - left, front door - right, rear door - left, rear door - right, front window - left, front window - right, rear window - left, rear window - right, and the trunk lid, corresponding to bits 8-16 in the status code; and the DLP effects track allows editing of DLP welcome lights 1-4, corresponding to bits 17-20 in the status code. For example, if the user selects low beam headlights, brake lights, and hazard warning lights - left for vehicles 9, 10, and 11, the lighting track will be displayed in gray for the corresponding frame, indicating that lights are on in that frame.
[0118] Taking user modifications to the light track as an example, suppose the user wants to turn on the low beam headlights of vehicle 0 at frame 90 (corresponding to time 9s position) (bit0=1), then the user first... Figure 4 Click on the light track area of frame 90 on the timeline shown, then... Figure 5 In the control panel shown, click the "Low Beam Headlights" button and the "Brake Lights" button (shown as on in the image). Figure 4 The light track icon in frame 90 of the three-track editing interface shown will be updated to gray.
[0119] After the user completes the arrangement operation of frame 90, the front-end data processing flow includes: First, obtaining the index of the currently edited vehicle (e.g., carIndex = 0), obtaining the index of the currently edited frame (e.g., frameIndex = 90), and obtaining the original state of the vehicle in the current frame, for example, let oldState = frames[frameIndex][carIndex], assuming the original state is 0b000... (all 0s); Then, according to the user's operation, modify the corresponding bits (low beam headlights = bit0, brake lights = bit1), for example, let newState = oldState | (1<<0) | (1<<1), setting bit0 and bit1 to 1; and writing back to the array, for example, frames[frameIndex][carIndex] = newState, and then triggering the timeline redraw to update the display of the light track in frame 90.
[0120] It should be noted that if a real-time preview is currently in progress, the SVG rendering engine is simultaneously notified to immediately refresh the vehicle schematic. For closing operations (e.g., closing the front left door, corresponding to bit 8 = 0), bit clearing is used, such as `newState = oldState&~(1<<8)`. For batch operations (e.g., opening all doors and windows in frame 90), the front end will iterate through bits 8 to 16 and set them to 1 sequentially, or directly calculate the mask and perform a bitwise OR operation. Additionally, if a new light type (e.g., DLP Welcome 5) needs to be added, it only needs to be defined in bit 21 and... Figure 5 The control panel shown has been updated with a corresponding button. When modifying the status, you can use (1<<21) without changing the original frame data structure or rendering logic.
[0121] Next, after the user passes through Figure 3 After the arrangement page shown is completed, the user clicks the "Play" button (example image not provided). The front end calculates the actual time each frame should appear based on the frame interval and the current frame index, and renders them in chronological order. Optionally, the actual time is calculated according to the following formula: Actual time (ms) = Frame index × Frame interval (ms). For example, if the frame interval = 100ms, then frame 0 is 0ms, frame 1 is 100ms, frame 2 is 200ms, and so on.
[0122] Optionally, in the front-end implementation, a timer is driven by setInterval or requestAnimationFrame to switch to the next frame every 100ms, and the status diagram of all vehicles in the current frame is drawn according to the process in step S103.
[0123] As mentioned above, when users create a new theme on the front-end interface, they can choose to associate it with an already uploaded theme music. The theme music is then linked to the light show, and the light show moves in sync with the music. In this scenario, while outputting continuous light show frames, the target audio associated with the light show is played synchronously.
[0124] Optionally, the process of synchronously playing the target audio associated with the light show may include: calculating the theoretical audio playback time corresponding to each light show frame according to a set frame interval; at the start of playback, adjusting the playback time of the target audio to the corresponding theoretical audio playback time based on the total duration of the target audio and the frame index of the current frame, so as to synchronize the audio and video at the beginning; during playback, adjusting the frame index of the current frame based on the real-time audio playback time of the target audio and the corresponding theoretical audio playback time, and obtaining the control data corresponding to the adjusted frame index for SVG layered rendering, so as to keep the output light show frame synchronized with the target audio.
[0125] In this embodiment, after the user clicks the "Play" button, the frame index corresponding to the light show frame to be played is first obtained. For example, starting from frame 0, the theoretical audio playback time corresponding to the frame is calculated according to the set frame interval (e.g., 100ms). The theoretical audio playback time is equal to the current frame index multiplied by the frame interval. Then, the appropriate audio player is selected according to the browser's support for high-precision audio timing control. The frame audio player (e.g., FrameAudioPlayer) is used first. This player is an audio playback component designed for frame-level time synchronization. When the frame audio player is unavailable, the native audio object (e.g., Audio) can be used as a fallback, and the current playback time of the selected audio player is forced to jump to the theoretical audio playback time calculated above. Finally, the frame timer used to drive the light show frame rotation is started synchronously, and the playback of the target audio is resumed, so that the first frame of the light show is precisely aligned with the start time of the target audio.
[0126] Because frame timers have inherent timing errors and the target audio may also experience time fluctuations during decoding and buffering, there may be a time offset between the light show frames and the target audio after long-term continuous playback. To address this, a real-time synchronization strategy with frame-by-frame correction can be adopted.
[0127] Specifically, first, it determines whether the frame audio player has been initialized, whether the total duration of the target audio is known, and whether the total number of frames of the light show is greater than zero. If any of the above conditions are not met, the synchronization logic of the native audio object is called for degradation processing. If all the above conditions are met, the frame progress ratio is calculated based on the ratio of the current frame index to the total number of frames, and then the ratio is multiplied by the total duration of the target audio to obtain the theoretical audio playback time corresponding to the current frame.
[0128] Then, the actual audio playback time of the frame audio player is read, and the absolute deviation between it and the theoretical audio playback time is calculated. When the deviation exceeds 0.1 seconds, the current playback time of the frame audio player is immediately adjusted to the theoretical audio playback time, and the theoretical audio playback time is synchronously updated to the current time field displayed on the interface. At the same time, based on the comparison between the real-time audio playback time of the target audio and the theoretical audio playback time, the frame index of the current frame is adjusted in reverse, and then the control data corresponding to the adjusted frame index is obtained. Based on the control data, SVG layered rendering is performed to output a light show frame image that strictly matches the target audio.
[0129] This audio-driven synchronization method, through the high-precision time control provided by the frame audio player and combined with a real-time correction mechanism, ensures that the picture always accurately follows the audio timeline during long-term playback. It is particularly suitable for light show arrangement with music beats, achieving millisecond-level synchronization accuracy.
[0130] In addition to the two scenarios mentioned above, audio and video synchronization checks can also be performed every time a frame changes (e.g., when a user manually jumps to a specified frame, or when the frame index changes due to interactive logic). First, the current frame index is updated to a specified value (i.e., the frame index after the change), and the light show frame corresponding to that frame index is loaded. Then, the theoretical audio playback time is recalculated based on the updated frame index, and the current playback time of the frame audio player is calibrated. In this way, whenever any frame change operation occurs, it can be ensured that the light show frame and the target audio are instantaneously aligned in the time dimension.
[0131] In addition, in practical applications, a recursive timer can be used to drive frame switching to achieve video-level playback effects. Specifically, the front end maintains the following key variables: currentFrameNum, which represents the frame index corresponding to the currently playing light show frame, with a value range of 0 to N-1, where N is the total number of frames; FRAME_TIME, which represents the set frame interval, i.e., the time interval between two adjacent frames, such as 100ms; playTimer, which represents the unique identifier of the recursive timer; and isPlay, which represents the playback status flag, used to record whether the current playback is continuous.
[0132] After playback starts, a recursive timer can be started. This timer executes every FRAME_TIME (e.g., 100ms). Each time it is triggered, it first checks if the current frame index is the last frame. If it is not the last frame, the frame index is incremented to the next frame. Every 5 frames, it checks if the frame needs to be adjusted according to the audio, and then starts the next round of the timer. If it is the last frame, it checks if the user has enabled loop playback. If loop playback is enabled, the frame index is reset to 0 and playback continues; if loop playback is not enabled, playback stops. When incrementing the frame index to the next frame, the control data corresponding to the current frame index is read from the pre-stored target frame sequence, and the SVG layered rendering engine is called to render the light show frame corresponding to the current frame.
[0133] When the user clicks the "Pause" button (example image not provided), the running recursive timer is cleared, the automatic frame switching stops, and the light show frame will remain at the frame corresponding to the pause time. Audio playback also pauses. When playback resumes later, it can continue from that frame index. The frame index is updated and SVG layered rendering is performed in accordance with the current playback time of the audio player, ensuring seamless audio-visual transition before and after the interruption.
[0134] When the light show frame is played to the last frame, i.e. the current frame index is N-1, it first checks whether the user has enabled the loop playback function. If not, it stops the timer that drives the frame switching, pauses the playback of the target audio, and keeps the light show frame stable at the last frame. If enabled, it resets the current frame index to 0, and then starts a new round of frame switching process, continuing to play the light show frame from frame 0.
[0135] Compared with the prior art, the vehicle light show control method provided in this embodiment has the following beneficial effects: First, existing solutions mostly use fixed light sequences, which cannot be flexibly adjusted according to specific vehicle models and user needs, making it difficult to achieve complex combinations of light effects. In this embodiment, users can perform custom operations through the front-end interface, which can realize various light shows that meet user needs and have different effects.
[0136] Second, existing solutions typically use second-level frame rate control, resulting in stiff animation effects and a lack of smooth transitions. This embodiment uses millisecond-level frame interval control, which improves accuracy by N / 10 times compared to the traditional second-level control.
[0137] Third, existing solutions struggle to achieve precise synchronization of light shows across multiple vehicles, lacking unified choreography and control, thus failing to create a coordinated overall effect. This embodiment employs 21-bit binary encoding to precisely define the state of each vehicle, avoiding the ambiguity of JSON-formatted state descriptions, and ensuring that the light show actions of multiple vehicles are strictly aligned with millisecond-level precision, resulting in a coordinated and unified overall visual effect.
[0138] Fourth, existing light show development requires professional programming knowledge and lacks a visual choreography interface, which increases the technical threshold and development cost. This embodiment provides a visual choreography interface that supports video editing level operations such as box selection, Ctrl multi-selection, frame copy, paste and delete, and has a built-in real-time rendering feedback mechanism. Complex light choreography can be completed without writing code, improving choreography efficiency by 200%.
[0139] Fifth, the existing architecture is rigid and difficult to adapt to the addition of new lighting components and effects, lacking a modular design concept. In the binary encoding provided in this embodiment, bits 21 to 23 are reserved as reserved bits. In the future, new lighting types (such as DLP Welcome 5) can be directly defined on the reserved bits without affecting the parsing of existing data. At the same time, the expansion within each layer is also independent. For example, if the DLP special effects lighting layer is expanded from 4 bits to 7 bits, it will not affect the logic of the door and window layer or the basic lighting layer.
[0140] In order to perform the corresponding steps in the above method embodiments and various possible implementations, an implementation method of a vehicle light show control device is given below.
[0141] Please refer to Figure 6 , Figure 6 A block diagram of a vehicle light show control device 100 provided in an embodiment of this application is shown. The vehicle light show control device 100 is applied to an electronic device and includes: a configuration module 101, a programming module 102, and a playback module 103.
[0142] The configuration module 101 is used to respond to configuration operations and generate an initial frame sequence and vehicle layout information for the light show. The initial frame sequence includes multiple frames of control data arranged in chronological order, and the control data includes the status codes of all vehicles in the light show in the corresponding frames.
[0143] The orchestration module 102 is used to respond to frame-level orchestration operations, update the status code of each vehicle corresponding to the frame-level orchestration operation in each control data frame by frame, and obtain the target frame sequence.
[0144] The playback module 103 is used to respond to playback operations, read each frame of control data in the target frame sequence sequentially according to the set frame interval, and perform SVG layer rendering on each frame of control data using vehicle layout information and a pre-built SVG layer set to form a continuous light show frame image.
[0145] Optionally, the configuration module 101 is specifically used to: respond to configuration operations, obtain the total number of vehicles, vehicle arrangement mode, and total duration of the light show, wherein the total duration is a user-defined duration or the duration of the target audio associated with the light show; calculate the total number of frames of the light show based on the total duration and the preset single frame duration, and generate an initial frame sequence with a length equal to the total number of frames; and generate vehicle layout information based on the total number of vehicles and the vehicle arrangement mode.
[0146] Optionally, the configuration module 101 may generate vehicle layout information based on the total number of vehicles and the vehicle arrangement pattern by: calculating the coordinates of each vehicle in a preset canvas coordinate system according to the vehicle arrangement pattern; calculating the coordinates of the controlled components of each vehicle in the canvas coordinate system according to the coordinates of each vehicle in the canvas coordinate system and a preset offset rule; and generating rotation transformation parameters according to the vehicle arrangement pattern. The vehicle layout information includes the coordinates of each vehicle in the canvas coordinate system, the coordinates of the controlled components of each vehicle in the canvas coordinate system, and the rotation transformation parameters.
[0147] Optionally, the vehicle's status code includes multiple status bits, with each status bit corresponding to a controlled component of the vehicle, and all status bits in the initial frame sequence are of the first value; the frame-level orchestration operation includes single-frame orchestration operation; the orchestration module 102 is specifically used to: respond to the orchestration operation of the current frame, identify each target controlled component of each target vehicle specified to be activated by the orchestration operation; modify the status bits corresponding to each target controlled component of each target vehicle in the control data of the current frame to the second value, while keeping the other status bits unchanged from the first value.
[0148] Optionally, the orchestration module 102 is further used to: perform SVG layered rendering based on the control data of the current frame, vehicle layout information and pre-built SVG layer set in the orchestration interface, and generate a preview screen of the current frame.
[0149] Optionally, the vehicle's status code includes status bits of multiple controlled component groups of the vehicle, and the SVG layer set includes at least one first SVG layer and multiple second SVG layers corresponding one-to-one with the multiple controlled component groups; the playback module 103 executes a method of performing SVG layered rendering of each frame of control data using vehicle layout information and a pre-built SVG layer set, which may include: for each vehicle's status code in the control data of the current frame, determining the display state of each second SVG layer based on the status bits of each controlled component group in the status code, and generating a target layer corresponding to each second SVG layer; according to the vehicle layout information and a preset hierarchical order, overlaying at least one first SVG layer and all target layers to obtain the light show frame image corresponding to the current frame.
[0150] Optionally, the second SVG layer includes SVG primitives used to characterize the visualization state of each controlled component in the corresponding controlled component group; the playback module 103 executes a method to determine the display state of each second SVG layer based on the state bits of each controlled component group in the state code, and to generate a target layer corresponding to each second SVG layer, including: checking the state bits of each controlled component group in the state code, generating control information for controlling the display state of each SVG primitive in the corresponding second SVG layer; for each SVG layer, controlling the display state of each SVG primitive in the second SVG layer according to the control information corresponding to the second SVG layer, to obtain the target layer.
[0151] Optionally, the controlled component group includes a basic lighting group, and multiple second SVG layers include a basic lighting layer corresponding to the basic lighting group. The basic lighting layer includes SVG primitives used to characterize the on / off state of each light in the basic lighting group. The playback module 103 performs a method of checking the status bits of each controlled component group in the status code and generating control information for controlling the display state of each SVG primitive in the corresponding second SVG layer, including: sequentially checking the status bits of each light in the status code; if the status bit is a first value, generating a control signal to control the hiding of the SVG primitive corresponding to the status bit; if the status bit is a second value, generating a control signal to control the display of the SVG primitive corresponding to the status bit; traversing the status bits of each light in the status code to obtain control information for controlling the display state of each SVG primitive in the basic lighting layer, the control information including the control signal corresponding to the status bit of each light in the status code.
[0152] Optionally, the controlled component group includes a door and window group, and multiple second SVG layers include door and window layers corresponding to the door and window groups. The door and window layers include SVG elements representing the open state and closed state of each door and window in the door and window group. The playback module 103 performs a method of checking the state bits of each controlled component group in the state code and generating control information for controlling the display state of each SVG element in the corresponding second SVG layer, including: sequentially checking the state bits of each door and window in the state code; if the state bit is a first value, generating a control signal for controlling the display of the SVG element in the closed state corresponding to the state bit; if the state bit is a second value, generating a control signal for controlling the display of the SVG element in the open state corresponding to the state bit; traversing the state bits of each door and window in the state code to obtain control information for controlling the display state of each SVG element in the door and window layer, the control information including the control signal corresponding to the state bit of each door and window in the state code.
[0153] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the vehicle light show control device 100 described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0154] Please refer to Figure 7 , Figure 7 A block diagram of an electronic device 10 provided in an embodiment of this application is shown. The electronic device 10 includes a processor 11, a memory 12, and a bus 13. The processor 11 is connected to the memory 12 via the bus 13.
[0155] The memory 12 is used to store programs. After receiving an execution instruction, the processor 11 executes the programs to implement the vehicle light show control method disclosed in the above embodiments.
[0156] The memory 12 may be, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.
[0157] Processor 11 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed through integrated logic circuits in the hardware of processor 11 or through software instructions. Processor 11 can be a general-purpose processor, including a Central Processing Unit (CPU), a Microcontroller Unit (MCU), a Complex Programmable Logic Device (CPLD), a Field Programmable Gate Array (FPGA), an embedded ARM chip, etc.
[0158] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by the processor 11, implements the vehicle light show control method disclosed in the above embodiments.
[0159] In summary, the vehicle light show control method, device, electronic device, and storage medium provided in this application first generate an initial frame sequence and vehicle layout information in response to a configuration operation. The initial frame sequence records the state of all vehicles in each frame in the form of a state code. Then, in response to a frame-level arrangement operation, the state code of each vehicle is updated frame by frame to obtain a target frame sequence. Finally, in response to a playback operation, the control data in the target frame sequence is read sequentially according to a set frame interval, and SVG layered rendering is performed by combining the vehicle layout information with a pre-built SVG layer set. This makes the light show playback process no longer dependent on pre-recorded video files or dedicated hardware controllers. At the same time, users can perform customized operations through the front-end interface to achieve various light shows with different effects that meet user needs.
[0160] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.< / use> < / foreignobject>
Claims
1. A method for controlling vehicle light shows, characterized in that, The method includes: In response to a configuration operation, an initial frame sequence and vehicle layout information for a light show are generated. The initial frame sequence includes multiple frames of control data arranged chronologically. The control data includes the status codes of all vehicles in the light show at corresponding frames. Each status code includes multiple status bits, and each status bit corresponds to a controlled component of the vehicle. The step of generating the initial frame sequence and vehicle layout information in response to the configuration operation includes: in response to the configuration operation, obtaining the total number of vehicles, the vehicle arrangement pattern, and the total duration of the light show; calculating the total number of frames of the light show based on the total duration and a preset single-frame duration, and generating the initial frame sequence with a length equal to the total number of frames; and generating the vehicle layout information based on the total number of vehicles and the vehicle arrangement pattern. In response to the frame-level orchestration operation, the status code of each vehicle corresponding to the frame-level orchestration operation in each control data is updated frame by frame to obtain the target frame sequence. The frame-level orchestration operation is used to independently set the on or off state of the controlled component of any vehicle in any frame without affecting the data of other frames or other vehicles. In response to the playback operation, the control data of each frame in the target frame sequence is read sequentially according to the set frame interval, and the control data of each frame is rendered in SVG layered rendering using the vehicle layout information and the pre-built SVG layer set to form a continuous light show frame picture. The SVG layer set includes at least one first SVG layer and multiple second SVG layers that correspond one-to-one with multiple controlled component groups of the vehicle. The second SVG layer represents the visualization state of each controlled component in the controlled component group.
2. The vehicle light show control method as described in claim 1, characterized in that, The step of performing SVG layered rendering of the control data of the current frame using the vehicle layout information and a pre-built SVG layer set includes: For each vehicle status code in the control data of the current frame, the display status of each second SVG layer is determined based on the status bit of each controlled component group in the status code, and a target layer corresponding to each second SVG layer is generated; Based on the vehicle layout information and the preset hierarchical order, the at least one first SVG layer and all the target layers are overlaid to obtain the light show frame image corresponding to the current frame.
3. The vehicle light show control method as described in claim 2, characterized in that, The second SVG layer includes SVG primitives for representing the visual state of each controlled component in the corresponding controlled component group; The step of determining the display state of each second SVG layer based on the state bits of each controlled component group in the state code, and generating the target layer corresponding to each second SVG layer, includes: Check the status bit of each controlled component group in the status code, and generate control information for controlling the display status of each SVG element in the corresponding second SVG layer; For each of the second SVG layers, the display state of each SVG element in the second SVG layer is controlled according to the control information corresponding to the second SVG layer to obtain the target layer.
4. The vehicle light show control method as described in claim 3, characterized in that, The controlled component group includes a basic lighting group, and the plurality of second SVG layers include a basic lighting layer corresponding to the basic lighting group. The basic lighting layer includes SVG primitives used to characterize the on / off state of each light in the basic lighting group. The step of checking the status bits of each controlled component group in the status code and generating control information for controlling the display status of each SVG element in the corresponding second SVG layer includes: Check the status bits of each light in the status code in sequence; If the status bit is the first value, then a control signal is generated to control the hiding of the SVG primitive corresponding to the status bit; If the status bit is the second value, then a control signal is generated to control the display of the SVG primitive corresponding to the status bit; By traversing the state bits of each light in the state code, control information is obtained for controlling the visibility state of each SVG element in the basic light layer. The control information includes the control signal corresponding to the state bit of each light in the state code.
5. The vehicle light show control method as described in claim 3, characterized in that, The controlled component group includes a door and window group, and the plurality of second SVG layers include a door and window layer corresponding to the door and window group. The door and window layer includes SVG primitives for representing the open state and closed state of each door and window in the door and window group. The step of checking the status bits of each controlled component group in the status code and generating control information for controlling the display status of each SVG element in the corresponding second SVG layer includes: The status bits of each door and window in the status code are checked sequentially. If the status bit is the first value, then a control signal is generated to control the display of the SVG primitive in the off state corresponding to the status bit; If the status bit is the second value, then a control signal is generated to control the display of the SVG primitive corresponding to the on state of the status bit; By traversing the status bits of each door and window in the status code, control information for controlling the display and hiding status of each SVG element in the door and window layer is obtained. The control information includes the control signal corresponding to the status bit of each door and window in the status code.
6. The vehicle light show control method as described in claim 1, characterized in that, After the step of sequentially reading the control data of each frame in the target frame sequence according to a set frame interval, the method further includes: When the control data of the current frame is empty, a pre-built empty frame template is obtained as the control data of the current frame for SVG layered rendering.
7. The vehicle light show control method as described in claim 1, characterized in that, The total duration is either a user-defined duration or the duration of the target audio associated with the light show.
8. The vehicle light show control method as described in claim 1, characterized in that, The step of generating the vehicle layout information based on the total number of vehicles and the vehicle arrangement pattern includes: Based on the vehicle arrangement pattern, calculate the coordinates of each vehicle in the preset canvas coordinate system; Based on the coordinates of each vehicle in the canvas coordinate system and a preset offset rule, calculate the coordinates of the controlled components of each vehicle in the canvas coordinate system. Based on the vehicle arrangement pattern, generate rotation transformation parameters; The vehicle layout information includes the coordinates of each vehicle in the canvas coordinate system, the coordinates of each vehicle's controlled component in the canvas coordinate system, and the rotation transformation parameters.
9. The vehicle light show control method as described in claim 1, characterized in that, All status bits in the initial frame sequence are of the first value; the frame-level orchestration operation includes single-frame orchestration operations; The step of responding to the frame-level orchestration operation and updating the status code of each vehicle corresponding to the frame-level orchestration operation in the control data of each frame frame to obtain the target frame sequence includes: In response to the orchestration operation of the current frame, identify each target controlled component of each target vehicle specified by the orchestration operation for activation; In the control data of the current frame, the status bit corresponding to each target controlled component of each target vehicle is modified to the second value, while the remaining status bits remain unchanged from the first value.
10. The vehicle light show control method as described in claim 9, characterized in that, The step of updating the status code of each vehicle corresponding to the frame-level orchestration operation in the control data of each frame frame frame by frame to obtain the target frame sequence further includes: In the arrangement interface, based on the control data of the current frame, the vehicle layout information, and the pre-built SVG layer set, SVG layer rendering is performed to generate a preview screen of the current frame.
11. A vehicle light show control device, characterized in that, The device includes: A configuration module is used to respond to configuration operations and generate an initial frame sequence and vehicle layout information for the light show. The initial frame sequence includes multiple frames of control data arranged chronologically. The control data includes the status codes of all vehicles in the light show at corresponding frames. Each status code includes multiple status bits, and each status bit corresponds to a controlled component of the vehicle. Specifically, the configuration module is used to: respond to the configuration operation and obtain the total number of vehicles, vehicle arrangement pattern, and total duration of the light show; calculate the total number of frames of the light show based on the total duration and a preset single-frame duration, and generate the initial frame sequence with a length equal to the total number of frames; and generate the vehicle layout information based on the total number of vehicles and the vehicle arrangement pattern. The orchestration module is used to respond to frame-level orchestration operations, update the status code of each vehicle in each control data corresponding to the frame-level orchestration operation frame by frame, and obtain the target frame sequence. The frame-level orchestration operation is used to independently set the on or off state of the controlled component of any vehicle in any frame without affecting the data of other frames or other vehicles. The playback module is used to respond to playback operations, sequentially read the control data of each frame in the target frame sequence according to a set frame interval, and perform SVG layered rendering on each frame of control data using the vehicle layout information and a pre-built SVG layer set to form a continuous light show frame image. The SVG layer set includes at least one first SVG layer and multiple second SVG layers that correspond one-to-one with multiple controlled component groups of the vehicle. The second SVG layers represent the visualization status of each controlled component in the controlled component group.
12. An electronic device, characterized in that, It includes a processor and a memory, the memory being used to store a program, and the processor being used to implement the vehicle light show control method according to any one of claims 1-10 when executing the program.
13. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by a processor, implements the vehicle light show control method as described in any one of claims 1-10.
Citation Information
Patent Citations
Graph layer switching-based primitive state switching method and apparatus, and storage medium
CN112419445A
Vehicle lamp control method, computer equipment and computer readable storage medium
CN120711585A
Space-time layered arrangement method and system for multi-user interactive light show, and storage medium
CN121462734A