A data block determination method, related apparatus and device

By introducing a structure of a first positioning block and a second positioning block into the data block, and using their center positions for positioning and correction, the problem of slow data block reading speed in traditional optical storage is solved, and more efficient and accurate data block determination is achieved.

CN115185452BActive Publication Date: 2026-06-23HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2021-04-07
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

In traditional optical storage technology, Blu-ray discs read data blocks by scanning them point by point with a laser, resulting in a low data reading speed and reduced data block determination efficiency.

Method used

The system employs a structure where each data block includes a first positioning block and multiple second positioning blocks. Initial positioning is achieved by using the center position of the first positioning block, and correction is performed by combining the center positions of the second positioning blocks, thereby improving the positioning accuracy and efficiency of the data block.

Benefits of technology

It improves the positioning accuracy and determination efficiency of data blocks, reduces the amount of scanning required for the target database, avoids identification errors, and increases data reading speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115185452B_ABST
    Figure CN115185452B_ABST
Patent Text Reader

Abstract

The embodiment of the present application discloses a data block determination method, a related device and equipment, which are used in the field of cloud storage and optical storage, and can improve the efficiency and accuracy of determining data blocks. In the method of the embodiment of the present application, a digital image is first acquired, and the digital image includes no less than one data block, each data block includes a first positioning block and a plurality of second positioning blocks, the first positioning block includes a first identification signal, the second positioning block includes a second identification signal, the center position of the first positioning block in the target data block is determined in the digital image based on the first identification signal, the center positions of the plurality of second positioning blocks in the target data block are determined according to the center position of the first positioning block in the target data block and the relative position information of the first positioning block and the second positioning block based on the second identification signal, and finally the target data block is determined and corrected according to the center position of the first positioning block in the target data block and the center positions of the plurality of second positioning blocks in the target data block.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of optical storage and cloud storage, and in particular to a method for determining data blocks, related apparatus, and equipment. Background Technology

[0002] With the rapid development of the internet, cloud storage has become a major trend in future storage development. Among various storage methods, cloud storage accounts for an increasingly larger share. Therefore, a large amount of data will be stored in the cloud in the future, creating an urgent need for a cost-effective storage method. Optical storage, a method of recording data on optically readable materials, has advantages such as high capacity, long lifespan, low energy consumption, low cost, and interference resistance, and is expected to become one of the main carriers of future cloud storage.

[0003] Currently, in traditional optical disc technology (such as Blu-ray discs), encoded data is read by machines through laser point-by-point scanning. However, in newer optical storage technologies, square or rectangular discs may be adopted in next-generation optical storage technologies due to their various advantages. In optical storage image-based data reading technology, a digital image of the data storage area needs to be acquired from a charge-coupled device (CCD), then the location of the data blocks needs to be determined, and finally the encoded information is read and decoded. For example, Blu-ray discs use a 405-nanometer blue-violet laser for recording and reading operations. It stores encoded information by constructing pits for 0 and 1 digital data and utilizes different reflectivities to achieve multi-layer writing effects. Blu-ray discs are a classic traditional optical storage method widely used in practical applications. Image-based data reading methods developed in recent years read a rectangular area of ​​the storage medium at once, like taking a photograph. To facilitate data arrangement and maintenance, the storage medium is often divided into numerous rectangular data blocks, each typically rectangular in shape. To facilitate data block positioning and ensure reading accuracy, positioning modules need to be set in the positioning blocks.

[0004] However, Blu-ray discs store a large amount of data, and using laser point-by-point scanning to read data blocks would reduce the data reading speed, that is, reduce the efficiency of data block determination. Summary of the Invention

[0005] This application provides a data block determination method, related apparatus, and device. Each data block includes a first positioning block and multiple second positioning blocks. Therefore, the position of the target data block can be located by the center position of the first positioning block. Then, the target data block is further determined and corrected by the center position of the second positioning blocks, thereby improving the accuracy of data block determination. Furthermore, it does not require scanning all data in the target database, thus improving the efficiency of data block determination.

[0006] The first aspect of this application provides a data block determination method. In this method, a digital image is first acquired, and the digital image includes at least one data block. Each data block includes a first positioning block and a plurality of second positioning blocks. The first positioning block includes a first identification signal, and the second positioning block includes a second identification signal. Based on the first identification signal, the center position of the first positioning block in the target data block is determined in the digital image. Based on the second identification signal, the center positions of the plurality of second positioning blocks in the target data block are determined according to the center position of the first positioning block in the target data block and the relative position information of the first positioning block and the second positioning block. Finally, the target data block is determined and corrected according to the center position of the first positioning block in the target data block and the center positions of the plurality of second positioning blocks in the target data block.

[0007] In this embodiment, since each data block includes a first positioning block and multiple second positioning blocks, the position of the target data block can be located by the center position of the first positioning block. Then, the target data block is further determined and corrected by the center position of the second positioning block, thereby improving the accuracy of determining the data block. Moreover, it is not necessary to scan all the data in the target database, thereby improving the efficiency of determining the data block.

[0008] In one optional embodiment of this application, each data block has the same size, and each first positioning block has the same size. Therefore, specifically, a first window can be cropped from the digital image, and the first window includes the first positioning block. Then, the first window is scanned from left to right based on a preset step size. When a first identification signal is obtained during scanning, the position of the first positioning block is determined. This preset step size is determined based on the lateral dimension of the first positioning block. The position of the first positioning block is the position where the first identification signal is obtained during scanning. Then, a second window is cropped with the position of the first positioning block as the center. This second window includes the first positioning block. Finally, the center position of the first positioning block in the target data block is determined within the second window.

[0009] In this implementation, identification is performed by capturing a first window instead of scanning the entire data image, which reduces computational load. Since the first positioning block possesses a clear first identification signal, it is easy to identify and can resist interference from surrounding data areas, avoiding identification errors. Therefore, the first positioning block has an internal structure that is easily identifiable and highly resistant to interference. Based on this, the matching problem is transformed into one-dimensional pattern recognition. Identifying the first identification signal of the first positioning block within the first window accurately locates its position, thereby improving the efficiency of determining the center position of the first positioning block.

[0010] In one optional embodiment of this application, before determining the center positions of multiple second positioning blocks in the target data block based on the second identification signal and the center position of the first positioning block in the target data block, it is necessary to obtain the arrangement information of the digital image, which indicates the preset spacing between each data block in the digital image. Based on this, the center positions of multiple second positioning blocks in the target data block can be determined based on the second identification signal and the center position of the first positioning block in the target data block and the arrangement information of the digital image.

[0011] In this embodiment, arrangement information indicates a preset spacing between each data block in the digital image, based on the characteristic that each data block has the same size and each first positioning block has the same size. Therefore, after determining the center position of the first positioning block, the center positions of multiple second positioning blocks can be determined using the preset spacing indicated by the arrangement information, thereby improving the feasibility of this solution.

[0012] In one optional embodiment of this application, the second positioning block is smaller than the first positioning block in both horizontal and vertical dimensions. Each second positioning block has the same size, and the second identification signal for each second positioning block can be the same or different, without limitation. Therefore, based on the center position of the first positioning block in the target data block and the arrangement information of the digital image, the center position of the first positioning block in other data blocks can be determined. Based on the center position of the first positioning block in the target data block and the center positions of the first positioning blocks in other data blocks, a third window is extracted. This third window includes at least one second positioning block in the target data block. Finally, based on the second identification signal, a pattern recognition method is used to determine the center position of the second positioning block in the target data block within the third window.

[0013] In this implementation, since each second positioning block is the same size and is generally arranged in a grid pattern, the second positioning blocks have an easily identifiable internal structure. Therefore, identifying the second identification signal of the second positioning block in the third window can accurately locate the position of the second positioning block, thereby improving the efficiency of determining the center position of the second positioning block. Secondly, identification is performed by cropping a window instead of scanning the entire image. When scanning the window, columns are cropped for identification, transforming the matching problem into one-dimensional pattern recognition. Only one large positioning block is identified during scanning; the remaining blocks are guessed based on the relative positions between data blocks, and their specific positions are further determined.

[0014] In one optional embodiment of this application, the data block to be processed is determined based on the center position of the first positioning block in the target data block and the center positions of the multiple second positioning blocks in the target data block. Then, a correction model is established based on the center position of the first positioning block in the target data block and the center positions of the multiple second positioning blocks in the target data block. Finally, the data block to be processed is processed according to the correction model to obtain the target data block.

[0015] In this embodiment, since the target data block may be deformed due to rotational offset during data writing or radial distortion during shooting, correcting the data block to be processed that may be deformed can ensure that the obtained target data block is not deformed, which is beneficial to the accurate parsing of data in the subsequent data block.

[0016] In one optional embodiment of this application, the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block are fitted to obtain the parameters of the correction model. The correction model is then established based on the parameters of the correction model. Mathematical transformations are then performed on the data block to be processed based on the correction model. Finally, the data block to be processed is interpolated using a preset function to obtain the target data block.

[0017] In this implementation, a correction polynomial is jointly fitted in both the horizontal and vertical directions based on the center positions of all positioning blocks (the first positioning block and multiple second positioning blocks) included in the target data block. Furthermore, the number of all positioning blocks exceeds the number of parameters in the polynomial to be fitted, and this redundancy ensures high stability and high anti-interference capability, thereby improving the stability and anti-interference capability of the corrected target data block.

[0018] In one optional embodiment of this application, the preset function is a linear function, a bilinear function, or a spline function.

[0019] In this embodiment, a linear function, a bilinear function, or a spline function is specifically used for interpolation, thereby improving the feasibility of this solution.

[0020] In one optional embodiment of this application, the center position of the first positioning block in the target data block coincides with the center position of the target data block, or the difference between the center position of the first positioning block in the target data block and the center position of the target data block is less than a preset distance threshold.

