Disclosure of Invention
In view of the above, the present invention provides an image encryption hiding method and apparatus, and an image decryption method and apparatus, which reduce the risk of image leakage, loss or change caused by attack or modification of an encrypted image.
In a first aspect, an embodiment of the present invention provides an image encryption hiding method, including:
decomposing an original image into a first approximation sub-band and a first detail sub-band in a time domain by using discrete wavelet transform;
decomposing an original image into a first approximation sub-band and a first detail sub-band in a time domain by using discrete wavelet transform;
carrying out pseudo-random encryption on the first approximate sub-band, and executing quantization processing to obtain a second approximate sub-band;
performing Arnold transform encryption on the first detail sub-band to obtain a second detail sub-band;
merging the second approximation subband data and the second detail subband data to obtain merged data;
compressing the merged data according to Huffman coding to form a bit stream;
and hiding the bit stream into a host image to obtain an explicit encrypted image.
With reference to the first aspect, an embodiment of the present invention provides a first possible implementation manner of the first aspect, where hiding the bitstream into a host image to obtain an explicit encrypted image specifically includes:
performing lifting wavelet decomposition on the host image to obtain a third approximation sub-band and a third detail sub-band;
performing least significant bit substitution on the third detail sub-band using the bitstream;
and reconstructing the third approximation sub-band and the replaced third detail sub-band to obtain an explicit encrypted image.
In a second aspect, an embodiment of the present invention provides an image decryption method, including:
extracting a bit stream from the explicitly encrypted image using lifting wavelet transform;
decompressing the bit stream according to huffman decoding to obtain merged data;
carrying out data splitting on the merged data to obtain a second approximation subband and a second detail subband;
carrying out dequantization processing on the second approximate sub-band, and carrying out pseudo-random decryption to obtain a first approximate sub-band;
performing Arnold transformation on the second detail sub-band to obtain a first detail sub-band;
and carrying out image recombination on the first approximation subband and the first detail subband to obtain an original image.
With reference to the second aspect, an embodiment of the present invention provides a first possible implementation manner of the second aspect, where the extracting, by using lifting wavelet transform, a bitstream from an explicitly encrypted image specifically includes:
performing lifting wavelet transformation on the explicit encrypted image to obtain a third approximate sub-band and a third detail sub-band;
and sequentially extracting the least significant bit of the binary number corresponding to each pixel value of the third detail sub-band to obtain the bit stream.
In a third aspect, an embodiment of the present invention provides an image encryption hiding apparatus, including:
a decomposition module for decomposing an original image into a first approximation subband and a first detail subband in a time domain using discrete wavelet transform;
the approximate sub-band encryption module is used for carrying out pseudo-random encryption on the first approximate sub-band and executing quantization processing to obtain a second approximate sub-band;
the detail sub-band encryption module is used for carrying out Arnold transform encryption on the first detail sub-band to obtain a second detail sub-band;
a merging module, configured to merge the second approximation subband and the second detail subband data to obtain merged data;
a code compression module for compressing the merged data according to Huffman coding to form a bit stream;
and the hiding module is used for hiding the bit stream into the host image to obtain an explicit encrypted image.
With reference to the third aspect, an embodiment of the present invention provides a first possible implementation manner of the third aspect, where the hiding module includes:
a decomposition unit configured to perform lifting wavelet decomposition on the host image to obtain a third approximation sub-band and a third detail sub-band;
a replacement unit for performing least significant bit replacement on the third detail sub-band using the bitstream;
and the reconstruction unit is used for reconstructing the third approximate sub-band and the replaced third detail sub-band to obtain an explicit encrypted image.
In a fourth aspect, an embodiment of the present invention provides an image decryption apparatus, including:
an extraction module for extracting a bitstream from the explicitly encrypted image using lifting wavelet transform;
a decompression module, configured to decompress the bitstream according to huffman decoding to obtain merged data;
the splitting module is used for carrying out data splitting on the merged data to obtain a second approximate sub-band and a second detail sub-band;
the approximate sub-band decryption module is used for carrying out dequantization processing on the second approximate sub-band and carrying out pseudo-random decryption to obtain a first approximate sub-band;
a detail sub-band decryption module, configured to perform Arnold transform on the second detail sub-band to obtain a first detail sub-band;
and the recombination module is used for carrying out image recombination on the first approximation subband and the first detail subband to obtain an original image.
With reference to the fourth aspect, an embodiment of the present invention provides a first possible implementation manner of the fourth aspect, where the extracting module includes:
the transformation unit is used for performing lifting wavelet transformation on the explicit encrypted image to obtain a third detail sub-band;
and the bit stream extracting unit is used for sequentially extracting the least significant bit of the binary number corresponding to each pixel value of the third detail sub-band to obtain the bit stream.
In a fifth aspect, an embodiment of the present invention provides an electronic device, including a memory and a processor, where the memory stores a computer program operable on the processor, and the processor executes the computer program to implement the steps of the method according to the first aspect or the second aspect.
In a sixth aspect, the present invention provides a computer readable medium having non-volatile program code executable by a processor, wherein the program code causes the processor to execute the method according to the first or second aspect.
The embodiment of the invention has the following beneficial effects: the embodiment of the invention provides an image encryption hiding method and device and an image decryption method and device. In the method, firstly, an original image is decomposed into a first approximate sub-band and a first detail sub-band in a time domain by utilizing discrete wavelet transform; then, carrying out pseudo-random encryption on the first approximate sub-band, and executing quantization processing to obtain a second approximate sub-band; performing Arnold transform encryption on the first detail sub-band to obtain a second detail sub-band; merging the second approximation subband data and the second detail subband data to obtain merged data; compressing the merged data according to Huffman coding to form a bit stream; and finally, hiding the bit stream into a host image to obtain an explicit encrypted image. According to the method, the encrypted image is compressed into the bit stream by using Huffman coding, and then the bit stream is hidden in the normal image, so that the appearance of the encrypted image is similar to that of the normal image, and the risk of image leakage, loss or change caused by attack or modification of the encrypted image is reduced.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention as set forth above.
In order to make the aforementioned and other objects, features and advantages of the present invention comprehensible, preferred embodiments accompanied with figures are described in detail below.
Detailed Description
To make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings, and it is apparent that the described embodiments are some, but not all embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
At present, texture-like or noise-like features of an encrypted image are obvious visual symbols, and are easy to attract attention of more people, so that attack and cryptanalysis are brought, and the risk of information leakage, loss or change is increased. Based on this, the image encryption hiding method and apparatus, and the image decryption method and apparatus provided by the embodiments of the present invention can be applied to encryption hiding of an image.
For the convenience of understanding the present embodiment, a detailed description will be first given of an image encryption and hiding method disclosed in the present embodiment.
The first embodiment is as follows:
an embodiment of the present invention provides an image encryption hiding method, as shown in fig. 1, the method includes the following steps:
s101: an original image is decomposed into a first approximation subband and a first detail subband in a time domain using a discrete wavelet transform.
The original image is decomposed into approximation sub-bands (LL) and detail sub-bands (LH, HL, HH) using a discrete wavelet decomposition, in order to subsequently perform different encryption algorithms for the different domains for encryption.
S102: and carrying out pseudo-random encryption on the first approximate sub-band, and carrying out quantization processing to obtain a second approximate sub-band.
First, Pseudo-Random encryption is performed on a first approximate sub-band (LL), and a Pseudo-Random Generator (PRNG) is used to set a secret key K for randomly generating data S during the Pseudo-Random encryption. Then, a quantization process is performed to obtain a second approximation subband (LL).
S103: and performing Arnold transform encryption on the first detail sub-band to obtain a second detail sub-band.
The decomposed detail sub-bands (LH, HL, HH) are subjected to Arnold transformation, and after a plurality of iterations, the detail sub-bands (LH, HL, HH) are encrypted to obtain second detail sub-bands (LH, HL, HH).
S104: and combining the second approximation subband data and the second detail subband data to obtain combined data.
The second approximation subband (LL) and the second detail subband (LH, HL, HH) after the encryption step are merged to obtain merged data. And splicing the detail sub-bands (HL, LH and HH) subjected to singular value decomposition and the quantized approximate sub-band (LL) to synthesize a high-order matrix.
S105: the merged data is compressed according to huffman coding to form a bitstream.
And performing Huffman coding on the matrix obtained above, and compressing the matrix into a bit stream.
S106: and hiding the bit stream into the host image to obtain an explicit encrypted image.
An explicit encrypted image is actually the host image in which the encrypted image is hidden. The popular way of hiding an image is to extract information of the image to be hidden, hide the information in another image which is not important, and make the information not easy to be found. For example, the data bit stream B of the hidden picture needs to be hidden into the picture F.
The step S106 specifically includes the following steps:
s1061: and performing lifting wavelet decomposition on the host image to obtain a third approximation sub-band and a third detail sub-band.
A lifting wavelet decomposition is performed on the image F (host image), and the image resulting from the decomposition is divided into approximation subbands (LL) and detail subbands (LH, HL, HH).
S1062: -performing least significant bit substitution on said third detail sub-band with said bit stream.
And performing least significant bit replacement on LH, HL and HH obtained by F decomposition by using the bit stream in B.
S1063: and reconstructing the third approximation sub-band and the replaced third detail sub-band to obtain an explicit encrypted image.
For example, the embodiment of the present invention selects a Lena grayscale image with a size of 256 × 256 as an original image of an image encryption hiding experiment, and the experimental process is as follows.
Firstly, decomposing an original Lena gray scale map into a first approximation sub-band and a first detail sub-band by using discrete wavelet transform. As shown in fig. 2, the size of the decomposed first approximation subband (LL) is 128 × 128, and the size of the first detail subbands (LH, HL, HH) is also 128 × 128.
And carrying out pseudo-random encryption on the first approximate sub-band (LL) and carrying out quantization processing to obtain a second approximate sub-band (LL). The encrypted image is shown in fig. 3, where fig. 3a is the approximate subband (LL) of the Lena image, fig. 3b is the encrypted image, and fig. 3c is the gray histogram of the encrypted image. The encryption process is as follows:
a mersennewtwister (mersen rotation algorithm) PRNG is used to generate the pseudo-random number. The initial seed used to generate the PRNG is referred to as the key K. A 128 x 128 random matrix S (i, j) is generated using the PRNG. Wherein i is more than or equal to 1 and less than or equal to 128, and j is more than or equal to 1 and less than or equal to 128. The wavelet coefficients of the approximation subband LL are quantized to reduce the range of wavelet coefficients of the approximation subband LL. The calculation is as follows:
wherein R is a defined range [0, R]The parameters of the values of the mid LL subband,in this experiment, the following are defined: r is 2
8-1,
Indicating a rounding operation, rounding up, WC (i, j) indicating the wavelet coefficients to which the approximation subband LL corresponds, WCmax and WCmin indicating the maximum and minimum values of the wavelet coefficients in the LL subband, and QWC (i, j) indicating the quantized wavelet coefficients. In this quantization, the values of the LL subband would lie in the range [0, 255%]And (4) the following steps.
The i × j pseudo random numbers generated to be evenly distributed in [0,255] are added one by one to QWC (i, j), and then the creation of the encrypted image is performed modulo 256, the calculation being:
E(i,j)=mod[QWC(i,j)+S(i,j),256],
1≤i≤P/2,1≤j≤Q/2
where QWC (i, j) and S (i, j) represent the quantized wavelet coefficients and pseudo-random numbers at location (i, j), respectively. The encrypted pixel values are represented by E (i, j), and since QWC and S are within the range [0,255] and the addition modulo 256 is performed, the encrypted pixel values are also in the range [0,255 ].
The Arnold transform is performed on the first detail sub-band, and after a number of iterations an encrypted image is obtained, as shown in FIG. 4.
The image quantized by the approximation subband and the image transformed by the detail subband Arnold are combined, and then huffman coding is performed to a bit stream, as shown in FIG. 5, wherein FIG. 5a is the image quantized by the Lena approximation subband (LL), FIG. 5b is the image transformed by the Lena detail subband (LH, HL, HH) Arnold, and FIG. 5c is the image obtained by combining the data of the second approximation subband and the second detail subband.
Compressing the Lena combined image into a bit stream, then performing least significant bit replacement, and replacing the last two bits of the pixel value of another image, so as to achieve the effect of information hiding, as shown in fig. 6. Taking out every two bits of the bit stream, then carrying out lifting wavelet transformation on the host image map 6b, sequentially replacing the last two bits of binary numbers corresponding to the median of the detail self-band LH, HL and HH, carrying out wavelet reconstruction, obtaining a hidden explicit encrypted image map 6c, and achieving the purpose of hiding.
The purpose of image concealment is to embed a concealment message or watermark into the host image while minimizing distortion of the host image. The resulting latent image (image and embedded message/watermark) is very similar to the host image.
The embodiment of the invention provides an image encryption hiding method, which compresses an encrypted image into a bit stream by using Huffman coding, and then hides the bit stream into a normal image, so that the appearance of the encrypted image is similar to that of the normal image, and the risk of image leakage, loss or change caused by attack or modification of the encrypted image is reduced.
Example two:
as shown in fig. 7, an image decryption method provided in an embodiment of the present invention includes:
s201: the bit stream is extracted from the explicitly encrypted image using a lifting wavelet transform.
The step S201 specifically includes:
s2011: and performing lifting wavelet decomposition on the explicit encrypted image to obtain a third approximation sub-band and a third detail sub-band.
After processing the explicitly encrypted image with a lifting wavelet transform, third detail subbands (LH, HL, HH) are obtained.
S2012: and sequentially extracting the least significant bit of each pixel value of the third detail sub-band corresponding to the binary number to obtain the bit stream.
And executing the inverse process of least significant bit replacement, sequentially taking out the last two bits of binary numbers corresponding to each pixel value of the third detail sub-bands (LH, HL and HH), and reconstructing into a bit stream.
S202: and decompressing the bit stream according to Huffman decoding to obtain combined data.
And performing Huffman decoding on the bit stream, and decompressing the bit stream into combined data of the image.
S203: and carrying out data splitting on the merged data to obtain a second approximation subband and a second detail subband.
The merged data is split into a second approximation sub-band (LL) and a second detail sub-band (LH, HL, HH).
S204: and carrying out dequantization processing on the second approximate sub-band, and carrying out pseudo-random decryption to obtain the first approximate sub-band.
And carrying out dequantization processing on the second approximate sub-band obtained by splitting, and then carrying out pseudo-random decryption to finally obtain the restored first approximate sub-band (LL).
S205: and performing Arnold transform on the second detail sub-band to obtain the first detail sub-band.
Performing Arnold transformation on the split second detail sub-bands (LH, HL and HH), calculating the cycle of the Arnold transformation according to the size of the image, and then continuing iteration to make the iteration times integral multiple of the cycle, so that the original image is iterated to achieve the purpose of decryption, and the first detail sub-band is obtained.
S206: and carrying out image recombination on the first approximation subband and the first detail subband to obtain an original image.
The restored image, i.e. the original image, can be obtained using discrete wavelet reconstruction of the 4 images obtained of the first approximation subband (LL) and of the first detail subband (LH, HL, HH).
For example, in the embodiment of the present invention, the encrypted and hidden image provided by the image encryption and hiding experiment in the first embodiment is used as the image to be decrypted, and the experimental process of the decryption method is as follows:
after image hiding, the image needs to be extracted from the hidden image, lifting wavelet transformation is carried out on the reconstructed image, then the reverse process of least significant bit replacement is carried out, the last two bits of binary numbers of values corresponding to all the LH, HL and HH sub-bands are extracted, and recombination is carried out to obtain the bit stream. The huffman decoding is performed on the bit stream, so that a decoded image is obtained, as shown in fig. 8, wherein fig. 8a is a reconstructed image, and fig. 8b is an image obtained by performing huffman decoding on a Lena image.
After huffman decoding, data decomposition is performed to obtain an approximate subband (LL), and a final pseudo-random decryption of the approximate subband is performed to obtain a restored image (LL), as shown in fig. 9, where fig. 9a is the approximate subband (LL) obtained after data decomposition, fig. 9b is a dequantized image, and fig. 9c is a pseudo-random decrypted image.
And performing Arnold transformation on the decomposed detail sub-bands to obtain a first detail sub-band, and performing image recombination on the first approximation sub-band and the first detail sub-band to obtain an original image.
The embodiment of the invention provides an image decryption method, which is the reverse process of the image encryption hiding method provided by the embodiment one. The method can realize the decryption of the reconstructed image obtained by the image hiding encryption method in the embodiment, thereby avoiding the information loss or change of the encrypted image.
Example three:
an image encryption hiding device provided in an embodiment of the present invention, as shown in fig. 10, includes:
a decomposition module 31 for decomposing the original image into a first approximation subband and a first detail subband in the time domain using a discrete wavelet transform. The main function of the decomposition module 31 is to decompose the original image into approximation sub-bands (LL) and detail sub-bands (LH, HL, HH) using discrete wavelet decomposition, in order to subsequently perform different encryption algorithms for the different domains for encryption.
And the approximate sub-band encryption module 32 is configured to perform pseudo-random encryption on the first approximate sub-band and perform quantization processing to obtain a second approximate sub-band. The approximate sub-band encryption module 32 has a main function of performing Pseudo-Random encryption on a first approximate sub-band, and a Pseudo Random Number Generator (PRNG) is used to set a secret key K for randomly generating data S during Pseudo-Random encryption. Then, a quantization process is performed to obtain a second approximation subband (LL).
And a detail sub-band encryption module 33, configured to perform Arnold transform encryption on the first detail sub-band to obtain a second detail sub-band. The detail sub-band encryption module 33 has a main function of performing Arnold transformation on the decomposed detail sub-bands (LH, HL, HH), and encrypting the detail sub-bands (LH, HL, HH) after a plurality of iterations to obtain second detail sub-bands (LH, HL, HH).
And a combining module 34, configured to combine the second approximation sub-band data and the second detail sub-band data to obtain combined data. The main function of the merging module 34 is to merge the second approximation sub-band (LL) and the second detail sub-bands (LH, HL, HH) after the encryption step, obtaining merged data. And splicing the detail sub-bands (HL, LH and HH) subjected to singular value decomposition and the quantized approximate sub-band (LL) to synthesize a high-order matrix.
And a code compression module 35, configured to compress the merged data according to huffman coding to form a bit stream. And performing Huffman coding on the matrix obtained above, and compressing the matrix into a bit stream.
And a hiding module 36, configured to hide the bitstream into the host image to obtain an explicit encrypted image. The popular way of hiding an image is to extract information of the image to be hidden, hide the information in another image which is not important, and make the information not easy to be found. For example, the data bit stream B of the hidden picture needs to be hidden into the picture F.
A concealment module 36 comprising: and the decomposition unit is used for performing lifting wavelet decomposition on the host image to obtain a third approximate sub-band and a third detail sub-band. A replacement unit for performing least significant bit replacement on the third detail sub-band using the bitstream. And the reconstruction unit is used for reconstructing the third approximate sub-band and the replaced third detail sub-band to obtain the explicit encrypted image.
The image encryption hiding device provided by the embodiment of the invention has the same technical characteristics as the image encryption hiding method provided by the first embodiment, so that the same technical problems can be solved, and the same technical effects can be achieved.
Example four:
an image decryption apparatus provided in an embodiment of the present invention, as shown in fig. 11, includes:
an extraction module 41 for extracting a bitstream from the explicitly encrypted image using lifting wavelet transform.
An extraction module 41, comprising: and the transformation unit is used for performing lifting wavelet transformation on the explicit encrypted image to obtain a third approximate sub-band and a third detail sub-band. And the bit stream extracting unit is used for sequentially extracting the least significant bit of the binary number corresponding to each pixel value of the third detail sub-band to obtain the bit stream.
And a decompression module 42, configured to decompress the bit stream according to huffman decoding to obtain merged data. The main function of the decompression module 42 is to perform huffman decoding on the bit stream and decompress the bit stream into merged data of an image.
And a splitting module 43, configured to perform data splitting on the merged data to obtain a second approximation subband and a second detail subband. The main function of the splitting module 43 is to split the merged data into a second approximation sub-band (LL) and a second detail sub-band (LH, HL, HH).
And the approximate sub-band decryption module 44 is configured to perform dequantization processing on the second approximate sub-band and perform pseudo-random decryption to obtain the first approximate sub-band. The approximate subband decryption module 44 has a main function of dequantizing the split second approximate subband (LL), and then performing pseudo-random decryption to finally obtain the restored first approximate subband (LL).
And a detail sub-band decryption module 45, configured to perform Arnold transform on the second detail sub-band to obtain the first detail sub-band. The detail sub-band decryption module 45 mainly functions to perform Arnold transformation on the split second detail sub-bands (LH, HL and HH), calculate the cycle of Arnold transformation according to the size of the image, and then continue to iterate to make the number of iterations integral multiple of the cycle, so as to iterate the original image, achieve the purpose of decryption, and obtain the first detail sub-bands (LH, HL and HH).
And the recombination module 46 is configured to perform image recombination on the first approximation subband and the first detail subband to obtain an original image. The main function of the recomposition module 46 is to reconstruct the 4 images obtained of the first approximation subband (LL) and of the first detail subband (LH, HL, HH) using discrete wavelets, so as to obtain the restored image, i.e. the original image.
The image decryption device provided by the embodiment of the invention has the same technical characteristics as the image decryption method provided by the second embodiment, so that the same technical problems can be solved, and the same technical effects can be achieved.
EXAMPLE five
As shown in fig. 12, an electronic device 5 according to an embodiment of the present invention includes a processor 51 and a memory 52, where a computer program operable on the processor is stored in the memory, and the processor executes the computer program to implement the steps of the methods according to the first embodiment, the second embodiment, and the third embodiment.
Referring to fig. 12, the electronic device further includes: the bus 54 and the communication interface 53, and the processor 51, the communication interface 53, and the memory 52 are connected by the bus 54. The processor 51 is arranged to execute executable modules, such as computer programs, stored in the memory 52.
The Memory 52 may include a high-speed Random Access Memory (RAM) and may also include a non-volatile Memory (non-volatile Memory), such as at least one disk Memory. The communication connection between the network element of the system and at least one other network element is realized through at least one communication interface 53 (which may be wired or wireless), and the internet, a wide area network, a local network, a metropolitan area network, and the like can be used.
The bus 54 may be an ISA bus, PCI bus, EISA bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one double-headed arrow is shown in FIG. 5, but this does not indicate only one bus or one type of bus.
The memory 52 is configured to store a program, and the processor 51 executes the program after receiving an execution instruction, and the method executed by the apparatus defined by the flow process disclosed in any of the foregoing embodiments of the present invention may be applied to the processor 51, or implemented by the processor 51.
The processor 51 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in the form of software in the processor 51. The Processor 51 may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like. The device can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components. The various methods, steps and logic blocks disclosed in the embodiments of the present invention may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present invention may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in the memory 52, and the processor 51 reads the information in the memory 52 and completes the steps of the method in combination with the hardware thereof.
Example six:
the computer-readable medium provided by the embodiment of the invention has a non-volatile program code executable by a processor, and the program code causes the processor to execute the method provided by the first embodiment or the second embodiment.
Unless specifically stated otherwise, the relative steps, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the present invention.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the system and the apparatus described above may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In all examples shown and described herein, any particular value should be construed as merely exemplary, and not as a limitation, and thus other examples of example embodiments may have different values.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and there may be other divisions when actually implemented, and for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of devices or units through some communication interfaces, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
Finally, it should be noted that: the above-mentioned embodiments are only specific embodiments of the present invention, which are used for illustrating the technical solutions of the present invention and not for limiting the same, and the protection scope of the present invention is not limited thereto, although the present invention is described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: any person skilled in the art can modify or easily conceive the technical solutions described in the foregoing embodiments or equivalent substitutes for some technical features within the technical scope of the present disclosure; such modifications, changes or substitutions do not depart from the spirit and scope of the embodiments of the present invention, and they should be construed as being included therein. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.