Frame-based audio transmission/storage with overlap to facilitate smooth crossfading

Methods for splicing PCM audio frames form modified frames by appending to each frame either a portion of the next preceding frame or the next following frame. According to a first approach, splices are obtained by fading up and fading down a frame end and a frame appendage only at a splice point, and overlapping and combining to provide a crossfade at the splice. Alternatively, every frame end and frame appendage is faded up and faded down, overlapped and combined. A subtractive method of providing complementary fade-up and fade-down reduces rounding errors.

FIELD OF THE INVENTION

The present invention is related to audio signal processing in which audio information streams are arranged in frames of information. In particular, the present invention is related to improving the quality of audio information streams formed by splicing frame-based audio information streams.

BACKGROUND OF THE INVENTION

Framed Audio

The use of digital audio has tended to make it more difficult to edit audio material without creating audible artifacts. This has occurred in part because digital audio is frequently packaged in frames or blocks of digital samples that must be processed together. Many audio transmission systems convert frames of signal samples into frames of packaged or encoded information that must be unpacked or decoded to recover a replica of the original signal. At a minimum, an edit of the audio signal must be done at a frame boundary; otherwise, audio information represented by the remaining partial frame cannot be properly recovered.

Throughout the remainder of this discussion, the term “frame” refers to a group or block of one or more consecutive digital audio samples, and the term “stream” refers to a sequence of frames. The term “frame boundary” denotes the division between a pair of sequential adjacent frames. Also, terms such as “packing” and “packaging” refer to various methods and devices for encapsulating frames of audio (for example for transmission or storage) and terms such as “packed” refer to the results of these methods. Packaging may include any of the following methods: addition of non audio information (common referred to as metadata), time compression, and removal of information irrelevancy or redundancy (commonly referred to as data compression). Finally the term “fade” refers to the application of a modulation envelope to a sequence of audio samples.

Editing of packaged audio is becoming increasingly important as audio is often packaged with other “frame” based multimedia content, such as video. In such situations it is advantageous to edit both the audio and video at a common interval or frame boundary.

Typically, the length of a frame is fixed for a given application. For example when dividing 48 kHz sample rate audio into 24 framess per second (the common frame rate for film projection), the length of each frame is 2002 samples.

In some situations it is necessary to vary the length of frames with respect to each other. One example is when dividing 48 kHz audio into the NTSC television frame rate of 29.97 frames per second, which requires a non-integral frame length of 1601.6 samples per frame. This situation can be accommodated either by arranging the audio into super-frames (that have an integral number of samples), or by allowing the audio frame size to vary slightly, frame to frame. Audio frames in the present invention may be either of fixed or variable length.

The editing or manipulation of sequences of frames, often in streams, can take various forms including: removing frames or sequences of frames from a stream (for example removing a scene from a television program to shorten its length), inserting frames or sequences of frames into a stream (for example inserting a scene into a movie), and concatenating frames or streams to make a larger stream.

Spectral Splatter

Editing of audio information can create discontinuities in the audio signal that result in spurious spectral components or audible artifacts, often characterized as spectral splatter, “clicks” or “thumps.” Thus when streams are edited, the audio signal reconstructed by unpacking the sequence of frames may contain audible artifacts at locations corresponding to the frame boundaries where edits occurred.

The spectral splatter can be minimized by smoothly fading down the audio signal to near silence prior to the splice location and smoothly fading back up again after the splice boundary. This is often referred to as a “V fade.” Although a V fade minimizes audible clicks, an audible dip in the audio signal level may become apparent when there is significant signal level either side of the splice location. This audible level dip may be just as undesirable as the audible spectral splatter.

SUMMARY OF THE INVENTION

According to a system aspect of the invention, a method for processing one or more ordered sequences of PCM audio frames, comprisesappending to the beginning of frames, a segment of PCM audio that is substantially a replica of PCM audio in the end of the next preceding frame in an ordered sequence, or, to the end of frames, a segment of PCM audio that is substantially a replica of PCM audio in the beginning of the next following frame in an ordered sequence, whereby modified frames are produced,maintaining for the modified frames a sequential order that is the same as the order of one of the one or more ordered sequences of the PCM audio frames or assigning a further sequential order to the modified frames, which sequential order is different from the order of one of the one or more ordered sequences of PCM audio frames, whereby the further sequential order has at least one discontinuity in its order with respect to the order of one of the one or more ordered sequences of PCM audio frames,fading up the PCM audio appended to the beginning of the modified frame following a discontinuity and fading down the PCM audio in the end of the modified frame preceding a discontinuity when segments are appended to the beginning of frames or fading down the PCM audio appended to the end of the modified frame preceding a discontinuity and fading up the PCM audio in the beginning of the modified frame following a discontinuity when segments are appended to the end of frames,overlapping and additively combining the faded-up and faded-down PCM audio preceding and following a discontinuity in the sequence of faded-up and faded-down modified frames, andremoving the segment of PCM audio appended to a modified frame in sequential pairs of modified frames and joining the resulting PCM audio frames when the sequential pair of modified frames does not contain a discontinuity following or preceding the appendage,whereby a further ordered sequence of PCM audio frames is provided having the same order as one of the one or more ordered sequences of PCM audio frames or having one or more discontinuities between sequences of PCM audio frames, each of the sequences having the same order as one of the one or more ordered sequences of PCM audio frames or a portion thereof, discontinuities having an associated PCM audio crossfaded portion where the faded-up and faded-down PCM audio is overlapped and combined.

According to another system aspect of the invention, a method for processing one or more ordered sequences of PCM audio frames, comprisesappending to the beginning of frames, a segment of PCM audio that is substantially a replica of PCM audio in the end of the next preceding frame in an ordered sequence, or, to the end of frames, a segment of PCM audio that is substantially a replica of PCM audio in the beginning of the next following frame in an ordered sequence, whereby modified frames are produced,fading up the PCM audio appended to the beginning of modified frames and fading down the PCM audio in the end of modified frames when segments are appended to the beginning of frames or fading down the PCM audio appended to the end of modified frames and fading up the PCM audio in the beginning of modified frames when segments are appended to the end of frames,maintaining for the modified frames or for the faded-up and faded-down modified frames a sequential order that is the same as the order of one of the one or more ordered sequences of the PCM audio frames or assigning a further sequential order to the modified frames or to the faded-up and faded-down modified frames, which sequence is different from the order of one of the one or more ordered sequences of PCM audio frames, whereby the further sequential order has at least one discontinuity in its order with respect to the order of one of the one or more ordered sequences of PCM audio frames, andoverlapping and additively combining sequential pairs of faded-up and faded-down PCM audio in the sequence of faded-up and faded-down modified frames having a sequential order that is the same as the order of one of the one or more ordered sequences of the PCM audio frames or having the further sequential order,whereby a further ordered sequence of PCM audio frames is provided having the same order as one of the one or more ordered sequences of PCM audio frames or having one or more discontinuities between sequences of PCM audio frames, each of the sequences having the same order as one of the one or more ordered sequences of PCM audio frames or a portion thereof, consecutive pairs in the further order of PCM audio frames having an associated PCM audio crossfaded portion where the faded-up and faded-down PCM audio is overlapped and combined.

