IP Library Granted Patent US 10,595,066
Granted Patent B2
US 10,595,066 · App. 15/697,215 · Granted Mar 17, 2020

Fragment-aligned audio coding

Inventors: Bernd Czelhan (Happurg, DE); Harald Fuchs (Roettenbach, DE); Ingo Hofmann (Nuremberg, DE); Herbert Thoma (Erlangen, DE); Stephan Schreiner (Birgland, DE)
Assignee: Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V.
H04N21/242G10L19/167G10L25/57H04N19/40H04N21/2335H04N21/23424H04N21/23439H04N21/8456G10L21/055
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 10,595,066
App. No.
15/697,215
Granted
Mar 17, 2020
Kind
B2
Abstract

Audio video synchronization and alignment or alignment of audio to some other external clock are rendered more effective or easier by treating fragment grid and frame grid as independent values, but, nevertheless, for each fragment the frame grid is aligned to the respective fragment's beginning. A compression effectiveness lost may be kept low when appropriately selecting the fragment size. On the other hand, the alignment of the frame grid with respect to the fragments' beginnings allows for an easy and fragment-synchronized way of handling the fragments in connection with, for example, parallel audio video streaming, bitrate adaptive streaming or the like.

Claims (67)

1. A decoder for decoding audio content from an encoded data stream, comprising

an input interface configured to receive encoded representations of temporal fragments of the audio content, each of which has encoded thereinto a respective temporal fragment in units of audio frames temporally aligned to a beginning of the respective temporal fragment so that the beginning of the respective temporal fragment coincides with a beginning of a first audio frame of the audio frames;

a decoding stage configured to decode reconstructed versions of the temporal fragments of the audio content from the encoded representations of the temporal fragments; and

a joiner configured to join, for playout, the reconstructed versions of the temporal fragments of the audio content together,

wherein a temporal length between fragment boundaries of the fragment grid is a non-integer multiple of a temporal length of the audio frames,

wherein the joiner is configured to truncate the reconstructed version of a predetermined temporal fragment at a portion of a trailing audio frame of the audio frames in units of which the predetermined temporal fragment is coded into the encoded representation of the predetermined temporal fragment, which temporally exceeds a trailing end of the predetermined temporal fragment and temporally overlaps with a reconstructed version of an immediately succeeding temporal fragment,

wherein the decoder is configured to determine the portion of the trailing audio frame on the basis of truncation information in the encoded data stream, wherein the truncation information comprises

a frame length value indicating a temporal length of the audio frames in units of which the predetermined temporal fragment is coded into the encoded representation of the predetermined temporal fragment, and a fragment length value indicating a temporal length of the predetermined temporal fragment from the beginning of the reconstructed version of the predetermined fragment to the fragment boundary with which the beginning of the reconstructed version of the succeeding temporal fragment coincides, and/or

a truncation length value indicating a temporal length of the portion of the trailing audio frame or the difference between the temporal length of the portion of the trailing audio frame and the temporal length of the trailing audio frame,

wherein the decoding stage is configured to, in decoding a predetermined temporal fragment from the encoded representation of the predetermined temporal fragment, generate the reconstructed version of the predetermined temporal fragment within a portion of a trailing audio frame of the audio frames in units of which the predetermined temporal fragment is coded into the encoded representation of the predetermined temporal fragment, which extends from a leading end of the trailing audio frame up to the fragment boundary of a reconstructed version of a succeeding temporal fragment by flushing internal states of the decoding stage as manifesting themselves up to an audio frame immediately preceding the trailing audio frame.

2. A decoder for decoding audio content from an encoded data stream, comprising

an input interface configured to receive encoded representations of temporal fragments of the audio content, each of which has encoded thereinto a respective temporal fragment in units of audio frames temporally aligned to a beginning of the respective temporal fragment so that the beginning of the respective temporal fragment coincides with a beginning of a first audio frame of the audio frames;

a decoding stage configured to decode reconstructed versions of the temporal fragments of the audio content from the encoded representations of the temporal fragments; and

a joiner configured to join, for playout, the reconstructed versions of the temporal fragments of the audio content together,

wherein a temporal length between fragment boundaries of the fragment grid is a non-integer multiple of a temporal length of the audio frames,

wherein the joiner is configured to truncate the reconstructed version of a predetermined temporal fragment at a portion of a trailing audio frame of the audio frames in units of which the predetermined temporal fragment is coded into the encoded representation of the predetermined temporal fragment, which temporally exceeds a trailing end of the predetermined temporal fragment and temporally overlaps with a reconstructed version of an immediately succeeding temporal fragment,

wherein the decoder is configured to determine the portion of the trailing audio frame on the basis of truncation information in the encoded data stream, wherein the truncation information comprises

a frame length value indicating a temporal length of the audio frames in units of which the predetermined temporal fragment is coded into the encoded representation of the predetermined temporal fragment, and a fragment length value indicating a temporal length of the predetermined temporal fragment from the beginning of the reconstructed version of the predetermined fragment to the fragment boundary with which the beginning of the reconstructed version of the succeeding temporal fragment coincides, and/or

