Image processing method and apparatus

WO2026200194A1PCT designated stage Publication Date: 2026-10-01HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2026/071057
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-28
Filing Date
2026-01-07
Publication Date
2026-10-01

Smart Images

  • Figure CN2026071057_01102026_PF_FP_ABST
    Figure CN2026071057_01102026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the field of image processing. Provided are an image processing method and apparatus, which are used for improving the robustness of image steganography technology, improving the data recovery performance of image steganography information, and improving the user experience. The method comprises: acquiring a first image, and on the basis of the first image, generating target image data, the target image data comprising first information and second information, wherein the first information is obtained by performing rateless channel coding to obtain a coded symbol stream and embedding the coded symbol stream in the first image, and the second information is used for indicating information of coding sequence numbers of at least two coded symbols in the coded symbol stream.
Need to check novelty before this filing date? Find Prior Art

Description

An image processing method and apparatus

[0001] This application claims priority to Chinese Patent Application No. 202510397776.X, filed on March 28, 2025, entitled “An Image Processing Method and Apparatus”, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of image processing technology, and in particular to an image processing method and apparatus. Background Technology

[0003] Using communication networks, end users can transmit information via images. Image steganography refers to the process of concealing and transmitting information by embedding digital information into image data without significantly altering the image's appearance. However, during the transmission of images with embedded steganographic information, the image may be cropped, compressed, or have an image mask added, making it impossible for the receiving end to recover the steganographic information.

[0004] Currently, the sending end can resist the problem of steganalysis failure caused by image cropping or compression by repeatedly embedding steganalysis information into multiple different regions of the image. For example, if the image is randomly cropped during transmission, the receiving end can still recover the steganalysis information based on the embedded information in a portion of the image data. However, if the amount of steganalysis information is large, the cropped area of ​​the image is large, or the image compression rate is high, the above method is not applicable. Summary of the Invention

[0005] This application provides an image processing method and apparatus to improve the robustness of image steganography, enhance the data recovery performance of image steganographic information, and improve user experience.

[0006] To achieve the above objectives, this application adopts the following technical solution:

[0007] Firstly, an image processing method is provided, which can be applied to network devices or terminals, communication modules / processing modules in network devices or terminals, circuits or chips responsible for communication functions in network devices or terminals (such as modem chips, also known as baseband chips, or system-on-chip (SoC) chips containing modem cores or system-in-package (SIP) chips), and circuits or chips responsible for processing functions in network devices or terminals (such as operating systems, graphics processing units (GPUs), or application-specific integrated circuits (ASICs)). This method can also be implemented by logical nodes, logical modules, or software capable of implementing all or part of the transmitting end functions. For example, taking the application of this method to a terminal as an example, the method includes: acquiring a first image; generating target image data based on the first image, the target image data including first information and second information, wherein the first information is obtained by obtaining an coded symbol stream through rate-free channel coding and embedding it in the first image, and the second information is used to indicate the encoding sequence numbers of at least two coded symbols in the coded symbol stream.

[0008] In the above embodiments, image steganography information encoding is achieved by performing rate-free encoding on the information of the image to be embedded and embedding the generated encoded symbols into the image. In other words, this application provides an image steganography implementation method based on rate-free channel coding. If the image data undergoes processing such as cropping or compression during transmission, the image data recovery end can extract encoded symbols from the uncropped areas to recover the original embedded information, thereby improving the robustness of image steganography information, enhancing the data recovery performance of image steganography, and improving the user experience.

[0009] In one embodiment, generating target image data based on the first image includes: performing rate-free channel coding on the first information to obtain a first coded symbol stream; sequentially embedding the first coded symbol stream into the first image, wherein each coded symbol in the first coded symbol stream is associated with a coded sequence number, the coded sequence number being used to indicate the position information of the coded symbol in the target image data; embedding second information into a first functional block, the target image data including the first functional block, wherein the second information includes at least two coded sequence numbers associated with the position of the first functional block in the target image data.

[0010] In the above embodiments, a first encoded symbol stream corresponding to the first information is embedded in the target image data. In addition, an encoded sequence number associated with the position of the functional block in the target image data is embedded in the first functional block of the target image data. Even if the target image data is randomly cropped or compressed during transmission, the receiving end can extract the embedded encoded symbols from the uncropped image area and recover the original information from the encoded sequence number in the uncropped functional block. This can improve the robustness of image steganography information, enhance the data recovery performance of image steganography, and improve the user experience.

[0011] In one embodiment, embedding the first encoded symbol stream into the first image sequentially includes: using a first image encoding algorithm, embedding the encoded symbols in the first encoded symbol stream into the image blocks of the first image one by one in a top-to-bottom and left-to-right order.

[0012] In the above embodiments, the sending end embeds the image blocks of the first image sequentially according to a certain image encoding algorithm and the configured steganographic order. Correspondingly, the receiving end can extract the steganographic code embedded in the target image data according to the corresponding image decoding algorithm and the sorting order. Combined with the information of the encoding sequence number embedded in the function block, the decoding structure can be recovered, thereby realizing data recovery. This can improve the robustness of image steganographic information, improve the data recovery performance of image steganography, and enhance the user experience.

[0013] In one implementation, embedding the second information into a first functional block includes: embedding the second information into the first functional block using a second image encoding algorithm.

[0014] In the above embodiments, the transmitting end uses a certain image encoding algorithm to embed the encoding sequence number of the encoded symbol associated with the position of the functional block in the target image data into at least one functional block, so that the receiving end can extract the encoding sequence number in the functional block of the received image data according to the corresponding image decoding algorithm, and then recover the decoding structure, which can improve the robustness of image steganalysis information recovery.

[0015] In one implementation, the first image encoding algorithm is different from the second image encoding algorithm, and / or the image blocks of the first image are different in size from the first functional block.

[0016] In the above embodiments, for example, if the first image encoding algorithm and the second image encoding algorithm are different, the corresponding decoding algorithms will be different, allowing the receiving end to decode and extract the first information and the second information respectively according to different decoding algorithms. As another example, if the size of the functional block and the image block containing the embedded coded symbols are different, the receiving end can check each image block according to its size to extract the embedded coded symbols, and check each functional block according to its size to extract the embedded coded sequence number information, thereby improving the robustness of image steganalysis recovery.