According to a transmitter aspect of the present invention,A method for processing one or more ordered sequences of PCM audio frames, comprisesappending only to the beginning of frames, a segment of PCM audio that is substantially a replica of PCM audio in the end of the next preceding frame in an ordered sequence, or, to the end of frames, a segment of PCM audio that is substantially a replica of PCM audio in the beginning of the next following frame in an ordered sequence, whereby modified frames are produced, andtransmitting, storing, or transmitting and storing the modified frames.

According to another transmitter aspect of the invention, a method for processing one or more ordered sequences of PCM audio frames, comprisesappending only to the beginning of frames, a segment of PCM audio that is substantially a replica of PCM audio in the end of the next preceding frame in an ordered sequence, or, to the end of frames, a segment of PCM audio that is substantially a replica of PCM audio in the beginning of the next following frame in an ordered sequence, whereby modified frames are produced,fading up the PCM audio appended to the beginning of modified frames and fading down the PCM audio in the end of modified frames when segments are appended to the beginning of frames or fading down the PCM audio appended to the end of modified frames and fading up the PCM audio in the beginning of modified frames when segments are appended to the end of frames, andtransmitting, storing, or transmitting and storing the faded-up and faded-down modified frames.

According to a receiver aspect of the present invention, a method for processing PCM audio data, comprisesreceiving modified PCM audio frames, wherein the modified frames were produced by processing one or more ordered sequences of PCM audio frames by appending to the beginning of frames, a segment of PCM audio that is substantially a replica of PCM audio in the end of the next preceding frame in an ordered sequence, or, to the end of frames, a segment of PCM audio that is substantially a replica of PCM audio in the beginning of the next following frame in an ordered sequence,maintaining for the modified frames a sequential order that is the same as the order of one of the one or more ordered sequences of the PCM audio frames or assigning a further sequential order to the modified frames, which sequential order is different from the order of one of the one or more ordered sequences of PCM audio frames, whereby the further sequential order has at least one discontinuity in its order with respect to the order of one of the one or more ordered sequences of PCM audio frames,fading up the PCM audio appended to the beginning of the modified frame following a discontinuity and fading down the PCM audio in the end of the modified frame preceding a discontinuity when segments are appended to the beginning of frames or fading down the PCM audio appended to the end of the modified frame preceding a discontinuity and fading up the PCM audio in the beginning of the modified frame following a discontinuity when segments are appended to the end of frames,overlapping and additively combining the faded-up and faded-down PCM audio preceding and following a discontinuity in the sequence of faded-up and faded-down modified frames, andremoving the segment of PCM audio appended to a modified frame in sequential pairs of modified frames and joining the resulting PCM audio frames when the sequential pair of modified frames does not contain a discontinuity following or preceding the appendage,whereby a further ordered sequence of PCM audio frames is provided having the same order as one of the one or more ordered sequences of PCM audio frames or having one or more discontinuities between sequences of PCM audio frames, each of the sequences having the same order as one of the one or more ordered sequences of PCM audio frames or a portion thereof, discontinuities having an associated PCM audio crossfaded portion where the faded-up and faded-down PCM audio is overlapped and combined.

According to another receiver method of the present invention, a method for processing PCM audio data, comprisesreceiving modified PCM audio frames, wherein the modified frameswere produced by processing one or more ordered sequences of PCM audio frames by appending to the beginning of frames, a segment of PCM audio that is substantially a replica of PCM audio in the end of the next preceding frame in an ordered sequence, or, to the end of frames, a segment of PCM audio that is substantially a replica of PCM audio in the beginning of the next following frame in an ordered sequence, andhave a sequential order that is the same as the order of one of the one or more ordered sequences of the PCM audio frames or have a further sequential order, which sequential order is different from the order of one of the one or more ordered sequences of PCM audio frames, whereby the further sequential order has at least one discontinuity in its order with respect to the order of one of the one or more ordered sequences of PCM audio frames,fading up the PCM audio appended to the beginning of the modified frame following a discontinuity and fading down the PCM audio in the end of the modified frame preceding a discontinuity when segments are appended to the beginning of frames or fading down the PCM audio appended to the end of the modified frame preceding a discontinuity and fading up the PCM audio in the beginning of the modified frame following a discontinuity when segments are appended to the end of frames,overlapping and additively combining the faded-up and faded-down PCM audio preceding and following a discontinuity in the sequence of faded-up and faded-down modified frames, andremoving the segment of PCM audio appended to a modified frame in sequential pairs of modified frames and joining the resulting PCM audio frames when the sequential pair of modified frames does not contain a discontinuity following or preceding the appendage,whereby a further ordered sequence of PCM audio frames is provided having the same order as one of the one or more ordered sequences of PCM audio frames or having one or more discontinuities between sequences of PCM audio frames, each of the sequences having the same order as one of the one or more ordered sequences of PCM audio frames or a portion thereof, discontinuities having an associated PCM audio crossfaded portion where the faded-up and faded-down PCM audio is overlapped and combined.

According to another receiver method of the present invention, a method for processing PCM audio, comprisesreceiving faded-up and faded-down modified PCM audio frames, wherein the faded-up and faded-down modified frames were produced by processing one or more ordered sequences of PCM audio frames byappending to the beginning of frames, a segment of PCM audio that is substantially a replica of PCM audio in the end of the next preceding frame in an ordered sequence, or, to the end of frames, a segment of PCM audio that is substantially a replica of PCM audio in the beginning of the next following frame in an ordered sequence, andfading up the PCM audio appended to the beginning of modified frames and fading down the PCM audio in the end of modified frames when segments are appended to the beginning of frames or fading down the PCM audio appended to the end of modified frames and fading up the PCM audio in the beginning of modified frames when segments are appended to the end of frames,maintaining for the faded-up and faded-down modified frames a sequential order that is the same as the order of one of the one or more ordered sequences of the PCM audio frames or assigning a further sequential order to the faded-up and faded-down modified frames, which sequence is different from the order of one of the one or more ordered sequences of PCM audio frames, whereby the further sequential order has at least one discontinuity in its order with respect to the order of one of the one or more ordered sequences of PCM audio frames, andoverlapping and additively combining sequential pairs of faded-up and faded-down PCM audio in the sequence of faded-up and faded-down modified frames,whereby a further ordered sequence of PCM audio frames is provided in which consecutive pairs of PCM audio frames have a PCM audio crossfaded portion where the faded-up and faded-down PCM audio is overlapped and combined.