a truncation length value indicating a temporal length of the portion of the trailing audio frame or the difference between the temporal length of the portion of the trailing audio frame and the temporal length of the trailing audio frame, wherein the decoding stage is configured to derive immediate playout information from the encoded representations of a predetermined temporal fragment, the immediate play-out information being related to the audio content at one or more pre-roll audio frames of the audio content which temporally precede(s) a beginning of the predetermined temporal fragment and use the immediate playout information so as to reconstruct the audio content at one or more audio frames of the predetermined temporal fragment immediately succeeding the beginning of the temporal fragment.

3. The decoder according to claim 2 , wherein the decoding stage is configured such that the immediate playout information is a reconstruction of the audio content at the one or more pre-roll audio frames.

4. The decoder according to claim 2 , wherein the decoding stage is configured to use the immediate playout information in reconstructing the audio content at the one or more audio frames of the predetermined temporal fragment immediately succeeding the beginning of the temporal fragment for time domain aliasing cancellation.

5. A decoder for decoding audio content from an encoded data stream, comprising

an input interface configured to receive encoded representations of temporal fragments of the audio content, each of which has encoded thereinto a respective temporal fragment in units of audio frames temporally aligned to a beginning of the respective temporal fragment so that the beginning of the respective temporal fragment coincides with a beginning of a first audio frame of the audio frames;

a decoding stage configured to decode reconstructed versions of the temporal fragments of the audio content from the encoded representations of the temporal fragments; and

a joiner configured to join, for playout, the reconstructed versions of the temporal fragments of the audio content together,

wherein a temporal length between fragment boundaries of the fragment grid is a non-integer multiple of a temporal length of the audio frames,

wherein the joiner is configured to truncate the reconstructed version of a predetermined temporal fragment at a portion of a trailing audio frame of the audio frames in units of which the predetermined temporal fragment is coded into the encoded representation of the predetermined temporal fragment, which temporally exceeds a trailing end of the predetermined temporal fragment and temporally overlaps with a reconstructed version of an immediately succeeding temporal fragment,

wherein the decoder is configured to determine the portion of the trailing audio frame on the basis of truncation information in the encoded data stream, wherein the truncation information comprises

a frame length value indicating a temporal length of the audio frames in units of which the predetermined temporal fragment is coded into the encoded representation of the predetermined temporal fragment, and a fragment length value indicating a temporal length of the predetermined temporal fragment from the beginning of the reconstructed version of the predetermined fragment to the fragment boundary with which the beginning of the reconstructed version of the succeeding temporal fragment coincides, and/or

a truncation length value indicating a temporal length of the portion of the trailing audio frame or the difference between the temporal length of the portion of the trailing audio frame and the temporal length of the trailing audio frame, wherein the decoding stage is configured to decode the audio frames individually using an inverse of a lapped transform causing aliasing and incurring transform windows extending beyond the frames' boundaries.

6. A decoder for decoding audio content from an encoded data stream, comprising

an input interface configured to receive encoded representations of temporal fragments of the audio content, each of which has encoded thereinto a respective temporal fragment in units of audio frames temporally aligned to a beginning of the respective temporal fragment so that the beginning of the respective temporal fragment coincides with a beginning of a first audio frame of the audio frames;

a decoding stage configured to decode reconstructed versions of the temporal fragments of the audio content from the encoded representations of the temporal fragments; and

a joiner configured to join, for playout, the reconstructed versions of the temporal fragments of the audio content together,

wherein a temporal length between fragment boundaries of the fragment grid is a non-integer multiple of a temporal length of the audio frames,

wherein the joiner is configured to truncate the reconstructed version of a predetermined temporal fragment at a portion of a trailing audio frame of the audio frames in units of which the predetermined temporal fragment is coded into the encoded representation of the predetermined temporal fragment, which temporally exceeds a trailing end of the predetermined temporal fragment and temporally overlaps with a reconstructed version of an immediately succeeding temporal fragment,

wherein the decoder is configured to determine the portion of the trailing audio frame on the basis of truncation information in the encoded data stream, wherein the truncation information comprises

a frame length value indicating a temporal length of the audio frames in units of which the predetermined temporal fragment is coded into the encoded representation of the predetermined temporal fragment, and a fragment length value indicating a temporal length of the predetermined temporal fragment from the beginning of the reconstructed version of the predetermined fragment to the fragment boundary with which the beginning of the reconstructed version of the succeeding temporal fragment coincides, and/or

a truncation length value indicating a temporal length of the portion of the trailing audio frame or the difference between the temporal length of the portion of the trailing audio frame and the temporal length of the trailing audio frame, wherein the decoding stage comprises

a first decoding core configured to decode a reconstructed version of a first temporal fragment of the audio content in units of audio frames from an encoded representation of the first temporal fragment so that the reconstructed version of the first temporal fragment starts at a leading end of a first audio frame of the audio frames of the first temporal fragment;

