IP Library Granted Patent US 7,392,195
Granted Patent B2
US 7,392,195 · App. 10/911,067 · Granted Jun 24, 2008

Lossless multi-channel audio codec

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 7,392,195
App. No.
10/911,067
Granted
Jun 24, 2008
Kind
B2
Abstract

A lossless audio codec segments audio data within each frame to improve compression performance subject to a constraint that each segment must be fully decodable and less than a maximum size. For each frame, the codec selects the segment duration and coding parameters, e.g., a particular entropy coder and its parameters for each segment, that minimizes the encoded payload for the entire frame subject to the constraints. Distinct sets of coding parameters may be selected for each channel or a global set of coding parameters may be selected for all channels. Compression performance may be further enhanced by forming M/2 decorrelation channels for M-channel audio. The triplet of channels (basis, correlated, decorrelated) provides two possible pair combinations (basis, correlated) and (basis, decorrelated) that can be considered during the segmentation and entropy coding optimization to further improve compression performance.

Claims (41)

1. A method of decoding a lossless variable bit-rate (VBR) multi-channel audio bitstream, comprising:

receiving a lossless VBR multi-channel audio bitstream as a sequence of frames having a variable length frame payload and including at least one independently decodable and losslessly reconstructable channel set including a plurality of audio channels for a multi-channel audio signal, each frame comprising common header information including a number of segments and a number of samples per segment that reduce the frame payload subject to the constraints that each segment be less than a maximum payload size and fully decodable and losslessly reconstructable once the segment is unpacked, channel set header information including decompression coefficients for each said channel in each said channel set, and segment header information for each said channel set including at least one entropy code flag and at least one coding parameter, and entropy coded compressed multi-channel audio signals stored in said number of segments;

unpacking the header to extract the number of segments and number of samples per segment;

unpacking the header for at least one said channel set to extract the entropy code flag and coding parameter and the entropy coded compressed multi-channel audio signals and perform an entropy decode on each segment in the frame using the selected entropy code and coding parameter to generate compressed audio signals for each segment; and

unpacking the header for at least one said channel set to extract decompression coefficients and perform decompression on the compressed audio signals to losslessly reconstruct PCM audio for each audio channel in each said channel set for each segment.

2. The method of claim 1 , wherein the number of segments and samples per segment varies frame-to-frame to minimize the variable length payload of each frame subject to the constraints.

3. The method of claim 2 , wherein each segment within one said frame has the same number of samples.

4. The method of claim 3 , wherein each said frame includes the minimum number of segments that satisfies the constraints.

5. The method of claim 1 , wherein said decompression coefficients comprise prediction coefficients, said decompression comprising performing an inverse prediction on the compressed audio signals.

6. A method of decoding a lossless bitstream, comprising:

receiving a bitstream as a sequence of frames comprising common header information including a number of segments and a number of samples per segment, channel set header information including prediction coefficients for each audio channel in a channel set, and segment header information for each channel set including bytes consumed, at least one entropy code flag, at least one coding parameter, and an all channel same parameter flag that indicates whether the at least one entropy code flag and the at least one coding parameter are distinct for each channel or whether they are the same for all channels in a channel set, and encoded residual multi-channel audio signals stored in a plurality of segments;

unpacking the header to extract the all channel same parameter flag, the at least one entropy code flag and the at least one coding parameter and the encoded residual audio signals and perform an entropy decode on each segment of a channel set in the frame using the selected entropy code and coding parameter to generate residual audio signals for each segment of a channel set; and

unpacking the header to extract prediction coefficients and perform an inverse prediction on the residual audio signals to generate PCM audio for each segment of a channel set.

7. A method of decoding a lossless bitstream, comprising:

receiving a bitstream as a sequence of frames comprising common header information including a number of segments and a number of samples per segment, channel set header information including a pairwise channel decorrelation flag, an original channel order, and quantized channel decorrelation coefficients and prediction coefficients for each audio channel, and segment header information for each channel set including bytes consumed, at least one entropy code flag and at least one coding parameter, and encoded residual multi-channel audio signals stored in a plurality of segments;

unpacking the header to extract the entropy code flag and coding parameter and the encoded residual audio signals and perform an entropy decode on each segment of a channel set in the frame using the selected entropy code and coding parameter to generate residual audio signals for each segment of a channel set;

unpacking the header to extract prediction coefficients and perform an inverse prediction on the residual audio signals to generate decorrelated PCM audio for each segment of a channel set;

unpacking the header to extract the original channel order, the pairwise channel decorrelation flag and the quantized channel decorrelation coefficients and perform an inverse cross channel decorrelation to generate multi-channel PCM audio for a channel set.

8. The method of claim 7 , wherein the pairwise channel decorrelation flag indicates whether a first channel pair including a basis and a correlated channel or a second channel pair including the basis and a decorrelated channels for a triplet including the basis, correlated and decorrelated channels was encoded, the method further comprising:

if the flag indicates a second channel pair, multiply the basis channel by the quantized channel decorrelation coefficient and add it to the decorrelated channel to generate PCM audio in the correlated channel.

9. A method of decoding a lossless variable bit-rate (VBR) multi-channel audio bitstream, comprising:

