IP Library Granted Patent US 9,613,660
Granted Patent B2
US 9,613,660 · App. 14/245,882 · Granted Apr 4, 2017

Layered audio reconstruction system

Inventors: Mark Rogers Johnson (Pasadena, CA); Phillip L. Maness (Thousand Oaks, CA)
Assignee: DTS, Inc.
G11B27/031G10L19/002G10L19/24G11B20/10527H03M7/3084G11B2020/10546
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,613,660
App. No.
14/245,882
Granted
Apr 4, 2017
Kind
B2
Abstract

A computing device may receive or otherwise access a base audio layer and one or more enhancement audio layers. The computing device can reconstruct the retrieved base layer and/or enhancement layers into a single data stream or audio file. The local computing device may process audio frames in a highest enhancement layer retrieved in which the data can be validated (or a lower layer if the data in audio frames in the enhancement layer(s) cannot be validated) and build a stream or audio file based on the audio frames in that layer.

Claims (70)

1. A method of reconstructing an audio stream, the method comprising:

accessing a server over a network to retrieve a first audio layer and a second audio layer;

receiving the first audio layer and the second audio layer, each of the first and second audio layers comprising a plurality of audio frames, wherein the first audio layer comprises a base layer and the second audio layer comprises an enhancement to the base layer;

identifying a reference in a first audio frame of the second audio layer, wherein the reference indicates a location of audio data in a first portion of a second audio frame of the first audio layer, the reference being a substitute for audio data in the first audio frame of the second audio layer;

substituting the reference in the first audio frame of the second audio layer with the audio data in the first portion of the second audio frame of the first audio layer that corresponds with the location indicated by the reference; and

outputting the second audio layer to a decoder or loudspeaker, thereby enabling the enhancement to the base layer to be played back in place of the base layer.

2. The method of claim 1 , further comprising:

extracting a hash value from the first audio frame prior to identifying the reference; and

comparing the hash value with a second portion in the first audio frame and a third portion in the second audio frame.

3. The method of claim 2 , further comprising outputting the first audio layer if the second portion in the first audio frame and the third portion in the second audio frame do not match the hash value.

4. The method of claim 1 , wherein the first audio frame comprises the reference and data that does not refer to another audio frame.

5. The method of claim 4 , further comprising generating a third audio frame based on the first portion in the second audio frame and the data in the first audio frame that does not refer to another audio frame.

6. A system for reconstructing an audio stream, the system comprising:

a layer constructor comprising a hardware processor configured to:

access a first audio layer and a second audio layer;

identify a reference in a first audio frame of the second audio layer, wherein the reference indicates a location of audio data in a first portion of a second audio frame of the first audio layer;

substitute the reference in the first audio frame with the audio data in the first portion of the second audio frame that corresponds with the location indicated by the reference; and

output the second audio layer.

7. The system of claim 6 , wherein the layer constructor is further configured to:

extract a hash value from the first audio frame prior to identifying the reference; and

compare the hash value with a second portion in the first audio frame and a third portion in the second audio frame.

8. The system of claim 7 , wherein the layer constructor is further configured to output the first audio layer if the second portion in the first audio frame and the third portion in the second audio frame do not match the hash value.

9. The system of claim 6 , further comprising a network communication device configured to access a server over a network to retrieve the first audio layer and the second audio layer, wherein the processor is further configured to access the first audio layer and the second audio layer from the network communication device.

10. The system of claim 6 , further comprising a computer-readable storage medium reader configured to read a computer-readable storage medium, wherein the computer-readable storage medium comprises the first audio layer and the second audio layer.

11. The system of claim 10 , wherein the processor is further configured to access the first audio layer and the second audio layer from the computer-readable storage medium via the computer-readable storage medium reader.

12. The system of claim 6 , wherein the first audio frame comprises the reference and data that does not refer to another audio frame.

13. The system of claim 12 , wherein the layer constructor is further configured to generate a third audio frame based on the first portion in the second audio frame and the data in the first audio frame that does not refer to another audio frame.

14. The system of claim 13 , wherein the layer constructor is further configured to generate the third audio frame in an order in which the reference and the data in the first audio frame that does not refer to another audio frame appear in the first audio frame.

15. The system of claim 14 , further comprising a decoder configured to decode the third audio frame, wherein the decoder is further configured to output the decoded third audio frame to the speaker.

16. Non-transitory physical computer storage comprising executable program instructions stored thereon that, when executed by a hardware processor, are configured to at least:

access a first audio layer and a second audio layer;

identify a reference in a first audio frame of the second audio layer, wherein the reference indicates a location of audio data in a first portion of a second audio frame of the first audio layer;

substitute the reference in the first audio frame with the audio data in the first portion of the second audio frame that corresponds with the location indicated by the reference; and

output the second audio layer.

17. The non-transitory physical computer storage of claim 16 , wherein the executable instructions are further configured to at least:

extract a hash value from the first audio frame prior to the identification of the reference; and

compare the hash value with a second portion in the first audio frame and a third portion in the second audio frame.

