EP2933798A1 - Signal processing apparatus, signal processing method and program - Google Patents
Signal processing apparatus, signal processing method and program Download PDFInfo
- Publication number
- EP2933798A1 EP2933798A1 EP15159597.2A EP15159597A EP2933798A1 EP 2933798 A1 EP2933798 A1 EP 2933798A1 EP 15159597 A EP15159597 A EP 15159597A EP 2933798 A1 EP2933798 A1 EP 2933798A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- frame
- signal
- amplitude
- segment
- frame signal
- 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
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0316—Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude
Definitions
- the embodiments described herein relate to a signal processing apparatus, a signal processing method, and a program.
- Signal processing apparatuses that apply noise suppression and the like after transforming an input signal in(t) into the frequency domain and then apply inverse transform into the time domain to output an output signal out(t) have been known.
- the input signal in(t) is divided into frames, and the input signal in(t) divided into frames is transformed into the frequency domain, and noise suppression and the like is applied in each frame in the frequency domain. Then, inverse transform into the time domain is applied, and a frame signal is generated for each frame. Then, the frame signal for the current frame and the frame signal for the immediately preceding frame are overlapped to generate the output signal out(t).
- discontinuity may appear at the frame boundary.
- the discontinuity is caused due to a suppression process (or an amplification process) applied to adjacent frames based on different suppression (or amplification) coefficients G(f).
- Patent Document 1 As a method for solving this problem, for example, there is a method proposed in Patent Document 1.
- overlapping is performed after making the amplitudes at both ends of the frame signal "0" by attaching a DC component, to solve the problem of discontinuity at the frame boundary.
- Patent Document 1 Japanese Laid-open Patent Publication No. 2008-58480
- an objective of the present invention is to provide a signal processing apparatus, a signal processing method, and a program that make it possible to reduce gaps due to discontinuity at the frame boundary and to suppress noise generated at the frame boundary.
- a signal processing apparatus in an aspect includes a first generating unit which generates a first frame signal by multiplying an input signal divided into frames of a prescribed frame length by a prescribed first window function; a transform unit which transforms the first frame signal into a frequency spectrum; an adjusting unit which adjusts an amplitude component of the frequency spectrum; a second generating unit which applies inverse transform to the amplitude component after adjustment and to a phase component of the frequency spectrum to generate a second frame signal in a time domain; an identifying unit which identifies a segment in an overlapping section between a processing-target frame and an immediately preceding frame such that an absolute value of an amplitude of the second frame signal at at least one end of the segment becomes smaller than an absolute value of an amplitude of the second frame signal at a corresponding end of the overlapping section; and a compounding unit which adds and compounds, in the identified segment, the second frame signal corresponding to the immediately preceding frame and the second frame signal corresponding to the processing-target frame.
- Embodiment 1 is described.
- FIG. 1 is a functional block diagram illustrating a configuration example of a signal processing apparatus in Embodiment 1
- FIG. 2 is a diagram illustrating the flow of the signal in Embodiment 1.
- a signal processing apparatus 1 in the present Embodiment 1 is a signal processing apparatus that applies noise suppression and the like after transforming an input signal in(t) into the frequency domain and then applies inverse transform into the time domain to output an output signal out (t), and which is configured to be equipped with an input unit 10, a storage unit 20, an output unit 30, and a control unit 40, as illustrated in FIG. 1 .
- the input unit 10 is constituted by an audio interface or an audio communication module or the like, for example, and receives an input signal in(t) that is the processing target. Then, the input unit 10 outputs the received input signal in(t) to a window signal generating unit 41 that is described in detail later.
- the storage unit 20 is constituted by a RAM ((Random Access Memory) , a ROM (Read Only Memory), or the like.
- the storage unit 20 functions as a work area for the CPU (Central Processing Unit) for example that constitutes the control unit 40, and as a program area for storing various programs such as an operation program for controlling the entirety of the signal processing apparatus 1.
- the storage unit 20 functions as a data area for storing various data such as functions such as a window function w(t) that is described in detail later and a frame signal y (t) generated by an inverse orthogonal transform unit 44 that is described in detail later.
- the output unit 30 is constituted by an audio interface or an audio communication module or the like, for example, and outputs an output signal out(t) after signal processing, that is generated by an output signal generating unit 47 that is described in detail later.
- the control unit 40 is constituted by a CPU or the like, for example, and executes an operation program stored in the program area of the storage unit 20 to realize functions of the window signal generating unit 41, a counter 41A, an orthogonal transform unit 42, a gain processing unit 43, the inverse orthogonal transform unit 44, an identifying unit 45, a window function generating unit 46, and the output signal generating unit 47 as illustrated in FIG. 1 , and also executes processes such as a control process for controlling the entirety of the signal processing apparatus 1 and signal processing that is described in detail later.
- the window signal generating unit 41 divides into frames an input signal in(t) that has been input, and generates a window signal wx(t) for each frame. Then, the window signal generating unit 41 sequentially outputs the generated window signal wx(t) to the orthogonal transform unit 42.
- the window signal generating unit 41 divides into frames an input signal in(t) that has been input, and generates a frame input signal x(t) that is the input signal divided into frames and is represented in Formula 1 below.
- the frame input signal x(t) represented in Formula 1 is a frame input signal x(t) corresponding to the n-th (n is a natural number that is 1 or greater) frame.
- “L” in the formula is the shift length, and assuming "N" as the frame length, 0 ⁇ t ⁇ N holds true about t.
- x t in ⁇ t + n - 1 ⁇ L
- the window signal generating unit 41 obtains the window function w(t) stored in the storage unit 20, and multiplies the obtained window function w(t) by the frame input signal x(t) corresponding to the processing-target frame, so as to generate the window signal wx(t) represented in Formula 2 below.
- wx t x t ⁇ w t
- the window function w(t) is a window function that is set so as to make the amplitudes of both ends of each frame input signal x(t) "0" so that the sum of the contributions of each in the overlap segment of the frame input signals x(t) is always "1", for example, although this is not a limitation.
- the orthogonal transform unit 42 transforms the window signal wx(t) that has been input, using an orthogonal transform such as MDCT (Modified Discrete Cosine Transform), FFT (Fast Fourier Transform), wavelet transform, or the like, so as to generate an input spectrum X (f) in the frequency domain composed of an amplitude component
- MDCT Modified Discrete Cosine Transform
- FFT Fast Fourier Transform
- wavelet transform or the like.
- the orthogonal transform unit 42 outputs the amplitude component
- the gain processing unit 43 multiplies the amplitude component
- the inverse orthogonal transform unit 44 applies inverse orthogonal transform to the phase component argX (f) of the input spectrum X(f) and the input amplitude component
- the identifying unit 45 identifies a segment in which the frame signal y(t) (hereinafter expressed as yy(t) in order to distinguish it from the frame signal y(t) corresponding to the current frame) corresponding to the immediately preceding frame is overlapped (hereinafter, referred to as an overlap segment) . Then, the identifying unit 45 outputs the starting end seg_st and the terminal end seg_en of the identified overlap segment to the window function generating unit 46, as illustrated in FIG. 2 .
- an identification method (hereinafter, referred to as the first identification method) for the overlap segment in Embodiment 1 is explained in detail.
- the identifying unit 45 identifies a "t" at which the absolute value of the amplitude
- the identifying unit 45 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of the storage unit 20. Then, the identifying unit 45 identifies a "t" at which the absolute value of the amplitude
- the identifying unit 45 identifies the largest t among the "t”s at which the absolute value of the amplitude
- the identifying unit 45 adjusts the starting end seg_st and/or the terminal end seg_en so as to satisfy seg_st ⁇ seg_en. More specifically, the identifying unit 45 identifies again t at which the absolute value of the amplitude
- the overlap segment with which a segment length T becomes the maximum in the overlap segment that satisfies a prescribed condition is identified.
- the window function generating unit 46 calculates the length (hereinafter, referred to as the segment length) T of the overlap segment identified by the identifying unit 45, based on the starting end seg_st and the terminal end seg_en that have been input.
- the output window functions exemplified in Formula 5 and Formula 6 are a window function based on the Hann window function. However, it may also be another window function as long as it is a window function that is set so as to make the amplitude
- the output signal generating unit 47 generates the output signal out (t) of the processing-target frame, and outputs the generated output signal out(t) to the output unit 30. More specifically, the output signal generating unit 47 adds and compounds a window signal generated by obtaining the frame signal yy(t) corresponding to the immediately preceding frame from the data area of the storage unit 20 and multiplying the obtained frame signal yy(t) by the output window function w2 (t) that has been input, and a window signal generated by multiplying the frame signal y(t) of the current frame by the input output window function w1(t) that has been input, so as to generate the output signal represented in Formula 8 below, in the overlap segment identified by the identifying unit 45.
- out t w ⁇ 1 t ⁇ y t + w ⁇ 2 t ⁇ y y t
- the output signal generating unit 47 sets the frame signal yy(t) corresponding to the immediately preceding frame as the output signal out(t) in the segment before the starting end seg_st in the section overlapping with the immediately preceding frame, and sets the frame signal y(t) corresponding to the current frame as the output signal out(t) in the segment after the terminal end seg_en in the section overlapping with the immediately preceding frame.
- FIG. 3 is a diagram explaining the flow from identification of the overlap segment based on the first identification method to generation of the output signal out(t), along with a specific example.
- the identifying unit 45 identifies the overlap segment.
- of the frame signal y(t) corresponding to the current frame is "0". Therefore, the identifying unit 45 identifies the smallest t in the "t"s at which amplitude
- 0, in the section overlapping with the immediately preceding frame.
- the identifying unit 45 identifies the largest t in the "t"s at which amplitude
- 0, in the section overlapping with the immediately preceding frame.
- the starting end seg_st and the terminal end seg_en of the overlap segment identified as described above satisfy seg_st ⁇ seg_en, as illustrated in FIG. 3 .
- the window function generating unit 46 generates the output window function w1(t) and the output window function w2(t) whose window length is equal to the segment length T of the overlap segment, respectively. Then, in the identified overlap segment, the output signal generating unit 47 generates the output signal out(t) according to Formula 8.
- FIG. 4 , FIG. 5 , and FIG. 6 are the first part, the second part, and the third part, respectively, of a flowchart for explaining the flow of signal processing in Embodiment 1.
- This signal processing starts with an input of the input signal in(t) into the window signal generating unit 41 as a trigger, for example.
- the window signal generating unit 41 divides the input signal in(t) into frames to generate the input frame signal x(t) (step S001), and also resets the counter 41A (step S002).
- the orthogonal transform unit 42 applies orthogonal transform to the window signal wx(t) that has been input to calculate the input spectrum X(f) in the frequency domain (step S005). Then, the orthogonal transform unit 42 outputs the amplitude component
- the gain processing unit 43 multiplies the amplitude component
- the inverse orthogonal transform unit 44 applies inverse orthogonal transform to the amplitude component
- the inverse orthogonal transform unit 44 stores the generated frame signal y (t) in the data area of the storage unit 20 (step S011), and also outputs the generated frame signal y(t) to the identifying unit 45 and the output signal generating unit 47, respectively (step S012).
- the identifying unit 45 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of the storage unit 20 (step S013), identifies the starting end seg_st according to the first identification method and based on the frame signal y(t) of the current frame that has been input, and identifies the terminal end seg_en based on the obtained frame signal yy (t) of the immediately preceding frame, so as to identify the overlap segment (step S014).
- the identifying unit 45 outputs the identified starting end seg_st and the terminal end seg_en to the window function generating unit 46 (step S015).
- the window function generating unit 46 calculates the segment length T of the overlap segment based on the starting end seg_st and terminal end seg_st that have been input, and generates the output window function w1 (t) and the output window function w2(t), respectively, based on the calculated segment length T (step S106) . Then, the window function generating unit 46 outputs the generated output window function w1(t) and the output window function w2(t) to the output signal generating unit 47 (step S017).
- the output signal generating unit 47 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of the storage unit 20 (step S018), and in the identified overlap segment, generates the output signal out(t) represented in Formula 8 mentioned above (step S019).
- the window signal generating unit 41 judges whether or not there is any unprocessed frame (step S020), and when it is judged by the window signal generating unit 41 that there is no unprocessed frame (step S020; NO), this process is terminated, and waiting for an input of the next input signal in(t) is performed.
- step S020 when it is judged that there is an unprocessed frame (step S020; YES), the window signal generating unit 41 increments the counter 41A (step S021), this process returns to the process in step S003, and the processes described above are repeated.
- the signal processing apparatus 1 identifies an overlap segment in which the frame signal yy(t) corresponding to the immediately preceding frame overlaps with a section overlapping with the immediately preceding frame, so that at least the absolute value of the amplitude
- the overlap segment is identified so that the segment length becomes the maximum in the overlap segment that satisfies a prescribed condition.
- the signal processing apparatus 1 identifies a "t" at which the absolute value of the amplitude
- the signal processing apparatus 1 generates output window functions w1(t) and w2(t) that are window functions whose window length is equal to the segment length T of the identified overlap segment and that are set so as to make the amplitude
- the window function w1(t) and w2(t) that are window functions whose window length is equal to the segment length T of the identified overlap segment and that are set so
- Embodiment 2 is described.
- the starting end seg_st and the terminal end seg_en of the overlap segment are identified according to the first identification method described above.
- Embodiment 2 a case in which the starting end seg_st and the terminal end seg_en of the overlap segment are identified according to a method (hereinafter referred to as the second identification method) that is different from the first identification method is explained.
- the basic configuration of the signal processing apparatus 1 in the present Embodiment 2 is the same as that in the case of Embodiment 1. However, the function served by the identifying unit 45 is different from that in the case of Embodiment 1.
- the control unit 40 is constituted by a CPU or the like, for example, and executes an operation program stored in the program area of the storage unit 20 to realize functions of the window signal generating unit 41, the counter 41A, the orthogonal transform unit 42, the gain processing unit 43, the inverse orthogonal transform unit 44, the identifying unit 45, the window function generating unit 46, and the output signal generating unit 47, as illustrated in FIG. 1 , and also executes processes such as a control process for controlling the entirety of the signal processing apparatus 1 and signal processing described in detail later.
- the identifying unit 45 identifies the overlap segment, and outputs the identified starting end seg_st and the terminal end seg_en of the overlap segment to the window function generating unit 46, as illustrated in FIG. 2 .
- the identifying unit 45 identifies the minimum t among "t"s at which the absolute value of the amplitude
- the identifying unit 45 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of the storage unit 20. Then, the identifying unit 45 identifies the maximum t among the "t"s at which the absolute value of the amplitude
- an overlap segment at which the segment length T becomes the maximum in an overlap segment that satisfies a prescribed condition is identified.
- FIG. 7 is a diagram explaining the flow from identification of the overlap segment based on the second identification method to generation of the output signal out(t), according to a specific example.
- the identifying unit 45 identifies the overlap segment.
- of the frame signal y(t) corresponding to the current frame becomes equal to or smaller than the threshold M is the t that is set as the starting end seg_st, as illustrated in FIG. 7 .
- of the frame signal yy(t) corresponding to the immediately preceding frame becomes equal to or smaller than the threshold M is the t that is set as the terminal end seg_en, as illustrated in FIG. 7 .
- the window function generating unit 46 generates the output window function w1(t) and the output window function w2 (t) whose window length is equal to the segment length of the overlap segment, respectively. Then, the output signal generating unit 47 generates the output signal out (t) according to Formula 8 mentioned above, in the identified overlap segment.
- the configuration may also be made so as to make the threshold M variable according to the amplitudes at both ends of the section overlapping with an adjacent frame. More specifically, assuming the starting end of the overlapping section as st and the terminal end as en, the threshold M is made variable so as to be equal to or smaller than the absolute value of the amplitude that is the smaller of the absolute value of the amplitude
- of the frame signal yy(t) corresponding to the immediately preceding frame at the terminal end en. By doing this, it becomes possible to reliably suppress gaps due to discontinuity in comparison with the case in which the overlap segment is fixed (overlap segment overlapping section).
- FIG. 8 is part of an example of a flowchart for explaining the flow of signal processing in the present Embodiment 2.
- This signal processing starts with an input of the input signal in(t) into the window signal generating unit 41 as a trigger, for example.
- a trigger for example.
- mainly portions that are different from Embodiment 1 are explained.
- the identifying unit 45 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of the storage unit 20 (step S013) , identifies the starting end seg_st according to the second identification method and based on the input frame signal y(t) of the current frame, and identifies the terminal end seg_en based on the obtained frame signal yy(t) of the immediately preceding frame, so as to identify the overlap segment (S014A).
- the identifying unit 45 outputs the identified starting end seg_st and terminal end seg_st to the window function generating unit 46 (step S015). Then, the process proceeds to the process in step S016 explained in Embodiment 1.
- the signal processing apparatus 1 identifies the smallest t among "t”s at which the absolute value of the amplitude
- Embodiment 3 is described.
- the signal processing apparatus 1 is configured so as to generate output window functions, and to suppress generation of discontinuity by making the amplitudes at both ends of the overlap segment "0" by means of the generated output window functions.
- the signal processing apparatus 1 is configured so as to make the amplitudes at both ends of the overlap segment "0" by applying a correction process such as addition of a DC component for example, so as to suppress generation of discontinuity. Meanwhile, this configuration may also be applied to the overlap segment identified according to both the first identification method and the second identification explained in Embodiments 1 and 2. In the present Embodiment 3 , a case in which it is applied to the overlap segment identified according to the second identification method is explained.
- FIG. 9 is a functional block diagram illustrating a configuration example of the signal processing apparatus 1 in Embodiment 3.
- Fig. 10 is a diagram illustrating the flow of the signal in the present Embodiment 3.
- the basic configuration of the signal processing apparatus 1 in the present Embodiment 3 is the same as that in the case of Embodiment 1.
- control unit 40 is not equipped with the window function generating unit 46 and is further equipped with a correction processing unit 48.
- the functions served by the inverse orthogonal transform unit 44, the identifying unit 45 and the output signal generating unit 47 are respectively different from those in the case of Embodiment 1.
- the control unit 40 is constituted by a CPU and the like, for example, and executes an operation program stored in the program area of the storage unit 20 to realize functions of the window signal generating unit 41, the counter 41A, the orthogonal transform unit 42, the gain processing unit 43, the inverse orthogonal transform unit 44, the identifying unit 45, the output signal generating unit 47 and the correction processing unit 48, and also executes a control process for controlling the entirety of the signal processing apparatus 1 and signal processing described in detail later.
- the inverse orthogonal transform unit 44 applies inverse orthogonal transform to the phase component argX (f) of the input spectrum X(f) and the amplitude component
- the identifying unit 45 identifies the overlap segment according to the second identification method described above. Then, the identifying unit 45 outputs the starting end seg_st and the terminal end seg_en of the identified overlap segment to the correction processing unit 48, as illustrated in FIG. 10 .
- the correction processing unit 48 generates a signal for correction C1(t) to correct the amplitude
- the correction processing unit 48 generates the signal for correction C1 (t) based on the amplitude
- the correction processing unit 48 obtains the frame signal yy(t) corresponding to the immediately preceding frame stored in the data area of the storage unit 20, and generates the signal for correction C2(t) based on the amplitude
- the correction processing unit 48 adds and compounds the frame signal y(t) and the signal for correction C1(t), so as to generate the frame signal y C (t) after correction represented in Formula 12 below.
- the correction processing unit 48 adds and compounds the frame signal yy(t) and the signal for correction C2 (t), so as to generate the frame signal yy c (t) after correction that is represented in Formula 13 below.
- the signal for correction C1(t) (or C2(t)) generated by the correction processing unit 48 may be another signal as long as the amplitude
- FIG. 11 is a diagram explaining the flow from identification of the overlap segment based on the second identification method to generation of the output signal out(t) according to a specific example.
- the identifying unit 45 identifies the overlap segment.
- of the frame signal y(t) corresponding to the current frame becomes equal to or smaller than the threshold M in the section overlapping with the immediately preceding frame is the t that is set as the starting end seg_st.
- of the frame signal yy(t) corresponding to the immediately preceding frame becomes equal to or smaller than M in the section overlapping with the current frame is the t that is set as the terminal end seg_en.
- the correction processing unit 48 adds and compounds the signal for correction C1(t) and the frame signal y(t) of the current frame, so as to generate a frame signal y C (t) after correction.
- the correction processing unit 48 adds and compounds the signal for correction C2(t) and the frame signal yy(t) corresponding to the immediately preceding frame, so as to generate a frame signal yy C (t) after correction.
- of the frame signal y C (t) after correction at the starting end seg_st is corrected to be "0"
- of the frame signal yy C (t) after correction at the terminal end seg_en is corrected to be "0".
- the output signal generating unit 47 generates the output signal out (t) according to Formula 9 mentioned above.
- FIG. 12 , FIG. 13 , and FIG. 14 are the first part, the second part, and the third part, respectively, of an example of a flowchart for explaining signal processing in the present Embodiment 3.
- This signal processing starts with an input of the input signal in(t) into the window signal generating unit 41 as a trigger, for example.
- the window signal generating unit 41 divides into frames the input signal in(t) that has been input, so as to generate an input frame signal x(t) (step S001), and also resets the counter 41A (step S002).
- the orthogonal transform unit 42 applies orthogonal transform to the input window signal wx(t), so as to calculate the input spectrum X(f) in the frequency domain (step S005). Then, the orthogonal transform unit 42 outputs the amplitude component
- gain processing unit 43 multiplies the amplitude component
- the inverse orthogonal transform unit 44 applies inverse orthogonal transform to the amplitude component
- the inverse orthogonal transform unit 44 stores the generated frame signal y(t) in the data area of the storage unit 20 (step S011), and also outputs the generated frame signal y(t) to the identifying unit 45, the output signal generating unit 47, and the correction processing unit 48, respectively (step S101).
- the identifying unit 45 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of the storage unit 20 (step S013), identifies the starting end seg_st based on the frame signal y(t) of the current frame that has been output, and identifies the terminal end seg_en based on the obtained frame signal yy(t) of the immediately preceding frame, according to the second identification method, so as to identify the overlap segment (step S014A).
- the identifying unit 45 outputs the identified starting end seg_st and the terminal end seg_st to the correction processing unit 48 (step S102).
- the correction processing unit 48 obtains the frame signal yy(t) corresponding to the immediately preceding frame stored in the data area of the storage unit 20 (step S103) . Then, the correction processing unit 48 generates the signal for correction C1(t) based on the amplitude
- the correction processing unit 48 adds and compounds the frame signal y(t) and the signal for correction C1(t), so as to generate the frame signal y C (t) after correction, and in a similar manner, adds and compounds the frame signal yy(t) and the signal for correction C2(t), so as to generate the frame signal yy C (t) after correction (step S105). Then, the correction processing unit 48 outputs the generated frame signals y C (t) and yy C (t) to the output signal generating unit 47 (step S106) .
- the output signal generating unit 47 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of the storage unit 20 (step S018), and in the identified overlap segment, generates the output signal out(t) represented in Formula 9 mentioned above (step S107).
- the window signal generating unit 41 judges whether or not there is any unprocessed frame (step S020), and when it is judged by the window signal generating unit 41 that there is no unprocessed frame (step S020; NO), this process is terminated, and waiting for an input of the next input signal in(t) is performed.
- step S020 when it is judged that there is an unprocessed frame (step S020; YES), the window signal generating unit 41 increments the counter 41A (step S021), this process returns to the process in step S003, and the processes described above are repeated.
- the signal processing apparatus 1 adds and compounds signals for correction that make the amplitudes at the frame boundary (both ends of the overlap segment) after correction "0" and respectively the frame signal y(t) and the frame signal yy(t), so as to generate frame signals y C (t) and yy C (t) after correction, and outputs the output signal out(t) obtained by adding and compounding frame signals y C (t) and yy C (t) after correction.
- the absolute values of the amplitudes at both ends of the overlap segment are adjusted to be smaller than the amplitudes at both ends of the overlapping section, and therefore, it becomes possible to make the size of the component (for example a DC component) added to eliminate discontinuity smaller. Accordingly, it becomes possible to suppress noise in playback in the playback device.
- the component for example a DC component
- the signal processing apparatus 1 generates a signal for correction that does not cause a large distortion in the frame signal y(t) (or yy(t)) when added and compounded. By configuring in such a manner, it becomes possible to prevent deterioration in the sound quality.
- Embodiment 4 is described.
- Embodiment 4 application examples of the signal processing apparatus 1 described in Embodiments 1 through 3 are explained. Meanwhile, explanation is given below, assuming that the configuration of the signal processing apparatus 1 in the present Embodiment 4 is the configuration described in Embodiment 1.
- the signal processing apparatus 1 described in Embodiments 1 through 3 may be applied to an apparatus that adopts a frequency-domain suppression/amplification system for performing suppression (or amplification) in the frequency domain.
- This Application example 1 is an example in which the signal processing apparatus 1 is applied to a noise suppression apparatus 2.
- FIG. 15 illustrates a configuration example of the noise suppression apparatus 2 and the flow of the signal in this Application example 1.
- the noise suppression apparatus 2 in this Application example 1 performs a noise suppression process as an example of the process in the gain processing unit 43 , and as illustrated in FIG. 15 , it is configured to include a noise estimating unit 50 and a suppression coefficient calculating unit 60, in addition to the configuration of the signal processing apparatus 1 in Embodiment 1.
- the noise estimating unit 50 estimates an estimated noise spectrum N(f) based on the amplitude component
- the noise estimating unit 50 judges based on the amplitude component
- the noise estimating unit 50 updates the estimated noise spectrum N(f) according to Formula 14 below, when it is judged that no sound is included in the current frame.
- N 0 (f) in the formula represents the estimated noise spectrum at the time of processing for the immediately preceding frame
- A is a prescribed constant number.
- the noise estimating unit 50 sets the estimated noise spectrum N 0 (f) at the time of processing for the immediately preceding frame as the estimated noise spectrum N(f) for the current frame. That is, in this case, the noise estimating unit 50 outputs the estimated noise spectrum N(f) represented in Formula 15 below to the suppression coefficient calculating unit 60.
- N f N 0 f
- the suppression coefficient calculating unit 60 calculates a suppression coefficient G(f) based on the noise spectrum N(f) that has been input and the amplitude component
- suppression coefficient calculating unit 60 calculates the suppression coefficient G(f) according to the calculated SNR.
- the suppression process in the frequency domain is performed by the gain processing unit 43 based on the suppression coefficient G(f) calculated as described above, and after that, the frame signal y(t) in the time domain is generated by the inverse orthogonal transform unit 44.
- This Application example 2 is an example in which the signal processing apparatus 1 is applied to an echo suppression apparatus 3.
- FIG. 16 illustrates a configuration example of the echo suppression apparatus 3 and the flow of the signal in this Application example 2.
- the echo suppression apparatus 3 in this Application example 2 performs an echo suppression process as an example of the process in the gain processing unit 43, and it is configured to include the suppression coefficient calculating unit 60, a second window signal generating unit 70, and a second orthogonal transform unit 80, in addition to the configuration of the signal processing apparatus 1 in Embodiment 1.
- the second window signal generating unit 70 divides into frames a reference signal ref (t) with respect to an input signal in(t), so as to generate an window signal r(t) for each frame. Then, the second window signal generating unit 70 sequentially outputs the generated window signal r(t) to the second orthogonal transform unit 80, as illustrated in FIG. 16 .
- the second window signal generating unit 70 divides into frames the input reference signal ref(t), so as to generate a frame reference signal rx(t) that is the reference signal divided into frames.
- the frame reference signal rx(t) represented in Formula 17 is a frame reference signal rx(t) corresponding to the n-th frame (n is a natural number that is 1 or greater) .
- “L” in the formula is the shift length, and assuming "N" as the frame length, 0 ⁇ t ⁇ N holds true about t.
- rx t ref ⁇ t + n - 1 ⁇ L
- the second window signal generating unit 70 obtains the window function w(t) stored in the storage unit 20, and multiplies the obtained window function w(t) by the frame reference signal rx(t) corresponding to the processing-target frame, so as to generate the window signal r(t) represented in Formula 18 below.
- r t rx t ⁇ w t
- the second orthogonal transform unit 80 transforms the window signal r(t) that has been input using an orthogonal transform such as MDCT, FFT, wavelet transform or the like for example, so as to generate a spectrum R(f) in the frequency domain composed of the amplitude component
- an orthogonal transform such as MDCT, FFT, wavelet transform or the like for example
- the suppression coefficient calculating unit 60 calculates the suppression coefficient G(f) based on the amplitude component
- the suppression coefficient calculating unit 60 compares the amplitude component
- the suppression process in the frequency domain is performed by the gain processing unit 43 based on the suppression coefficient G(f) calculated as described above, and after that, the frame signal y(t) in the time domain is generated by the inverse orthogonal transform unit 44.
- This Application example 3 is an example in which the signal processing apparatus 1 is applied to a sound emphasis apparatus 4.
- FIG. 17 illustrates a configuration example of the sound emphasis apparatus 4 and the flow of the signal in this Application example 3.
- the sound emphasis apparatus 4 in this Application example 3 performs a sound emphasis process as an example of the process in the gain processing unit 43, and it is configured to include the noise estimating unit 50, the second window signal generating unit 70, the second orthogonal transform unit 80, and an amplification coefficient calculating unit 90, in addition to the configuration in Embodiment 1.
- the second window signal generating unit 70 divides into frames the reference signal ref(t) with respect to the input signal in(t), as explained in Application example 2, so as to generate the window signal r (t) for each frame. Then, the second window signal generating unit 70 sequentially outputs the generated window signal r (t) to the second orthogonal transform unit 80, as illustrated in FIG. 17 .
- the second orthogonal transform unit 80 transforms the input window signal r (t) using an orthogonal transform such as MDCT, FFT, wavelet transform or the like for example, so as to generate a spectrum R(f) in the frequency domain composed of the amplitude component
- an orthogonal transform such as MDCT, FFT, wavelet transform or the like for example
- the noise estimating unit 50 estimates the estimated noise spectrum N(f) based on the amplitude component
- the noise estimating unit 50 judges whether or not the current frame includes sound, based on the amplitude component
- the noise estimating unit 50 updates the estimated noise spectrum N(f) according to Formula 19 below, when it is judged that no sound is included in the current frame.
- N 0 (f) in the formula represents the estimated noise spectrum at the time of processing for the immediately preceding frame
- B is a prescribed constant number.
- the noise estimating unit 50 sets the estimated noise spectrum N 0 (f) at the time of processing for the immediately preceding frame as the estimated noise spectrum N(f) for the current frame. That is, in this case, the noise estimating unit 50 outputs the estimated noise spectrum N(f) represented in Formula 20 below to the amplification coefficient calculating unit 90.
- N f N 0 f
- the amplification coefficient calculating unit 90 calculates an amplification coefficient G (f) based on the noise spectrum N(f) that has been input and the amplitude component
- the amplification coefficient calculating unit 90 calculates the amplification coefficient G(f) according to the calculated SNR. That is, the amplification coefficient calculating unit 90 calculates the amplification coefficient G(f) so as to make the gain large in a case such as when there is a large noise in the surroundings.
- the amplification process in the frequency domain is performed by the gain processing unit 43 based on the amplification coefficient G(f) calculated as described above, and after that, the frame signal y(t) in the time domain is generated by the inverse orthogonal transform unit 44.
- FIG. 18 is an example illustrating an example of the hardware configuration of the signal processing apparatus 1 in each embodiment.
- the signal processing apparatus 1 illustrated in FIG. 1 and so on may be realized with various pieces of hardware illustrated in FIG. 18 , for example.
- the signal processing apparatus 1 is equipped with a CPU 201, a RAM 202, a ROM 203, an audio interface 204 for connecting an audio device, and a device interface 205 for connecting an external device or the like, and these pieces of hardware are connected via a bus 206.
- the CPU 201 loads an operation program stored in ROM 203 onto the RAM 202 and executes various processes using the RAM 202 as a working memory.
- the CPU 201 may realize the respective functional units of the control unit 40 illustrated in FIG. 1 and so on by executing the operation program.
- the signal processing apparatus 1 may include a storage apparatus such as a CAM (Content Addressable Memory), an SRAM (Static Random Access Memory), an SDRAM (Synchronous Dynamic Random Access Memory), and the like.
- a storage apparatus such as a CAM (Content Addressable Memory), an SRAM (Static Random Access Memory), an SDRAM (Synchronous Dynamic Random Access Memory), and the like.
- the hardware configuration of the signal processing apparatus 1 may be different from that in FIG. 18 , and other pieces of hardware of standards and types that are different from those in FIG. 18 may be applied to the signal processing apparatus 1.
- the respective functional units of the control unit 40 of the signal processing apparatus 1 illustrated in FIG. 1 and so on may be realized by a hardware circuit.
- the respective functional units of the control unit 40 of the signal processing apparatus 1 illustrated in FIG. 1 and so on may be realized by a reconfigurable circuit such as an FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), or the like, instead of the CPU 201.
- these functional units may also be realized by both the CPU 201 and a hardware circuit.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Quality & Reliability (AREA)
- Noise Elimination (AREA)
- Control Of Amplification And Gain Control (AREA)
Abstract
Description
- The embodiments described herein relate to a signal processing apparatus, a signal processing method, and a program.
- Signal processing apparatuses that apply noise suppression and the like after transforming an input signal in(t) into the frequency domain and then apply inverse transform into the time domain to output an output signal out(t) have been known.
- In such signal processing apparatuses that are intended for noise suppression and the like, the input signal in(t) is divided into frames, and the input signal in(t) divided into frames is transformed into the frequency domain, and noise suppression and the like is applied in each frame in the frequency domain. Then, inverse transform into the time domain is applied, and a frame signal is generated for each frame. Then, the frame signal for the current frame and the frame signal for the immediately preceding frame are overlapped to generate the output signal out(t).
- However, when the frame signal for the current frame and the frame signal for the immediately preceding frame are simply overlapped, discontinuity may appear at the frame boundary. The discontinuity is caused due to a suppression process (or an amplification process) applied to adjacent frames based on different suppression (or amplification) coefficients G(f).
- Such discontinuity at the frame boundary causes noise, which is very uncomfortable to the ear of the listener.
- As a method for solving this problem, for example, there is a method proposed in
Patent Document 1. In the method proposed inPatent Document 1, for example, overlapping is performed after making the amplitudes at both ends of the frame signal "0" by attaching a DC component, to solve the problem of discontinuity at the frame boundary. - [Patent Document 1] Japanese Laid-open Patent Publication No.
2008-58480 - However, with the method proposed in
Patent Document 1, the DC component is attached, and this may cause noise with playback in some cases, depending on the playback device. - In one aspect, an objective of the present invention is to provide a signal processing apparatus, a signal processing method, and a program that make it possible to reduce gaps due to discontinuity at the frame boundary and to suppress noise generated at the frame boundary.
- A signal processing apparatus in an aspect includes a first generating unit which generates a first frame signal by multiplying an input signal divided into frames of a prescribed frame length by a prescribed first window function; a transform unit which transforms the first frame signal into a frequency spectrum; an adjusting unit which adjusts an amplitude component of the frequency spectrum; a second generating unit which applies inverse transform to the amplitude component after adjustment and to a phase component of the frequency spectrum to generate a second frame signal in a time domain; an identifying unit which identifies a segment in an overlapping section between a processing-target frame and an immediately preceding frame such that an absolute value of an amplitude of the second frame signal at at least one end of the segment becomes smaller than an absolute value of an amplitude of the second frame signal at a corresponding end of the overlapping section; and a compounding unit which adds and compounds, in the identified segment, the second frame signal corresponding to the immediately preceding frame and the second frame signal corresponding to the processing-target frame.
-
-
FIG. 1 is a functional block diagram illustrating a configuration example of a signal processing apparatus inEmbodiment 1; -
FIG. 2 is a diagram illustrating the flow of the signal inEmbodiment 1; -
FIG. 3 is a diagram illustrating the flow from identification of an overlap segment based on a first identification method to generation of an output signal, along with a specific example; -
FIG. 4 is the first part of an example of a flowchart for explaining the flow of signal processing inEmbodiment 1; -
FIG. 5 is the second part of an example of a flowchart for explaining the flow of signal processing inEmbodiment 1; -
FIG. 6 is the third part of an example of a flowchart for explaining the flow of signal processing inEmbodiment 1; -
FIG. 7 is a diagram illustrating the flow from identification of an overlap segment based on a second identification method to generation of an output signal, along with a specific example; -
FIG. 8 is a part of an example of a flowchart for explaining the flow of signal processing inEmbodiment 2; -
FIG. 9 is a functional block diagram illustrating a configuration example of a signal processing apparatus inEmbodiment 3; -
FIG. 10 is a diagram illustrating the flow of the signal inEmbodiment 3; -
FIG. 11 is a diagram illustrating the flow from identification of an overlap segment based on a second identification method to generation of an output signal, along with a specific example; -
FIG. 12 is the first part of an example of a flowchart for explaining the flow of signal processing inEmbodiment 3; -
FIG. 13 is the second part of an example of a flowchart for explaining the flow of signal processing inEmbodiment 3; -
FIG. 14 is the third part of an example of a flowchart for explaining the flow of signal processing inEmbodiment 3; -
FIG. 15 illustrates a configuration example of a noise suppression apparatus and the flow of the signal in Application example 1; -
FIG. 16 illustrates a configuration example of a noise suppression apparatus and the flow of the signal in Application example 2; -
FIG. 17 illustrates a configuration example of a sound emphasis apparatus and the flow of the signal in Application example 3; and -
FIG. 18 is a diagram illustrating an example of the hardware configuration of a signal processing apparatus in the embodiments. - Hereinafter, embodiments of the present invention are described in detail with reference to the drawings.
-
Embodiment 1 is described. -
FIG. 1 is a functional block diagram illustrating a configuration example of a signal processing apparatus inEmbodiment 1, andFIG. 2 is a diagram illustrating the flow of the signal inEmbodiment 1. - A
signal processing apparatus 1 in thepresent Embodiment 1 is a signal processing apparatus that applies noise suppression and the like after transforming an input signal in(t) into the frequency domain and then applies inverse transform into the time domain to output an output signal out (t), and which is configured to be equipped with aninput unit 10, astorage unit 20, anoutput unit 30, and acontrol unit 40, as illustrated inFIG. 1 . - The
input unit 10 is constituted by an audio interface or an audio communication module or the like, for example, and receives an input signal in(t) that is the processing target. Then, theinput unit 10 outputs the received input signal in(t) to a windowsignal generating unit 41 that is described in detail later. - The
storage unit 20 is constituted by a RAM ((Random Access Memory) , a ROM (Read Only Memory), or the like. Thestorage unit 20 functions as a work area for the CPU (Central Processing Unit) for example that constitutes thecontrol unit 40, and as a program area for storing various programs such as an operation program for controlling the entirety of thesignal processing apparatus 1. In addition, thestorage unit 20 functions as a data area for storing various data such as functions such as a window function w(t) that is described in detail later and a frame signal y (t) generated by an inverseorthogonal transform unit 44 that is described in detail later. - The
output unit 30 is constituted by an audio interface or an audio communication module or the like, for example, and outputs an output signal out(t) after signal processing, that is generated by an outputsignal generating unit 47 that is described in detail later. - The
control unit 40 is constituted by a CPU or the like, for example, and executes an operation program stored in the program area of thestorage unit 20 to realize functions of the windowsignal generating unit 41, a counter 41A, anorthogonal transform unit 42, again processing unit 43, the inverseorthogonal transform unit 44, an identifyingunit 45, a windowfunction generating unit 46, and the outputsignal generating unit 47 as illustrated inFIG. 1 , and also executes processes such as a control process for controlling the entirety of thesignal processing apparatus 1 and signal processing that is described in detail later. - The window
signal generating unit 41 divides into frames an input signal in(t) that has been input, and generates a window signal wx(t) for each frame. Then, the windowsignal generating unit 41 sequentially outputs the generated window signal wx(t) to theorthogonal transform unit 42. - More specifically, the window
signal generating unit 41 divides into frames an input signal in(t) that has been input, and generates a frame input signal x(t) that is the input signal divided into frames and is represented inFormula 1 below. Meanwhile, the frame input signal x(t) represented in Formula 1 is a frame input signal x(t) corresponding to the n-th (n is a natural number that is 1 or greater) frame. In addition, "L" in the formula is the shift length, and assuming "N" as the frame length, 0≤t≤N holds true about t.
[Formula 1] - Then, the window
signal generating unit 41 obtains the window function w(t) stored in thestorage unit 20, and multiplies the obtained window function w(t) by the frame input signal x(t) corresponding to the processing-target frame, so as to generate the window signal wx(t) represented inFormula 2 below.
[Formula 2] - Here, the window function w(t) is a window function that is set so as to make the amplitudes of both ends of each frame input signal x(t) "0" so that the sum of the contributions of each in the overlap segment of the frame input signals x(t) is always "1", for example, although this is not a limitation.
- The counter 41A is a counter for managing processing-target frames, and it is controlled by the window
signal generating unit 41. "Counter value k of the counter 41A"="Frame number n", and the initial value of the counter 41A is "1". - The
orthogonal transform unit 42 transforms the window signal wx(t) that has been input, using an orthogonal transform such as MDCT (Modified Discrete Cosine Transform), FFT (Fast Fourier Transform), wavelet transform, or the like, so as to generate an input spectrum X (f) in the frequency domain composed of an amplitude component |X(f)| and a phase component argX(f). Then, theorthogonal transform unit 42 outputs the amplitude component |X(f)| of the generated input spectrum X(f) to thegain processing unit 43, and also outputs the phase component argX(f) to the inverseorthogonal transform unit 44, as illustrated inFIG. 2 . - The
gain processing unit 43 multiplies the amplitude component |X(f)| of the input spectrum X(f) that has been input by a coefficient G(f), so as to calculate the amplitude component |Y(f)| after suppression (or amplification) represented inFormula 3 below. Then, thegain processing unit 43 outputs the calculated amplitude component |Y(f)| after suppression (or amplification) to the inverseorthogonal transform unit 44, as illustrated inFIG. 2 . Meanwhile, the coefficient G(f) is a coefficient for noise suppression and the like, and inEmbodiment 1, it is assumed to be supplied from outside thesignal processing apparatus 1.
[Formula 3] - The inverse
orthogonal transform unit 44 applies inverse orthogonal transform to the phase component argX (f) of the input spectrum X(f) and the input amplitude component |Y(f)| after suppression (or amplification), so as to generate a frame signal y(t) in the time domain. Then, the inverseorthogonal transform unit 44 stores the generated frame signal y(t) in the data area of thestorage unit 20, and also outputs the generated frame signal y(t) to the identifyingunit 45 and the outputsignal generating unit 47 respectively, as illustrated inFIG. 2 . - The identifying
unit 45 identifies a segment in which the frame signal y(t) (hereinafter expressed as yy(t) in order to distinguish it from the frame signal y(t) corresponding to the current frame) corresponding to the immediately preceding frame is overlapped (hereinafter, referred to as an overlap segment) . Then, the identifyingunit 45 outputs the starting end seg_st and the terminal end seg_en of the identified overlap segment to the windowfunction generating unit 46, as illustrated inFIG. 2 . - Here, an identification method (hereinafter, referred to as the first identification method) for the overlap segment in
Embodiment 1 is explained in detail. - The identifying
unit 45 identifies a "t" at which the absolute value of the amplitude |y(t)| of the input frame signal y(t) becomes the minimum in the section overlapping with the immediately preceding frame as the starting end seg_st of the overlap segment. At this time, when there are a plurality of "t"s at which the absolute value of the amplitude |y(t)| becomes the minimum, the identifyingunit 45 identifies the smallest t among the "t"s at which the absolute value of the amplitude |y(t)| becomes the minimum in the section overlapping with the immediately preceding frame as the starting end seg_st of the overlap segment. - Meanwhile, the identifying
unit 45 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of thestorage unit 20. Then, the identifyingunit 45 identifies a "t" at which the absolute value of the amplitude |yy(t)| of the obtained frame signal yy(t) becomes the minimum as the terminal end seg_en of the overlap segment. At this time, when there are a plurality of "t"s at which the absolute value of the amplitude |yy(t)| becomes the minimum, the identifyingunit 45 identifies the largest t among the "t"s at which the absolute value of the amplitude |yy(t)| becomes the minimum in the section overlapping with the immediately preceding frame as the terminal end seg_en of the overlap segment. - When the starting end seg_st and the terminal end seg_en identified as described above do not satisfy seg_st<seg_en, the identifying
unit 45 adjusts the starting end seg_st and/or the terminal end seg_en so as to satisfy seg_st<seg_en. More specifically, the identifyingunit 45 identifies again t at which the absolute value of the amplitude |y(t)| and the absolute value of the amplitude |yy(t)| become the minimum as the starting end seg_st and the terminal end seg_en respectively, within the range in which seg_st<seg_en is satisfied. - As described above, in the first identification method, the overlap segment with which a segment length T becomes the maximum in the overlap segment that satisfies a prescribed condition is identified.
- The window
function generating unit 46 calculates the length (hereinafter, referred to as the segment length) T of the overlap segment identified by the identifyingunit 45, based on the starting end seg_st and the terminal end seg_en that have been input. The segment length T may be expressed as inFormula 4 using the starting end seg_st and the terminal end seg_en of the overlap segment.
[Formula 4] - Then, the window
function generating unit 46 generates an output window function w1 (t) and an output window function w2 (t) based on the calculated segment length T and according toFormula 5 andFormula 6 below. Then, the windowfunction generating unit 46 outputs the generated output window function w1 (t) and the output window function w2 (t) to the outputsignal generating unit 47, as illustrated inFIG. 2 . Meanwhile, seg_st ≤t≤seg_en holds true about t.
[Formula 5]
[Formula 6] - Here, the output window functions exemplified in
Formula 5 andFormula 6 are a window function based on the Hann window function. However, it may also be another window function as long as it is a window function that is set so as to make the amplitude |y(t)| at the starting seg_st of the identified overlap segment "0" and the amplitude |yy(t)| at the terminal end seg_en "0", at least so that the sum of the contributions of each other at both ends of the overlap segment becomes "1". -
- The output
signal generating unit 47 generates the output signal out (t) of the processing-target frame, and outputs the generated output signal out(t) to theoutput unit 30. More specifically, the outputsignal generating unit 47 adds and compounds a window signal generated by obtaining the frame signal yy(t) corresponding to the immediately preceding frame from the data area of thestorage unit 20 and multiplying the obtained frame signal yy(t) by the output window function w2 (t) that has been input, and a window signal generated by multiplying the frame signal y(t) of the current frame by the input output window function w1(t) that has been input, so as to generate the output signal represented inFormula 8 below, in the overlap segment identified by the identifyingunit 45.
[Formula 8] - Meanwhile, the output
signal generating unit 47 sets the frame signal yy(t) corresponding to the immediately preceding frame as the output signal out(t) in the segment before the starting end seg_st in the section overlapping with the immediately preceding frame, and sets the frame signal y(t) corresponding to the current frame as the output signal out(t) in the segment after the terminal end seg_en in the section overlapping with the immediately preceding frame. - Here, referring to
FIG. 3 , along with a specific example, the flow from identification of the overlap segment based on the first identification method to generation of the output signal out (t) is explained.FIG. 3 is a diagram explaining the flow from identification of the overlap segment based on the first identification method to generation of the output signal out(t), along with a specific example. - First, the identifying
unit 45 identifies the overlap segment. In this specific example, as illustrated inFIG. 3 , in the section overlapping with the immediately preceding frame, the minimum value of the absolute value of the amplitude |y(t)| of the frame signal y(t) corresponding to the current frame is "0". Therefore, the identifyingunit 45 identifies the smallest t in the "t"s at which amplitude |y(t)|=0, in the section overlapping with the immediately preceding frame. - Meanwhile, in this specific example, as illustrated in
FIG. 3 , in the section overlapping with the current frame, the minimum value of the absolute value of the amplitude |yy(t)| of the frame signal yy(t) corresponding to the immediately preceding frame is "0". Therefore, the identifyingunit 45 identifies the largest t in the "t"s at which amplitude |yy(t)|=0, in the section overlapping with the immediately preceding frame. - In this specific example, the starting end seg_st and the terminal end seg_en of the overlap segment identified as described above satisfy seg_st<seg_en, as illustrated in
FIG. 3 . - Then, the window
function generating unit 46 generates the output window function w1(t) and the output window function w2(t) whose window length is equal to the segment length T of the overlap segment, respectively. Then, in the identified overlap segment, the outputsignal generating unit 47 generates the output signal out(t) according toFormula 8. - Next, with reference to
FIG. 4 through FIG. 6 , the flow of signal processing inEmbodiment 1 is explained.FIG. 4 ,FIG. 5 , andFIG. 6 are the first part, the second part, and the third part, respectively, of a flowchart for explaining the flow of signal processing inEmbodiment 1. This signal processing starts with an input of the input signal in(t) into the windowsignal generating unit 41 as a trigger, for example. - The window
signal generating unit 41 divides the input signal in(t) into frames to generate the input frame signal x(t) (step S001), and also resets the counter 41A (step S002). - Then, the window
signal generating unit 41 generates the window signal wx(t) of the n-th frame corresponding to the counter value k=n of the counter 41A (step S003), and outputs the generated window signal wx(t) to the orthogonal transform unit 42 (step S004). - Then, the
orthogonal transform unit 42 applies orthogonal transform to the window signal wx(t) that has been input to calculate the input spectrum X(f) in the frequency domain (step S005). Then, theorthogonal transform unit 42 outputs the amplitude component |X(f)| of the calculated input spectrum X (f) to the gain processing unit 43 (stepS006), and also outputs the phase component argX(f) to the inverse orthogonal transform unit 44 (step S007). - Then, the
gain processing unit 43 multiplies the amplitude component |X(f)| 1 that has been input by a coefficient G(f) supplied from outside to calculate the amplitude component |Y(f)| after suppression (or amplification) (step S008), and outputs the calculated amplitude component |Y(f)| after suppression (or amplification) to the inverse orthogonal transform unit 44 (step S009). - Then, the inverse
orthogonal transform unit 44 applies inverse orthogonal transform to the amplitude component |Y(f)| after suppression (or amplification) and to the phase component argX(f) of the input spectrum X(f) that have been input, so as to generate the frame signal y(t) in the time domain (step S010). - Then, the inverse
orthogonal transform unit 44 stores the generated frame signal y (t) in the data area of the storage unit 20 (step S011), and also outputs the generated frame signal y(t) to the identifyingunit 45 and the outputsignal generating unit 47, respectively (step S012). - Then, the identifying
unit 45 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of the storage unit 20 (step S013), identifies the starting end seg_st according to the first identification method and based on the frame signal y(t) of the current frame that has been input, and identifies the terminal end seg_en based on the obtained frame signal yy (t) of the immediately preceding frame, so as to identify the overlap segment (step S014). - Then, the identifying
unit 45 outputs the identified starting end seg_st and the terminal end seg_en to the window function generating unit 46 (step S015). - Then, the window
function generating unit 46 calculates the segment length T of the overlap segment based on the starting end seg_st and terminal end seg_st that have been input, and generates the output window function w1 (t) and the output window function w2(t), respectively, based on the calculated segment length T (step S106) . Then, the windowfunction generating unit 46 outputs the generated output window function w1(t) and the output window function w2(t) to the output signal generating unit 47 (step S017). - Then, the output
signal generating unit 47 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of the storage unit 20 (step S018), and in the identified overlap segment, generates the output signal out(t) represented inFormula 8 mentioned above (step S019). - Then, the window
signal generating unit 41 judges whether or not there is any unprocessed frame (step S020), and when it is judged by the windowsignal generating unit 41 that there is no unprocessed frame (step S020; NO), this process is terminated, and waiting for an input of the next input signal in(t) is performed. - On the other hand, when it is judged that there is an unprocessed frame (step S020; YES), the window
signal generating unit 41 increments the counter 41A (step S021), this process returns to the process in step S003, and the processes described above are repeated. - According to
Embodiment 1 described above, thesignal processing apparatus 1 identifies an overlap segment in which the frame signal yy(t) corresponding to the immediately preceding frame overlaps with a section overlapping with the immediately preceding frame, so that at least the absolute value of the amplitude |y(seg_st)| at the starting end seg_st of the overlap segment becomes smaller than the absolute value of the amplitude |y(st)| at the starting end st of the overlapping section, or the absolute value of the amplitude |yy(seg_en)| at the terminal end seg_en of the overlap segment becomes smaller than the absolute value of the amplitude |yy(en)| at the terminal end en of the overlapping section, and in the identified overlap segment, outputs an output signal out(t) obtained by adding and compounding the frame signal yy(t) corresponding to the immediately preceding frame and the frame signal y(t) of the current frame. - By making a configuration as described above, it becomes possible to reduce gaps due to discontinuity at the frame boundary and to suppress noise generated at the frame boundary.
- In addition, according to
Embodiment 1 described above, the overlap segment is identified so that the segment length becomes the maximum in the overlap segment that satisfies a prescribed condition. By configuring in such a manner, it becomes possible to improve the suppression (or amplification) accuracy. - In addition, according to
Embodiment 1 described above, thesignal processing apparatus 1 identifies a "t" at which the absolute value of the amplitude |y(t)| becomes the minimum in the section overlapping with the immediately preceding frame as the starting end seg_st of the overlap segment, and identifies a "t" at which the absolute value of the amplitude |yy(t)| becomes the minimum in the section overlapping with the current frame as the terminal end seg_en of the overlap segment. By configuring in such a manner, it becomes possible to minimize gaps due to discontinuity at the frame boundary. - In addition, according to
Embodiment 1 described above, thesignal processing apparatus 1 generates output window functions w1(t) and w2(t) that are window functions whose window length is equal to the segment length T of the identified overlap segment and that are set so as to make the amplitude |y(seg_st)| at the starting end seg_st of the overlap segment "0" and to make the amplitude |yy(seg_en)| at the terminal end seg_en "0", at least so that the sum of the contributions of each at both ends of the overlap segment becomes "1", and in the identified overlap segment, adds and compounds the window signal obtained by multiplying the frame signal y(t) by the output window function w1(t) and the window signal obtained by multiplying the frame signal yy(t) by the output window function w2(t), so as to generate the output signal out (t) . By configuring in such a manner, it becomes possible to eliminate discontinuity at the frame boundary. -
Embodiment 2 is described. - In
Embodiment 1, the starting end seg_st and the terminal end seg_en of the overlap segment are identified according to the first identification method described above. InEmbodiment 2, a case in which the starting end seg_st and the terminal end seg_en of the overlap segment are identified according to a method (hereinafter referred to as the second identification method) that is different from the first identification method is explained. - The basic configuration of the
signal processing apparatus 1 in thepresent Embodiment 2 is the same as that in the case ofEmbodiment 1. However, the function served by the identifyingunit 45 is different from that in the case ofEmbodiment 1. - The
control unit 40 is constituted by a CPU or the like, for example, and executes an operation program stored in the program area of thestorage unit 20 to realize functions of the windowsignal generating unit 41, the counter 41A, theorthogonal transform unit 42, thegain processing unit 43, the inverseorthogonal transform unit 44, the identifyingunit 45, the windowfunction generating unit 46, and the outputsignal generating unit 47, as illustrated inFIG. 1 , and also executes processes such as a control process for controlling the entirety of thesignal processing apparatus 1 and signal processing described in detail later. - The identifying
unit 45 identifies the overlap segment, and outputs the identified starting end seg_st and the terminal end seg_en of the overlap segment to the windowfunction generating unit 46, as illustrated inFIG. 2 . - Here, the second identification method for the overlap segment in the
present Embodiment 2 is explained in detail. - The identifying
unit 45 identifies the minimum t among "t"s at which the absolute value of the amplitude |y(t)| of the frame signal y(t) that has been input becomes equal to or smaller than a threshold M (M≥0) that has been set in advance, in the section overlapping with the immediately preceding frame. - Meanwhile, the identifying
unit 45 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of thestorage unit 20. Then, the identifyingunit 45 identifies the maximum t among the "t"s at which the absolute value of the amplitude |yy(t)| of the obtained frame signal yy(t) becomes equal to or smaller than the threshold M in the section overlapping with the current frame as the terminal end seg_en of the overlap segment. - As described above, in the second identification method, in a similar manner as in the first identification method, an overlap segment at which the segment length T becomes the maximum in an overlap segment that satisfies a prescribed condition is identified.
- Next, referring to
FIG. 7 , according to a specific example, the flow from identification of the overlap segment based on the second identification method to generation of the output signal out(t) is explained.FIG. 7 is a diagram explaining the flow from identification of the overlap segment based on the second identification method to generation of the output signal out(t), according to a specific example. - First, the identifying
unit 45 identifies the overlap segment. In this specific example, in the section overlapping with the immediately preceding frame, the smallest t among "t"s at which the absolute value of the amplitude |y(t)| of the frame signal y(t) corresponding to the current frame becomes equal to or smaller than the threshold M is the t that is set as the starting end seg_st, as illustrated inFIG. 7 . - Meanwhile, in this specific example, in the section overlapping with the current frame, the largest t among "t"s at which the absolute value of the amplitude |yy(t)| of the frame signal yy(t) corresponding to the immediately preceding frame becomes equal to or smaller than the threshold M is the t that is set as the terminal end seg_en, as illustrated in
FIG. 7 . - Then, the window
function generating unit 46 generates the output window function w1(t) and the output window function w2 (t) whose window length is equal to the segment length of the overlap segment, respectively. Then, the outputsignal generating unit 47 generates the output signal out (t) according toFormula 8 mentioned above, in the identified overlap segment. - Meanwhile, the configuration may also be made so as to make the threshold M variable according to the amplitudes at both ends of the section overlapping with an adjacent frame. More specifically, assuming the starting end of the overlapping section as st and the terminal end as en, the threshold M is made variable so as to be equal to or smaller than the absolute value of the amplitude that is the smaller of the absolute value of the amplitude |y(st)| of the current frame signal y(t) at the starting end st and the absolute value of the amplitude |yy(en)| of the frame signal yy(t) corresponding to the immediately preceding frame at the terminal end en. By doing this, it becomes possible to reliably suppress gaps due to discontinuity in comparison with the case in which the overlap segment is fixed (overlap segment=overlapping section).
- Next, referring to
FIG. 8 , the flow of signal processing inEmbodiment 2 is explained.FIG. 8 is part of an example of a flowchart for explaining the flow of signal processing in thepresent Embodiment 2. This signal processing starts with an input of the input signal in(t) into the windowsignal generating unit 41 as a trigger, for example. Here, mainly portions that are different fromEmbodiment 1 are explained. - The identifying
unit 45 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of the storage unit 20 (step S013) , identifies the starting end seg_st according to the second identification method and based on the input frame signal y(t) of the current frame, and identifies the terminal end seg_en based on the obtained frame signal yy(t) of the immediately preceding frame, so as to identify the overlap segment (S014A). - Then, the identifying
unit 45 outputs the identified starting end seg_st and terminal end seg_st to the window function generating unit 46 (step S015). Then, the process proceeds to the process in step S016 explained inEmbodiment 1. - According to
Embodiment 2 described above, thesignal processing apparatus 1 identifies the smallest t among "t"s at which the absolute value of the amplitude |y(t)| becomes equal to or smaller than the threshold M in the section overlapping with the immediately preceding frame as the starting end of the overlap segment, and identifies the largest t among "t"s at which the absolute value of the amplitude |yy(t)| becomes equal to or smaller than the threshold M in the section overlapping with the current frame as the terminal end seg_en of the overlap segment. - By configuring in such a manner, it becomes possible to make the width of the overlap segment larger in comparison with the case in which the overlap segment is identified according to the first identification method explained in
Embodiment 1. Accordingly, it becomes possible to improve the suppression (or amplification) accuracy while suppressing gaps due to discontinuity at the frame boundary to within the allowable range. -
Embodiment 3 is described. - In
1 and 2, theEmbodiments signal processing apparatus 1 is configured so as to generate output window functions, and to suppress generation of discontinuity by making the amplitudes at both ends of the overlap segment "0" by means of the generated output window functions. - In
Embodiment 3, thesignal processing apparatus 1 is configured so as to make the amplitudes at both ends of the overlap segment "0" by applying a correction process such as addition of a DC component for example, so as to suppress generation of discontinuity. Meanwhile, this configuration may also be applied to the overlap segment identified according to both the first identification method and the second identification explained in 1 and 2. In theEmbodiments present Embodiment 3 , a case in which it is applied to the overlap segment identified according to the second identification method is explained. -
FIG. 9 is a functional block diagram illustrating a configuration example of thesignal processing apparatus 1 inEmbodiment 3.Fig. 10 is a diagram illustrating the flow of the signal in thepresent Embodiment 3. The basic configuration of thesignal processing apparatus 1 in thepresent Embodiment 3 is the same as that in the case ofEmbodiment 1. - However, as illustrated in
FIG. 9 , there is a difference from the case inEmbodiment 1 in that thecontrol unit 40 is not equipped with the windowfunction generating unit 46 and is further equipped with acorrection processing unit 48. In addition, the functions served by the inverseorthogonal transform unit 44, the identifyingunit 45 and the outputsignal generating unit 47 are respectively different from those in the case ofEmbodiment 1. - The
control unit 40 is constituted by a CPU and the like, for example, and executes an operation program stored in the program area of thestorage unit 20 to realize functions of the windowsignal generating unit 41, the counter 41A, theorthogonal transform unit 42, thegain processing unit 43, the inverseorthogonal transform unit 44, the identifyingunit 45, the outputsignal generating unit 47 and thecorrection processing unit 48, and also executes a control process for controlling the entirety of thesignal processing apparatus 1 and signal processing described in detail later. - The inverse
orthogonal transform unit 44 applies inverse orthogonal transform to the phase component argX (f) of the input spectrum X(f) and the amplitude component |Y(f)| after suppression (or amplification) that have been input, so as to generate the frame signal y(t) in the time domain. Then, the inverseorthogonal transform unit 44 stores the generated frame signal y(t) in the data area of thestorage unit 20, and also outputs the generated frame signal y (t) to the identifyingunit 45 and the outputsignal generating unit 47 and thecorrection processing unit 48, respectively, as illustrated inFIG. 10 . - The identifying
unit 45 identifies the overlap segment according to the second identification method described above. Then, the identifyingunit 45 outputs the starting end seg_st and the terminal end seg_en of the identified overlap segment to thecorrection processing unit 48, as illustrated inFIG. 10 . - The output
signal generating unit 47 generates the output signal out(t) of the processing-target frame, and outputs the generated output signal out(t) to theoutput unit 30. More specifically, in the overlap segment identified by the identifyingunit 45, the outputsignal generating unit 47 adds and compounds frame signals yC(t) and yyC(t) after correction input from thecorrection processing unit 48, so as to generate the output signal out(t) represented in Formula 9 below.
[Formula 9] - The
correction processing unit 48 generates a signal for correction C1(t) to correct the amplitude |y(seg_st)| of the frame signal y(t) of the current frame at the starting end seg_st to be "0" and a signal for correction C2(t) to correct the amplitude |yy(seg_en)| of the frame signal yy(t) corresponding to the immediately preceding frame at the terminal end seg_en to be "0". Then, thecorrection processing unit 48 generates frame signals yC(t) and yyC(t) after correction that have been corrected based on the signals for correction. Then, thecorrection processing unit 48 outputs the generated frame signals yC(t) and yyC(t) after correction to the outputsignal generating unit 47 as illustrated inFIG. 10 . - More specifically, the
correction processing unit 48 generates the signal for correction C1 (t) based on the amplitude |y(seg_st)| of the frame signal y(t) of the current frame at the starting end seg_st that has been input. For example, thecorrection processing unit 48 generates the signal for correction C1(t) represented inFormula 10, for example.
[Formula 10] - In a similar manner, the
correction processing unit 48 obtains the frame signal yy(t) corresponding to the immediately preceding frame stored in the data area of thestorage unit 20, and generates the signal for correction C2(t) based on the amplitude |yy(seg_en)| of the frame signal yy(t) corresponding to the immediately preceding frame at the terminal end seg_en that has been input. For example, thecorrection processing unit 48 generates the signal for correction C2(t) represented in Formula 11 below.
[Formula 11] - Then, the
correction processing unit 48 adds and compounds the frame signal y(t) and the signal for correction C1(t), so as to generate the frame signal yC(t) after correction represented in Formula 12 below. The amplitude |yc (seg_st)| of the frame signal yC(t) after correction generated as described above at the starting end seg_st is "0".
[Formula 12] - In a similar manner, the
correction processing unit 48 adds and compounds the frame signal yy(t) and the signal for correction C2 (t), so as to generate the frame signal yyc (t) after correction that is represented inFormula 13 below. The amplitude |yyc (seg_en)| of the frame signal yyC(t) after correction generated as described above at the terminal end seg_en is "0".
[Formula 13] - Meanwhile, the signal for correction C1(t) (or C2(t)) generated by the
correction processing unit 48 may be another signal as long as the amplitude |y(seg_st)| and the amplitude |yy(seg_en)| can be corrected to be "0", but a signal for correction that minimizes generation of distortion in the frame signal yC(t) (or yyc(t)) is preferable. This is because distortion in the frame signal, especially in the high-frequency band, causes deterioration in the sound quality. - Next, referring to
FIG. 11 , according to a specific example, the flow from identification of the overlap segment based on the second identification method to generation of the output signal out (t) is explained.FIG. 11 is a diagram explaining the flow from identification of the overlap segment based on the second identification method to generation of the output signal out(t) according to a specific example. - First, the identifying
unit 45 identifies the overlap segment. In this specific example, as illustrated inFIG. 11 , the smallest t among the "t"s at which the absolute value of the amplitude |y(t)| of the frame signal y(t) corresponding to the current frame becomes equal to or smaller than the threshold M in the section overlapping with the immediately preceding frame is the t that is set as the starting end seg_st. - Meanwhile, in this specific example, as illustrated in
FIG. 11 , the largest t among "t"s at which the absolute value of the amplitude |yy(t)| of the frame signal yy(t) corresponding to the immediately preceding frame becomes equal to or smaller than M in the section overlapping with the current frame is the t that is set as the terminal end seg_en. - In this specific example, the amplitudes |y(seg_st)| and |yy(seg_en)| at both ends of the overlap segment are both M, as illustrated in
FIG. 11 . Therefore, thecorrection processing unit 48 generates a signal for correction C1(t)(=-M) for the frame signal y(t) corresponding to the current frame and a signal for correction C2(t)(=-M) for the frame signal yy(t) corresponding to the immediately preceding frame. - Then, the
correction processing unit 48 adds and compounds the signal for correction C1(t) and the frame signal y(t) of the current frame, so as to generate a frame signal yC(t) after correction. In a similar manner, thecorrection processing unit 48 adds and compounds the signal for correction C2(t) and the frame signal yy(t) corresponding to the immediately preceding frame, so as to generate a frame signal yyC(t) after correction. - By applying a correction process as described above, as illustrated in
FIG. 11 , the amplitude |yc (seg_st)| of the frame signal yC(t) after correction at the starting end seg_st is corrected to be "0", and in a similar manner, the amplitude |yyc (seg_en)| of the frame signal yyC(t) after correction at the terminal end seg_en is corrected to be "0". - Then, in the identified overlap segment, the output
signal generating unit 47 generates the output signal out (t) according to Formula 9 mentioned above. - Next, with reference to
FIG. 12 through FIG. 14 , the flow of signal processing in thepresent Embodiment 3 is explained.FIG. 12 ,FIG. 13 , andFIG. 14 are the first part, the second part, and the third part, respectively, of an example of a flowchart for explaining signal processing in thepresent Embodiment 3. This signal processing starts with an input of the input signal in(t) into the windowsignal generating unit 41 as a trigger, for example. - The window
signal generating unit 41 divides into frames the input signal in(t) that has been input, so as to generate an input frame signal x(t) (step S001), and also resets the counter 41A (step S002). - Then, the window
signal generating unit 41 generates the window signal wx(t) of the n-th frame corresponding to the counter value k=n of the counter 41A (step S003), and outputs the window signal wx(t) to the orthogonal transform unit 42 (step S004). - Then, the
orthogonal transform unit 42 applies orthogonal transform to the input window signal wx(t), so as to calculate the input spectrum X(f) in the frequency domain (step S005). Then, theorthogonal transform unit 42 outputs the amplitude component |X(f)| of the calculated input spectrum X(f) to the gain processing unit 43 (step S006), and also outputs the phase component argX(f) to the inverse orthogonal transform unit 44 (step S007). - Then, gain processing
unit 43 multiplies the amplitude component |X(f)| that has been input by the coefficient G(f) supplied from outside to calculate amplitude component |Y(f)| after suppression (or amplification) (step S008), and outputs the calculated amplitude component |Y(f)| after suppression (or amplification) to the inverse orthogonal transform unit 44 (step S009). - Then, the inverse
orthogonal transform unit 44 applies inverse orthogonal transform to the amplitude component |Y(f)| after suppression (or amplification) and to the phase component argX(f) of the input spectrum X(f) that have been input, so as to generate the frame signal y(t) in the time domain (step S010). - Then, the inverse
orthogonal transform unit 44 stores the generated frame signal y(t) in the data area of the storage unit 20 (step S011), and also outputs the generated frame signal y(t) to the identifyingunit 45, the outputsignal generating unit 47, and thecorrection processing unit 48, respectively (step S101). - Then, the identifying
unit 45 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of the storage unit 20 (step S013), identifies the starting end seg_st based on the frame signal y(t) of the current frame that has been output, and identifies the terminal end seg_en based on the obtained frame signal yy(t) of the immediately preceding frame, according to the second identification method, so as to identify the overlap segment (step S014A). - Then, the identifying
unit 45 outputs the identified starting end seg_st and the terminal end seg_st to the correction processing unit 48 (step S102). - Then, the
correction processing unit 48 obtains the frame signal yy(t) corresponding to the immediately preceding frame stored in the data area of the storage unit 20 (step S103) . Then, thecorrection processing unit 48 generates the signal for correction C1(t) based on the amplitude |y(seg_st)| of the frame signal y(t) of the current frame at the starting end seg_st that has been input, and in a similar manner, generates the signal for correction C2 (t) based on the amplitude |yy (seg_en)| of the frame signal yy (t) corresponding to the immediately preceding frame at the terminal end seg_en that has been input (step S104) . - Then, the
correction processing unit 48 adds and compounds the frame signal y(t) and the signal for correction C1(t), so as to generate the frame signal yC(t) after correction, and in a similar manner, adds and compounds the frame signal yy(t) and the signal for correction C2(t), so as to generate the frame signal yyC(t) after correction (step S105). Then, thecorrection processing unit 48 outputs the generated frame signals yC(t) and yyC(t) to the output signal generating unit 47 (step S106) . - Then, the output
signal generating unit 47 obtains the frame signal yy(t) corresponding to the immediately preceding frame from the data area of the storage unit 20 (step S018), and in the identified overlap segment, generates the output signal out(t) represented in Formula 9 mentioned above (step S107). - Then, the window
signal generating unit 41 judges whether or not there is any unprocessed frame (step S020), and when it is judged by the windowsignal generating unit 41 that there is no unprocessed frame (step S020; NO), this process is terminated, and waiting for an input of the next input signal in(t) is performed. - On the other hand, when it is judged that there is an unprocessed frame (step S020; YES), the window
signal generating unit 41 increments the counter 41A (step S021), this process returns to the process in step S003, and the processes described above are repeated. - According to
Embodiment 3 described above, in the overlap segment, thesignal processing apparatus 1 adds and compounds signals for correction that make the amplitudes at the frame boundary (both ends of the overlap segment) after correction "0" and respectively the frame signal y(t) and the frame signal yy(t), so as to generate frame signals yC(t) and yyC(t) after correction, and outputs the output signal out(t) obtained by adding and compounding frame signals yC(t) and yyC(t) after correction. - By configuring in such a manner, it becomes possible to eliminate discontinuity at the frame boundary. In addition, the absolute values of the amplitudes at both ends of the overlap segment are adjusted to be smaller than the amplitudes at both ends of the overlapping section, and therefore, it becomes possible to make the size of the component (for example a DC component) added to eliminate discontinuity smaller. Accordingly, it becomes possible to suppress noise in playback in the playback device.
- In addition, according to
Embodiment 3 described above, thesignal processing apparatus 1 generates a signal for correction that does not cause a large distortion in the frame signal y(t) (or yy(t)) when added and compounded. By configuring in such a manner, it becomes possible to prevent deterioration in the sound quality. -
Embodiment 4 is described. - In
Embodiment 4, application examples of thesignal processing apparatus 1 described inEmbodiments 1 through 3 are explained. Meanwhile, explanation is given below, assuming that the configuration of thesignal processing apparatus 1 in thepresent Embodiment 4 is the configuration described inEmbodiment 1. Apart from the application examples exemplified here, thesignal processing apparatus 1 described inEmbodiments 1 through 3 may be applied to an apparatus that adopts a frequency-domain suppression/amplification system for performing suppression (or amplification) in the frequency domain. - This Application example 1 is an example in which the
signal processing apparatus 1 is applied to anoise suppression apparatus 2.FIG. 15 illustrates a configuration example of thenoise suppression apparatus 2 and the flow of the signal in this Application example 1. - The
noise suppression apparatus 2 in this Application example 1 performs a noise suppression process as an example of the process in thegain processing unit 43 , and as illustrated inFIG. 15 , it is configured to include anoise estimating unit 50 and a suppressioncoefficient calculating unit 60, in addition to the configuration of thesignal processing apparatus 1 inEmbodiment 1. - The
noise estimating unit 50 estimates an estimated noise spectrum N(f) based on the amplitude component |X(f)| output from theorthogonal transform unit 42 of thesignal processing apparatus 1. Then, as illustrated inFIG. 15 , thenoise estimating unit 50 outputs the estimated noise spectrum N(f) to the suppressioncoefficient calculating unit 60. - More specifically, every time the amplitude component |X(f)| of the input spectrum X(f) is input, the
noise estimating unit 50 judges based on the amplitude component |X(f)| whether or not the current frame includes sound, and updates the estimated noise spectrum N(f) when it judges that no sound is included. - That is, the
noise estimating unit 50 updates the estimated noise spectrum N(f) according to Formula 14 below, when it is judged that no sound is included in the current frame. Meanwhile, N0(f) in the formula represents the estimated noise spectrum at the time of processing for the immediately preceding frame, and A is a prescribed constant number.
[Formula 14] - Meanwhile, when it is judged that no sound is included in the current frame, the
noise estimating unit 50 sets the estimated noise spectrum N0(f) at the time of processing for the immediately preceding frame as the estimated noise spectrum N(f) for the current frame. That is, in this case, thenoise estimating unit 50 outputs the estimated noise spectrum N(f) represented in Formula 15 below to the suppressioncoefficient calculating unit 60.
[Formula 15] - The suppression
coefficient calculating unit 60 calculates a suppression coefficient G(f) based on the noise spectrum N(f) that has been input and the amplitude component |X(f)| output from theorthogonal transform unit 42. Then, the suppressioncoefficient calculating unit 60 outputs the calculated suppression coefficient G(f) to thegain processing unit 43 of thesignal processing apparatus 1, as illustrated inFIG. 15 . -
- Then, suppression
coefficient calculating unit 60 calculates the suppression coefficient G(f) according to the calculated SNR. - As explained in
Embodiments 1 through 3, the suppression process in the frequency domain is performed by thegain processing unit 43 based on the suppression coefficient G(f) calculated as described above, and after that, the frame signal y(t) in the time domain is generated by the inverseorthogonal transform unit 44. - When the suppression process is performed using different suppression coefficients G(f) for adjacent frames, there may be a deviation in the amplitudes at both ends of the frame signal y(t), but it becomes possible to correct this deviation according to the method explained in
Embodiments 1 through 3 described above. - This Application example 2 is an example in which the
signal processing apparatus 1 is applied to anecho suppression apparatus 3.FIG. 16 illustrates a configuration example of theecho suppression apparatus 3 and the flow of the signal in this Application example 2. - The
echo suppression apparatus 3 in this Application example 2 performs an echo suppression process as an example of the process in thegain processing unit 43, and it is configured to include the suppressioncoefficient calculating unit 60, a second windowsignal generating unit 70, and a secondorthogonal transform unit 80, in addition to the configuration of thesignal processing apparatus 1 inEmbodiment 1. - The second window
signal generating unit 70 divides into frames a reference signal ref (t) with respect to an input signal in(t), so as to generate an window signal r(t) for each frame. Then, the second windowsignal generating unit 70 sequentially outputs the generated window signal r(t) to the secondorthogonal transform unit 80, as illustrated inFIG. 16 . - More specifically, the second window
signal generating unit 70 divides into frames the input reference signal ref(t), so as to generate a frame reference signal rx(t) that is the reference signal divided into frames. Meanwhile, the frame reference signal rx(t) represented inFormula 17 is a frame reference signal rx(t) corresponding to the n-th frame (n is a natural number that is 1 or greater) . In addition, "L" in the formula is the shift length, and assuming "N" as the frame length, 0≤t≤N holds true about t.
[Formula 17] - Then, the second window
signal generating unit 70 obtains the window function w(t) stored in thestorage unit 20, and multiplies the obtained window function w(t) by the frame reference signal rx(t) corresponding to the processing-target frame, so as to generate the window signal r(t) represented inFormula 18 below.
[Formula 18] - The second
orthogonal transform unit 80 transforms the window signal r(t) that has been input using an orthogonal transform such as MDCT, FFT, wavelet transform or the like for example, so as to generate a spectrum R(f) in the frequency domain composed of the amplitude component |R(f)| and the phase component arg R(f) . Then, the secondorthogonal transform unit 80 outputs the amplitude component |R(f)| of the generated spectrum R(f) to the suppressioncoefficient calculating unit 60, as illustrated inFIG. 16 . - The suppression
coefficient calculating unit 60 calculates the suppression coefficient G(f) based on the amplitude component |R(f)| of the spectrum R(f) that has been input and the amplitude component |X(f)| output from theorthogonal transform unit 42. Then, the suppressioncoefficient calculating unit 60 outputs the calculated suppression coefficient G(f) to thegain processing unit 43 of thesignal processing apparatus 1, as illustrated inFIG. 16 . - More specifically, the suppression
coefficient calculating unit 60 compares the amplitude component |X(f)| and amplitude component |R(f)| that have been input to calculate similarity, for example, a correlation coefficient, and calculates the suppression coefficient G(f) according to the calculated similarity. - As explained in
Embodiments 1 through 3, the suppression process in the frequency domain is performed by thegain processing unit 43 based on the suppression coefficient G(f) calculated as described above, and after that, the frame signal y(t) in the time domain is generated by the inverseorthogonal transform unit 44. - When the suppression process is performed using different suppression coefficients G(f) for adjacent frames, there may be a deviation in the amplitudes at both ends of the frame signal y(t), but it becomes possible to correct this deviation according to the method explained in
Embodiments 1 through 3 described above. - This Application example 3 is an example in which the
signal processing apparatus 1 is applied to asound emphasis apparatus 4.FIG. 17 illustrates a configuration example of thesound emphasis apparatus 4 and the flow of the signal in this Application example 3. - The
sound emphasis apparatus 4 in this Application example 3 performs a sound emphasis process as an example of the process in thegain processing unit 43, and it is configured to include thenoise estimating unit 50, the second windowsignal generating unit 70, the secondorthogonal transform unit 80, and an amplificationcoefficient calculating unit 90, in addition to the configuration inEmbodiment 1. - The second window
signal generating unit 70 divides into frames the reference signal ref(t) with respect to the input signal in(t), as explained in Application example 2, so as to generate the window signal r (t) for each frame. Then, the second windowsignal generating unit 70 sequentially outputs the generated window signal r (t) to the secondorthogonal transform unit 80, as illustrated inFIG. 17 . - The second
orthogonal transform unit 80 transforms the input window signal r (t) using an orthogonal transform such as MDCT, FFT, wavelet transform or the like for example, so as to generate a spectrum R(f) in the frequency domain composed of the amplitude component |R(f)| and the phase component arg R(f). Then, the secondorthogonal transform unit 80 outputs the amplitude component |R(f)| of the generated spectrum R(f) to thenoise estimating unit 50, as illustrated inFIG. 17 . - The
noise estimating unit 50 estimates the estimated noise spectrum N(f) based on the amplitude component |R(f)| output from the secondorthogonal transform unit 80. Then, thenoise estimating unit 50 outputs the estimated noise spectrum N(f) to the amplificationcoefficient calculating unit 90, as illustrated inFIG. 17 . - More specifically, every time the amplitude component |R(f)| of the spectrum R(f) is input, the
noise estimating unit 50 judges whether or not the current frame includes sound, based on the amplitude component |R(f)|, and updates the estimated noise spectrum N(f) when it judges that no sound is included. - That is, the
noise estimating unit 50 updates the estimated noise spectrum N(f) according to Formula 19 below, when it is judged that no sound is included in the current frame. Meanwhile, N0(f) in the formula represents the estimated noise spectrum at the time of processing for the immediately preceding frame, and B is a prescribed constant number.
[Formula 19] - Meanwhile, when it is judged that no sound is included in the current frame, the
noise estimating unit 50 sets the estimated noise spectrum N0(f) at the time of processing for the immediately preceding frame as the estimated noise spectrum N(f) for the current frame. That is, in this case, thenoise estimating unit 50 outputs the estimated noise spectrum N(f) represented inFormula 20 below to the amplificationcoefficient calculating unit 90.
[Formula 20] - The amplification
coefficient calculating unit 90 calculates an amplification coefficient G (f) based on the noise spectrum N(f) that has been input and the amplitude component |X(f)| output from theorthogonal transform unit 42. Then, the amplificationcoefficient calculating unit 90 outputs the calculated amplification coefficient G(f) to thegain processing unit 43 of thesignal processing apparatus 1, as illustrated inFIG. 17 . -
- Then, the amplification
coefficient calculating unit 90 calculates the amplification coefficient G(f) according to the calculated SNR. That is, the amplificationcoefficient calculating unit 90 calculates the amplification coefficient G(f) so as to make the gain large in a case such as when there is a large noise in the surroundings. - As explained in
Embodiments 1 through 3, the amplification process in the frequency domain is performed by thegain processing unit 43 based on the amplification coefficient G(f) calculated as described above, and after that, the frame signal y(t) in the time domain is generated by the inverseorthogonal transform unit 44. - When the suppression process is performed using a different amplification coefficients G(f) for adjacent frames, there may be a deviation in the amplitudes at both ends of the frame signal y(t), but it becomes possible to correct this deviation according to the method explained in
Embodiments 1 through 3 described above. -
FIG. 18 is an example illustrating an example of the hardware configuration of thesignal processing apparatus 1 in each embodiment. Thesignal processing apparatus 1 illustrated inFIG. 1 and so on may be realized with various pieces of hardware illustrated inFIG. 18 , for example. In the example inFIG. 18 , thesignal processing apparatus 1 is equipped with aCPU 201, aRAM 202, aROM 203, anaudio interface 204 for connecting an audio device, and adevice interface 205 for connecting an external device or the like, and these pieces of hardware are connected via a bus 206. - The
CPU 201 loads an operation program stored inROM 203 onto theRAM 202 and executes various processes using theRAM 202 as a working memory. TheCPU 201 may realize the respective functional units of thecontrol unit 40 illustrated inFIG. 1 and so on by executing the operation program. - Meanwhile, depending on the embodiment, storage apparatuses of other types that are different from the
RAM 202 and theROM 203 may be used. For example, thesignal processing apparatus 1 may include a storage apparatus such as a CAM (Content Addressable Memory), an SRAM (Static Random Access Memory), an SDRAM (Synchronous Dynamic Random Access Memory), and the like. - Meanwhile, depending on the embodiment, the hardware configuration of the
signal processing apparatus 1 may be different from that inFIG. 18 , and other pieces of hardware of standards and types that are different from those inFIG. 18 may be applied to thesignal processing apparatus 1. - For example, the respective functional units of the
control unit 40 of thesignal processing apparatus 1 illustrated inFIG. 1 and so on may be realized by a hardware circuit. Specifically, the respective functional units of thecontrol unit 40 of thesignal processing apparatus 1 illustrated inFIG. 1 and so on may be realized by a reconfigurable circuit such as an FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), or the like, instead of theCPU 201. Of course, these functional units may also be realized by both theCPU 201 and a hardware circuit. - Some embodiments are explained above. However, it is to be understood that the embodiments are not limited to the embodiments described above and include various modified forms and alternative forms of the embodiments described above. For example, it is to be understood that various embodiments may be embodied by modifying the constituent elements without departing from their spirit and scope. In addition, it is to be understood that various embodiments may be made by appropriately combining a plurality of constituent elements disclosed in the embodiments described above. Furthermore, it is to be understood by persons skilled in the art that various embodiments may be implemented by deleting or replacing some constituent elements from the entirety of the constituent elements represented in the embodiments, or by adding some constituent elements to the constituent elements represented in the embodiments.
Claims (9)
- A signal processing apparatus comprising:first generating means (41) for generating a first frame signal by multiplying an input signal divided into frames of a prescribed frame length by a prescribed first window function;transform means (42) for transforming the first frame signal into a frequency spectrum;adjusting means (43) for adjusting an amplitude component of the frequency spectrum;second generating means (44) for applying inverse transform to the amplitude component after adjustment and to a phase component of the frequency spectrum to generate a second frame signal in a time domain;identifying means (45) for identifying a segment in an overlapping section between a processing-target frame and an immediately preceding frame such that an absolute value of an amplitude of the second frame signal at at least one end of the segment becomes smaller than an absolute value of an amplitude of the second frame signal at a corresponding end of the overlapping section; andcompounding means (47) for adding and compounding, in the identified segment, the second frame signal corresponding to the immediately preceding frame and the second frame signal corresponding to the processing-target frame.
- The signal processing apparatus according to claim 1, further comprising:third generating means (46) for generating a second window function that is a window function whose window length is equal to a width of the segment and that makes an amplitude of the second frame signal corresponding to the processing-target frame at a starting end of the segment zero and that does not change an amplitude of the second signal corresponding to the processing-target frame at a terminal end of the segment;fourth generating means (46) for generating a third window function that is a window function whose window length is equal to the width of the segment and that makes an amplitude of the second frame signal corresponding to the immediately preceding frame at the terminal end zero and that does not change an amplitude of the second frame signal corresponding to the immediately preceding frame at the starting end,
whereinthe compounding means (47) adds and compounds, in the identified segment, a first window signal obtained by multiplying the second frame signal corresponding to the processing-target frame by the second window function and a second window signal obtained by multiplying the second frame signal corresponding to the immediately preceding frame by the third window function. - The signal processing apparatus according to claim 1, further comprising:fifth generating means (48) for generating a first signal for correction whose frame length is equal to a frame length of the second frame signal and that makes an amplitude of the second frame signal corresponding to the processing-target frame at a starting end of the segment zero when the first signal for correction is added to and compounded with the second frame signal corresponding to the processing-target frame;sixth generating means (48) for generating a second signal for correction whose frame length is equal to a frame length of the second frame signal and that makes the amplitude of the second frame signal corresponding to the immediately preceding frame at a terminal end of the segment zero when the second signal for correction is added to and compounded with the second frame signal corresponding to the immediately preceding frame,whereinthe compounding means (47) adds and compounds a first frame signal after correction obtained by adding and compounding the second frame signal corresponding to the processing-target frame and the first signal for correction with a second frame signal after correction obtained by adding and compounding the second frame signal corresponding to the immediately preceding frame and the second signal for correction, in the identified segment.
- The signal processing apparatus according to claim 3, wherein
the first signal for correction and/or the second signal for correction is a direct-current signal. - The signal processing apparatus according to any one of claim 1 through claim 4, wherein
the identifying means (45) identifies the segment by identifying a starting end such that, in the overlapping section, an absolute value of an amplitude of the second frame signal corresponding to the processing-target frame at the starting end of the segment becomes a minimum, and by identifying a terminal end such that an absolute value of an amplitude of the second frame signal corresponding to the immediately preceding frame at the terminal end of the segment becomes a minimum. - The signal processing apparatus according to any one of claim 1 through claim 4, wherein
the identifying means (45) identifies the segment by identifying a starting end such that, in the overlapping section, an absolute value of an amplitude of the second frame signal corresponding to the processing-target frame at the starting end becomes equal to or smaller than a prescribed threshold, and by identifying a terminal end such that an absolute value of the amplitude of the second frame signal corresponding to the immediately preceding frame at the terminal end becomes equal or smaller than the threshold. - The signal processing apparatus according to any one of claim 1 through claim 6, wherein
the identifying means (45) identifies the segment such that a width of the segment becomes a maximum in the segment that satisfies a condition. - A signal processing method comprising:generating a first frame signal by multiplying an input signal divided into frames of a prescribed frame length by a prescribed first window function;transforming the first frame signal into a frequency spectrum;adjusting an amplitude component of the frequency spectrum;applying inverse transform to the amplitude component after adjustment and to a phase component of the frequency spectrum to generate a second frame signal in a time domain;identifying a segment in an overlapping section between a processing-target frame and an immediately preceding frame such that an absolute value of an amplitude of the second frame signal at at least one end of the segment becomes smaller than an absolute value of an amplitude of the second frame signal at a corresponding end of the overlapping section; andin the identified segment, adding and compounding the second frame signal corresponding to the immediately preceding frame and the second frame signal corresponding to the processing-target frame.
- A program for causing a computer (201) to execute a process comprising:generating a first frame signal by multiplying an input signal divided into frames of a prescribed frame length by a prescribed first window function;transforming the first frame signal into a frequency spectrum;adjusting an amplitude component of the frequency spectrum;applying inverse transform to the amplitude component after adjustment and to a phase component of the frequency spectrum to generate a second frame signal in a time domain;identifying a segment in an overlapping section between a processing-target frame and an immediately preceding frame such that an absolute value of an amplitude of the second frame signal at at least one end of the segment becomes smaller than an absolute value of an amplitude of the second frame signal at a corresponding end of the overlapping section; andin the identified segment, adding and compounding the second frame signal corresponding to the immediately preceding frame and the second frame signal corresponding to the processing-target frame.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014086738A JP2015206874A (en) | 2014-04-18 | 2014-04-18 | Signal processing apparatus, signal processing method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP2933798A1 true EP2933798A1 (en) | 2015-10-21 |
| EP2933798B1 EP2933798B1 (en) | 2017-05-10 |
Family
ID=52726987
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP15159597.2A Not-in-force EP2933798B1 (en) | 2014-04-18 | 2015-03-18 | Signal processing apparatus, signal processing method and program |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US9318122B2 (en) |
| EP (1) | EP2933798B1 (en) |
| JP (1) | JP2015206874A (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7314414B2 (en) * | 2019-12-02 | 2023-07-25 | グーグル エルエルシー | Method, system and medium for seamless audio mixing |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050027520A1 (en) * | 1999-11-15 | 2005-02-03 | Ville-Veikko Mattila | Noise suppression |
| US20080059162A1 (en) * | 2006-08-30 | 2008-03-06 | Fujitsu Limited | Signal processing method and apparatus |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU721270B2 (en) | 1998-03-30 | 2000-06-29 | Mitsubishi Denki Kabushiki Kaisha | Noise reduction apparatus and noise reduction method |
| US6064955A (en) * | 1998-04-13 | 2000-05-16 | Motorola | Low complexity MBE synthesizer for very low bit rate voice messaging |
| JP4395772B2 (en) | 2005-06-17 | 2010-01-13 | 日本電気株式会社 | Noise removal method and apparatus |
| EP2104096B1 (en) * | 2008-03-20 | 2020-05-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for converting an audio signal into a parameterized representation, apparatus and method for modifying a parameterized representation, apparatus and method for synthesizing a parameterized representation of an audio signal |
| JP5012995B2 (en) | 2008-03-24 | 2012-08-29 | 株式会社Jvcケンウッド | Audio signal processing apparatus and audio signal processing method |
| BR122021008581B1 (en) * | 2010-01-12 | 2022-08-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | AUDIO ENCODER, AUDIO DECODER, AUDIO INFORMATION AND ENCODING METHOD, AND AUDIO INFORMATION DECODING METHOD USING A HASH TABLE THAT DESCRIBES BOTH SIGNIFICANT STATE VALUES AND RANGE BOUNDARIES |
| JP5307770B2 (en) * | 2010-07-09 | 2013-10-02 | シャープ株式会社 | Audio signal processing apparatus, method, program, and recording medium |
| JP2014041300A (en) * | 2012-08-23 | 2014-03-06 | Nikon Corp | Signal processing device, imaging device, and program |
| JP6303340B2 (en) * | 2013-08-30 | 2018-04-04 | 富士通株式会社 | Audio processing apparatus, audio processing method, and computer program for audio processing |
-
2014
- 2014-04-18 JP JP2014086738A patent/JP2015206874A/en not_active Ceased
-
2015
- 2015-03-18 EP EP15159597.2A patent/EP2933798B1/en not_active Not-in-force
- 2015-03-24 US US14/666,589 patent/US9318122B2/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050027520A1 (en) * | 1999-11-15 | 2005-02-03 | Ville-Veikko Mattila | Noise suppression |
| US20080059162A1 (en) * | 2006-08-30 | 2008-03-06 | Fujitsu Limited | Signal processing method and apparatus |
| JP2008058480A (en) | 2006-08-30 | 2008-03-13 | Fujitsu Ltd | Signal processing method and apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150302864A1 (en) | 2015-10-22 |
| EP2933798B1 (en) | 2017-05-10 |
| JP2015206874A (en) | 2015-11-19 |
| US9318122B2 (en) | 2016-04-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9449594B2 (en) | Adaptive phase difference based noise reduction for automatic speech recognition (ASR) | |
| EP3545518B1 (en) | Coherence based dynamic stability control system | |
| CN108735196B (en) | Active noise control device and error route characteristic model correction method | |
| US9060052B2 (en) | Single channel, binaural and multi-channel dereverberation | |
| GB2577824A (en) | Earbud speech estimation | |
| JP6983950B2 (en) | Burst frame error handling | |
| CN111200485A (en) | Broadband error calibration parameter extraction method, device and computer readable storage medium | |
| CN105355197B (en) | Gain processing method and device for voice recognition system | |
| US20120020489A1 (en) | Noise canceller and noise cancellation program | |
| KR102649227B1 (en) | Double-microphone array echo eliminating method, device and electronic equipment | |
| US10255899B2 (en) | Noise reduction device and noise reduction method | |
| US9036816B1 (en) | Frequency domain acoustic echo cancellation using filters and variable step-size updates | |
| CN113711304B (en) | Subband adaptive filters for systems with partially acausal transfer functions | |
| JP2017500780A5 (en) | ||
| WO2018200403A8 (en) | Sdr-based adaptive noise cancellation (anc) system | |
| JP6109450B2 (en) | Echo canceller apparatus and echo cancellation method | |
| EP2933798B1 (en) | Signal processing apparatus, signal processing method and program | |
| WO2014047025A1 (en) | Source separation using a circular model | |
| KR101699339B1 (en) | Apparatus for outputting audio signal and method for controlling active noise | |
| US20090046865A1 (en) | Sound image localization apparatus | |
| US9781531B2 (en) | Microphone system and related calibration control method and calibration control module | |
| KR102063824B1 (en) | Apparatus and Method for Cancelling Acoustic Feedback in Hearing Aids | |
| EP4121961B1 (en) | Wideband adaptation of echo path changes in an acoustic echo canceller | |
| WO2016050049A1 (en) | Signal processing method and apparatus | |
| KR100850419B1 (en) | Adaptive Noise Canceling Device and Method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20150914 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| AX | Request for extension of the european patent |
Extension state: BA ME |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Ref document number: 602015002583 Country of ref document: DE Free format text: PREVIOUS MAIN CLASS: G10L0019022000 Ipc: G10L0021020800 |
|
| GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: G10L 21/0208 20130101AFI20170112BHEP Ipc: G10L 21/0316 20130101ALN20170112BHEP Ipc: G10L 19/022 20130101ALI20170112BHEP |
|
| INTG | Intention to grant announced |
Effective date: 20170203 |
|
| GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
| GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
| AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
| REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 893099 Country of ref document: AT Kind code of ref document: T Effective date: 20170515 Ref country code: CH Ref legal event code: EP |
|
| REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602015002583 Country of ref document: DE |
|
| REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20170510 |
|
| REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
| REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 893099 Country of ref document: AT Kind code of ref document: T Effective date: 20170510 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170810 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170811 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170910 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170810 Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602015002583 Country of ref document: DE |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 |
|
| PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
| 26N | No opposition filed |
Effective date: 20180213 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 602015002583 Country of ref document: DE |
|
| REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 |
|
| REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20180331 |
|
| REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180318 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180318 Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20181002 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180331 Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180331 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180331 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180331 |
|
| GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20190318 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180318 Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190318 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20150318 Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 Ref country code: MK Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20170510 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170510 |