AU2013257391A1 - An apparatus and a method for generating bandwidth extension output data - Google Patents
An apparatus and a method for generating bandwidth extension output data Download PDFInfo
- Publication number
- AU2013257391A1 AU2013257391A1 AU2013257391A AU2013257391A AU2013257391A1 AU 2013257391 A1 AU2013257391 A1 AU 2013257391A1 AU 2013257391 A AU2013257391 A AU 2013257391A AU 2013257391 A AU2013257391 A AU 2013257391A AU 2013257391 A1 AU2013257391 A1 AU 2013257391A1
- Authority
- AU
- Australia
- Prior art keywords
- data
- noise floor
- audio signal
- signal
- bandwidth extension
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Abstract: An apparatus (100) for generating bandwidth extension output data (102) for an audio signal (105) comprises a noise floor measurer (110), a signal energy characterizer (120) and a processor (130). The audio signal (105) comprises components in a first frequency band (105a) and components in a second frequency band (105b), the bandwidth extension output data (102) are adapted to control a synthesis of the components in the second frequency band (105b). The noise floor measurer (110) measures noise floor data (115) of the second frequency band (105b) for a time portion (T) of the audio signal (105). The signal energy characterizer (120) derives energy distribution data (125), the energy distribution data (125) characterizing an energy distribution in a spectrum of the time portion (T) of the audio signal (105). The processor (130) combines the noise floor data (115) and the energy distribution data (125) to obtain the bandwidth extension output data (102). 4856902 1 (GHMatters) P86095.AU.1 105a,b 115 noise floor measurer processor signal energy characterizer 105a,b 125 130
Description
1 An Apparatus and a Method for Generating Bandwidth Extension Output Data Related Application 5 This application is a divisional application of Australian application no. 2009267530, the disclosure of which is incorporated herein by reference. Most of the disclosure of that application is also included herein, however, reference may be 10 made to the specification of application no. 2009267530 as filed or accepted to gain further understanding of the invention claimed herein. Description 15 The present invention relates to an apparatus and a method for generating bandwidth extension (BWE) output data, an audio encoder and an audio decoder. 20 Natural audio coding and speech coding are two major classes of codecs for audio signals. Natural audio coding is commonly used for music or arbitrary signals at medium bit rates and generally offers wide audio bandwidths. Speech coders are basically limited to speech reproduction and may be used at very low bit 25 rate. Wide band speech offers a major subjective quality improvement over narrow band speech. Further, due to the tremendous growth of the multimedia field, transmission of music and other non-speech signals as well as storage and, for example, transmission for radio/TV at high quality over 30 telephone systems is a desirable feature. To drastically reduce the bit rate, source coding can be performed using split-band perceptual audio codecs. These natural audio codecs exploit perceptual irrelevance and 35 statistical redundancy in the signal. In case exploitation of the above alone is not sufficient with respect to the given bit rate constraints the sample rate is reduced. It is also common 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 2 to decrease the number of composition levels, allowing occasional audible quantization distortion, and to employ degradation of the stereo field through joint stereo coding or parametric coding of two or more channels. Excessive use of such 5 methods results in annoying perceptual degradation. In order to improve the coding performance, bandwidth extension methods such as spectral band replication (SBR) is used as an efficient method to generate high frequency signals in an HFR (high frequency reconstruction) based codec. 10 In recording and transmitting acoustic signals a noise floor such as background noise is always present. In order to generate an authentic acoustic signal on the decoder side, the noise floor should either be transmitted or be generated. In the 15 latter case, the noise floor in the original audio signal should be determined. In spectral band replication, this is performed by SBR tools or SBR related modules, which generate parameters that characterize (besides other things) the noise floor and that are transmitted to the decoder to reconstruct the noise 20 floor. In WO 00/45379, an adaptive noise floor tool is described, which provides sufficient noise contents in the synthesized high band frequency components. However, disturbing artifacts in the high 25 band frequency components are generated if, in the base band, short-time energy fluctuations or so-called transients occur. These artifacts are perceptually not acceptable and prior art does not provide an acceptable solution (especially if the bandwidth is limited). 30 Summary of the Invention In a first broad aspect the invention provides an apparatus for generating bandwidth extension output data for an 35 audio signal, the audio signal comprising components in a first frequency band and components in a second frequency band, the bandwidth extension output data are adapted to 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 3 control a synthesis of the components in the second frequency band, the apparatus comprising: a noise floor measurer for measuring noise floor data of 5 the second frequency band for a time portion of the audio signal; a signal energy characterizer for deriving energy distribution data, the energy distribution data 10 characterizing an energy distribution in a spectrum of the time portion of the audio signal; and a processor for combining the noise floor data and the energy distribution data to obtain the bandwidth extension 15 output data, wherein the processor is configured to change the noise floor data calculated by the noise floor measurer in accordance to the energy distribution data to obtain 20 modified noise floor data, wherein the change of the noise floor data to obtain the modified noise floor data is such that a modified noise floor corresponding to the modified noise floor data is 25 increased for an audio signal comprising more sibilance compared to an audio signal comprising less sibilance, wherein the apparatus for generating bandwidth extension output data is configured to perform a decision to 30 determine whether the time portion of the audio signal either is a speech signal or is a non-speech signal, wherein the noise floor data measured by the noise floor measurer is used as the bandwidth extension output data, 35 when the time portion of the audio signal is a non-speech signal, and 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 4 wherein, when the time portion of the audio signal is a speech signal, an additional speech analysis is performed by the signal energy characterizer to determine a degree of sibilance of the speech signal, and wherein the 5 processor is configured to add the modified noise floor data to a bitstream as the bandwidth extension output data, when the time portion of the audio signal is a speech signal. 10 In a second broad aspect the invention provides an encoder for encoding an audio signal, the audio signal comprising components in a first frequency band and components in a second frequency band, the encoder comprising: 15 a core coder for encoding the components in the first frequency band; an apparatus for generating bandwidth extension output data according to the first broad aspect; and 20 an envelope data calculator for calculating bandwidth extension data based on components in the second frequency band, wherein the calculated bandwidth extension data comprise the bandwidth extension output data. 25 In a third broad aspect the invention provides a method for generating bandwidth extension output data for an audio signal, the audio signal comprising components in a first frequency band and components in a second frequency 30 band, the bandwidth extension output data are adapted to control a synthesis of the components in the second frequency band, the method comprising: measuring noise floor data of the second frequency band 35 for a time portion of the audio signal; deriving energy distribution data, the energy distribution data characterizing an energy distribution in a spectrum of the time portion of the audio signal; and 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 5 combining the noise floor data and the energy distribution data to obtain the bandwidth extension output data, 5 wherein, in the step of combining, the noise floor data calculated by the step of measuring the noise floor data is changed in accordance to the energy distribution data to obtain modified noise floor data, 10 wherein the change of the noise floor data to obtain the modified noise floor data is such that a modified noise floor corresponding to the modified noise floor data is increased for an audio signal comprising more sibilance compared to an audio signal comprising less sibilance, 15 wherein the method for generating bandwidth extension output data further comprises the step of performing a decision to determine whether the time portion of the audio signal either is a speech signal or is a non-speech 20 signal, wherein the noise floor data measured by the noise floor measurer is used as the bandwidth extension output data, when the time portion of the audio signal is a non-speech 25 signal, and wherein, when the time portion of the audio signal is a speech signal, an additional speech analysis is performed by the step of deriving to determine a degree of sibilance 30 of the speech signal, and wherein the modified noise floor data is added to a bitstream as the bandwidth extension output data, when the time portion of the audio signal is a speech signal. 35 In a fourth broad aspect the invention provides a computer program for performing, when running on a computer, the method of the third broad aspect. 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 6 Embodiments of the present invention are based on the finding that an adaptation of a measured noise floor depending on energy distribution of the audio signal within a time portion can 5 improve the perceptual quality of a synthesized audio signal on the decoder side. Although from the theoretical standpoint an adaptation or manipulation of the measured noise floor is not needed, the conventional techniques to generate the noise floor show a number of drawbacks. On the one hand, the estimation of 10 the noise floor based on a tonality measure, as it is performed by conventional methods, is difficult and not always accurate. On the other hand, the aim of the noise floor is to reproduce the correct tonality impression on the decoder side. Even if the subjective tonality impression for the original audio signal and 15 the decoded signal is the same, there is still the possibility of generated artifacts; e.g. for speech signals. Subjective tests show that different types of speech signals should be treated differently. In voiced speech signals a 20 lowering of the calculated noise floor yields a perceptually higher quality when compared to the original calculated noise floor. As result speech sounds less reverberant in this case. In case the audio signal comprise sibilants an artificial increase of the noise floor may cover up drawbacks in the patching method 25 related to sibilants. For example, short-time energy fluctuations (transients) produce disturbing artifacts when shifted or transformed into the higher frequency band and an increase in the noise floor may also cover these energy fluctuations up. 30 Said transients may be defined as portions within conventional signals, wherein a strong increase in energy appears within a short period of time, which may or may not be constrained on a specific frequency region. Examples for transients are hits of 35 castanets and of percussion instruments, but also certain sounds of the human voice as, for example, the letters: P, T, K,. The detection of this kind of transient is implemented so far 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 7 always in the same way or by the same algorithm (using a transient threshold), which is independent of the signal, whether it is classified as speech or classified as music. In addition, a possible distinction between voiced and unvoiced 5 speech does not influence the conventional or classical transient detection mechanism. Hence, embodiments provide a decrease of the noise floor for signals such as voiced speech and an increase of the noise floor 10 for signals comprising, e.g., sibilants. To distinguish the different signals, embodiments use energy distribution data (e.g. a sibilance parameter) that measure whether the energy is mostly located at higher frequencies or at 15 lower frequencies, or in other words, whether the spectral representation of the audio signal shows an increasing or decreasing tilt towards higher frequencies. Further embodiments also use the first LPC coefficient (LPC = linear predictive coding) to generate the sibilance parameter. 20 There are two possibilities for changing the noise floor. The first possibility is to transmit said sibilance parameter so that the decoder can use the sibilance parameter in order to adjust the noise floor (e.g. either to increase or decrease the 25 noise floor in addition to the calculated noise floor) . This sibilance parameter may be transmitted in addition to the calculated noise floor parameter by conventional methods or calculated on decoder side. A second possibility is to change the transmitted noise floor by using the sibilance parameter (or 30 the energy distribution data) so that the encoder transmits modified noise floor data to the decoder and no modifications are needed on the decoder side - the same decoder may be used. Therefore, the manipulation of the noise floor can in principle be done on the encoder side as well as on the decoder side. 35 The spectral band replication as an example for the bandwidth extension relies on SBR frames defining a time portion in which 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 8 the audio signal is separated into components in the first frequency band and the second frequency band. The noise floor can be measured and/or changed for the whole SBR frame. Alternatively, it is also possible that the SBR frame is divided 5 into noise envelopes, so that for each of the noise envelopes, an adjustment for the noise floor can be performed. In other words, the temporal resolution of the noise floor tools is determined by the so-called noise-envelopes within the SBR frames. According to the Standard (ISO/IEC 14496-3), each SBR 10 frame comprises a maximum of two noise-envelopes, so that an adjustment of the noise floor can be made on the basis partial SBR frames. For some applications, this might be sufficient. It is, however, also possible to increase the number of noise envelopes in order to improve the model for temporal varying 15 tonality. Hence, as indicated above, embodiments comprise an apparatus for generating BWE output data for an audio signal, wherein the audio signal comprises components in a first frequency band and 20 a second frequency band and the BWE output data is adapted to control a synthesis of the components in the second frequency band. The apparatus comprises a noise floor measurer for measuring noise floor data of the second frequency band for a time portion of the audio signal. Since the measured noise floor 25 influences the tonality of the audio signal, the noise floor measurer may comprise a tonality measurer. Alternatively, the noise floor measurer can be implemented to measure the noisiness of a signal in order to obtain the noise floor. The apparatus further comprises a signal-energy characterizer for deriving 30 energy distribution data, wherein the energy distribution data characterize an energy distribution in a spectrum of the time portion of the audio signal and, finally, the apparatus comprises a processor for combining the noise floor data and the energy distribution data to obtain the BWE output data. 35 In further embodiments, the signal energy characterizer is adapted to use the sibilance parameter as the energy 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 9 distribution data and the sibilance parameter can, for example, be the first LPC coefficient. In further embodiments, the processor is adapted to add the energy distribution data to the bitstream of encoded audio data or, alternatively, the processor 5 is adapted to adjust the noise floor parameter such that the noise floor is either increased or decreased depending on the energy distribution data (signal dependent). In this embodiment, the noise floor measurer will first measure the noise floor to generate noise floor data, which will be adjusted or changed by 10 the processor later on. In further embodiments, the time portion is an SBR frame and the signal energy characterizer is adapted to generate a number of noise floor envelopes per SBR frame. As a consequence, the noise 15 floor measurer as well as the signal energy characterizer may be adapted to measure the noise floor data as well as the derived energy distribution data for each noise floor envelope. The number of noise floor envelopes can, for example, be 1, 2, 4, ... per SBR frame. 20 Further embodiments comprise also a spectral band replication tool used in a decoder to generate components in a second frequency band of the audio signal. In this generation spectral band replication output data and raw signal spectral 25 representation for the components in the second frequency band are used. The spectral band replication tool comprises a noise floor calculation unit, which is configured to calculate a noise floor in accordance to the energy distribution data, and a combiner for combining the raw signal spectral representation 30 with the calculated noise floor to generate the components in the second frequency band with the calculated noise floor. Brief Description of the Drawings 35 The present invention will now be described by way of illustrated examples. Features of the invention will be more readily appreciated and better understood by reference to the 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 10 following detailed description, which should be considered with reference to the accompanying drawings, in which: Fig. 1 shows a block diagram of an apparatus for generating 5 BWE output data according to embodiments of the present invention; Fig. 2a illustrates a negative spectral tilt of a non sibilant signal; 10 Fig. 2b illustrates a positive spectral tilt for a sibilant like signal; Fig. 2c explains the calculation of the spectral tilt m based 15 on low-order LPC parameters; Fig. 3 shows a block diagram of an encoder; Fig. 4 shows block diagrams for processing the coded audio 20 stream to output PCM samples on a decoder side; Fig. 5a,b show a comparison of a conventional noise floor calculation tool with a modified noise floor calculation tool according to embodiments; and 25 Fig. 6 illustrates the partition of an SBR frame in a predetermined number of time portions. Fig. 1 shows an apparatus 100 for generating bandwidth extension 30 (BWE) output data 102 for an audio signal 105. The audio signal 105 comprises components in a first frequency band 105a and components of a second frequency band 105b. The BWE output data 102 are adapted to control a synthesis of the components in the second frequency band 105b. The apparatus 100 comprises a noise 35 floor measurer 110, a signal energy characterizer 120 and a processor 130. The noise floor measurer 110 is adapted to measure or determine noise floor data 115 of the second 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 11 frequency band 105b for a time portion of the audio signal 105. In detail, the noise floor may be determined by comparing the measured noise of the base band with the measured noise of the upper band, so that the amount of noise needed after patching to 5 reproduce a natural tonality impression may be determined. The signal energy characterizer 120 derives energy distribution data 125 characterizing an energy distribution in a spectrum of the time portion of the audio signal 105. Therefore, the noise floor measurer 110 receives, for example, the first and/or second 10 frequency band 105a,b and the signal energy characterizer 120 receives, for example, the first and/or the second frequency band 105a, b. The processor 130 receives the noise floor data 115 and the energy distribution data 125 and combines them to obtain the BWE output data 102. Spectral band replication 15 comprises one example for the bandwidth extension, wherein the BWE output data 102 become SBR output data. The following embodiments will mainly describe the example of SBR, but the inventive apparatus/method is not restricted to this example. 20 The energy distribution data 125 indicates a relation between the energy contained within the second frequency band compared to the energy contained in the first frequency band. In the simplest case the energy distribution data is given by a bit indicating whether more energy is stored within the base band 25 compared to the SBR band (upper band) or vice versa. The SBR band (upper band) may, for example, be defined as frequency components above a threshold, which may be given, for example, by 4 kHz and the base band (lower band) may be the components of the signal, which are below this threshold frequency (for 30 example, below 4 kHz or another frequency) . Examples for these threshold frequencies would be 5 kHz or 6 kHz. Figs. 2a and 2b show two energy distributions in the spectrum within a time portion of the audio signal 105. The energy 35 distributions displayed by a level P as a function of the frequency F as analog signal, which may also be an envelope of a signal given by a plurality of samples or lines (transformed 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 12 into the frequency domain) . The shown graphs are also much simplified to visualize the spectral tilt concept. The lower and upper frequency band may be defined as frequencies below or above a threshold frequency FO (cross over frequency, e.g. 500 5 Hz, 1 kHz or 2 kHz). Fig. 2a shows an energy distribution exhibiting a falling spectral tilt (decreasing with higher frequencies) . In other words, in this case, there is more energy stored in the low 10 frequency components than in the high frequency components. Hence, the level P decreases for higher frequencies implying a negative spectral tilt (decreasing function) . Hence, a level P comprises a negative spectral tilt if the signal level P indicates that there is less energy in the upper band (F > Fo) 15 than in the lower band (F < FO) . This type of signal occurs, for example, for an audio signal comprising a low or no amount of sibilance. Fig. 2b shows the case, wherein the level P increases with the 20 frequencies F implying a positive spectral tilt (an increasing function of the level P depending on the frequencies) . Hence, the level P comprises a positive spectral tilt if the signal level P indicates that there is more energy in the upper band (F > FO) compared to the lower band (F < FO) . Such an energy 25 distribution is generated if the audio signal 105 comprises, for example, said sibilants. Fig. 2a illustrates a power spectrum of a signal having a negative spectral tilt. A negative spectral tilt means a falling 30 slope of the spectrum. Contrary thereto, Fig. 2b illustrates a power spectrum of a signal having a positive spectral tilt. Said in other words, this spectral tilt has a rising slope. Naturally, each spectrum such as the spectrum illustrated in Fig. 2a or the spectrum illustrated in Fig. 2b will have 35 variations in a local scale which have slopes different from the spectral tilt. 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 13 The spectral tilt may be obtained, when, for example, a straight line is fitted to the power spectrum such as by minimizing the squared differences between this straight line and the actual spectrum. Fitting a straight line to the spectrum can be one of 5 the ways for calculating the spectral tilt of a short-time spectrum. However, it is preferred to calculate the spectral tilt using LPC coefficients. The publication "Efficient calculation of spectral tilt from 10 various LPC parameters" by V. Goncharoff, E. Von Colln and R. Morris, Naval Command, Control and Ocean Surveillance Center (NCCOSC), RDT and E Division, San Diego, CA 92152-52001, May 23, 1996 discloses several ways to calculate the spectral tilt. 15 In one implementation, the spectral tilt is defined as the slope of a least-squares linear fit to the log power spectrum. However, linear fits to the non-log power spectrum or to the amplitude spectrum or any other kind of spectrum can also be applied. This is specifically true in the context of the present 20 invention, where, in the preferred embodiment, one is mainly interested in the sign of the spectral tilt, i.e., whether the slope of the linear fit result is positive or negative. The actual value of the spectral tilt, however, is of no big importance in a high efficiency embodiment of the present 25 invention, but the actual value can be important in more elaborate embodiments. When linear predictive coding (LPC) of speech is used to model its short-time spectrum, it is computationally more efficient to 30 calculate spectral tilt directly from the LPC model parameters instead of from the log power spectrum. Fig. 2c illustrates an equation for the cepstral coefficients ck corresponding to the nth order all-pole log power spectrum. In this equation, k is an integer index, p, is the nth pole in the all-pole representation 35 of the z-domain transfer function H(z) of the LPC filter. The next equation in Fig. 2c is the spectral tilt in terms of the cepstral coefficients. Specifically, m is the spectral tilt, k 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 14 and n are integers and N is the highest order pole of the all pole model for H(z) . The next equation in Fig. 2c defines the log power spectrum S(o) of the Nth order LPC filter. G is the gain constant and ak are the linear predictor coefficients, and 5 o is equal to 2xxxf, where f is the frequency. The lowest equation in Fig. 2c directly results in the cepstral coefficients as a function of the LPC coefficients ak. The cepstral coefficients ck are then used to calculate the spectral tilt. Generally, this method will be more computationally 10 efficient than factoring the LPC polynomial to obtain the pole values, and solving for spectral tilt using the pole equations. Thus, after having calculated the LPC coefficients ak, one can calculate the cepstral coefficients ck using the equation at the bottom of Fig. 2c and, then, one can calculate the poles pn from 15 the cepstral coefficients using the first equation in Fig. 2c. Then, based on the poles, one can calculate the spectral tilt m as defined in the second equation of Fig. 2c. It has been found that the first order LPC coefficient a1 is 20 sufficient for having a good estimate for the sign of the spectral tilt. a1 is, therefore, a good estimate for c 1 . Thus, ci is a good estimate for p1. When p1 is inserted into the equation for the spectral tilt m, it becomes clear that, due to the minus sign in the second equation in Fig. 2c, the sign of the spectral 25 tilt m is inverse to the sign of the first LPC coefficient a1 in the LPC coefficient definition in Fig. 2c. Preferably, the signal energy characterizer 120 is configured to generate, as the energy distribution data, an indication on a 30 sign of the spectral tilt of the audio signal in a current time portion of the audio signal. Preferably, the signal energy characterizer 120 is configured to generate, as the energy distribution data, data derived from an 35 LPC analysis of a time portion of the audio signal for estimating one or more low order LPC coefficients and derive the 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 15 energy distribution data from the one or more low order LPC coefficients. Preferably, the signal energy characterizer 120 is configured 5 only calculate the first LPC coefficient and to not calculate additional LPC coefficients and to derive the energy distribution data from a sign of the first LPC coefficient. Preferably, the signal energy characterizer 120 is configured 10 for determining the spectral tilt as a negative spectral tilt, in which a spectral energy decreases from lower frequencies to higher frequencies, when the first LPC coefficient has a positive sign, and to detect the spectral tilt as a positive spectral tilt, in which the spectral energy increases from lower 15 frequencies to higher frequencies, when the first LPC coefficient has a negative sign. In other embodiments, the spectral tilt detector or signal energy characterizer 120 is configured to not only calculate the 20 first order LPC coefficients but to calculate several low order LPC coefficients such as LPC coefficients until the order of 3 or 4 or even higher. In such an embodiment, the spectral tilt is calculated to such an high accuracy that one can not only indicate the sign as a sibilance parameter, but also a value 25 depending on the tilt, which has more than two values as in the sign embodiment. As said above sibilance comprises a large amount of energy in the upper frequency region, whereas for parts with no or only 30 little sibilance (for example, vowels) the energy is mostly distributed within the base band (the low frequency band). This observation can be used in order to determine whether or to which extend a speech signal part comprise a sibilant or not. 35 Hence, the noise floor measurer 110 (detector) can use the spectral tilt for the decision about the amount of sibilance or to give the degree of sibilance within a signal. The spectral 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 16 tilt can basically be obtained from a simple LPC analysis of the energy distribution. It may, for example, be sufficient to calculate the first LPC coefficient in order to determine the spectral tilt parameter (sibilance parameter), because from the 5 first LPC coefficient the behavior of the spectrum (whether an increasing or decreasing function) can be inferred. This analysis may be performed within the signal energy characterizer 120. In case the audio encoder uses LPC for decoding the audio signal, there may be no need to transmit the sibilance 10 parameter, since the first LPC coefficient may be used as energy distribution data on the decoder side. In embodiments the processor 130 may be configured to change the noise floor data 115 in accordance to the energy distribution 15 data 125 (spectral tilt) to obtain modified noise floor data, and the processor 130 may be configured to add the modified noise floor data to a bitstream comprising the BWE output data 102. The change of the noise floor data 115 may be such that the modified noise floor is increased for an audio signal 105 20 comprising more sibilance (Fig. 2b) compared to an audio signal 105 comprising less sibilance (Fig. 2a). The apparatus 100 for generating bandwidth extension (BWE) output data 102 can be part of an encoder 300. Fig. 3 shows an 25 embodiment for the encoder 300, which comprises BWE related modules 310 (which may, e.g., comprise SBR related modules), an analysis QMF bank 320, a low pass filter (LP-filter) 330, an AAC core encoder 340 and a bit stream payload formatter 350. In addition, the encoder 300 comprises the envelope data calculator 30 210. The encoder 300 comprises an input for PCM samples (audio signal 105; PCM = pulse code modulation), which is connected to the analysis QMF bank 320, and to the BWE-related modules 310 and to the LP-filter 330. The analysis QMF bank 320 may comprise a high pass filter to separate the second frequency band 105b 35 and is connected to the envelope data calculator 210, which, in turn, is connected to the bit stream payload formatter 350. The LP-filter 330 may comprise a low pass filter to separate the 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 17 first frequency band 105a and is connected to the AAC core encoder 340, which, in turn, is connected to the bit stream payload formatter 350. Finally, the BWE-related module 310 is connected to the envelope data calculator 210 and to the AAC 5 core encoder 340. Therefore, the encoder 300 down-samples the audio signal 105 to generate components in the core frequency band 105a (in the LP filter 330), which are input into the AAC core encoder 340, 10 which encodes the audio signal in the core frequency band and forwards the encoded signal 355 to the bit stream payload formatter 350 in which the encoded audio signal 355 of the core frequency band is added to the coded audio stream 345 (a bit stream). On the other hand, the audio signal 105 is analyzed by 15 the analysis QMF bank 320 and the high pass filter of the analysis QMF bank extracts frequency components of the high frequency band 105b and inputs this signal into the envelope data calculator 210 to generate BWE data 375. For example, a 64 sub-band QMF BANK 320 performs the sub-band filtering of the 20 input signal. The output from the filterbank (i.e. the sub-band samples) are complex-valued and, thus, over-sampled by a factor of two compared to a regular QMF bank. The BWE-related module 310 may, for example, comprise the 25 apparatus 100 for generating the BWE output data 102 and controls the envelope data calculator 210 by providing, e.g., the BWE output data 102 (sibilance parameter) to the envelope data calculator 210. Using the audio components 105b generated by the Analysis QMF bank 320, the envelope data calculator 210 30 calculates the BWE data 375 and forwards the BWE data 375 to the bit stream payload formatter 350, which combines the BWE data 375 with the components 355 encoded by the core encoder 340 in the coded audio stream 345. In addition, the envelope data calculator 210 may for example use the sibilance parameter 125 35 to adjust the noise floors within the noise envelopes. 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 18 Alternatively, the apparatus 100 for generating the BWE output data 102 may also be part of the envelope data calculator 210 and the processor may also be part of the Bitstream payload formatter 350. Therefore, the different components of the 5 apparatus 100 may be part of different encoder components of Fig. 3. Fig. 4 shows an embodiment for a decoder 400, wherein the coded audio stream 345 is input into a bit stream payload deformatter 10 357, which separates the coded audio signal 355 from the BWE data 375. The coded audio signal 355 is input into, for example, an AAC core decoder 360, which generates the decoded audio signal 105a in the first frequency band. The audio signal 105a (components in the first frequency band) is input into an 15 analysis 32 band QMF-bank 370, generating, for example, 32 frequency subbands 10532 from the audio signal 105a in the first frequency band. The frequency subband audio signal 10532 is input into the patch generator 410 to generate a raw signal spectral representation 425 (patch), which is input into an BWE 20 tool 430a. The BWE tool 430a may, for example, comprise a noise floor calculation unit to generate a noise floor. In addition, the BWE tool 430a may reconstruct missing harmonics or perform an inverse filtering step. The BWE tool 430a may implement known spectral band replication methods to be used on the QMF spectral 25 data output of the patch generator 410. The patching algorithm used in the frequency domain could, for example, employ the simple mirroring or copying of the spectral data within the frequency domain. 30 On the other hand, the BWE data 375 (e.g. comprising the BWE output data 102) is input into a bit stream parser 380, which analyzes the BWE data 375 to obtain different sub-information 385 and input them into, for example, an Huffman decoding and dequantization unit 390 which, for example, extracts the control 35 information 412 and the spectral band replication parameters 102. The control information 412 controls the patch generator 430 (e.g. to use a specific patching algorithm) and the BWE 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 19 parameter 102 comprise, for example, also the energy distribution data 125 (e.g. the sibilance parameter). The control information 412 is input into the BWE tool 430a and the spectral band replication parameters 102 are input into the BWE 5 tool 430a as well as into an envelope adjuster 430b. The envelope adjuster 430b is operative to adjust the envelope for the generated patch. As a result, the envelope adjuster 430b generates the adjusted raw signal 105b for the second frequency band and inputs it into a synthesis QMF-bank 440, which combines 10 the components of the second frequency band 105b with the audio signal in the frequency domain 10532. The synthesis QMF-bank 440 may, for example, comprise 64 frequency bands and generates by combining both signals (the components in the second frequency band 105b and the frequency domain audio signal 10532) the 15 synthesis audio signal 105 (for example, an output of PCM samples, PCM = pulse code modulation). The synthesis QMF bank 440 may comprise a combiner, which combines the frequency domain signal 10532 with the second 20 frequency band 105b before it will be transformed into the time domain and before it will be output as the audio signal 105. Optionally, the combiner may output the audio signal 105 in the frequency domain. 25 The BWE tools 430a may comprise a conventional noise floor tool, which adds additional noise to the patched spectrum (the raw signal spectral representation 425), so that the spectral components 105a that have been transmitted by a core coder 340 and are used to synthesize the components of the second 30 frequency band 105b exhibit the tonality of the second frequency band 105b of the original signal. Especially in voiced speech paths, however, the additional noise added by the conventional noise floor tool can harm the perceived quality of the reproduced signal. 35 According to embodiments the noise floor tool may be modified so that the noise floor tool takes into account the energy 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 20 distribution data 125 (part of the BWE data 102) to change the noise floor in accordance to the detected degree of sibilance (see Fig. 2) . Alternatively, as described above the decoder may not be modified and instead the encoder can change the noise 5 floor data in accordance to the detected degree of sibilance. Fig. 5 shows a comparison of a conventional noise floor calculation tool with a modified noise floor calculation tool according to embodiments of the present invention. This modified 10 noise floor calculation tool may be part of the BWE tool 430. Fig. 5a shows the conventional noise floor calculation tool comprising a calculator 433, which uses the spectral band replication parameters 102 and the raw signal spectral 15 representation 425 in order to calculate raw spectral lines and noise spectral lines. The BWE data 375 may comprise envelope data and noise floor data, which are transmitted from the encoder as part of the coded audio stream 345. The raw signal spectral representation 425 is, for example, obtained from a 20 patch generator, which generates components of the audio signal in the upper frequency band (synthesized components in the second frequency band 105b) . The raw spectral lines and noise spectral lines will further be processed, which may involve an inverse filtering, envelope adjusting, adding missing harmonics 25 and so on. Finally, a combiner 434 combines the raw spectral lines with the calculated noise spectral lines to the components in the second frequency band 105b. Fig. 5b shows a noise floor calculation tool according to 30 embodiments of the present invention. In addition to the conventional noise floor calculation tool as shown in Fig. 5a, embodiments comprise a noise floor modifying unit 431 which is configured, for example, to modify the transmitted noise floor data based on the energy distribution data 125 before they are 35 processed in the noise floor calculation tool 433. The energy distribution data 125 may also be transmitted from the encoder as part of or in addition to the BWE data 375. The modification 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 21 of the transmitted noise floor data comprises, for example, an increase for a positive spectral tilt (see Fig. 2a) or decrease for a negative spectral tilt (see Fig. 2b) of the level of the noise floor, for example, an increase by 3 dB or a decrease by 3 5 dB or any other discrete value (e.g. +/- 1 dB or +/- 2 dB). The discrete value can be an integer dB value or a non-integer dB value. There may also be a functional dependence (e.g. a linear relation) between the decrease/increase and the spectral tilt. 10 Based on this modified noise floor data the noise floor calculation tool 433 calculates again raw spectral lines and modified noise spectral lines based on the raw signal spectral representation 425, which may again be obtained from a patch generator. The spectral band replication tool 430 of Fig. 5b 15 comprise also a combiner 434 for combining the raw spectral lines with the calculated noise floor (with the modification from the modifying unit 431) to generate the components in the second frequency band 105b. 20 The energy distribution data 125 may indicate in the simplest case a modification in the transmitted level of the noise floor data. As said above also the first LPC coefficient may be used as energy distribution data 125. Therefore, if the audio signal 105 was encoded using LPC, further embodiments use the first LPC 25 coefficient, which is already transmitted by the coded audio stream 345, as the energy distribution data 125. In this case there is no need to transmit in addition the energy distribution data 125. 30 Alternatively a modification of the noise floor may also be carried out after the calculation within the calculator 433 so that the noise floor modifying unit 431 may be arranged after the processor 433. In further embodiments the energy distribution data 125 may be directly input in the calculator 35 433 modifying directly the calculation of the noise floor as calculation parameter. Hence, the noise floor modifying unit 431 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 22 and the calculator/processor 433 may be combined to a noise floor modifier tool 433, 431. In another embodiment the BWE tool 430 comprising the noise 5 floor calculation tool comprises a switch, wherein the switch is configured to switch between a high level for the noise floor (positive spectral tilt) and a low level for the noise floor (negative spectral tilt) . The high level may, for example, correspond to the case wherein the transmitted level for the 10 noise is doubled (or multiplied by a factor), whereas the low level corresponds to the case wherein the transmitted level is decreased by factor. The switch may be controlled by a bit in the bit stream of the coded audio signal 345 indicating a positive or negative spectral tilt of the audio signal. 15 Alternatively the switch may also be activated by an analysis of the decoded audio signal 105a (components in the first frequency band) or of the frequency subband audio signal 10532, for example with respect to the spectral tilt (whether the spectral tilt is positive or negative). Alternatively, the switch may 20 also be controlled by the first LPC coefficient, since this coefficient indicates the spectral tile (see above). Although some of the Figs. 1, 3 through 5 are illustrated as block diagrams of apparatuses, these figures simultaneously are 25 an illustration of a method, where the block functionalities correspond to the method steps. As said above, an SBR time unit (SBR frame) or a time portion can be divided into various data blocks, so-called envelopes. 30 This partition may be uniform over the SBR frame and allows adjusting flexibly the synthesis of the audio signal within the SBR frame. Fig. 6 illustrates such partition for the SBR frame in a number 35 n of envelopes. The SBR frame covers a time period or time portion T between the initial time to and a final time t,. The time portion T is, for example, divided into eight time 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 23 portions, a first time portion T1, a second time portion T2, an eighth time portion T8. In this example, the maximum number of envelopes coincides with the number of time portions and is given by n = 8. The 8 time portions T1, ... , T8 are 5 separated by 7 borders, that means a border 1 separates the first and second time portion T1, T2, a border 2 is located between the second portion T2 and a third portion T3, and so on until a border 7 separates the seventh portion T7 and the eighth portion T8. 10 In further embodiments, the SBR frame is divided into four noise envelopes (n = 4) or is divided into two noise envelopes (n = 2) . In the embodiment as shown in Fig. 6, all envelopes comprise the same temporal length, which may be different in other 15 embodiments so that the noise envelopes cover differing time lengths. In detail, the case with two noise envelopes (n = 2) comprise a first envelope extending from the time to over the first four time portions (T1, T2, T3 and T4) and the second noise envelope covering the fifth to the eighth time portion 20 (T5, T6, T7 and T8) . Due to the Standard ISO/IEC 14496-3, the maximal number of envelopes is restricted to two. But embodiments may use any number of envelopes (e.g. two, four or eight envelopes). 25 In further embodiments the envelope data calculator 210 is configured to change the number of envelopes depending on a change of the measured noise floor data 115. For example, if the measured noise floor data 115 indicates a varying noise floor (e.g. above a threshold) the number of envelopes may be 30 increased whereas in case the noise floor data 115 indicates a constant noise floor the number of envelopes may be decreased. In other embodiments, the signal energy characterizer 120 can be based on linguistic information in order to detect sibilants in 35 speech. When, for example, a speech signal has associated meta information such a the international phonetic spelling, then an analysis of this meta information will provide a sibilant 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 24 detection of a speech portion as well. In this context, the meta data portion of the audio signal is analyzed. Although some aspects have been described in the context of an 5 apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or 10 feature of a corresponding apparatus. The inventive encoded audio signal can be stored on a digital storage medium or can be transmitted on a transmission medium such as a wireless transmission medium or a wired transmission 15 medium such as the Internet. Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or in software. The implementation can be performed using a digital storage medium, 20 for example a floppy disk, a DVD, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed. 25 Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods described herein is performed. 30 Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer. 35 The program code may for example be stored on a machine readable carrier. 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 25 Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier. 5 In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer. 10 A further embodiment of the inventive methods is, therefore, a data carrier (or a digital storage medium, or a computer readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein. 15 A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein. The data stream or the sequence of signals may for example be configured to be transferred via a data communication 20 connection, for example via the Internet. A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein. 25 A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein. 30 In some embodiments, a programmable logic device (for example a field programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods 35 described herein. Generally, the methods are preferably performed by any hardware apparatus. 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 26 The above described embodiments are merely illustrative for the principles of the present invention. It is understood that modifications and variations of the arrangements and the details described herein will be apparent to others skilled in the art. 5 It is the intent, therefore, to be limited only by the scope of the impending patent claims and not by the specific details presented by way of description and explanation of the embodiments herein. 10 Embodiments of the invention may be advantageous because they provide the combination of an external decision (speech/audio) with an internal voiced speech detector or an internal sibilant detector (a signal energy characterizer) controlling the event of additional noise being signaled to the decoder or adjusting 15 the calculated noise floor. For non-speech signals, the usual noise floor calculation is executed. For speech signals (derived from the external switching decision) an additional speech analysis is performed to determine the actual signal's voicing. The amount of noise to be added in the decoder or encoder is 20 scaled depending on the degree of sibilance (to be contrary to voicing) of the signal. The degree of sibilance can be determined, for example, by measuring the spectral tilt of short-signal parts. 25 In the claims which follow and in the preceding description of the invention, except where the context requires otherwise due to express language or necessary implication, the word "comprise" or variations such as "comprises" or "comprising" is used in an inclusive sense, i.e. to specify the presence of the 30 stated features but not to preclude the presence or addition of further features in various embodiments of the invention. It is to be understood that, if any prior art publication is referred to herein, such reference does not constitute an 35 admission that the publication forms a part of the common general knowledge in the art, in Australia or any other country. 4856377_1 (GHMatters) P86095.AU.1 11/11/2013
Claims (9)
1. An apparatus for generating bandwidth extension output data for an audio signal, the audio signal 5 comprising components in a first frequency band and components in a second frequency band, the bandwidth extension output data are adapted to control a synthesis of the components in the second frequency band, the apparatus comprising: 10 a noise floor measurer for measuring noise floor data of the second frequency band for a time portion of the audio signal; 15 a signal energy characterizer for deriving energy distribution data, the energy distribution data characterizing an energy distribution in a spectrum of the time portion of the audio signal; and 20 a processor for combining the noise floor data and the energy distribution data to obtain the bandwidth extension output data, wherein the processor is configured to change the 25 noise floor data calculated by the noise floor measurer in accordance to the energy distribution data to obtain modified noise floor data, wherein the change of the noise floor data to obtain 30 the modified noise floor data is such that a modified noise floor corresponding to the modified noise floor data is increased for an audio signal comprising more sibilance compared to an audio signal comprising less sibilance, 35 wherein the apparatus for generating bandwidth extension output data is configured to perform a 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 28 decision to determine whether the time portion of the audio signal either is a speech signal or is a non speech signal, 5 wherein the noise floor data measured by the noise floor measurer is used as the bandwidth extension output data, when the time portion of the audio signal is a non-speech signal, and 10 wherein, when the time portion of the audio signal is a speech signal, an additional speech analysis is performed by the signal energy characterizer to determine a degree of sibilance of the speech signal, and wherein the processor is configured to add the 15 modified noise floor data to a bitstream as the bandwidth extension output data, when the time portion of the audio signal is a speech signal.
2. The apparatus of claim 1, wherein the signal energy 20 characterizer is configured to use, as energy distribution data, a sibilance parameter or a spectral tilt parameter, the sibilance parameter or spectral tilt parameter identifying an increasing or decreasing level of the audio signal with frequency. 25
3. The apparatus of claim 2, wherein the signal energy characterizer is configured to use the first linear predictive coding coefficient as the sibilance parameter. 30
4. The apparatus of one of the preceding claims, wherein the processor is configured to add the noise floor data and the spectral energy distribution data to a bitstream as the bandwidth extension output data. 35
5. An encoder for encoding an audio signal, the audio signal comprising components in a first frequency 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 29 band and components in a second frequency band, the encoder comprising: a core coder for encoding the components in the first 5 frequency band; an apparatus for generating bandwidth extension output data according to one of the claims 1 to 4; and 10 an envelope data calculator for calculating bandwidth extension data based on components in the second frequency band, wherein the calculated bandwidth extension data comprise the bandwidth extension 15 output data.
6. The encoder of claim 5, wherein the time portion covers an SBR frame, the SBR frame comprising a plurality of noise envelopes, and wherein the noise 20 envelope data calculator is configured to calculate different bandwidth extension data for different noise envelopes of the plurality of noise envelopes.
7. The encoder of claim 5 or claim 6, wherein the 25 envelope data calculator is configured to change a number of envelopes depending on a change of the measured noise floor data.
8. A method for generating bandwidth extension output 30 data for an audio signal, the audio signal comprising components in a first frequency band and components in a second frequency band, the bandwidth extension output data are adapted to control a synthesis of the components in the second frequency band, the method 35 comprising: 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 30 measuring noise floor data of the second frequency band for a time portion of the audio signal; deriving energy distribution data, the energy 5 distribution data characterizing an energy distribution in a spectrum of the time portion of the audio signal; and combining the noise floor data and the energy 10 distribution data to obtain the bandwidth extension output data, wherein, in the step of combining, the noise floor data calculated by the step of measuring the noise 15 floor data is changed in accordance to the energy distribution data to obtain modified noise floor data, wherein the change of the noise floor data to obtain 20 the modified noise floor data is such that a modified noise floor corresponding to the modified noise floor data is increased for an audio signal comprising more sibilance compared to an audio signal comprising less sibilance, 25 wherein the method for generating bandwidth extension output data further comprises the step of performing a decision to determine whether the time portion of the audio signal either is a speech signal or is a 30 non-speech signal, wherein the noise floor data measured by the noise floor measurer is used as the bandwidth extension output data, when the time portion of the audio 35 signal is a non-speech signal, and 4856377_1 (GHMatters) P86095.AU.1 11/11/2013 31 wherein, when the time portion of the audio signal is a speech signal, an additional speech analysis is performed by the step of deriving to determine a degree of sibilance of the speech signal, and wherein 5 the modified noise floor data is added to a bitstream as the bandwidth extension output data, when the time portion of the audio signal is a speech signal.
9. Computer program for performing, when running on a 10 computer, the method of claim 8. 4856377_1 (GHMatters) P86095.AU.1 11/11/2013
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2013257391A AU2013257391B2 (en) | 2008-07-11 | 2013-11-11 | An apparatus and a method for generating bandwidth extension output data |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US61/079,841 | 2008-07-11 | ||
AU2009267530A AU2009267530A1 (en) | 2008-07-11 | 2009-06-23 | An apparatus and a method for generating bandwidth extension output data |
AU2013257391A AU2013257391B2 (en) | 2008-07-11 | 2013-11-11 | An apparatus and a method for generating bandwidth extension output data |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
AU2009267530A Division AU2009267530A1 (en) | 2008-07-11 | 2009-06-23 | An apparatus and a method for generating bandwidth extension output data |
Publications (2)
Publication Number | Publication Date |
---|---|
AU2013257391A1 true AU2013257391A1 (en) | 2013-11-28 |
AU2013257391B2 AU2013257391B2 (en) | 2015-07-09 |
Family
ID=49640549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
AU2013257391A Active AU2013257391B2 (en) | 2008-07-11 | 2013-11-11 | An apparatus and a method for generating bandwidth extension output data |
Country Status (1)
Country | Link |
---|---|
AU (1) | AU2013257391B2 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE9903553D0 (en) * | 1999-01-27 | 1999-10-01 | Lars Liljeryd | Enhancing conceptual performance of SBR and related coding methods by adaptive noise addition (ANA) and noise substitution limiting (NSL) |
-
2013
- 2013-11-11 AU AU2013257391A patent/AU2013257391B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
AU2013257391B2 (en) | 2015-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2301027B1 (en) | An apparatus and a method for generating bandwidth extension output data | |
KR101373004B1 (en) | Apparatus and method for encoding and decoding high frequency signal | |
US10885926B2 (en) | Classification between time-domain coding and frequency domain coding for high bit rates | |
KR101224560B1 (en) | An apparatus and a method for decoding an encoded audio signal | |
JP2022123060A (en) | Decoding device and decoding method for decoding encoded audio signal | |
US8938387B2 (en) | Audio encoder and decoder | |
US9454974B2 (en) | Systems, methods, and apparatus for gain factor limiting | |
US10255928B2 (en) | Apparatus, medium and method to encode and decode high frequency signal | |
US20150095039A1 (en) | Enhancing Performance of Spectral Band Replication and Related High Frequency Reconstruction Coding | |
KR20160025029A (en) | Unvoiced/voiced decision for speech processing | |
US20090319277A1 (en) | Source Coding and/or Decoding | |
AU2013257391B2 (en) | An apparatus and a method for generating bandwidth extension output data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FGA | Letters patent sealed or granted (standard patent) |