ROBUST CODE / DATA HIDING METHOD AGAINST ANALOG TRANSMISSION (OVER THE AIR) FOR DIGITAL AUDIO
20220368450 · 2022-11-17
Inventors
- Ismail ERTÜRK (Basiskele, TR)
- Yildiray YALMAN (Körfez, TR)
- Necla BANDIRMAL ERTÜRK (Basiskele, TR)
- Mehmet YAKUT (Basiskele, TR)
- Cem Cihangir ÜstÜN (Ankara, TR)
- Mahmut OGURLU (Bayrampasa, TR)
Cpc classification
G06K19/0728
PHYSICS
H04K1/04
ELECTRICITY
International classification
Abstract
The present invention is relates a robust code/data hiding method against analog transmission (over the air) for digital audio, secret code/data hiding component to digital audio file and extracting the hidden code/data from the covered sound, which a digital audio where a secret code/data is embedded is played from the loudspeakers in any environment and media player, the digital audio is received by the user mobile phone or mobile device microphone without being affected by the distorting effects of the analog transmission medium and the noise in any way, enabling follow-up information based on user interaction and user product experience. The present invention can be used in many areas such as the participation of users in a campaign via mobile phone, increasing the TV/radio viewing rate (rating) & follow-ups, copyright tracking & management, participating in sweepstakes, distributing instant coupons, authentication and delivering advertisements to target customer groups.
Claims
1. The invention which relates to a computer, television, radio, mobile phone etc. of a digital voice in which the secret code/data is overlaid and information based on user interaction and user product experience, after the digital sound in question is played with the mobile phone microphone after being played through the speaker in any music and sound system without being affected by the distorting effects of the analog transmission environment and noise by offering the possibility of valuable information acquisition, characterized in that; An input to the code/data, An input cover voice (way etc. format audio) file, An input Marker signal frequency, An input Logic-0 level corresponding to the signal frequency, An input Logic-1 level corresponds to the signal frequency, Windowing process, Sampling process, Gain control, To the loading process, Scrolling process, Trigger (clock) operation, FFT transaction, IFFT transaction, Filtering process and An output is that the implicit audio (way etc.) containing the secret code/data.
2. Method according to claim 1, characterized in that the covered voice is transmitted from the speaker.
3. Method according to claim 1, characterized in that the feature of which is implicit voice for mobile phone etc. is that a device is being received with a microphone.
4. Method according to claim 1, characterized in that by mobile phone etc. the implicit sound being received by a device microphone is 256 samples.
5. Method according to claim 1, characterized in that wherein the covered voice is processed in real time.
6. Method according to claim 1, characterized in that the covered sound is processed in real time to remove the analog medium (speaker-to-microphone airborne sound transmission medium) against the distorting effects.
7. Method according to claim 1, characterized in that the method is used for detecting the pointer and starting detection.
8. Method according to claim 1, characterized in that the starting point shifting is performed in said method.
9. Method according to claim 1, characterized in that the code/data bits are decoded.
10. Method according to claim 1, characterized in that the covered medium is transmitted as RF, satellite, direct connection or broadcast.
11. Method according to claim 1, characterized in that it has control sequence and accuracy test generators.
12. Method according to claim 1, characterized in that the marker has 256 sampling of logic-0 level and logic-1 level signals.
13. The marker according to claim 12, characterized in that wherein the logic-0 level and logic-1 level signals are defined by their 19 frequency values.
14. Method according to claim 1, characterized in that has 256 sample pointers, 1, 0 and space sequences.
15. Method according to claim 1, characterized in that the pointer frame has a selector for adding data bits and a space frame.
16. The pointer frame according to claim 15, characterized in that wherein the data bits are in the 58-bit frame.
17. The frame according to claim 16, characterized in that; 1 Bit Marker, 16 Bit Country Code, 16 Bit Company Code, 16 Bit Campaign Code, 8 Bit Accuracy Test Code and It has 1 bit empty frame.
18. Method according to claim 1, characterized in that; A mobile phone/device microphone, A 512 sample buffer, An input cover voice, A covered digital voice, Narrow band filters for Pointer, Logic 1 and Logic 0, A bandpass filter, A multivibrator, Absolute value receivers and low-pass filters, Comparators, FFT transaction, A threshold level input, A data start output, A data output set, A valid data output, A data reading input, Data outputs, It contains a data integrity output.
19. Method according to claim 1, characterized in that the decoding logic component provides secret code/data integrity and reliability with a shifted sequential control (SSC) and accuracy test control (CSC).
20. Method according to claim 1, characterized in that the implicit voice analysis and secret code/data decoding components are performed in the processor in the mobile application of the said method.
21. Method according to claim 1, characterized in that the mobile application of the said method includes the mobile application icon and the covered voice receiving and the covered voice processing button.
22. Method according to claim 1, characterized in that it includes a computerized web server, database, big data structure and data analysis that are configured as integrated with the cloud network.
23. A computerized web server configured in integration with the cloud network according to claim 22, characterized in that it includes general system management, user web panel application and interface.
24. The web panel application and interface according to claim 23, characterized in that; Active campaigns, Campaign editing and Adding a new campaign fields
Description
DESCRIPTION OF THE FIGURES
[0015] The figures for the robust code/data hiding method against analog transmission (over the air) for digital audio, together with a web system, which is integrated with mobile phone (device) interaction and media players are shown below.
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029] The figures for the sample application areas of the developed robust code/data hiding method against analog transmission (over the air) for digital audio are shown below.
[0030]
[0031]
[0032]
DESCRIPTION OF THE REFERENCE NUMBERS IN THE FIGURES
[0033] The reference numbers shown on the figures of the robust code/data hiding method against analog transmission (over the air) for digital audio are described below: [0034] 100. Cover audio file [0035] 101. 44.100 Hz sampling [0036] 102. Windowing [0037] 103. FFT (FastFourierTransform) [0038] 104. Hidden code/data bits (D.sub.N-1-D.sub.0) [0039] 105. Process [0040] 106. FFT (Inverse Fast Fourier Transform) [0041] 107. Filtering [0042] 108. Covered digital audio output [0043] 200. Gain control [0044] 201. Windowed signal outputs [0045] 202. f.sub.M pointer signal input [0046] 203. f.sub.1 logic 1 level signal input [0047] 204. f.sub.0 logic 0 level signal input [0048] 205. Not logic gate [0049] 206. Control array, verification test and generator [0050] 207. f 44.100 Hz/512 clock (clk) signal [0051] 208. QSO shift register output (ShiftOut) [0052] 209. Q.sub.M pointer (Marker) output [0053] 210. Q.sub.DB code/data/space (Data Bits) output [0054] 211. Q.sub.W window output [0055] 212. LD load input [0056] 300. Valid data outputs [0057] 301. Empty frame [0058] 400. 256 sampled sound [0059] 500. Audio frequency zone in the audible band [0060] 501. 19 signal frequency values [0061] 600. Sound spectrum outside the working area of the method [0062] 700. Cover file (way array) [0063] 701. Obtaining 256-sample [0064] 702. Creating 256-sample blocks [0065] 703. 256-sample 19.464 Hz “Marker” series creation [0066] 704. 256-sample 18.604 Hz “0” series creation [0067] 705. 256-sample 20.324 Hz “1” series creation [0068] 706. 256-sample “Space” series creation [0069] 707. Marker frame, code/data bits, and space frame adding (ShiftRegister) selector [0070] 708. Selecting one of the 4 positions [0071] 709. Code/data hidden way array (covered file) [0072] 710. Original way FFT [0073] 711. “Marker” added FFT [0074] 712. “0” added FFT [0075] 713. “1” added FFT [0076] 714. “Space” added FFT [0077] 715. Process [0078] 800. Frame Markerpart (1 Bit) [0079] 801. Frame Country Code part (16 Bit) [0080] 802. Frame Firm Code part (16 Bit) [0081] 803. Frame Campaign Code part (16 Bit) [0082] 804. Frame Cyclic Redundancy Check (CRC) part (8 Bit) [0083] 805. Empty Frame part (1 Bit) [0084] 900. Microphone (mobile device/phone) [0085] 901. 512-sample buffer [0086] 902. Obtaining 256-sample blocks (frame0 and frame1) [0087] 903. Pointer detection [0088] 904. Pointer start detection [0089] 905. Code/data bits resolving [0090] 906. Code/data bits output [0091] 1000. Covered/coded sound V.sub.KS (t) [0092] 1001. Narrow band filter (f.sub.M “Marker”) V.sub.MDB (t) [0093] 1002. Narrow band filter (f.sub.1 “1”) V.sub.1DB (t) [0094] 1003. Narrow band filter (f.sub.0 “0”) V.sub.0DB (t) [0095] 1004. Bandpass filter V.sub.BG (t) [0096] 1005. Single shot repeat trigger multivibrator [0097] 1006. Absolute value and low pass filter V.sub.1DB (t) [0098] 1007. Absolute value and low pass filter V.sub.0DB (t) [0099] 1008. Absolute value and low pass filter V.sub.BG (t) [0100] 1008. Threshold (Th) [0101] 1009. Power amplifier (k) [0102] 1010. Comparator [0103] 1011. Process [0104] 1012. 0.5 constant input [0105] 1013. Data start (DS) [0106] 1014. Data output [0107] 1015. Valid Data [0108] 1016. Decoding logic component [0109] 1017. Reading data (RD) [0110] 1018. Data outputs (D.sub.N-1-D.sub.0) [0111] 1019. Data integrity information (DOK) [0112] 1100. Computerized code/data hiding component [0113] 1101. Audio encoder [0114] 1102. Cloud network (network) [0115] 1103. Data analytics [0116] 1104. Big data [0117] 1105. Database [0118] 1106. Web server [0119] 1107. Web browser (mobile device) [0120] 1108. Mobile phone (device) application [0121] 1109. Hidden code/data decoding component [0122] 1110. Mobile phone (device) [0123] 1111. Multimedia player [0124] 1112. Loudspeaker [0125] 1113. Covered sound output [0126] 1114. Covered media broadcast over RF, satellite, direct or internet [0127] 1200. Covered sound pickup & covered sound processing component [0128] 1201. Covered audio analysis and hidden code/data decoding components [0129] 1202. Mobile phone (device) screenshot [0130] 1203. Covered sound pickup & covered sound processing button [0131] 1204. Mobile application icon [0132] 1300. Computer [0133] 1301. Keyboard [0134] 1302. Mouse [0135] 1303. Monitor [0136] 1304. Web browser [0137] 1305. General system management, campaign management and data presentation web panel & webapp [0138] 1306. Adding a new campaign (code/data—url matching definition) [0139] 1307. Campaign editing (code/data—url matching change) [0140] 1308. Active Campaigns (data representation) [0141] 1400. Process timing (tn) [0142] 1500. A customized device that can receive covered sound (appliance) [0143] 1600. Covered sound broadcast medium
[0144] The invention is generally about obtaining information based on user (audience/audience), user interaction and user product experience from private or public audio or multimedia broadcasts made via computer, television, radio, mobile phone, music and voice systems. In particular, it concerns the realization of code/confidential data transmission over the air (speaker to microphone) in noisy environments within audio or multimedia signals. As explained in detail in
[0145] Invention: Within the scope of the general system architecture, which is shown in
[0146] For example; the applications of the invention in
[0147] The invention technically consists of two main subcomponents. In
[0148] Code/Data Hiding Component: After the cover sound file (100), which is transmitted over the air, is obtained in digital environment, numerical data in the frequency band over the hearing frequency limits are superimposed as narrow band frequency regions. The method used is based on the sequential addition of code/data bits to the frequency values on the hearing region boundaries in the spectrum using Fast Fourier Transform—FFT (103) and InverseFastFourier Transform—IFFT (106) with the sampling frequency of 44100 Hz (101) and above. First, a pilot signal for synchronization is superimposed on the sound segment consisting of 128/256 samples, the secret code/data bits (104) to be added for subsequent sound blocks and then the signals of the control bit are added.
[0149] Naturally, the intermittent overlay of frequency components not found in the sound on the spectrum leads to a disruptive effect that can be expressed as “sizzling” and audible by the human ear, even outside the hearing site boundaries. Therefore, filtering 107 is performed to soften these artificial noises, which become audible due to sudden transitions after the overlay. The general block diagram of the computerized code/data hiding process that can be realized with the use of signal processing tools is shown in
[0150] Marker signal frequency is 19464 Hz, numerical buried data signal frequencies are determined as f.sub.1 logic 1 level signal input (203) to the right of this marker signal frequency and f.sub.0 logic 0 level signal input (204) to its left. Each coefficient obtained as a result of the FFT process;
[0151] It has a frequency value of 44100/256=172,265 Hz.
[0152] Marker signal frequency; (44100/2)−(15×172,265)=19464 Hz,
[0153] The signal frequency values for binary (0 or 1) values that compose the code/hidden data are;
(44100/2)−(10×172,265)=18604 Hz and (44100/2)−(20×172,265)=20324 Hz.
[0154] The marker frequency, the general audio spectrum, that is, the audio frequency region (500) in the audible band and the working frequency region of the invention, and 19 signal frequency values (501) used in the scope of the invention are presented in
[0155] 19 different frequency values and working frequency region of the method selected for overlaying within the code/data hiding method are shown in
[0156] Each frequency scheme (triple group) can be used for a different application. For each frequency scheme, a different named mobile application can be developed, or a mobile application can be used to decode hidden data by using specified signal frequency scheme.
[0157] In the receiver application, a Marker signal other than the code/data bits signals to be hidden is used just before the binary code/data bits for easy and reliable code/data analysis; f.sub.M=19464 Hz.
[0158] Sine signals are used to the right and left of the Marker signal frequency (±5×Δf) for binary code/data bits to be hidden. In other words;
19464 Hz−(5×171,265 Hz)=18604 Hz for “0” and
19464 Hz+(5×171,265 Hz)=20324 Hz for “1”.
[0159] The 256-sample sine signal is shown in
[0160] The pseudo code of the method of hiding the code/data bits into the “way” audio file data array presented in
TABLE-US-00001 data = 45 file = read_wav(...) fs = 256 index = 0 frameM = 256 samples 19 Khz windowed sinus array (marker) frame0 = 256 examples 18 Khz windowed sinus array (′0′) frame1 = 256 samples 20 Khz windowed sinus array (′1′) loop: bit_no = 0 file (index) = file (index) + frameM (Add marker array from index) add: index = index + fs (move index to next frame) if (data (bit_no) == 1) (add frame 1 if the data bit is “1”) file (index) = file (index) + frame1 else file (index) = file (index) + frame0 bit_no = bit_no + 1 (move to next code / data bit) if (bit_no<8) goto add (“add” until the last code / data bit is added) index = index + fs (skip one frame, leave empty) while (file (index) goto loop: (until the ″wav″ file reaches the end add as much code / data to the array - many times) write_wav (file) (save encoded file covered sound)
[0161] The frame format used in the code/data hiding method is shown in
[0164] With this method, 3 codes can be carried in 1 second voice (data can be hidden).
[0165] Code/Data Decoding Component: The code/data extraction and decoding method components from over the air covered sound are shown in
[0166] Microphone (900) of the mobile device/phone audio input is sampled at 44100 Hz. 512 sample buffers (901) are sampled to start. The first 256 samples of this block are taken and FFT is tested to see if the amplitude in the Marker frequency (19464 KHz) exceeds the predefined threshold value. If the threshold is exceeded, this may be a Marker signal. In this case, the starting point of the reference position of the Marker in the frame must be found. In order to synchronize with the code/data bits in time, FFTs are calculated on the existing 512 block of 64 samples right and left of 128 blocks of the first 256 blocks. Whether the marker frequency amplitude is higher on the right or left, 64 samples are headed in that direction, then FFTs are calculated for 32 right and left of this direction. In which direction the Marker frequency amplitude is higher 32 samples on the right or left, in that direction proceeded. Similarly, progress is continued up to 8, dividing by 2 at each step. As a result, a maximum of 8 samples will have the approximate slip and the location of the Marker (reference point). In this case, the data bits will start 256 samples ahead of the starting point. In addition to existing 512 samples, another 256 samples are collected for each bit and the data bits are detected in similar manner. In other words, some of the code/data bits are in this new blocks.
[0167] For the next block of 256 samples from the marker starting sample, FFT is performed and the frequency component amplitudes are examined 5×Δf left and 5×Δf right (18604 Hz and 20324 Hz) of the marker frequency. If amplitude of the component on the left is larger than amplitude of the component on the right and above the default threshold level, the data bit for that block is “0”. If amplitude of the component on the right (20324 Hz) is greater than amplitude of the component on the left (18604 Hz) and is above the default threshold level, the data bit of the block is “1”. If amplitude of the larger component does not exceed the predefined threshold value, the Marker may be detected incorrectly, the data format is incompatible, or data is hidden in a different system (or the mobile device/phone microphone, the hidden sound source is too far from the speaker being played). In this case, Marker detection process is restarted. If the code/data bit is found and having sufficiently high amplitude, 256 new samples are sampled for the analysis of the next bits, and the process continues until 8 bits are completed. In the 256-element block at the end of 8 bits, both the Marker and the data bits should not be present (code silence interval).
[0168] If this condition is also met, the data is considered valid as shown in
[0169] An example of this is the Goertzel algorithm. In addition, frequency estimation techniques can be used with different approaches (instead of FFT) (e.g., periodogram—spectral density estimation). The pseudo code for the secret code/data extraction component from the overlaid (over-the-air) covered voice is given below (on the next page):
TABLE-US-00002 marker_start = 0 fs = 256 start: cnt = fs / 2 sht = cnt / 2 frame0 = new 256 examples frame1 = new 256 examples Repeat: Af ( ) = FFT (frame0 (0)) (Search marker) search: if (Af (m) <th) frame0 = frame1, (frame1 = new 256 examples) if (keep searching) goto again elsegoto end elseALf ( ) = FFT (frame0) cnt−sht) (If Marker signal is detected If ARf ( ) = FFT (frame0) cnt + sht) search starting block) if (ALf (m)>ARf (m)) cnt = cnt−sht elsecnt = cnt + sht sht = sht / 2 if (sht<8) goto search marker_start = cnt, bit_no = 0, data = 0 marker frame0 (0) = frame0 (marker start) ... ... ... 256 elements copy 0. bit data frame1 (0) = frame1 (marker start) ... ... ... 256 elements copy bit_loop: ADf ( ) = FFT (frame1 (0)) (... binary 8 bit data is obtained) ifADf (m−5)>ADf (m + 5) data (bit_no) = 0 else data (bit_no) = 1 frame0 = frame1 frame (marker_start) = new sample (256) if (bit_no<8) gotobit_loop data: There is embedded code in 8 bit audio process the data ... goto start
[0170] As shown in
[0171] Mobile Application: The general scheme of mobile device application, including the hidden code/data extraction component, is presented in
[0172] Covered voice analysis and hidden code/data decoding (1201) are performed by taking the covered sound via the mobile telephone microphone (900) and processing it with the covered voice receiving and processing component block (1200). Invention's hidden voice analysis and hidden code/data decoding (1201) subcomponents can be realized by means of mobile phone hardware and operating system features, programming tools with libraries especially containing FFT operations. Using the single tap mobile application icon (1204) on the mobile phone (device) screen (1202), the code/data decoding component is activated instantly (in real time) by starting the covered voice receiving. After detection of valid hidden code in the sound mobile device application (1108) interacts with web server (1106). Mobile device application (1108) can be realized on different mobile application development platforms by considering mobile device operating systems (iOS, Android etc.).
[0173] Web Management and Presentation Panel: The general web panel, software and sub-components of the data presentation are shown in
[0174] By means of the general system management web panel software, campaign management and data presentation (1305), general system management, ad campaign participation and monitoring of the code/data hiding method, sample application model management and data presentation are realized. Campaign definition, which is hiding the code/data equivalent of the cover sound file, is made in the component (code/data—url matching definition) (1306) and when necessary, campaign editing (code/data—url matching change) can be made from the component (1307). All active campaigns can be tracked in the active campaigns (data representation) section (1308) to visualize the interactions of users and for data analysis.
[0175] Three preferred application structures for the operation and systematic use of the invention in relation to the computerized code/data hiding, resistant to air transmission of the voice are shown in
[0176] The general system, which is one of the application areas of the invention, and the preferred advertising campaign application processes are presented in
[0177] With another preferred embodiment, the exemplary usage of the invention is shown in
[0178] In
APPLICABILITY TO INDUSTRY
[0179] The invention can be used in a wide range of industries ranging from security to entertainment, from authentication to copyright protection. Automatically generate TV/radio/channel view statistics, promote broadcast views, analyze radio/TV ad effectiveness and cost analysis, copyright and activity tracking, participation in campaigns, participation in surveys, participation in sweepstakes, participation in voting, coupon distributions, multimedia file stamping and general or customized identity can be used in verification fields and customer (user) interactivity.