EP2933798A1 - Signal processing apparatus, signal processing method and program - Google Patents

Signal processing apparatus, signal processing method and program Download PDF

Info

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
Application number
EP15159597.2A
Other languages
German (de)
French (fr)
Other versions
EP2933798B1 (en
Inventor
Takeshi Otani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of EP2933798A1 publication Critical patent/EP2933798A1/en
Application granted granted Critical
Publication of EP2933798B1 publication Critical patent/EP2933798B1/en
Not-in-force legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech 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/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/02Speech 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/0212Speech 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/02Speech 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/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech 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/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0316Speech 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

A signal processing apparatus generates a window signal, transforms the window signal into a frequency spectrum, and adjusts an amplitude component of the frequency spectrum. Then, the signal processing apparatus applies inverse transform to the amplitude component after adjustment and to a phase component of the frequency spectrum to generate a frame signal, and identifies an overlap segment such that the absolute value of the amplitude of the frame signal at at least one end of the overlap segment becomes smaller than the absolute value of the amplitude of the frame signal at a corresponding end of an overlapping section. Then, in the identified segment, the signal processing apparatus adds and compounds the frame signal corresponding to an immediately preceding frame and the frame signal corresponding to a processing-target frame.

Description

    FIELD
  • The embodiments described herein relate to a signal processing apparatus, a signal processing method, and a program.
  • BACKGROUND
  • 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 in Patent 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
  • SUMMARY
  • 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.
  • BRIEF DESCRIPTION OF DRAWINGS
    • 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;
    • 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 in Embodiment 1;
    • FIG. 5 is the second part of an example of a flowchart for explaining the flow of signal processing in Embodiment 1;
    • FIG. 6 is the third part of an example of a flowchart for explaining the flow of signal processing in Embodiment 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 in Embodiment 2;
    • FIG. 9 is a functional block diagram illustrating a configuration example of a signal processing apparatus in Embodiment 3;
    • FIG. 10 is a diagram illustrating the flow of the signal in Embodiment 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 in Embodiment 3;
    • FIG. 13 is the second part of an example of a flowchart for explaining the flow of signal processing in Embodiment 3;
    • FIG. 14 is the third part of an example of a flowchart for explaining the flow of signal processing in Embodiment 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.
    DESCRIPTION OF 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 in Embodiment 1, and 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. In addition, 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.
  • 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 in Formula 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] x t = in t + n - 1 L
    Figure imgb0001
  • Then, 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.
    [Formula 2] wx t = x t × w t
    Figure imgb0002
  • 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, the orthogonal transform unit 42 outputs the amplitude component |X(f)| of the generated input spectrum X(f) to the gain processing unit 43, and also outputs the phase component argX(f) to the inverse orthogonal transform unit 44, as illustrated in FIG. 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 in Formula 3 below. Then, the gain processing unit 43 outputs the calculated amplitude component |Y(f)| after suppression (or amplification) to the inverse orthogonal transform unit 44, as illustrated in FIG. 2. Meanwhile, the coefficient G(f) is a coefficient for noise suppression and the like, and in Embodiment 1, it is assumed to be supplied from outside the signal processing apparatus 1.
    [Formula 3] Y f = G f × X f
    Figure imgb0003
  • 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 inverse orthogonal transform unit 44 stores the generated frame signal y(t) in the data area of the storage unit 20, and also outputs the generated frame signal y(t) to the identifying unit 45 and the output signal generating unit 47 respectively, as illustrated in FIG. 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 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.
  • 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 identifying unit 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 the storage unit 20. Then, the identifying unit 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 identifying unit 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 identifying unit 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 identifying unit 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 in Formula 4 using the starting end seg_st and the terminal end seg_en of the overlap segment.
    [Formula 4] T = seg_en - seg_st
    Figure imgb0004
  • 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 to Formula 5 and Formula 6 below. 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, as illustrated in FIG. 2. Meanwhile, seg_st ≤t≤seg_en holds true about t.
    [Formula 5] w 1 t = 0.5 - 0.5 cos π t - seg_set / T
    Figure imgb0005

    [Formula 6] w 2 t = 1.0 - w 1 t
    Figure imgb0006
  • Here, 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 |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".
  • For example, the window function generating unit 46 may generate the window function represented in Formula 7 below as the output window function w1(t). Meanwhile, the calculation formula for the output window function w2(t) in this case is the same as Formula 6 mentioned above.
    [Formula 7] w 1 t = t - seg_st / T
    Figure imgb0007
  • 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.
    [Formula 8] out t = w 1 t × y t + w 2 t × y y t
    Figure imgb0008
  • 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 in FIG. 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 identifying unit 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 identifying unit 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 output signal generating unit 47 generates the output signal out(t) according to Formula 8.
  • Next, with reference to FIG. 4 through FIG. 6, the flow of signal processing in Embodiment 1 is explained. 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).
  • 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, the orthogonal 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 identifying unit 45 and the output signal 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 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).
  • 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 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 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.
  • 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, 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 |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, the signal 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, 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 |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. In 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.
  • 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 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 |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 in FIG. 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 output signal generating unit 47 generates the output signal out (t) according to Formula 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 in Embodiment 2 is explained. 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. Here, 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).
  • 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 in Embodiment 1.
  • According to Embodiment 2 described above, the signal 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 Embodiments 1 and 2, 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.
  • In Embodiment 3, 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.
  • However, as illustrated in FIG. 9, there is a difference from the case in Embodiment 1 in that the control unit 40 is not equipped with the window function generating unit 46 and is further equipped with a correction processing unit 48. In addition, 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 |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 inverse orthogonal transform unit 44 stores the generated frame signal y(t) in the data area of the storage unit 20, and also outputs the generated frame signal y (t) to the identifying unit 45 and the output signal generating unit 47 and the correction processing unit 48, respectively, as illustrated in FIG. 10.
  • 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 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, in the overlap segment identified by the identifying unit 45, the output signal generating unit 47 adds and compounds frame signals yC(t) and yyC(t) after correction input from the correction processing unit 48, so as to generate the output signal out(t) represented in Formula 9 below.
    [Formula 9] out t = yy c t + y c t
    Figure imgb0009
  • 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, the correction processing unit 48 generates frame signals yC(t) and yyC(t) after correction that have been corrected based on the signals for correction. Then, the correction processing unit 48 outputs the generated frame signals yC(t) and yyC(t) after correction to the output signal generating unit 47 as illustrated in FIG. 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, the correction processing unit 48 generates the signal for correction C1(t) represented in Formula 10, for example.
    [Formula 10] C 1 t = - y seg_st
    Figure imgb0010
  • 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 the storage 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, the correction processing unit 48 generates the signal for correction C2(t) represented in Formula 11 below.
    [Formula 11] C 2 t = - yy seg_en
    Figure imgb0011
  • 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] y c t = y t + C 1 t
    Figure imgb0012
  • 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 in Formula 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] yy c t = yy t + C 2 t
    Figure imgb0013
  • 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 in FIG. 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, the correction 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, 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 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 the present Embodiment 3 is explained. 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).
  • 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, the orthogonal 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 identifying unit 45, the output signal generating unit 47, and the correction 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, 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, 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, the correction 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 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.
  • 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, 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 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, 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.
  • In 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. Apart from the application examples exemplified here, 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.
  • <Application example 1>
  • 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 |X(f)| output from the orthogonal transform unit 42 of the signal processing apparatus 1. Then, as illustrated in FIG. 15, the noise estimating unit 50 outputs the estimated noise spectrum N(f) to the suppression coefficient 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] N f = A × N 0 f + 1 - A × X f
    Figure imgb0014
  • 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, the noise estimating unit 50 outputs the estimated noise spectrum N(f) represented in Formula 15 below to the suppression coefficient calculating unit 60.
    [Formula 15] N f = N 0 f
    Figure imgb0015
  • 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 the orthogonal transform unit 42. Then, the suppression coefficient calculating unit 60 outputs the calculated suppression coefficient G(f) to the gain processing unit 43 of the signal processing apparatus 1, as illustrated in FIG. 15.
  • More specifically, the suppression coefficient calculating unit 60 calculates an SNR (Signal-Noise Ratio) according to Formula 16 below. Meanwhile, SNR(f) in the formula is an SNR.
    [Formula 16] SNR f = X f / N f
    Figure imgb0016
  • 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 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.
  • 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.
  • <Application example 2>
  • 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.
  • 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 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) . 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] rx t = ref t + n - 1 L
    Figure imgb0017
  • Then, 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.
    [Formula 18] r t = rx t × w t
    Figure imgb0018
  • 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 second orthogonal transform unit 80 outputs the amplitude component |R(f)| of the generated spectrum R(f) to the suppression coefficient calculating unit 60, as illustrated in FIG. 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 the orthogonal transform unit 42. Then, the suppression coefficient calculating unit 60 outputs the calculated suppression coefficient G(f) to the gain processing unit 43 of the signal processing apparatus 1, as illustrated in FIG. 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 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.
  • 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.
  • <Application example 3>
  • 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 |R(f)| and the phase component arg R(f). Then, the second orthogonal transform unit 80 outputs the amplitude component |R(f)| of the generated spectrum R(f) to the noise estimating unit 50, as illustrated in FIG. 17.
  • The noise estimating unit 50 estimates the estimated noise spectrum N(f) based on the amplitude component |R(f)| output from the second orthogonal transform unit 80. Then, the noise estimating unit 50 outputs the estimated noise spectrum N(f) to the amplification coefficient calculating unit 90, as illustrated in FIG. 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] N f = B × N 0 f + 1 - B × R f
    Figure imgb0019
  • 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, the noise estimating unit 50 outputs the estimated noise spectrum N(f) represented in Formula 20 below to the amplification coefficient calculating unit 90.
    [Formula 20] N f = N 0 f
    Figure imgb0020
  • 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 the orthogonal transform unit 42. Then, the amplification coefficient calculating unit 90 outputs the calculated amplification coefficient G(f) to the gain processing unit 43 of the signal processing apparatus 1, as illustrated in FIG. 17.
  • More specifically, the amplification coefficient calculating unit 90 calculates an SNR (Signal-Noise Ratio) according to Formula 21 below. Meanwhile, SNR(f) in the formula is an SNR.
    [Formula 21] SNR f = X f / N f
    Figure imgb0021
  • Then, 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.
  • As explained in Embodiments 1 through 3, 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.
  • 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 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. In the example in FIG. 18, 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.
  • Meanwhile, depending on the embodiment, storage apparatuses of other types that are different from the RAM 202 and the ROM 203 may be used. For example, 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.
  • Meanwhile, depending on the embodiment, 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.
  • For example, 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. Specifically, 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. Of course, these functional units may also be realized by both the CPU 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)

  1. 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; and
    compounding 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.
  2. 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,
    wherein
    the 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.
  3. 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,
    wherein
    the 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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; and
    in 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.
  9. 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; and
    in 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.
EP15159597.2A 2014-04-18 2015-03-18 Signal processing apparatus, signal processing method and program Not-in-force EP2933798B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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