Data embedding system
View Patent ↗A system and method for embedding data is provided. The method comprises dividing the host data set into a plurality of blocks, wherein each block comprises a plurality of elements, generating a pattern connecting the elements of each block; and embedding data on the elements of block based on the pattern.
1. A method comprising:
dividing, by a computer-based system, a host data set into a plurality of blocks,
wherein a block of the plurality of blocks comprises a plurality of pixels, each pixel having an odd or even number position;
shuffling the plurality of pixels in the block having the odd number position according to a first shuffling scheme;
shuffling the plurality of pixels in the block having the even number position according to a second shuffling scheme;
generating, by the computer-based system, a pattern connecting the plurality of pixels in the block at least once to embed data; and
responsive to the generating the pattern:
embedding, by the computer-based system, data in a least significant bit of each pixel of the plurality of pixels in the block based on the pattern,
altering the least significant bit of each pixel of the plurality of pixels in the block in response to a binary value of the data differing from a value of the least significant bit, and
transmitting, by the computer-based system, the pattern to a hardware receiving device.
2. The method of claim 1 , further comprising transmitting, by the computer-based system, the host data set to the hardware receiving device.
3. The method of claim 1 , further comprising:
receiving, by the computer-based system, the host data set and a pattern code;
determining, by the computer-based system, the pattern based on the pattern code; and
applying, by the computer-based system, the pattern to the host data set to extract the embedded data from the divided host data set.
4. A computing device comprising:
a hardware transmitting device configured to:
divide a host data set into a plurality of blocks, wherein a block of the plurality of blocks comprises a plurality of pixels, each pixel having an odd or even number position;
shuffle the plurality of pixels in the block having the odd number position according to a first shuffling scheme;
shuffle the plurality of pixels in the block having the even number position according to a second shuffling scheme;
generate a pattern connecting the plurality of pixels in the block at least once to embed data; and
responsive to the pattern generation:
embed data in a least significant bit of each pixel of the plurality of pixels in the block based on the pattern,
alter the least significant bit of each pixel of the plurality of pixels in the block in response to a binary value of the data differing from a value of the least significant bit, and
transmit the pattern to a hardware receiving device.
5. The computing device of claim 4 , wherein the hardware receiving device is configured to:
receive the host data set, the first and second shuffling scheme and a pattern code;
determine the pattern based on the pattern code and the first and second shuffling scheme; and
apply the pattern to the host data set to extract the embedded data from the host data set.
6. A computing device comprising:
a hardware receiving device configured to:
receive a host data set and a pattern code;
determine a pattern based on the pattern code, the pattern connecting a plurality of pixels in a block at least once to embed data, each pixel of the plurality of pixels having an odd or even number position,
wherein the plurality of pixels having the odd number position are shuffled according to a first shuffling scheme, and
wherein the plurality of pixels having the even number position are shuffled according to a second shuffling scheme;
apply the pattern to the host data set to extract embedded data from a least significant bit of each pixel that the pattern connects in the block; and
recover the embedded data.