[0021] In this embodiment, the relative relationship between the center position of the first positioning block in the target data block and the center position of the target data block is not specifically limited, nor is the arrangement of the first positioning block and multiple second positioning blocks in each data block limited, thereby improving the flexibility of this solution.

[0022] In one alternative embodiment of this application, the digital image is obtained by converting an optical signal.

[0023] In this embodiment, since the digital image is obtained by converting optical signals, in optical storage image-type data reading, the data block can be located by the first positioning block and the located data block can be corrected by the second data block, thereby improving the accuracy of data reading.

[0024] A second aspect of this application provides a data block determination apparatus, the data block determination apparatus comprising:

[0025] An acquisition module is used to acquire a digital image, wherein the digital image includes multiple data blocks, each data block includes a first positioning block and multiple second positioning blocks, the first positioning block includes a first identification signal, and the second positioning block includes a second identification signal;

[0026] The processing module is used to determine the center position of the first positioning block in the target data block in the digital image based on the first recognition signal;

[0027] The processing module is also used to determine the center positions of multiple second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block;

[0028] The processing module is also used to determine the target data block based on the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block.

[0029] In one optional embodiment of this application, each data block has the same size, and each first positioning block has the same size;

[0030] The processing module is specifically used for:

[0031] A first window is captured from the digital image, wherein the first window includes a first positioning block;

[0032] The first window is scanned from left to right based on a preset step size, and the position of the first positioning block is determined when the first identification signal is obtained during the scan. The preset step size is determined based on the lateral dimension of the first positioning block, and the position of the first positioning block is the position where the first identification signal is obtained during the scan.

[0033] Centered on the position of the first positioning block, a second window is captured, wherein the second window includes the first positioning block;

[0034] In the second window, determine the center position of the first positioning block in the target data block.

[0035] In one optional embodiment of this application, the acquisition module is further configured to acquire arrangement information of a digital image before the processing module determines the center position of a plurality of second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block, wherein the arrangement information indicates a preset spacing between each data block in the digital image.

[0036] The processing module is further configured to determine the center positions of multiple second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block, specifically including:

[0037] The processing module is also used to determine the center positions of multiple second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block and the arrangement information of the digital image.

[0038] In one alternative embodiment of this application, each second positioning block has the same size;

[0039] The processing module is specifically used for:

[0040] Based on the center position of the first positioning block of the target data block and the arrangement information of the digital image, determine the center position of the first positioning block in other data blocks;

[0041] Based on the center position of the first positioning block of the target data block and the center positions of the first positioning blocks in other data blocks, a third window is extracted, wherein the third window includes at least one second positioning block in the target data block;

[0042] Based on the second identification signal, the center position of the second positioning block in the target data block is determined using pattern recognition methods in the third window.

[0043] In one optional embodiment of this application, the processing module is specifically used for:

[0044] The data block to be processed is determined based on the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block.

[0045] A correction model is established based on the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block;

[0046] The modified model is used to process the data block to be processed in order to obtain the target data block.

[0047] In one optional embodiment of this application, the processing module is specifically used for:

[0048] The center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block are fitted to obtain the parameters of the corrected model.

[0049] Establish a modified model based on the parameters of the modified model;

[0050] The processing module is specifically used to perform mathematical transformations on the data block to be processed based on the correction model, and to perform interpolation processing on the data block to be processed using a preset function to obtain the target data block.

[0051] In one optional embodiment of this application, the preset function is a linear function, a bilinear function, or a spline function.

[0052] In one optional embodiment of this application, the center position of the first positioning block in the target data block coincides with the center position of the target data block;

[0053] or,

[0054] The difference between the center position of the first positioning block in the target data block and the center position of the target data block is less than a preset distance threshold.

[0055] In one alternative embodiment of this application, the digital image is obtained by converting an optical signal.

[0056] Thirdly, a data block determination apparatus is provided, including a processor. The processor is coupled to a memory and can be used to execute instructions in the memory to implement the method in any possible implementation of the first aspect described above. Optionally, the data block determination apparatus further includes a memory. Optionally, the data block determination apparatus further includes a communication interface, to which the processor is coupled, the communication interface being used to input and / or output information, the information including at least one of instructions and data.

[0057] In one implementation, the data block determination device is a network device. When the data block determination device is a network device, the communication interface can be a transceiver or an input / output interface.

[0058] Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.

[0059] In another implementation, the data block determination device is a chip or chip system configured in a network device. When the data block determination device is a chip or chip system configured in a network device, the communication interface can be an input / output interface, interface circuit, output circuit, input circuit, pins, or related circuits, etc. The processor can also be manifested as a processing circuit or logic circuit.

[0060] Fourthly, a processor is provided, comprising: an input circuit, an output circuit, and a processing circuit. The processing circuit is configured to receive signals through the input circuit and transmit signals through the output circuit, causing the processor to execute the method in any possible implementation of the first aspect, or to execute the method in any possible implementation of the second aspect.

[0061] In specific implementation, the processor can be a chip, the input circuit can be an input pin, the output circuit can be an output pin, and the processing circuit can be a transistor, gate circuit, flip-flop, and various logic circuits. The input signal received by the input circuit can be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit can be output to, for example, but not limited to, a transmitter and transmitted by the transmitter. Furthermore, the input circuit and the output circuit can be the same circuit, which is used as the input circuit and the output circuit at different times. This application does not limit the specific implementation of the processor and various circuits.

[0062] Fifthly, a data block determination apparatus is provided, including a communication interface and a processor. The communication interface is coupled to the processor. The communication interface is used for inputting and / or outputting information. The information includes at least one of instructions and data. The processor is used to execute a computer program to cause the data block determination apparatus to perform the method in any possible implementation of the first aspect.

[0063] Optionally, the processor may be one or more, and the memory may be one or more.

[0064] In a sixth aspect, a data block determination apparatus is provided, including a processor and a memory. The processor is configured to read instructions stored in the memory and to receive signals via a receiver and transmit signals via a transmitter, thereby causing the apparatus to perform the method in any possible implementation of the first aspect.

[0065] Optionally, the processor may be one or more, and the memory may be one or more.

[0066] Optionally, the memory may be integrated with the processor, or the memory may be separated from the processor.

[0067] In specific implementation, the memory can be a non-transitory memory, such as read-only memory (ROM), which can be integrated with the processor on the same chip or set on different chips. The embodiments of this application do not limit the type of memory or the way the memory and processor are set.

[0068] It should be understood that related information exchange processes, such as sending a message, can be seen as the process of outputting a message from the processor, and receiving a message can be seen as the process of inputting a received message into the processor. Specifically, the information processed can be output to the transmitter, and the input information received by the processor can come from the receiver. Here, the transmitter and receiver can be collectively referred to as a transceiver.

[0069] The data block determination device in the fifth and sixth aspects mentioned above can be a chip. The processor can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc. When implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. The memory can be integrated into the processor or located outside the processor and exist independently.

[0070] In a seventh aspect, a computer program product is provided, the computer program product comprising: a computer program (also referred to as code or instructions), which, when the computer program is run, causes a computer to perform the method in any possible implementation of the first aspect described above.

[0071] Eighthly, a computer-readable storage medium is provided that stores a computer program (also referred to as code or instructions) that, when executed on a computer, causes the computer to perform the methods in any of the possible implementations of the first aspect described above.

[0072] A ninth aspect provides a chip including one or more processors. Part or all of the processors are configured to read and execute a computer program stored in memory to perform the method in any possible implementation of the first aspect described above.

[0073] Optionally, the chip includes a memory, which is connected to the processor via a circuit or wire. Optionally, the chip also includes a communication interface, to which the processor is connected. The communication interface is used to receive data and / or information that needs to be processed. The processor obtains the data and / or information from the communication interface, processes the data and / or information, and outputs the processing result through the communication interface. The communication interface can be an input / output interface. The method provided in this application can be implemented by a single chip or by multiple chips working together.

[0074] In a tenth aspect, this application provides a chip system including a processor and an interface, the interface being used to acquire a program or instructions, and the processor being used to invoke the program or instructions to implement or support a network device in implementing the functions involved in the first aspect.

[0075] In one possible design, the chip system further includes a memory for storing program instructions and data necessary for the network device or terminal device. The chip system can be composed of chips or may include chips and other discrete components.

[0076] It should be noted that the beneficial effects of the embodiments of the second to tenth aspects of this application, as well as the description of the embodiments of each aspect, can be understood with reference to the embodiments of the first aspect, and therefore are not repeated. Attached Figure Description

[0077] Figure 1 This is a schematic diagram of a system architecture for the data reading system in an embodiment of this application;

[0078] Figure 2 This is a schematic diagram of one embodiment of the data block determination method in this application.

[0079] Figure 3 This is a flowchart illustrating a data block determination method in an embodiment of this application;

[0080] Figure 4 This is a schematic diagram of one embodiment of the digital image in this application;

[0081] Figure 5 This is a two-dimensional illustration of the internal structure design of the first positioning block on phase change material and nano gold material in the embodiments of this application;

[0082] Figure 6 This is a schematic diagram of one embodiment of the first identification signal in the first positioning block in this application.

[0083] Figure 7 This is a schematic diagram of an embodiment of the second identification signal of the second positioning block on the phase change material and the gold nanomaterial in this application.

[0084] Figure 8 This is a schematic diagram of an embodiment of cropping a first window from a digital image in this application.

[0085] Figure 9 This is a schematic diagram of an embodiment of scanning performed in the first window in this application.

[0086] Figure 10 This is a schematic diagram of an embodiment of capturing the second window in this application;

[0087] Figure 11 This is a schematic diagram of an embodiment for determining the center position of the first positioning block in this application.

[0088] Figure 12 This is a schematic diagram illustrating an embodiment of the center position of the first positioning block in other data blocks in this application.

