Image fingerprint comparison method, device, equipment and medium based on large integer type
By customizing the large integer type of byte length and comparing the picture id and fingerprint, the cumbersome problems of storage and comparison in the prior art are solved, and efficient image storage and comparison are achieved.
Patent Information
- Application Number
- CN202111135524.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-27
- Publication Date
- 2025-07-18
- Estimated Expiration
- 2041-09-27
AI Technical Summary
In the prior art, due to the byte limitation of integer type, multiple arrays are required when storing or comparing picture ids combined with fingerprints, resulting in cumbersome and inefficient storage and comparison processes.
Using a large integer type with a custom byte length, the image id of M bytes and the image fingerprint of N bytes is stored, the storage data of M+N bytes is formed, and stored in files of different range sizes is sequentially, and the target file is compared by a high X-bit positioning of N bytes of fingerprint.
It improves the efficiency of image storage and fingerprint comparison, simplifies the comparison process, and reduces the cumbersomeness of array comparison.
Smart Images

Figure CN113849671B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of image processing, and particularly to a method, apparatus, device, and medium for comparing image fingerprints based on a large integer type. Background Art
[0002] At present, in most software programming systems or platforms, the byte size is defined for any type. For example, for the common int integer type, it is usually specified as 4 bytes (Byte) 32 bits (Bit), or specified as 8 bytes (Byte) 64 bits (Bit).
[0003] And usually, an image information contains, for example, 20-byte image id information, or 11-byte or 12-byte image fingerprint information including image layout and styling features. Due to the limitation of the int byte type, storing or comparing an image combining id and fingerprint often requires multiple arrays, which results in numerous storage and comparison targets and a very cumbersome and inefficient process. Summary of the Invention
[0004] In view of the above-mentioned disadvantages of the prior art, the purpose of the present application is to provide a method, apparatus, device, and medium for comparing image fingerprints based on a large integer type, so as to solve at least one problem existing in the prior art.
[0005] To achieve the above object and other related objects, the present application provides a method for comparing image fingerprints based on a large integer type, the method including: setting a large integer type with a custom byte length to store an M-byte image id and an N-byte image fingerprint, and forming a storage data of at least M + N bytes; arranging each of the storage data in ascending order and sequentially storing them into files corresponding to different range sizes; obtaining the storage data to be compared stored in the same way as above, and positioning to the target file suitable for its range size according to the high X bits of the N bytes of its fingerprint; if there is target storage data with the same high X bits stored in the file, the M-bit image id of the corresponding target storage data is counted as one fingerprint hit.
[0006] In an embodiment of the present application, the method further includes: when there are Y fingerprint hits among all the image fingerprints belonging to the same image id, it is determined that they are the same image.
[0007] In an embodiment of the present application, the image id is generated by using M-byte Hash encoding of the image link; several image fingerprints can be extracted from one image, and each of the image fingerprints has N bytes.
[0008] In an embodiment of the present application, the first M bytes of the storage data are the low-order bytes of the image id, and the last N bytes of the storage data are the high-order bytes of the image fingerprint.
[0009] In an embodiment of the present application, X is less than N; the X high-order bytes correspond to the highest or the last X bytes among the N high-order bytes, and the last X high-order bytes are determined through array indexing.
[0010] In an embodiment of the present application, the byte length of the large integer type is adjustable.
[0011] To achieve the above object and other related objects, the present application provides a picture fingerprint comparison device based on a large integer type, a setting module for setting a large integer type with a custom byte length to store a picture id of M bytes and a picture fingerprint of N bytes, and forming a storage data of at least M + N bytes; a storage module for arranging each of the storage data in ascending order and sequentially storing them into files corresponding to different range sizes; a comparison module for obtaining the storage data to be compared stored in the same manner as above, and positioning to a target file adapted to its range size according to the high X bits of the N bytes of its fingerprint; if there is target storage data with the same high X bits stored in the file, the M-bit picture id of the corresponding target storage data is counted as one fingerprint hit.
[0012] To achieve the above object and other related objects, the present application provides a computer device, the device includes: a memory, and a processor; the memory is used to store computer instructions; the processor runs the computer instructions to implement the method as described above.
[0013] To achieve the above object and other related objects, the present application provides a computer-readable storage medium storing computer instructions, and the computer instructions execute the method as described above when running.
[0014] In summary, the present application provides a picture fingerprint comparison method, device, device and medium based on a large integer type. By setting a large integer type with a custom byte length, a picture id of M bytes and a picture fingerprint of N bytes are stored, and a storage data of at least M + N bytes is formed; each of the storage data is arranged in ascending order and sequentially stored into files corresponding to different range sizes; a storage data to be compared stored in the same manner as above is obtained, and a target file adapted to its range size is positioned according to the high X bits of the N bytes of its fingerprint; if there is target storage data with the same high X bits stored in the file, the M-bit picture id of the corresponding target storage data is counted as one fingerprint hit.
[0015] It has the following beneficial effects:
[0016] The present application sets a large integer type with a custom byte length, which is convenient for storage and comparison, and greatly improves the efficiency of picture storage and picture fingerprint comparison. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 It shows a schematic flowchart of the method for comparing picture fingerprints based on the large integer type in an embodiment of the present application.
[0018] Figure 2 It shows a schematic module diagram of the device for comparing picture fingerprints based on the large integer type in an embodiment of the present application.
[0019] Figure 3 It shows a schematic structural diagram of a computer device in an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0020] The following uses specific specific examples to illustrate the implementation manners of the present application. Those skilled in the art can easily understand other advantages and effects of the present application from the content disclosed in this specification. The present application can also be implemented or applied through other different specific implementation manners. Various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present application. It should be noted that, without conflict, the following embodiments and the features in the embodiments can be combined with each other.
[0021] It should be noted that the drawings provided in the following embodiments only illustrate the basic concept of the present application in a schematic manner. Although only the components related to the present application are shown in the drawings and are not drawn according to the number, shape, and size of the components in actual implementation, the types, quantities, and ratios of the components in actual implementation can be arbitrarily changed, and the component layout type may also be more complex.
[0022] Throughout the specification, when it is said that a part is "connected" to another part, this includes not only the case of "direct connection", but also the case of "indirect connection" with other elements placed therebetween. In addition, when it is said that a certain part "includes" a certain constituent element, unless there is a particularly contrary record, it does not exclude other constituent elements, but means that other constituent elements can also be included.
[0023] The first, second, and third terms mentioned therein are used to illustrate various parts, components, regions, layers, and / or segments, but are not limited thereto. These terms are only used to distinguish a part, component, region, layer, or segment from other parts, components, regions, layers, or segments. Therefore, the first part, component, region, layer, or segment described below can refer to the second part, component, region, layer, or segment within the scope of the present application without exceeding the scope of the present application.
[0024] Furthermore, as used herein, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It should be further understood that the terms "comprising", "including" indicate the presence of the stated features, operations, elements, components, items, kinds, and / or groups, but do not preclude the presence, occurrence, or addition of one or more other features, operations, elements, components, items, kinds, and / or groups. The terms "or" and "and / or" used herein are to be construed as inclusive, meaning any one or any combination. Thus, "A, B, or C" or "A, B, and / or C" means "any of the following: A; B; C; A and B; A and C; B and C; A, B, and C". An exception to this definition occurs only when the combination of elements, functions, or operations is inherently mutually exclusive in some way.
[0025] To solve the above problems, the present application proposes a method, apparatus, device, and medium for comparing picture fingerprints based on a large integer type. By setting a large integer type with a custom byte length, it is convenient for storage and comparison, greatly improving the efficiency of picture storage and picture fingerprint comparison.
[0026] As Figure 1 shown, it is a schematic flowchart of the method for comparing picture fingerprints based on a large integer type in an embodiment of the present application. As shown in the figure, the method includes:
[0027] Step S101: Set a large integer type with a custom byte length to store the picture id of M bytes and the picture fingerprint of N bytes, and form a storage data of M + N bytes.
[0028] For example, the int() function is an integer data type, which represents a data type for a certain range of mathematical integers. Since the size of each type is defined in each programming system, such as the int type occupies 4 bytes in memory, that is, 32 bits. And most systems specify the integer type int as 32 bits or 64 bits, 128 bits, etc.
[0029] In general picture data, for example, the picture id may occupy 20 bytes, and the picture fingerprint fixedly occupies 12 bytes. Due to the byte limit of the integer type int, when storing or comparing a picture combining the id and the fingerprint, multiple arrays are often required, which will be very troublesome in subsequent storage and comparison. For example, a picture fingerprint may need to include 3 arrays defined by the int function. If comparison is required, it is necessary to compare the 3 arrays to be compared with the 3 arrays of each picture in the picture database, which is very cumbersome and inefficient.
[0030] To solve the byte limit of the integer type int, this application proposes to set a large integer type Xint with a custom byte length, and its byte length is adjustable. For example, it is set through the function make([]byte, length), and then used to integrate the M-byte picture id and the N-byte picture fingerprint array corresponding to the same picture information into the stored data with a length of at least M + N bytes. Simply put, through the large integer type, the picture id and fingerprint are stored in the way of M + N to form a single stored data.
[0031] Among them, the byte length of the picture fingerprint array is a fixed length. Each byte data in the picture id array or the picture fingerprint array can be in base 256, or other bases.
[0032] In one or more embodiments, the picture id is generated by using M bytes of Hash encoding for the picture link; the picture fingerprint is one of several fingerprints extracted from a picture. For example, 30 picture fingerprints can be extracted from a picture, and each picture fingerprint has N bytes.
[0033] In an embodiment of this application, the picture id of the first M bytes in the stored data is the low byte, and the picture fingerprint fp of the last N bytes is the high byte. Among them, in []byte, the high bit is on the right and the low bit is on the left.
[0034] Suppose M takes 20 and N takes 12, then the large integer type Xint can be customized to 32 bytes.
[0035] For example, id = [img_id (low 20 bytes), fp (high 12 bytes)], indicating the storage of picture id (20 bytes) + picture fingerprint fp (12 bytes), a total of 32 bytes.
[0036] In this way, the M-byte picture id and the N-byte picture fingerprint can be stored, and a stored data of at least M + N bytes can be formed, and then it can be stored in the database.
[0037] Step S102: Each of the stored data is arranged in ascending order and sequentially stored in files with different range sizes.
[0038] For the convenience of subsequent picture query and comparison, a certain order is arranged when storing the data, which is based on the size of the stored data, arranged in ascending order in turn, and then sequentially stored in files with different range sizes.
[0039] In one or more embodiments, this application can also pre-set multiple files with different range sizes. Then, according to the corresponding range of the picture array, it is automatically allocated to the files in each corresponding range, and then sorted by comparing the range sizes in the files.
[0040] For example, assume there are tens of millions of images. Then, it can be set that File 1 stores the stored data from [0000...1,1,1,1,1,1] to [0000...2,2,2,2,2,2], File 2 stores the stored data from [0000...3,3,3,3,3,3] to [0000...4,4,4,4,4,4],...... File k stores the stored data of [000....,255,255,255,255,255].
[0041] Step S103: Obtain the stored data to be compared stored in the same way as above. Based on the high X bits of the N bytes of its fingerprint, locate the target file that adapts to its range size.
[0042] Since all the image fingerprints of the same image need to be compared, the stored data to be compared obtained contains all the image fingerprints of the same image.
[0043] Continuing with the above example, assume the high X bits of the image fingerprint of the stored data to be compared are [1,1,1,2,1,2]. Then, according to the range size divided by the above file correspondence, the target file that adapts to its range size can be quickly located as File 1. Then, the high X bits of the stored data to be compared can be directly compared with the corresponding high X bits of each stored data in the target File 1, which greatly simplifies the search and comparison process and improves the comparison efficiency.
[0044] Step S104: If there is target stored data with the same high X bits in the file, the M-bit image id corresponding to the target stored data is counted as one fingerprint hit.
[0045] Among them, X is less than N; the X high-order bytes correspond to the highest or the last X bytes among the N high-order bytes, and the last X high-order bytes are determined through array indexing.
[0046] For example, the stored data is [00001111222333444,5555,6666,7777]. The first 20 bytes [00001111222333444] are the low bits corresponding to the image id, and the last 12 bytes [5555,6666,7777] are the high bits corresponding to the image fingerprint.
[0047] It should be noted that for image fingerprint comparison, in fact, it is not necessary to compare all the arrays. Only by comparing several bits of the highest bit can it be determined whether they are similar. For example, by judging the X high bits.
[0048] Assume that X is 7 bytes. Then, only the 7 highest or the last 7 high bits of 12 bytes need to be compared. For example, only the comparison of [666, 7777] is required. Further, the specific high bit position can be determined through an array index such as a[i].
[0049] Among them, if the target storage data with the same high X bits is stored in the file, the M-bit picture id corresponding to the target storage data is counted as one fingerprint hit. If the file does not store the target storage data with the same high X bits, the fingerprint is not hit.
[0050] As can be seen from the above, based on finding the file first, and by reducing the number of bits of the comparison array, the comparison efficiency can be further improved in this application.
[0051] In this application, the method further includes: when there are Y fingerprint hits among all the picture fingerprints belonging to the same picture id, it is determined that they are the same picture.
[0052] For example, the picture data to be compared formed by the same storage method, that is, M bytes store the picture id to be compared, and N bytes store the fingerprint. During comparison, according to the high X bits of the fingerprint, the file storing the same high X bits can be located. If the target storage data with the same high X bits is stored in the file, then according to the low M-bit picture id of each storage data, one fingerprint hit is counted. When Y fingerprints are hit among all the picture fingerprints belonging to the same picture, it can be determined that they are the same picture.
[0053] Simply put, during comparison, each fingerprint needs to be compared. For example, if more than 4 fingerprints of a picture are hit, it is considered to be the same picture. One fingerprint will only be hit once and there will never be a result.
[0054] As Figure 2 shown, it is a module schematic diagram of a picture fingerprint comparison device based on a large integer type in an embodiment of this application. As shown in the figure, the device 200 includes:
[0055] A setting module 201, configured to set a large integer type with a custom byte length to store the picture id of M bytes and the picture fingerprint of N bytes, and form a storage data of at least M + N bytes;
[0056] A storage module 202, configured to arrange each of the storage data in ascending order and store them sequentially into files corresponding to different range sizes;
[0057] The comparison module 203 is used to obtain the to-be-compared stored data stored in the same manner as above, and locate the target file adapted to its range size according to the high X bits of the N bytes of its fingerprint; if the target stored data with the same high X bits is stored in the file, the M-bit picture id corresponding to the target stored data is counted as one fingerprint hit.
[0058] It should be noted that for the information interaction, execution process, etc. among the above-mentioned device modules / units, since they are based on the same concept as the method embodiment of the present application, the technical effects brought by them are the same as those of the method embodiment of the present application. For specific content, reference can be made to the description in the method embodiment shown above in the present application, and details are not described herein again.
[0059] It should also be noted that it should be understood that the division of each module of the above device is only a logical function division. In actual implementation, it can be fully or partially integrated into a physical entity, or physically separated. And these units can all be implemented in the form of software called by processing elements; they can also all be implemented in the form of hardware; or some modules can be implemented in the form of software called by processing elements, and some modules can be implemented in the form of hardware. For example, each module can be a separately established processing element, or can be integrated in a certain chip of the above system. In addition, it can also be stored in the memory of the above system in the form of program code, and called and executed by a certain processing element of the above device to perform the functions of the above modules. The implementation of other modules is similar. In addition, all or part of these modules can be integrated together or can be independently implemented. The processing element mentioned here can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each of the above modules can be completed by the integrated logic circuit in the processor element in hardware or in the form of instructions in software.
[0060] For example, the above modules can be one or more integrated circuits configured to implement the above method, such as: one or more application specific integrated circuits (ASICs), or, one or more microprocessors (digital signal processors, DSPs), or, one or more field programmable gate arrays (FPGAs), etc. Again, when a certain module above is implemented in the form of a program code scheduled by a processing element, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processors that can call program code. Again, these modules can be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0061] As shown Figure 3 in the figure, a schematic structural diagram of a computer device in an embodiment of the present application is shown. As shown in the figure, the computer device 300 includes: a memory 301 and a processor 302; the memory 301 is used to store computer instructions; the processor 302 runs the computer instructions to implement as Figure 1 the method described
[0062] In some embodiments, the number of the memories 301 in the computer device 300 can be one or more, and the number of the processors 302 can be one or more, while Figure 3 one of each is taken as an example
[0063] In an embodiment of the present application, the processor 302 in the computer device 300 will load the instructions corresponding to one or more application program processes into the memory 301 according to the steps as Figure 1 described, and the processor 302 runs the application program stored in the memory 301, so as to implement as Figure 1 the method described
[0064] The memory 301 may include a random access memory (Random Access Memory, abbreviated as RAM), and may also include a non-volatile memory, such as at least one disk memory. The memory 301 stores an operating system and operation instructions, executable modules or data structures, or subsets thereof, or extended sets thereof, wherein the operation instructions may include various operation instructions for implementing various operations. The operating system may include various system programs for implementing various basic services and processing hardware-based tasks
[0065] The processor 302 may be a general-purpose processor, including a central processing unit (Central Processing Unit, abbreviated as CPU), a network processor (Network Processor, abbreviated as NP), etc.; it may also be a digital signal processor (Digital Signal Processing, abbreviated as DSP), an application specific integrated circuit (Application Specific Integrated Circuit, abbreviated as ASIC), a field programmable gate array (Field-Programmable Gate Array, abbreviated as FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components
[0066] In some specific applications, the various components of the computer device 300 are coupled together through a bus system, which may include a power bus, a control bus, a status signal bus, etc. in addition to the data bus. However, for the sake of clarity, in Figure 3 all kinds of buses are referred to as the bus system.
[0067] In an embodiment of the present application, the present application provides a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, it implements as Figure 1 the method described above.
[0068] At any possible level of combination of technical details, the present application may be a system, a method, and / or a computer program product. The computer program product may include a computer-readable storage medium, on which computer-readable program instructions for causing a processor to implement various aspects of the present application are loaded.
[0069] The computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. The computer-readable storage medium may be, for example (but not limited to), an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. More specific examples (non-exhaustive list) of the computer-readable storage medium include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punched card or raised structures in a groove storing instructions thereon, and any suitable combination of the above. The computer-readable storage medium used herein is not construed as an instantaneous signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated through a waveguide or other transmission medium (e.g., an optical pulse through an optical fiber cable), or an electrical signal transmitted through a wire.
[0070] The computer-readable program described herein can be downloaded from the computer-readable storage medium to various computing / processing devices, or downloaded to an external computer or external storage device through a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include a copper transmission cable, an optical fiber transmission, a wireless transmission, a router, a firewall, a switch, a gateway computer, and / or an edge server. The network adapter or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.
[0071] The computer program instructions for performing the operations of the present application may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine - related instructions, microcode, firmware instructions, state - setting data, integrated circuit configuration data, or source code or object code written in any combination of one or more programming languages. The programming languages include object - oriented programming languages such as Smalltalk, C++, etc., and procedural programming languages such as the "C" language or similar programming languages. The computer - readable program instructions may be executed entirely on the user's computer, partially on the user's computer, executed as a stand - alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider). In some embodiments, by using the status information of the computer - readable program instructions to customize an electronic circuit, such as a programmable logic circuit, a field - programmable gate array (FPGA), or a programmable logic array (PLA), the electronic circuit can execute the computer - readable program instructions to implement various aspects of the present application.
[0072] In summary, a method, apparatus, device, and medium for picture fingerprint comparison based on a large - integer type provided by the present application set a large - integer type with a custom byte length to store the picture id of M bytes and the picture fingerprint of N bytes, and form a storage data of at least M + N bytes; each of the storage data is arranged in ascending order and sequentially stored in files corresponding to different range sizes; obtain the storage data to be compared stored in the same manner as above, and locate the target file adapted to its range size according to the high X bits of the N - byte fingerprint; if there is target storage data with the same high X bits stored in the file, the M - bit picture id of the corresponding target storage data is counted as one fingerprint hit.
[0073] The present application effectively overcomes various disadvantages in the prior art and has high industrial utilization value.
[0074] The above - mentioned embodiments merely illustrate the principles and effects of the present application and are not used to limit the present invention. Any person familiar with this technology can modify or change the above - mentioned embodiments without departing from the spirit and scope of the present application. Therefore, all equivalent modifications or changes completed by those with ordinary knowledge in the technical field without departing from the spirit and technical idea disclosed by the present invention should still be covered by the claims of the present application.
Claims
1. A method for comparing picture fingerprints based on the large integer type, characterized in that, The method includes: Setting a large integer type with a custom byte length to store the picture id of M bytes and the picture fingerprint of N bytes, and forming a storage data of at least M + N bytes; Arranging each of the storage data in ascending order and storing them sequentially into files with different range sizes; Obtaining the storage data to be compared stored in the same way as above, and locating the target file with a size range adapted to it according to the high X bits of the N bytes of its fingerprint; If the target storage data with the same high X bits is stored in the file, the M-bit picture id of the corresponding target storage data is counted as one fingerprint hit.
2. The method according to claim 1, wherein The method further includes: When there are Y fingerprint hits among all the picture fingerprints belonging to the same picture id, it is determined that they are the same picture.
3. The method according to claim 1, characterized in that The picture id is generated by using M bytes of Hash encoding for the picture link; several picture fingerprints can be extracted from one picture, and each picture fingerprint has N bytes.
4. The method according to claim 1, wherein In the storage data, the first M bytes of the picture id are low-order bytes, and the last N bytes of the picture fingerprint are high-order bytes.
5. The method according to claim 4, characterized in that, X is less than N; the X high-order bytes correspond to the highest or the last X bytes among the N high-order bytes, and the last X high-order bytes are determined through array indexing.
6. The method according to claim 1, characterized in that The byte length of the large integer type is adjustable.
7. An image fingerprint comparison device based on a large integer type, characterized in that, The device includes: A setting module for setting a large integer type with a custom byte length to store the picture id of M bytes and the picture fingerprint of N bytes, and forming a storage data of at least M + N bytes; A storage module for arranging each of the storage data in ascending order and storing them sequentially into files with different range sizes; A comparison module for obtaining the storage data to be compared stored in the same way as above, and locating the target file with a size range adapted to it according to the high X bits of the N bytes of its fingerprint; if the target storage data with the same high X bits is stored in the file, the M-bit picture id of the corresponding target storage data is counted as one fingerprint hit.
8. A computer device, characterized in that, The device includes: a memory and a processor; the memory is used to store computer instructions; the processor runs the computer instructions to implement the method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, Computer instructions are stored, and when the computer instructions are run, they execute the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Display method, display apparatus and display system of custom images
CN106878145A
Animation data encoding method and device, animation data decoding method and device, storage medium and computer equipment
CN112150589A