[0017] In one embodiment, the target image data further includes a second functional block, which includes third information; wherein the third information includes at least two encoded sequence numbers associated with the position of the second functional block in the target image data.

[0018] In the above embodiments, the target image data may include multiple functional blocks for embedding the encoding sequence number corresponding to the encoding symbol that has a specific positional relationship with the functional block. Thus, if the target image data undergoes image cropping, compression, or masking during transmission, such as cropping a certain functional block, the receiving end can still extract the information embedded in the functional block based on at least one functional block in the uncropped image, thereby recovering the encoding sequence number and encoding symbol in the uncropped image, and further decoding to recover the original embedded information, thereby improving the robustness of the image steganography technology.

[0019] In one embodiment, the method further includes: sending the target image data, wherein the target image data has been processed by at least one of cropping, compression, or adding a mask.

[0020] Secondly, an image processing method is provided, which can be applied to network devices or terminals, communication modules / processing modules in network devices or terminals, circuits or chips responsible for communication functions in network devices or terminals (such as modem chips, also known as baseband chips, or system-on-a-chip (SoC) chips or system-in-package (SIP) chips containing modem cores), and circuits or chips responsible for processing functions in network devices or terminals (such as operating systems, GPUs, or ASICs). This method can also be implemented by logical nodes, logical modules, or software capable of implementing all or part of the transmitting end functions. For example, taking the method applied to a terminal as an example, the method includes: acquiring target image data; extracting second information embedded in the target image data, the second information being information indicating an encoded sequence number; and performing rate-free decoding on a second encoded symbol stream embedded in the target image data according to the second information to extract first information embedded in the target image data.

[0021] In one embodiment, obtaining second information based on the target image data includes: determining a first functional block in the target image data; and obtaining second information in the first functional block through a second image decoding algorithm, wherein the second information includes at least two encoded sequence numbers associated with the position of the first functional block in the target image data.

[0022] In one embodiment, the method further includes: determining the encoding sequence number of the rate-free encoded symbol stream embedded in the image block of the target image data based on the second information; and determining the decoding structure corresponding to the rate-free encoding of the target image data.

[0023] In one embodiment, rate-free decoding of the second coded symbol stream embedded in the target image data to obtain first information includes: extracting the second coded symbol stream embedded in image blocks of the target image data using a first image decoding algorithm; and performing rate-free decoding of the second coded symbol stream according to the decoding structure to obtain the first information.

[0024] In one implementation, the first image decoding algorithm is different from the second image decoding algorithm, and / or the image blocks of the first image are different in size from the first functional block.

[0025] In one embodiment, acquiring target image data includes: receiving target image data, wherein the target image data has been processed by at least one of cropping, compression, adding a mask, or applying a filter.

[0026] Thirdly, this application provides a communication device that has the functions of the first aspect described above. For example, the communication device includes modules, units, or means that perform the operations involved in the first aspect. These modules, units, or means can be implemented by software, hardware, or a combination of software and hardware.

[0027] Fourthly, this application provides a communication device that has the functions of the second aspect above. For example, the communication device includes modules, units, or means that perform the operations involved in the second aspect above. These modules, units, or means can be implemented by software, hardware, or a combination of software and hardware.

[0028] Fifthly, this application provides a communication device including an interface circuit and one or more processors. The one or more processors are coupled to a memory. The memory stores part or all of the necessary computer program or instructions for implementing the functions described in the first aspect. The one or more processors can execute the computer program or instructions, causing the communication device to implement the methods in any possible design or implementation of the first aspect. The interface circuit is used to implement the communication functions within the communication device and / or the communication functions between the communication device and other devices or components.

[0029] In one possible design, the processor is used to communicate with other devices or components through the interface circuit.

[0030] In one possible design, the communication device may also include the memory.

[0031] The aforementioned communication device may be a terminal, or a communication and / or computing module in a terminal, or a chip in a terminal responsible for communication functions such as a modem chip (also known as a baseband chip) or a SoC or SIP chip containing a modem module, or a circuit or chip in a terminal responsible for communication and / or computing functions (such as an operating system, GPU or ASIC), or a logic node or logic module that can implement all or part of the terminal functions.

[0032] Sixthly, this application provides a communication device including an interface circuit and one or more processors. The one or more processors are coupled to a memory. The memory stores part or all of the necessary computer program or instructions for implementing the functions described in the second aspect above. The one or more processors are executable to carry out the computer program or instructions, causing the communication device to implement the methods in any possible design or implementation of the second aspect above. The interface circuit is used to implement the communication functions within the communication device and / or the communication functions between the communication device and other devices or components.

[0033] In one possible design, the processor is used to communicate with other devices or components through the interface circuit.

[0034] In one possible design, the communication device may also include the memory.

[0035] The aforementioned communication device may be an access network device, or a module (such as a circuit, chip, or chip system) in the access network device, or a circuit or chip (such as a GPU or ASIC) in the access network device that is responsible for communication and / or computing functions, or a logical node or logical module that can realize all or part of the functions of the access network device.

[0036] In a seventh aspect, this application provides a computer-readable storage medium storing computer-readable instructions that, when read and executed by a computer, cause the computer to perform any of the possible designs in the first to second aspects described above.

[0037] Eighthly, this application provides a computer program product that, when read and executed by a computer, causes the computer to perform any of the possible designs in the first to second aspects described above.

[0038] The technical effects of any of the possible implementations of aspects two through eight can be found in the technical effects of the different possible implementations of aspect one above, and will not be repeated here.

[0039] Understandably, the solutions mentioned above can be combined, provided that they do not contradict each other. Attached Figure Description

[0040] Figure 1 is a schematic diagram of the architecture of a communication system provided in an embodiment of this application;

[0041] Figure 2 is a schematic diagram of the structure of an image processing device provided in an embodiment of this application;

[0042] Figure 3 is a flowchart illustrating an image processing method provided in an embodiment of this application;

[0043] Figure 4 is a flowchart illustrating another image processing method provided in an embodiment of this application;

[0044] Figure 5 is a flowchart illustrating another image processing method provided in an embodiment of this application;

