Image processing method and apparatus
Patent Information
- Application Number
- PCT/CN2026/071054
- 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 CN2026071054_01102026_PF_FP_ABST
Abstract
Description
An image processing method and apparatus
[0001] This application claims priority to Chinese Patent Application No. 202510395356.8, 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] With the widespread application of information sharing in mobile communications, end users often need to share information such as audio and video, contact lists, or product links. Current information sharing methods include web addresses, mini-program cards, QR code images, or text codes with links. For example, applications with compatible sharing interfaces can share via mini-program cards or cards with links. If two applications do not have an open sharing interface, they can share via QR code images or text codes with links. Alternatively, the sending end can generate an image with an invisible QR code or watermark and send it to the receiving end. The receiving user needs to trigger an action through the relevant application to extract the content of the QR code or watermark, thereby accessing the shared information or links.
[0004] It is evident that the current information sharing process is rather cumbersome, usually requiring functional adaptation between applications. In addition, if images are compressed or cropped during transmission, the receiving end may not be able to correctly decode the QR codes or watermarks contained in the images, which may lead to information sharing failures between end users and a poor user experience. Summary of the Invention
[0005] This application provides an image processing method and apparatus to improve the convenience and success rate of information sharing between end users and enhance the 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 a network device or terminal, a communication module / processing module in the network device or terminal, circuits or chips responsible for communication functions in the network device or terminal (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 the network device or terminal (such as operating systems, graphics processing units (GPUs), or application-specific integrated circuits (ASICs)). The method can also be implemented by a logical node, logical module, 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: in response to a first operation, acquiring a first image and acquiring first information corresponding to the first image; generating target image data based on the first image, the target image data including the first information and second information, the second information being used to indicate that the target image data embeds the first information.
[0008] In the above embodiments, by embedding first information to be shared in the image data and second information to indicate the presence of embedded information in the image data, when image processing devices share the image data, they can decode the image data to recover the first information to be shared, thereby improving the convenience and success rate of information sharing between end users and enhancing the user experience.
[0009] In one possible design, the first operation includes a screenshot request, a photo capture request, or an image saving operation. That is, by requesting a screenshot, taking a photo, or saving an image, an image to be shared can be obtained. Furthermore, information to be shared, such as the first piece of information, can be extracted from the image. This enriches the ways and convenience of information sharing for end users, improves image processing performance, and enhances the user experience.
[0010] In one possible design, obtaining the first image includes: performing a screenshot operation to capture the current display interface and obtain the first image; performing a photo-taking operation to obtain the first image; and performing an image saving operation to obtain the first image.
[0011] In one possible design, the first information includes 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.
[0012] In the above embodiments, the image processing method provided by this application utilizes the embedded information to be shared in the image, and can be applied to scenarios such as sharing application information, audio and video information, link information, product information, business card information, contact information, device information, location information, or filter parameter information. The implementation method of this application has wide application and the information sharing is convenient and has a high success rate, which can effectively improve the user experience.
[0013] In one possible design, the second information may also include at least one of the following: algorithm version information, business type information, or the original size information of the first image.
[0014] In the above embodiments, by embedding algorithm version information, such as image encoding and decoding algorithm version information, service type information, or original size information of the first image, the image receiving end can decode and obtain the above information included in the second information, which helps the receiving end to more accurately recover the original image data and recover the steganographic information, thereby improving the performance of image processing.
[0015] In one possible design, generating target image data includes: embedding second information into a first image through first-level image encoding; and embedding the first information into the first image through second-level image encoding to generate target image data.
[0016] In the above embodiments, the first information and the second information can be embedded into the first image through the image encoding algorithm to generate target image data. Subsequently, by sending the target image data or reopening the target image data, the first information can be extracted from the target image data, realizing information sharing and recovery. This can avoid the problem of information sharing failure caused by compression or cropping during image transmission, improve the convenience and success rate of information sharing, and enhance the user experience.
[0017] In one possible design, embedding the second information into the first image through first-level image coding includes: performing channel coding, pilot insertion, and first-level image steganography on the first image to embed the second information into the first image; embedding the first information into the first image through second-level image coding includes: embedding the first information into the first image through source coding, channel coding, pilot insertion, and second-level image steganography.
[0018] In the above embodiments, the content to be shared can be embedded in the first image through first-level image encoding and second-level image encoding, which can resist attacks such as image compression or cropping of the image to be shared during transmission. In addition, the image processing method provided in this application can be applied to image sharing between any application, which can improve the convenience and success rate of information sharing and enhance the user experience.
[0019] In one possible design, the method further includes: saving the target image data, and / or sending the target image data. The image processing method provided in this application can be applied to scenarios where an image processing device saves target image data, and subsequently can repeatedly open the target image to recover the first information embedded therein; it is also applicable to scenarios where devices share images and recover the information to be shared embedded in the image. It has a wide range of applications, is convenient, has a high success rate, and provides a good user experience.
[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: opening target image data, the target image data including first information and second information, the second information being used to indicate that the target image embeds the first information; and displaying information or pages associated with the first information according to the first information and the second information.
[0021] In the above embodiments, the image processing device opens the target image data and can decode and extract the first information and the second information embedded in the target image data, that is, recover the first information to be shared, thereby displaying the information or page associated with the shared first information, which can improve the convenience and success rate of information sharing between end users, improve image processing performance, and enhance the user experience.
[0022] In one possible design, the first information includes 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.
[0023] In one possible design, the second information may also include at least one of the following: algorithm version information, business type information, or the original size information of the first image.
[0024] In one possible design, before opening the target image data, the method further includes receiving the target image data.
[0025] In one possible design, displaying information or a page associated with the first information includes: popping up a page asking whether to perform a second operation; and, in response to performing the second operation, displaying information associated with the first information or jumping to the page associated with the first information.
[0026] In the above embodiments, by popping up an interactive operation page, users can choose whether to display the information to be shared embedded in the image or jump to the page associated with the information embedded in the image, thereby improving the flexibility and convenience of image processing and enhancing the user experience.
[0027] In one possible design, the method further includes: performing first-level image decoding on the target image data to obtain the second information; performing second-level image decoding on the target image data to obtain the first information; and / or displaying the first information.
[0028] In the above embodiments, by embedding first information to be shared in the image data and second information to indicate the presence of embedded information in the image data, when image processing devices share the image data, they can decode the image data to recover the first information to be shared, thereby improving the convenience and success rate of information sharing between end users and enhancing the user experience.
[0029] In one possible design, performing first-level image decoding on the target image data includes: performing first-level image steganalysis, channel estimation, and channel decoding on the target image data to obtain the second information; performing second-level image decoding on the target image data includes: obtaining the first information and / or displaying the first information through second-level image steganalysis, channel estimation, channel decoding, and source decoding.
[0030] 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.
[0031] 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.
[0032] 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.
[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 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.
[0036] 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.
[0037] In one possible design, the processor is used to communicate with other devices or components through the interface circuit.
[0038] In one possible design, the communication device may also include the memory.
[0039] 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, NPU, AI processor, 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] Understandably, the solutions mentioned above can be combined, provided that they do not contradict each other. Attached Figure Description
[0044] Figure 1 is a schematic diagram of the architecture of a communication system provided in an embodiment of this application;
[0045] Figure 2 is a schematic diagram of the structure of an image processing device provided in an embodiment of this application;
[0046] Figure 3 is a flowchart illustrating an image processing method provided in an embodiment of this application;
[0047] Figure 4 is a schematic diagram of the processing procedure of an image processing method provided in an embodiment of this application;
[0048] Figure 5 is a schematic diagram of the image encoding process in an image processing method provided in an embodiment of this application;
[0049] Figure 6 is a schematic diagram of the image decoding process in an image processing method provided in an embodiment of this application;
[0050] Figure 7 is a schematic diagram of the processing procedure of another image processing method provided in the embodiment of this application;
[0051] Figure 8 is a flowchart illustrating another image processing method provided in an embodiment of this application;
[0052] Figure 9 is a schematic diagram of the structure of an image processing device provided in an embodiment of this application;
[0053] Figure 10 is a schematic diagram of another image processing device provided in an embodiment of this application. Detailed Implementation
[0054] 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.
[0055] First, the implementation scenarios of the embodiments of this application will be described with reference to the accompanying drawings.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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 may also be configured with program instructions for performing corresponding communication functions and corresponding program instructions. The RAN node in this application may 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 network processing unit (NPU), or application-specific integrated circuit (ASIC)) responsible for communication and / or computing functions in the access node.
[0061] 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).
[0062] 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.
[0063] 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.
[0064] 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.
[0065] 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.
[0066] 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.
[0067] 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.
[0068] 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).
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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).
[0073] 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.
[0074] 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.
[0075] Communication line 202 may include a path for transmitting information between the aforementioned components, such as a bus.
[0076] 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.
[0077] 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.
[0078] 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.
[0079] In a specific implementation, as one example, processor 201 may include one or more CPUs, such as CPU0 and CPU1 in FIG2.
[0080] 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 processor or a multi-core processor. Here, a processor may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0081] 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.
[0082] 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.
[0083] The communication method provided in the embodiments of this application will be described in detail below.
[0084] 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.
[0085] 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.
[0086] 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.
[0087] First, a brief introduction to the technical terms used in this application is provided below.
[0088] Image steganography: This technique uses algorithms to embed data (such as text, watermarks, or links) into image pixels, enabling the hiding and transmission of information without significantly altering the image's appearance.
[0089] Source coding: A technique that uses compression algorithms to eliminate data redundancy and convert raw information into an efficient representation to save storage and transmission space.
[0090] Channel coding: A technique that enhances the signal's resistance to interference by adding redundant check information, ensuring that data can be accurately restored even if there is noise or errors during transmission.
[0091] Pilot insertion: A technique that assists the receiver in synchronization and channel estimation by inserting a known reference signal (pilot) into the transmitted signal.
[0092] Channel estimation: a technique that derives channel parameters by analyzing the differences between the transmitted signal and a known reference signal, thereby compensating for distortions during signal transmission and ensuring that the receiver can accurately reconstruct the original information.
[0093] This application provides an image processing method in which a terminal can embed the content to be shared into image data by performing image steganography. When the image is shared with other terminals, the receiving terminal opens the image and can recover the content to be shared by performing the image steganography decoding operation. This enables convenient information sharing between terminals, improves the success rate of information sharing, and enhances the user experience.
[0094] The image processing method provided in this application is described below with reference to the accompanying drawings.
[0095] As shown in Figure 3, taking the application of image processing methods to a terminal as an example, such as the first terminal sharing the first image with the second terminal, the method may include the following steps.
[0096] 301: The first terminal responds to the first operation by acquiring the first image and acquiring the first information corresponding to the first image.
[0097] For example, a user can trigger a first operation on a first terminal, and the first terminal can acquire a first image in response to the first operation triggered by the user.
[0098] In addition, the first terminal can obtain the first information corresponding to the first image, which refers to the information to be shared associated with the first image.
[0099] 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.
[0100] In one implementation, the first information may include at least one of the following: application information, audio and video information, link information, product information, business card information, contact information, device information, location information, or filter parameter information, etc.
[0101] In another implementation, the first operation may also be automatically triggered by the first terminal, such as the first terminal triggering the first operation randomly or periodically, etc., and this application does not limit it in this way.
[0102] In one implementation, the first operation may include a screenshot request operation, a photo request operation, or an image saving operation. That is, the first terminal may respond to a screenshot request operation, a photo request operation, or an image saving operation, thereby acquiring a first image.
[0103] For example, the first operation can be a screenshot request operation. In response to the first operation, the first terminal can perform a screenshot operation to capture the first image by taking a screenshot of the current display interface of the first terminal.
[0104] In one possible scenario, a user browses online product information through a first application on a first terminal. When the user needs to share (or save) the first application or product information, a screenshot request can be triggered, causing the first terminal to perform a screenshot operation and obtain the first image currently displayed by the first application. Optionally, the first information may include product information, such as application information including the first application, a link to share the product, or an electronic password corresponding to the product link.
[0105] In another possible scenario, a user browses audio and video through a second application on a first terminal. When the user needs to share the second application, or share (or save) a homepage or a specific audio or video on the second application, a screenshot request operation can be triggered, causing the first terminal to perform a screenshot operation and obtain the first image currently displayed by the second application.
[0106] In another possible scenario, when the user opens the electronic address book on the first terminal and needs to share the address book or a business card in the address book, a screenshot request operation can be triggered, causing the first terminal to perform a screenshot operation and obtain the first image currently displayed on the first terminal.
[0107] In one implementation, the first operation may be a photo-taking request operation. In response to the first operation, the first terminal may perform a photo-taking operation to obtain a first image.
[0108] In one possible scenario, a user takes a photo using the camera function of a first terminal. When the user performs a photo-taking operation, such as clicking the shutter button, the first terminal can execute the photo-taking operation, generating an image from the content captured by the camera, thus obtaining a first image. When the user shares this first image with other user terminals, they can choose to share the location information of the first image being taken, or device information such as the device name, device model, or lens parameters of the first terminal. Optionally, the first information may include location information or device information.
[0109] In another possible scenario, when a user takes a photo, they can set various shooting parameters, such as exposure, focal length, beauty effects, or filters. When the user shares the first image taken, they can choose to share these parameter settings. Optionally, the first information may include filter parameters, etc.
[0110] In one implementation, a user modifies an image using image editing software on a first terminal. The first operation is an image saving operation. In response to this first operation, the first terminal can perform the image saving operation to obtain a first image.
[0111] In one possible scenario, a user modifies an image using a first application on a first terminal. This modification could include cropping, adding borders, adding text or icons, or applying filters or beautification effects. After clicking the save button, the first terminal saves the image, creating a first image. When sharing this first image later, the first terminal can choose to share the image modifications made.
[0112] It should be understood that this application can be applied to the above-mentioned scenarios or other scenarios, and this application does not limit it.
[0113] 302: The first terminal generates target image data based on the first image. The target image data includes first information and second information. The second information is used to indicate that the target image data is embedded with the first information.
[0114] In one implementation, taking a smartphone as an example, the operating system of the first terminal acquires the first image and executes the operation in step 302. For example, if the first terminal is a smart TV or an AR device, the first terminal can acquire the first image through a control system such as a control chip or CPU, and generate target image data based on the first image.
[0115] The first terminal generates target image data based on the first image, that is, embeds first information and second information in the first image. The first information is the information to be shared related to the first image of the first terminal, and the second information is used to indicate that the target image has embedded the information to be shared, that is, the first information.
[0116] Optionally, the second information can also be called control information, used to determine whether there is information to be shared in the image.
[0117] For example, a checksum can be embedded in the target image data to indicate second information, such as indicating that the first image contains information to be shared. Optionally, a checksum can be embedded in the target image data to indicate that the first image does not contain any shared information.
[0118] In one implementation, the second information further includes at least one of the following: algorithm version information, service type information, or the original size information of the first image.
[0119] The algorithm version information indicates the version of the encoding / decoding algorithm used for image processing. Optionally, the algorithm version information may also include the version of the image steganography encoding / decoding algorithm used, the version of the source encoding / decoding algorithm, or the version of the channel encoding / decoding algorithm.
[0120] The service type information is used to indicate the service type corresponding to the first image, in order to distinguish different services. For example, the service type information may include information such as taking a photo, application, or gallery.
[0121] In one possible implementation, the first information or the second information may carry attribute information corresponding to the first image, such as the image format, pixel information, image storage address, or data size of the first image, etc., which are not limited in this application.
[0122] The first terminal generates target image data based on the first image, including: the first terminal embeds second information into the first image through first-level image encoding; and embeds the first information into the first image through second-level image encoding to generate target image data.
[0123] It should be noted that, in this application, the operations of embedding the first information into the first image and embedding the second information into the first image can be performed in any order.
[0124] In one implementation, as shown in Figure 4, taking a first terminal responding to a screenshot request as an example, the operating system of the first terminal acquires image 1 and extracts the page links from image 1. Then, the operating system of the first terminal embeds second information into image 1 through first-level image encoding. The second information is used to indicate that the image contains content to be shared. The operating system then embeds the aforementioned page links into image 1 through second-level image encoding, thus obtaining the target image.
[0125] In other words, the target image contains both first and second information embedded using an image steganography algorithm.
[0126] In one implementation, the image coding process may include some or all of the processes such as source coding, channel coding, pilot insertion, and image steganography.
[0127] For example, channel coding is used to add redundancy to a digital bitstream to improve error correction capabilities, thereby resisting attacks such as image compression and cropping. For example, channel coding may include forward error correction coding of the raw data of the first image, such as low-density parity check code (LDPC), polar code, or Raptor code.
[0128] Pilot insertion refers to inserting a known pilot signal, such as a demodulation reference signal (DMRS), into the encoded data stream. For example, pilot insertion can be achieved by modifying the spatial pixel values or frequency coefficients of a specific image block.
[0129] Furthermore, the first terminal can employ existing image steganography algorithms to steganographically embed the first or second information into the first image; this application does not impose any limitations on this. For example, spatial domain image steganography may employ least significant bit (LSB) replacement. For example, frequency domain image steganography may employ steganography algorithms such as discrete cosine transform (DCT) coefficient modification (applicable to JPEG images).
[0130] For example, as shown in Figure 5, the first terminal embeds the second information into the first image through first-level image coding, which may include: the first terminal performing channel coding, pilot insertion and first-level image steganography coding on the first image to embed the second information into the first image.
[0131] In one embodiment, as shown in FIG5, the first terminal embeds the first information into the first image through secondary image coding, which may include: the first terminal embeds the first information into the first image through source coding, channel coding, pilot insertion and secondary image steganography coding.
[0132] In one implementation, the method further includes step 303.
[0133] 303: The first terminal saves the target image data and / or sends the target image data. For example, the first terminal may send the target image data to the second terminal.
[0134] The first terminal can send the target image data to be shared to the second terminal through a third-party application.
[0135] In one embodiment, the first terminal can send the target image data to the second terminal. For example, the target image data can be sent through any application to share the first information embedded within it. Optionally, the target image data may undergo image processing operations such as image compression, cropping, or adding black borders during data transmission; this application does not limit this process.
[0136] Optionally, the first terminal can store the target image data locally for later sharing with other terminals. Alternatively, the first terminal can open the target image data and recover the sharing content or links associated with the first image through image decoding processing.
[0137] It should be understood that this application describes the image decoding process using the example of a first terminal sharing target image data with a second terminal and the second terminal opening the target image data. In an optional implementation, the first terminal can subsequently open the target image data to obtain the information embedded in the target image data.
[0138] 304: The first or second terminal opened the target image data.
[0139] In this embodiment of the application, the second terminal is used as an example. The execution process of the first terminal opening the target image and restoring the information to be shared is similar.
[0140] For example, when the second terminal receives target image data sent from the first terminal, the user can open or view the image through an interactive interface.
[0141] Optionally, in one implementation, the second terminal may display a page asking whether to perform the second operation. For example, the second operation refers to opening or displaying information or content embedded in the target image data, or jumping to a link or page embedded in the target image data.
[0142] For example, a pop-up window may be displayed on the second terminal, showing operation buttons such as "Open," "Click to Jump," or "Open Embedded Information." The user can choose to perform or not perform the second operation according to their needs. Furthermore, the pop-up window may also display prompts such as "Open the embedded contacts," "Open the shared business card," "Open application 1," or "Jump to application 2." The user can trigger a confirmation or close operation on the second terminal. If the user triggers a confirmation operation, step 305 is executed; if the user triggers a close operation, step 305 is not executed, and only the image data corresponding to the first image in the target image data is displayed on the second terminal, without displaying information or content related to the first information embedded in the target image data.
[0143] 305: The first terminal or the second terminal displays information or a page associated with the first information based on the first information and the second information.
[0144] In one implementation, the second terminal may respond to the execution of the second operation by displaying information associated with the first information or by jumping to the page associated with the first information.
[0145] In one implementation, as shown in Figure 6, the second terminal can first perform first-level image decoding on the target image data to obtain second information. Based on the second information, it is determined that the target image data embeds first information to be shared. Then, the second terminal performs second-level image decoding on the target image data to obtain the first information, and displays the first information or information or pages associated with the first information.
[0146] For example, in a scenario where the first information is contact list or business card information, or in a scenario where the first information is device information or location information for taking a photo, the second terminal decodes the first information and can then display the first information on the interface.
[0147] For example, if the first information is a link, link information, application information, or audio / video, the second terminal can decode the first information and display the information or page associated with the first information.
[0148] In one implementation, the image decoding process may include image steganalysis, channel estimation, channel decoding, and source decoding.
[0149] For example, as shown in Figure 6, the second terminal performs first-level image decoding on the target image data, which may include: performing first-level image steganography decoding, channel estimation, and channel decoding on the target image data to obtain second information. If the second information indicates that the target image data includes embedded information to be shared, then second-level image decoding is performed; if it indicates that it does not include embedded information to be shared, then second-level image decoding may not be performed.
[0150] For example, as shown in Figure 6, the second terminal performs two-level image decoding on the target image data, which may include: obtaining the first information by performing two-level image steganography decoding, channel estimation, channel decoding and source decoding on the target image data.
[0151] In the above embodiments, the image processing method provided in this application enables content sharing between two terminals. The content to be shared is embedded in the image at the terminal's operating system level; therefore, the content sharing process is transmitted between the terminal's operating system and the operating system, avoiding the problem of sharing interruptions caused by incompatibility between applications.
[0152] Furthermore, during the process of embedding the content to be shared into the image, the sending terminal operating system performs source coding, channel coding, pilot insertion, first-level image steganography, and second-level image steganography. During the process of restoring the content to be shared, the receiving terminal operating system performs source decoding, channel decoding, channel estimation, first-level image steganography, and second-level image steganography. This process can resist possible image compression, cropping, or resizing during transmission, thereby improving the convenience and success rate of information sharing and enhancing the user experience.
[0153] For example, taking the recovery of embedded information in an image by a first or second terminal as an example, as shown in Figure 7, after the operating system of the second terminal obtains the target image data, it can obtain the second information embedded in the target image data through first-level image decoding. If the second information indicates that the target image data includes embedded information to be shared, then second-level image decoding is performed; if it indicates that it does not include embedded information to be shared, then second-level image decoding is not performed. As shown in Figure 7, the second terminal performs second-level image decoding to extract the first information. After a certain number of times, a pop-up window can be displayed on the second terminal, which can display a "Click to jump" operation button. The user can click this operation button to jump to the page of the first application.
[0154] In one implementation, as shown in Figure 8, a processing module for enabling content sharing between two terminals may be included. The first terminal on the sending side may include: a user interaction module, an operating system, a content / image extraction module, a signal processing module, and an image storage module, etc.
[0155] For example, the user interaction module receives user interaction operations on the first terminal, such as a user triggering a screenshot operation via a shortcut, virtual button, or gesture. The first terminal responds to the user interaction module's operation by triggering the operating system to execute the screenshot function. The operating system obtains the screenshot image through the content / image extraction module, and also extracts the content to be shared from the image (such as page links, short videos, etc.). Then, the operating system uses a signal processing module to embed the content to be shared into the image using image steganography to generate the target image to be shared, and the image storage module stores the target image locally. The first terminal can then send this target image to the second terminal through any third-party application.
[0156] In one implementation, as shown in FIG8, the second terminal on the receiving side may include: a user interaction module, an operating system, a content presentation module, a signal processing module, and an image extraction module, etc.
[0157] For example, after receiving the target image, the second terminal opens and previews the image. The operating system of the second terminal can obtain the preview image through the image extraction module and extract the content to be shared embedded in the image through the signal processing module. Then, the second terminal displays a jump button on its screen interface, and its operating system can activate the user interaction function through the user interaction module. Optionally, if the image received by the second terminal does not contain embedded information, the user interaction function is not activated. The second terminal triggers the user interaction function through the user interaction module and displays the content to be shared on the screen through the content presentation module, or jumps to the page associated with the embedded information.
[0158] In one embodiment, Figure 9 shows a structural diagram of an apparatus for implementing the above-described image processing method. This image processing apparatus may include a display unit, a sensing unit, an operating system, a computing unit, a storage unit, and a communication unit. The display unit corresponds to the aforementioned content presentation module and can be used to display the content and images to be shared. The sensing unit corresponds to the aforementioned user interaction module and can be used to receive user trigger operations. The operating system can be used to acquire the content and images to be shared and control all processes related to content sharing. The computing unit can be used to execute specific instructions for content sharing. The storage unit corresponds to the aforementioned image storage module and can be used to store the images to be shared and the instructions of this method. The communication unit can be used for transmitting the images to be shared.
[0159] The various embodiments mentioned above in this application can be combined without contradiction, and no limitation is imposed.
[0160] 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.
[0161] 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.
[0162] 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.
[0163] 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.
[0164] For example, when the functional modules are divided in an integrated manner, Figure 10 shows a schematic diagram of the structure of an image processing device 1000. The device 1000 includes an interaction module 1001 and an image processing module 1002.
[0165] In some embodiments, the device 1000 may further include a storage module (not shown in FIG10) for storing program instructions and data.
[0166] For example, device 1000 can be used to implement the functions of the first terminal in the above embodiments. Device 1000 is, for example, the first terminal described in the foregoing embodiments.
[0167] The interaction module 1001 can be used to respond to the first operation, acquire the first image, and acquire the first information corresponding to the first image.
[0168] Image processing module 1002 can be used to generate target image data based on the first image. The target image data includes the first information and the second information, wherein the second information is used to instruct the target image data to embed the first information.
[0169] In one implementation, the first operation includes a screenshot request operation, a photo request operation, or an image saving operation.
[0170] In one embodiment, the interaction module 1001 can be used to perform a screenshot operation to capture the current display interface and obtain the first image; perform a photo-taking operation to obtain the first image; and perform an image saving operation to obtain the first image.
[0171] In one implementation, the first information includes at least one of the following: application information, audio / video information, link information, product information, business card information, address book information, device information, location information, or filter parameter information.
[0172] In one implementation, the second information further includes at least one of the following: algorithm version information, service type information, or the original size information of the first image.
[0173] In one embodiment, the image processing module 1002 can be used to embed the second information into the first image through first-level image encoding; and to embed the first information into the first image through second-level image encoding to generate the target image data.
[0174] In one embodiment, the image processing module 1002 can be used to perform channel coding, pilot insertion, and first-level image steganography on the first image to embed the second information into the first image; and to embed the first information into the first image through source coding, channel coding, pilot insertion, and second-level image steganography.
[0175] In one embodiment, the image processing module 1002 can be used to save target image data.
[0176] In one embodiment, the device 1000 may further include a communication module 1003 for transmitting target image data.
[0177] Additionally, for example, device 1000 can be used to implement the functions of the second terminal in the above embodiments, or to implement the function of the first terminal opening target image data and decoding to obtain first information. Device 1000 is, for example, the second terminal described in the foregoing embodiments, or the first terminal in a possible implementation.
[0178] The interaction module 1001 can be used to open target image data, which includes first information and second information, wherein the second information is used to instruct the target image to embed the first information.
[0179] The image processing module 1002 can be used to display information or pages associated with the first information based on the first information and the second information.
[0180] In one implementation, the first information includes at least one of the following: application information, audio / video information, link information, product information, business card information, address book information, device information, location information, or filter parameter information.
[0181] In one implementation, the second information further includes at least one of the following: algorithm version information, service type information, or the original size information of the first image.
[0182] In one embodiment, the device 1000 may further include a communication module 1003 for receiving the target image data.
[0183] In one implementation, the interaction module 1001 can be used to pop up a page asking whether to perform a second operation; in response to performing the second operation, display information associated with the first information, or jump to the page associated with the first information.
[0184] In one embodiment, the image processing module 1002 can be used to perform first-level image decoding on the target image data to obtain the second information; perform second-level image decoding on the target image data to obtain the first information; and / or display the first information.
[0185] In one embodiment, the image processing module 1002 can be used to perform first-level image steganalysis, channel estimation, and channel decoding on the target image data to obtain the second information; and to obtain the first information and / or display the first information through second-level image steganalysis, channel estimation, channel decoding, and source decoding.
[0186] In summary, when the device 1000 is used to implement the functions performed by the first terminal or the second terminal in the above embodiments, other functions that the device 1000 can implement can be referred to the relevant descriptions of any of the embodiments shown above, and will not be elaborated further.
[0187] In a simplified embodiment, those skilled in the art will recognize that device 1000 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.
[0188] For example, the function / implementation process of the image processing module 1002 in FIG10 can be implemented by the processor 201 in FIG2.
[0189] For example, the function / implementation process of the communication module 1003 in Figure 10 can be implemented through the communication interface 204 in Figure 2.
[0190] 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.
[0191] 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.
[0192] 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.
[0193] 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.
[0194] 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.
[0195] 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.
[0196] Optionally, this application also provides an image processing system, including: a first terminal and a second terminal as described in the above embodiments.
[0197] 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.
[0198] 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.
[0199] 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.
[0200] 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.
[0201] 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 by, The method includes: In response to the first operation, a first image is acquired, and first information corresponding to the first image is acquired; Target image data is generated based on the first image. The target image data includes the first information and the second information, wherein the second information is used to instruct the target image data to embed the first information.
2. The method of claim 1, wherein, The first operation includes a screenshot request operation, a photo request operation, or an image saving operation.
3. The method according to claim 1 or 2, characterized in that, The acquisition of the first image includes: Perform a screenshot operation to capture the current display interface and obtain the first image; Perform the photo-taking operation to obtain the first image; Perform the image saving operation to obtain the first image.
4. The method according to any one of claims 1 to 3, characterized in that, The first information includes 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.
5. The method according to any one of claims 1 to 4, characterized in that, The second information also includes at least one of the following: Algorithm version information, service type information, or the original size information of the first image.
6. The method according to any one of claims 1 to 5, characterized in that, The generated target image data includes: The second information is embedded into the first image through first-level image encoding; The first information is embedded into the first image through two-level image encoding to generate the target image data.
7. The method of claim 6, wherein, The step of embedding the second information into the first image through first-level image encoding includes: Channel coding, pilot insertion, and first-level image steganography are performed on the first image to embed the second information into the first image; The step of embedding the first information into the first image through secondary image encoding includes: The first information is embedded in the first image through source coding, channel coding, pilot insertion, and secondary image steganography.
8. The method according to any one of claims 1 to 7, characterized in that, The method further includes: Save the target image data, and / or send the target image data.
9. An image processing method characterized by, The method includes: Open the target image data, which includes first information and second information, wherein the second information is used to instruct the target image to embed the first information; Based on the first information and the second information, display the information or page associated with the first information.
10. The method of claim 9, wherein, The first information includes 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.
11. The method according to claim 9 or 10, characterized in that, The second information also includes at least one of the following: Algorithm version information, service type information, or the original size information of the first image.
12. The method according to any one of claims 9-11, characterized in that, Before opening the target image data, the method further includes: Receive the target image data.
13. The method according to any one of claims 9-12, characterized in that, The information or page associated with the first information includes: A pop-up window appears asking whether to perform the second operation; In response to performing the second operation, the information associated with the first information is displayed, or the user is redirected to the page associated with the first information.
14. The method according to any one of claims 9 to 13, characterized in that, The method further includes: Perform first-level image decoding on the target image data to obtain the second information; Perform secondary image decoding on the target image data to obtain first information, and / or display the first information.
15. The method of claim 14, wherein, Performing first-level image decoding on the target image data includes: The target image data is subjected to first-level image steganography decoding, channel estimation, and channel decoding to obtain the second information; Performing two-level image decoding on the target image data includes: The first information is obtained and / or displayed through two-level image steganography decoding, channel estimation, channel decoding, and source decoding.
16. An image processing apparatus characterized by comprising: The apparatus is used to implement the method as described in any one of claims 1-15.
17. An image processing apparatus characterized by comprising: Includes a processor, which, when it invokes a computer program or instructions, causes the method as described in any one of claims 1-15 to be executed.
18. The apparatus of claim 17, wherein, It also includes the memory used to store the program or instructions.
19. A computer readable storage medium having stored thereon a computer program or instructions, characterized in that, When the computer program or instructions are executed, the method as described in any one of claims 1-15 is performed.
20. A computer program product comprising computer program code in said computer program product, characterised in that, When the computer program code is run on a computer, the method as described in any one of claims 1-15 is performed.
21. An image processing apparatus characterized by comprising: Includes modules or units for implementing the method as described in any one of claims 1-15.