receiving a lossless VBR multi-channel audio bitstream as a sequence of frames having a variable length frame payload and including at least one independently decodable and losslessly reconstructable channel set including a plurality of audio channels for a multi-channel audio signal, each frame comprising common header information including a number of segments and a number of samples per segment, channel set header information including decompression coefficients for each audio channel in a channel set, and segment header information for each channel set including at least one entropy code flag, at least one coding parameter, and an all channel same parameter flag that indicates whether the at least one entropy code flag and the at least one coding parameter are distinct for each channel or whether they are the same for all channels in a channel set, and entropy coded compressed multi-channel audio signals stored in said number of segments;

unpacking the header to extract the all channel same parameter flag, the at least one entropy code flag and the at least one coding parameter and the entropy coded compressed multi-channel audio signals for a channel set and perform an entropy decode on each segment in the frame using the selected entropy code and coding parameter to generate compressed audio signals for the channel set for each segment; and

unpacking the header for the channel set to extract decompression coefficients and decompress the compressed audio signals to generate PCM audio for each audio channel of the channel set for each segment.

10. A method of decoding a lossless variable bit-rate (VBR) multi-channel audio bitstream, comprising:

receiving a lossless VBR multi-channel audio bitstream as a sequence of frames having a variable length frame payload and including at least one independently decodable and losslessly reconstructable channel set including a plurality of audio channels for a multi-channel audio signal, each frame comprising common header information including a number of segments and a number of samples per segment, channel set header information including a pairwise channel decorrelation flag, an original channel order, and quantized channel decorrelation coefficients and decompression coefficients for each audio channel, and segment header information for each channel set including at least one entropy code flag and at least one coding parameter, and entropy coded compressed multi-channel audio signals stored in the number of segments;

unpacking the header to extract the entropy code flag and coding parameter and the entropy coded compressed multi-channel audio signals and perform an entropy decode on each segment in the frame using the selected entropy code and coding parameter to generate compressed audio signals for the channel set for each segment; and

unpacking the header to extract compression coefficients and decompress the compressed audio signals to generate decorrelated PCM audio for the channel set for each segment; and

unpacking the header to extract the original channel order, the pairwise channel decorrelation flag and the quantized channel decorrelation coefficients and perform an inverse cross channel decorrelation to generate multi-channel PCM audio for the channel set for each segment.

11. The method of claim 10 , wherein the pairwise channel decorrelation flag indicates whether a first channel pair including a basis and a correlated channel or a second channel pair including the basis and a decorrelated channel for a triplet including the basis, correlated and decorrelated channels was encoded, the method further comprising:

if the flag indicates a second channel pair, multiply the basis channel by the quantized channel decorrelation coefficient and add it to the decorrelated channel to generate PCM audio in the correlated channel.

12. The method of claim 11 wherein a first channel set includes 5.1 multi-channel audio and a second channel set includes at least one additional audio channel.

13. The method of claim 11 , wherein multiple said segments are independently decodable.

14. The method of claim 13 , wherein each said segment is independently decodable.

15. A method of decoding a lossless variable bit-rate (VBR) multi-channel audio bitstream, comprising:

receiving a lossless VBR multi-channel audio bitstream as a sequence of frames having a variable length frame payload and including a plurality of independently decodable and losslessly reconstructable channel sets including different subsets of audio channels for a multi-channel audio signal, each frame comprising common header information including a number of segments and a number of samples per segment, channel set header information including decompression coefficients for each said channel in each said channel set, and segment header information for each said channel set including bytes consumed, an at least one entropy code flag and at least one coding parameter, and entropy coded compressed multi-channel audio signals stored in said number of segments, at least one said segment being independently decodable and losslessly reconstructable;

unpacking the common header information to extract the number of segments and number of samples per segment;

unpacking the segment header information for at least one said channel set to extract the entropy code flag and coding parameter and the entropy coded compressed multi-channel audio signals and perform an entropy decode on each segment in the frame using the selected entropy code and coding parameter to generate compressed audio signals for said at least one said channel set for each segment; and

unpacking the channel header information for at least one said channel set to extract decompression coefficients and perform decompression on the compressed audio signals to losslessly reconstruct PCM audio for each audio channel in said at least one channel set for each segment.

16. The method of claim 15 , wherein the segment headers and the entropy coded compressed multi-channel audio signals for all of said channel sets are unpacked and all of the compressed multi-channel audio signals are decoded to losslessly reconstruct PCM audio for the full multi-channel audio signal.

17. The method of claim 15 , wherein the segment headers and the entropy coded compressed multi-channel audio signals for less than all of said channel sets are unpacked and the corresponding compressed audio signals decoded to losslessly reconstruct PCM audio for a partial multi-channel audio signal.

Assignments (8)
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 →
RELEASE OF SECURITY INTEREST Recorded Dec 6, 2016
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: DTS, INC.
Reel/Frame 040821/0083 →
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 →
SECURITY INTEREST Recorded Nov 2, 2015
From: DTS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 037032/0109 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2009
From: FEJZO, ZORAN
To: DTS, INC.
Reel/Frame 022159/0369 →
CHANGE OF NAME Recorded Feb 21, 2006
From: DIGITAL THEATER SYSTEMS INC.
To: DTS, INC.
Reel/Frame 017186/0729 →