[0089] Figure 13 This is a schematic diagram of an embodiment of capturing a third window in this application.

[0090] Figure 14 This is a schematic diagram of an embodiment for determining the center position of the second positioning block in this application.

[0091] Figure 15 This is a schematic diagram of an embodiment of a target data block in a data image according to the present application.

[0092] Figure 16 This is a schematic diagram of an embodiment of the deformed target data block in this application.

[0093] Figure 17 This is a schematic diagram of an embodiment of the modified target data block in this application.

[0094] Figure 18 This is a schematic diagram of an embodiment of the arrangement of the first positioning block and the second positioning block in this application.

[0095] Figure 19 This is a schematic diagram of another embodiment of the arrangement of the first positioning block and the second positioning block in this application.

[0096] Figure 20 This is a schematic diagram of another embodiment of the arrangement of the first positioning block and the second positioning block in this application.

[0097] Figure 21 This is a schematic diagram of another embodiment of the arrangement of the first positioning block and the second positioning block in this application.

[0098] Figure 22 This is a schematic diagram of another embodiment of the arrangement of the first positioning block and the second positioning block in this application.

[0099] Figure 23 This is a schematic diagram of another embodiment of the arrangement of the first positioning block and the second positioning block in this application.

[0100] Figure 24 This is a schematic diagram of another embodiment of the arrangement of the first positioning block and the second positioning block in this application.

[0101] Figure 25 This is a schematic diagram of another embodiment of the arrangement of the first positioning block and the second positioning block in this application.

[0102] Figure 26 This is a schematic diagram of another embodiment of the arrangement of the first positioning block and the second positioning block in this application.

[0103] Figure 27 This is a schematic diagram of the data block determination device in an embodiment of this application;

[0104] Figure 28 This is a schematic diagram of the structure of a computer program product provided in an embodiment of this application. Detailed Implementation

[0105] To facilitate a better understanding of the above-mentioned objectives, technical solutions, and advantages of this application, a detailed description is provided below. This detailed description presents various embodiments of the apparatus and / or process using block diagrams, flowcharts, and / or examples. Since these block diagrams, flowcharts, and / or examples contain one or more functions and / or operations, those skilled in the art will understand that each function and / or operation within these block diagrams, flowcharts, or examples can be implemented individually and / or jointly by various hardware, software, firmware, or any combination thereof. The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data used can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein. Furthermore, the terms “comprising” and “having”, and any variations thereof, are intended to cover non-exclusive inclusion, such that a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to such process, method, product, or apparatus.

[0106] Humanity has entered the era of big data, with the amount of data generated annually growing exponentially. With the rapid development of the internet, cloud storage has become a major trend in future storage development. Among various storage methods, cloud storage accounts for an increasingly larger share. Therefore, a large amount of data will be stored in the cloud in the future, urgently requiring a cost-effective cloud storage method. Optical storage is a storage method that records data on optically readable materials. It has advantages such as high capacity, long lifespan, low energy consumption, low cost, and anti-interference, and is expected to become the main carrier of future cloud storage. In optical storage, data is arranged in blocks on an optical disc. In traditional optical disc technology (such as Blu-ray discs), encoded data is read by machines through laser point-by-point scanning. In new optical storage technologies, square or rectangular discs may be adopted in next-generation optical storage technologies due to their various advantages. In optical storage image-based data reading technology, a digital image of the data storage area needs to be obtained from a charge-coupled device (CCD), then the location of the data block needs to be determined, and finally the encoded information on it needs to be read and decoded. For example, Blu-ray discs use a 405-nanometer blue-violet laser for recording and reading. They store encoded information by creating pits for 0s and 1s, and utilize different reflectivities to achieve multi-layered writing. Blu-ray discs are a classic, traditional optical storage method widely used in everyday life. However, Blu-ray discs store large amounts of data, and using laser point-by-point scanning to read data blocks reduces data reading speed, i.e., reduces data block determination efficiency.

[0107] To address the aforementioned issues, this application provides a data block determination method that eliminates the need to scan all data in the target database, thereby improving the efficiency of data block determination. Firstly, this application introduces a first positioning block and a second positioning block. The first positioning block is used to determine the location of the data block, and the second positioning block is used for more precise positioning and correction. For easier understanding, please refer to [link to relevant documentation]. Figure 1 , Figure 1 This is a schematic diagram of a system architecture for the data reading system in an embodiment of this application, as shown below. Figure 1As shown, the data reading system provided in the application embodiment specifically includes data acquisition and data parsing. Data acquisition mainly involves acquiring optical signals through a charge-coupled device (CCD) and then converting the optical signals into digital images. Based on this, the approximate position of the data block is located using a first positioning block. Since the optical signals acquired by the CCD and converted into digital images may experience rotational offsets during data writing or radial distortions during imaging, this can lead to distortion and deformation of the data block. Therefore, a second positioning block can be used to determine the precise position of the data block. Furthermore, using the positional information of the first and second positioning blocks within the data block, a fitting model is used to correct for data blocks that may exhibit distortion and deformation. The corrected error is no greater than half a pixel, ensuring the normal operation of subsequent recognition and decoding processes. Based on this, signal recognition is performed on the determined data block, and the required data is decoded.

[0108] Therefore, the method in this embodiment is specifically applied to optical storage and is specifically included in the program code deployed on server hardware within the data reading system. For easier understanding, please refer to... Figure 2 , Figure 2 This is a schematic diagram of one embodiment of the data block determination method in this application, as shown below. Figure 2 As shown, the specific product form of this solution is a data marker etched onto an optical memory by a laser, surrounded by coded data written into the memory. The materials of the optical memory include, but are not limited to, phase change materials, gold nanoparticles, and novel optical storage materials such as plexiglass. The optical memory can be designed as a square or circular disk. After acquiring the data image of the optical memory using a charge-coupled device (CCD), the data block is determined in the data reading system provided in this application embodiment based on the positioning algorithm of the first positioning block and the correction algorithm of the second positioning block. Then, signal recognition and decoding are performed on the determined data block.

[0109] Furthermore, for ease of understanding, some terms or concepts involved in the embodiments of this application will be explained here.

[0110] I. Data Blocks:

[0111] A data block refers to a rectangular storage area of ​​data on an optical storage material. The data is arranged neatly in blocks on the optical storage material, with equal spacing between each data block, forming a checkerboard pattern.

[0112] II. Positioning Block

[0113] A location block is a rectangular marker used to locate a data block. Location blocks are arranged within the data block and are distinguished from the data storage area. A single data block can contain multiple location blocks of different sizes and dimensions.

[0114] III. Optical Storage

[0115] Optical storage uses optoelectronic engineering methods to store data on optically readable media. Memory CDs and Blu-ray discs used in computers are examples of optical storage applications.

[0116] IV. Cloud Storage

[0117] Cloud storage is a model of online storage that stores data on multiple virtual servers, typically hosted by a third party, rather than on a dedicated server.

[0118] V. Optical Distortion

[0119] Optical distortion refers to the degree of distortion in the image formed by an optical system (such as a lens) relative to the object itself. This distortion is very detrimental to the image quality of a photograph. Distortion is divided into two types: barrel distortion and pincushion distortion.

[0120] Based on the foregoing description, the following describes a data block determination method provided by an embodiment of this application. Please refer to [link / reference]. Figure 3 , Figure 3 This is a flowchart illustrating a data block determination method in an embodiment of this application, as shown below. Figure 3 As shown, the specific steps of the data block determination method are as follows.

[0121] S301. Acquire digital image.

[0122] In this embodiment, the data block determination device first needs to acquire a digital image, which is obtained by converting an optical signal. This digital image includes multiple data blocks, each of which includes a first positioning block and multiple second positioning blocks. The first positioning block saves positioning space, and the second positioning blocks are smaller in size than the first positioning blocks. They are evenly distributed on the data block in a grid arrangement, resulting in a smaller overall space occupied by the second positioning blocks. Therefore, both the first and second positioning blocks save positioning space. Furthermore, each data block has the same size, and each first positioning block has the same size.

[0123] Furthermore, the data block determining device can also acquire arrangement information of the digital image, which indicates the preset spacing between each data block in the digital image, and the arrangement information can also indicate the arrangement and spacing between the first positioning block and the second positioning block in the data block. In practical applications, this embodiment can flexibly adjust the preset spacing between data blocks, as well as the arrangement and spacing between the first positioning block and the second positioning block in the data block, according to different actual problems. The arrangement information is not limited here.

[0124] For easier understanding, please refer to Figure 4 , Figure 4 This is a schematic diagram of one embodiment of the digital image in this application, such as... Figure 4 As shown, digital image A1 includes a first positioning block A21, a second positioning block A31, a second positioning block A32, and other second positioning blocks (not specifically shown in the figure); digital image A2 includes a first positioning block A22, a second positioning block A33, and other second positioning blocks (not specifically shown in the figure); and digital image A3 includes a first positioning block A23, a second positioning block A34, and other second positioning blocks (not specifically shown in the figure). It should be understood that... Figure 4 This is for illustrative purposes only. In practical applications, due to clock errors during writing, optical distortion caused by lenses, etc., data blocks in digital images may exhibit various deformations, i.e., not being... Figure 4 The standard square shown does not limit the specific shape of data blocks in a digital image.

[0125] Specifically, the first positioning block includes a first identification signal. Since the first positioning block is used to determine the location of the data block, it needs to be large enough and have clearly defined features for quick identification. In this embodiment, the first positioning block occupies a height of 6 to 10 data rows; the width depends on the material and writing technology, and is not limited here. Furthermore, in the data image on the same storage material, each data block has the same size, and the first and second positioning blocks included in each data block are identical, providing a sufficiently large amount of information and strong anti-interference capability.