[0045] Figure 6 is a flowchart illustrating another image processing method provided in an embodiment of this application;

[0046] Figure 7 is a flowchart illustrating another image processing method provided in an embodiment of this application;

[0047] Figure 8 is a flowchart illustrating another image processing method provided in an embodiment of this application;

[0048] Figure 9 is a schematic diagram of another image processing device provided in an embodiment of this application. Detailed Implementation

[0049] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.

[0050] First, the implementation scenarios of the embodiments of this application will be described with reference to the accompanying drawings.

[0051] The methods provided in this application can be applied to various communication systems, including but not limited to: non-terrestrial networks (NTN) communication systems, narrowband Internet of Things (NB-IoT) systems, long term evolution (LTE) systems, the 5th generation mobile communication system (5G) systems, and future mobile communication systems.

[0052] Figure 1 illustrates a possible, non-limiting system diagram. As shown in Figure 1, the communication system 10 includes a radio access network (RAN) 100 and a core network (CN) 200. RAN 100 includes at least one RAN node (110a and 110b in Figure 1, collectively referred to as 110) and at least one terminal (120a-120j in Figure 1, collectively referred to as 120). RAN 100 may also include other RAN nodes, such as wireless relay devices and / or wireless backhaul devices (not shown in Figure 1). Terminal 120 is wirelessly connected to RAN node 110. RAN node 110 is wirelessly or wired connected to core network 200. The core network equipment in core network 200 and RAN node 110 in RAN 100 can be different physical devices, or they can be the same physical device integrating core network logical functions and radio access network logical functions.

[0053] RAN 100 can be a cellular system related to the 3rd Generation Partnership Project (3GPP), such as 4G, 5G mobile communication systems, or future-oriented evolution systems. RAN 100 can also be an open RAN (O-RAN or ORAN), cloud RAN (CRAN), virtualized RAN (vRAN), artificial intelligence radio access network (AI RAN), or wireless fidelity (WiFi) system. RAN 100 can also be a communication system that integrates two or more of the above systems.

[0054] RAN node 110, sometimes also referred to as access network equipment, RAN entity, or access node, constitutes part of the communication system and is used to help terminals achieve wireless access. Multiple RAN nodes 110 in communication system 10 can be of the same type or different types. In some scenarios, the roles of RAN node 110 and terminal 120 are relative. For example, network element 120i in Figure 1 can be a helicopter or drone, which can be configured as a mobile base station. For terminals 120j accessing RAN 100 through network element 120i, network element 120i is a base station; but for base station 110a, network element 120i is a terminal. RAN node 110 and terminal 120 are sometimes both referred to as communication devices. For example, network elements 110a and 110b in Figure 1 can be understood as communication devices with base station functions, and network elements 120a-120j can be understood as communication devices with terminal functions.

[0055] In one possible scenario, the RAN node can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next-generation NodeB (gNB), a base station in a future mobile communication system, or an access node in a WiFi system. The RAN node can be a macro base station (as shown in Figure 1, 110a), a micro base station or indoor station (as shown in Figure 1, 110b), a relay node or donor node, or a radio controller in a CRAN scenario. Optionally, the RAN node can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the access network equipment in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). All or part of the functions of the RAN node in this application can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). The RAN node can also be equipped with communication modules, circuits, or chips that perform corresponding communication functions. The RAN node can also be configured with program instructions for performing corresponding communication functions and corresponding program instructions. The RAN node in this application can also be a logical node, logical module or software that can implement all or part of the access node functions, or a circuit or chip (such as a graphics processing unit (GPU), artificial intelligence (AI) processor, neural processing unit (NPU), or application-specific integrated circuit (ASIC)) responsible for communication and / or computing functions in the access node.

[0056] In another possible scenario, multiple RAN nodes collaborate to assist terminals in achieving wireless access, with different RAN nodes implementing some of the base station's functions. For example, RAN nodes can be central units (CUs), distributed units (DUs), CU-control plane (CPs), CU-user plane (UPs), or radio units (RUs). CUs and DUs can be separate entities or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs). Furthermore, RAN nodes can also be computing units, providing computational power for tasks such as model inference and / or model training, and can also be used to implement one or more of the following: task partitioning, scheduling, and orchestration. The functionality of a computing unit can be implemented by a separate module independent of other units (e.g., CU, DU, RU), or by one or more other units (e.g., one or more of CU, DU, RU).

[0057] In different systems, CU (or CU-CP and CU-UP), DU, computing unit, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, computing unit, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, computing unit, and RU in this application can be implemented through software modules, hardware modules, or a combination of software modules and hardware modules.

[0058] A terminal can be a device or module that accesses the aforementioned communication system and has corresponding communication functions. A terminal can also be called a terminal device, user equipment (UE), mobile station, mobile terminal, etc. Terminals can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), Internet of Things (IoT), industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, smart transportation, smart cities, etc. Terminals can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicles, drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, transportation vehicles with wireless communication capabilities, communication modules, etc. The embodiments of this application do not limit the device form of the terminal. Terminals typically contain communication modules, circuits, or chips that perform corresponding communication functions, and may further contain modules, circuits, or chips (such as operating systems, GPUs, or ASICs) that perform corresponding communication and / or computing functions. The terminal can also be configured with program instructions for performing corresponding communication and / or computing functions.

[0059] In addition, the terminal can also be a virtual reality (VR) terminal, an augmented reality (AR) terminal, or a mixed reality (MR) terminal. VR terminals, AR terminals, and MR terminals can all be called extended reality terminals. XR terminals can be, for example, head-mounted devices (such as helmets, head-mounted displays (HMDs), or glasses), all-in-one devices, as well as televisions, monitors, cars, in-vehicle devices, tablets, or smart screens. XR terminals can access the network wirelessly or via wired means, such as through WiFi or 5G systems. XR terminals can present XR data to users, allowing users to experience diverse XR services by wearing or using XR terminals.

[0060] The functions of the other network elements included in Figure 1 can be found in the relevant descriptions in conventional technologies, and will not be repeated here.

[0061] The communication system 10 shown in Figure 1 is for illustrative purposes only and is not intended to limit the technical solutions of this application. Those skilled in the art should understand that in specific implementations, the communication system 10 may also include other devices, and the number of RAN nodes and terminals may be determined according to specific needs without limitation.

