IP Library Granted Patent US 9,336,784
Granted Patent B2
US 9,336,784 · App. 14/685,984 · Granted May 10, 2016

Apparatus, system and method for merging code layers for audio encoding and decoding and error correction thereof

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,336,784
App. No.
14/685,984
Granted
May 10, 2016
Kind
B2
Abstract

Apparatus, system and method for encoding and decoding ancillary code for digital audio, where multiple encoding layers are merged. The merging allows a greater number of ancillary codes to be embedded into the encoding space, and further introduces efficiencies in the encoding process. Utilizing certain error correction techniques, the decoding of ancillary code may be improved and made more reliable.

Claims (81)

1. A method, comprising:

collecting an encoded audio signal containing multiple synchronized layers of data symbols;

converting, with a processor, a first set of audio samples in the encoded audio signal to a first frequency domain representation that includes substantially single-frequency code components having corresponding frequency component values;

generating, with the processor, based on characteristics of the frequency component values, streams of symbol values corresponding to a set of the data symbols that may have been encoded in the encoded audio signal, the data symbols corresponding to respective subsets of the substantially single-frequency code components;

accumulating, with the processor, the streams of the symbol values;

detecting, with the processor, a presence of a first one of the data symbols from the accumulated streams of symbol values in a first one of the synchronized layers by matching a first one of the accumulated streams of symbol values to a first one of the subsets of the substantially single-frequency code components;

detecting, with the processor, a presence of a second one of the data symbols from the accumulated streams of symbols values in a second one of the synchronized layers by matching a second one of the accumulated streams of symbols values to a second one of the subsets of the substantially single-frequency code components; and

determining, with the processor, message contents of the synchronized layers in the encoded audio signal based on the presence of the first one of the data symbols in the first one of the synchronized layers and based on the presence of the second one of the data symbols in the second one of the synchronized layers.

2. A method as defined in claim 1 , wherein the data symbols respectively correspond to different ones of multiple non-overlapping subsets of the substantially single-frequency code components, and detecting of the presence of the first one of the data symbols includes comparing signal to noise ratio values of a first one of the non-overlapping subsets of the substantially single-frequency code components to a threshold.

3. A method as defined in claim 1 , wherein the generating of the streams of symbol values includes:

calculating first characteristic values from the frequency component values for respective ones of the substantially single-frequency code components in a first one of the sets of the substantially single-frequency code components that corresponds to a first one of the data symbols; and

calculating second characteristic values from the frequency component values for respective ones of the substantially single-frequency code components in a second one of the sets of the substantially single-frequency code components that corresponds to a second one of the data symbols.

4. A method as defined in claim 3 , further including converting a second set of audio signal samples in the encoded audio signal to a second frequency domain representation that includes second frequency component values corresponding to the substantially single-frequency code components, the generating of the streams of symbol values including:

calculating third characteristic values from the second frequency component values for respective ones of the substantially single-frequency code components in the first one of the sets of the substantially single-frequency code components; and

calculating fourth characteristic values from the second frequency component values for respective ones of the substantially single-frequency code components in the second one of the sets of the substantially single-frequency code components.

5. A method as defined in claim 4 , wherein the accumulating of the streams of symbol values includes adding the first characteristic values and the third characteristic values to generate a first one of the accumulated streams of symbol values, and adding the second characteristic values to the fourth characteristic values to generate a second one of the accumulated streams of symbol values.

6. A method as defined in claim 3 , wherein the calculating of the first characteristic values includes:

determining a first energy of a first one of the substantially single-frequency code components that corresponds to the first one of the data symbols;

determining a total energy of a subset of the substantially single-frequency code components including the first one of the substantially single-frequency code components; and

calculating the first characteristic as a signal to noise ratio as the ratio between the first energy and the total energy.

7. A method as defined in claim 1 , wherein the detecting of the presence of the first one of the data symbols from the accumulated streams of symbol values includes comparing the first one of the accumulated streams of symbol values to a first set of characteristics that are representative of a synchronization symbol, the synchronization symbol being one of the data symbols.

8. A method as defined in claim 7 , wherein the detecting of the presence of the second one of the data symbols from the accumulated streams of symbol values includes comparing the second one of the accumulated streams of symbol values to a second set of characteristics that are representative of a second one of the data symbols, the method further including:

detecting a presence of a third one of the data symbols from the accumulated streams of symbol values based on a second set of audio signal samples occurring after the first set of audio signal samples;

detecting a presence of a fourth one of the data symbols from the accumulated streams of symbol values based on the second set of audio signal samples;

determining a first offset between a value of the synchronization symbol and a value of the second one of the symbols;

determining a second offset between a value of the third one of the data symbols and a fourth one of the data symbols; and

when the first offset is not equal to the second offset, performing error correction on at least one of the first, second, third, or fourth ones of the data symbols.

9. A decoder, comprising:

a first decoder circuit to collect an encoded audio signal containing multiple synchronized layers of data symbols and to convert a first set of audio signal samples in the encoded audio signal to a first frequency domain representation that includes single-frequency code components having corresponding frequency component values;

