A data compression method, apparatus, device, and storage medium
By using OCT and RGBA compression algorithms to compress vertex data on the autonomous driving visualization platform, and combined with offset coordinate processing, the problem of insufficient transmission bandwidth of vertex data is solved, and efficient data compression and real-time decompression visualization is achieved.
Patent Information
- Application Number
- CN202111192470.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-13
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2041-10-13
AI Technical Summary
The autonomous driving visualization platform is prone to lag due to insufficient bandwidth when transmitting vertex data.
The OCT compression algorithm is used to compress the three-dimensional coordinate data in the vertex data, and the RGBA compression algorithm is used to compress the color data, and the position data is accurately processed in combination with offset coordinates to reduce the data volume.
It effectively reduces bandwidth transmission pressure, compresses vertex data to 42.8% of the original data, and realizes data compression while ensuring data accuracy, supporting real-time data decompression and visualization.
Smart Images

Figure CN113963097B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of autonomous driving, and in particular, to a data compression method, device, equipment and storage medium. Background Art
[0002] In recent years, driverless cars have developed rapidly. As an effective solution for driverless driving, scanning imaging lidar has attracted countries around the world to actively carry out research on vehicle-mounted lidar. As one of the important sensors in driverless technology, vehicle-mounted lidar is of great significance for ensuring the driving safety of driverless cars. With the further development of the driverless industry, the market prospect of vehicle-mounted lidar is broad.
[0003] The vertex data obtained by the lidar (for example, Marker data, or PointsCloud data, etc.) will be transmitted to the autonomous driving visualization platform for processing. The autonomous driving visualization platform needs to process a large amount of vertex data such as Marker data or PointsCloud data in real time. However, due to the large volume of these vertex data, it is easy to cause lags due to insufficient bandwidth during the transmission process. Summary of the Invention
[0004] Therefore, the technical problem to be solved by the embodiments of the present application is to provide a data compression method, device, equipment and storage medium, which can compress vertex data with high efficiency, thereby reducing the bandwidth transmission pressure.
[0005] To solve the above technical problem, the technical solution adopted by the present application is specifically as follows:
[0006] On the one hand, an embodiment of the present application provides a data compression method, including:
[0007] Obtain vertex data in the autonomous driving visualization platform;
[0008] Use the OCT compression algorithm and the RGBA compression algorithm to compress the three-dimensional coordinate data and color data in the vertex data respectively to obtain the compressed vertex data.
[0009] Further, before using the OCT compression algorithm to compress the three-dimensional coordinate data in the vertex data, it further includes:
[0010] Use offset coordinates to perform precision processing on the position data in the vertex to obtain the three-dimensional coordinate data in the vertex data.
[0011] Preferably, the precision processing includes:
[0012] Subtract the position data in the vertex data from the offset coordinates.
[0013] Further, after compressing the three-dimensional coordinate data and color data, it further includes:
[0014] Using the GPU to decompress the compressed vertex data in real time;
[0015] Transmitting the decompressed vertex data into the renderer.
[0016] Preferably, the using the GPU to decompress the compressed vertex data in real time includes:
[0017] Performing the inverse process of the OCT compression algorithm in the GPU to obtain the decompressed three-dimensional coordinate data;
[0018] Performing a color parsing function in the GPU to obtain the decompressed color data.
[0019] Furthermore, the using the OCT compression algorithm to compress the three-dimensional coordinate data in the vertex data includes:
[0020] Converting the three-dimensional coordinate data into a unit vector;
[0021] Regarding the unit vector as a point on the unit sphere, mapping the unit sphere to an octahedron, and then projecting the octahedron onto the plane of Z = 0;
[0022] Reflecting the hemisphere in the -Z direction to the plane of Z = 0 through the diagonal to obtain a square; storing the abscissa and ordinate of the square on the plane of Z = 0 as unsigned integer values respectively.
[0023] Furthermore, the using the RGBA compression algorithm to compress the color data in the vertex data includes:
[0024] Converting the color channel values corresponding to the respective color channels in the color data into corresponding unsigned integer values;
[0025] Using a shift operation to convert each of the unsigned integer values into a total unsigned integer value.
[0026] On the other hand, an embodiment of the present application provides a data compression device, including:
[0027] An acquisition module, configured to acquire vertex data in an autonomous driving visualization platform;
[0028] A compression module, which uses the OCT compression algorithm and the RGBA compression algorithm to compress the three-dimensional coordinate data and color data in the vertex data respectively to obtain the compressed vertex data.
[0029] In another aspect, an embodiment of the present application provides a device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the data compression method according to any one of the above are implemented.
[0030] In yet another aspect, an embodiment of the present application provides a storage medium in which a computer program is stored. When the computer program is executed by a processor, the steps of the data compression method according to any one of the above are implemented.
[0031] In summary, compared with the prior art, the beneficial effects brought by the technical solutions provided by the embodiments of the present application at least include:
[0032] 1. In the data compression method of the embodiment of the present application, by using the OCT compression algorithm to compress the three-dimensional coordinate data in the vertex data and using the RGBA compression algorithm to compress the color data in the vertex data, the vertex data can be compressed efficiently, reducing the bandwidth transmission pressure. Moreover, compared with the existing method that uses feature filtering, combined with normalization and point cloud coding network, the embodiment of the present application uses the OCT compression algorithm and the RGBA compression algorithm to compress the data, and can compress the vertex data to 42.8% of the original data, further reducing the volume of the vertex data and significantly alleviating the bandwidth transmission pressure.
[0033] 2. In the embodiment of the present application, by using the offset coordinates to perform precision processing on the position data in the vertex, the three-dimensional coordinate data in the vertex data is obtained, so that on the premise of ensuring the precision of the three-dimensional coordinate data, the vertex data is compressed to 42.8% of the original data.
[0034] 3. In the embodiment of the present application, the compressed vertex data is decompressed in real time by using the GPU, and then the decompressed vertex data is sent to the renderer, so as to support real-time decompression and visualization of the data and improve the use efficiency of the autonomous driving visualization platform. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 is a schematic flow chart of the data compression method provided by the first exemplary embodiment of the present application.
[0036] Figure 2 is a schematic flow chart of the data compression method provided by the second exemplary embodiment of the present application.
[0037] Figure 3 is a schematic flow chart of the data compression method provided by the third exemplary embodiment of the present application.
[0038] Figure 4 is a schematic diagram of the original structure of the vertex data in the example of the present application.
[0039] Figure 5 It is a schematic structural diagram of vertex data in the example of this application after color data compression.
[0040] Figure 6 It is a schematic structural diagram of vertex data in the example of this application after three-dimensional coordinate data compression and color data compression.
[0041] Figure 7 It is a schematic structural diagram of the data compression device provided by the fourth exemplary embodiment of this application.
[0042] Figure 8 It is a schematic structural diagram of the device provided by the fifth exemplary embodiment of this application. Detailed implementation manners
[0043] This specific embodiment is only an interpretation of this application and does not limit this application. After reading this specification, those skilled in the art can make modifications to this embodiment without creative contributions as needed, but as long as it is within the scope of the claims of this application, it is protected by the patent law.
[0044] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are some, but not all, of the embodiments of this application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in this application without making creative efforts fall within the scope of protection of this application.
[0045] The term "including" and any variation thereof in the specification and claims of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units does not necessarily limit to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these process, method, product, or device.
[0046] In the embodiments of this application, words such as "exemplary" or "for example" are used to represent examples, illustrations, or explanations. Any embodiment or design solution described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary" or "for example" is intended to present relevant concepts in a specific manner.
[0047] The embodiments of this application will be further described in detail below with reference to the accompanying drawings of the specification.
[0048] Figure 1A data compression method provided by the first exemplary embodiment of the present application is described as follows in its main steps:
[0049] Obtain vertex data in the autonomous driving visualization platform;
[0050] Compress the three-dimensional coordinate data and color data in the vertex data by using the OCT compression algorithm and the RGBA compression algorithm respectively to obtain the compressed vertex data.
[0051] The data compression method provided by the first exemplary embodiment of the present application compresses the three-dimensional coordinate data in the vertex data by using the OCT compression algorithm and compresses the color data in the vertex data by using the RGBA compression algorithm, so as to efficiently compress the vertex data and relieve the bandwidth transmission pressure. Moreover, compared with the existing method that uses feature filtering, combined with normalization and point cloud coding network, the embodiment of the present application uses the OCT compression algorithm and the RGBA compression algorithm to compress data, and can compress the vertex data to 42.8% of the original data, further reducing the volume of the vertex data and significantly relieving the bandwidth transmission pressure.
[0052] It should be noted that the step of compressing the three-dimensional coordinate data in the vertex data by using the OCT compression algorithm and the step of compressing the color data in the vertex data by using the RGBA compression algorithm can be carried out in parallel or serially: that is, first compress the three-dimensional coordinate data in the vertex data by using the OCT compression algorithm, and then compress the color data in the vertex data by using the RGBA compression algorithm; or first compress the color data in the vertex data by using the RGBA compression algorithm, and then compress the three-dimensional coordinate data in the vertex data by using the OCT compression algorithm.
[0053] Figure 2 A data compression method provided by the second exemplary embodiment of the present application is a further improvement based on the first exemplary embodiment shown as follows: Figure 1 Specific improvements are as follows:
[0054] Before compressing the three-dimensional coordinate data in the vertex data by using the OCT compression algorithm, it further includes:
[0055] Perform precision processing on the position data in the vertex by using the offset coordinates to obtain the three-dimensional coordinate data in the vertex data.
[0056] A data compression method provided by the second exemplary embodiment of the present application obtains three-dimensional coordinate data in the vertex data by performing precision processing on the position data in the vertex using an offset coordinate, thereby compressing the vertex data to 42.8% of the original data while ensuring the precision of the three-dimensional coordinate data.
[0057] To simplify the steps of precision processing, as a preference of a data compression method provided by the second exemplary embodiment of the present application, the precision processing includes:
[0058] Subtract the offset coordinate from the position data in the vertex data.
[0059] By using the difference between the position data in the vertex data and the offset coordinate as the three-dimensional coordinate data for the subsequent implementation of the OCT compression algorithm, the precision of the compressed three-dimensional coordinate data is improved to the centimeter level.
[0060] Figure 3 A data compression method provided by the third exemplary embodiment of the present application is Figure 1 a further improvement based on the first exemplary embodiment shown below. The specific improvements are as follows:
[0061] After compressing the three-dimensional coordinate data and color data, it further includes:
[0062] Use the GPU to decompress the compressed vertex data in real time;
[0063] Send the decompressed vertex data to the renderer.
[0064] A data compression method provided by the third exemplary embodiment of the present application can support real-time data decompression and visualization by using the GPU to decompress the compressed vertex data in real time and then sending the decompressed vertex data to the renderer, thereby improving the usage efficiency of the autonomous driving visualization platform.
[0065] As a further improvement of all the above exemplary embodiments, a data compression method provided by another exemplary instance of the present application defines the specific steps of compressing the three-dimensional coordinate data in the vertex data using the OCT compression algorithm, as follows:
[0066] Convert the three-dimensional coordinate data into a unit vector;
[0067] Regard the unit vector as a point on the unit sphere, map the unit vector to an octahedron, and then project the octahedron onto the plane of Z = 0;
[0068] The hemisphere in the -Z direction is reflected onto the plane of Z = 0 through the diagonal to obtain a square; the abscissa and ordinate of the square on the Z = 0 plane are respectively stored as unsigned integer values.
[0069] Exemplary embodiments of the present application realize the compression of three-dimensional coordinate data by converting the three-dimensional coordinate data in the vertex data into two-dimensional coordinate data of a square on the Z = 0 plane.
[0070] As a further improvement of all the above exemplary embodiments, a data compression method provided by another exemplary instance of the present application defines the specific steps for compressing the color data in the vertex data using the RGBA compression algorithm, specifically as follows:
[0071] The color channel values corresponding to each color channel in the color data are respectively converted into corresponding unsigned integer values;
[0072] The shift operation is used to convert each of the unsigned integer values into a total unsigned integer value.
[0073] Exemplary embodiments of the present application realize the compression of color data by converting the unsigned integer values corresponding to all color channel values into a total unsigned integer value.
[0074] Taking the billboard line type data in the Marker data as an example below, the implementation processes of the above exemplary embodiments are described in detail, specifically as follows:
[0075] A billboard line is a rectangle with four vertices. The original structure of the vertex data of any vertex P is as Figure 4 shown.
[0076] In Figure 4 , the vertex data of the vertex P is composed of 28 bytes of data in 7 fields of 32-bit floating-point type. Among them, the first three data are the three-dimensional coordinate data of the vertex P, namely the abscissa x, the ordinate y, and the vertical coordinate z, abbreviated as P(x, y, z); the last four data are the color data of the vertex P, representing the color channel values of the four channels R, G, B, and A respectively.
[0077] First, the RGBA compression algorithm is used to compress the color data of the vertex P. Specifically: the color channel values of the four color channels R, G, B, and A of 32-bit floating-point type are converted into four 8-bit unsigned integer values, and then through the shift operation, the four unsigned integer values are converted into a 32-bit unsigned integer value. The result is as Figure 5 shown.
[0078] Specifically, the compression steps for color channel values using the RGBA compression algorithm are as follows:
[0079] In the first step, the color channel values of the four color channels R, G, B, and A with a value range of [0.0, 1.0] are each linearly interpolated to obtain an 8-bit unsigned integer value within the range of [0, 255].
[0080] In the second step, shift the R channel 24 bits to the left, i.e., Encode |= R << 24.
[0081] In the third step, shift the G channel 16 bits to the left, i.e., Encode |= G << 16.
[0082] In the fourth step, shift the B channel 8 bits to the left, i.e., Encode |= B << 8.
[0083] In the fifth step, merge the A channel, i.e., Encode |= A.
[0084] Through the above five compression steps, the final compression result is obtained. The final compression result is a 32-bit unsigned integer value, i.e., Figure 5 the color RGBA shown.
[0085] From Figure 5 it can be seen that by compressing the color channels, the number of bytes required to represent each vertex P is reduced from the original 28 bytes to 16 bytes.
[0086] Again, the OCT compression algorithm is used to compress the three-dimensional coordinate data. Specifically: the abscissa x, ordinate y, and vertical coordinate z are converted into unit vectors, and the unit vectors are regarded as a point on the unit sphere. The unit sphere is mapped to an octahedron, and then the octahedron is projected onto the plane of z = 0. Then, the hemisphere in the -z direction is reflected onto the plane of z = 0 through the diagonal. In this way, a square with a coordinate value range of [-1.0, 1.0] is obtained. Finally, the abscissa u and ordinate v of the square are stored as two 16-bit unsigned integer values.
[0087] Specifically, the compression steps for the three-dimensional coordinate data of vertex P using the OCT compression algorithm are as follows:
[0088] In the first step, convert the three-dimensional coordinate data P(x, y, z) of vertex P into a unit vector Pn(nx, ny, nz);
[0089] Among them,
[0090] nx = x / (x 2 + y 2 + z 2 );
[0091] ny = y / (x 2 + y 2 + z 2 );
[0092] nz = z / (x 2 + y 2 + z 2 )。
[0093] In the second step, consider the unit vector Pn(nx, ny, nz) as a point on the unit sphere, map the unit sphere to an octahedron, and then project the octahedron onto the plane z = 0, obtaining the following:
[0094] sum = |nx| + |ny| + |nz|;
[0095] tx = nx / sum;
[0096] ty = ny / sum。
[0097] In the third step, when nz < 0, reflect the sphere coordinates along the diagonal onto the plane z = 0, obtaining the following:
[0098] When tx ≥ 0.0, ex = (1.0 - |ty|);
[0099] When tx < 0.0, ex = -1.0 × (1.0 - |ty|);
[0100] When ty ≥ 0.0, ey = (1.0 - |tx|);
[0101] When ty < 0.0, ey = -1.0 × (1.0 - |tx|)。
[0102] In the fourth step, store ex and ey as 16-bit unsigned integer values respectively.
[0103] After the above fourth step is completed, the compression process of the three-dimensional coordinate data of the vertex P is completed.
[0104] In summary, based on the above-mentioned OCT compression algorithm, the inventor can compress the three-dimensional coordinate data P (x, y, z) of the vertex into two 16-bit unsigned integer values, namely ex and ey. However, the direct use of the OCT compression algorithm raises the new problem of being unable to guarantee the accuracy of the data. In the actual application of the autonomous driving visualization platform, data such as Marker data and PointsCloud data are usually measured in "meter" units. At the same time, the inventor expects the data accuracy to be able to express "centimeter" or even higher accuracy. This requires that the accuracy of the compressed vertex data can at least be accurately expressed to the last two decimal places. Therefore, on the basis of using the OCT compression algorithm to compress the vertex data, it is necessary to add an offset mechanism to ensure the accuracy of the compressed vertex data. In the specific processing process, the inventor uses the current position coordinates of the main vehicle as the offset coordinates combined with the OCT compression algorithm to compress the vertex data:
[0105] Taking the three-dimensional coordinate data P (x, y, z) of vertex P as (10665.3247, 7435.6648, 40.3846) as an example, the OCT compression algorithm is directly used to compress the three-dimensional coordinate data (10665.3247, 7435.6648, 40.3846), and the three-dimensional coordinate data (10664.8564, 7435.9388, 40.3327) is obtained after the compressed data is decompressed. It can be seen that the accuracy of the data of the horizontal coordinate x and the vertical coordinate y is greatly reduced after decompression, and the compression process causes data accuracy loss, so it does not meet the inventor's use requirements.
[0106] Therefore, before compressing the vertices, the inventor obtains the coordinates E (10334.4343, 7632.3431, 39.6563) of the current main vehicle, and uses it as the offset coordinate to perform precision processing on the three-dimensional coordinate data P (x, y, z) of the vertex P, and obtains the vertex coordinate data S = PE = (330.8904, -196.6783, 0.7283); then, the OCT compression algorithm is used to compress the vertex coordinate data S. The three-dimensional coordinate data of the vertex obtained after decompressing the compressed data is (10665.3275, 7435.6676, 40.3814). Therefore, the data accuracy of two decimal places can be guaranteed, which also means that the compressed data supports "centimeter" level accuracy.
[0107] Therefore, after the above color data and three-dimensional coordinate data are compressed, the final data format of each vertex is as follows: Figure 6 shown.
[0108] Depend on Figure 6It can be seen that each vertex is reduced from the original 28 bytes to 12 bytes, namely the compressed coordinates (4 bytes), the coordinate vector size (4 bytes), and the compressed color (4 bytes). Such a high degree of compression of vertex data helps improve the transmission efficiency. Moreover, Figure 6 the size in Figure 6 records the length of the three-dimensional coordinate data. When decompressing, we need to use this size to restore the length of the initial three-dimensional coordinates.
[0109] Meanwhile, since the amount of vertex data in Marker data and PointsCloud data is very large, it is difficult to display the data in real time and smoothly if the vertex data is decompressed one by one by the CPU and then pushed to the renderer. Therefore, the inventor decompresses the vertex data in large batches in parallel by the GPU and pushes the decompressed vertex data to the renderer, so as to support real-time decompression and visualization of the data and improve the usage efficiency of the autonomous driving visualization platform.
[0110] The steps for the GPU to decompress the compressed vertex data are as follows:
[0111] First step, execute the inverse process of the OCT compression algorithm, use the snorm2ToVec3 function to parse the input abscissa u and ordinate v, and then map the abscissa u and ordinate v to the vertex P1 on the octahedron face;
[0112] Second step, map P1 to a vertex P2 on the unit sphere, and then scale the vertex coordinates of P2 (i.e., multiply by the coordinate vector size) to obtain P3;
[0113] Third step, add the offset coordinates to P3 to obtain the decompressed three-dimensional coordinate data;
[0114] Fourth step, use a color parsing function (for example, preferably the DecodeColorFromFloat function in this example) to parse the compressed color channel to obtain the color channel value of the corresponding color channel.
[0115] Figure 7 A data compression device provided by the fourth exemplary embodiment of the present application, which corresponds one-to-one with the compression method in the above embodiment. The compression device includes:
[0116] An acquisition module, used to acquire vertex data in the autonomous driving visualization platform;
[0117] A compression module, which compresses the three-dimensional coordinate data and color data in the vertex data respectively by using the OCT compression algorithm and the RGBA compression algorithm to obtain the compressed vertex data.
[0118] Each module of the above compression device can be implemented in whole or in part by software, hardware, or a combination thereof. Each of the above modules can be embedded in a processor in a computer device in hardware form or be independent of it, or can be stored in a memory in a computer device in software form, so that the processor can call and execute the operations corresponding to each of the above modules.
[0119] Figure 8 This is a device provided by the fifth exemplary embodiment of the present application. The device can be a server. The server is used to run an autonomous driving visualization platform. The device includes a processor, a memory, and a communication interface connected by a system bus. Among them, the processor of the device is used to provide computing and control capabilities. The memory of the device can be implemented by any type of volatile or non-volatile storage device or a combination thereof. The volatile or non-volatile storage devices include but are not limited to: magnetic disks, optical disks, EEPROM, EPROM, SRAM, ROM, magnetic memories, flash memories, and PROM. The memory of the device provides an environment for the operation of the operating system and computer programs stored therein. The communication interface of the device is a network interface, and the network interface is used to communicate with external terminals through a network connection. When the computer program is executed by the processor, it implements the steps of the compression method described in the above embodiment.
[0120] In another embodiment of the present application, a storage medium is provided. The storage medium stores a computer program, and when the computer program is executed by a processor, it implements the steps of the compression method described in the above embodiment. The storage medium includes but is not limited to: ROM, RAM, CD-ROM, magnetic disks, and floppy disks.
[0121] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, only the above division of each functional unit and module is used as an example. In actual applications, the above functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device described in the present application is divided into different functional units or modules to complete all or part of the functions described above.
[0122] The embodiments of the present application have been described above in conjunction with the accompanying drawings. However, the present application is not limited to the above specific embodiments. The above specific embodiments are merely illustrative and not restrictive. Under the inspiration of the present application, those of ordinary skill in the art can also make many forms without departing from the purpose of the present application and the scope protected by the claims, and all of them belong to the protection scope of the present application.
Claims
1. A data compression method, characterized in that, Including: Obtain vertex data in the autonomous driving visualization platform; Use the OCT compression algorithm and the RGBA compression algorithm to compress the three-dimensional coordinate data and color data in the vertex data respectively, and obtain the compressed vertex data; Before using the OCT compression algorithm to compress the three-dimensional coordinate data in the vertex data, it further includes: Perform precision processing on the position data in the vertex using the offset coordinates, subtract the offset coordinates from the position data in the vertex data, and obtain the three-dimensional coordinate data in the vertex data; The use of the OCT compression algorithm to compress the three-dimensional coordinate data in the vertex data includes: Convert the three-dimensional coordinate data into a unit vector; Regard the unit vector as a point on the unit sphere, map the unit sphere to an octahedron, and then project the octahedron onto the plane of Z = 0; Reflect the hemisphere in the -Z direction to the plane of Z = 0 through the diagonal to obtain a square; Save the abscissa and ordinate of the square on the plane of Z = 0 as unsigned integer values respectively.
2. The data compression method according to claim 1, wherein After compressing the three-dimensional coordinate data and color data, it further includes: Use the GPU to decompress the compressed vertex data in real time; Send the decompressed vertex data to the renderer.
3. The data compression method according to claim 2, wherein The use of the GPU to decompress the compressed vertex data in real time includes: Execute the inverse process of the OCT compression algorithm in the GPU to obtain the decompressed three-dimensional coordinate data; Execute the color parsing function in the GPU to obtain the decompressed color data.
4. The data compression method according to any one of claims 1 to 3, characterized in that, The use of the RGBA compression algorithm to compress the color data in the vertex data includes: Convert the color channel values corresponding to each color channel in the color data into corresponding unsigned integer values respectively; Use shift operations to convert each of the unsigned integer values into a total unsigned integer value.
5. A data compression device, characterized in that, Including: An acquisition module for acquiring vertex data in the autonomous driving visualization platform, performing precision processing on the position data in the vertex using the offset coordinates, subtracting the offset coordinates from the position data in the vertex data, and obtaining the three-dimensional coordinate data in the vertex data; A compression module for using the OCT compression algorithm and the RGBA compression algorithm to compress the three-dimensional coordinate data and color data in the vertex data respectively, and obtaining the compressed vertex data; the use of the OCT compression algorithm to compress the three-dimensional coordinate data in the vertex data includes converting the three-dimensional coordinate data into a unit vector; regarding the unit vector as a point on the unit sphere, mapping the unit sphere to an octahedron, and then projecting the octahedron onto the plane of Z = 0; reflecting the hemisphere in the -Z direction to the plane of Z = 0 through the diagonal to obtain a square; saving the abscissa and ordinate of the square on the plane of Z = 0 as unsigned integer values respectively.
6. A device, characterized in that, Including a memory, a processor, and a computer program stored in the memory and capable of running on the processor. When the processor executes the computer program, it implements the steps of the data compression method described in any one of claims 1 - 4.
7. A storage medium, characterized in that, A computer program is stored in the storage medium, and when the computer program is executed by a processor, the steps of the data compression method according to any one of claims 1 to 4 are implemented.
Citation Information
Patent Citations
Point cloud compression encoder key parameter optimization method based on support vector machine
CN110097605A
Point cloud processing method and device
CN111699690A