According to another receiver method of the present invention, a method for processing PCM audio, comprisesreceiving faded-up and faded-down modified PCM audio frames, wherein the faded-up and faded-down modified frames were produced by processing one or more ordered sequences of PCM audio frames byappending to the beginning of frames, a segment of PCM audio that is substantially a replica of PCM audio in the end of the next preceding frame in an ordered sequence, or, to the end of frames, a segment of PCM audio that is substantially a replica of PCM audio in the beginning of the next following frame in an ordered sequence, andfading up the PCM audio appended to the beginning of modified frames and fading down the PCM audio in the end of modified frames when segments are appended to the beginning of frames or fading down the PCM audio appended to the end of modified frames and fading up the PCM audio in the beginning of modified frames when segments are appended to the end of frames,wherein the faded-up and faded-down modified PCM audio frames have a sequential order that is the same as the order of one of the one or more ordered sequences of the PCM audio frames or have a further sequential order, which sequential order is different from the order of one of the one or more ordered sequences of PCM audio frames, whereby the further sequential order has at least one discontinuity in its order with respect to the order of one of the one or more ordered sequences of PCM audio frames, andoverlapping and additively combining sequential pairs of faded-up and faded-down PCM audio in the sequence of faded-up and faded-down modified frames,whereby a further ordered sequence of PCM audio frames is provided in which consecutive pairs of PCM audio frames have a PCM audio crossfaded portion where the faded-up and faded-down PCM audio is overlapped and combined.

According to another receiver method of the present invention, a method for processing PCM audio, comprisesreceiving modified PCM audio frames, wherein the modified frames were produced by processing one or more ordered sequences of PCM audio frames by appending to the beginning of frames, a segment of PCM audio that is substantially a replica of PCM audio in the end of the next preceding frame in an ordered sequence, or, to the end of frames, a segment of PCM audio that is substantially a replica of PCM audio in the beginning of the next following frame in an ordered sequence,fading up the PCM audio appended to the beginning of modified frames and fading down the PCM audio in the end of modified frames when segments are appended to the beginning of frames or fading down the PCM audio appended to the end of modified frames and fading up the PCM audio in the beginning of modified frames when segments are appended to the end of frames,maintaining for the modified frames or for the faded-up and faded-down modified frames a sequential order that is the same as the order of one of the one or more ordered sequences of the PCM audio frames or assigning a further sequential order to the modified frames or to the faded-up and faded-down modified frames, which sequence is different from the order of one of the one or more ordered sequences of PCM audio frames, whereby the further sequential order has at least one discontinuity in its order with respect to the order of one of the one or more ordered sequences of PCM audio frames, andoverlapping and additively combining sequential pairs of faded-up and faded-down PCM audio in the sequence of faded-up and faded-down modified frames, having a sequential order that is the same as the order of one of the one or more ordered sequences of the PCM audio frames or having the further sequential order,whereby a further ordered sequence of PCM audio frames is provided in which consecutive pairs of PCM audio frames have a PCM audio crossfaded portion where the faded-up and faded-down PCM audio is overlapped and combined.

According to another receiver method of the present invention, a method for processing PCM audio, comprisesreceiving modified PCM audio frames, wherein the modified frameswere produced by processing one or more ordered sequences of PCM audio frames by appending to the beginning of frames, a segment of PCM audio that is substantially a replica of PCM audio in the end of the next preceding frame in an ordered sequence, or, to the end of frames, a segment of PCM audio that is substantially a replica of PCM audio in the beginning of the next following frame in an ordered sequence, andhave a sequential order that is the same as the order of one of the one or more ordered sequences of the PCM audio frames or have a further sequential order, which sequential order is different from the order of one of the one or more ordered sequences of PCM audio frames, whereby the further sequential order has at least one discontinuity in its order with respect to the order of one of the one or more ordered sequences of PCM audio frames,fading up the PCM audio appended to the beginning of modified frames and fading down the PCM audio in the end of modified frames when segments are appended to the beginning of frames or fading down the PCM audio appended to the end of modified frames and fading up the PCM audio in the beginning of modified frames when segments are appended to the end of frames, andoverlapping and additively combining sequential pairs of faded-up and faded-down PCM audio in the sequence of faded-up and faded-down modified frames,whereby a further ordered sequence of PCM audio frames is provided in which consecutive pairs of PCM audio frames have a PCM audio crossfaded portion where the faded-up and faded-down PCM audio is overlapped and combined.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1is a functional block diagram showing an overall system employing aspects of the present invention according to a first approach. The system need not be located all at the same place. As described below, transmission, storage, or a combination of transmission and storage may be employed to allow certain separations of the system elements. In addition, as described below, either or both of time compression/decompression and data coding may be employed in connection with transmission, storage, or a combination of transmission and storage.

Referring toFIG. 1, one or more ordered sequences of PCM audio frames (of fixed or variable length) that may include not only PCM audio samples but also other information and/or metadata are received by an “append” function or device2. In this and other embodiments of the present invention, the PCM audio frames are an “ordered sequence” in the sense that they have a notional sequential order, typically indicated by an assigned frame number or other suitable sequence identifier. Also, in this and other embodiments, an ordered sequence may be received, for example, by append2either in a stream of PCM audio frames (in the manner ofFIG. 2) or it may be received from memory space in which the ordered sequence of PCM audio frames are stored (in the manner ofFIG. 3), in which case, the PCM audio frames may be randomly stored, their order being indicated only by a unique identifier such as a frame number.

InFIG. 2, an example of a portion of a stream20of digital audio samples is shown as including three PCM audio frames n−1, n and n+1. The frames have an ordered sequence and are in that sequence within the stream. Reference numerals22,24,26and28indicate frame boundaries.

InFIG. 3, the three PCM audio frames n−1, n and n+1 are shown stored randomly in a memory space30. In the example ofFIG. 3, although the frames may be randomly located in memory, they also have an ordered sequence as indicated by their frame numbers.

InFIGS. 2 and 3and other figures, the PCM audio frames are shown idealized, schematically and not to scale for the purposes of explaining the present invention and its various aspects; individual audio samples are not shown.FIG. 2is a time-domain representation in which the horizontal scale indicates time.FIG. 3is a space-domain representation in which area indicates the amount of data.

In practical environments of particular interest to the present invention, an ordered sequence of PCM audio frames may be received in a stream that has frame boundaries coincident with the frame boundaries of a related video signal stream. Digital audio is often packaged with other “frame” based multimedia content, such as video. In such situations, it is advantageous to edit both the audio and video at a common frame boundary.