a second decoding core configured to decode a reconstructed version of a second temporal fragment of the audio content, immediately succeeding the first temporal fragment in units of audio frames, from an encoded representation of the second temporal fragment so that the reconstructed version of the second temporal fragment starts registered at a leading end of a first audio frame of the audio frames of the second temporal fragment,

wherein the joiner is configured to join the reconstructed version of the first temporal fragment and the reconstructed version of the second temporal fragment together.

7. The decoder according to claim 6 , wherein the first decoding core is configured to also decode a reconstructed version of a third temporal fragment of the audio content from the encoded data stream.

8. The decoder according to claim 6 , wherein the first and second decoding cores are configured to alternately attend to decoding the reconstructed versions of the temporal fragments of the audio content from the encoded representations of the temporal fragments.

9. A method for decoding audio content in units of temporal fragments of a fragment grid from an encoded data stream, comprising

receiving encoded representations of temporal fragments of the audio content, each of which has encoded thereinto a respective temporal fragment in units of audio frames temporally aligned to a beginning of the respective temporal fragment so that the beginning of the respective temporal fragment coincides with a beginning of a first audio frame of the audio frames;

decoding reconstructed versions of the temporal fragments of the audio content from the encoded representations of the temporal fragments; and

joining, for playout, the reconstructed versions of the temporal fragments of the audio content together,

wherein a temporal length between fragment boundaries of the fragment grid is a non-integer multiple of a temporal length of the audio frames,

wherein the joining comprises truncating the reconstructed version of a predetermined temporal fragment at a portion of a trailing audio frame of the audio frames in units of which the predetermined temporal fragment is coded into the encoded representation of the predetermined temporal fragment, which temporally exceeds a trailing end of the predetermined temporal fragment and temporally overlaps with a reconstructed version of an immediately succeeding temporal fragment,

wherein the method further comprises determining the portion of the trailing audio frame on the basis of truncation information in the encoded data stream,

wherein the truncation information comprises

a frame length value indicating a temporal length of the audio frames in units of which the predetermined temporal fragment is coded into the encoded representation of the predetermined temporal fragment, and a fragment length value indicating a temporal length of the predetermined temporal fragment from the beginning of the reconstructed version of the predetermined fragment to the fragment boundary with which the beginning of the reconstructed version of the succeeding temporal fragment coincides, and/or

a truncation length value indicating a temporal length of the portion of the trailing audio frame or the difference between the temporal length of the portion of the trailing audio frame and the temporal length of the trailing audio frame,

wherein the audio frames are individually decoded using an inverse of a lapped transform causing aliasing and using transform windows extending beyond the frames' boundaries.

10. A non-transitory digital storage medium having a computer program stored thereon to perform the method for decoding audio content in units of temporal fragments of a fragment grid from an encoded data stream, comprising

receiving encoded representations of temporal fragments of the audio content, each of which has encoded thereinto a respective temporal fragment in units of audio frames temporally aligned to a beginning of the respective temporal fragment so that the beginning of the respective temporal fragment coincides with a beginning of a first audio frame of the audio frames;

decoding reconstructed versions of the temporal fragments of the audio content from the encoded representations of the temporal fragments; and

joining, for playout, the reconstructed versions of the temporal fragments of the audio content together,

wherein a temporal length between fragment boundaries of the fragment grid is a non-integer multiple of a temporal length of the audio frames,

wherein the joining comprises truncating the reconstructed version of a predetermined temporal fragment at a portion of a trailing audio frame of the audio frames in units of which the predetermined temporal fragment is coded into the encoded representation of the predetermined temporal fragment, which temporally exceeds a trailing end of the predetermined temporal fragment and temporally overlaps with a reconstructed version of an immediately succeeding temporal fragment,

wherein the method further comprises determining the portion of the trailing audio frame on the basis of truncation information in the encoded data stream,

wherein the truncation information comprises

a frame length value indicating a temporal length of the audio frames in units of which the predetermined temporal fragment is coded into the encoded representation of the predetermined temporal fragment, and a fragment length value indicating a temporal length of the predetermined temporal fragment from the beginning of the reconstructed version of the predetermined fragment to the fragment boundary with which the beginning of the reconstructed version of the succeeding temporal fragment coincides, and/or

a truncation length value indicating a temporal length of the portion of the trailing audio frame or the difference between the temporal length of the portion of the trailing audio frame and the temporal length of the trailing audio frame,

when said computer program is run by a computer,

wherein the audio frames are individually decoded using an inverse of a lapped transform causing aliasing and using transform windows extending beyond the frames' boundaries.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2018
From: CZELHAN, BERND; FUCHS, HARALD; HOFMANN, INGO; THOMA, HERBERT; SCHREINER, STEPHAN
To: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
Reel/Frame 044793/0158 →
Priority Claims (1)
EP 15158317 · Mar 9, 2015 · regional
Continuity (2)
Continuation PCTEP2016054916 · Mar 8, 2016
Related Publication 20170366830A1 · Dec 21, 2017
Cited By (2)
US 12,315,524 US 12,445,583