US 9,813,725 B1
System, method, and computer program for encoding and decoding a unique signature in a video file
Tang Fei Yu, Tsuen Wan (HK); and Omar Rabbolini, Ma Wan (HK)
Assigned to GoAnimate, Inc., San Mateo, CA (US)
Filed by GoAnimate, Inc., San Mateo, CA (US)
Filed on Nov. 12, 2015, as Appl. No. 14/939,612.
Int. Cl. G06K 9/00 (2006.01); H04N 19/467 (2014.01); G06T 11/60 (2006.01); H04N 21/8352 (2011.01); H04N 19/42 (2014.01); G10L 19/018 (2013.01)
CPC H04N 19/467 (2014.11) [G06K 9/00744 (2013.01); G06T 11/60 (2013.01); H04N 19/42 (2014.11); H04N 21/8352 (2013.01); G10L 19/018 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for encoding and decoding a unique signature for a user in a video file, wherein the video file was created using a video format that does not support embedding a unique signature in the video file and wherein the video file includes an audio track, the method comprising:
encoding a unique signature into a video file by performing the following:
associating a unique sequence of data bits with a user;
dividing the sequence of data bits into a plurality of sequential groups, wherein each group is associated with a sequence number and wherein each group includes one or more sequence number bits and one or more data bits;
for each group, creating a different sine wave for each bit in the group having a non-zero value, wherein each of the sine waves has (1) a frequency that represents whether the bit is a sequence number bit or a data bit, and, if there is more than one sequence number bit or data bit in the group, which sequence number or data bit and (2) an amplitude that represents the value of the bit;
for each group, creating a group signal by combining the sine waves of the group, wherein the frequency of each group signal is in the infrasound range;
removing frequencies below the infrasound range from an audio track in the video file;
overdubbing the group signals onto the audio track, wherein gaps are left between the groups and wherein the group signals are not detectable to a person during play of the video file; and
decoding the unique signature from the video file by performing the following:
removing signals with frequencies above the infrasound range from the audio track of the video file;
identifying each of the group signals in the remaining audio track using gaps in the remaining audio track to distinguish between groups;
deconstructing each group signal into individual sine waves;
identifying the individual sine waves in each group having frequencies corresponding to the frequencies of the sine waves used in the encoding step to represent the data bits and the sequence number bits;
for each group, ascertaining the value of each sequence number bit and each data bit in the group from the amplitude of the sine waves having frequencies corresponding to said bits;
determining the sequence number of each group from the value of the sequence number bits; and
recreating the sequence of data bits by concatenating the data bits in the groups in order of the sequence numbers of the groups.