Referring again toFIG. 1, append2produces modified PCM audio frames by appending to the beginning of each received frame a segment of PCM audio that is substantially a replica of PCM audio in the end of the next preceding frame in the ordered sequence of received frames. (It will be understood that “a segment of PCM audio” and similar language is a shorthand expression that refers to a segment of PCM audio samples.) Preferably and advantageously, for reasons set forth below, a segment of audio is appended only to one end of each received frame. For example, as shown inFIG. 4, a modified PCM audio frame40is shown in which frame n, has an appendage an−1at its beginning, an appendage that is a replica of the end of the next preceding frame n−1. When there is no next preceding frame, the appendage may be filled with any audio information, the most appropriate being silence.

An advantage of appending at the beginning of frames is that when splicing together the end of one stream with the start of another, the audio information from the start of the second stream is reconstructed at full level. That is, the audio information is not faded up, as would the case if audio is appended to the end of frames, as discussed below in connection with the description ofFIG. 5. For example, if the end of a television advertisement was spliced together with the start of a television program, it is more desirable that the end of the television advertisement be faded down prior to the start of the program, rather than have the start of the program fade up (with the end of the advertisement unchanged).

Alternatively, append2produces modified PCM audio frames by appending to the end of each received frame a segment of PCM audio that is substantially a replica of PCM audio in the beginning of the next following frame in the ordered sequence of received frames. For example, as shown inFIG. 5, a modified PCM audio frame50is shown in which frame n has an appendage an+1at its end, a replica of the beginning of the next following frame n+1. When there is no next following frame, the appendage may be filled with any audio information, the most appropriate being silence.

An advantage of appending at the end of frames is that crossfaded portions occur in alignment with the frame-to-frame cross fading of Dolby E perceptually encoded audio, thus facilitating the co-editing of PCM audio and Dolby E encoded audio. Dolby and Dolby E are trademarks of Dolby Laboratories Licensing Corporation.

When modified PCM audio frames are packed for storage or transmission, as discussed below, the resulting information will have a higher data rate than the input PCM audio frames. In general, an increase in data rate is not desirable, however, in accordance with the various aspects of the present invention, the benefits of smooth crossfading and reduced artifacts are preferable at the expense of data rate. As mentioned below, data compression may be employed to mitigate such data rate increases.

The modified PCM audio frames are applied to a ‘maintain or reorder” function or device4that may either maintain for the modified PCM frames a sequential order that is the same as the order of one of the one or more ordered sequences of the PCM audio frames or assign a further sequential order to the modified frames, which sequential order is different from the order of one of the one or more ordered sequences of PCM audio frames, in which case, the further sequential order has at least one discontinuity in its order with respect to the order of one of the one or more ordered sequences of PCM audio frames. For example, if there is one ordered sequence of audio frames applied to the system ofFIG. 1, having, for example, frames n, n+1, n+2, n+3, and n+4, that same ordered sequence might be maintained. Alternatively, as one example, a frame might be removed to produce a further ordered sequence n, n+1, n+3, n+4, which has a discontinuity between frames n+1 and n+3. Another example is to rearrange the frames to produce a further ordered sequence n+3, n+4, n, n+1, n+2, which has a discontinuity between frames n+4 and n. Yet a further example is to apply two ordered sequences of audio frames to the system ofFIG. 1: a first ordered sequence n, n+1, n+2, n+3 and a second ordered sequence n+20, n+21, n+22, n+23. The two ordered sequences may be joined together to produce a further ordered sequence n, n+1, n+2, n+3, n+20, n+21, n+22, n+23, which has a discontinuity between frames n+3 and n+20.

A “detect discontinuity” function or device6receives the modified PCM audio frames that may or may not have one or more discontinuities. Function or device6detects discontinuities and, upon detection of a discontinuity, provides a suitable signal or indication thereof to other functions or devices as next described.

A “fade up and fade down” function or device8also receives the modified PCM audio frames that may or may not have one or more discontinuities. When append2appends segments to the beginning of frames and a discontinuity is detected by “detect discontinuity” function or device6, function or device8fades up the PCM audio appended to the beginning of the modified frame following the discontinuity and fades down the PCM audio in the end of the modified frame preceding the discontinuity. This is explained in connection with the example ofFIG. 6a. When append2appends segments to the end of frames and a discontinuity is detected, function or device8fades down the PCM audio appended to the end of the modified frame preceding the discontinuity and fades up the PCM audio in the beginning of the modified frame following the discontinuity. This is explained in connection with the example ofFIG. 7a. The length of the faded-up and faded-down portions of modified frames should be substantially the same and criteria for selecting a suitable length are discussed below.

The “fade up and fade down” function or device may be separate functions or devices and may be separated such that one function or device performs fade up and another (perhaps remotely located from the other) performs fade down, or vice-versa.

FIG. 6ashows an example of two modified frames that have a discontinuity with respect to one another. That is, they do not have the same sequential order as frames applied to the system. The maintain or reorder function or device4has produced a further sequence that includes a discontinuity with respect to the original sequence. Upon detection (as by function or device6) of a discontinuity between sequential frames from device or function4, the fade-up and fade-down function or device operates on the pair of discontinuous frames. InFIG. 6a, a faded-up appendage an′ is shown appended to the beginning of the (n+1)stframe to provide a frame with appendage60. The fade up is shown as a linear fade up. Other fade-up functions are possible as discussed below. Frame n−1 is the next previous frame once removed. Its end is faded down and an appendage an−2, a replica of a segment of the end of the next previous frame n−2, is appended to its beginning to provide a faded frame with appendage62. The fade down is shown as a linear fade down. Other fade-down functions are possible as discussed below. The fade-up and fade-down functions employed in the present invention according to a first approach may be, but need not be, complementary. Inasmuch as fade up and fade down only occur when there is a splice, full complementarity is not required. Techniques for crossfading and achieving complementarity are discussed below.

FIG. 7adiffers fromFIG. 6ain that it shows an example of two modified PCM audio frames that have a discontinuity with respect to one another for the case in which the appendage is appended to the end of the frames.

InFIG. 7a, the faded-down appendage an′ is shown appended to the end of the (n−1)stframe to provide a frame with faded appendage70. The fade down is shown as a linear fade down. Other fade-down functions are possible as discussed below. Frame n+1 is the next following frame once removed, in which its beginning is faded up and to which an appendage an+2, a replica of a segment of the beginning of the next following frame n+2, is appended to provide a faded frame with appendage72. The fade up is shown as a linear fade up. Other fade-up functions are possible as discussed below. As mentioned above, the fade-up and fade-down functions employed in the present invention according to a first approach may be, but need not be, complementary.