[0062] Optionally, each network element or device (such as a RAN node or terminal) in Figure 1 of this application may also be referred to as a communication device, which may be a general-purpose device or a special-purpose device. This application does not make any specific limitation on this.

[0063] Optionally, the functions of each network element or device (e.g., RAN node or terminal) in Figure 1 of this application can be implemented by one device, multiple devices working together, or one or more functional modules within a single device. This application does not impose specific limitations on these functions. It is understood that the aforementioned functions can be network elements in hardware devices, software functions running on dedicated hardware, a combination of hardware and software, or virtualization functions instantiated on a platform (e.g., a cloud platform).

[0064] It is understood that the devices or network elements in Figure 1 above can communicate directly or through forwarding by other devices. This application embodiment does not specifically limit this.

[0065] It is understood that Figure 1 above is merely a schematic diagram and does not constitute a limitation on the applicable scenarios of the technical solutions provided in this application. Those skilled in the art should understand that in specific implementation processes, the communication system may include fewer devices or network elements than shown in Figure 1, or the communication system may also include other devices or other network elements, and the number of devices or network elements in the communication system can be determined according to specific needs.

[0066] It should be noted that the communication system shown in Figure 1 is for illustrative purposes only and is not intended to limit the technical solutions of this application. Those skilled in the art should understand that in specific implementations, the communication system may also include other devices or network elements, and the number of each network element may be determined according to specific needs.

[0067] Optionally, each network element in Figure 1 of this application embodiment can be a functional module within a device. It is understood that the above functions can be network elements in hardware devices, such as communication chips in mobile phones, or software functions running on dedicated hardware, or virtualization functions instantiated on a platform (e.g., cloud platform).

[0068] For example, each network element in Figure 1 can be implemented using the device 20 (or image processing device 20) shown in Figure 2. Figure 2 is a schematic diagram of the hardware structure of a device applicable to embodiments of this application. The device 20 includes at least one processor 201, a communication line 202, a memory 203, and at least one communication interface 204.

[0069] The processor 201 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present application.

[0070] Communication line 202 may include a path for transmitting information between the aforementioned components, such as a bus.

[0071] Communication interface 204 uses any transceiver-like device for communicating with other devices or communication networks, such as Ethernet interface, RAN interface, wireless local area network (WLAN) interface, etc.

[0072] The memory 203 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. The memory may exist independently and be connected to the processor via communication line 202. The memory may also be integrated with the processor. The memory provided in this application embodiment is generally non-volatile. The memory 203 is used to store computer execution instructions involved in the scheme of this application and is controlled by the processor 201 for execution. The processor 201 is used to execute computer execution instructions stored in the memory 203, thereby implementing the method provided in the embodiments of this application.

[0073] Optionally, the computer execution instructions in the embodiments of this application may also be referred to as application code, and the embodiments of this application do not specifically limit this.

[0074] In a specific implementation, as one example, processor 201 may include one or more CPUs, such as CPU0 and CPU1 in FIG2.

[0075] In a specific implementation, as one embodiment, device 20 may include multiple processors, such as processor 201 and processor 207 in FIG. 2. Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. Here, a processor may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0076] In a specific implementation, as one embodiment, device 20 may further include an output device 205 and an input device 206. The output device 205 communicates with the processor 201 and can display information in various ways. For example, the output device 205 may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 206 communicates with the processor 201 and can receive user input in various ways. For example, the input device 206 may be a mouse, keyboard, touchscreen device, or sensing device, etc.

[0077] The aforementioned device 20 can be a general-purpose device or a special-purpose device. In specific implementations, device 20 can be a portable computer, a web server, a handheld computer (personal digital assistant, PDA), a mobile phone, a tablet computer, a wireless terminal device, an embedded device, or a device with a similar structure to that shown in Figure 2. This application does not limit the type of device 20.

[0078] The communication method provided in the embodiments of this application will be described in detail below.

[0079] It should be noted that the message names between network elements or the names of parameters in the messages in the following embodiments of this application are just examples. Other names may be used in the specific implementation. This application does not limit them in this respect.

[0080] Furthermore, in this application, "sending information to...(terminal)" can be understood as the destination of the information being the terminal. This can include sending information to the terminal directly or indirectly. "Receiving information from...(terminal)" can be understood as the source of the information being the terminal, and can include receiving information from the terminal directly or indirectly. Information may undergo necessary processing between the source and destination, such as format changes, but the destination can understand the valid information from the source. Similar expressions in this application can be interpreted similarly, and will not be elaborated further here.

[0081] It is understood that some or all of the steps in the embodiments of this application are merely examples, and other steps or variations thereof may also be performed in the embodiments of this application. Furthermore, the steps may be performed in different orders as presented in the embodiments of this application, and it is not necessary to perform all the steps in the embodiments of this application.

[0082] This application provides an image processing method that performs rate-free encoding on the information to be embedded in the image, embeds the generated encoded symbols into the image, and then transmits it, thereby realizing the transmission of image steganographic information. In other words, this application provides an image steganography implementation method based on rate-free channel coding. If the image data undergoes processing such as cropping or compression during transmission, the image data recovery end can extract the encoded symbols from the uncropped areas to recover the original embedded information, thereby improving the robustness of image steganographic information, enhancing the data recovery performance of image steganography, and improving the user experience.

[0083] The image processing method provided in this application is described below with reference to the accompanying drawings.

[0084] As shown in Figure 3, taking the application of image processing methods to a terminal as an example, such as the first terminal sending the first image to the second terminal as an example, the method may include the following steps.

[0085] 301: The first terminal acquires the first image.

[0086] For example, a user can obtain the first image by triggering an operation on the first terminal, such as triggering a screenshot operation, an image saving operation, a photo taking operation, or an image forwarding operation, etc., and this application does not limit this. The first terminal can obtain the first image in response to the operation triggered by the user.

[0087] 302: The first terminal generates target image data based on the first image. The target image data includes first information and second information. The first information is obtained by coding a coded symbol stream through rate-free channel coding and embedded in the first image. The second information is used to indicate the coding sequence number of at least two coded symbols in the coded symbol stream.