18. The non-transitory physical computer storage of claim 17 , wherein the executable instructions are further configured to at least output the first audio layer if the second portion in the first audio frame and the third portion in the second audio frame do not match the hash value.

19. The non-transitory physical computer storage of claim 16 , wherein the executable instructions are further configured to at least access a server over a network to retrieve the first audio layer and the second audio layer.

20. The non-transitory physical computer storage of claim 16 , wherein the executable instructions are further configured to at least read a computer-readable storage medium, and wherein the computer-readable storage medium comprises the first audio layer and the second audio layer.

21. A method of reconstructing an audio stream, the method comprising:

accessing a server over a network to retrieve a first audio layer and a second audio layer;

receiving the first audio layer and the second audio layer, each of the first and second audio layers comprising a plurality of audio frames, wherein the first audio layer comprises a base layer and the second audio layer comprises an enhancement to the base layer;

extracting a hash value from a first audio frame of the second audio layer;

identifying a reference in the first audio frame of the second audio layer, wherein the reference indicates a location in a second audio frame of the first audio layer, the reference being a substitute for audio data;

substituting the reference in the first audio frame of the second audio layer with a first portion of audio data in the second audio frame of the first audio layer that corresponds with the location indicated by the reference;

comparing the hash value with a second portion in the first audio frame and a third portion in the second audio frame; and

outputting the second audio layer to a decoder or loudspeaker, thereby enabling the enhancement to the base layer to be played back in place of the base layer.

22. The method of claim 21 , further comprising outputting the first audio layer if the second portion in the first audio frame and the third portion in the second audio frame do not match the hash value.

23. The method of claim 21 , wherein the first audio frame comprises the reference and data that does not refer to another audio frame, wherein the method further comprises generating a third audio frame based on the first portion in the second audio frame and the data in the first audio frame that does not refer to another audio frame.

24. A system for reconstructing an audio stream, the system comprising:

a layer constructor comprising a hardware processor configured to:

access a first audio layer and a second audio layer;

extract a hash value from a first audio frame of the second audio layer;

identify a reference in the first audio frame of the second audio layer, wherein the reference indicates a location in a second audio frame of the first audio layer;

substitute the reference in the first audio frame with a first portion in the second audio frame that corresponds with the location indicated by the reference;

compare the hash value with a second portion in the first audio frame and a third portion in the second audio frame; and

output the second audio layer.

25. The system of claim 24 , wherein the layer constructor is further configured to output the first audio layer if the second portion in the first audio frame and the third portion in the second audio frame do not match the hash value.

26. The system of claim 24 , wherein the first audio frame comprises the reference and data that does not refer to another audio frame, and wherein the layer constructor is further configured to generate a third audio frame based on the first portion in the second audio frame and the data in the first audio frame that does not refer to another audio frame.

27. The system of claim 26 , wherein the layer constructor is further configured to generate the third audio frame in an order in which the reference and the data in the first audio frame that does not refer to another audio frame appear in the first audio frame.

28. The system of claim 27 , further comprising a decoder configured to decode the third audio frame, wherein the decoder is further configured to output the decoded third audio frame to the speaker.

29. Non-transitory physical computer storage comprising executable program instructions stored thereon that, when executed by a hardware processor, are configured to at least:

access a first audio layer and a second audio layer;

extract a hash value from a first audio frame of the second audio layer;

identify a reference in the first audio frame of the second audio layer, wherein the reference indicates a location in a second audio frame of the first audio layer;

substitute the reference in the first audio frame with a first portion in the second audio frame that corresponds with the location indicated by the reference;

compare the hash value with a second portion in the first audio frame and a third portion in the second audio frame; and

output the second audio layer.

30. The non-transitory physical computer storage of claim 29 , wherein the executable instructions are further configured to at least output the first audio layer if the second portion in the first audio frame and the third portion in the second audio frame do not match the hash value.

Assignments (5)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS Recorded Oct 27, 2022
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VEVEO LLC (F.K.A. VEVEO, INC.); DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
Reel/Frame 061786/0675 →
RELEASE OF SECURITY INTEREST Recorded Jun 11, 2020
From: ROYAL BANK OF CANADA
To: TESSERA, INC.; INVENSAS BONDING TECHNOLOGIES, INC. (F/K/A ZIPTRONIX, INC.); FOTONATION CORPORATION (F/K/A DIGITALOPTICS CORPORATION AND F/K/A DIGITALOPTICS CORPORATION MEMS); INVENSAS CORPORATION; TESSERA ADVANCED TECHNOLOGIES, INC; DTS, INC.; DTS LLC; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
Reel/Frame 052920/0001 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
SECURITY INTEREST Recorded Dec 2, 2016
From: INVENSAS CORPORATION; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; ZIPTRONIX, INC.; DIGITALOPTICS CORPORATION; DIGITALOPTICS CORPORATION MEMS; DTS, LLC; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 040797/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2015
From: JOHNSON, MARK ROGERS; MANESS, PHILLIP L.
To: DTS, INC.
Reel/Frame 037203/0757 →
Continuity (2)
Provisional Application 61809251 · Apr 5, 2013
Related Publication 20140303762A1 · Oct 9, 2014