Modified PCM audio frames that are faded up and faded down at discontinuities, as inFIGS. 6aand7a, are applied to an “overlap and combine” function or device12that overlaps and additively combines the pair of faded-up and faded-down segments of PCM audio before and after a discontinuity, when a discontinuity is detected by “detect discontinuity” function or device6, to provide a crossfaded portion where the faded-up and faded-down segments overlap and combine.

The example ofFIG. 6ais shown overlapped and combined inFIG. 6bso as to have a crossfaded portion64in one of the modified frames. In this example, the overlapping and combining may ultimately result, at the system output, in a concatenation of formerly non-sequential frames n−1 and n+1 at a frame boundary66. The crossfaded portion provides a smooth crossfade from the PCM audio in frame n−1 to that in frame n+1. The crossfade is between the audio in the end of frame n−1 and the audio in the end of frame n, just preceding frame n+1 and occurs within the end of frame n−1. An appendage such as appendage an−2, appended to the beginning of frame n−1, either may be used for another crossfade, if it is associated with another discontinuity, or it may be removed, if it is not associated with another discontinuity, as described below. Frame68, which includes audio from frame n−1 and the crossfaded portion64, but excludes appendage an−2, preferably is used as a building block by an “assemble” function or device14to generate the system output, namely a further ordered sequence of PCM audio frames, as is described below.

Similarly, the example ofFIG. 7ais shown overlapped and combined inFIG. 7bso as to have a crossfaded portion74in one of the modified PCM audio frames. In addition, in this example, the overlapping and combining may ultimately result, at the system output, in a concatenation of formerly non-sequential frames n−1 and n+1 at a frame boundary76. The crossfaded portion provides a smooth crossfade from the PCM audio in frame n−1 to that in frame n+1. The crossfade is between the audio in the beginning of frame n, just after frame n−1, and the audio in the beginning of frame n+1 and occurs within frame n+1. An appendage such as appendage an+2, appended to the end of frame n+1, either may be used for another crossfade, if it is associated with another discontinuity, or it may be removed, if it is not associated with another crossfade, as described below. Frame78, which includes audio from frame n+1 and the crossfaded portion74, but excludes appendage an+2, preferably is used as a building block by assemble14to generate the system output, namely a further ordered sequence of PCM audio frames, as is described below.

A “remove appendage” function or device10also receives the modified PCM audio frames that may or may not have one or more discontinuities. When a sequential pair of modified frames does not contain a discontinuity following or preceding the appendage (thus, no discontinuity is detected by detect discontinuity6), function or device10removes the appendage in one of the modified frames of the pair. For example, inFIG. 8, a pair of modified frames having the same sequence (n, n+1) as frames applied to the system ofFIG. 1is shown. Function or device10removes the appendage an+1from the modified frame having frame n to provide the result, frame80, shown inFIG. 8. An appendage, such as appendage an+2, appended to the next sequential modified frame in this example, either is used for a crossfade, if it is associated with a discontinuity, or also is removed, if it is not. Frame80, which is the same as a PCM frame applied to the system ofFIG. 1, preferably is used also a building block by assemble14to generate the system output.

As a result of processing by “fade up and fade down”8and “overlap and combine”12, and by “remove appendage”10, PCM audio frames having crossfades (such as frame68ofFIG. 6band frame78ofFIG. 7b) and PCM audio frames corresponding to PCM audio frames applied to the system (such as frame80) are produced. Such PCM audio frames are selected and assembled into a further ordered sequence of PCM audio frames by an “assemble” function or device14. Thus, a further ordered sequence of PCM audio frames is provided at the system output having the same order as one of the one or more ordered sequences of PCM audio frames or having one or more discontinuities between sequences of PCM audio frames, each of the sequences having the same order as one of the one or more ordered sequences of PCM audio frames or a portion thereof, discontinuities having an associated PCM audio crossfaded portion where the faded-up and faded-down PCM audio is overlapped and combined. In other words, the output signal may be equivalent or identical to the input signal—the output signal differs from the input signal when a splice occurs and crossfading is performed.

FIGS. 9aand9bare functional block diagrams showing an overall system employing aspects of the present invention according to a second approach. According to this second approach, the start and end of every modified frame is faded (that is the fade up and fade down modulation envelopes are applied) and that every faded modified frame is overlapped and combined to provide a crossfade. Advantages of this second approach include the elimination of any need to determine the presence of discontinuities in the modified frame sequences, and secondly that less processing is required in a receiver (see below regarding a “receiver”)—only additions (no multiplications) are required in a receiver. However, a disadvantage of this approach is that even if the modulation envelopes used are complementary, that is the fade down and fade up envelopes sum to unity, rounding errors may exist in the reconstructed audio in the crossfaded region inasmuch as many computing devices multiplication introduces rounding errors. In order to overcome this disadvantage, a subtractive method of providing complementary fade-up and fade-down modulation envelopes is described below.

As in the case of theFIG. 1approach, the system ofFIGS. 9aand9bneed not be located all at the same place. As described below, transmission, storage, or a combination of transmission and storage may be employed to allow certain separations of the system elements. In addition, as described below, either or both of time compression/decompression and data coding may be employed in connection with transmission, storage, or a combination of transmission and storage.

TheFIGS. 9aand9bapproach may be implemented with a “maintain or reorder” function or device94and a “fade up and fade down” function or device96in either order with respect to each other.FIG. 9ashows one option, in which the “maintain or reorder” function or device94precedes the fade-up and fade-down function or device96.FIG. 9bshows the other option, in which the “fade up and fade down” function or device96precedes the “maintain or reorder” function or device94. In both options, one or more ordered sequences of PCM audio frames that may include not only PCM audio samples but also other information and/or metadata are received by an “append” function or device92, which function or device may be the same as in theFIG. 1approach. As in theFIG. 1approach, the PCM audio frames are an “ordered sequence” in the sense that they have a notional sequential order, typically indicated by an assigned frame number or other suitable sequence identifier. Also, as in theFIG. 1approach, an ordered sequence may be received, for example, by append92either in a stream of PCM audio frames (in the manner ofFIG. 2) or it may be received from memory space in which the ordered sequence of PCM audio frames are stored (in the manner ofFIG. 3), in which case, the PCM audio frames may be randomly stored, their order being indicated only by a unique identifier such as a frame number. As in theFIG. 1approach, the audio frames may be of fixed or variable length.

As in the case of theFIG. 1approach, in practical environments of particular interest to the present invention, an ordered sequence of PCM audio frames may be received in a stream that has frame boundaries coincident with the frame boundaries of a related video signal stream. Digital audio is often packaged with other “frame” based multimedia content, such as video. In such situations, it is advantageous to edit both the audio and video at a common frame boundary.