[0088] The first information can refer to the information that the first terminal wants to share, or the information that the first terminal needs to hide from transmission.

[0089] For example, a user can share a first application displayed on a first terminal with a second terminal using a first image; in this case, the first information can correspond to the application information of the first application. As another example, the first terminal can share audio or video with the second terminal using a first image; the first information can correspond to a link or search information for that audio or video file. Alternatively, the first terminal can share a link to an electronic product with the second terminal using a first image; the first information can correspond to that link information.

[0090] In other words, the first terminal can generate target image data by embedding steganographic information, such as first information, into the first image, and then transmit the steganographic information, i.e., the first information, through the target image data.

[0091] In one embodiment, the first information may include at least one of the following: application information, audio / video information, link information, product information, business card information, contact information, device information, location information, or filter parameter information, etc. This application does not limit this information.

[0092] The first information is obtained by coding a stream of symbols through rate-free channel coding and embedding it into the first image.

[0093] In one implementation, as shown in Figure 4, the first information can be a link to a certain page, and the first terminal can perform rate-free channel coding on the first information to obtain a first coded symbol stream.

[0094] In this first encoded symbol stream, each encoded symbol corresponds to an encoded sequence number, and each encoded symbol is associated with an encoded sequence number. Optionally, the encoded sequence number can also be named a sequence number, number, or identity (ID), which can be used to implicitly indicate the order of the encoded symbols in the first encoded symbol stream.

[0095] For example, in one encoding algorithm, the image processing device can perform encoding by generating pseudo-random numbers, such as generating an encoded symbol based on first information and the relationship between the encoded symbol indicated by the pseudo-random number and the first information. Optionally, the encoding sequence number (ID) corresponding to the encoded symbol can be a pseudo-random number seed corresponding to the generated pseudo-random number, or the generated pseudo-random number seed can be associated with the encoding sequence number. Thus, the receiving end can determine the method for generating the encoded symbol based on the encoding sequence number (ID) extracted from the received image data.

[0096] It should be understood that by performing rate-free encoding on the first information, the first terminal can obtain encoded symbols of non-fixed length. For example, the first encoded symbol stream can be encoded symbols of arbitrary length. For instance, an encoded symbol can contain at least one bit.

[0097] In one implementation, as shown in FIG4, the first terminal may embed second information into a first functional block included in the target image data. The target image data includes at least one functional block, such as a first functional block and a second functional block. The second information includes at least two encoded sequence numbers associated with the position of the first functional block in the target image data.

[0098] It should be noted that the encoding sequence number can be used to indicate the positional information of the encoded symbols in the target image data. That is, the functional blocks of the target image data embed the encoding sequence numbers corresponding to the encoded symbols that have a specific positional relationship with that functional block. Therefore, the receiving end can extract the information of the encoding sequence numbers embedded in the functional blocks, and based on at least two encoded symbols and their corresponding encoding sequence numbers, it can deduce all the encoding sequence numbers in the received image (i.e., the undone image blocks). A specific example will be provided below.

[0099] For example, as shown in Figure 5, the original information to be shared by the first terminal can be the link address of the first website. The first terminal can encode the original information and convert it into a digital format that a computer can understand, such as encoding the digital information corresponding to the first information, such as 0010110... The first information can then be encoded without a bitrate to obtain a first encoded symbol stream, for example, the first encoded symbol stream is 1001101001... as shown in Figure 5.

[0100] Then, the first terminal embeds the first coded symbol stream into the first image sequentially. Specifically, the first terminal can embed the coded symbols included in the first coded symbol stream into the first image sequentially according to the coded sequence number corresponding to the coded symbols.

[0101] For example, the first terminal can use a first image encoding algorithm to embed the encoded symbols in the first encoded symbol stream into the image blocks of the first image one by one in order from top to bottom and from left to right.

[0102] It should be noted that the sending end and receiving end of the image processing in this application can pre-negotiate or configure information such as the encoding algorithm or version of the image processing, such as the image steganography algorithm used, the order in which the encoded symbol stream is written into the image, and the position information of the encoded symbols embedded in the function block, so that the receiving end can correctly decode according to the configuration to achieve data extraction and recovery.

[0103] Understandably, in this application, the first terminal can select a first image encoding algorithm to embed the first encoded symbol stream corresponding to the first information into the first image. This application does not limit the selected image steganography algorithm. For example, spatial domain image steganography can be used, such as replacing the least significant bit (LSB). For example, frequency domain image steganography can be used, such as steganography algorithms that modify discrete cosine transform (DCT) coefficients (suitable for JPEG images). For details, please refer to the relevant introductions; this application will not elaborate further.

[0104] For example, when the first terminal embeds the first coded symbol stream into the first image, it can use 4x4 pixel blocks as image block units, that is, the coded symbol stream can be embedded into the pixel information of the 4x4 image block. For example, the coded symbols in the first coded symbol stream have coded sequence numbers (IDs) of 1, 2, 3, 4..., and the first terminal can embed the coded symbols in the first coded symbol stream into the image blocks of the first image one by one, in the order from left to right and then from top to bottom, as shown in Figure 5.

[0105] In one implementation, a first terminal determines at least one functional block, and the first terminal can embed second information into the first functional block using a second image encoding algorithm. The second information includes at least two encoded sequence numbers associated with the position of the first functional block in the target image data.

[0106] It should be understood that the encoding sequence number can be used to indicate the positional information of the encoded symbol in the target image data. That is, the functional block of the target image data embeds the encoding sequence number corresponding to the encoded symbol that has a specific positional relationship with that functional block.

[0107] In one possible implementation, the image processing device can be pre-configured with the method of selecting function blocks and the size of the function blocks, such as selecting a function block every 10 coded symbols in the image, or configuring the selection of function blocks at specific locations in the image.

[0108] For example, the first terminal can select a 16*16 pixel block as a functional block to embed the encoding sequence number corresponding to the encoded symbol. As shown in Figure 5, the first terminal determines the first functional block and the second functional block, and embeds the encoding sequence number (such as ID) corresponding to at least two encoded symbols that have a specific positional relationship with the functional block into the functional block.

