IP Library Granted Patent US 9,583,113
Granted Patent B2
US 9,583,113 · App. 14/674,355 · Granted Feb 28, 2017

Audio compression using vector field normalization

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,583,113
App. No.
14/674,355
Granted
Feb 28, 2017
Kind
B2
Abstract

An approach is provided for creating a digital representation of an analog sound. The approach retrieves a number of digital sound data streams with each of the digital sound data streams corresponding to an orientation angle of the digital sound data streams with respect to one another. The digital representation of the analog sound is generated by processing the digital sound data streams and their corresponding orientation angles.

Claims (114)

1. A method comprising:

retrieving a plurality of digital sound data streams from one or more memories;

retrieving an orientation angle corresponding to each of the digital sound data streams from the one or more memories; and

generating a digital representation of an analog sound by processing the plurality of digital sound data streams and the orientation angles, wherein the generating further comprises computing a minimum angular division between two of the plurality of digital sound data streams.

2. The method of claim 1 wherein the generating further comprises:

selecting an angular sample size based on the minimum angular division;

assigning a first of the digital sound data streams as angle zero; and

assigning each of the digital sound data streams to an angular based sample channel.

3. The method of claim 2 wherein the first digital sound data stream is selected based on the first digital sound data stream being the closest of the plurality of the digital sound data streams to a direction of an intended observer of the analog sound, and wherein the method further comprises:

over a plurality of time offsets, repeatedly combining a plurality of samples from each of the digital sound data streams, wherein the combined samples are from a same time offset from the plurality of time offsets.

4. The method of claim 2 further comprising:

increasing an amount of generated null data by offsetting the angle of the first digital sound data stream.

5. The method of claim 2 further comprising:

sampling an analog data stream corresponding to each of the digital sound data streams at each of a plurality of time offsets to generate a plurality of samples to use in each of the digital sound data streams, wherein the sampling further comprises:

identifying a desired bit depth;

taking the samples of the desired bit depth from each of the plurality of angular based sample channels; and

connecting the taken samples together in a continuous waveform.

6. The method of claim 5 further comprising:

outputting the taken samples into a variable length digital array for each of the plurality of time offsets.

7. The method of claim 1 further comprising:

compressing the digital representation, wherein the compressing further comprises:

retrieving a sample from each of the digital sound data streams included in the digital representation, wherein the samples retrieved are from a same time offset, the retrieved samples being a sample set;

modifying the sample set by performing a run-length encoding (RLE) compression on the sample set in response to identifying a dominance of sequential data in the sample set;

modifying the sample set by performing a bitwise Fourier transform on the sample set;

modifying the sample set by performing a lossy compression on the sample set;

storing, into a compressed audio stream, the sample set after performing the modifications; and

repeating the retrieving step, modifying steps, and storing step over the plurality of time offsets.

8. The method of claim 7 further comprising:

normalizing the sample set;

generating a compression header, wherein the compression header includes a number of the plurality of angular based sample channels and the minimum angular division; and

storing the compression header in the compressed audio stream.

9. The method of claim 1 further comprising:

identifying one or more zero channels from the plurality of digital sound data streams, wherein the zero channels are void of digital sound data; and

inhibiting inclusion of the identified zero channels in the digital representation.

10. An information handling system comprising:

one or more processors;

a memory coupled to at least one of the processors; and

a set of instructions stored in the memory and executed by at least one of the processors to:

retrieve a plurality of digital sound data streams from the memory;

retrieve an orientation angle corresponding to each of the digital sound data streams from the memory; and

generate a digital representation of an analog sound based on the plurality of digital sound data streams and the orientation angles, wherein the generation of the digital representation further comprises computing a minimum angular division between two of the plurality of digital sound data streams.

11. The information handling system of claim 10 wherein the generation of the digital representation further comprises:

selecting an angular sample size based on the minimum angular division;

assigning a first of the digital sound data streams as angle zero; and

assigning each of the digital sound data streams to an angular based sample channel.

12. The information handling system of claim 11 wherein the first digital sound data stream is selected based on the first digital sound data stream being the closest of the plurality of the digital sound data streams to a direction of an intended observer of the analog sound, and wherein the set of instructions further comprise further instructions executed by at least one of the processors to:

over a plurality of time offsets, repeatedly combine a plurality of samples from each of the digital sound data streams, wherein the combined samples are from a same time offset from the plurality of time offsets.

13. The information handling system of claim 11 wherein the set of instructions further comprise further instructions executed by at least one of the processors to:

increase an amount of generated null data by offsetting the angle of the first digital sound data stream.

14. The information handling system of claim 11 wherein the set of instructions further comprise further instructions executed by at least one of the processors to:

sample an analog data stream corresponding to each of the digital sound data streams at each of a plurality of time offsets to generate a plurality of samples to use in each of the digital sound data streams, wherein the sampling further comprises:

identify a desired bit depth;

take the samples of the desired bit depth from each of the plurality of angular based sample channels; and

connect the taken samples together in a continuous waveform.

15. The information handling system of claim 14 wherein the set of instructions further comprise further instructions executed by at least one of the processors to:

output the taken samples into a variable length digital array for each of the plurality of time offsets.

16. The information handling system of claim 10 wherein the set of instructions further comprise further instructions executed by at least one of the processors to:

compress the digital representation, wherein the compression of the digital representation further comprises:

