Method for projecting a dynamic lighting beam using a motor vehicle lighting system
The dictionary-based decompression algorithm enhances the decompression speed and visual quality of dynamic light beams in automotive lighting systems by leveraging image similarity, addressing bandwidth constraints and improving projection speed.
Patent Information
- Application Number
- JP2024575830
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-07-01
- Filing Date
- 2023-06-30
- Publication Date
- 2025-07-10
- Estimated Expiration
- 2043-06-30
AI Technical Summary
Existing automotive lighting systems face limitations in decompression speed of compressed images, affecting the visual quality and projection speed of dynamic light beams due to bandwidth constraints in the CAN protocol.
A dictionary-based decompression algorithm is used to enhance the decompression speed of compressed images by leveraging the similarity between consecutive images, allowing for improved compression and decompression efficiency through a method that includes reading, decompressing, and projecting images sequentially or in buffer memory, utilizing a similarity function to determine data sequence similarity.
The method significantly improves the decompression speed and visual quality of dynamic light beams by minimizing data requirements and optimizing memory usage, ensuring rapid projection of high-quality images.
Smart Images

Figure 2025521636000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of automotive lighting and the projection of dynamic light beams using automotive lighting devices. More particularly, the present invention relates to a method for projecting a dynamic lighting beam using an automotive lighting system.
Background Art
[0002] Modern automotive lighting systems include an ever increasing number of light sources that must be controlled to provide adaptive lighting functionality.
[0003] Thanks to the miniaturization of electronic lighting components, as well as the wide variety of emission colors and intensities that can be generated by such systems, nowadays it is possible to use a vehicle lighting system as a headlight to project a sequence of one or more consecutive images onto the road acting as a projection surface. The above-mentioned consecutive images can thus form an "adaptive lighting" function, a "driving assistance" function, a transition function between two separate photometric functions, or a "welcome or farewell scenario" function. Thus, the projected image can address, for example, security information communication, comfort or aesthetic needs, especially for the driver of the vehicle or the driver of a nearby vehicle.
[0004] Typically, the lighting system is controlled by a control unit called a PCM ("Pixel controller Module") that can command the lighting module of the lighting system. A sequence of digital images pre-stored in the vehicle's memory is provided to the control unit so that it can be projected by the lighting module in the form of a dynamic light beam.
[0005] The CAN protocol is often used in some form among its variants (CAN-FD being one of the most commonly used) to transfer data between the memory and the control unit. However, some automotive manufacturers have decided to limit the bandwidth of the CAN protocol, which affects administrative tasks that generally require about 5 Mbps. Therefore, to comply with these limitations, it is common to store videos and digital images in the form of compressed videos and images. And the vehicle's control unit is responsible for decompressing these images so that it can control the lighting module.
[0006] However, in this type of lighting system, the projection speed combined with the cost of the components of the system are two important parameters of the system. In fact, to maximize the projection speed of the dynamic light beam, it is necessary for the compressed images to be decompressed as quickly as possible.
[0007] Therefore, there is a need for a method for projecting a dynamic light beam based on a sequence of compressed images that is more responsive than currently known methods.
[0008] The present invention lies within the scope of such a background and attempts to address such a need. SUMMARY OF THE INVENTION
[0009] For these purposes, one subject of the present invention is a method for projecting a dynamic lighting beam using an automotive lighting system, the lighting system including a memory storing a compressed video including a plurality of consecutive images each consisting of a plurality of data sequences, a control unit, and a lighting module, the method comprising the following steps: a. reading each image from the compressed video stored in the memory; b. For each of the read images, a step in which the control unit uses a dictionary-based decompression algorithm to decompress the image in order to obtain the decompressed image, wherein each data sequence of the read image is such that the decompressed image is in a first mode in which a copy of the sequence is added thereto, or the decompressed image is in a second mode in which a data sequence of a previously read image that is added to the decompressed image before being added thereto is added, or the decompressed image is in a third mode in which a data sequence of a previously decompressed image is added thereto, and the decompressed image is decompressed in any of these modes, and c. A step in which the illumination module projects a pixelated light beam determined based on each decompressed image characterized by including the above.
[0010] The present invention particularly proposes to use a dictionary-based compression system such as LZx compression, also known as Lempel-Ziv compression. Therefore, thanks to the present invention, it should be understood that each image is decompressed based on a compression sequence from a dictionary formed from the currently read compressed image and previous compressed images. The previously added image can be the last image decompressed before the read image, or another image previously decompressed before the read image.
[0011] As is known, one of the main drawbacks of dictionary-based compression algorithms is that they achieve only a poor compression rate when the proportion of similar data in the image to be compressed is low. The present invention is notable in that it uses the fact that two consecutive images of a video are very similar in order to increase the compression rate of the video and thus increase the decompression speed of the corresponding compressed video. In fact, the image resulting from the difference between any two consecutive images of a video contains a significant number of similar data, particularly null data. Also, it should be understood that by doing this, the compressed video contains significantly less data compared to the compression performed directly on each image of the video, and thus the decompression speed is improved.
[0012] In the context of the present invention, namely, in the projection of a dynamic light beam using an automotive lighting device, the main limiting factor is the decompression speed of the video that is desired to be projected. In fact, an overly slow decompression of the compressed video affects the visual quality of the projected light beam, and in addition, it should be understood that, on the premise of the problems solved by the present invention, the compression time of the video does not constitute a limiting factor.
[0013] In the present invention, "data sequence" is understood to mean a finite and ordered set of units of information, in particular bits, or bytes, or hexadecimal data of information.
[0014] In the present invention, "dynamic lighting beam" is understood to mean a light beam whose photometric characteristics, in particular the distribution of its illuminance, change over time in a predefined manner. For example, such a dynamic lighting beam can represent a visual animation, such as a change in a logo, an image, or a pattern. The above visual animation can in particular include at least 100 consecutive images following one another at a frequency of at least 20 Hz. Still by way of example, the dynamic lighting beam can be projected onto a road or displayed on a screen.
[0015] In the present invention, "control unit" is understood to mean a computing module that can operate on digital data, in particular a computer processor, and can communicate with a memory storage device and / or an electronic device, in particular via a cable or a wireless link, such as the headlights of an automobile.
[0016] In the present invention, "data sequence comparison" is understood to mean the determination of the similarity between two data sequences, and the above similarity can in particular be a numerical value determined using a mathematical method related to the units of information of the above sequences. In the present invention, "similarity function" is understood to mean such a mathematical method for implementing a data sequence comparison, and the above procedure consists of receiving two data sequences of the same length at the input and returning a numerical value corresponding to the similarity between the above sequences.
[0017] The similarity function can determine the similarity between two data sequences, in particular, by using an exact comparison between pairs of units of information of these sequences or by using a comparison of the norms between pairs of units of information of these sequences with respect to a given maximum difference, where the difference can be the same for each pair of data or specific to each pair of data. Where applicable, the similarity function can take into account the length of the data sequence.
[0018] Advantageously, the similarity d between the sequence σ and a reference sequence S of the same length as the sequence σ S can be calculated using the following formula:
[0019] [Equation 1]
[0020] [Number]
[0021] where the term L(σ) corresponds to the length of the sequence σ, and σ i corresponds to the i-th element of the sequence σ, the coefficient w is a penalty parameter with respect to the length of the sequence, and ε max is a given maximum difference. At this time, assuming two given data sequences of the same length s1 and s2, the similarity function associated with the similarity from Equation [Equation 1] is
[0022] [Equation 2]
[0023] φ(s1, s1)=d s1 (s2) is obtained by.
[0024] In the present invention, two compared data sequences are considered "similar" when their degree of similarity determined by a given similarity function is greater than a predetermined tolerance threshold. Thus, this threshold is a numerical value representing a margin, and accordingly, it is possible to regard two separate sequences as similar or dissimilar.
[0025] In the present invention, the reading, decompression, and projection steps can be performed sequentially, i.e., for each image. As a variant, a plurality of images can be read continuously and stored in a buffer memory, and at this time, the decompression and projection steps are performed on the images stored in the buffer memory. As another variant, the reading and decompression steps can be performed sequentially, i.e., for each image, and at this time, the decompressed images are stored in the buffer memory, and at this time, the projection step is performed on the decompressed images stored in the buffer memory.
[0026] In the present invention, an "illumination module" is understood to mean a module that can emit a pixelated light beam, particularly arranged in the front headlights of a motor vehicle, and the pixelated light beam is arranged such that it is a light beam including a plurality of pixels, for example, at least 2500 pixels with dimensions of 0.05° to 0.3°, dispersed in a plurality of rows and columns, for example, 50 rows and 50 columns. As a variant, the illumination module can be a screen that is particularly arranged in the front headlights or taillights of a vehicle and can display an image of at least 2500 pixels with dimensions of 0.05° to 0.3°, dispersed in a plurality of rows and columns, for example, 50 rows and 50 columns.
[0027] For example, the illumination module can include a plurality of basic light sources. Where applicable, a controller can be arranged to selectively control each of the basic light sources of the illumination module such that the light source emits a basic light beam that forms one of the pixels of the pixelated light beam or the pixels of the image.
[0028] "Light source" is understood to mean any light source, possibly associated with an electro-optic element, which can be selectively activated and controlled to emit a basic light beam, the light intensity of which is controllable. This can in particular be a light-emitting semiconductor chip, a light-emitting element of a monolithic pixelated light-emitting diode, a part of a light-converting element which can be excited by a light source, or a light source associated with a liquid crystal or a micromirror.
[0029] In the present invention, each data sequence of the read image includes a header containing a decompression code, and in the decompression step, each data sequence of the read image is decompressed in a first, second, or third mode according to the decompression code contained in the header of the said sequence.
[0030] Thanks to the decompression code, each data sequence of the read image is decompressed separately according to whether the said compressed data sequence needs to be copied literally to the decompression stack, or according to whether the data sequence to be copied to the decompression stack corresponds to a data sequence of the image which is currently being decompressed and of the image preceding the said data sequence currently being decompressed, or according to whether the data sequence to be copied to the decompression stack corresponds to a data sequence of a previously decompressed image and in particular to an image preceding the image currently being decompressed.
[0031] In the first mode, the copy of the sequence can be a partial copy and in particular a copy of the sequence excluding the header of this sequence.
[0032] Advantageously, when the header of the data sequence of the read image contains a decompression code indicating the first mode, the said sequence contains a code for a number N1, and in the decompression step, the said data sequence of the read image is decompressed in the first mode by adding N1 data blocks to the decompressed image following the said code for the number N1.
[0033] Thanks to the code for number N1, the amount of data required to reconstruct the decompressed image is minimized, and at the same time, it is possible to decompress a precise amount of information regarding the decompression stack of the image. Advantageously, the header can consist of a data sequence, in particular bits, consisting of two complementary subsequences, and the two complementary subsequences are each coded for the decompression code and the code for number N1 respectively.
[0034] Advantageously, the decompression code can consist of a 4-bit sequence, in particular having all zero values.
[0035] In one alternative or additional embodiment of the present invention, when the header of the data sequence of the read image includes a decompression code indicating the second or third mode, the sequence includes codes for the in-place code O and the length L. Advantageously, in the decompression step, the data sequence of the read image is decompressed in the second or third mode by adding L data to the decompressed image, which is added to the decompressed image or the previously decompressed image from or to the in-place position.
[0036] Thanks to the in-place and length codes, it is possible to indicate the exact address of the data sequence. In particular, the start position indicates the start of the sequence to be sequentially copied until the number of copied data corresponds to the length indicated by the length code L.
[0037] The decompression code can correspond to, for example, 4 data, in particular 4 bits having a zero value.
[0038] If desired, when the header of the data sequence of the read image includes a decompression code indicating the second or third mode, the codes for the header and the in-place position of the sequence together form a predetermined number N2 of data blocks. Advantageously, in the decompression step, the in-place position is obtained from all of the remaining data of the N2 data blocks from the header that forms the code for the in-place position O.
[0039] Thanks to this configuration, the encoding of the header ensures the continuity of the data sequence and the minimization of the occupied memory space.
[0040] In one alternative or additional embodiment of the present invention, when the header of the data sequence of the read image includes a decompression code indicating the second or third mode, the length L is obtained from the value of the decompression code that forms or forms part of the code for the length L.
[0041] Thanks to this configuration, the encoding of the header ensures the continuity of the data sequence and the minimization of the occupied memory space.
[0042] Advantageously, when the header of the data sequence of the read image includes a decompression code indicating the second or third mode, in the decompression step, the length L is obtained by adding the value of the decompression code and the value of each data block following the code for the original position O until one of these blocks contains data equal to a predefined value, and the set of said blocks forms the code for the length L.
[0043] Thanks to this iterative procedure, it is possible to encode any length within the data sequence, and the elements forming said sequence, such as bytes, can each contain only a limited amount of information, and it should be understood that the present invention utilizes an encoding that makes it possible to overcome the information storage capacity constraints of said elements.
[0044] In one alternative or additional embodiment of the present invention, when the header of the data sequence of the read image includes a decompression code indicating the second or third mode, the header includes a literal copy code indicating the presence or absence of the last block in the sequence, and in the decompression step, when the literal copy code indicates the presence of the last block in the sequence, the last block of the sequence is added to the decompressed image at the end of the said L additional data.
[0045] Thanks to this configuration, the encoding of the header ensures the correct decompression of the information contained in all of the compressed data blocks while simultaneously ensuring the continuity of the data sequence. Advantageously, the data blocks may correspond to bytes of information.
[0046] In one embodiment of the present invention, when the header of the data sequence of the read image contains a decompression code indicating the second or third mode, the header contains a target code indicating the second or third mode. Advantageously, in the decompression step, when the target code has a first value for the data sequence of the read image, in the second mode by adding L data to the decompressed image that is added to the decompressed image from the original position, or when the target code has a second value, in the third mode by adding L data to the decompressed image that is added to the decompressed image from the original position or from the previously decompressed image up to the original position, the image is decompressed.
[0047] Thanks to this configuration, the encoding of the header ensures the correct decompression of the information contained in all of the compressed data blocks while simultaneously ensuring the continuity of the data sequence. Advantageously, the data blocks may correspond to bytes of information.
[0048] According to one exemplary embodiment of the present invention, when the header of the data sequence of the read image contains a target code indicating the third mode, the header contains a read direction code indicating the read direction of the data to be added to the decompressed image, and in the decompression step, for the data sequence of the read image, when the read direction code has a first value, from the original position, or when the read direction code has another value, up to the original position, by adding L data to the decompressed image that is added to the previously decompressed image, the image is decompressed in the third mode.
[0049] Thanks to this feature, it is possible to distinguish the copy direction in which the decompressed data should be added to the decompression stack using the read direction code.
[0050] Advantageously, for each thawed image, the pixelated light beam is determined based on the sum of this thawed image and all of the previously thawed images.
[0051] Thanks to this feature, it is possible to completely reconstruct the video as an additional superposition of successive thawed images, and in addition, the digital decoding of the images enables the illumination module to project the video onto any surface, particularly onto the ground.
[0052] Advantageously, each thawed image can be formed of a grayscale pixel matrix. Where applicable, the illumination system may include an illumination module controller capable of controlling each basic light source of the illumination module, and the projection step may include the controller converting the grayscale of each pixel of the thawed image into a radiation setting point, particularly a duty cycle, and the controller controlling each basic light source, the position of which corresponds to the position of the pixel of the thawed image, to emit a basic light beam according to the radiation setting point established based on this corresponding pixel. In other words, the set of basic beams forms the depiction of the thawed image. It is possible to contemplate that the compressed video includes three channels, red, green, and blue, and thus the reading, thawing, and projection steps are carried out for each of the channels.
[0053] Another subject of the present invention is a method for compressing an initial video, implemented by a computing system, the method comprising the following steps: a. Reading each image from the initial video; b. Compressing each read image to obtain a compressed image, wherein the compression step comprises, for each read data from the read image called current data, the following steps: c. Reading data from the read image called current data; d. From among a set of data sequences of the read images starting with this current data, select the first data sequence of the read image, and the second data sequence from among the set of preceding data sequences of the read image and the set of data sequences of the preceding images, wherein the first data sequence and the second data sequence maximize a data sequence similarity function together. e. Add to the compressed image a third data sequence including the current data according to the length of the selected first data sequence, or a compressed sequence determined based on the in-place and the length of the selected second data sequence. f. Each read data from the read image is the first data of the read image, and each first data of the read image is located after the last data of the selected first data sequence. g. Store each compressed image in the memory of the computing system to form a compressed video. It is characterized by including the above steps.
[0054] In other words, the present invention proposes to compress a video by sequentially compressing each of the images of the video using a dictionary created on-the-fly based on data sequences extracted from the currently compressed image or from preceding images, particularly the last read image. In addition, thanks to the maximum similarity feature between the sequences used for the step-by-step creation of the compression dictionary, it is possible to improve the final compression rate of the initial video. As a variant, the method may use a buffer memory that stores multiple images simultaneously, and these multiple images are read from the buffer memory, then decompressed, and projected sequentially. As another variant, the method may perform sequential reading and decompression of the images of the compressed video stored in the buffer memory and then projected directly from the buffer memory.
[0055] Advantageously, for two data sequences, the similarity function of these data sequences is determined based on the length of the data sequences, the difference between two corresponding data of these two data sequences, and a predetermined tolerance threshold for the above difference.
[0056] By doing this, the calculation of the similarity degree between two data sequences using the similarity function takes into account the quantitative characteristics of the above sequences, in particular, the length of the above sequences, and the numerical difference between the data forming the above sequences and the reference threshold. Further, the present invention aims to increase the overall compression rate of the initial video by maximizing the multi-criterion data sequence similarity function by enabling the difference between two sequences on the condition that the above difference is smaller than a predetermined tolerance threshold.
[0057] In one alternative or additional embodiment of the present invention, the set of preceding data sequences of the read image for which the second data sequence is searched consists of all of the data sequences of the read image starting with the preceding data of the image whose position is separated from the position of the current data by a maximum of a first predetermined distance. Advantageously, the set of preceding data sequences of the preceding image for which the second data sequence is searched consists of all of the data sequences of the preceding image starting with the data whose position is separated from the position of the current data by a maximum, in particular equal to half of the first predetermined distance, a second predetermined distance.
[0058] In other words, the search for the second data sequence is performed using a sliding window, thereby making it possible to reduce the computational cost of searching for similar data sequences and thus the compression time of the initial video.
[0059] In one alternative or additional embodiment of the present invention, for each current data, the third data sequence includes a header, and the header includes a decompression code indicating whether the third data sequence includes the current data or a compressed sequence.
[0060] In other words, the decompression code in the header specifies the type of compression information found at the end of the above code, thus making it possible to determine how the decompression should proceed.
[0061] Advantageously, when the decompression code indicates that the third data sequence contains a compression sequence, the third data sequence includes a code for the original position of the selected second data sequence and a code for the length L of the selected second data sequence.
[0062] By doing so, the codes for the original position and the length L make it possible to accurately indicate the data sequence to be copied during the decompression of the compressed video in order to partially reconstruct it.
[0063] Advantageously, when the decompression code indicates a third mode, the structure of the data sequence of the image is sequentially arranged as follows. a. A decompression code indicating the first or second / third mode, which can be encoded in 4-bit form, especially all zeros in the case of the first mode and including at least one non-zero bit in the case of the second or third mode. b. A literal copy code, especially encoded in 1 bit, indicating the presence or absence of the last block of the data sequence to be added to the last position of the decompressed data sequence according to the value of the code. c. A target code, especially encoded in 1 bit, indicating whether the sequence should be decompressed in the second or third mode, corresponding to decompression based on the current image or the previous image, according to the value of the code. d. A read direction code, especially encoded in 1 bit, indicating the read direction of the data to be added to the decompressed image according to the value of the code. e. An original position code, encoded in 9 or 10 bits, indicating the source of the data to be copied during the decompression step, respectively, depending on whether the sequence should be decompressed in the second or third mode.
[0064] Advantageously, when the decompression code indicates the second mode, the structure of the image data sequence is arranged in the same way as in the third mode, although there is a difference in that the reading direction code is not essential. In fact, the second mode refers to the data existing in the currently decompressed image, and the reading direction cannot be two-way, so the presence of the above reading direction code is unnecessary.
[0065] According to one alternative or additional exemplary embodiment of the present invention, the compression step, for each current data, according to the length of the selected first data sequence, a. adding a third data sequence including the current data to the compressed image, b. adding a third data sequence including a compression sequence determined based on the in-situ and the length of the selected second data sequence to the compressed image, or c. including adding the current data to a third data sequence previously added to the compressed image.
[0066] By doing this, the compression method constructs the compressed video as a concatenation of compressed data sequences, such that each of the sequences is compressed in one and only one of the three modes described.
[0067] The present invention will now be described by way of examples that are merely illustrative and in no way limit the scope of the invention, and with reference to the accompanying drawings depicting various figures.
Brief Description of the Drawings
[0068]
Figure 1
[0069]
Figure 2a
Figure 2b
[0070]
Figure 2c
[0071]
Figure 3
[0072]
Figure 4
[0073]
Figure 5
[0074]
Figure 6a
Figure 6b
Figure 6c
[0075] In the following description, elements that are identical in structure or function and appear in various figures will retain the same reference numerals unless otherwise noted.
[0076] FIG. 1 shows a method for compressing an initial video V that depicts, for example, an illumination scenario intended to be projected by an automobile.
[0077] First, the operation of the compression method will be disclosed through the sequence of steps that form it. A method for compressing an initial video, implemented by a computing system, includes the following steps: a. Step 1000 of reading each image Pi from the initial video V; b. Step 2000 of compressing each read image Pi to obtain a compressed image PCi, where the compression step includes the following sub-steps: i. Sub-step 2001 of reading data from the read image Pi, called the current data DC; ii. Sub-step 2002 of selecting a first data sequence S1 of the read image Pi from among a set of data sequences of the read image Pi starting with this current data DC, and a second data sequence S2 from among a set of data sequences of the preceding data sequences of the read image Pi and a set of data sequences of the preceding image Pi-1, where the first data sequence S1 and the second data sequence S2 maximize a data sequence similarity function φ together; iii. Sub-step 2003 of adding to the compressed image a third data sequence S3 including the current data DC, or a compressed sequence determined based on the in-situ and the length of the selected second data sequence S2, according to the length of the selected first data sequence S1; iv. Each read data from the read image Pi is initially the first data of the read image Pi, and each first data of the read image Pi is located after the first data of the selected first data sequence S1, and steps 2001 to 2003 are repeated for each newly read data, step 2000, and c. Step 3000 of storing each compressed image PCi in the memory of the computing system so as to form the compressed video VC and includes.
[0078] FIGS. 2a and 2b show an example of the progress of step 2002 of selecting the first data sequence S1 of the read image Pi and the second data sequence S2 from the set of data sequences of the read image Pi starting from the current data DC, and from the set of data sequences of the preceding image Pi-1, where the first data sequence S1 and the second data sequence S2 maximize the data sequence similarity function φ together.
[0079] As shown in FIG. 2a, the set of preceding data sequences of the read image Pi in which the second data sequence S2 is searched consists of all the data sequences of the read image Pi starting from the preceding data of the read image Pi whose position is at most the first predetermined distance away from the position of the current data DC. In other words, the second sequence S2 is searched within the read image Pi from among all the sequences that are included within a sliding window of a predetermined size and end with the current data DC. Therefore, this second sequence S2 is the longest sequence that is included within the sliding window and has the highest similarity to the sequence S1.
[0080] In the example of the simplified Figure 2a, the longest data sequence S2 preceding the current data DC is the sequence
[73] , while the first sequence S1 is the sequence
[43] . These sequences are not the same, but they maximize the similarity function φ among all the data sequences contained within a sliding window of size 3. Thus, this results in a loss of information during compression that, while still acceptable compared to dictionary-based compression algorithms, allows for an improvement in the compression rate.
[0081] As shown in Figure 2b, the set of data sequences of the preceding image Pi-1 in which the second data sequence S2 is also searched consists of all the data sequences of the preceding image Pi-1 starting at a data that is at most, and preferably equal to half of the first distance, away from the position of the current data DC. In other words, the second sequence S2 is also searched within the preceding image Pi-1 among all the sequences contained within a sliding window of a given size and centered on the current data DC. Thus, this second sequence S2 is the longest sequence that is contained within the sliding window and has the highest similarity to the sequence S1.
[0082] In the example of the simplified Figure 2b, this longest data sequence S2 preceding the current data DC is the sequence
[0470] , while the first sequence S1 is the sequence
[0430] . These sequences are not the same, but they separately maximize the similarity function φ among all the data sequences contained within a sliding window of size 6.
[0083] Note that the search for the second sequence S2 is performed in each of the two sets to reach two intermediate data sequences, and each of these two intermediate sequences maximizes the similarity function φ with respect to the set of sequences to which it belongs, and the second sequence S2 is the sequence among these two intermediate sequences that maximizes the function φ.
[0084] Thus, in the examples of FIGS. 2a and 2b, the sequence selected for compression is sequence [
[0470] ].
[0085] When performing this step, the calculation of the similarity function φ for each element of the set of data sequences of the read image Pi starting with the current data DC and the set of data sequences of the preceding image Pi-1 takes into account the length l of the data sequences. In particular, it is possible to use the similarity function based on the prediction of the similarity as represented by Equation [Equation 1].
[0086] In the examples of FIGS. 2a and 2b, the length l of the selected first sequence S1 is greater than 1. At the end of step 2003, the third sequence S3 added to the compressed image PCi thus includes the original position and length of the selected second data sequence S2 in the preceding image PCi-1. FIG. 2c shows an example of such a third sequence S3.
[0087] This third sequence S3 includes a header H, and the header H a. A decompression code H1 in 4-bit form indicating both that sequence S1 is compressed with respect to the second sequence S2 and the length of this sequence S2, b. A literal copy code H2 encoded in 1 bit indicating that the last block of the data sequence S3 should not be copied literally during decompression, c. A target code H3 encoded in 1 bit indicating that sequence S2 forms part of the preceding image PCi-1, d. Includes a read direction code H4 encoded in 1 bit indicating that sequence S2 is included in the preceding image PCi-1 to the left of the position of the current data DC.
[0088] This third sequence S3 also includes, after the header H, a block containing an origin code O, which is encoded in 9 bits and indicates the offset of the origin position of the second sequence S2 with respect to the position of the current data DC. Note that if the length of the second sequence S2 cannot be encoded in 4 bits, this length can also be encoded in other blocks of the sequence S3 following the block containing the code O.
[0089] Note that if the sequence S2 forms part of the image read but does not form part of the preceding image, since the sequence S2 is necessarily located to the left of the current data DC, the read direction code H4 is not necessary. In this case, the origin code O can be encoded in 10 bits.
[0090] Finally, if the length l of the selected first sequence S1 is equal to 1, the third sequence S3 added to the compressed image PCi contains, firstly, the data that should be copied literally during decompression of this sequence S3, and secondly, the current data, together with a header indicating the number of blocks following the header that contain these data to be copied.
[0091] Still, for a length equal to 1, when the preceding third data sequence was compressed, it should also be noted that for the preceding current data, it is possible to add, at the end of this preceding third data sequence, a data block that literally contains the existing current data, by referring to the data sequence of the current image or the preceding image for the preceding current data. In this case, the literal copy code H2 indicates that the last block of the data sequence S3 should not be copied literally during decompression.
[0092] Figure 3 shows a method for projecting a dynamic lighting beam using an automotive lighting system 3.
[0093] Figure 4 shows this lighting system 3 of a motor vehicle, and this lighting system includes a memory 4 that stores a compressed video 1.1 including a plurality of consecutive compressed images 2.1 each consisting of a plurality of data sequences, a control unit 5, and a lighting module 7, and implements the projection method described above.
[0094] The compressed video 1.1 may be compressed, for example, using the method described in FIGS. 1 to 2c.
[0095] The method of FIG. 3 includes the following steps: a. Step 1 of reading each compressed image 2.1 from the compressed video 1.1 stored in the memory 4, b. For each read image, step 2 of the control unit 5 decompressing the image using a dictionary-based decompression algorithm to obtain the decompressed image 2.2, c. Step 3 of the lighting module 7 projecting a pixelated light beam 6 determined based on each decompressed image 2.2.
[0096] As shown in FIG. 5, each read compressed data from each compressed image of the compressed video is decompressed in one of three possible modes depending on whether this data was compressed while literally including the original data with reference to the current image sequence or with reference to the sequence of previous images as described above.
[0097] FIG. 5 shows a decompression method that can be used in step 2 of the method of FIG. 3 and enables decompressing a video V compressed using the compression method described above. This decompression method includes the following steps: a. Step 500 of reading each compressed image from the compressed video, and b. For each data sequence that matches the currently read compressed image, i. Sub-step 611 of reading the decompression codes 101, 201, 301, ii. If the decompression codes 201 and 301 are equal to the values indicating the second or third mode, and the header contains the literal copy codes 202 and 302 indicating the presence or absence of the first block, sub-step 612.1 of reading the literal copy codes, iii. If the decompression codes 101, 201, and 301 are equal to the value indicating the first mode, particularly zero, and the data sequence contains the code for the number N1 coded in 4 bits, sub-step 612.2 of reading the code for the number N1, iv. If the decompression codes 201 and 301 indicate the second or third mode, and the header contains the target codes 203 and 303 indicating the second or third mode, sub-step 613.1 of reading the target codes 203 and 303, v. If the decompression codes 101, 201, and 301 indicate the first mode, sub-step 613.2 of decompressing the data sequence by copying the N1 blocks following the code for the number N1 in the decompressed image, vi. If the target code 303 indicates the third mode, sub-step 614.1 of reading the read direction code 304, vii. If the decompression codes 201 and 301 are equal to the values indicating the second or third mode, sub-step 615.1 of calculating the length L obtained from the sum of each of the decompression codes 201 and 301 and the data 205 and 306 following the code for the original position, until one of these blocks contains data equal to a predefined value, particularly zero, viii. Step 600 of decompressing the currently read image according to sub-step 620 of decompressing the current data sequence in the mode specified by the set of codes used for decompression, c. Step 700 of creating the decompressed video as a set of consecutive decompressed images obtained for each pixel as the sum of all the last decompressed image and all the previously decompressed images.
[0098] FIG. 6a shows an example of a data sequence of a read image 100 including a decompression code 101 indicating a first mode and a code 102 for a number N1, and these two codes form a header of the data sequence that particularly corresponds to the first byte of the data sequence.
[0099] The decompression code 101 is encoded using 4 bits, particularly 4 zero bits, and represents the number 0 in decimal.
[0100] The code for the number N1 is encoded using 4 bits following the 4 bits that encode the decompression code 101. In the example, the code for the number N1 corresponds to the binary number 0010, which corresponds to the number 2 in decimal. Thus, the encoded number N1 is equal to 3, which is obtained by adding 1 unit to the decimal number of the binary code formed by the previously identified 4 bits. The number N1 corresponds to the number of blocks, particularly the number of bytes, following the code for the number N1 that will be copied in the step of decompressing the read data sequence.
[0101] FIG. 6b shows an example of a data sequence of a read image 200 including a decompression code 201 indicating a second or third mode, a literal copy code 202, a target code 203, and an in-place code 204.
[0102] Therefore, when the header of the data sequence of the read image includes a decompression code 201 indicating a second or third mode, the sequence includes an in-place code 204 and codes 201, 205 for a length L. As a result, in the decompression step, the data sequence of the read image is added to the decompressed image in the second or third mode by adding L data that is added to the decompressed image or to the previously decompressed image from or to the in-place location, thereby decompressing in the second or third mode.
[0103] In addition, when the header of the read image data sequence includes decompression codes 201, 301 indicating the second or third mode, in the decompression step, the length L is obtained by adding the value of the decompression code 201, which is 15 in the example, and the values of each data block 205 following the code for the original position 204 until one of these blocks contains data equal to a predetermined value, and the set of the blocks forms the codes 201, 205 for the length L.
[0104] Therefore, when the header of the read image data sequence includes decompression codes 201, 301 indicating the second or third mode, the header includes literal copy codes 202, 302 indicating the presence or absence of the last blocks 206, 307 in the sequence. As a result, in the decompression step, when the literal copy codes 202, 302 indicate the presence of the last blocks 206, 307 in the sequence, the last blocks 206, 307 of the sequence are added to the decompressed image at the end of the L additional data, which is 255, 255, and 237 in the example, i.e., a total of 762.
[0105] Therefore, when the header of the read image data sequence includes decompression codes 201, 301 indicating the second or third mode, the header includes target codes 203, 303 indicating the second or third mode. Advantageously, in the decompression step, the read image data sequence is decompressed in the second mode by adding the L data added to the decompressed image from the original position to the decompressed image when the target code 203 has a first value, which is zero bit 200 in the example, or in the third mode by adding the L data added to the decompressed image from the original position or the previously decompressed image up to the original position when the target code 203 has a second value, particularly a bit equal to 1.
[0106] When the header of the data sequence of the read image includes the decompression codes 201, 301 indicating the second or third mode, the header includes the literal copy codes 202, 302 indicating the presence or absence of the last blocks 206, 307 in the sequence.
[0107] In the decompression step, when the literal copy codes 202, 302 indicate the presence of the last block in the sequence, the last blocks 206, 307 of the sequence are added to the decompressed image after the L additional data.
[0108] FIG. 6c shows an example of the data sequence of the read image 300 including the decompression code 301 indicating the second or third mode, the literal copy code 302, the target code 303, the read direction code 304, and the original position code 305.
[0109] Therefore, when the header of the data sequence of the read image includes the decompression code 301 indicating the second or third mode, the sequence includes the original position code 305 and the codes 301, 306 for the length L. As a result, in the decompression step, the data sequence of the read image is added to the decompressed image by adding the L data to the decompressed image or to the previously decompressed image from or to the original position, thereby adding to the image decompressed in the second or third mode and decompressing in the second mode or the third mode.
[0110] In addition, when the header of the data sequence of the read image includes the decompression code indicating the second or third mode, in the decompression step, the length L is obtained by adding the value of the decompression code, for example 15, and the value of each data block 205 following the code for the original position 305 until one of these blocks contains data equal to a predetermined value, particularly zero. The set of the blocks forms the codes 301, 306 for the length L.
[0111] Therefore, when the header of the data sequence of the read image includes a decompression code 301 indicating the second or third mode, the header includes a literal copy code 302 indicating the presence or absence of the last block 307 in the sequence. As a result, in the decompression step, when the literal copy code 302 indicates the presence of the last block 307 in the sequence, the last block of the sequence 307 is added to the decompressed image at the end of the L additional data, for example 255, 255, and 237, that is, a total of 762.
[0112] Therefore, when the header of the data sequence of the read image includes a decompression code 301 indicating the second or third mode, the header includes a target code 303 indicating the second or third mode. Advantageously, in the decompression step, when the target code 303 has a first value, in particular zero bits, in the data sequence of the read image, the decompressed image is added to the decompressed image from the original position in the second mode by adding the L data, or when the target code 303 has a second value, for example, in particular a bit equal to 1, the decompressed image is added to the decompressed image from the original position or to the previously decompressed image up to the original position in the third mode by adding the L data.
[0113] When the header of the data sequence of the read image includes a decompression code 301 indicating the second or third mode, the header includes a literal copy code 302 indicating the presence or absence of the last block 307 in the sequence. In the decompression step, when the literal copy code 302 indicates the presence of the last block 307 in the sequence, the last block of the sequence is added to the decompressed image at the end of the L additional data.
[0114] When the header of the data sequence of the read image includes the target code 303 indicating the third mode, the header includes a read direction code 304 indicating the read direction of the data to be added to the decompressed image. In the decompression step, the data sequence of the read image is added to the decompressed image in the third mode by adding L data that is added to the previously decompressed image from the original position when the read direction code 304 has a first value, particularly zero bits, or up to the original position when the read direction code has another value, particularly one bit.
[0115] Referring again to FIG. 3, each decompressed image obtained at the end of the method of FIG. 5 forms a grayscale pixel matrix. Each pixel of this image can, therefore, be converted, depending on its grayscale, for example, into a radiation setting point in the form of a duty cycle. This radiation setting point can, therefore, make it possible to control the basic light source of the lighting module 7, and the position of the lighting module 7 corresponds to the position of the corresponding pixel in the decompressed image. This basic light source, therefore, emits a basic light beam according to this radiation setting point. Also, the set of basic beams then forms the depiction of the decompressed image.
[0116] In any case, the present invention should not be considered to be limited to the embodiments specifically described in this document, but rather extends particularly to any equivalent means and any technically realizable combination of these means.
Claims
Claim 1 A method for projecting a dynamic lighting beam using an automotive lighting system (3), said lighting system comprising a memory (4) storing a compressed video (1.1) including a plurality of consecutive images (2.1) each consisting of a plurality of data sequences, a control unit (5), and a lighting module (7), said method comprising the following steps: a. Reading each image from the compressed video (1.1) stored in the memory (4) (step 1); b. For each read image, a step (2) in which the control unit (5) uses a dictionary-based decompression algorithm to decompress the image to obtain a decompressed image, wherein each data sequence of the read image is decompressed in one of a first mode in which the decompressed image has a copy of the sequence added thereto, a second mode in which the decompressed image has a data sequence of the previously read image added thereto that is added to the decompressed image, or a third mode in which the decompressed image has a data sequence of a previously decompressed image added thereto; c. Projecting a pixelated light beam (6) determined based on each decompressed image (2.2) by the lighting module (7) (step 3). A method for projecting a dynamic lighting beam using an automotive lighting system (3). Claim 2 Each data sequence of the read image includes a header containing a decompression code (101, 201, 301), and in the decompression step, each data sequence of the read image is decompressed in the first mode, the second mode, or the third mode according to the decompression code (101, 201, 301) contained in the header of the sequence. A method for projecting a dynamic lighting beam using the automotive lighting system (3) according to claim 1. Claim 3 When the header of the data sequence of the read image includes a decompression code indicating the first mode, the sequence includes a code for a number N1 (102), and in the decompression step, the data sequence of the read image is decompressed in the first mode by adding the N1 data blocks to the decompressed image following the code for the number N1. A method for projecting a dynamic lighting beam using the automotive lighting system (3) according to claim 1 or 2.
4. When the header of the data sequence of the read image includes a decompression code (201, 301) indicating the second mode or the third mode, the sequence includes an in-place code (204, 305) and a code (201, 205; 301, 306) for a length L, and in the decompression step, the data sequence of the read image is decompressed in the second mode or the third mode by adding the L data that is added to the decompressed image, the previously decompressed image, or the decompressed image from or to the in-place position. A method for projecting a dynamic lighting beam using the automotive lighting system (3) according to claim 2 or 3.
5. When the header of the data sequence of the read image includes a decompression code (201, 301) indicating the second mode or the third mode, the header of the sequence and the code (204, 305) for the in-place position together form a predetermined number N2 of data blocks, and in the decompression step, the in-place position is obtained from all of the remaining data of the N2 data blocks from the header that forms the code for the in-place position. A method for projecting a dynamic lighting beam using the automotive lighting system (3) according to any one of claims 1 to 4.
6. When the header of the data sequence of the read image includes a decompression code (201, 301) indicating the second mode or the third mode, in the decompression step, the length L is obtained from the value of the decompression code (201, 301) that forms or forms part of the code (201, 205; 301, 306) for the length L. A method for projecting a dynamic lighting beam using the automotive lighting system (3) according to claim 4 or 5.
7. When the header of the data sequence of the read image includes a decompression code (201, 301) indicating the second mode or the third mode, in the decompression step, the length L is obtained by adding the value of the decompression code (201, 301) and the value of each of the data blocks (205, 306) following the code (204, 305) for the original position until one of these blocks contains data equal to a predetermined value. The set of blocks forms the code (201, 205; 301, 306) for the length L. A method for projecting a dynamic lighting beam using the automotive lighting system (3) according to any one of claims 1 to 6.
8. When the header of the data sequence of the read image includes a decompression code (201, 301) indicating the second mode or the third mode, the header includes a literal copy code (202, 302) indicating the presence or absence of the last block in the sequence. And, in the decompression step, when the literal copy code indicates the presence of the last block (206, 307) in the sequence, the last block (206, 307) of the sequence is added to the decompressed image at the end of the L additional data. A method for projecting a dynamic lighting beam using the automotive lighting system (3) according to any one of claims 4 to 7.
9. When the header of the data sequence of the read image includes a decompression code (201, 301) indicating the second mode or the third mode, the header includes a target code (203, 303) indicating the second mode or the third mode, and in the decompression step, the data sequence of the read image, when the target code (203, 303) has a first value, adds the L data added to the decompressed image from the original position to the decompressed image, in the second mode, or when the target code (203, 303) has a second value, adds the L data added to the decompressed image from the original position or to the previously decompressed image up to or including the original position to the decompressed image, and is decompressed in the third mode, A method for projecting a dynamic lighting beam using the automotive lighting system (3) according to any one of claims 4 to 8.
10. When the header of the data sequence of the read image includes a target code indicating the third mode (303), the header includes a reading direction code (304) indicating the reading direction of the data to be added to the decompressed image, and in the decompression step, the data sequence of the read image, when the reading direction code (304) has a first value, from the original position, or when the reading direction code (304) has another value, up to the original position, adds the L data added to the previously decompressed image to the decompressed image, and is decompressed in the third mode, A method for projecting a dynamic lighting beam using the automotive lighting system (3) according to any one of claims 1 to 9.
11. For each decompressed image, the pixelated light beam (6) is determined based on the sum of this decompressed image and all of the previously decompressed images, A method for projecting a dynamic lighting beam using the automotive lighting system (3) according to any one of claims 1 to 10.
12. A method for compressing an initial video, implemented by a computing system, the method comprising the following steps: a. A step (1000) of reading each image from the initial video; b. A step (2000) of compressing each read image to obtain a compressed image, for each read data from the read image, the following sub-steps: i. A sub-step (2001) of reading data from the read image called current data; ii. A sub-step (2002) of selecting, from a set of data sequences of the read image starting with this current data, a first data sequence of the read image, and a second data sequence from a set of preceding data sequences of the read image and a set of data sequences of the preceding image, wherein the first data sequence and the second data sequence maximize a data sequence similarity function together, sub-step (2002); iii. A sub-step (2003) of adding to the compressed image a third data sequence including the current data, or a compressed sequence determined based on the original position and the length of the selected second data sequence, according to the length of the selected first data sequence, including; each read data from the read image is the first data of the read image, and each first data of the read image is located after the last data of the selected first data sequence, step (2000); c. A step (3000) of storing each compressed image in the memory of the computing system to form a compressed video, characterized by including, a method for compressing an initial video, implemented by a computing system. **Claim 13** For two data sequences, the similarity function of these data sequences is determined based on the length of the data sequences, the difference between two corresponding data of these data sequences, and a predetermined tolerance threshold for the above difference, a method for compressing an initial video, implemented by the computing system according to claim 12. **Claim 14** The set of preceding data sequences of the read image in which the second data sequence is searched consists of all of the data sequences of the read image starting with the preceding data of the image whose position is separated from the position of the current data by a maximum of a first predetermined distance, and the set of data sequences of the preceding image in which the second data sequence is searched consists of all of the data sequences of the preceding image starting with data whose position is separated from the position of the current data by a maximum of a second predetermined distance. A method for compressing an initial video, implemented by the computing system according to claim 12 or 13.
15. For each current data, the third data sequence includes a header, and the header includes a decompression code (101, 201, 301) indicating whether the third data sequence includes the current data or the compression sequence. A method for compressing an initial video, implemented by the computing system according to any one of claims 12 to 14.
16. When the decompression code (201, 301) indicates that the third data sequence includes the compression sequence, the third data sequence includes a code (204, 305) for the original position of the selected second data sequence and a code (201, 205; 301, 306) for the length L of the selected second data sequence. A method for compressing an initial video, implemented by the computing system according to claim 15.
17. The compression step, for each current data, according to the length of the selected first data sequence, a. adding to the compressed image a third data sequence including the current data; b. adding to the compressed image a third data sequence including a compression sequence determined based on the original position and the length of the selected second data sequence, or c. adding the current data to a third data sequence previously added to the compressed image. A method for compressing an initial video, implemented by the computing system according to claim 15 or 16.
Citation Information
Patent Citations
Method and system for compressing data, geographical database formed using the system, and its use in navigation application program
JP2000101441A
Data compression
JP2005269618A
Dictionary encoding and decoding of screen content
US20170064330A1
Method for managing image data and automotive lighting device
WO2021079008A1
Lighting system for a motor vehicle with data compression
WO2022090374A1