[0126] Based on this, the design of the internal structure of the positioning block needs to meet two requirements: first, it must have a clear identification signal for easy identification; second, it must be able to resist interference from surrounding data areas to avoid identification errors. Therefore, the positioning block has various specific internal structure designs to cope with different environmental conditions (e.g., storage materials, reading devices, data structures, etc.). In this embodiment, the first identification signal of the first positioning block exhibits a "1100101" distribution. When the first identification signal is distributed as "1100101", the probability of the first positioning block being confused with the coding area above or below it is extremely low. For ease of understanding, Figure 5 This is a two-dimensional illustration of the internal structure design of the first positioning block on the phase change material and the gold nanomaterial in the embodiments of this application, as shown below. Figure 5 As shown, Figure 5 Figure (A) shows the internal structural design of the first positioning block on the phase change material, while Figure 5 Figure (B) illustrates the internal structural design of the first positioning block on the gold nanomaterial. Figure 5 The illustration uses the internal structure design of the first positioning block on a phase change material as an example, with the first identification signal distributed as "1100101". Figure 6 A schematic diagram of an embodiment of the first identification signal in the first positioning block is shown in this application, as follows: Figure 6As shown, peak B1 indicates the location of the longitudinal signal "1", and trough B2 indicates the location of the longitudinal signal "0". It can be seen that the peaks and troughs can indicate the distribution of the first identification signal "1100101", thus making the first positioning block easy to identify.

[0127] Secondly, the first positioning block is located at or near the center of the data block. Its position in the lateral direction can be uniform or non-uniform; no specific limitation is made here. Taking uniformity in the lateral direction as an example, the center position of the first positioning block in the data block coincides with the center position of the data block. Alternatively, taking non-uniformity in the lateral direction as an example, the difference between the center position of the first positioning block in the data block and the center position of the data block is less than a preset distance threshold. This preset distance threshold is determined through experiments and / or based on statistics from a large amount of data.

[0128] Furthermore, similar to the first positioning block, the second positioning block includes a second identification signal. The second positioning block is used to accurately determine and correct the location of the data block. The second positioning block typically occupies a height of 3 to 5 data rows, with its width depending on the material and writing technology. Each second positioning block on the same storage material is identical to the others and has easily identifiable features.

[0129] Based on this, similar to the previous example, the design of the internal structure of the positioning block needs to have a clear longitudinal signal, be easy to identify, and be able to resist interference from the surrounding data area to avoid identification errors. Therefore, there are various specific design methods for the internal structure of the positioning block to cope with different environmental conditions (e.g., storage materials, reading devices, data structures, etc.). In this embodiment, the second identification signal of the second positioning block presents a "101" distribution. When the second identification signal is distributed as "101", the second positioning block occupies a small space while also having good anti-interference capabilities. For ease of understanding, Figure 7 This is a schematic diagram of an embodiment of the second identification signal of the second positioning block on the phase change material and the gold nanomaterial in this application, as shown in the figure. Figure 7 As shown, Figure 7 The diagram in Figure (A) shows the second identification signal of the second positioning block on the phase change material, while Figure 7 The diagram in Figure (B) shows the second identification signal of the second positioning block on the gold nanomaterial.

[0130] It should be understood that the foregoing examples are only for understanding this solution. In practical applications, the first identification signal may also be a distribution such as "1010011", and the second identification signal may also be a distribution such as "110". Therefore, the specific distribution of the first identification signal and the second identification signal needs to be determined by experiments and / or by statistics based on a large amount of data. The examples in this embodiment should not be construed as limitations of this application.

[0131] S302. Based on the first identification signal, determine the center position of the first positioning block in the target data block in the digital image.

[0132] In this embodiment, as can be seen from step S301, the first positioning block includes a first identification signal, and each data block has the same size, as does the size of each first positioning block. Based on this, the data block determining device can determine the center position of the first positioning block in the target data block in the digital image based on the first identification signal.

[0133] Specifically, the data block determining device extracts a first window from the digital image, and this first window includes a first positioning block. For example, each data block in the digital image is m*n in size, meaning the length of the data block is m and the width is n, while the size of the first positioning block is x*y, meaning the length of the first positioning block in each data block is x and the width is y. To ensure that the first window contains at least one large data block, and considering the efficiency of data processing, the size of the first window can be set to (m+x)*(n+y), meaning the length of the first window is (m+x) and the width of the first window is (n+y). Based on this, if the size of the data block is 250*250 and the size of the first positioning block is 6*7, then the determined size of the first window is 256*257. For easier understanding, please refer to [link to relevant documentation]. Figure 8 , Figure 8 This is a schematic diagram of an embodiment of cropping a first window from a digital image in this application, as shown below. Figure 8 As shown, in Figure 8 In the digital image shown in Figure (A), the first window C1 is extracted using the aforementioned method, thereby obtaining... Figure 8 The first window shown in Figure (B) includes the first positioning block C2.

[0134] Furthermore, the data block determination device scans the determined first window from left to right based on a preset step size. Upon obtaining a first identification signal during the scan, it determines the position of the first positioning block. This preset step size is determined based on the lateral dimension of the first positioning block, and the position of the first positioning block is the location where the first identification signal is obtained. For example, if the size of the first positioning block is x*y, then the preset step size k must be less than the width y of the first positioning block. Again, using a first positioning block size of 6*7 as an example, the preset step size can be set to 6. Based on this, if a preset step size of 6 is used as an example, the first window is scanned column by column from left to right at intervals of 6 preset steps. It should be understood that, based on the aforementioned example, in practical applications, the preset step size can also be set to 4 or 5, but the preset step size cannot be set too short, otherwise it will increase the computational load.

[0135] Secondly, the data block determination device can use pattern recognition to determine whether a first identification signal of the first positioning block exists in the column scanned based on a preset step size. If it exists, the position of the first identification signal obtained by scanning is determined as the position of the first positioning block. There are various specific methods for pattern recognition, each with different advantages and disadvantages in terms of accuracy and time complexity. The model recognition method adopted in this embodiment is to pre-design a preset convolution kernel, standardize each column, and convolve it with the preset convolution kernel. The position of the point where the calculation result is greater than a preset threshold is selected as the position of the first identification signal, i.e., the position of the first positioning block.

[0136] In one possible embodiment, if the first identification signal is not found, it is first determined whether the first window has been completely scanned. If not, scanning continues. Conversely, if it is determined that the first window has been completely scanned, but the first identification signal has not yet been detected, i.e., the first window does not contain the first positioning block, this embodiment will re-extract the first window from the data image, with the same size as the first window. The re-extracted first window should, as far as possible, not intersect with the previously extracted first window. If they intersect, the intersecting parts are removed, and the above steps are repeated until a point whose calculation result is greater than a preset threshold can be determined.

[0137] For easier understanding, please refer to Figure 9 , Figure 9 This is a schematic diagram of an embodiment of scanning in the first window in this application, as shown below. Figure 9 As shown, in Figure 9 In the first window shown in Figure (A), scanning is performed from left to right using the aforementioned method with a preset step size D1, i.e. Figure 9 In the first window shown in Figure (B), when scanning to the 4th column based on the preset step size D1, the first identification signal of the first positioning block D2 has not yet been scanned and detected. However, when scanning to the 5th column based on the preset step size D1, all the first identification signals of the first positioning block D2 can be obtained by scanning D3 using the pattern recognition method. At this time, D3 can be determined as the position of the first positioning block, and the first positioning block D2 can be found.

[0138] Furthermore, the data block determining device uses the position of the first positioning block as the center to capture a second window, which includes the first positioning block. For example, if the size of the first positioning block is x*y, then the size of the second window can be set to 2x*2y, ensuring that if the first positioning block exists, it will completely fall within the second window. For easier understanding, please refer to [link to documentation]. Figure 10 , Figure 10 This is a schematic diagram of an embodiment of the second window captured in this application, as shown below. Figure 10 As shown, in Figure 10In the first window shown in Figure (A), the second window E1 is extracted using the aforementioned method, thus obtaining... Figure 10 The second window shown in Figure (B) includes the first positioning block E2.

[0139] Finally, the data block determination device determines the center position of the first positioning block in the target data block within the second window. Specifically, the data block determination device scans the second window and uses pattern recognition to determine whether the first positioning block actually exists in the second window. The specific pattern recognition method is as follows: the data block determination device first normalizes the second window, then convolves each column of the second window with the preset convolution kernel in the aforementioned embodiment. The convolved image will contain regions with values ​​greater than a certain preset threshold (shapes resembling long strips). Then, it is determined whether the length of this region is close to the length of the first positioning block in the row direction. If it is close, it is determined that the first positioning block exists in the second window.

[0140] Based on this, when the first positioning block does exist in the second window, the data block determining device can calculate the precise coordinates of the center of the first positioning block, that is, determine the center position of the first positioning block. Specifically, the data block determining device selects the center of the region greater than a certain preset threshold in the aforementioned embodiment as the center of the first positioning block. The row coordinate is the position of the row containing the maximum value of the sum of the convolution calculation results of each row, that is, the row containing the maximum value of the sum of the convolution calculation results of each row is selected as the row coordinate of the center of the first positioning block. And the center column of the row containing the region greater than a certain preset threshold in the aforementioned embodiment is selected as the column coordinate of the center of the first positioning block. Thus, the row coordinates and ordinates of the center position of the first positioning block can be obtained, thereby determining the center position of the first positioning block. For easier understanding, please refer to Figure 11 , Figure 11 This is a schematic diagram of an embodiment for determining the center position of the first positioning block in this application, as shown below. Figure 11 As shown, F indicates the center position of the first positioning block.

[0141] It should be understood that the examples cited in the foregoing description are for the purpose of understanding this solution, but should not be construed as limiting the embodiments of this application.