retrieve a sample from each of the digital sound data streams included in the digital representation, wherein the samples retrieved are from a same time offset, the retrieved samples being a sample set;

modify the sample set by performing a run-length encoding (RLE) compression on the sample set in response to identifying a dominance of sequential data in the sample set;

modify the sample set by performing a bitwise Fourier transform on the sample set;

modify the sample set by performing a lossy compression on the sample set;

store, into a compressed audio stream, the sample set after performing the modifications; and

repeat the retrieval step, the modification steps, and the storage step over the plurality of time offsets.

17. The information handling system of claim 16 wherein the set of instructions further comprise further instructions executed by at least one of the processors to:

normalize the sample set;

generate a compression header, wherein the compression header includes a number of the plurality of angular based sample channels and the minimum angular division; and

store the compression header in the compressed audio stream.

18. The information handling system of claim 10 wherein the set of instructions further comprise further instructions executed by at least one of the processors to:

identify one or more zero channels from the plurality of digital sound data streams, wherein the zero channels are void of digital sound data; and

inhibit inclusion of the identified zero channels in the digital representation.

19. A computer program product comprising:

a computer readable storage medium comprising a set of computer instructions, the computer instructions effective to:

retrieve a plurality of digital sound data streams from one or more memories;

retrieve an orientation angle corresponding to each of the digital sound data streams from one of the memories; and

generate a digital representation of an analog sound based on the plurality of digital sound data streams and the orientation angles, wherein the generation of the digital representation further comprises computing a minimum angular division between two of the plurality of digital sound data streams.

20. The computer program product of claim 19 wherein the generation of the digital representation further comprises:

selecting an angular sample size based on the minimum angular division;

assigning a first of the digital sound data streams as angle zero; and

assigning each of the digital sound data streams to an angular based sample channel.

21. The computer program product of claim 20 wherein the first digital sound data stream is selected based on the first digital sound data stream being the closest of the plurality of the digital sound data streams to a direction of an intended observer of the analog sound, and wherein the set of instructions further comprise instructions effective to:

over a plurality of time offsets, repeatedly combine a plurality of samples from each of the digital sound data streams, wherein the combined samples are from a same time offset from the plurality of time offsets.

22. The computer program product of claim 20 wherein the set of instructions further comprise instructions effective to:

increase an amount of generated null data by offsetting the angle of the first digital sound data stream.

23. The computer program product of claim 20 wherein the set of instructions further comprise instructions effective to:

sample an analog data stream corresponding to each of the digital sound data streams at each of a plurality of time offsets to generate a plurality of samples to use in each of the digital sound data streams, wherein the sampling further comprises:

identify a desired bit depth;

take the samples of the desired bit depth from each of the plurality of angular based sample channels; and

connect the taken samples together in a continuous waveform.

24. The computer program product of claim 19 wherein the set of instructions further comprise instructions effective to:

output the taken samples into a variable length digital array for each of the plurality of time offsets.

25. The computer program product of claim 19 wherein the set of instructions further comprise instructions effective to:

compress the digital representation, wherein the compression of the digital representation further comprises:

retrieve a sample from each of the digital sound data streams included in the digital representation, wherein the samples retrieved are from a same time offset, the retrieved samples being a sample set;

modify the sample set by performing a run-length encoding (RLE) compression on the sample set in response to identifying a dominance of sequential data in the sample set;

modify the sample set by performing a bitwise Fourier transform on the sample set;

modify the sample set by performing a lossy compression on the sample set;

store, into a compressed audio stream, the sample set after performing the modifications; and

repeat the retrieval step, the modification steps, and the storage step over the plurality of time offsets.

26. The computer program product of claim 19 wherein the set of instructions further comprise instructions effective to:

normalize the sample set;

generate a compression header, wherein the compression header includes a number of the plurality of angular based sample channels and the minimum angular division; and

store the compression header in the compressed audio stream.

27. The computer program product of claim 19 wherein the set of instructions further comprise instructions effective to:

identify one or more zero channels from the plurality of digital sound data streams, wherein the zero channels are void of digital sound data; and

inhibit inclusion of the identified zero channels in the digital representation.

28. An apparatus comprising:

one or more processors that perform retrieval logic on a plurality of digital sound data streams;

retrieval logic performed by at least one of the processors that retrieves an orientation angle corresponding to each of the digital sound data streams; and

generation logic performed by at least one of the processors that generates a digital representation of an analog sound based on the plurality of digital sound data streams and the respective orientation angles of the digital sound data streams wherein the generation logic further comprises:

computational logic performed by at least one of the processors that computes a minimum angular division between two of the plurality of digital sound data streams;

selection logic performed by at least one of the processors that selects an angular sample size based on the minimum angular division;

assignment logic performed by at least one of the processors that assigns a first of the digital sound data streams as angle zero; and

assignment logic performed by at least one of the processors that assigns each of the digital sound data streams to an angular based sample channel.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO PC INTERNATIONAL LIMITED
To: LENOVO SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069870/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2019
From: LENOVO (SINGAPORE) PTE. LTD.
To: LENOVO PC INTERNATIONAL LIMITED
Reel/Frame 049690/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2015
From: KAPINOS, ROBERT J.
To: LENOVO (SINGAPORE) PTE. LTD.
Reel/Frame 035303/0142 →