Referring again toFIGS. 9aand9b, append92operates in the same way as append2ofFIG. 1, namely, it produces modified PCM audio frames by appending to the beginning of each received frame a segment of PCM audio that is substantially a replica of PCM audio in the end of the next preceding frame in the ordered sequence of received frames, or by appending to the end of each received frame a segment of PCM audio that is substantially a replica of PCM audio in the beginning of the next following frame in the ordered sequence of received frames. The examples ofFIG. 4andFIG. 5also apply to the modified frames produced by append92ofFIGS. 9aand9b.

According to theFIG. 9aoption, the modified audio frames are applied to a ‘maintain or reorder” function or device94that may either maintain for the modified frames a sequential order that is the same as the order of one of the one or more ordered sequences of the PCM audio frames or assign a further sequential order to the modified frames, which sequential order is different from the order of one of the one or more ordered sequences of PCM audio frames, in which case, the further sequential order has at least one discontinuity in its order with respect to the order of one of the one or more ordered sequences of PCM audio frames. Function or device94operates in the same manner as the “maintain or reorder” function or device4ofFIG. 1. For example, as inFIG. 1, if there is one ordered sequence of audio frames applied to the system ofFIG. 9a, having, for example, frames n, n+1, n+2, n+3, and n+4, that same ordered sequence might be maintained. Alternatively, as one example, a frame might be removed to produce a further ordered sequence n, n+1, n+3, n+4, which has a discontinuity between frames n+1 and n+3. Another example is to rearrange the frames to produce a further ordered sequence n+3, n+4, n, n+1, n+2, which has a discontinuity between frames n+4 and n. Yet a further example is to apply two ordered sequences of audio frames to the system ofFIG. 9a:a first ordered sequence n, n+1, n+2, n+3 and a second ordered sequence n+20, n+21, n+22, n+23. The two ordered sequences may be joined together to produce a further ordered sequence n, n+1, n+2, n+3, n+20, n+21, n+22, n+23, which has a discontinuity between frames n+3 and n+20.

Still referring to theFIG. 9aoption, a “fade up and fade down” function or device96also receives the modified audio frames that may or may not have one or more discontinuities. When append92appends segments to the beginning of frames, function or device96fades up the PCM audio appended to the beginning of modified frames (not just those following a discontinuity) and fades down the PCM audio in the end of modified frames (not just those preceding a discontinuity). Thus, unlike the “fade up and fade down” function or device8ofFIG. 1, the fade-up and fade-down action of device or function96is not limited to acting on modified frames before and after a discontinuity, but acts whether or not there is a discontinuity. This is explained in connection with the example ofFIG. 10a. When append92appends segments to the end of frames, function or device96fades down the PCM audio appended to the end of the modified frame and fades up the PCM audio in the beginning of the modified frame. This is explained in connection with the example ofFIG. 11a. The length of the faded-up and faded-down portions of modified frames should be substantially the same and criteria for selecting a suitable length are discussed below.

The “fade up and fade down” function or device may be separate functions or devices and may be separated such that one function or device performs fade up and another (perhaps remotely located from the other) performs fade down, or vice-versa.

FIG. 10ashows an example of three modified frames, one consecutive pair has no discontinuity and another pair does have a discontinuity. That is, one pair has the same sequential order as frames applied to the system and the other pair does not. The maintain or reorder function or device94has produced a further sequence that includes a discontinuity with respect to the original sequence. The fade-up and fade-down function or device operates on every frame whether or not a pair is discontinuous. InFIG. 10a, a faded-up appendage an−2′ is shown appended to the beginning of the (n−1)stframe and the end of the (n−1)stframe is faded down to provide a frame with appendage102. The next consecutive frame in this example, frame n, has a faded-up appendage an−1′ appended to its beginning and its end is faded down to provide a frame with appendage104. The next consecutive frame in this example, frame n+2, has a faded-up appendage an+1′ appended to its beginning and its end is faded down to provide a frame with appendage106. Thus, each modified frame is faded up and faded down regardless of whether or not there is a discontinuity. The fade ups are shown as a linear fade up. Other fade-up functions are possible as discussed below. The fade downs are shown as a linear fade down. Other fade-down functions are possible as discussed below. The fade-up and fade-down functions may preferably be complementary, but need not be, as is also discussed further below.

FIG. 11adiffers fromFIG. 10ain that it shows an example of three modified frames for the case in which the appendage is appended to the end of the frames, one consecutive pair has no discontinuity and another pair does have a discontinuity. That is, one pair has the same sequential order as frames applied to the system and the other pair does not. The maintain or reorder function or device94has produced a further sequence that includes a discontinuity with respect to the original sequence. The fade-up and fade-down function or device operates on every frame whether or not a pair is discontinuous. InFIG. 11a, a faded-down appendage an′ is shown appended to the end of the (n−1)stframe and the beginning of the (n−1)stframe is faded up to provide a frame with appendage108. The next consecutive frame in this example, frame n, has a faded-down appendage an+1′ appended to its end and its beginning is faded down to provide a frame with appendage110. The next consecutive frame in this example, frame n+2, has a faded-down appendage an+3′ appended to its end and its beginning is faded down to provide a frame with appendage112. Thus, each modified frame is faded up and faded down regardless of whether or not there is a discontinuity. The fade ups are shown as a linear fade up. Other fade-up functions are possible as discussed below. The fade downs are shown as a linear fade down. Other fade-down functions are possible as discussed below. The fade-up and fade-down functions preferably are complementary, as discussed below.

In the case of theFIG. 9boption, the fade up and fade down are applied by “fade up and fade down” function or device96to every modified frame produced by append92. Such faded-up and faded-down modified frames are then subjected to possible reordering by maintain or reorder94. The examples ofFIGS. 10aand11aare applicable to the output of maintain or reorder94ofFIG. 9b. An example of the output of “fade up and fade down”96ofFIG. 9bwould be the same as the examples ofFIGS. 10aand11aexcept that the order of the modified frames would be the same as the order of a ordered sequence applied to append92.

In bothFIGS. 9a9b, maintained or reordered faded-up and faded-down modified frames are applied to an “overlap and combine” function or device98that overlaps and additively combines every successive pair of faded-up and faded-down segments of PCM audio whether or not there is a discontinuity. Thus, every resulting frame has a crossfaded portion. When the pair of consecutive frames has the same order as the frames applied to the system, the crossfaded portion is substantially the same as the corresponding portion of the frame applied to the system. If the fade up and fade down are complementary and the complementary fading functions are obtained by a subtractive method, as discussed below, the crossfaded portion is essentially identical to the corresponding portion of the frame applied to the system. Less than essentially identical, but still substantially identical correspondence may be obtained when the complementary fading functions are obtained by a multiplicative method. When the pair of consecutive frames has a discontinuity, then the crossfaded portion provides a smooth crossfade from the PCM audio in one frame to that in the following frame, as in theFIG. 1system when there is a discontinuity.