[0142] S303. Based on the second identification signal and according to the center position of the first positioning block in the target data block, determine the center position of multiple second positioning blocks in the target data block.

[0143] In this embodiment, the data block determining device can determine the center positions of multiple second positioning blocks in the target data block based on the second identification signal and the center position of the first positioning block in the target data block. Therefore, as can be seen from step S301, the data block determining device determines the center positions of multiple second positioning blocks in the target data block based on the second identification signal and the center position of the first positioning block in the target data block, as well as the arrangement information of the digital image.

[0144] Specifically, since the arrangement information of the digital image can indicate the preset spacing between each data block in the digital image, after determining the center position of a first positioning block, the data block determining device can calculate the center positions of the first positioning blocks in other data blocks based on the preset spacing between each data block. At this time, the first positioning blocks at the edges of the data image are not considered. For easier understanding, please refer to [link to relevant documentation]. Figure 12 , Figure 12 This is a schematic diagram illustrating an embodiment of the center position of the first positioning block in other data blocks of this application, such as... Figure 12 As shown, in Figure 12 In the digital image shown in Figure (A), the data block determining device determines the center position G1 of the first positioning block of the target data block using the method described in the foregoing embodiment. Since the arrangement information of the digital image can indicate the preset spacing between each data block in the digital image, therefore... Figure 12 In the digital image shown in Figure (B), the data block determination device, based on the preset spacing between each data block, can roughly determine the first positioning block G2 of other data blocks, and in Figure 12 In the digital image shown in Figure (C), the center position G3 of each first positioning block G2 in other data blocks is determined in a manner similar to that in the aforementioned embodiments.

[0145] In one possible embodiment, if all second identification signals cannot be scanned, it is first determined whether the third window has been completely scanned; if not, scanning continues. Conversely, if it is determined that the third window has been completely scanned, but not all second identification signals have been detected, meaning that a small number of second positioning blocks in the third window have not been detected, the cause may be dirt coverage or low brightness. In this embodiment, the position coordinates of the missing positioning blocks are estimated by fitting the positions of the first positioning block and other second positioning blocks in the target data block. If the area of ​​the second positioning block is found to be outside the digital image, the data block is discarded. In addition, if a large number of second positioning blocks are not detected, other methods are considered for correction, or the data block is discarded.

[0146] Furthermore, the data block determining device extracts a third window based on the center position of the first positioning block of the target data block and the center positions of the first positioning blocks in other data blocks. This third window includes at least one second positioning block in the target data block. Specifically, since the arrangement information of the digital image can also indicate the arrangement and spacing between the first and second positioning blocks, the data block determining device determines the center position of the first positioning block of the target data block and the center positions of the first positioning blocks of other data blocks in the data image. Then, based on the spacing between the first and second positioning blocks, it can determine the approximate position of the second positioning block in each data block. Finally, based on the approximate position of the second positioning block, it extracts a window containing the second positioning block, i.e., extracts the third window.

[0147] For example, the data block determination device has determined the coordinates of the center position of the first positioning block of the target data block as (x0, y0). Based on the distance between the first positioning block and the second positioning block, the distance between the second positioning block and the first positioning block in the target data block in the x-direction is determined to be dx and the distance in the y-direction is determined to be dy. Then, the position of the second positioning block is estimated to be (x0+dx, y0+dy). Based on this, the positioning block whose coordinates satisfy (x0+dx, y0+dy) is determined as the second positioning block, and a third window is extracted based on (x0+dx, y0+dy).

[0148] For easier understanding, please refer to Figure 13 , Figure 13 This is a schematic diagram of an embodiment of the third window captured in this application, as shown below. Figure 13 As shown, Figure 13 In the data image shown in Figure (A), since the center position of the first positioning block in each data block has been determined, a third window H0 can be extracted from the data image based on the distance between the first and second positioning blocks, and the result is as follows. Figure 13 The third window shown in Figure (B) includes multiple second positioning blocks, namely second positioning block H1, second positioning block H2 to second positioning block H8.

[0149] Finally, based on the second recognition signal, the data block determination device uses a pattern recognition method in the third window to determine the center position of the second positioning block in the target data block. Specifically, the data block determination device uses a method similar to that in the aforementioned embodiments to determine whether the second positioning block actually exists in the third window using a pattern recognition method. The specific pattern recognition method is as follows: the data block determination device first normalizes the third window, then convolves each column of the third window with the preset convolution kernel in the aforementioned embodiments. In the convolved image, there will be regions with values ​​greater than a certain preset threshold (shapes close to elongated strips). Then, it is determined whether the length of this region is close to the length of the second positioning block in the row direction. If it is close, it is determined that the second positioning block exists in the third window.

[0150] Based on this, when a second positioning block does exist in the third window, the data block determination device can calculate the precise coordinates of the center of the second positioning block, i.e., determine the center position of the second positioning block. Specifically, the data block determination device selects the center of the region greater than a certain preset threshold in the aforementioned embodiment as the center of the second positioning block. It calculates the sum of the convolution calculation results for each row and selects the row containing the maximum value as the row coordinate of the center of the second positioning block. It also selects the center column of the row containing the region greater than a certain preset threshold in the aforementioned embodiment as the column coordinate of the center of the second positioning block. Thus, it can obtain the row coordinates and ordinates of the center positions of multiple second positioning blocks, thereby determining the center position of the second positioning block. For ease of understanding, based on... Figure 13 Please refer to the third window shown. Figure 14 , Figure 14 This is a schematic diagram of an embodiment for determining the center position of the second positioning block in this application, as shown below. Figure 14 As shown, in the third window, the center positions I1 to I8 of the second positioning block can be determined using the method described in the foregoing embodiments. Specifically, Figure 13 The center position of the second positioning block H1 is I1. Figure 13 The center position of the second positioning block H2 is I2. Similarly, it can be deduced that... Figure 13 The center position of the second positioning block H8 is I8, etc.

[0151] It should be understood that the examples cited in the foregoing description are for the purpose of understanding this solution, but should not be construed as limiting the embodiments of this application.

[0152] S304. Determine the target data block based on the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block.

[0153] In this embodiment, based on steps S302 and S303, the center position of the first positioning block and the center positions of multiple second positioning blocks in the target data block can be determined. Therefore, the data block determining device can determine the target data block based on the center position of the first positioning block and the center positions of the multiple second positioning blocks in the target data block. At this point, the data block determining device can complete the positioning algorithm provided in this embodiment. Figure 15 The diagram shown is an embodiment of a target data block in a data image according to the present application. In the data image J1, a target data block J2 can be determined, and the determined target data block J2 can include a first positioning block and a plurality of second positioning blocks.

[0154] Furthermore, since the charge-coupled device (CCD) acquires the optical signal and then converts it into a digital image, there may be rotational offset during data writing or radial distortion during imaging, which can lead to distortion and deformation of the target data block. Figure 16 The diagram shown is a schematic representation of an embodiment of the deformed target data block in this application. Figure 16 As shown, the target data block has been deformed. To ensure that the determined target data block is more accurate, the correction algorithm provided in this embodiment is described below. The correction algorithm provided in this embodiment first uses a method similar to that in the previous embodiment, determining the data block to be processed based on the center position of the first positioning block and the center positions of multiple second positioning blocks in the target data block. Then, it performs fitting processing on the center positions of the first positioning block and the multiple second positioning blocks in the target data block to obtain the parameters of the correction model. A correction model is established based on the parameters of the correction model, and mathematical transformations are performed on the data block to be processed based on the correction model. Finally, a preset function is used to interpolate the data block to be processed to obtain the target data block.

[0155] Specifically, assuming the center of the digital image is the distortion center, then based on the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block, a correction model is established as shown in formula (1).

[0156]

[0157] Where (x′, y′) indicates the coordinates of the center position of the first positioning block in the target data block in the digital image and the coordinates of the center positions of multiple second positioning blocks in the target data block; (x, y) indicates the ideal coordinates of the center position of the first positioning block in the target data block and the ideal coordinates of the center positions of multiple second positioning blocks in the target data block. All coordinates are relative to the distortion center. a, b, c, d indicate the parameters to be fitted, specifically indicating the rotational offset portion of the target data block.

[0158] If the distortion of the digital image is small, P(r) = 1 + k1r 2 +k2r 4 , where r is the coordinate of the center position of the first positioning block in the target data block or the distance between the coordinates of the center positions of multiple second positioning blocks in the target data block and the distortion center (the center of the digital image), and k1 and k2 are the parameters to be fitted.

[0159] The simplified formula set above yields a linear model (i.e., a corrected model). Using the coordinates of the center position of the first positioning block in the target data block, the coordinates of the center positions of multiple second positioning blocks in the target data block, and the ideal coordinates of the center positions of the aforementioned positioning blocks, the model is used to calculate x, y, and yr. 2 xr 2 xr 4 and yr 4 Perform linear regression or ridge regression to obtain the parameters of the modified model.

[0160] It should be understood that the correction algorithm provided in this embodiment is not limited to the aforementioned distortion repair algorithm. Since a large number of experiments have shown that the offset of the data block is mainly a first-order deformation, the first-order linear transformation described in this embodiment is used to repair the deformation of the data block. In practical applications, there may be other correction algorithms. Therefore, the aforementioned correction algorithm should not be construed as a limitation of this embodiment.

[0161] Based on this, it can be ensured that the number of positioning blocks (including the first positioning block and the second positioning block) included in the target data is greater than the parameters to be fitted, and the redundancy information ensures high stability and high anti-interference ability. After determining the parameters of the correction model, mathematical transformations are performed on the data block to be processed based on the correction model, and interpolation processing is performed on the data block to be processed using a preset function to complete the correction of the target data block and obtain the target data block. Specifically, the preset function is any one of a linear function, a bilinear function, or a spline function.