[0109] For example, in Figure 5, the first functional block contains the first coded symbol located above the first functional block, for example, with an ID of 89; and the first symbol located to the right of the first functional block, for example, with an ID of 100. Thus, the receiving end can deduce all the coded numbers in the uncropped image block based on the at least two coded numbers embedded in the functional block and the corresponding coded symbols.

[0110] In one implementation, the first image encoding algorithm differs from the second image encoding algorithm, and / or the image block embedding the encoded symbols in the first image differs in size from the first functional block embedding the second information. For example, if the first image encoding algorithm differs from the second image encoding algorithm, the corresponding decoding algorithms will also differ, allowing the receiving end to decode and extract the first and second information respectively according to the different decoding algorithms. As another example, if the functional block and the image block embedding the encoded symbols differ in size, the receiving end can extract the embedded encoded symbols by checking each image block according to its size, and extract the embedded encoded sequence number information by checking each functional block according to its size.

[0111] It should be understood that the first terminal can select multiple functional blocks to embed the encoding sequence number corresponding to the encoding symbol with a specific positional relationship with the functional block. Thus, if the target image data is processed during transmission, such as image cropping, image compression, adding a mask, or adding a filter, and a certain functional block is cropped, the receiving end can still extract the information embedded in the functional block based on at least one functional block in the uncropped image, thereby recovering the encoding sequence number and encoding symbol in the uncropped image, and further decoding to recover the original embedded information, thus improving the robustness of the image steganography technology.

[0112] For example, the target image data further includes a second functional block, which includes third information; wherein the third information includes at least two coded sequence numbers associated with the position of the second functional block in the target image data.

[0113] Optionally, the method may further include steps 303-305 as follows.

[0114] 303: The first terminal sends target image data to the second terminal, and the target image data has been processed by at least one of cropping, compression or adding a mask.

[0115] For example, as shown in Figure 4, the target image data may be cropped before being sent or during transmission, as shown in Figure 4 where a portion of the target image data is cropped. This allows the receiving end to receive the undroped portion of the target image data. Optionally, the target image data may also undergo compression or masking during transmission, potentially resulting in the loss of some data or obscuring some data, making it unobtainable by the receiving end.

[0116] 304: The second terminal acquires the target image data.

[0117] Correspondingly, the receiving end, such as the second terminal, acquires the target image data.

[0118] 305: The second terminal extracts the second information embedded in the target image data, performs rate-free decoding on the second encoded symbol stream embedded in the target image data, and extracts the first information embedded in the target image data.

[0119] In one implementation, the second terminal can determine the first functional block in the target image data according to the configured encoding and decoding algorithm; and obtain the second information in the first functional block through the second image decoding algorithm.

[0120] The second information includes at least two encoded sequence numbers associated with the position of the first functional block in the target image data. Therefore, in one embodiment, the second terminal can determine the encoded sequence number of the rate-free encoded symbol stream embedded in the image block of the target image data based on the second information.

[0121] For example, based on the encoding sequence number extracted from the second functional block and the positional relationship between the encoding symbol corresponding to the encoding sequence number ID and the first functional block, the second terminal can further deduce the IDs of all untrimmed encoding symbols.

[0122] For example, as shown in Figure 6, after receiving the cropped target image data, the second terminal first searches for functional blocks in the target image data. If the functional block is a 16*16 pixel block, the second terminal can examine each 16*16 pixel block one by one to extract the embedded encoding sequence information. If an uncropped first functional block is found, the encoding sequence ID stored in the first functional block is extracted. Based on the positional relationship between the encoding symbol corresponding to this encoding sequence ID and the functional block, the IDs of all uncropped encoding symbols can be further deduced.

[0123] For example, if the ID of the first coded symbol on the top side of the first functional block is 89, and the ID of the first coded symbol on the right side of the first functional block is 100, then the second terminal can deduce that the ID of the second coded symbol on the top side of the first functional block is 90, the ID of the third coded symbol on the top side is 91, and so on; and the ID of the first coded symbol on the right side of the first functional block is 100, the ID of the second coded symbol on the right side is 101, and so on, thus obtaining the IDs of the coded symbols embedded in all image blocks in the target image data.

[0124] In one implementation, the second terminal can extract the encoded symbols embedded in the image blocks of the target image data using a first image decoding algorithm, thereby extracting a second encoded symbol stream and forming decoded codewords.

[0125] For example, as shown in Figure 6, after receiving the cropped target image data, the second terminal can sequentially extract the coded symbols embedded in the image blocks of the target image data. For example, for an image block of size 4*4 pixels, the second terminal can traverse the 4*4 pixel block sequentially from left to right and from top to bottom, extract the embedded coded symbols, and form a coded symbol stream, such as the second coded symbol stream.

[0126] As shown in Figure 7, the second terminal acquires the target image, locates functional blocks, traverses the image blocks, extracts the encoded symbols from the image blocks, and assembles them into decoded codewords, such as the second encoded symbol stream. Based on the encoded sequence number IDs corresponding to the obtained encoded symbols, the second terminal can determine the connection status of each encoded symbol in the target image data, thereby recovering the decoding structure. Then, the second terminal can perform rate-free decoding on the second encoded symbol stream according to the decoding structure to recover the original information, such as obtaining the first information.

[0127] In the above embodiments, the steganographic information of the image to be embedded is encoded at a rate-free level, and the generated encoded symbols are embedded into the image and sent, thereby realizing the transmission of image steganographic information. This application provides an image steganography implementation method based on rate-free channel coding. If the image data is processed such as cropping or compression during transmission, the image data recovery end can extract the encoded symbols from the uncropped area to recover the original embedded information, thereby improving the robustness of image steganographic information, improving the data recovery performance of image steganography, and enhancing the user experience.

[0128] Furthermore, considering that the cropping of the target image data during image transmission may be random, such as for discontinuous complex cropping, as shown in Figure 8, such as cropping the image into multiple non-adjacent regions, or adding masks or filters to the image, resulting in partial image area coverage, the receiving end may receive discontinuous image regions as shown in Figure 8. Referring to the aforementioned implementation method, the receiving end can first search for uncropped functional blocks in the received image. As shown in Figure 8, there are two uncropped functional blocks, while there are no functional blocks in the uncropped image region in the lower left corner of the image. In this case, the receiving end can extract only the encoded symbols in the image region containing functional blocks, and deduce the encoded sequence ID of all encoded symbols in the corresponding image region based on the encoded sequence ID in the functional block, thus recovering the decoding structure. For the image region in the lower left corner of the image without functional blocks, the encoded symbols therein are not extracted. Then, the extracted encoded symbols are used to form decoding codewords for rate-free decoding.

