Three-dimensional code generation method and device, three-dimensional code analysis method and device, electronic equipment, storage medium, program product and computer equipment
By generating 3D codes in three-dimensional space, the problem of insufficient QR code data capacity is solved, achieving greater storage capacity and security, and making it suitable for multimedia information storage and covert communication.
Patent Information
- Application Number
- CN202511465444.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-14
- Publication Date
- 2026-02-10
AI Technical Summary
QR codes have limited data capacity, which leads to increased size when more information needs to be stored, complicated scanning and decoding processes, and issues of information leakage and security.
A stereo code generation method is adopted to encode the original data in three-dimensional space. Three-dimensional point cloud data is generated by determining the three-dimensional position feature points and data mapping. The AES encryption algorithm is used to ensure data security and uniqueness.
It achieves greater data storage capacity, enhances data security and anti-counterfeiting features, is difficult to directly parse, and is suitable for multimedia information storage and covert communication.
Smart Images

Figure CN121503518A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, and in particular to a method and apparatus for generating and parsing 3D codes, electronic devices, storage media, program products, and computer equipment. Background Technology
[0002] QR code technology is a widely used technology for data storage and transmission. QR codes can encode and store data in a matrix form in a planar image. During decoding, the planar image can be scanned by an image scanning device to achieve fast decoding.
[0003] However, since QR codes typically have a maximum pixel limit, the amount of data they can store is usually also limited. When more information needs to be stored, the size of the QR code generally needs to be increased, which leads to inconvenience in scanning and decoding. Summary of the Invention
[0004] To address the aforementioned technical problems, embodiments of this application propose a method and apparatus for generating and parsing 3D QR codes, an electronic device, a storage medium, a program product, and a computer device, which can at least solve the problem of insufficient data storage capacity in QR codes.
[0005] In a first aspect, embodiments of this application provide a method for generating stereocodes, including: Determine first position information, wherein the first position information is suitable for characterizing the position of each three-dimensional position feature point of the stereo code in three-dimensional space; Determine second location information, wherein the second location information is adapted to characterize the location of the original data mapped into the three-dimensional space; Based on the first location information, the second location information, and the original data, three-dimensional point cloud data is generated; Based on the three-dimensional point cloud data, the format data corresponding to the stereo code is generated.
[0006] Optionally, determining the second location information includes: The output value corresponding to the original data is determined using a preset mapping function; The output value is mapped onto the three-dimensional space to determine the output value location information, wherein the output value location information is adapted to characterize the position of the output value mapped onto the three-dimensional space; The second position information is determined based on the output value position information.
[0007] Optionally, the mapping function includes the Advanced Encryption Standard (AES) encryption algorithm.
[0008] Optionally, mapping the output value to the three-dimensional space to determine the output value location information includes: The output value is split into n data values, where n≥2, and each of the n data values corresponds to one dimension of the three-dimensional coordinate system of the three-dimensional space. Each of the n data values is mapped to a coordinate system corresponding to one dimension of the three-dimensional coordinate system to obtain the mapped coordinate value of each data value. Based on the mapping coordinates of the n data values, the location information of the output value is determined.
[0009] Optionally, the n data values are three data values, and the three data values correspond one-to-one with the three dimensions of the three-dimensional coordinate system.
[0010] Optionally, determining the first location information includes: Determine the first boundary information of the three-dimensional space; Obtain each position detection block that corresponds one-to-one with each of the three-dimensional position feature points, and determine the second boundary information of each position detection block; Based on the first boundary information and the second boundary information, the first location information is determined.
[0011] Optionally, generating 3D point cloud data based on the first location information, the second location information, and the original data includes: Based on the second location information, a point cloud data structure is generated; The point cloud data structure is subjected to preset processing to obtain preliminary point cloud data. The preset processing includes: adding each location detection block to the point cloud data structure according to the first location information, and encoding at least part of the information in the original data and mapping it to the point cloud data structure according to the second location information. Based on the preliminary point cloud data, the three-dimensional point cloud data is obtained.
[0012] Optionally, obtaining the 3D point cloud data based on the preliminary point cloud data includes: For at least a portion of the point cloud data points in the preliminary point cloud data, determine the verification value of each point cloud data point. Based on the positions of at least some point cloud data points in the preliminary point cloud data, the verification value is embedded in the preliminary point cloud data to obtain the three-dimensional point cloud data.
[0013] Optionally, the positions of at least some point cloud data points in the initial point cloud data are adapted to characterize local feature coordinate reference points on the point cloud data structure.
[0014] Optionally, each of the three-dimensional position feature points includes each corner point of the stereo code.
[0015] Secondly, embodiments of this application provide a method for parsing stereocodes, including: Acquire scanned point cloud data obtained by scanning the stereo code; In the scanned point cloud data, the first position information of the stereo code is determined, wherein the first position information is suitable for characterizing the position of each three-dimensional position feature point of the stereo code in three-dimensional space; Based on the first location information, the data of the stereo code is extracted from the scanned point cloud data to obtain the stereo code data; Based on the third position information of the stereo code data, the stereo code data is converted into original data, wherein the third position information is suitable for characterizing the position of each data point in the stereo code data in the three-dimensional space.
[0016] Optionally, converting the stereocode data into original data based on the third position information of the stereocode data includes: Based on the third location information, output value location information is determined, wherein the output value location information is suitable for characterizing the position of the output value mapped to the three-dimensional space; Based on the output value location information, the stereo code data is identified to obtain the output value; The output value is converted back to the original data using a preset inverse mapping function.
[0017] Optionally, the inverse mapping function includes the Advanced Encryption Standard (AES) decryption algorithm.
[0018] Optionally, the step of identifying the stereocode data based on the output value location information to obtain the output value includes: Based on the output value location information, three sets of mapped coordinate values are determined, wherein the three sets of mapped coordinate values correspond one-to-one with the three dimensions of the three-dimensional coordinate system of the three-dimensional solid space. For each of the three sets of mapped coordinate values, convert it into the corresponding data value; The data values corresponding to the three sets of mapped coordinate values are merged to obtain the output value.
[0019] Optionally, determining the first position information of the stereo code in the scanned point cloud data includes: In the scanned point cloud data, the second boundary information and the position information of each detection block at each location are determined, wherein each detection block at each location corresponds one-to-one with each three-dimensional position feature point; Based on the second boundary information and the position information of each of the detection blocks, the first position information of the stereo code is determined in the scanned point cloud data.
[0020] Thirdly, embodiments of this application provide a stereocode generation apparatus, comprising: The first position information determination module is used to determine first position information, wherein the first position information is suitable for characterizing the position of each three-dimensional position feature point of the stereo code in three-dimensional space. The second position information determination module is used to determine second position information, wherein the second position information is adapted to characterize the position of the original data mapped to the three-dimensional space; A 3D point cloud data generation module is used to generate 3D point cloud data based on the first location information, the second location information, and the original data; The format data generation module is used to generate the format data corresponding to the stereo code based on the three-dimensional point cloud data.
[0021] Fourthly, embodiments of this application provide a stereocode parsing apparatus, comprising: The scanning point cloud data acquisition module is used to acquire the scanning point cloud data obtained by scanning the stereo code; The first position information parsing module is used to determine the first position information of the stereo code in the scanned point cloud data, wherein the first position information is suitable for characterizing the position of each three-dimensional position feature point of the stereo code in three-dimensional space. A stereo code data extraction module is used to extract the stereo code data from the scanned point cloud data based on the first location information to obtain stereo code data; The raw data parsing module is used to convert the stereo code data into raw data based on the third position information of the stereo code data, wherein the third position information is suitable for characterizing the position of each data point in the stereo code data in the three-dimensional space.
[0022] Fifthly, embodiments of this application provide an electronic device, including: A depth sensor is configured to scan stereo codes to obtain scanned point cloud data; and The processor is configured to perform the method described in any one of the second aspects above.
[0023] Sixthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described in any of the preceding claims.
[0024] In a seventh aspect, embodiments of this application provide a computer program product, including computer instructions that, when executed by a processor, implement the steps of the method described in any of the preceding claims.
[0025] Eighthly, embodiments of this application provide a computer device including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor executes the computer program to implement the steps of the method described in any of the preceding claims.
[0026] In summary, the embodiments of this application have at least the following beneficial effects: By employing the embodiments of this application, the three-dimensional spatial characteristics of stereo codes can achieve a larger data storage capacity compared to QR codes, thereby solving the problem of insufficient data storage capacity of QR codes. In addition, the three-dimensional structure and complexity of stereo codes make them difficult to directly parse, enhancing the security of the data stored in stereo codes. Attached Figure Description
[0027] Figure 1 This is a schematic diagram of the structure of the QR code provided in the embodiments of this application; Figure 2 This is a schematic diagram of the QR code recognition process provided in the embodiments of this application; Figure 3 This is a flowchart illustrating the method for generating stereocodes provided in an embodiment of this application; Figure 4 This is a schematic diagram of the three-dimensional point cloud data provided in the embodiments of this application; Figure 5 This is a schematic diagram of generating stereocodes provided in an embodiment of this application; Figure 6 This is a flowchart illustrating the method for parsing stereocodes provided in an embodiment of this application; Figure 7 This is a schematic diagram of the parsing of stereocodes provided in an embodiment of this application; Figure 8 This is a schematic diagram of the stereocode generation device provided in the embodiments of this application; Figure 9 This is a schematic diagram of the stereocode parsing device provided in the embodiments of this application; Figure 10 This is a schematic diagram of the electronic device provided in the embodiments of this application; Figure 11 This is a schematic diagram of the computer device provided in the embodiments of this application. Detailed Implementation
[0028] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0029] In the description of this application, the terms "first," "second," "third," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined with "first," "second," "third," etc., may explicitly or implicitly include one or more of that feature. In the description of this application, unless otherwise stated, "a plurality of" means two or more. In the description of this application, the term "comprising" and its variations are open-ended, meaning "including but not limited to." The term "based on" means "at least partially based on." The term "according to" means "at least partially according to." The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments."
[0030] In the description of this application, it should be noted that, unless otherwise expressly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection between two components. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.
[0031] In the description of this application, it should be noted that, unless otherwise defined, all technical and scientific terms used in this application have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in this application is for the purpose of describing specific embodiments only and is not intended to limit the application. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.
[0032] In some cases, QR codes are used to store information. The technical principle of QR codes is mainly based on key steps such as data encoding, module arrangement, and error correction. First, the input data (such as text, links, or other information) is converted into binary data. Then, a specific encoding algorithm is used to map the binary data into the module arrangement of the QR code, so that the QR code is composed of a series of black and white squares (called modules). The arrangement of modules usually depends on the encoding algorithm and the data content. The QR code pattern contains specific positioning and calibration modules to help the scanning device determine the position and angle of the QR code. After the scanning device (such as a mobile phone camera) captures the image of the QR code, the image processing algorithm preprocesses the image, such as denoising and enhancing contrast. Then, the decoding algorithm analyzes the module arrangement of the QR code and extracts the encoded data information.
[0033] For example, a QR code (Quick Response Code) is a type of QR code. QR codes use four standardized encoding modes (numeric, alphanumeric, binary, and Japanese (Shift_JIS)) to store data, and their applications include product tracking, item identification, document management, and inventory marketing. See also Figure 1 The structural components of a QR code include a location detection pattern, a positioning pattern, a correction pattern, format information, version information, data, and error correction codes. See also... Figure 2 The main recognition process of QR codes is as follows: First, the QR code is converted to grayscale. Second, preprocessing is performed using methods such as global threshold binarization and image correction. For image correction, methods such as Sobel edge extraction, Hough transform, Ottoman inter-class variance method, plateau projection transformation, and bilinear interpolation are used. Finally, for the corrected image, a series of processes are performed, including determining the finder pattern, determining the version and format information, restoring the mask, restoring the codeword and correcting errors, and decoding the data code, to achieve QR code decoding.
[0034] Although QR codes have advantages such as low cost, high circulation, and wear resistance, they still have some drawbacks that cannot be ignored, such as: ① Because QR codes cannot be authenticated or encrypted, there is a risk of personal information leakage. Carelessly discarded QR codes, such as those for train tickets and food delivery orders, can be used by criminals to obtain user information for illegal activities. Furthermore, since QR codes are often used for website links, they not only provide opportunities for potential cyberattacks but also, because they do not provide visibility into the web pages and applications behind them, attackers can redirect users to websites, app stores, or business transactions. Their dependence on the network also provides attackers with opportunities for man-in-the-middle attacks and Wi-Fi eavesdropping.
[0035] ② The data storage capacity of QR codes is usually limited. Even the highest pixel version V40 (177*177 module) can only store the data capacity shown in Table 1 below, which cannot carry massive amounts of information.
[0036] Table 1
[0037] As can be seen, QR codes in related technologies encode and store data in the form of a matrix on the image plane. However, when more information needs to be stored, the size of the QR code can increase rapidly, making the scanning and decoding process complex.
[0038] Firstly, see [the following] Figure 3 The diagram shows a flowchart of a method for generating stereocodes according to an embodiment of this application. The method is applicable to stereocode building devices (such as terminal devices or servers) and includes steps S301-S304, as detailed below.
[0039] S301, determine first position information, wherein the first position information is suitable for characterizing the position of each three-dimensional position feature point of the stereo code in three-dimensional space.
[0040] In some examples, the aforementioned three-dimensional positional feature points can be used to indicate the approximate structure and / or shape of the stereo code in three-dimensional space. Therefore, they can be geometric feature points with geometric significance. For example, the aforementioned three-dimensional positional feature points can include at least one of the following: each corner point of the stereo code, each boundary line discrete feature point of the stereo code, each boundary surface discrete feature point on each boundary surface of the stereo code, etc.
[0041] S302, determine the second position information, wherein the second position information is suitable for characterizing the position of the original data mapped to the three-dimensional space.
[0042] In some examples, the original data refers to data that needs to be transformed and stored in a three-dimensional code. This transformation and storage can typically be accomplished using predefined methods (i.e., predefined algorithms / functions can be used to transform and store the original data in a three-dimensional code). This allows us to directly determine the coordinates of each data point in the original data mapped to the corresponding three-dimensional space, thus obtaining the position of the original data mapped to the three-dimensional space and acquiring the second position information. For example, the algorithm / function used to implement this transformation and storage can be a pre-defined encryption algorithm, such as AES (Advanced Encryption Standard), a hash function, and / or other encryption algorithms.
[0043] S303, Based on the first location information, the second location information, and the original data, generate three-dimensional point cloud data.
[0044] It should be noted that a point cloud is a three-dimensional dataset composed of a large number of points, each containing location and possibly other attribute information. The points in the point cloud are arranged according to specific rules and layouts to form a stereo code structure, which allows the point cloud form of stereo code structure to have greater flexibility and richer representation capabilities.
[0045] In some examples, since the first position information is known, that is, the positions of each three-dimensional position feature point of the stereo code are determined, the approximate structure and / or approximate shape of the stereo code can be inferred. For example, the stereo code can be regarded as a closed three-dimensional geometric structure, which is equivalent to obtaining the geometric shell of the stereo code. Subsequently, based on the second position information, the original data is mapped to the position in three-dimensional space, and further mapped to the inside of the geometric shell of the stereo code, thereby determining the position of the original data mapped to the inside of the geometric shell of the stereo code. Then, each data point of the original data can be mapped to the corresponding position inside the geometric shell of the stereo code to form three-dimensional point cloud data that records the corresponding information of the original data.
[0046] In some examples, a cuboid structure is used as an example; see [link / reference]. Figure 4 The generated 3D point cloud data can be a cuboid structure as shown in the figure. This point cloud data consists of a large number of points, each containing position (X, Y, Z coordinates) and other attribute information (such as color, texture, etc.). The points in the point cloud are arranged according to specific rules and layout to form a 3D code structure. The density and distribution of points can be adjusted as needed to adapt to different data capacity and accuracy requirements.
[0047] S304, Based on the three-dimensional point cloud data, generate the format data corresponding to the stereo code.
[0048] In some examples, generating the formatted data corresponding to the stereo code based on the 3D point cloud data may include: encoding the 3D point cloud data to generate the formatted data corresponding to the stereo code. The encoding process may include encoding the 3D point cloud data into binary data according to a predetermined encoding method.
[0049] This data format can include a pre-defined format file for storing 3D data, such as the PLY (Polygon File Format / Stanford Triangle Format) format. This data format can include data on various attributes of the stereo code, such as points, faces, and colors.
[0050] For example, the steps for outputting a PLY format file may include: 1. Creating a file: Opening or creating a new PLY file. 2. Writing header information: Writing the file header information to the file. 3. Writing 3D point cloud data: Writing the attribute information of each point in the 3D point cloud data to the file. 4. Closing the file: Closing the file after writing is complete.
[0051] Finally, the formatted data is saved to physical storage media (such as hard drives or flash drives) or transmitted to the target device over a network. During storage and transmission, data security and integrity are ensured using encryption techniques or error detection and correction mechanisms.
[0052] In this embodiment, since the stereo code introduces a new dimension compared to the QR code, the data is encoded in a three-dimensional space, thereby providing greater capacity for data storage and transmission, while maintaining scanning and decoding characteristics.
[0053] In one optional implementation, determining the second location information includes: The output value corresponding to the original data is determined using a preset mapping function; The output value is mapped onto the three-dimensional space to determine the output value location information, wherein the output value location information is adapted to characterize the position of the output value mapped onto the three-dimensional space; The second position information is determined based on the output value position information.
[0054] In some examples, the above mapping function can be used to map the original data to a preset large output space to obtain an output value, so that the output value has good distribution characteristics in the output space. Thus, this embodiment can effectively reduce the possibility of conflict between different data points of the original data after mapping (for example, if two different data points are mapped to the same coordinate point in the output space, it means that the two different data points have conflicted after mapping).
[0055] In some examples, the output value can have a preset data length. For example, the output value can be a 256-bit (32-byte) value (i.e., the data length of the output value is 256 bits), or it can be 128 bits, 512 bits, 1024 bits, etc., which are not specifically limited here.
[0056] In some examples, the principles for determining the output value location information in this embodiment can be referred to the description in the relevant embodiments for determining the second location information above, and will not be repeated here.
[0057] In some examples, the aforementioned second position information can be obtained by transforming and / or merging the output value position information, or the output value position information can be directly determined as the second position information.
[0058] In one alternative implementation, the mapping function includes the Advanced Encryption Standard (AES) encryption algorithm.
[0059] In some examples, the AES encryption algorithm can map the raw input data into a 256-bit (32-byte) output value. Let the input plaintext (i.e., the raw data) be a block P, the output ciphertext (i.e., the output value) be a block C, the key be K, and the round key be Ki. The encryption process (mapping process) of the AES encryption algorithm can be described as: C = AES K (P), where AES K This indicates that AES encryption is performed using key K.
[0060] In this embodiment, because the AES encryption algorithm has good distribution characteristics and a large output space (256 bits), it can effectively avoid the collisions that occur after different data points of the original data are mapped. Furthermore, the mapping implemented by the AES encryption algorithm also ensures the uniqueness and uniformity of the data distribution, thereby improving the recognition accuracy and data storage efficiency of the stereo code system.
[0061] In one optional implementation, mapping the output value to the three-dimensional space to determine the output value location information includes: The output value is split into n data values, where n≥2, and each of the n data values corresponds to one dimension of the three-dimensional coordinate system of the three-dimensional space. Each of the n data values is mapped to a coordinate system corresponding to one dimension of the three-dimensional coordinate system to obtain the mapped coordinate value of each data value. Based on the mapping coordinates of the n data values, the location information of the output value is determined.
[0062] In this embodiment, the output value is split and the n split data values are mapped to their respective coordinate systems of the corresponding dimensions, which improves the flexibility of data value mapping. Furthermore, for output values with large data lengths, different parts of the output value can be mapped separately to avoid the problem of high requirements for the coordinate value range of the coordinate system of the same dimension, which would otherwise result in a long 3D code in the direction corresponding to that dimension.
[0063] In some examples, since a three-dimensional coordinate system refers to a coordinate system with three dimensions, after splitting the output value into n data values, a correspondence can be established between each data value and any one of the three dimensions (X-axis, Y-axis, Z-axis). This correspondence can be determined based on the data length of each data value and the range of coordinate values in one dimension of the coordinate system. Taking the X-axis coordinate system as an example, assuming the range of coordinate values in this embodiment is 0 to 255, and the output value is a 256-bit value (the sum of the data lengths of the n data values is also 256 bits), then it is possible to map all n data values to the X-axis coordinate system without conflicting in the X-axis coordinate system, or to map a portion of the n data values to the X-axis coordinate system and another portion to the Y-axis and / or Z-axis coordinate systems.
[0064] In some examples, each of the aforementioned n data values can be a continuous value in the output value. In other words, the output value can be split along a predetermined direction to obtain n data values. For example, the output value can be split from left to right or from right to left to obtain n data values. Of course, each of the aforementioned n data values can also be discontinuous in the output value; that is, at least some of the aforementioned n data values can be obtained by extracting them from the output value at intervals.
[0065] In some examples, the location information of the output value can be composed of the combined mapped coordinates of the n data values.
[0066] In one optional implementation, the n data values are three data values, each corresponding to one of the three dimensions of the three-dimensional coordinate system.
[0067] In this embodiment, the output value is divided into three data values, and the three data values are mapped to three coordinate systems of three dimensions, that is, the X-axis, Y-axis and Z-axis coordinate systems are mapped to a corresponding set of data values, so that the output value can make full use of the spatial characteristics of the three dimensions during mapping, so as to maximize the data storage capacity.
[0068] In some examples, the three data values mentioned above can be obtained by equally dividing the output values.
[0069] In some examples, taking a 256-bit output value as an example, the output value is denoted as AES(data)={h0}. h1 ,…,h 31 Therefore, the above output value can be divided into three data values (that is, three data values corresponding to the X-axis, Y-axis, and Z-axis coordinate systems respectively) using the following formula:
[0070] Furthermore, considering the 3D code as a closed 3D geometric structure, the three data values mentioned above should be mapped to the interior of this 3D geometric structure. We can assume that the maximum values of this 3D geometric structure on the X, Y, and Z axes are L, W, and H respectively (with minimum values of 0). Thus, the three data values can be mapped to the interior of this 3D geometric structure using modular arithmetic. The modular arithmetic formula is as follows:
[0071] Thus, this embodiment can ensure the uniqueness and uniformity of data distribution, thereby improving the recognition accuracy and data storage efficiency of the 3D barcode system.
[0072] In one optional implementation, determining the first location information includes: Determine the first boundary information of the three-dimensional space; Obtain each position detection block that corresponds one-to-one with each of the three-dimensional position feature points, and determine the second boundary information of each position detection block; Based on the first boundary information and the second boundary information, the first location information is determined.
[0073] In some examples, when the 3D code is considered as a closed 3D geometric structure, the aforementioned first boundary information can be used to indicate the outer boundary of the 3D geometric structure. Taking the 3D geometric structure as a cuboid structure as an example, the dimensions of the 3D geometric structure can be set as L×W×H, where L is the length, W is the width, and H is the height. Based on this, a three-dimensional array S is initialized to represent the 3D geometric structure.
[0074] Furthermore, assuming each location detector block is a cube of size B×B×B, where B is the side length, the second boundary information can be used to indicate the size and / or boundary coordinates of the location detector block, and the color-coded value of the location detector block is C. Then, the location detector block can be represented as:
[0075] Thus, by determining the size and / or boundary coordinates of the position detection block through the second boundary information and determining the boundary coordinates of the three-dimensional geometry through the first boundary information, the position of the position detection block can be fixed to its corresponding three-dimensional position feature point, thereby calculating the position of each three-dimensional position feature point in the three-dimensional space (here, a corner point of the position detection block can be superimposed on the corresponding three-dimensional position feature point, or the center point of the position detection block can be superimposed on the corresponding three-dimensional position feature point, or one or several feature points of the position detection block can be superimposed on the corresponding three-dimensional position feature point, so as to facilitate calculation, without specific restrictions), to form the first position information, thereby enabling the first position information to more accurately represent the three-dimensional features of the stereo code.
[0076] In one optional implementation, generating 3D point cloud data based on the first location information, the second location information, and the original data includes: Based on the second location information, a point cloud data structure is generated; The point cloud data structure is subjected to preset processing to obtain preliminary point cloud data. The preset processing includes: adding each location detection block to the point cloud data structure according to the first location information, and encoding at least part of the information in the original data and mapping it to the point cloud data structure according to the second location information. Based on the preliminary point cloud data, the three-dimensional point cloud data is obtained.
[0077] In this embodiment, after adding various position probe blocks to the point cloud data structure, the scanning calibration and decoding of the stereo code can be performed more efficiently by using the various position probe blocks as references, thereby improving the decoding efficiency.
[0078] In some examples, at least some information in the original data may include attribute information, such as at least one of color attribute information and texture attribute information. This allows the corresponding data points in the point cloud data structure to be mapped to a portion of this attribute information. Assuming the position of a data point in the point cloud data structure is represented as (x, y, z), and the data point is mapped to the color attribute information `color`, then the point cloud data points in the preliminary point cloud data obtained after pre-processing can be represented as Point=(x,y,z,color). Furthermore, the encoding of at least some information in the original data can be expressed by the following formula: `color=encode_color(data_property)`, which sets the color attribute of each point to the encoded color value and associates the encoded color value with each point cloud data point: `Point.color=color`. Here, `encode_color` represents the function used to convert the input data `data_property` into a color value `color`.
[0079] In some examples, taking the geometry of the 3D code as a cuboid, the 3D code has 8 corner points. The coordinate set of these 8 corner points is represented as follows: corner_positions={(xmin,ymin,zmin),(xmin,ymin,zmax),…,(xmax,ymax,zmax)} Thus, see Figure 5 Eight position detection blocks can be set at the eight corner points respectively, so that the eight position detection blocks are located at the boundary of the stereo code. Furthermore, at least some of the position detection blocks can be set with corresponding specific colors and / or specific shapes to facilitate identification and / or differentiation of position detection blocks.
[0080] In some examples, the encoding process described in the relevant embodiments of S304 above can be further described in this embodiment as follows: the encoding process can further include encoding the data corresponding to each location probe block in the 3D point cloud data (such as the location information, identification information, and / or pattern information corresponding to each location probe block, etc.) into binary data according to a predetermined encoding method. Further, the data corresponding to each location probe block can also include the geometric features, color, texture, etc., of the location probe block, thereby ensuring accurate identification and positioning of the stereo code during scanning. In this way, the binary data corresponding to each location probe block, as well as the remaining binary data, can be integrated into a unified data structure. This structure can include header information (such as file format identifier, version number, etc.), point cloud data blocks, probe block data blocks, and checksum and / or error correction code information.
[0081] In one optional implementation, obtaining the 3D point cloud data based on the preliminary point cloud data includes: For at least a portion of the point cloud data points in the preliminary point cloud data, determine the verification value of each point cloud data point. Based on the positions of at least some point cloud data points in the preliminary point cloud data, the verification value is embedded in the preliminary point cloud data to obtain the three-dimensional point cloud data.
[0082] In this embodiment, by calculating a check value for at least a portion of the point cloud data points in the initial point cloud data, the check value can be used subsequently to detect the integrity of the data corresponding to the corresponding point cloud data points, thereby enhancing the error correction capability.
[0083] In some examples, the above checksum may include a first checksum obtained by calculating the checksum, which can be expressed as: checksum=CRC32(x,y,z,color).
[0084] After calculating the checksum, taking the checksum as an example, it can be stored as an additional attribute of the corresponding point cloud data point: Point.checksum=checksum.
[0085] In one alternative implementation, the positions of the at least some point cloud data points in the initial point cloud data are adapted to characterize local feature coordinate reference points on the point cloud data structure.
[0086] In this embodiment, in order to improve the verification effect while reducing computational complexity, it is only necessary to calculate the verification value of the point cloud data point corresponding to the local feature coordinate reference point on the point cloud data structure. The local feature coordinate reference point can be used to represent at least one of the following: geometric feature points on the geometric structure of the stereo code, or one or more sets of object feature points with known coordinates contained in the stereo code.
[0087] In some examples, local feature coordinate reference points can be selected and embedded into the point cloud data in the following way: The function `reference_points = select_reference_points(point_cloud)` selects reference points from the given point cloud data `point_cloud` and stores the selection results in the variable `reference_points`.
[0088] Furthermore, the selected reference point is marked as the local feature coordinate reference point: `Point.is_reference=True`, where `is_reference` is a boolean attribute used to indicate whether the point `Point` is selected as a reference point. Setting it to `True` indicates that the point is a reference point, i.e., used as a reference point for local feature coordinates.
[0089] In one alternative implementation, each of the three-dimensional positional feature points includes each corner point of the stereo code.
[0090] In some examples, it is assumed that the second boundary information of the position detection blocks corresponding to each corner point of the stereo code is known, and the first boundary information of the three-dimensional space is also known. In this case, the corner coordinates (Xi) of each corner point (taking the geometry of the stereo code as a cuboid as an example, with a total of 8 corner points) can be calculated by the following formula. Yi Zi ):
[0091] In this way, each position probe block Pi can be placed at the aforementioned 8 corner points. The color code value for the position probe block is set to Ci (the color value can be set according to requirements).
[0092]
[0093] Based on the above-described embodiments, this application may have at least one of the following advantages: 1) Larger storage capacity: 3D codes can store data in three-dimensional space, which is larger than QR codes which are stored on a two-dimensional plane, and can hold more information.
[0094] 2) Enhanced anti-counterfeiting capabilities: The complex structure and difficulty in copying of 3D codes give them greater potential in the field of anti-counterfeiting. 3D codes incorporate the geometric information of objects, making them difficult to copy or forge easily.
[0095] 3) Enhanced Security: The three-dimensional structure and complexity of 3D codes make them difficult to decipher directly, thus enhancing data security. Furthermore, 3D codes can be combined with encryption techniques to further improve data confidentiality.
[0096] 4) Provide more information: In addition to storing basic information such as text and links, 3D codes can also embed multimedia information such as images, models, and audio, providing users with a richer experience.
[0097] 5) Integration with objects: 3D codes can be integrated with objects, making them difficult to detect on the surface of the object, thus giving them an advantage in scenarios requiring covert communication or anti-counterfeiting tracking.
[0098] Secondly, see Figure 6 The diagram shows a flowchart of a method for parsing a stereo code according to an embodiment of this application. The method is applicable to decoding devices (e.g., terminal devices) and includes steps S601-S604, as detailed below.
[0099] S601, acquire the scanned point cloud data obtained by scanning the stereo code; S602, in the scanned point cloud data, the first position information of the stereo code is determined, wherein the first position information is suitable for characterizing the position of each three-dimensional position feature point of the stereo code in three-dimensional space. S603, Based on the first location information, extract the data of the stereo code from the scanned point cloud data to obtain stereo code data; S604, based on the third position information of the stereo code data, the stereo code data is converted into original data, wherein the third position information is suitable for characterizing the position of each data point in the stereo code data in the three-dimensional space.
[0100] In this embodiment, it can be seen as the reverse process of the stereo code generation method described in the first aspect. First, the first position information is determined by the position of each three-dimensional position feature point of the stereo code in three-dimensional space. Then, the stereo code data is extracted from the scanned point cloud data based on this information. Finally, under the premise of determining the position of each data point in the stereo code data in three-dimensional space, the mapping transformation between the original data and the three-dimensional space is realized to complete the parsing of the stereo code data. In addition, it can be understood that the third position information in this embodiment represents the position of each data point in the stereo code data in three-dimensional space, while the second position information described in the relevant embodiments of the first aspect represents the position of the original data "mapped" to the three-dimensional space. That is, both position information represent the position of the data points in three-dimensional space. However, this embodiment is based on the data points after mapping and the specific composition of the original data is unknown, while the embodiment of the first aspect is based on the knowledge of the original data and the estimation of the position of each data point after mapping.
[0101] See in some examples Figure 7 The scanned point cloud data can be obtained by rotating and scanning the stereo code using a device with a depth sensor. For example, the aforementioned decoding device may include the device with the depth sensor, or it may not include the device with the depth sensor but communicate with the device with the depth sensor to obtain the scanned point cloud data.
[0102] In one optional implementation, converting the stereocode data into original data based on the third position information of the stereocode data includes: Based on the third location information, output value location information is determined, wherein the output value location information is suitable for characterizing the position of the output value mapped to the three-dimensional space; Based on the output value location information, the stereo code data is identified to obtain the output value; The output value is converted back to the original data using a preset inverse mapping function.
[0103] In one alternative implementation, the inverse mapping function includes the Advanced Encryption Standard (AES) decryption algorithm.
[0104] In one optional implementation, the step of identifying the stereocode data based on the output value location information to obtain the output value includes: Based on the output value location information, three sets of mapped coordinate values are determined, wherein the three sets of mapped coordinate values correspond one-to-one with the three dimensions of the three-dimensional coordinate system of the three-dimensional solid space. For each of the three sets of mapped coordinate values, convert it into the corresponding data value; The data values corresponding to the three sets of mapped coordinate values are merged to obtain the output value.
[0105] In some examples, assuming the output value is 256 bits long, the coordinate values (e.g., xxx, yyy, zzz) in the third position information can be first restored into 256-bit data blocks. Let L, W, and H be the lengths of the 3D code along the X, Y, and Z axes, respectively. Then, the formulas for the components of the original data on each coordinate axis are first assumed to be:
[0106] Furthermore, data can be recovered using inverse modular arithmetic and bitwise operations:
[0107] Where, x i This represents the i-th element in the original data sequence. Representing 2 The power of, i.e. This actually makes x i Move to the left Bit (in binary representation), h i This represents the encoded result. Therefore, the formula means that for each value of i from 0 to 10, x... i Shift left The position is obtained as h i .
[0108] Finally, the output value is restored to the original data using the corresponding inverse mapping function, such as the AES decryption algorithm:
[0109] Where h is the recovered 256-bit data block and k is the AES key.
[0110] In one optional implementation, determining the first position information of the stereo code in the scanned point cloud data includes: In the scanned point cloud data, the second boundary information and the position information of each detection block at each location are determined, wherein each detection block at each location corresponds one-to-one with each three-dimensional position feature point; Based on the second boundary information and the position information of each of the detection blocks, the first position information of the stereo code is determined in the scanned point cloud data.
[0111] In this embodiment, identifying position probe blocks helps determine the boundaries and positioning information of the point cloud data. These position probe blocks are typically located at the corners or edges of the stereo code and are used to identify the starting position and orientation of the stereo code. Therefore, during scanning, it should be ensured that the initial position and orientation of the scanning device are approximately aligned with the position probe blocks corresponding to the stereo code.
[0112] In some examples, the location of a location probe block can be identified from scanned point cloud data based on its characteristics (such as color and shape) to form probe block location information, where the location (X) of each location probe block is... i ,Y i Z i ):
[0113] Then, by using the positions of each probe block (assuming there are 8), the actual range boundary (Bounding Box) of the stereo code is determined (i.e., the first position information of the stereo code):
[0114] After obtaining the first position information, the stereo code data within the bounding box defined by the first position information can be extracted from the scanned point cloud data to generate a new point cloud dataset containing only the points of the stereo code, thereby realizing the conversion of the scanned point cloud data obtained from scanning into stereo code data.
[0115]
[0116] Among them, a i This represents the attributes (such as color) of data points in 3D code data.
[0117] Thirdly, correspondingly, embodiments of this application also provide a stereocode generation apparatus capable of implementing all processes of the method described in any one of the first aspects of the above embodiments.
[0118] See Figure 8 The diagram shows a schematic representation of a stereocode generation apparatus provided in an embodiment of this application. The stereocode generation apparatus includes: The first position information determination module 801 is used to determine first position information, wherein the first position information is suitable for characterizing the position of each three-dimensional position feature point of the stereo code in three-dimensional space. The second position information determination module 802 is used to determine second position information, wherein the second position information is adapted to characterize the position of the original data mapped to the three-dimensional space; The 3D point cloud data generation module 803 is used to generate 3D point cloud data based on the first position information, the second position information and the original data; The format data generation module 804 is used to generate the format data corresponding to the stereo code based on the three-dimensional point cloud data.
[0119] In one optional implementation, determining the second location information includes: The output value corresponding to the original data is determined using a preset mapping function; The output value is mapped onto the three-dimensional space to determine the output value location information, wherein the output value location information is adapted to characterize the position of the output value mapped onto the three-dimensional space; The second position information is determined based on the output value position information.
[0120] In one alternative implementation, the mapping function includes the Advanced Encryption Standard (AES) encryption algorithm.
[0121] In one optional implementation, mapping the output value to the three-dimensional space to determine the output value location information includes: The output value is split into n data values, where n≥2, and each of the n data values corresponds to one dimension of the three-dimensional coordinate system of the three-dimensional space. Each of the n data values is mapped to a coordinate system corresponding to one dimension of the three-dimensional coordinate system to obtain the mapped coordinate value of each data value. Based on the mapping coordinates of the n data values, the location information of the output value is determined.
[0122] In one optional implementation, the n data values are three data values, each corresponding to one of the three dimensions of the three-dimensional coordinate system.
[0123] In one optional implementation, determining the first location information includes: Determine the first boundary information of the three-dimensional space; Obtain each position detection block that corresponds one-to-one with each of the three-dimensional position feature points, and determine the second boundary information of each position detection block; Based on the first boundary information and the second boundary information, the first location information is determined.
[0124] In one optional implementation, generating 3D point cloud data based on the first location information, the second location information, and the original data includes: Based on the second location information, a point cloud data structure is generated; The point cloud data structure is subjected to preset processing to obtain preliminary point cloud data. The preset processing includes: adding each location detection block to the point cloud data structure according to the first location information, and encoding at least part of the information in the original data and mapping it to the point cloud data structure according to the second location information. Based on the preliminary point cloud data, the three-dimensional point cloud data is obtained.
[0125] In one optional implementation, obtaining the 3D point cloud data based on the preliminary point cloud data includes: For at least a portion of the point cloud data points in the preliminary point cloud data, determine the verification value of each point cloud data point. Based on the positions of at least some point cloud data points in the preliminary point cloud data, the verification value is embedded in the preliminary point cloud data to obtain the three-dimensional point cloud data.
[0126] In one alternative implementation, the positions of the at least some point cloud data points in the initial point cloud data are adapted to characterize local feature coordinate reference points on the point cloud data structure.
[0127] In one alternative implementation, each of the three-dimensional positional feature points includes each corner point of the stereo code.
[0128] Fourthly, correspondingly, the embodiments of this application also provide a stereo code parsing apparatus, which can implement all the processes of the stereo code parsing method described in any one of the second aspects of the above embodiments.
[0129] See Figure 9The diagram shows a schematic representation of a stereocode parsing device provided in an embodiment of this application. The stereocode parsing device includes: The scanning point cloud data acquisition module 901 is used to acquire the scanning point cloud data obtained by scanning the stereo code; The first position information parsing module 902 is used to determine the first position information of the stereo code in the scanned point cloud data, wherein the first position information is suitable for characterizing the position of each three-dimensional position feature point of the stereo code in three-dimensional space. The stereo code data extraction module 903 is used to extract the stereo code data from the scanned point cloud data based on the first position information to obtain stereo code data; The raw data parsing module 904 is used to convert the stereo code data into raw data based on the third position information of the stereo code data, wherein the third position information is suitable for characterizing the position of each data point in the stereo code data in the three-dimensional space.
[0130] In one optional implementation, converting the stereocode data into original data based on the third position information of the stereocode data includes: Based on the third location information, output value location information is determined, wherein the output value location information is suitable for characterizing the position of the output value mapped to the three-dimensional space; Based on the output value location information, the stereo code data is identified to obtain the output value; The output value is converted back to the original data using a preset inverse mapping function.
[0131] In one alternative implementation, the inverse mapping function includes the Advanced Encryption Standard (AES) decryption algorithm.
[0132] In one optional implementation, the step of identifying the stereocode data based on the output value location information to obtain the output value includes: Based on the output value location information, three sets of mapped coordinate values are determined, wherein the three sets of mapped coordinate values correspond one-to-one with the three dimensions of the three-dimensional coordinate system of the three-dimensional solid space. For each of the three sets of mapped coordinate values, convert it into the corresponding data value; The data values corresponding to the three sets of mapped coordinate values are merged to obtain the output value.
[0133] In one optional implementation, determining the first position information of the stereo code in the scanned point cloud data includes: In the scanned point cloud data, the second boundary information and the position information of each detection block at each location are determined, wherein each detection block at each location corresponds one-to-one with each three-dimensional position feature point; Based on the second boundary information and the position information of each of the detection blocks, the first position information of the stereo code is determined in the scanned point cloud data.
[0134] Fifthly, see Figure 10 The diagram shows a structural schematic of an electronic device provided in an embodiment of this application. The electronic device includes: Depth sensor 1001 is configured to scan stereo codes to obtain scanned point cloud data; and Processor 1002 is configured to perform the method described in any one of the second aspects above.
[0135] In this embodiment, the electronic device may be a terminal device, such as a mobile phone, tablet computer, or smartwatch, and the depth sensor 1001 may be included in the camera module of the terminal device.
[0136] Sixthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described in any of the preceding claims.
[0137] In a seventh aspect, embodiments of this application provide a computer program product, including computer instructions that, when executed by a processor, implement the steps of the method described in any of the preceding claims.
[0138] Eighthly, embodiments of this application provide a computer device including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor executes the computer program to implement the steps of the method described in any of the preceding claims.
[0139] See Figure 11 The computer device in this embodiment includes a processor 1101, a memory 1102, and a computer program stored in the memory 1102 and executable on the processor 1101, such as a stereo code generation and / or parsing program. When the processor 1101 executes the computer program, it implements the steps in the various stereo code generation and / or parsing method embodiments described above.
[0140] For example, the computer program may be divided into one or more modules / units, which are stored in the memory 1102 and executed by the processor 1101 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in the computer device.
[0141] The computer device may be a desktop computer, laptop, handheld computer, or cloud server, etc. The computer device may include, but is not limited to, a processor 1101 and a memory 1102. Those skilled in the art will understand that the schematic diagram is merely an example of a computer device and does not constitute a limitation on the computer device. It may include more or fewer components than shown, or combine certain components, or different components. For example, the computer device may also include input / output devices, network access devices, buses, etc.
[0142] The processor 1101 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor, or processor 1101 can be any conventional processor. The processor 1101 is the control center of the computer device, connecting various parts of the entire computer device through various interfaces and lines.
[0143] The memory 1102 can be used to store the computer programs and / or modules. The processor 1101 implements various functions of the computer device by running or executing the computer programs and / or modules stored in the memory 1102 and calling the data stored in the memory 1102. The memory 1102 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the mobile phone (such as audio data, phonebook, etc.). In addition, the memory 1102 may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, memory, plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0144] Wherein, if the modules / units integrated into the computer device are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by the processor 1101, it can implement the steps of the various method embodiments described above. Wherein, the computer program includes computer program code, which can be in the form of source code, object code, executable file, or some intermediate form, etc. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal, and software distribution medium, etc.
[0145] In summary, the embodiments of this application have at least the following beneficial effects: By employing the embodiments of this application, the three-dimensional spatial characteristics of stereo codes can achieve a larger data storage capacity compared to QR codes, thereby solving the problem of insufficient data storage capacity of QR codes. In addition, the three-dimensional structure and complexity of stereo codes make them difficult to directly parse, enhancing the security of the data stored in stereo codes.
[0146] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary hardware platforms, or it can be implemented entirely by hardware. Based on this understanding, all or part of the technical solutions of this application that contribute to the background technology can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM (Read-Only Memory) / RAM (Random Access Memory), magnetic disk, optical disk, etc., including several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments of this application.
[0147] The above description is the preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications are also considered to be within the scope of protection of this application.
Claims
1. A method for generating a stereocode, characterized in that, include: Determine first position information, wherein the first position information is suitable for characterizing the position of each three-dimensional position feature point of the stereo code in three-dimensional space; Determine second location information, wherein the second location information is adapted to characterize the location of the original data mapped into the three-dimensional space; Based on the first location information, the second location information, and the original data, three-dimensional point cloud data is generated; Based on the three-dimensional point cloud data, the format data corresponding to the stereo code is generated.
2. The method according to claim 1, characterized in that, The determination of the second location information includes: The output value corresponding to the original data is determined using a preset mapping function; The output value is mapped onto the three-dimensional space to determine the output value location information, wherein the output value location information is adapted to characterize the position of the output value mapped onto the three-dimensional space; The second position information is determined based on the output value position information.
3. The method according to claim 2, characterized in that, The mapping function includes the Advanced Encryption Standard (AES) encryption algorithm.
4. The method according to claim 2, characterized in that, The step of mapping the output value to the three-dimensional space to determine the location information of the output value includes: The output value is split into n data values, where n≥2, and each of the n data values corresponds to one dimension of the three-dimensional coordinate system of the three-dimensional space. Each of the n data values is mapped to a coordinate system corresponding to one dimension of the three-dimensional coordinate system to obtain the mapped coordinate value of each data value. Based on the mapping coordinates of the n data values, the location information of the output value is determined.
5. The method according to claim 4, characterized in that, The n data values are three data values, and each of the three data values corresponds to one of the three dimensions of the three-dimensional coordinate system.
6. The method according to claim 1, characterized in that, The determination of the first location information includes: Determine the first boundary information of the three-dimensional space; Obtain each position detection block that corresponds one-to-one with each of the three-dimensional position feature points, and determine the second boundary information of each position detection block; Based on the first boundary information and the second boundary information, the first location information is determined.
7. The method according to claim 6, characterized in that, The step of generating 3D point cloud data based on the first location information, the second location information, and the original data includes: Based on the second location information, a point cloud data structure is generated; The point cloud data structure is subjected to preset processing to obtain preliminary point cloud data. The preset processing includes: adding each location detection block to the point cloud data structure according to the first location information, and encoding at least part of the information in the original data and mapping it to the point cloud data structure according to the second location information. Based on the preliminary point cloud data, the three-dimensional point cloud data is obtained.
8. The method according to claim 7, characterized in that, The process of obtaining the three-dimensional point cloud data based on the preliminary point cloud data includes: For at least a portion of the point cloud data points in the preliminary point cloud data, determine the verification value of each point cloud data point. Based on the positions of at least some point cloud data points in the preliminary point cloud data, the verification value is embedded in the preliminary point cloud data to obtain the three-dimensional point cloud data.
9. The method according to claim 8, characterized in that, The positions of at least some point cloud data points in the initial point cloud data are suitable for characterizing local feature coordinate reference points on the point cloud data structure.
10. The method according to any one of claims 1-9, characterized in that, Each of the three-dimensional position feature points includes each corner point of the 3D code.
11. A method for parsing stereocodes, characterized in that, include: Acquire scanned point cloud data obtained by scanning the stereo code; In the scanned point cloud data, the first position information of the stereo code is determined, wherein the first position information is suitable for characterizing the position of each three-dimensional position feature point of the stereo code in three-dimensional space; Based on the first location information, the data of the stereo code is extracted from the scanned point cloud data to obtain the stereo code data; Based on the third position information of the stereo code data, the stereo code data is converted into original data, wherein the third position information is suitable for characterizing the position of each data point in the stereo code data in the three-dimensional space.
12. The method according to claim 11, characterized in that, The third position information based on the stereo code data is used to convert the stereo code data into original data, including: Based on the third location information, output value location information is determined, wherein the output value location information is suitable for characterizing the position of the output value mapped to the three-dimensional space; Based on the output value location information, the stereo code data is identified to obtain the output value; The output value is converted back to the original data using a preset inverse mapping function.
13. The method according to claim 12, characterized in that, The inverse mapping function includes the Advanced Encryption Standard (AES) decryption algorithm.
14. The method according to claim 12, characterized in that, The step of identifying the stereocode data based on the output value location information to obtain the output value includes: Based on the output value location information, three sets of mapped coordinate values are determined, wherein the three sets of mapped coordinate values correspond one-to-one with the three dimensions of the three-dimensional coordinate system of the three-dimensional solid space. For each of the three sets of mapped coordinate values, convert it into the corresponding data value; The data values corresponding to the three sets of mapped coordinate values are merged to obtain the output value.
15. The method according to claim 11, characterized in that, Determining the first position information of the stereo code from the scanned point cloud data includes: In the scanned point cloud data, the second boundary information and the position information of each detection block at each location are determined, wherein each detection block at each location corresponds one-to-one with each three-dimensional position feature point; Based on the second boundary information and the position information of each of the detection blocks, the first position information of the stereo code is determined in the scanned point cloud data.
16. A device for generating stereocodes, characterized in that, include: The first position information determination module is used to determine first position information, wherein the first position information is suitable for characterizing the position of each three-dimensional position feature point of the stereo code in three-dimensional space. The second position information determination module is used to determine second position information, wherein the second position information is adapted to characterize the position of the original data mapped to the three-dimensional space; A 3D point cloud data generation module is used to generate 3D point cloud data based on the first location information, the second location information, and the original data; The format data generation module is used to generate the format data corresponding to the stereo code based on the three-dimensional point cloud data.
17. A device for analyzing stereocodes, characterized in that, include: The scanning point cloud data acquisition module is used to acquire the scanning point cloud data obtained by scanning the stereo code; The first position information parsing module is used to determine the first position information of the stereo code in the scanned point cloud data, wherein the first position information is suitable for characterizing the position of each three-dimensional position feature point of the stereo code in three-dimensional space. A stereo code data extraction module is used to extract the stereo code data from the scanned point cloud data based on the first location information to obtain stereo code data; The raw data parsing module is used to convert the stereo code data into raw data based on the third position information of the stereo code data, wherein the third position information is suitable for characterizing the position of each data point in the stereo code data in the three-dimensional space.
18. An electronic device, characterized in that, include: A depth sensor is configured to scan stereo codes to obtain scanned point cloud data; as well as The processor is configured to perform the method according to any one of claims 11-15.
19. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1-15.
20. A computer program product comprising computer instructions, characterized in that, When the computer instructions are executed by the processor, they implement the method described in any one of claims 1-15.
21. A computer device, characterized in that, The method includes a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor, when executing the computer program, implements the method of any one of claims 1-15.