[0162] For example, based on Figure 16 Please refer to the deformed target data block shown. Figure 17 , Figure 17 This is a schematic diagram of an embodiment of the modified target data block in this application, as shown below. Figure 17 As shown, Figure 17 Figure (A) shows the deformed target data block. A correction model is established based on the parameters of the correction model. Mathematical transformations are performed on the data block to be processed based on the correction model, and interpolation processing is performed on the data block to be processed using a preset function to obtain... Figure 17 The target data block is shown in Figure (B).

[0163] The above mainly describes the data block determination method provided in the embodiments of this application. Since there are various arrangements of the first and second positioning blocks in a data block in practical applications, it is understood that the number and arrangement of positioning blocks are not singular and can be flexibly adjusted according to the needs of the actual problem. To facilitate understanding by those skilled in the art, the arrangement of the first and second positioning blocks in the data block provided in the embodiments of this application will be described below.

[0164] In one optional implementation, the number of rows and columns of the positioning blocks is set to an odd number. The central positioning block is designated as the first positioning block, and the remaining blocks are designated as the second positioning blocks, ensuring the overall structure's rationality. In this arrangement, the center of the first positioning block coincides with the center of the data block. The minimum number of rows and columns for the positioning blocks is 3, ensuring a sufficient number of blocks for precise data block correction, while the maximum number is 5, ensuring the overall space occupied by the positioning blocks is not too large, thus increasing storage capacity.

[0165] For ease of understanding, let's take a 3x3 matrix as an example. Figure 18 The diagram shown is a schematic representation of an embodiment of the arrangement of the first positioning block and the second positioning block in this application. Figure 18 As shown, the positioning blocks are distributed across a 3x3 grid. The first positioning block is located in the center of the data block for rapid positioning, with its center coinciding with the center of the data block. The second positioning blocks are distributed in a checkerboard pattern across the other grid points for precise correction. The remaining areas are used for data storage. The first and second positioning blocks accurately locate the data block, and multiple positioning blocks ensure the algorithm's correction capability. Furthermore, the positioning blocks have an easily identifiable internal structure, which can resist interference from surrounding data areas. The overall space occupied by the positioning blocks is small, increasing the effective data storage capacity of this implementation method.

[0166] Secondly, we will use examples with 3*5, 5*3, and 5*5 rows and columns to illustrate this further. Figure 19 The diagram shown is a schematic representation of another embodiment of the arrangement of the first positioning block and the second positioning block in this application. Figure 19 As shown, Figure 19 Figure (A) shows a 3x5 grid arrangement with 3 rows and 5 columns. The positioning blocks are distributed across the 3x5 grid, with the first positioning block K in the center of the data block, and the second positioning blocks distributed in a checkerboard pattern across the other grid points. Similarly, it can be seen that... Figure 19 The middle figure (B) shows an arrangement with 5*3 rows and columns. The positioning blocks are distributed on the 5*3 grid. The first positioning block K is in the center of the data block, while the second positioning block is distributed in a checkerboard pattern on the other grid points. Figure 19The middle figure (C) shows a 5*5 arrangement with rows and columns. The positioning blocks are distributed on the 5*5 grid. The first positioning block K is in the center of the data block, while the second positioning block is distributed in a checkerboard pattern on the other grid points.

[0167] based on Figure 18 and Figure 19 The arrangement of the first and second positioning blocks shown is according to... Figure 3 The provided data block determination method employs a positioning algorithm that first determines the first positioning block and then the second positioning block. Therefore, it only requires scanning a region of the digital image to first determine the precise center position of a first positioning block (which is also the center position of the data block). Then, based on the relative position information of the data blocks (i.e., the preset spacing between each data block), the positions of all other first positioning blocks in the digital image are determined. Furthermore, based on the arrangement of the first and second positioning blocks within each data block, the positions of all second positioning blocks within that data block are determined. This positioning algorithm improves both positioning speed and accuracy. After positioning, a higher-order correction is performed on each data block based on the positions of all positioning blocks. The correction algorithm described above primarily considers two factors: rotational offset during writing and radial distortion during imaging, improving correction accuracy. This allows for the correction of deformed data blocks. After correction, signal recognition and decoding are performed on the data blocks, thereby improving the accuracy of data acquisition from the data blocks.

[0168] In another alternative implementation, in some cases, it is necessary to arrange the first and second positioning blocks in the data block with an even number of rows or columns. Several design options are available in this case, depending on the specific problem and requirements. In this embodiment, the number of rows or columns is set to a range of {3, 4, 5}, which ensures sufficient correction capability while reducing the space occupied by the positioning blocks.

[0169] For ease of understanding, let's take a 4x4 array as an example. Figure 20 The diagram shown is a schematic representation of another embodiment of the arrangement of the first positioning block and the second positioning block in this application. Figure 20 As shown, Figure 20 Figure (A) shows an optional arrangement with 4*4 rows and columns. Specifically, a grid point near the center of the data block is selected as the first positioning block L. In this case, the center of the first positioning block L is no longer the center of the data block. Secondly, Figure 20 Figure (B) shows another optional arrangement with 4x4 rows and columns. An additional first positioning block L is placed at the center of the data block. In this case, the center of the first positioning block L still overlaps with the center of the data block, but the overall space occupied by the positioning block is larger. Again, Figure 20The middle image (C) shows another possible arrangement with 4x4 rows and columns. Figure 20 Based on the arrangement shown in Figure (B), the second positioning block that is too close to the first positioning block L is removed. This method still has insufficient correction capability, but its space usage is relatively low. Figure 20 The arrangement shown in Figure (A) and Figure 20 The arrangement shown in Figure (B) is smaller.

[0170] Secondly, let's take a 3*4 row and column number as an example for further explanation. Figure 21 The diagram shown is a schematic representation of another embodiment of the arrangement of the first positioning block and the second positioning block in this application. Figure 21 As shown, Figure 21 The middle figure (A) shows one possible arrangement with 3*4 rows and columns, compared to... Figure 20 Similar to Figure (A), a grid point near the center of the data block is selected as the first positioning block M. In this case, the center of the first positioning block M is no longer the center of the data block. Secondly, Figure 21 Figure (B) shows another optional arrangement with 3*4 rows and columns, which is different from the previous one. Figure 20 Similar to Figure (B), an additional first positioning block M is placed at the center of the data block, and the center of the first positioning block M still overlaps with the center of the data block. Again, Figure 21 The middle image (C) shows another possible arrangement with 3*4 rows and columns, which is similar to... Figure 20 Similar to the middle image (C), in Figure 21 Based on the arrangement shown in Figure (B), remove the second positioning block that is too close to the first positioning block M.

[0171] Let's take a 4*3 row and column number as an example for further explanation. Figure 22 The diagram shown is a schematic representation of another embodiment of the arrangement of the first positioning block and the second positioning block in this application. Figure 22 As shown, Figure 22 The middle figure (A) shows one possible arrangement with 4*3 rows and columns, which is consistent with... Figure 20 Similar to Figure (A), a grid point near the center of the data block is selected as the first positioning block N. In this case, the center of the first positioning block N is no longer the center of the data block. Secondly, Figure 22 Figure (B) shows another optional arrangement with 4*3 rows and columns, which is different from the previous one. Figure 20 Similar to Figure (B), an additional first positioning block N is placed at the center of the data block, where the center of the first positioning block N still overlaps with the center of the data block. Again, Figure 22 The middle image (C) shows another possible arrangement with 4*3 rows and columns, which is different from the previous one. Figure 20Similar to the middle image (C), in Figure 22 Based on the arrangement shown in Figure (B), remove the second positioning block that is too close to the first positioning block N.

[0172] Let's take a 4*5 row and column number as an example for further explanation. Figure 23 The diagram shown is a schematic representation of another embodiment of the arrangement of the first positioning block and the second positioning block in this application. Figure 23 As shown, Figure 23 The middle figure (A) shows one possible arrangement with 4*5 rows and columns, which is consistent with... Figure 20 Similar to Figure (A), a grid point near the center of the data block is selected as the first positioning block O. In this case, the center of the first positioning block O is no longer the center of the data block. Secondly, Figure 23 Figure (B) shows another optional arrangement with 4 rows and 5 columns, which is different from the previous one. Figure 20 Similar to Figure (B), an additional first positioning block O is placed at the center of the data block, where the center of the first positioning block O still overlaps with the center of the data block. Again, Figure 23 The middle image (C) shows another possible arrangement with 4*5 rows and columns, which is similar to... Figure 20 Similar to the middle image (C), in Figure 23 Based on the arrangement shown in Figure (B), remove the second positioning block that is too close to the first positioning block O.

[0173] Let's take a 5*4 row and column number as an example for further explanation. Figure 24 The diagram shown is a schematic representation of another embodiment of the arrangement of the first positioning block and the second positioning block in this application. Figure 24 As shown, Figure 24 The middle figure (A) shows one possible arrangement with 5 rows and 4 columns, compared to... Figure 20 Similar to Figure (A), a grid point near the center of the data block is selected as the first positioning block P. In this case, the center of the first positioning block P is no longer the center of the data block. Secondly, Figure 24 Figure (B) shows another optional arrangement with 5 rows and 4 columns, which is different from the previous one. Figure 20 Similar to Figure (B), an additional first positioning block P is placed at the center of the data block, where the center of the first positioning block P still overlaps with the center of the data block. Again, Figure 24 The middle image (C) shows another possible arrangement with 5 rows and 4 columns, which is different from the previous one. Figure 20 Similar to the middle image (C), in Figure 24 Based on the arrangement shown in Figure (B), remove the second positioning block that is too close to the first positioning block P.

[0174] based on Figures 20 to 24The arrangement of the first and second positioning blocks shown can be varied because the number of rows or columns can be set to an even number. Since no grid point coincides with the center of the data block, there are multiple ways to place the first positioning block. The choice should be made according to the actual situation, which can improve the flexibility of this solution.