[0129] The various embodiments mentioned above in this application can be combined without contradiction, and no limitation is imposed.

[0130] The above mainly describes the solution provided in this application from the perspective of the interaction between image processing methods and devices. Accordingly, this application also provides an image processing device, which can be a first terminal in the above method embodiments, or a component such as a chip that can be used in the first terminal; or it can be used in a second terminal in the above embodiments, or a component such as a chip that can be used in the second terminal. For example, the image processing device can also be a network device, or a component such as a chip that can be used in a network device.

[0131] It is understood that, in order to achieve the aforementioned functions, the device includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, based on the unit and algorithm operations of the examples described in conjunction with 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.

[0132] It should be understood that the image processing method provided in this application is described above using a terminal as an example only, and can also be applied to network devices. Furthermore, the processing performed by the terminal is not limited to being performed by a single device.

[0133] This application can divide the image processing apparatus 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 is understood that the module division in this application is illustrative and only represents one logical functional division; in actual implementation, there may be other division methods.

[0134] For example, when the functional modules are divided in an integrated manner, Figure 9 shows a schematic diagram of the structure of an image processing device 900. The device 900 includes an image processing module 901.

[0135] In some embodiments, the device 900 may further include a storage module (not shown in FIG9) for storing program instructions and data.

[0136] For example, device 900 can be used to implement the functions of the first terminal in the above embodiments. Device 900 is, for example, the first terminal described in the foregoing embodiments.

[0137] The image processing module 901 can be used to acquire a first image and generate target image data based on the first image. The target image data includes first information and second information. The first information is obtained by obtaining a coded symbol stream through rate-free channel coding and embedding it in the first image. The second information is used to indicate the coding sequence number of at least two coded symbols in the coded symbol stream.

[0138] In one embodiment, the image processing module 901 can be used to perform rate-free channel coding on the first information to obtain a first coded symbol stream; to embed the first coded symbol stream sequentially into the first image, wherein each coded symbol in the first coded symbol stream is associated with a coded sequence number, the coded sequence number being used to indicate the position information of the coded symbol in the target image data; and to embed the second information into a first functional block, the target image data including the first functional block, wherein the second information includes at least two coded sequence numbers associated with the position of the first functional block in the target image data.

[0139] In one embodiment, the image processing module 901 can be used to embed the encoded symbols in the first encoded symbol stream into the image blocks of the first image one by one in a top-to-bottom and left-to-right order using a first image encoding algorithm.

[0140] In one embodiment, the image processing module 901 can be used to embed the second information into the first functional block using a second image encoding algorithm.

[0141] In one implementation, the first image encoding algorithm is different from the second image encoding algorithm, and / or the image blocks of the first image are different in size from the first functional block.

[0142] In one embodiment, the target image data further includes a second functional block, which includes third information; wherein the third information includes at least two encoded sequence numbers associated with the position of the second functional block in the target image data.

[0143] In one embodiment, the device 900 further includes a communication module 902, which can be used to transmit the target image data, wherein the target image data has been processed by at least one of cropping, compression, or adding a mask.

[0144] Additionally, for example, device 900 can be used to implement the function of the second terminal in the above embodiments, or to implement the function of other image processing devices to open target image data and decode to obtain first information. Device 900 is, for example, the second terminal described in the foregoing embodiments.

[0145] The image processing module 901 can be used to acquire target image data; extract second information embedded in the target image data, the second information being used to indicate the encoding sequence number; and perform rate-free decoding on the second encoded symbol stream embedded in the target image data according to the second information to extract the first information embedded in the target image data.

[0146] In one embodiment, the image processing module 901 can be used to determine a first functional block in the target image data; and to obtain second information in the first functional block through a second image decoding algorithm, wherein the second information includes at least two encoded sequence numbers associated with the position of the first functional block in the target image data.

[0147] In one embodiment, the image processing module 901 can be used to determine the encoding sequence number of the rate-free encoded symbol stream embedded in the image block of the target image data according to the second information; and determine the decoding structure corresponding to the rate-free encoding of the target image data.

[0148] In one embodiment, the image processing module 901 can be used to perform rate-free decoding on the second encoded symbol stream embedded in the target image data to obtain first information, including: extracting the second encoded symbol stream embedded in the image blocks of the target image data using a first image decoding algorithm; and performing rate-free decoding on the second encoded symbol stream according to the decoding structure to obtain the first information.

[0149] In one implementation, the first image decoding algorithm is different from the second image decoding algorithm, and / or the image blocks of the first image are different in size from the first functional block.

[0150] In one embodiment, the device 900 further includes a communication module 902, which can be used to receive the target image data, wherein the target image data has been processed by at least one of cropping, compression, or adding a mask.

[0151] In summary, when the device 900 is used to implement the functions performed by the first terminal or the second terminal in the above embodiments, other functions that the device 900 can implement can be referred to the relevant descriptions of any of the embodiments shown above, and will not be elaborated further.

[0152] In a simplified embodiment, those skilled in the art will recognize that device 900 can take the form shown in FIG2. For example, processor 201 in FIG2 can cause device 20 to perform the method described in the above method embodiment by calling computer execution instructions stored in memory 203.

[0153] For example, the function / implementation process of the image processing module 901 in Figure 9 can be implemented by the processor 201 in Figure 2.

[0154] For example, the function / implementation process of the communication module 902 in Figure 9 can be implemented through the communication interface 204 in Figure 2.

[0155] It is understood that one or more of the above modules or units can be implemented by software, hardware, or a combination of both. When any of the above modules or units are implemented by software, the software exists as computer program instructions and is stored in memory. The processor can be used to execute the program instructions and implement the above method flow. The processor can be built into a SoC (System-on-Chip) or ASIC, or it can be a separate semiconductor chip. In addition to the core that executes software instructions for computation or processing, the processor may further include necessary hardware accelerators, such as field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), or logic circuits that implement dedicated logic operations.

