Abstract:
A system for processing audio data comprising a first signal processing path configured to generate a mask control signal. A second signal processing path configured to generate a decorrelated input audio signal. A mixer configured to mix the mask control signal and the decorrelated input audio signal and to generate an output.

Description:
RELATED APPLICATIONS 
       [0001]    The present application claims priority to and benefit of U.S. Provisional Patent Application No. 62/092,603, filed on Dec. 16, 2014, U.S. Provisional Patent Application No. 62/133,167, filed on Mar. 13, 2015, U.S. Provisional Patent Application No. 62/156,061, filed on May 1, 2015, and U.S. Provisional Patent Application No. 62/156,065, filed on May 1, 2015, each of which are hereby incorporated by reference for all purposes as if set forth herein in their entirety. 
     
    
     TECHNICAL FIELD 
       [0002]    The present disclosure relates generally to audio data processing, and more specifically to a system and method for masking artifacts in highly compressed audio. 
       BACKGROUND OF THE INVENTION 
       [0003]    In highly-compressed audio data, the resulting sound can include a number of sound artifacts that detract from the quality of the audio data. 
       SUMMARY OF THE INVENTION 
       [0004]    A system for processing audio data is provided that includes a first signal processing path that generates a mask control signal, which has a large value when audio artifacts are present and a small value when audio artifacts are not present. A second signal processing path generates a decorrelated input audio signal, and a mixer mixes the mask control signal and the decorrelated input audio signal to generate an output. 
         [0005]    Other systems, methods, features, and advantages of the present disclosure will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present disclosure, and be protected by the accompanying claims. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0006]    Aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views, and in which: 
           [0007]      FIG. 1  is a diagram of a system for providing artifact masking of audio data artifacts in accordance with an exemplary embodiment of the present disclosure; and 
           [0008]      FIG. 2  is a diagram of an algorithm for processing audio data to mask artifacts in accordance with an exemplary embodiment of the present disclosure. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0009]    In the description that follows, like parts are marked throughout the specification and drawings with the same reference numerals. The drawing figures might not be to scale and certain components can be shown in generalized or schematic form and identified by commercial designations in the interest of clarity and conciseness. 
         [0010]      FIG. 1  is a diagram of a system  100  for providing artifact masking of audio data artifacts in accordance with an exemplary embodiment of the present disclosure. System  100  can be implemented in hardware or a suitable combination of hardware and software, and can be one or more software systems operating on a special purpose audio processor or other suitable devices. 
         [0011]    As used herein, “hardware” can include a combination of discrete components, an integrated circuit, an application-specific integrated circuit, a field programmable gate array, or other suitable hardware. As used herein, “software” can include one or more objects, agents, threads, lines of code, subroutines, separate software applications, two or more lines of code or other suitable software structures operating in two or more software applications, on one or more processors (where a processor includes a microcomputer or other suitable controller, memory devices, input-output devices, displays, data input devices such as a keyboard or a mouse, peripherals such as printers and speakers, associated drivers, control cards, power sources, network devices, docking station devices, or other suitable devices operating under control of software systems in conjunction with the processor or other devices), or other suitable software structures. In one exemplary embodiment, software can include one or more lines of code or other suitable software structures operating in a general purpose software application, such as an operating system, and one or more lines of code or other suitable software structures operating in a specific purpose software application. As used herein, the term “couple” and its cognate terms, such as “couples” and “coupled,” can include a physical connection (such as a copper conductor), a virtual connection (such as through randomly assigned memory locations of a data memory device), a logical connection (such as through logical gates of a semiconducting device), other suitable connections, or a suitable combination of such connections. 
         [0012]    System  100  includes AGC core  102 , which provides automatic gain control of input audio data, which can be digital audio data in the time domain or other suitable audio data. AGC core  102  provides averaged input audio data over a 200 millisecond period or other suitable periods. The output of AGC core  102  is provided to AGC multiplier  104  with the input audio data, and which normalizes the input audio data. The output of AGC multiplier  104  is then provided to de-interleaver  106 , which can separate the audio data into left and right channels or other suitable numbers of channels, if multiple channels are present. Subtracter  108  subtracts the left channel from the right channel and maximum absolute value detector  110  generates an output for downward expander  112 . The output of maximum absolute value detector  110  provides an indication of the level of audio artifacts in the audio data, as highly compressed audio with a large number of audio artifacts will also have a large value of L−R. 
         [0013]    Downward expander  112  can have a very short attack time such as 0.01 milliseconds or less, and a decay time that ranges from 10 to 80 milliseconds, such as 30 milliseconds. This signal is provided to AGC multiplier  114  with the low frequency signal components from reverb  120  (discussed below). The output of AGC multiplier  114  is the relative magnitude of the envelope of the L−R to L + R ratio. When a “wide” signal is being processed, which is one where the value of L−R is greater than the value of L + R, then downward expander  112  has a gain of zero, so that when the ratio of L−R to L+R is 1 (which is representative of a normal stereo signal), AGC multiplier  114  is provided with a control signal that turns it all the way on. This configuration results in a maximum injection of scaled, decorrelated low pass stereo. Thus, where the L−R component is large, which usually results in the generation of more audio artifacts, the maximum amount of auxiliary masker signals will be injected into the L−R signal. 
         [0014]    More audio artifacts are typically generated with a large L−R value, such as when the number of bits of audio data that still need to be encoded as the encoder approaches the end of a frame, the codec looks for ways to save the number of bits that need to be encoded. In this case, some frequency lines might get set to zero (deleted), typically high frequency content. Furthermore, when the loss of bandwidth changes from frame to frame, the generation of artifacts can become more noticeable. For example, encoders can switch between mid/side stereo coding and intensity stereo coding for lower bit-rates, but switching between modes can result in the generation of audio artifacts. 
         [0015]    The output of AGC multiplier  114  is provided to de-interleaver  126 , which separates the signal into left and right channel components. The left channel component is provided to Hilbert transform  130 , and the right channel component is inverted by inverter  132  and is provided to Hilbert transform  134 . 
         [0016]    The input audio data is also provided to crossover filter  116  which generates a low frequency component that is provided to scaler  118  and adder  122 , and a high frequency component that is also added to adder  122 . The use of crossover  116  and adder  122  generates audio data having the same phase as the low pass filter by itself, and helps to synchronize the processed L−R audio and the unprocessed L−R audio. The sum has a flat magnitude response, where the phase is at 90 or 270 shift relative to crossover  116 . Low pass filter  124  removes high frequency components and the resulting signal is provided to de-interleaver  128 , which generates a left channel output to Hilbert transform  130  and a right channel output to Hilbert transform  134 . 
         [0017]    The low frequency output from crossover filter  116  is provided to scaler  118 , which scales the low frequency output and provides the low frequency output to reverb  120 , which can utilize a variable time delay unit such as that disclosed in co-pending application ______, attorney docket number 142638.00015, entitled System and Method for Decorrelating Audio Data, which is commonly owned with this application and which is hereby incorporated by reference for all purposes as if set forth herein in its entirety. The decorrelated low frequency audio data mixes with the output of downward expander  112 , as discussed. The left channel components provided to Hilbert filter  130  are added by adder  136 , and the right channel frequency components provided to Hilbert filter  134  are added by adder  138 . The outputs of adders  136  and  138  are then provided to interleaver  140  to generate an output audio signal. Hilbert filter  130  receives the low pass, decorrelated multiplied version of L−R at a 90 degree-shifted input, and unprocessed L−R audio at 0 degrees, which sums the negative components and will not cause the audio image to shift to the left. Hilbert filter  134  generates synthetic artifact masking by moving the artifacts to the back of the image, where other artifacts are, and not in the front stereo image, where the audio artifacts will be more readily apparent. 
         [0018]    In operation, system  100  eliminates audio artifacts that are generated when audio data that has a large L−R to L+R ratio is being processed, by generating masking signals that cause the audio artifacts to be relocated out of the front stereo audio and moved into the surround stereo audio. 
         [0019]      FIG. 2  is a diagram of an algorithm  200  for processing audio data in accordance with an exemplary embodiment of the present disclosure. Algorithm  200  can be implemented in hardware or a suitable combination of hardware and software, and can be one or more software systems operating on a special purpose audio processor. 
         [0020]    Algorithm  200  begins at  202  and  234  in parallel. At  202 , input audio data is separated into low and high frequency components, and then proceeds in parallel to  204  and  210 . At  204 , the low and high frequency components are added back together, and at  206 , the combined low and high frequency components are processed with a low pass filter. The left and right channel components of the audio data are then separated. 
         [0021]    At  210 , the low frequency components are scaled and are then decorrelated at  212 , such as by processing through a reverb processor or in other suitable manners. 
         [0022]    At  224 , the input audio is processed to remove DC components of the audio data and to average the audio data over 200 millisecond periods. The algorithm then proceeds to  226  where the level is normalized, and then the left and right channels are separated at  228 , such as with a de-interleaver or in other suitable manners. At  230 , the difference between the left and right channel audio data is determined, such as by subtraction or in other suitable manners, and the algorithm proceeds to  232  where the maximum absolute value of the difference signal is determined. The algorithm then proceeds to  234  where a mask control signal is generated, such as by using a downward expander or in other suitable manners. The mask control signal is then multiplied at  214  with the decorrelated low frequency audio signal components, and is separated into left and right channel signals at  216 . 
         [0023]    At  218 , the left channel components from  208  and  216  are added, either directly or after other suitable processing, such as inversion, and at  220 , the right channel components from  208  and  216  are added, either directly or after other suitable processing, such as inversion. The combined left and right audio channel inputs are then used to generate an audio output signal having improved masking of audio artifacts. 
         [0024]    It should be emphasized that the above-described embodiments are merely examples of possible implementations. Many variations and modifications may be made to the above-described embodiments without departing from the principles of the present disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.