[0175] In another alternative implementation, in some cases, the data block is too tall or too wide, requiring an increase in the number of positioning blocks to ensure correction capability.

[0176] For example, when the data block is too tall, this embodiment can set the number of rows of the positioning block to 6, 7, or even more, so that the arrangement of the first positioning block and the second positioning block matches the size of the data block. For ease of understanding, an example of 6*3 rows and columns will be used. Figure 25 The diagram shown is a schematic representation of another embodiment of the arrangement of the first positioning block and the second positioning block in this application. Figure 25 As shown, Figure 25 The middle figure (A) shows an optional arrangement with 6*3 rows and columns. A grid point close to the middle of the data block is selected as the first positioning block Q. At this time, the center of the first positioning block Q is no longer the center of the data block, and the other positioning blocks are arranged in a chessboard pattern in the data block. Figure 25 The middle figure (B) shows another optional arrangement with 6*3 rows and columns, where a grid point in the middle column (i.e., the second column) is selected as the first positioning block Q. Figure 25 The middle image (C) shows another possible arrangement with 6 rows and 3 columns. Figure 25 Based on the arrangement shown in Figure (A), the second positioning block that is too close to the first positioning block Q is removed. This method still has insufficient correction capability, but its space usage is relatively low. Figure 25 The arrangement shown in Figure (A) and Figure 25 The arrangement shown in Figure (B) is smaller.

[0177] For example, when the data block is too wide, this embodiment can set the number of columns of the positioning block to 6, 7, or even more, so that the arrangement of the first positioning block and the second positioning block matches the size of the data block. For ease of understanding, an example of 4*7 rows and columns will be used. Figure 26 The diagram shown is a schematic representation of another embodiment of the arrangement of the first positioning block and the second positioning block in this application. Figure 26 As shown, Figure 26 The middle figure (A) shows one possible arrangement with 4*7 rows and columns, compared to... Figure 25Similar to Figure (A), a grid point near the middle of the data block is selected as the first positioning block R. At this time, the center of the first positioning block R is no longer the center of the data block, and the other positioning blocks are arranged in a chessboard pattern in the data block. Figure 26 Figure (B) shows another optional arrangement with 4*7 rows and columns, which is different from the previous one. Figure 25 Similar to the middle diagram (B), a grid point in the middle column (i.e., the second column) is selected as the first positioning block R. Figure 26 The middle image (C) shows another possible arrangement with 4*7 rows and columns, which is similar to... Figure 25 Similar to the middle image (C), in Figure 26 Based on the arrangement shown in Figure (A), the second positioning block that is too close to the first positioning block R is removed. This method still has insufficient correction capability, but it occupies less space and is more efficient than other methods. Figure 26 The arrangement shown in Figure (A) and Figure 26 The arrangement shown in Figure (B) is smaller.

[0178] based on Figure 25 as well as Figure 26 The arrangement of the first and second positioning blocks shown can accommodate large numbers of rows or columns to fit data blocks that are too tall or too wide, thus improving the feasibility of this solution.

[0179] It is understandable that in practical applications, there are many other ways to arrange the first and second positioning blocks, which need to be arranged according to actual needs. Therefore, this application embodiment does not exhaustively list all the possible arrangements.

[0180] The foregoing primarily describes the solutions provided in the embodiments of this application from a methodological perspective. It is understood that the data block determination device, in order to achieve the above functions, includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the modules and algorithm steps of the various examples described in the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0181] This application embodiment can divide the data block determination device into functional modules based on the above method examples. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated modules can be implemented in hardware or as software functional modules. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.

[0182] Therefore, the data block determination device in this application will be described in detail below. Please refer to [link / reference]. Figure 27 , Figure 27 This is a schematic diagram of one embodiment of the data block determination device in this application. As shown in the figure, the data block determination device 2700 includes:

[0183] The acquisition module 2701 is used to acquire a digital image, wherein the digital image includes multiple data blocks, each data block includes a first positioning block and multiple second positioning blocks, the first positioning block includes a first identification signal, and the second positioning block includes a second identification signal;

[0184] Processing module 2702 is used to determine the center position of the first positioning block in the target data block in the digital image based on the first recognition signal;

[0185] The processing module 2702 is also used to determine the center position of a plurality of second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block;

[0186] The processing module 2702 is also used to determine the target data block based on the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block.

[0187] In one alternative implementation, in the above... Figure 27 Based on the corresponding embodiments, in another embodiment of the data block determining device 2700 provided in this application, each data block has the same size, and each first positioning block has the same size;

[0188] Processing module 2702 is specifically used for:

[0189] A first window is captured from the digital image, wherein the first window includes a first positioning block;

[0190] The first window is scanned from left to right based on a preset step size, and the position of the first positioning block is determined when the first identification signal is obtained during the scan. The preset step size is determined based on the lateral dimension of the first positioning block, and the position of the first positioning block is the position where the first identification signal is obtained during the scan.

[0191] Centered on the position of the first positioning block, a second window is captured, wherein the second window includes the first positioning block;

[0192] In the second window, determine the center position of the first positioning block in the target data block.

[0193] In one alternative implementation, in the above... Figure 27 Based on the corresponding embodiments, in another embodiment of the data block determination device 2700 provided in this application, the acquisition module 2701 is further configured to acquire arrangement information of a digital image before the processing module determines the center position of a plurality of second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block, wherein the arrangement information indicates the preset spacing between each data block in the digital image;

[0194] Processing module 2702 is further configured to determine the center positions of multiple second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block, specifically including:

[0195] The processing module 2702 is also used to determine the center position of multiple second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block and the arrangement information of the digital image.

[0196] In one alternative implementation, in the above... Figure 27 Based on the corresponding embodiments, in another embodiment of the data block determining device 2700 provided in this application, each second positioning block has the same size;

[0197] Processing module 2702 is specifically used for:

[0198] Based on the center position of the first positioning block of the target data block and the arrangement information of the digital image, determine the center position of the first positioning block in other data blocks;

[0199] Based on the center position of the first positioning block of the target data block and the center positions of the first positioning blocks in other data blocks, a third window is extracted, wherein the third window includes at least one second positioning block in the target data block;

[0200] Based on the second identification signal, the center position of the second positioning block in the target data block is determined using pattern recognition methods in the third window.

[0201] In one alternative implementation, in the above... Figure 27 Based on the corresponding embodiments, in another embodiment of the data block determination device 2700 provided in this application, the processing module 2702 is specifically used for:

[0202] The data block to be processed is determined based on the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block.

[0203] A correction model is established based on the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block;

[0204] The modified model is used to process the data block to be processed in order to obtain the target data block.

[0205] In one alternative implementation, in the above... Figure 27 Based on the corresponding embodiments, in another embodiment of the data block determination device 2700 provided in this application, the processing module 2702 is specifically used for:

[0206] The center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block are fitted to obtain the parameters of the corrected model.

[0207] Establish a modified model based on the parameters of the modified model;

[0208] The processing module is specifically used to perform mathematical transformations on the data block to be processed based on the correction model, and to perform interpolation processing on the data block to be processed using a preset function to obtain the target data block.

[0209] In one alternative implementation, in the above... Figure 27 Based on the corresponding embodiments, in another embodiment of the data block determination device 2700 provided in this application, the preset function is a linear function, a bilinear function, or a spline function.

[0210] In one alternative implementation, in the above... Figure 27 Based on the corresponding embodiments, in another embodiment of the data block determining device 2700 provided in this application, the center position of the first positioning block in the target data block coincides with the center position of the target data block;

[0211] or,

[0212] The difference between the center position of the first positioning block in the target data block and the center position of the target data block is less than a preset distance threshold.

[0213] In one alternative implementation, in the above... Figure 27 Based on the corresponding embodiments, in another embodiment of the data block determination device 2700 provided in this application, the digital image is obtained by converting an optical signal.

[0214] Reference Figure 28 This application also provides a computer program product in some embodiments, wherein the above-mentioned Figure 3The disclosed method can be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium or on other non-transitory media or articles of art.

[0215] Figure 28 A conceptual partial view of an example computer program product arranged according to at least some of the embodiments shown herein is illustrated schematically. The example computer program product includes a computer program for executing computer processes on a computing device.

[0216] In one embodiment, computer program product 2800 is provided using signal bearer medium 2801. Signal bearer medium 2801 may include one or more program instructions 2802, which, when executed by one or more processors, can provide the above-mentioned... Figure 3 The described function or part of the function. Therefore, for example, refer to... Figure 3 In the embodiment shown, one or more features of steps 301 to 304 can be performed by one or more instructions associated with the signal carrying medium 2801. Furthermore, Figure 28 The program instruction 2802 in the document also describes example instructions.

[0217] In some examples, signal carrying medium 2801 may include computer-readable medium 2803, such as, but not limited to, hard disk drive, compact disc (CD), digital video disc (DVD), digital magnetic tape, memory, ROM or RAM, etc.

[0218] In some embodiments, the signal-bearing medium 2801 may comprise a computer-recordable medium 2804, such as, but not limited to, a memory, a read / write (R / W) CD, a R / W DVD, etc. In some embodiments, the signal-bearing medium 2801 may comprise a communication medium 2805, such as, but not limited to, digital and / or analog communication media (e.g., fiber optic cables, waveguides, wired communication links, wireless communication links, etc.). Therefore, for example, the signal-bearing medium 2801 may be transmitted by a wireless communication medium 2805 (e.g., a wireless communication medium conforming to the IEEE 802.11 standard or other transmission protocols).

[0219] One or more program instructions 2802 may be, for example, computer-executable instructions or logical implementation instructions. In some examples, the computing device may be configured to provide various operations, functions, or actions in response to one or more program instructions 2802 conveyed to the computing device via a computer-readable medium 2803, a computer-recordable medium 2804, and / or a communication medium 2805.