a second decoder circuit to generate, based on characteristics of the frequency component values, streams of symbol values corresponding to a set of the data symbols that may have been encoded in the encoded audio signal, the data symbols corresponding to respective subsets of the substantially single-frequency code components;

a third decoder circuit to accumulate the streams of symbol values; and

a fourth decoder circuit to:

detect a presence of a first one of the data symbols from the accumulated streams of symbol values in a first one of the synchronized layers by matching a first one of the accumulated streams of symbol values to a first one of the subsets of the substantially single-frequency code components;

detect a presence of a second one of the data symbols from the accumulated streams of symbols values in a second one of the synchronized layers by matching a second one of the accumulated streams of symbols values to a second one of the subsets of the substantially single-frequency code components; and

determine message contents of the synchronized layers in the encoded audio signal based on the presence of the first one of the data symbols in the first one of the synchronized layers and based on a presence of the second one of the data symbols in the second one of the synchronized layers.

10. A decoder as defined in claim 9 , wherein the data symbols correspond to a different respective one of multiple non-overlapping subsets of the substantially single-frequency code components, and the fourth decoder circuit is to detect the presence of the first one of the data symbols by comparing signal to noise ratio values of a first one of the non-overlapping subsets of the substantially single-frequency code components to a threshold.

11. A decoder as defined in claim 9 , wherein the second decoder circuit is to generate the streams of symbol values by:

calculating first characteristic values from the frequency component values for respective ones of the substantially single-frequency code components in a first one of the sets of the substantially single-frequency code components that corresponds to a first one of the data symbols; and

calculating second characteristic values from the frequency component values for respective ones of the substantially single-frequency code components in a second one of the sets of the substantially single-frequency code components that corresponds to a second one of the data symbols.

12. A decoder as defined in claim 11 , wherein the first decoder circuit is to convert a second set of audio signal samples in the encoded audio signal to a second frequency domain representation that includes second frequency component values corresponding to the substantially single-frequency code components, and the second decoder circuit is to generate of the streams of symbol values by:

calculating third characteristic values from the second frequency component values for respective ones of the substantially single-frequency code components in the first one of the sets of the substantially single-frequency code components; and

calculating fourth characteristic values from the second frequency component values for respective ones of the substantially single-frequency code components in the second one of the sets of the substantially single-frequency code components.

13. A decoder as defined in claim 12 , wherein the third decoder circuit is to accumulate the streams of symbol values by adding the first characteristic values and the third characteristic values to generate a first one of the accumulated streams of symbol values, and adding the second characteristic values to the fourth characteristic values to generate a second one of the accumulated streams of symbol values.

14. A decoder as defined in claim 11 , wherein the second decoder circuit is to calculate the first characteristic values by:

determining a first energy of a first one of the substantially single-frequency code components that corresponds to the first one of the data symbols;

determining a total energy of a subset of the substantially single-frequency code components including the first one of the substantially single-frequency code components; and

calculating the first characteristic as a signal to noise ratio as the ratio between the first energy and the total energy.

15. A decoder as defined in claim 9 , wherein the fourth decoder circuit is to detect the presence of the first one of the data symbols from the accumulated streams of symbol values by comparing the first one of the accumulated streams of symbol values to a first set of characteristics that are representative of a synchronization symbol, the synchronization symbol being one of the data symbols.

16. A decoder as defined in claim 15 , wherein the fourth decoder circuit is to detect the presence of the second one of the data symbols from the accumulated streams of symbol values by comparing the second one of the accumulated streams of symbol values to a second set of characteristics that are representative of a second one of the data symbols, the fourth decoder circuit further to:

detect a presence of a third one of the data symbols from the accumulated streams of symbol values based on a second set of audio signal samples occurring after the first set of audio signal samples;

detect a presence of a fourth one of the data symbols from the accumulated streams of symbol values based on the second set of audio signal samples;

determine a first offset between a value of the synchronization symbol and a value of the second one of the data symbols;

determine a second offset between a value of the third one of the data symbols and a fourth one of the data symbols; and

when the first offset is not equal to the second offset, performing error correction on at least one of the first, second, third, or fourth ones of the data symbols.

17. An article of manufacture comprising computer readable instructions which, when executed, cause a processor to at least:

collect an encoded audio signal containing multiple synchronized layers of data symbols;

convert a first set of audio samples in the encoded audio signal to a first frequency domain representation that includes substantially single-frequency code components having corresponding frequency component values;

generate, based on characteristics of the frequency component values, streams of symbol values corresponding to a set of the data symbols that may have been encoded in the encoded audio signal, the data symbols corresponding to respective subsets of the substantially single-frequency code components;

accumulate the streams of the symbol values; and

detect a presence of a first one of the data symbols from the accumulated streams of symbol values in a first one of the synchronized layers by matching a first one of the accumulated streams of symbol values to a first one of the subsets of the substantially single frequency code components;

detect a presence of a second one of the data symbols from the accumulated streams of symbols values in a second one of the synchronized layers by matching a second one of the accumulated streams of symbols values to a second one of the subsets of the substantially single-frequency code components; and