[0156] When the above modules or units are implemented in hardware, the hardware can be any one or any combination of a CPU, microprocessor, digital signal processing (DSP) chip, microcontroller unit (MCU), artificial intelligence processor, ASIC, SoC, FPGA, PLD, application-specific digital circuit, hardware accelerator, or non-integrated discrete device, which can run the necessary software or perform the above method flow independently of software.

[0157] Optionally, this application also provides a chip system, including: at least one processor and an interface, wherein the at least one processor is coupled to a memory via the interface, and when the at least one processor executes a computer program or instructions in the memory, the method in any of the above method embodiments is executed. In one possible implementation, the chip system further includes a memory. Optionally, the chip system may be composed of chips or may include chips and other discrete devices; this application does not specifically limit this.

[0158] Optionally, this application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be implemented by a computer program instructing related hardware. This program can be stored in the aforementioned computer-readable storage medium. When executed, the program can include the processes described in the above method embodiments. The computer-readable storage medium can be an internal storage unit of the communication device in any of the foregoing embodiments, such as the hard disk or memory of the communication device. The aforementioned computer-readable storage medium can also be an external storage device of the communication device, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the communication device. Further, the aforementioned computer-readable storage medium can include both internal storage units and external storage devices of the communication device. The aforementioned computer-readable storage medium is used to store the aforementioned computer program and other programs and data required by the communication device. The aforementioned computer-readable storage medium can also be used to temporarily store data that has been output or will be output.

[0159] Optionally, this application also provides a computer program product. All or part of the processes in the above method embodiments can be executed by a computer program instructing related hardware. This program can be stored in the above computer program product, and when executed, it can include the processes described in the above method embodiments.

[0160] Optionally, this application also provides computer instructions. All or part of the processes in the above method embodiments can be executed by computer instructions instructing related hardware (such as a computer, processor, network device, or terminal device). The program can be stored in the aforementioned computer-readable storage medium or the aforementioned computer program product.

[0161] Optionally, this application also provides an image processing system, including: a first terminal and a second terminal as described in the above embodiments.

[0162] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0163] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or 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 device, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0164] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0165] Furthermore, 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. The integrated unit can be implemented in hardware or as a software functional unit.

[0166] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope 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. An image processing method, characterized in that, The method includes: Get the first image; Target image data is generated based on the first image. The target image data includes first information and second information. The first information is obtained by obtaining a coded symbol stream through rate-free channel coding and embedding it in the first image. The second information is used to indicate the coding sequence number of at least two coded symbols in the coded symbol stream.

2. The method according to claim 1, characterized in that, Generating target image data based on the first image includes: The first information is subjected to rate-free channel coding to obtain a first coded symbol stream; The first encoded symbol stream is sequentially embedded into the first image, wherein each encoded symbol in the first encoded symbol stream is associated with an encoded sequence number, and the encoded sequence number is used to indicate the position information of the encoded symbol in the target image data; The second information is embedded in a first functional block, the target image data including the first functional block, wherein the second information includes at least two encoded sequence numbers associated with the position of the first functional block in the target image data.

3. The method according to claim 2, characterized in that, Embedding the first encoded symbol stream sequentially into the first image includes: The first image encoding algorithm is used to embed the encoded symbols in the first encoded symbol stream into the image blocks of the first image one by one in order from top to bottom and from left to right.

4. The method according to claim 2 or 3, characterized in that, Embedding the second information into the first functional block includes: The second information is embedded into the first functional block using a second image encoding algorithm.

5. The method according to claim 3 or 4, characterized in that, The first image encoding algorithm is different from the second image encoding algorithm, and / or the image blocks of the first image are different in size from the first functional block.

6. The method according to any one of claims 1-5, characterized in that, The target image data further includes a second functional block, which includes third information; wherein the third information includes at least two encoded sequence numbers associated with the position of the second functional block in the target image data.

7. The method according to any one of claims 1-6, characterized in that, The method further includes: The target image data is sent, wherein the target image data has been processed by at least one of cropping, compression, or adding a mask.

8. An image processing method, characterized in that, The method includes: Acquire target image data; Extract the second information embedded in the target image data, the second information being used to indicate the encoded sequence number; Based on the second information, the second encoded symbol stream embedded in the target image data is decoded without code rate to extract the first information embedded in the target image data.

9. The method according to claim 8, characterized in that, The second information obtained from the target image data includes: Determine the first functional block in the target image data; The second information in the first functional block is obtained by using a second image decoding algorithm. The second information includes at least two encoded sequence numbers associated with the position of the first functional block in the target image data.

10. The method according to claim 8 or 9, characterized in that, The method further includes: The encoding sequence number of the rate-free encoded symbol stream embedded in the image block of the target image data is determined based on the second information; Determine the decoding structure corresponding to the rateless encoding of the target image data.

11. The method according to claim 10, characterized in that, Rate-free decoding is performed on the second encoded symbol stream embedded in the target image data to obtain first information, including: The second encoded symbol stream embedded in the image blocks of the target image data is extracted using a first image decoding algorithm. According to the decoding structure, the second encoded symbol stream is decoded without code rate to obtain the first information.

12. The method according to claim 9 or 11, characterized in that, The first image decoding algorithm is different from the second image decoding algorithm, and / or the image blocks of the first image are different in size from the first functional block.

13. An image processing apparatus, characterized in that, The apparatus is used to implement the method as described in any one of claims 1-7 or 8-12.

14. An image processing apparatus, characterized in that, include: A processor, when a computer program or instructions are executed by the processor, causes the method as claimed in any one of claims 1-7 or 8-12 to be performed.

15. The image processing apparatus according to claim 14, characterized in that, It also includes a memory for storing the computer program or instructions.

16. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instructions are executed, the method as described in any one of claims 1-7 or 8-12 is performed.

17. A computer program product, said computer program product comprising computer program code, characterized in that, When the computer program code is run on a computer, it causes the method as described in any one of claims 1-7 or 8-12 to be performed.

18. An image processing apparatus, characterized in that, Includes modules or units for implementing the method as claimed in any one of claims 1-7 or 8-12.