[0220] It should be understood that the arrangements described herein are for illustrative purposes only. Therefore, those skilled in the art will understand that other arrangements and other elements (e.g., machines, interfaces, functions, sequences, and functional groups, etc.) can be used instead, and some elements may be omitted depending on the desired outcome. Furthermore, many of the described elements are functional entities that can be implemented as discrete or distributed components, or in any suitable combination and location with other components.

[0221] This application also provides a data block determination apparatus, including at least one processor, the at least one processor being configured to execute a computer program stored in a memory, such that the data block determination apparatus performs the method executed by the data block determination apparatus in any of the above method embodiments.

[0222] It should be understood that the aforementioned data block determination device can be one or more chips. For example, the data block determination device can be a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD), or other integrated chips.

[0223] This application also provides a data block determination apparatus, including a processor and a communication interface. The communication interface is coupled to the processor. The communication interface is used for inputting and / or outputting information. The information includes at least one of instructions and data. The processor is used to execute a computer program to cause the data block determination apparatus to perform the method executed by the data block determination apparatus in any of the above method embodiments.

[0224] This application also provides a data block determination apparatus, including a processor and a memory. The memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that the data block determination apparatus performs the method executed by the data block determination apparatus in any of the above method embodiments.

[0225] In implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software. The steps of the method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are omitted here.

[0226] It should be noted that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above methods.

[0227] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0228] According to the method provided in the embodiments of this application, this application also provides a computer-readable storage medium storing program code, which, when executed on a computer, causes the computer to perform... Figure 3 The methods performed by each unit in the illustrated embodiment.

[0229] The modules and units in the above-described device embodiments and method embodiments correspond completely, with each module or unit executing a specific step. For example, the communication unit (transceiver) executes the receiving or sending steps in the method embodiment, while other steps besides sending and receiving can be executed by the processing unit (processor). The specific functions of each unit can be found in the corresponding method embodiments. There can be one or more processors.

[0230] As used in this specification, the terms "component," "module," "system," etc., are used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. As illustrated, applications running on computing devices and computing devices can both be components. One or more components may reside in a process and / or an execution thread, and components may be located on a single computer and / or distributed among two or more computers. Furthermore, these components can be executed from various computer-readable media on which various data structures are stored. Components can communicate, for example, via local and / or remote processes based on signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system, and / or a network, such as the Internet interacting with other systems via signals).

[0231] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0232] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0233] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0234] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0235] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0236] If the aforementioned functions 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, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0237] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for determining data blocks, characterized in that, The method includes: Acquire a digital image, wherein the digital image includes at least one data block, each data block includes a first positioning block and a plurality of second positioning blocks, the first positioning block includes a first identification signal, the second positioning block includes a second identification signal, the first positioning block is used to determine the position of the data block, and the second positioning block is used to accurately determine the position of the data block and correct the data block; Based on the first identification signal, the center position of the first positioning block in the target data block is determined in the digital image; Based on the second identification signal, and according to the center position of the first positioning block in the target data block, the center positions of multiple second positioning blocks in the target data block are determined; The target data block is determined based on the center position of the first positioning block in the target data block and the center positions of the multiple second positioning blocks in the target data block.

2. The method according to claim 1, characterized in that, Each of the data blocks is the same size, and each of the first positioning blocks is the same size; Based on the first identification signal, determining the center position of the first positioning block in the target data block in the digital image specifically includes: A first window is cropped from the digital image, wherein the first window includes the first positioning block; The first window is scanned from left to right based on a preset step size, and the position of the first positioning block is determined when the first identification signal is obtained during the scan. The preset step size is determined based on the lateral dimension of the first positioning block, and the position of the first positioning block is the position where the first identification signal is obtained during the scan. A second window is captured centered on the position of the first positioning block, wherein the second window includes the first positioning block; In the second window, determine the center position of the first positioning block in the target data block.

3. The method according to claim 1, characterized in that, Before determining the center positions of multiple second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block, the method further includes: Obtain the arrangement information of a digital image, wherein the arrangement information indicates a preset spacing between each data block in the digital image; The step of determining the center positions of multiple second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block specifically includes: Based on the second identification signal, and according to the center position of the first positioning block in the target data block and the arrangement information of the digital image, the center positions of multiple second positioning blocks in the target data block are determined.

4. The method according to claim 3, characterized in that, Each of the second positioning blocks has the same size; The step of determining the center positions of multiple second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block and the arrangement information of the digital image specifically includes: Based on the center position of the first positioning block of the target data block and the arrangement information of the digital image, determine the center position of the first positioning block in other data blocks; A third window is extracted based on the center position of the first positioning block of the target data block and the center positions of the first positioning blocks in other data blocks, wherein the third window includes at least one of the second positioning blocks in the target data block; Based on the second identification signal, the center position of the second positioning block in the target data block is determined using a pattern recognition method in the third window.

5. The method according to claim 1, characterized in that, The step of determining the target data block based on the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block specifically includes: The data block to be processed is determined based on the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block; A correction model is established based on the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block; The data block to be processed is processed according to the modified model to obtain the target data block.

6. The method according to claim 5, characterized in that, The step of determining the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block specifically includes: The center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block are fitted to obtain the parameters of the corrected model; Establish a modified model based on the parameters of the modified model; The step of processing the data block to be processed according to the modified model to obtain the target data block specifically includes: The data block to be processed is mathematically transformed based on the modified model, and interpolation is performed on the data block to be processed using a preset function to obtain the target data block.

7. The method according to claim 6, characterized in that, The preset function is a linear function, a bilinear function, or a spline function.

8. The method according to any one of claims 1 to 7, characterized in that, The center position of the first positioning block in the target data block coincides with the center position of the target data block; or, The difference between the center position of the first positioning block in the target data block and the center position of the target data block is less than a preset distance threshold.

9. The method according to any one of claims 1 to 6, characterized in that, The digital image is obtained by converting optical signals.

10. A data block determination device, characterized in that, include: An acquisition module is used to acquire a digital image, wherein the digital image includes at least one data block, each data block includes a first positioning block and a plurality of second positioning blocks, the first positioning block includes a first identification signal, the second positioning block includes a second identification signal, the first positioning block is used to determine the position of the data block, and the second positioning block is used to accurately determine the position of the data block and correct the data block. The processing module is configured to determine the center position of the first positioning block in the target data block in the digital image based on the first identification signal; The processing module is further configured to determine the center positions of a plurality of second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block; The processing module is further configured to determine the target data block based on the center position of the first positioning block in the target data block and the center positions of the multiple second positioning blocks in the target data block.

11. The apparatus according to claim 10, characterized in that, Each of the data blocks is the same size, and each of the first positioning blocks is the same size; The processing module is specifically used for: A first window is cropped from the digital image, wherein the first window includes the first positioning block; The first window is scanned from left to right based on a preset step size, and the position of the first positioning block is determined when the first identification signal is obtained during the scan. The preset step size is determined based on the lateral dimension of the first positioning block, and the position of the first positioning block is the position where the first identification signal is obtained during the scan. A second window is captured centered on the position of the first positioning block, wherein the second window includes the first positioning block; In the second window, determine the center position of the first positioning block in the target data block.

12. The apparatus according to claim 10, characterized in that, The acquisition module is further configured to acquire arrangement information of a digital image before the processing module determines the center position of a plurality of second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block, wherein the arrangement information indicates a preset spacing between each data block in the digital image; The processing module is further configured to determine the center positions of multiple second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block, specifically including: The processing module is further configured to determine the center positions of multiple second positioning blocks in the target data block based on the second identification signal and according to the center position of the first positioning block in the target data block and the arrangement information of the digital image.

13. The apparatus according to claim 12, characterized in that, Each of the second positioning blocks has the same size; The processing module is specifically used for: Based on the center position of the first positioning block of the target data block and the arrangement information of the digital image, determine the center position of the first positioning block in other data blocks; A third window is extracted based on the center position of the first positioning block of the target data block and the center positions of the first positioning blocks in other data blocks, wherein the third window includes at least one of the second positioning blocks in the target data block; Based on the second identification signal, the center position of the second positioning block in the target data block is determined using a pattern recognition method in the third window.

14. The apparatus according to claim 10, characterized in that, The processing module is specifically used for: The data block to be processed is determined based on the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block; A correction model is established based on the center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block; The data block to be processed is processed according to the modified model to obtain the target data block.

15. The apparatus according to claim 14, characterized in that, The processing module is specifically used for: The center position of the first positioning block in the target data block and the center positions of multiple second positioning blocks in the target data block are fitted to obtain the parameters of the corrected model; Establish a modified model based on the parameters of the modified model; The processing module is specifically used to perform mathematical transformations on the data block to be processed based on the correction model, and to perform interpolation processing on the data block to be processed using a preset function to obtain the target data block.

16. The apparatus according to claim 15, characterized in that, The preset function is a linear function, a bilinear function, or a spline function.

17. The apparatus according to any one of claims 10 to 16, characterized in that, The center position of the first positioning block in the target data block coincides with the center position of the target data block; or, The difference between the center position of the first positioning block in the target data block and the center position of the target data block is less than a preset distance threshold.

18. The apparatus according to any one of claims 10 to 15, characterized in that, The digital image is obtained by converting optical signals.

19. A network device, characterized in that, include: Processor, memory, input / output (I / O) interfaces; The processor is coupled to the memory and the input / output interface; The processor executes the method as described in any one of claims 1 to 9 by running the code in the memory.

20. A computer-readable storage medium comprising instructions that, when executed on a computer, cause the computer to perform the method as claimed in any one of claims 1 to 9.

21. A computer program product, characterized in that, Includes computer-readable instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 9.