The example ofFIG. 10ais shown overlapped and combined inFIG. 10bso as to have crossfaded portions114and116in successive ones of the modified frames. In this example, the overlapping and combining results in a concatenation of frames at frame boundaries118and120. Crossfade114, resulting from a pair of consecutive modified frames having no discontinuity, is between the audio in the end of frame n−1 and itself and so will be the same as the original audio in the end of frame n−1 depending on the accuracy of the fade-up and fade-down complementarity. Crossfade116is between the audio in the end of frame n and the audio in the end of frame n−1, just preceding frame n+2 and occurs within the end of frame n. Crossfade116provides a smooth crossfade from the PCM audio in frame n to that in frame n+2. An appendage such as faded-up appendage an−2′, appended to the beginning of frame n−1, may be used for another crossfade, which is not shown. Similarly, the down fade at the end of frame n+2 be used for another crossfade, which is not shown.

Similarly, the example ofFIG. 11ais shown overlapped and combined inFIG. 11bso as to have crossfaded portion122and124in successive ones of the modified frames. In this example, the overlapping and combining results in a concatenation of frames at frame boundaries126and128. Crossfade122, resulting from a pair of consecutive modified frames having no discontinuity, is between the audio in the beginning of frame n and itself and so will be the same as the original audio in the beginning of frame n depending on the accuracy of the fade-up and fade-down complementarity. Crossfade122is within frame n. Crossfade124is between the audio in the beginning of frame n+1 and the audio in the beginning of frame n+2 and occurs within the beginning of frame n+2. Crossfade124provides a smooth crossfade from the PCM audio in frame n to that in frame n+2. An appendage such as faded-up appendage an−2′, appended to the beginning of frame n−1, may be used for another crossfade, which is not shown. Similarly, the up fade at the beginning of frame n−1 be used for another crossfade, which is not shown.

FIG. 11cis similar toFIG. 11b, but also shows and example of the use of time compression and time expansion on the modified frames. InFIG. 11c, the three modified frames108,110and112are shown stored in a memory space100. Each is then time compressed so that they each fit within a frame period (frame boundaries125,126,128and129are shown and the time-compressed modified frames are shown as108′,110′ and112′). In order to transmit the modified frames in a single stream, the modified frames are time compressed so that each fits within a frame period. Although they may have a duration equal to the frame length, so that the result is a continuous datastream, they may also be shorter than the frame length as in theFIG. 11cexample, in which they are shown shorter than the frame period and placed arbitrarily within the frames. In practice, the time compressed frames my have a very high transmission rate (for example, across an SPDIF or AES-EBU transport) so that they take up only a fraction of the space between frame boundaries. The time compressed frames are then time decompressed, overlapped and added so as to produce a data stream having in sequence frames n−1, n and n2with crossfaded regions122and124as in theFIG. 11bexample.

Thus, in both theFIGS. 9aand9bvariations, a further ordered sequence of PCM audio frames is provided at the system output having the same order as one of the one or more ordered sequences of PCM audio frames or having one or more discontinuities between sequences of PCM audio frames, each of the sequences having the same order as one of the one or more ordered sequences of PCM audio frames or a portion thereof, consecutive pairs in the further order of PCM audio frames having an associated PCM audio crossfaded portion where the faded-up and faded-down PCM audio is overlapped and combined.

In practice, the devices or functions of the systems ofFIGS. 1,9aand9bmay be separated, for example, as shown inFIG. 12, into a “transmitter” function or device130, an optional “edit” function or device134(there may be multiple edit functions or devices, as mentioned above), and a “receiver” function or device138. Each of the three functions or devices may be remotely located from each other. As discussed below, edit134and receiver138may be integrated with each other. Such transmitters and receivers also form aspects of the present invention.

The output of transmitter130may be received by edit134by an optional “transmit/store” function or device132that transmits, stores, or transmits and stores using any suitable techniques. The output of edit134may be received by receiver138by a further optional “transmit/store” function or device136that transmits, stores, or transmits and stores using any suitable techniques. The transmission or storage in transmit/store132and136may be, variously, a single serial data stream, multiple data streams or data in memory space.

Transmitter130may include a coding device or function that encodes the transmitter output using lossy coding (such as, for example, a type of perceptual coding), lossless coding (such as, for example, Huffmann coding or Meridian Lossless Packing (MLP)) or a combination of lossy coding and lossless coding (such as, for example, perceptual coding and Huffmann coding). When transmitter130provides an encoded output, an appropriate decoder may be included in receiver138. Edit134may include an appropriate decoder and may encode its own output. Alternatively, encoding and decoding may be applied by functions or devices separate from transmitter130, edit134and receiver138. Such coding is useful to mitigate the increased data rate that results from modified frames that are larger than the original frames by amount of their appendages. For example, if the PCM audio frames have are the same length as NTSC video frames, namely 33.37 milliseconds, and if the appendage is 5 milliseconds, the modified frames are increased by a factor of (33.37+5)/33.37 or approximately 15% with respect to the input frames. To restore the data rate, a compression ratio of 100%/(100%+15%) or approximately 87% would be required, which is quite practical with a lossless compression system.

Transmitter130may include a time compressor so that modified frames, which include an appendage, may be transmitted during a time interval no greater than the frames from which they are derived. Such time compression is necessary when the transmitter130output is a serial data stream. When transmitter130provides a time-compressed output, an appropriate time decompressor may be included in receiver138. Edit134may include a time decompressor and may recompress its own output (most likely when the edit function or device includes a local receiver). Alternatively, time compression and decompression may be applied by functions or devices separate from transmitter130, edit134and receiver138.

A transmitter130according to the first approach of the invention, shown inFIG. 1includes the append2. An edit134according to the first approach ofFIG. 1includes the maintain or reorder4. A receiver138according to the first approach ofFIG. 1may include the remaining devices and functions shown inFIG. 1or, not only the remaining devices and functions shown inFIG. 1, but also the maintain or reorder4, in which case there is no separate edit134(the edit function or device is part of receiver138). These variations are summarized at the following table captioned “FIG.1”. There may be multiple edits134, and one or more of the edits134may include its own local receiver.