determine message contents of the synchronized layers in the encoded audio signal based on the presence of the first one of the data symbols in the first one of the synchronized layers and based on the presence of the second one of the data symbols in the second one of the synchronized layers.

18. An article of manufacture as defined in claim 17 , wherein the data symbols respectively correspond to different ones of multiple non-overlapping subsets of the substantially single-frequency code components, and the instructions are further to cause the processor to detect the presence of the first one of the data symbols by comparing signal to noise ratio values of a first one of the non-overlapping subsets of the substantially single-frequency code components to a threshold.

19. An article of manufacture as defined in claim 17 , wherein the instructions are to cause the processor to generate the streams of symbol values by:

calculating first characteristic values from the frequency component values for respective ones of the substantially single-frequency code components in a first one of the sets of the substantially single-frequency code components that corresponds to a first one of the data symbols; and

calculating second characteristic values from the frequency component values for respective ones of the substantially single-frequency code components in a second one of the sets of the substantially single-frequency code components that corresponds to a second one of the data symbols.

20. An article of manufacture as defined in claim 19 , wherein the instructions are further to cause the processor to convert a second set of audio signal samples in the encoded audio signal to a second frequency domain representation that includes second frequency component values corresponding to the substantially single-frequency code components, and the instructions are to cause the processor to generate of the streams of symbol values by:

calculating third characteristic values from the second frequency component values for respective ones of the substantially single-frequency code components in the first one of the sets of the substantially single-frequency code components; and

calculating fourth characteristic values from the second frequency component values for respective ones of the substantially single-frequency code components in the second one of the sets of the substantially single-frequency code components.

21. An article of manufacture as defined in claim 20 , wherein the instructions are to cause the processor to accumulate the streams of symbol values by adding the first characteristic values and the third characteristic values to generate a first one of the accumulated streams of symbol values, and adding the second characteristic values to the fourth characteristic values to generate a second one of the accumulated streams of symbol values.

22. An article of manufacture as defined in claim 19 , wherein the instructions are to cause the processor to calculate the first characteristic values by:

determining a first energy of a first one of the substantially single-frequency code components that corresponds to the first one of the data symbols;

determining a total energy of a subset of the substantially single-frequency code components including the first one of the substantially single-frequency code components; and

calculating the first characteristic as a signal to noise ratio as the ratio between the first energy and the total energy.

23. An article of manufacture as defined in claim 17 , wherein the instructions are to cause the processor to detect the presence of the first one of the data symbols from the accumulated streams of symbol values by comparing the first one of the accumulated streams of symbol values to a first set of characteristics that are representative of a synchronization symbol, the synchronization symbol being one of the data symbols.

24. An article of manufacture as defined in claim 23 , wherein the instructions are to cause the processor to detect the presence of the second one of the data symbols from the accumulated streams of symbol values by comparing the second one of the accumulated streams of symbol values to a second set of characteristics that are representative of a second one of the data symbols, and the instructions are further to cause the processor to:

detect a presence of a third one of the data symbols from the accumulated streams of symbol values based on a second set of audio signal samples occurring after the first set of audio signal samples;

detect a presence of a fourth one of the data symbols from the accumulated streams of symbol values based on the second set of audio signal samples;

determine a first offset between a value of the synchronization symbol and a value of the second one of the data symbols;

determine a second offset between a value of the third one of the data symbols and a fourth one of the data symbols; and

when the first offset is not equal to the second offset, performing error correction on at least one of the first, second, third, or fourth ones of the data symbols.

Assignments (10)
RELEASE (REEL 054066 / FRAME 0064) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063605/0001 →
RELEASE (REEL 053473 / FRAME 0001) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063603/0001 →
SECURITY INTEREST Recorded May 8, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: ARES CAPITAL CORPORATION
Reel/Frame 063574/0632 →
SECURITY INTEREST Recorded Apr 28, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: CITIBANK, N.A.
Reel/Frame 063561/0381 →
SECURITY AGREEMENT Recorded Jan 31, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 063560/0547 →
RELEASE (REEL 037172 / FRAME 0415) Recorded Oct 13, 2022
From: CITIBANK, N.A.
To: THE NIELSEN COMPANY (US), LLC
Reel/Frame 061750/0221 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENTS LISTED ON SCHEDULE 1 RECORDED ON 6-9-2020 PREVIOUSLY RECORDED ON REEL 053473 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SUPPLEMENTAL IP SECURITY AGREEMENT. Recorded Oct 7, 2020
From: A.C. NIELSEN (ARGENTINA) S.A.; A.C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A
Reel/Frame 054066/0064 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded Jun 9, 2020
From: A. C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NIELSEN UK FINANCE I, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A.
Reel/Frame 053473/0001 →
SUPPLEMENTAL IP SECURITY AGREEMENT Recorded Nov 30, 2015
From: THE NIELSEN COMPANY ((US), LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT FOR THE FIRST LIEN SECURED PARTIES
Reel/Frame 037172/0415 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2015
From: LYNCH, WENDELL; STAVROPOULOS, JOHN; GISH, DAVID; NEUHAUSER, ALAN
To: THE NIELSEN COMPANY (US), LLC
Reel/Frame 035623/0758 →