A transmitter130according to the second approach, first variation of the invention, shown inFIG. 9aincludes the append92. An edit134according to the second approach, first variation ofFIG. 9amay include the maintain or reorder94or both the maintain or reorder94and the fade up and fade down96. A receiver138according to the second approach, first variation ofFIG. 9aincludes the overlap and combine98and may include the fade up and fade down96if fade up and fade down96is not included in edit134, or not only fade up and fade down96but also maintain or reorder94, in which case there is not separate edit124(the edit function or device is part of receiver138). A receiver138that includes an overlap and combine98may also include a further maintain or reorder function or device. There may be multiple edit134devices or functions either apart from receiver128or one or more of them may be a part of receiver138(in which case, receiver138includes maintain or reorder94, fade up and fade down96, and overlap and combine98). These variations are summarized at the following table captioned “FIG. 9a”. There may be multiple edits134and one or more of the edits134may include its own local receiver.

A transmitter130according to the second approach, second variation of the invention, shown inFIG. 9bmay include the append device or function92or both the append device or function92and the fade up and fade down96. An edit134according to the second approach, second variation ofFIG. 9bmay include the maintain or reorder94. A receiver138according to the second approach, second variation ofFIG. 9bincludes the overlap and combine98and may include the maintain or reorder94or both the maintain or reorder94and the fade up and fade down96if the edit function or device is part of the receiver. A receiver138that includes an overlap and combine98may also include a further maintain or reorder function or device. There may be multiple edit134devices or functions either apart from receiver138or one or more of them may be a part of receiver138. These variations are summarized at the following table captioned “FIG.9b”. There may be multiple edits134and one or more of the edits134may include its own local receiver

Modulation Envelope

The fade-up and fade-down modulation envelope and the length of the crossfade region both have a direct impact on the audibility of the splice edit or crossfade.

A modulation envelope is a gain shape or profile which, when applied to the audio samples, typically transitions the audio from unity (gain=1.0) to silence (gain=0.0), or vice versa. Various functions exist for generating this modulation envelope and each provides for a different way of spectrally spreading the distortion created by the crossfade. Commonly used crossfade functions include a linear ramp (as shown in the various figures herein), log, Hanning, Hamming and sine.

The length of the crossfade region is the amount of time, in samples or seconds that is required to complete the crossfade. If the length of the crossfade region is too small (for example less than 5 milliseconds),the crossfade is not as effective at suppressing audible clicks or thumps. As one introduces crossfading and increases the overlap from zero, clicks turn into thumps that then become less and less audible as the length of the overlap grows. By the time one reaches a few ms or low tens of ms, one has substantially reduced the thumps to inaudibility (assuming a sensible design of fading function). However using a longer crossfade region also has two drawbacks. First, it results in an increase in the number of redundant samples associated with each frame (thus an increase in data rate overhead). Second, a listener will begin to notice the mixture of content in the crossfade region, which in certain circumstances, may not be desirable. For example, if dissimilar musical passages are being crossfaded, the crossfade region will have a mixture of different musical keys and tempos. If the crossfade is of sufficient length (for example greater than 100 milliseconds), the mixture will become apparent and most likely annoying.

It is therefore desirable to have a crossfade region length and modulation envelope function that together provide for a short transition time while minimizing audible artifacts. In practice, a Kaiser Bessel derived (KBD) squared function, as defined U.S. Pat. No. 5,903,872, with an alpha factor set equal to 1 and an overlap length of approximately 5 milliseconds has been found to be satisfactory.

In this invention, particularly in the second approach of the invention, shown in the examples ofFIGS. 9aand9b, the fade-up and fade-down modulation envelope function is typically symmetrical and complementary. By “symmetrical” is meant that the fading down envelope and the fading up envelope are time-reversed equivalents of each other. By “complementary” is meant that the fading down envelope and the fading up envelope sum to unity through the crossfade. However, the invention, particularly the first approach of the invention, shown in the example ofFIG. 1, does not preclude the use of asymmetric and/or non-complementary modulation envelopes. For example, it may be useful to alter the modulation envelope based on audio signal characteristics. If non-complementary modulation envelopes that summed to more than unity were to be used, it is possible that the resulting crossfaded audio may “clip”—that is sample values may exceed the gain limits of the unpacking device.

Crossfading Every Frame Boundary and Rounding Errors

As mentioned above, the second approach of the invention, as shown in the example ofFIGS. 9aand9b, preferably employs complementary modulation envelopes that do not introduce rounding errors.

Consider the following example of using complementary modulation envelopes. S(n) is an array of eight audio samples (index n=0 to 7) of random value in the range 0 to 1 and quantized to a precision of 3 bits (step size of one eighth or 0.125). In the following equation, the function random(8) generates an infinite precision value of uniform probability in the range 0 to 8 and the function round() rounds values to the nearest integer.

W(n) is a modulation envelope also quantized to a precision of 3 bits. In this example, a quarter sine wave has been selected but the modulation envelope function is arbitrary.

The complementary modulation envelope is one minus the window W(n), so that the sum of the modulation envelope and the complementary modulation envelope is one.
W(n)+(1−W(n))=1 for n=0 to 7   (3)

The following table shows the randomly generated samples as well as the modulation envelope and complementary modulation envelope coefficients.

Applying each modulation envelope to the samples and performing rounding to a precision of 3 bits, results in the following two arrays, A(n) and B(n).

Ideally, the sum of A(n) and B(n) should be equal to the original samples S(n) however a comparison of the original samples with the sum shows that there is rounding error for some samples (indexes n=3 and 4).

Complementary Crossfade

If instead of deriving the samples B(n) by multiplying S(n) by 1−W(n), they are generated by subtraction, the rounding errors cancel. This is defined in this invention as a “complementary crossfade.” Thus the new samples B′(n) are derived as S(n) minus A(n).
B′(n)=S(n)−A(n) for n=0 to 7   (7)
The error can now be expressed as A(n)+B′(n)−S(n) which simplifies to A(n)+S(n)−A(n)−S(n)=0 (for all n).

Thus, if complementary modulation envelopes are derived by such a subtractive technique, then rounding errors will cancel for pairs of sequential frames that do not have a discontinuity—that is, adjacent sequential frames that were created from the same original audio information signal.

The present invention and its various aspects may be implemented in analog circuitry, or more probably as software functions performed in digital signal processors, programmed general-purpose digital computers, and/or special purpose digital computers. Interfaces between analog and digital signal streams may be performed in appropriate hardware and/or as functions in software and/or firmware. Although the present invention and its various aspects may involve analog or digital signals, in practical applications most or all processing functions are likely to be performed in the digital domain on digital signal streams in which audio signals are represented by samples.

It should be understood that implementation of other variations and modifications of the invention and its various aspects will be apparent to those skilled in the art, and that the invention is not limited by these specific embodiments described. It is therefore contemplated to cover by the present invention any and all modifications, variations, or equivalents that fall within the true spirit and scope of the basic underlying principles disclosed and claimed herein.