KR20230172288A - 딥러닝을 기반의 잡음 제거 방법 및 장치 - Google Patents

딥러닝을 기반의 잡음 제거 방법 및 장치 Download PDF

Info

Publication number
KR20230172288A
KR20230172288A KR1020220072971A KR20220072971A KR20230172288A KR 20230172288 A KR20230172288 A KR 20230172288A KR 1020220072971 A KR1020220072971 A KR 1020220072971A KR 20220072971 A KR20220072971 A KR 20220072971A KR 20230172288 A KR20230172288 A KR 20230172288A
Authority
KR
South Korea
Prior art keywords
signal
mask
amplitude
voice
noise
Prior art date
Application number
KR1020220072971A
Other languages
English (en)
Inventor
김기준
Original Assignee
라인플러스 주식회사
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 라인플러스 주식회사 filed Critical 라인플러스 주식회사
Priority to KR1020220072971A priority Critical patent/KR20230172288A/ko
Priority to JP2023094030A priority patent/JP2023183390A/ja
Publication of KR20230172288A publication Critical patent/KR20230172288A/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/24Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being the cepstrum

Abstract

딥러닝을 기반의 잡음 제거 방법 및 장치를 개시한다. 본 실시예에 따른 잡음 제거 방법은 적은 연산량을 갖는 후처리 방식을 통해 잔여 잡음을 제거할 수 있다.

Description

딥러닝을 기반의 잡음 제거 방법 및 장치{METHOD AND APPARATUS FOR NOISE REDUCTION BASED ON TIME AND FREQUENCY ANALYSIS USING DEEP LEARNING}
실시예들은 딥러닝을 기반의 잡음 제거 방법 및 장치와 관련된다.
최근, VoIP와 같은 인터넷 통화에 대한 관심과, 기타 음성/사운드 신호를 활용하는 콘텐츠의 개발 및 제공에 대해 관심이 높아짐에 따라, 음성 신호로부터 잡음을 제거하는 기술에 대한 관심 역시 높아지고 있다.
기존의 딥러닝을 활용한 잡음 제거 기술은 주파수 영역에서 잡음 성분을 제거하는 방식이나, 시간 영역에서 클린 음성을 추론하는 방식으로 연구가 진행 되었다. 그러나, 기존의 방법들은 성능에 한계가 존재한다.
먼저 주파수 영역에서 잡음을 제거하는 방식은 크게 주파수의 진폭만 조절하는 방식과 진폭과 위상을 조절하는 방식이 있다. 주파수의 진폭만 조절하는 방식은 잡음이 적은 환경에서는 우수한 성능을 나타내지만, 잡음이 큰 환경에서는 잡음의 위상 정보가 음성의 위상 정보보다 우세하여, 진폭의 잡음 성분을 제거하여도 위상의 잡음 성분이 남아 있어서 깨끗한 소리를 복원하지 못하는 문제점이 있다.
이를 해결하기 위해 진폭과 위상을 동시에 조절하는 방식들이 시도되었으나, 위상의 랜덤한 성질로 인해 위상은 학습이 제대로 이뤄지지 않으며, 이로 인해 전체 성능도 좋지 못하다.
위와 같은 주파수 영역에서의 기술의 단점을 극복하기 위해 시간 영역에서 클린 음성을 추론하기 위한 방법이 개발되었다. 이 방식은 클린 음성의 로(raw)한 신호를 생성하기 때문에, 주파수 성분의 위상과 진폭이 자동으로 동시에 조절된다. 그러나 시간 영역에서는 고주파 성분이 랜덤한 특성을 보이기 때문에, 고주파 대역의 신호가 잘 학습되지 않아서 잡음 제거 이후, 화이트 잡음(white noise) 형태의 잡음이 잔재하게 되는 문제점이 있다.
또한, 딥러닝 기반으로 개발된 기존의 음성 잡음 제거 기술은 잡음의 크기가 클 경우 잡음을 깨끗하게 제거하지 못하고 잔여 잡음을 남기는 문제점이 있다.
[선행기술문헌번호]
한국공개특허 제10-2018-0067608호(공개일 2018년 06월 20일)
상기에서 설명된 정보는 단지 이해를 돕기 위한 것이며, 종래 기술의 일부를 형성하지 않는 내용을 포함할 수 있으며, 종래 기술이 통상의 기술자에게 제시할 수 있는 것을 포함하지 않을 수 있다.
적은 연산량을 갖는 후처리 방식을 통해 잔여 잡음을 제거할 수 있는 잡음 제거 방법 및 장치를 제공한다.
적어도 하나의 프로세서를 포함하는 컴퓨터 시스템의 잡음 제거 방법에 있어서, 상기 적어도 하나의 프로세서에 의해, 음성 신호의 제1 진폭 신호에 대해 적용될 마스크를 추정하도록 훈련된 제1 머신러닝 모델을 통해 상기 제1 진폭 신호를 위한 마스크를 획득하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 제1 진폭 신호에 상기 마스크를 적용하여 복원된 음성의 진폭 신호를 획득하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 복원된 음성의 진폭 신호를 입력으로 하여 상기 마스크를 위한 가중치를 출력하도록 학습된 제2 머신러닝 모델을 통해 상기 마스크를 위한 가중치를 획득하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 마스크에 상기 가중치를 적용하여 가중치가 적용된 마스크를 생성하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 제1 진폭 신호에 상기 가중치가 적용된 마스크를 적용하여 제2 진폭 신호를 생성하는 단계를 포함하는 잡음 제거 방법을 제공한다.
일측에 따르면, 상기 가중치가 적용된 마스크를 생성하는 단계는, 상기 마스크의 값에 상기 가중치의 값을 거듭제곱함으로써 상기 마스크에 상기 가중치를 적용하는 것을 특징으로 할 수 있다.
다른 측면에 따르면, 상기 마스크의 값은 0부터 1까지의 범위에 포함되는 실수값을 포함하고, 상기 가중치의 값은 1부터 2까지의 범위에 포함되는 실수값을 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 복원된 음성의 진폭 신호를 획득하는 단계는, 상기 제1 진폭 신호에 상기 마스크를 곱하여 상기 복원된 음성의 진폭 신호를 획득하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 제2 머신러닝 모델은 인공신경망의 레이어들을 이용하여 구현되는 유넷(u-net) 구조의 머신러닝 모델을 포함하는 것을 특징으로 할 수 있다
또 다른 측면에 따르면, 상기 잡음 제거 방법은 상기 적어도 하나의 프로세서에 의해, 시간 영역에서 잡음이 제거된 음성을 추론하도록 훈련된 제3 머신러닝 모델에 잡음을 포함하는 음성 입력 신호를 입력하여 상기 음성 입력 신호의 위상이 복원되고 잡음이 1차로 제거된 제1 음성 신호로서 상기 음성 신호를 획득하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 잡음 제거 방법은 상기 적어도 하나의 프로세서에 의해, 상기 음성 신호에 제1 윈도우를 적용하는 단계; 및 상기 제1 윈도우가 적용된 음성 신호에 FFT(Fast Fourier Transform)를 수행하여 상기 제1 진폭 신호 및 위상 신호를 획득하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 잡음 제거 방법은 상기 적어도 하나의 프로세서에 의해, 상기 제2 진폭 신호 및 상기 음성 신호의 위상 신호를 사용하여 상기 음성 신호에 IFFT(Inverse Fast Fourier Transform)를 수행함으로써 잡음이 제거된 제2 음성 신호를 생성하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 제2 음성 신호에 제2 윈도우를 적용하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 제2 음성 신호를 생성하는 단계는, 상기 제2 진폭 신호 및 상기 위상 신호에 기반하여 잡음이 제거된 음성 신호의 FFT 계수를 복원하는 단계; 및 상기 복원된 FFT 계수에 기반하여 IFFT를 수행함으로써 잡음이 제거된 상기 제2 음성 신호를 복원하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 제1 진폭 신호를 위한 마스크를 획득하는 단계는, 상기 제1 머신러닝 모델에 대해, 상기 제1 진폭 신호 중 제1 주파수 대역의 제1-1 진폭 신호를 입력시키고, 상기 제1 머신러닝 모델의 출력으로서 상기 제1-1 진폭 신호에 대해 적용될 제1 마스크를 획득하는 단계; 상기 제1 진폭 신호 중 상기 제1 주파수 대역보다 더 큰 주파수 대역인 제2 주파수 대역의 제1-2 진폭 신호를 복수의 대역폭 구간의 진폭 신호들로 구분하는 단계; 상기 구분된 진폭 신호들의 각각에 대한 평균 에너지를 계산하는 단계; 및 상기 제1 머신러닝 모델에 대해, 상기 계산된 평균 에너지를 입력시키고, 상기 제1 머신러닝 모델의 출력으로서 상기 제1-2 진폭 신호에 대해 적용될 제2 마스크를 획득하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 제1-2 진폭 신호는 상기 제2 주파수 대역을 바크 스케일(bark scale) 단위로 구분함으로써 상기 복수의 대역폭 구간의 진폭 신호들로 구분되는 것을 특징으로 할 수 있다.
컴퓨터 시스템과 결합되어 상기 방법을 컴퓨터 시스템에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.
상기 방법을 수행하는 컴퓨터 판독 가능 기록 매체에 기록된 프로그램을 제공한다.
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 음성 신호의 제1 진폭 신호에 대해 적용될 마스크를 추정하도록 훈련된 제1 머신러닝 모델을 통해 상기 제1 진폭 신호를 위한 마스크를 획득하고, 상기 제1 진폭 신호에 상기 마스크를 적용하여 복원된 음성의 진폭 신호를 획득하고, 상기 복원된 음성의 진폭 신호를 입력으로 하여 상기 마스크를 위한 가중치를 출력하도록 학습된 제2 머신러닝 모델을 통해 상기 마스크를 위한 가중치를 획득하고, 상기 마스크에 상기 가중치를 적용하여 가중치가 적용된 마스크를 생성하고, 상기 제1 진폭 신호에 상기 가중치가 적용된 마스크를 적용하여 제2 진폭 신호를 생성하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.
적은 연산량을 갖는 후처리 방식을 통해 잔여 잡음을 제거할 수 있다.
도 1은 일 실시예에 따른, 잡음을 포함하는 음성 신호를 처리하여 잡음이 제거된 음성 신호를 복원하는 방법을 나타낸다.
도 2는 일 실시예에 따른, 잡음을 포함하는 음성 신호를 처리하여 잡음을 제거하는 컴퓨터 시스템의 구조를 나타낸다.
도 3는 일 실시예에 따른, 잡음 제거 방법을 나타내는 흐름도이다.
도 4는 일 예에 따른, 머신러닝 모델을 사용하여, 진폭 신호에 대해 적용될 마스크를 획득하는 방법을 나타내는 흐름도이다.
도 5는 일 예에 따른, 머신러닝 모델을 사용하여 진폭 신호 중 제1 주파수 대역의 제1 진폭 신호에 대해 적용될 마스크를 생성함에 있어서, 머신러닝 모델에 대해 입력되는 파라미터를 결정하는 방법을 나타내는 흐름도이다.
도 6은 일 예에 따른, 마스크에 가중치를 적용하는 방법을 나타내는 흐름도이다.
도 7은 일 예에 따른, 입력 음성 신호 및 머신러닝 모델로부터의 마스크를 사용하여, 잡음이 제거된 음성 신호를 복원하는 방법을 나타내는 흐름도이다.
도 8은 일 예에 따른, 머신러닝 모델에 의해 추정되는 마스크를 나타낸다.
도 9는 일 예에 따른 제1 네트워크의 예를 나타낸다.
도 10은 일 예에 따른 제2 네트워크의 예를 나타낸다.
도 11은 일 예에 따른 제3 네트워크의 예를 나타낸다.
도 12는 일 실시예에 따른, 성능 평가의 예를 나타낸다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른, 잡음을 포함하는 음성 신호를 처리하여 잡음이 제거된 음성 신호를 복원하는 방법을 나타낸다.
도 1을 참조하여, 잡음(Noise) 및 음성 신호(Voice signal)를 포함하는 입력 음성 신호(110)로부터, 잡음이 제거되어 복원된 음성 신호(190)를 획득하는 방법에 대해 설명한다.
모바일 환경에서 실시간으로 기술을 적용하기 위해, 입력 음성 신호(110)에 대한 프레임 단위의 연산이 수행될 수 있다. 입력 음성 신호(110)는 일례로, 16kHz의 샘플링 레이트를 갖는 신호일 수 있으며, 한 프레임의 길이는 480 샘플(sample)일 수 있다. 홉 크기(Hop size)는 240 샘플로 50% 오버랩 애드(overlap add)로 동작할 수 있다.
실시예의 입력 음성 신호(110)에서 잡음을 제거하는 방법은 후술될 컴퓨터 시스템(100)에 의해 수행될 수 있다.
강한 잡음 환경에서의 음성 신호의 위상을 복원하고 잡음을 1차로 제거하기 위해, 입력 음성 신호(110)의 로(raw) 파형을 Time NS net(120)의 입력으로 사용할 수 있다. Time NS net(120)은 유넷(u-net) 구조로 설계된 네트워크일 수 있다. 이러한 Time NS net(120)은 인공신경망(예컨대, CNN, DNN 또는 Dense)을 통해 구현될 수 있다. 예를 들어, 총 12개로 구성된 각 레이어의 크기가 512-256-128-64-32-16-16-32-64-128-256-512 와 같이 이전 레이어의 절반이 되도록 구성될 수 있다. 이러한 Time NS net(120)의 구성으로서 유넷을 사용한다는 것이 중요할 뿐, 세부 사항은 튜닝에 따라 달라질 수 있다. Time NS net(120)의 출력은 1차로 추정된 로(raw)한 제1 음성 신호로서, 제1 음성 신호에는 약한 화이트 잡음(white noise) 성분이 섞여 있다.
제1 음성 신호에는 FFT(Fast Fourier Transform, 140)를 수행하기 전에, FFT(140)의 출력 특성을 좋게 만들기 위한 윈도우가 적용될 수 있다. 또한 이전 프레임과 현재 프레임간의 오버랩 애드 구간에서의 불연속성에 의해 발생하는 잡음을 제거하기 위해서도 윈도우를 적용해야 한다. 도 1에서는 FTT(140)를 수행하기 전에 제1 윈도우(First window, 130)가, IFFT(Inverse Fast Fourier Transform, 170) 이후에 제2 윈도우(Second window, 180)가 각각 적용됨을 나타내고 있다. 적용 가능한 윈도우는 여러 종류가 있으며, 일례로, MDCT(Modified Discrete Cosine Transform)에서의 TDAC(time domain aliasing cancellation)를 위해 사용하는 KBD(Kaiser-bessel- derived) 윈도우가 활용될 수 있다. 원래의 목적과는 다르지만, KBD 윈도우는 오버랩 구간에서의 윈도우의 제곱 합이 1을 만족하여, FFT(140)의 이전과 IFFT(170)의 이후에 동시에 윈도우 적용(KBD 윈도우(130, 180))이 가능하다. 이와 같이 두 구간에서 윈도우를 적용하면, 프레임 간의 불연속에 의한 잡음을 더욱 효과적으로 제거할 수 있다. 실제 구현된 기술에서 KBD 윈도우를 적용할 경우 최상의 성능을 나타내었다.
한편, 제1 윈도우(130)가 적용된 제1 음성 신호에는 FFT(140)가 수행될 수 있고, 이러한 FFT(140)가 수행된 제1 음성 신호로부터 입력 음성 신호(110)의 진폭(magnitude)을 나타내는 진폭 신호(Magnitude signal)와, 위상(phase)을 나타내는 위상 신호(Phase signal)가 각각 획득될 수 있다.
도시된 것처럼, 실시예에서는 저대역(예컨대, 8kHz 미만의 대역폭)에 속하는 진폭 신호는 Frequency NS net(150)을 사용하여 복원될 수 있다. 한편, 고대역(예컨대, 8kHz 이상의 대역폭)에 속하는 진폭 신호는 바크 스케일 단위로 구분되어, 구분된 진폭 신호의 평균 에너지가 Frequency NS net(150)로 입력되어 복원될 수 있다. 또한, 저대역에 속하는 진폭 신호와 함께, 해당 저대역에 속하는 진폭 신호에 기반하여 생성된 MFCC(Mel Frequency Cepstral Coefficient)(들)이 Frequency NS net(150)에 파라미터로서 입력될 수 있다.
Frequency NS net(150)은 예컨대, 인공신경망(예컨대, CNN, DNN 또는 Dense)을 통해 유넷 구조로 구현될 수 있다.
한편, Frequency NS net(150)으로부터의 출력은 FFT(140)로부터 출력된 FFT 계수로서의 진폭에 대해 적용하기 위한 마스크(Ratio mask(RM))일 수 있다. 이러한 RM의 값은 0부터 1까지의 범위에 포함되는 실수값일 수 있다. 이때, 1보다 작은 RM의 값이 진폭에 적용(곱해짐)됨에 따라 출력이 작아져 잡음을 제거하는 효과를 발생시킨다. 이때, 본 실시예에서는 RM의 값에 가중치(weight, W)를 거듭제곱함으로써 RM의 값을 추가로 조절할 수 있다. 도 1에서 Pow(RM, W)(163)는 Frequency NS net(150)으로부터 출력되는 RM의 값에 Post processing net(162)에서 출력되는 W를 거듭제곱하는 함수일 수 있다. 여기서 가중치인 W는 1부터 2까지의 범위에 포함되는 실수값일 수 있다. RM의 값이 1에 가까울수록 음성일 확률이 높고, RM의 값이 0에 가까울수록 잡음일 확률이 높은데, 이러한 RM의 값에 1부터 2까지의 범위에 포함되는 실수값인 W를 거듭제곱함에 따라 RM의 잡음 제거 능력을 크게 향상시킬 수 있다. 예를 들어, RM의 값이 1에 가까울수록 음성일 확률이 높으며, 거듭제곱의 값(RM^W)은 원래의 RM의 값에 큰 영향을 미치지 못한다. 반면, RM의 값이 0에 가까울수록 잡음일 확률이 높으며, 거듭제곱의 값(RM^W)은 RM의 값을 크게 감소시킨다. 이와 같은 동작으로 인해, W의 정확도가 낮을 지라도 음성을 잘 보존하면서 조절된 RM의 값을 통해 잡음을 효과적으로 제거할 수 있게 된다.
또한, Post processing net(162)은 원래의 RM의 값을 통해 복원된 음성의 진폭(Magnitude of recovered voice)을 입력으로 받아 W를 출력하도록 학습된 딥러닝 모델일 수 있다. 도 1의 실시예에서는 Frequency NS net(150)으로부터의 출력으로서의 RM의 값과 진폭이 곱해짐(163)에 따라 Post processing net(162)의 입력을 위한 복원된 음성의 진폭이 얻어질 수 있다. Post processing net(162)가 출력하는 W의 범위는 모든 실수가 가능하다. 그러나 실험적으로 W로서 1 이하의 값을 적용하는 경우, 잡음 제거 성능 저하가 발생하였다. 또한, W로서 2 초과의 값을 적용하는 경우, W로서 2까지의 값을 적용했을 경우와 비교해서 큰 성능 차이를 나타내지 않았다. 따라서, 본 실시예에서는 W의 값을 1부터 2까지의 범위에 포함되는 실수값으로 제한하였으며, Post processing net(162)는 1부터 2까지의 범위에 포함되는 실수값으로서의 W의 값을 출력하도록 학습될 수 있다.
한편, W가 적용된 RM의 값(RM^W)은 진폭에 곱해짐(163)에 따라 포스트 프로세싱이 적용된 진폭(Magnitude applied post processing)이 계산되어 IFFT(170)로 전달될 수 있다.
또한, 위상 신호는 특별한 처리 없이 IFFT(170)의 수행을 위해 사용될 수 있다. 이 경우, 포스트 프로세싱이 적용된 진폭과 FFT(140)로부터 출력된 FFT 계수로서의 위상 신호를 사용하여 잡음이 2차로 제거될 수 있다. 예컨대, 포스트 프로세싱이 적용된 진폭과 위상 신호를 사용하여 제1 음성 신호의 FFT 계수가 복원될 수 있고, IFFT(170)가 수행됨으로써 잡음이 2차로 제거되어 복원 음성 신호(190)가 출력될 수 있다.
이때, 이미 설명한 바와 같이, IFFT(170)의 출력에 대해 제2 윈도우(180)가 적용되어 프레임의 불연속에 의한 잡음을 최소화할 수 있다.
실시예에서는, (가령, 고대역에 속하는 진폭 신호를 그대로 Frequency NS net(150)로 입력시키는 경우에 비해) 고대역에 속하는 진폭 신호를 사용하여 잡음을 제거하기 위한 연산량이 현저하게 감소될 수 있다.
이처럼, 실시예에서는 주파수 영역과 시간 영역에 대한 각각의 네트워크를 구성하여 두 네트워크가 상호 호완적으로 좋은 성능을 낼 수 있도록 학습을 진행함에 따라 잡음이 심한 환경에서도 우수한 잡음 제거 성능을 제공할 수 있다.
잡음을 포함하는 입력 음성 신호(110)를 처리하여, 잡음이 제거된 복원 음성 신호(190)를 생성하는 보다 구체적인 방법에 대해서는 후술될 도 2 내지 도 9를 참조하여 더 자세하게 설명된다.
도 2는 일 실시예에 따른, 잡음을 포함하는 음성 신호를 처리하여 잡음을 제거하는 컴퓨터 시스템의 구조를 나타낸다.
도시된 컴퓨터 시스템(100)은 도 1을 참조하여 전술된 컴퓨터 시스템(100)에 대응할 수 있다. 컴퓨터 시스템(100)은 입력 음성 신호(110)로부터 잡음을 제거하기 위한 경량화된 추론 모델(예컨대, 머신러닝 모델(Time NS net(120), Frequency NS net(150) 및 Post processing net(162)))을 탑재하고 있는 전자 장치일 수 있다. 또는, 도시된 것과는 달리 컴퓨터 시스템(100)은 컴퓨터 시스템(100)의 외부의 전자 장치 또는 서버에 존재하는 머신러닝 모델(120, 150, 162)을 사용하여 입력 음성 신호(110)로부터 잡음이 제거된 복원 음성 신호(190)를 획득하기 위한 장치일 수 있다. 이때, 컴퓨터 시스템(100)은 외부의 전자 장치 또는 서버와의 통신을 통해 입력 음성 신호(110)를 획득할 수도 있다.
컴퓨터 시스템(100)은, 예컨대, PC(personal computer), 노트북 컴퓨터(laptop computer), 스마트폰(smart phone), 태블릿(tablet), 웨어러블 컴퓨터(wearable computer), 사물 인터넷(Internet Of Things) 기기 등을 포함할 수 있다. 일례로, 컴퓨터 시스템(100)은 모바일 단말과 같은 장치로서, 고성능의 PC 또는 서버와 같은 컴퓨팅 장치에는 해당하지 않을 수 있다.
컴퓨터 시스템(100)은 통신부(Communicator, 210), 프로세서(Processor, 220) 및 메모리(Memory, 221)를 포함할 수 있다. 컴퓨터 시스템(100)은 사용자로부터 입력 음성 신호(110)를 입력 받기 위한 마이크(Microphone, 230)를 포함할 수 있고, 잡음이 제거된 복원 음성 신호(190)를 출력하기 위한 스피커(Speaker, 240)를 포함할 수 있다. 마이크(230)는 사용자 또는 외부로부터 입력되는 음성으로부터 음성 신호를 생성할 수 있고, 스피커(240)는 음성 신호를 출력하도록 구성될 수 있다.
또한, 컴퓨터 시스템(100)은 도시되지는 않았으나 사용자로부터 입력되는 정보 및/또는 사용자의 요청에 따라 제공되는 정보/콘텐츠를 표시하는 디스플레이를 더 포함할 수도 있다.
통신부(210)는 컴퓨터 시스템(100)이 다른 서버나 다른 장치와 통신하기 위한 장치일 수 있다. 말하자면, 통신부(210)는 다른 서버나 다른 장치에 대해 데이터 및/또는 정보를 전송/수신하는, 컴퓨터 시스템(100)의 네트워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인터페이스 포트 등과 같은 하드웨어 모듈 및/또는 네트워크 디바이스 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다. 실시예에 따라 입력 음성 신호(110)는 통신부(210)를 통해 다른 서버나 다른 장치로부터 수신될 수도 있고, 복원 음성 신호(190)는 통신부(210)를 통해 다른 서버나 다른 장치로 전송될 수도 있다.
프로세서(220)는 컴퓨터 시스템(100)의 구성 요소들을 관리할 수 있고, 컴퓨터 시스템(100)이 사용하는 프로그램 또는 어플리케이션을 실행할 수 있다. 예컨대, 프로세서(220)는, 마이크(230)를 통해 입력되거나, 혹은 기 입력된 음성 신호(110)를 획득하며, 머신러닝 모델(120, 150, 162)을 사용하여 입력 음성 신호(110)를 처리할 수 있고, 입력 음성 신호(110)로부터 잡음이 제거된 복원 음성 신호(190)를 생성할 수 있다. 프로세서(220)는 상기의 동작을 수행하기 위해 요구되는 프로그램 또는 어플리케이션의 실행 및 데이터의 처리 등에 필요한 연산을 처리할 수 있다. 프로세서(220)는 컴퓨터 시스템(100)의 적어도 하나의 프로세서 또는 프로세서 내의 적어도 하나의 코어(core)일 수 있다.
메모리(221)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 비소멸성 대용량 기록장치는 메모리(221)와 분리되어 별도의 영구 저장 장치로서 포함될 수도 있다. 또한, 메모리(221)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(221)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신부(210)를 통해 메모리(221)에 로딩될 수도 있다. 여기서, 머신러닝 모델(120, 150, 162)은 실질적으로는 메모리에 로딩된 프로그램 코드에 따라 프로세서(220)에 의해 구동되는 소프트웨어 모듈일 수 있다.
프로세서(220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(221) 또는 통신부(210)에 의해 프로세서(220)로 제공될 수 있다. 예를 들어, 프로세서(220)는 메모리(221)에 로딩된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. 이러한 프로세서(220)에 의한 동작에 의해 컴퓨터 시스템(100)은 입력 음성 신호(110)로부터 잡음이 제거된 복원 음성 신호(190)를 생성할 수 있다.
일례로, 프로세서(220)는 잡음을 포함하는 입력 음성 신호(110)를, 시간 영역에서 클린 음성을 추론하도록 훈련된 유넷(u-net) 구조의 제1 네트워크에 입력하여 위상이 복원되고 잡음이 1차로 제거된 제1 음성 신호를 생성하고, 제1 음성 신호에 제1 윈도우(130)를 적용하고, 제1 윈도우(130)가 적용된 제1 음성 신호에 FFT(140)를 수행하여 진폭(magnitude) 신호 및 위상(phase) 신호를 획득할 수 있다. 또한, 프로세서(220)는 진폭 신호에 대해 적용될 마스크(RM)를 추정하도록 훈련된 유넷 구조의 제2 네트워크에 진폭 신호를 입력시키고, 제2 네트워크의 출력으로서 진폭 신호에 대해 적용될 마스크(RM)를 획득할 수 있다. 이후, 프로세서(220)는 마스크(RM)에 가중치(W)를 거듭제곱함으로써 잔여 잡음의 제거를 위한 마스크(RM^W)를 획득할 수 있다. 이후, 프로세서(220)는 진폭에 마스크(RM^W)를 적용하여 포스트 프로세싱이 적용된 진폭을 계산할 수 있다. 한편, 가중치(W)는 복원된 음성의 진폭을 입력으로 받아 가중치(W)를 출력하도록 학습된 유넷 구조의 제3 네트워크를 이용하여 얻어질 수 있다. 이후, 프로세서(220)는 포스트 프로세싱이 적용된 진폭 신호와 위상 신호를 사용하여 제1 윈도우(130)가 적용된 제1 음성 신호에 IFFT(170)를 수행함으로써 잡음이 2차로 제거된 제2 음성 신호를 생성할 수 있으며, 제2 음성 신호에 제2 윈도우(180)를 적용하여 잡음이 제거된 복원 입력 신호(190)를 생성할 수 있다.
이때, 제1 네트워크의 예로서 사용된 Time NS net(120)은 입력 음성 신호(110)에 대해 시간 영역에서 클린 음성을 추론하기 위해 위상을 복원하고 잡음을 1차로 제거하도록 미리 훈련된 머신러닝 모델일 수 있으며, 제2 네트워크의 예로서 사용된 Frequency NS net(150)은 입력 음성 신호(110)에 포함된 잡음을 제거하기 위해 입력 음성 신호(110)에 대해 적용될 마스크(RM)를 추정하도록 미리 훈련된 모델일 수 있다. Time NS net(120) 및 Frequency NS net(150)은 정답을 알고 있는 복수의 훈련용 입력 음성 신호들의 세트에 의해 훈련된 것일 수 있다. 또한, 제3 네트워크의 예로서 사용된 Post processing net(162)은 복원된 음성의 진폭을 통해 가중치(W)의 값을 출력하도록 훈련된 모델일 수 있다. 한편, Time NS net(120), Frequency NS net(150) 및 Post processing net(162) 각각은 인공신경망(예컨대, CNN(Convolution Neural Network), DNN(Deep Neural Network) 또는 Dense)에 기반한 유넷 구조로 구현될 수 있다. 머신러닝 모델(120, 150, 162)은 인공신경망을 구성하는 유넷 구조의 복수의 레이어들을 포함할 수 있다.
이하에서는 컴퓨터 시스템(100)을 사용하여, 잡음을 포함하는 입력 음성 신호(110)를 처리하고, 잡음이 제거된 복원 음성 신호(190)를 생성하는 보다 구체적인 방법에 대해 보다 자세히 설명한다.
후술될 상세한 설명에서, 컴퓨터 시스템(100) 또는 프로세서(220)의 구성들에 의해 수행되는 동작이나 컴퓨터 시스템(100) 또는 프로세서(220)가 실행하는 어플리케이션/프로그램에 의해 수행되는 동작은 설명의 편의상 컴퓨터 시스템(100)에 의해 수행되는 동작으로 설명될 수 있다.
도 3는 일 실시예에 따른, 잡음 제거 방법을 나타내는 흐름도이다.
단계(310)에서, 컴퓨터 시스템(100)은 잡음을 포함하는 입력 음성 신호를, 시간 영역에서 클린 음성(일례로, 잡음이 제거된 음성)을 추론하도록 훈련된 유넷(u-net) 구조의 제1 네트워크에 입력하여 위상이 복원되고 잡음이 1차로 제거된 제1 음성 신호를 생성할 수 있다. 여기서, 입력 음성 신호는 도 1을 통해 설명한 입력 음성 신호(110)에 대응할 수 있으며, 도 2를 통해 설명한 마이크(230)를 통해 컴퓨터 시스템(100)에 입력된 음성 신호이거나, 컴퓨터 시스템(100)에 기 저장된 음성 신호 또는 컴퓨터 시스템(100)이 외부 소스로부터 네트워크를 통해 수신하는 음성 신호일 수 있다. 입력 음성 신호가 포함하는 잡음은 진폭 신호 및/또는 위상 신호에 포함된 잡음일 수 있고, 사용자가 청취하기를 희망하는 소기의 음성 신호 외의 잡음을 나타낼 수 있다.
이미 설명한 바와 같이, 제1 네트워크는 Time NS net(120)과 같은 머신러닝 모델에 대응할 수 있으며, 유넷 구조를 활용하여 입력 음성 신호의 위상을 복원하고 잡음을 1차로 제거하도록 미리 학습될 수 있다. 단계(310)에서 출력되는 제1 음성 신호는 약한 화이트 잡음 성분을 포함할 수 있다.
단계(320)에서, 컴퓨터 시스템(100)은 제1 음성 신호에 제1 윈도우를 적용할 수 있다. 이미 설명한 바와 같이 제1 윈도우는 MDCT에서의 TDAC를 위해 사용하는 KBD 윈도우를 포함할 수 있으나 이에 한정되지는 않는다.
단계(330)에서, 컴퓨터 시스템(100)은 제1 윈도우가 적용된 제1 음성 신호에 FFT(Fast Fourier Transform)를 수행하여 진폭(magnitude) 신호 및 위상(phase) 신호를 획득할 수 있다. 일례로, 컴퓨터 시스템(100)은 제1 윈도우가 적용된 제1 음성 신호에 대해 512 FFT를 수행할 수 있다.
단계(340)에서, 컴퓨터 시스템(100)은 진폭 신호에 대해 적용될 마스크를 추정하도록 훈련된 유넷 구조의 제2 네트워크에 진폭 신호를 입력시키고, 제2 네트워크의 출력으로서 진폭 신호에 대해 적용될 마스크를 획득할 수 있다. 예를 들어, 컴퓨터 시스템(100)은 512 FFT의 출력에 대해 진폭 성분을 추출하여 256의 진폭 데이터를 제2 네트워크에 입력으로 사용할 수 있다. 여기서 제2 네트워크는 Frequency NS net(150)과 같은 머신러닝 모델에 대응할 수 있으며, 입력되는 진폭 신호에 대해 적용될 마스크를 추정하도록 훈련될 수 있다. 진폭 신호에 대해 적용될 마스크를 획득하는 구체적인 방법에 대해서는 이후 도 4 및 도 5를 참조하여 더 자세하게 설명한다.
입력 음성 신호의 진폭 신호(및/또는 해당 진폭 신호로부터 얻어진 파라미터)는 제2 네트워크에서의 추론을 수행하기 위한 입력 파라미터가 될 수 있다.
단계(350)에서, 컴퓨터 시스템(100)은 마스크에 가중치를 적용할 수 있다. 가중치는 복원된 음성의 진폭을 입력으로 받아 가중치를 출력하도록 훈련된 제3 네트워크를 이용하여 얻어질 수 있다. 이러한 단계(350)에 대해서는 이후 도 6을 참조하여 더 자세하게 설명한다.
단계(360)에서, 컴퓨터 시스템(100)은 진폭 신호에 가중치가 적용된 마스크를 적용할 수 있다. 예를 들어, 컴퓨터 시스템(100)은 가중치가 적용된 마스크를 제1 윈도우가 적용된 제1 음성 신호의 진폭 신호에 대해 적용함으로써(예컨대, 곱함으로써), 주파수 영역의 잡음이 제거된 진폭 신호를 획득할 수 있다.
단계(370)에서, 컴퓨터 시스템(100)은 마스크가 적용된 진폭 신호 및 위상 신호를 사용하여 제1 윈도우가 적용된 제1 음성 신호에 IFFT(Inverse Fast Fourier Transform)를 수행하여 잡음이 2차로 제거된 제2 음성 신호를 생성할 수 있다. 제2 음성 신호를 얻는 방법에 대해서는 이후 도 7을 참조하여 더 자세하게 설명한다.
단계(380)에서, 컴퓨터 시스템(100)은 제2 음성 신호에 제2 윈도우를 적용할 수 있다. 이미 설명한 바와 같이 제1 윈도우는 MDCT에서의 TDAC를 위해 사용하는 KBD 윈도우를 포함할 수 있으나 이에 한정되지는 않는다. 제1 윈도우와 제2 윈도우는 입력 음성 신호에 대해 모바일 환경에서 실시간으로 기술을 적용하기 위해, 프레임 단위의 연산을 수행함에 따라 프레임의 불연속에 의해 발생하는 잡음을 최소화하기 위해 활용될 수 있다.
도 4는 일 예에 따른, 머신러닝 모델을 사용하여, 진폭 신호에 대해 적용될 마스크를 획득하는 방법을 나타내는 흐름도이다. 도 4의 단계들(410 내지 440)을 참조하여, 진폭 신호에 대해 적용될 마스크를 획득하는 구체적인 방법에 대해 설명한다.
단계(410)에서, 컴퓨터 시스템(100)은 제2 네트워크에 대해, 제1 윈도우가 적용된 제1 음성 신호의 진폭 신호 중 제1 주파수 대역의 제1 진폭 신호를 입력시킬 수 있고, 제2 네트워크의 출력으로서 제1 진폭 신호에 대해 적용될 제1 마스크를 획득할 수 있다. 제1 주파수 대역의 제1 진폭 신호는 제1 윈도우가 적용된 제1 음성 신호의 진폭 신호 중 저대역에 해당하는 진폭 신호를 나타낼 수 있다. 예컨대, 제2 주파수 대역은 0 이상 8kHz 미만의 대역을 나타낼 수 있고, 제1 진폭 신호는 이러한 0 이상 8kHz 미만의 대역의 진폭 신호를 나타낼 수 있다.
제1 진폭 신호(및/또는 해당 제1 진폭 신호로부터 얻어진 파라미터)는 제2 네트워크에서의 추론을 수행하기 위한 입력 파라미터가 될 수 있다. 제2 네트워크에 의해 출력되는 제1 마스크를 제1 진폭 신호에 대해 적용함으로써(예컨대, 곱함으로써), 잡음이 제거된 진폭 신호(즉, 잡음이 제거된 제1 진폭 신호)가 얻어질 수 있다.
여기서, 제1 마스크는 제1 진폭 신호에 대한 이상 비율 마스크(Ideal Ratio Mask; IRM 또는 단순히 Ratio Mask(RM))일 수 있다. 전술한 것처럼 이러한 제1 마스크는 제1 진폭 신호와 곱해짐으로써 제1 진폭 신호에 대해 적용될 수 있다.
단계(420)에서, 컴퓨터 시스템(100)은 제1 윈도우가 적용된 제1 음성 신호의 진폭 신호 중 제1 주파수 대역보다 더 큰 주파수 대역인 제2 주파수 대역의 제2 진폭 신호를 복수의 대역폭 구간의 진폭 신호들로 구분할 수 있다. 제2 주파수 대역의 제2 진폭 신호는 제1 윈도우가 적용된 제1 음성 신호의 진폭 신호 중 고대역에 해당하는 진폭 신호를 나타낼 수 있다. 예컨대, 제1 주파수 대역은 8kHz 이상 16kHz 미만의 대역을 나타낼 수 있고, 제2 진폭 신호는 이러한 8kHz 이상 16kHz 미만의 대역의 진폭 신호를 나타낼 수 있다.
예컨대, 컴퓨터 시스템(100)은 제2 진폭 신호의 제2 주파수 대역을 적어도 하나의 바크 스케일(bark scale) 단위로 구분함으로써, 제2 진폭 신호를 복수의 대역폭 구간의 진폭 신호들로 구분할 수 있다.
87바크 스케일은 음향심리학에 기반한 척도일 수 있다. 이는 인간이 청각 기관을 이용하여 구분할 수 있는 소리의 진폭과 높이, 길이, 음색 등과 같은 소리의 특징과 관련하여, 해당 소리의 특징을 구체적으로 나타내기 위해 서로 다른 소리를 구별하기 위한 척도일 수 있다.
음향 심리학적인(psychoacoustics) 이론에 따라, 사용자는 고대역(예컨대, 8~16kHz 대역폭)의 진폭 신호를 낮은 해상도로 인지할 수 있는 바, 이러한 고대역의 음성 신호에 해당하는 진폭 신호는 바크 스케일 단위로 구분함으로써 복수의 대역폭 구간의 진폭 신호들로 구분될 수 있다. 복수의 대역폭 구간은 바크 스케일에 따라, 예컨대, 8000~9600Hz, 9600~12000Hz 및 12000~15600Hz일 수 있고, 고대역의 음성 신호에 해당하는 진폭 신호는 상기의 각 대역폭 구간의 진폭 신호로 구분될 수 있다.
단계(430)에서, 컴퓨터 시스템(100)은 단계(420)에서 구분된 진폭 신호들의 각각에 대한 평균 에너지를 계산할 수 있다. 컴퓨터 시스템(100)은 구분된 진폭 신호들의 각각에 대해 각 진폭 신호가 해당하는 대역폭 구간에서의 평균 에너지(즉, 주파수 에너지의 평균)를 계산할 수 있다.
단계(440)에서, 컴퓨터 시스템(100)은 제2 네트워크에 대해, 단계(430)에서 계산된 평균 에너지를 입력시킬 수 있고, 제2 네트워크의 출력으로서 제2 진폭 신호에 대해 적용될 제2 마스크를 획득할 수 있다.
이처럼, 단계(430)에서 계산된 평균 에너지는 제2 네트워크에서의 추론을 수행하기 위한 입력 파라미터가 될 수 있다. 제2 네트워크에 의해 출력되는 제2 마스크를 제2 진폭 신호에 대해 적용함으로써(예컨대, 곱함으로써), 잡음이 제거된 진폭 신호(즉, 잡음이 제거된 제2 진폭 신호)가 얻어질 수 있다.
제2 마스크는 단계(430)에서 계산된 평균 에너지에 대한 IRM일 수 있다. 전술한 것처럼 이러한 제2 마스크는 제2 진폭 신호와 곱해짐으로써 제2 진폭 신호에 대해 적용될 수 있다.
실시예에서는, 단계(410)에서와 같이, 저대역의 진폭 신호는 제2 네트워크로 입력될 수 있고(즉, 저대역의 진폭 신호가 제2 네트워크에 대한 입력 파라미터가 될 수 있고), 제2 네트워크에 의한 추론에 의해 잡음 제거를 위한 작업이 수행될 수 있다.
다만, 단계(420 내지 440)에서와 같이, 고대역의 진폭 신호에 대해서는 복수의 대역폭 구간으로 구분된 진폭 신호들의 각각의 평균 에너지가 계산되어, 계산된 평균 에너지가 제2 네트워크에 대한 입력 파라미터로서 사용됨으로써 고대역의 진폭 신호에 대한 제2 네트워크에서의 연산량이 줄어들 수 있다.
도 5는 일 예에 따른, 머신러닝 모델을 사용하여 진폭 신호 중 제1 주파수 대역의 제1 진폭 신호에 대해 적용될 마스크를 생성함에 있어서, 머신러닝 모델에 대해 입력되는 파라미터를 결정하는 방법을 나타내는 흐름도이다.
도 5의 단계들(510-1 내지 520-2)을 참조하여, 진폭 신호 중 저대역에 해당하는 제1 주파수 대역의 제1 진폭 신호에 기반하여 제2 네트워크에 대해 입력되는 파라미터를 결정하는 방법을 설명한다.
단계(510-1)에서, 컴퓨터 시스템(100)은 제1 주파수 대역의 제1 진폭 신호에 기반하여 기 결정된 개수의 MFCC(Mel-Frequency Cepstral Coefficient)들을 계산할 수 있다.
단계(520-1)에서, 컴퓨터 시스템(100)은 제1 진폭 신호에 대해 적용될 제1 마스크를 획득하기 위해, 계산된 MFCC들을 머신러닝 모델(150)에 대해 입력시킬 수 있다.
즉, 제1 진폭 신호와 함께, 제1 진폭 신호에 대한 MFCC들은 제2 네트워크에서의 추론을 수행하기 위한 입력 파라미터가 될 수 있다. 제1 진폭 신호에 대한 소정의 개수(예컨대, 20개)의 계수(coefficient)가 계산되어 제2 네트워크로 입력될 수 있다. MFCC들은 제1 진폭 신호의 주파수 전체의 모양에 대한 정보를 제공할 수 있다.
MFCC는 음성 신호를 특징 벡터화하기 위해 필요한 계수일 수 있다. 예컨대, MFCC는 제1 진폭 신호의 피쳐(feature)가 될 수 있다.
MFCC는 상대적으로 저주파 대역의 음성 신호를 잘 인식하고, 고주파 대역의 음성 신호를 잘 인식하지 못하는 달팽이관의 특성을 고려하는 멜 스케일(Mel-scale)에 기반하여 제1 진폭 신호로부터 계산(추출)될 수 있다. MFCC는, 멜 스케일에 따라 제1 진폭 신호를 복수의 구간들로 구분하여, 각 구간에 대해 계산될 수 있다.
단계(510-2)에서, 컴퓨터 시스템(100)은 제1 주파수 대역의 제1 진폭 신호에 기반하여 ZCR (Zero Crossing Rate)을 계산할 수 있다.
단계(520-2)에서, 컴퓨터 시스템(100)은 제1 진폭 신호에 대해 적용될 제1 마스크를 획득하기 위해, 계산된 ZCR을 제2 네트워크에 대해 입력시킬 수 있다.
즉, 제1 진폭 신호와 함께, 제1 진폭 신호에 대한 ZCR은 제2 네트워크에서의 추론을 수행하기 위한 입력 파라미터가 될 수 있다. ZCR은 제1 진폭 신호를 시간 축으로 분석함으로써 계산될 수 있다. ZCR은 제1 진폭 신호의 시간 축 성분이 포함하는 잡음에 관한 정보를 제공할 수 있다. ZCR은 (음성) 신호를 따른 부호 변화율, 즉, 신호가 변화하는 비율을 나타낼 수 있다. 즉, ZCR은 신호가 0을 지나는, 신호의 부호가 바뀌는 비율을 나타낼 수 있다.
컴퓨터 시스템(100)은 제1 진폭 신호, 제1 진폭 신호에 대한 MFCC들 및 제1 진폭 신호에 대한 ZCR을 제2 네트워크에 대해 입력시킬 수 있고, 제2 네트워크의 출력으로서 1 진폭 신호에 대해 적용될 제1 마스크를 획득할 수 있다.
도 6은 일 예에 따른, 마스크에 가중치를 적용하는 방법을 나타내는 흐름도이다.
도 6의 단계들(610 내지 630)을 참조하여, 마스크에 가중치를 적용하는 방법을 구체적으로 설명한다.
단계(610)에서, 컴퓨터 시스템(100)은 진폭 신호에 마스크를 적용하여 복원된 음성의 진폭 신호를 획득할 수 있다. 여기서 진폭 신호는 제1 윈도우가 적용된 제1 음성 신호의 진폭 신호를 포함할 수 있다. 예를 들어, 진폭 신호는 512 FFT의 출력에 대해 진폭 성분을 추출하여 얻어진 256의 진폭 데이터를 포함할 수 있다. 마스크는 Frequency NS net(150)과 같은 제2 네트워크의 출력으로서 제공되는 RM(또는 IRM)일 수 있다. 이러한 마스크는 앞서 설명한 제1 마스크 및 제2 마스크를 포함할 수 있다. 이 경우, 컴퓨터 시스템(100)은 해당 진폭 신호에 대해 마스크 RM의 값을 곱함으로써 복원된 음성의 진폭 신호(잡음이 제거된 진폭 신호)를 추정할 수 있다.
단계(620)에서, 컴퓨터 시스템(100)은 복원된 음성의 진폭 신호를 후처리 모델에 입력하여 마스크의 가중치를 획득할 수 있다. 여기서, 후처리 모델은 앞서 설명한 Post processing net(162)을 포함할 수 있다. 이미 설명한 바와 같이 Post processing net(162)은 CNN 기반의 유넷 구조로 이루어질 수 있다. 이러한 Post processing net(162)의 구조에 대해서는 이후 더욱 자세히 설명한다.
단계(630)에서, 컴퓨터 시스템(100)은 마스크에 가중치를 적용하여 마스크의 값을 조절할 수 있다. 예를 들어, 컴퓨터 시스템(100)은 마스크 RM의 값에 가중치 W를 거듭제곱(RM^W)함으로써, 마스크 RM의 값을 추가로 조절할 수 있다. 이미 설명한 바와 같이 RM의 값은 0부터 1까지의 범위에 포함되는 실수값일 수 있고, 가중치인 W는 1부터 2까지의 범위에 포함되는 실수값일 수 있다. RM의 값이 1에 가까울수록 음성일 확률이 높고, RM의 값이 0에 가까울수록 잡음일 확률이 높은데, 이러한 RM의 값에 1부터 2까지의 범위에 포함되는 실수값인 W를 거듭제곱함에 따라 RM의 잡음 제거 능력을 크게 향상시킬 수 있다. 예를 들어, RM의 값이 1에 가까울수록 음성일 확률이 높으며, 거듭제곱의 값(RM^W)은 원래의 RM의 값에 큰 영향을 미치지 못한다. 반면, RM의 값이 0에 가까울수록 잡음일 확률이 높으며, 거듭제곱의 값(RM^W)은 RM의 값을 크게 감소시킨다. 이와 같은 동작으로 인해, W의 정확도가 낮을 지라도 음성을 잘 보존하면서 조절된 RM의 값을 통해 잡음을 효과적으로 제거할 수 있게 된다.
도 7은 일 예에 따른, 입력 음성 신호 및 머신러닝 모델로부터의 마스크를 사용하여, 잡음이 제거된 음성 신호를 복원하는 방법을 나타내는 흐름도이다.
도 7의 단계들(710 내지 740)을 참조하여, 잡음이 제거된 음성 신호를 복원하는 방법을 구체적으로 설명한다.
단계(710)에서, 컴퓨터 시스템(100)은 진폭 신호에 가중치가 적용된 마스크를 적용할 수 있다. 예를 들어, 제1 윈도우가 적용된 제1 음성 신호의 진폭 신호에 가중치가 적용된 마스크를 곱함으로써 잡음 제거 진폭 신호(잡음이 제거된 진폭 신호)를 추정할 수 있다. 앞서 도 4의 실시예를 고려하면, 제1 진폭 신호에는 가중치가 적용된 제1 마스크가 곱해져 잡음이 제거된 제1 진폭 신호가 추정될 수 있고, 제2 진폭 신호에는 가중치가 적용된 제2 마스크가 곱해져 잡음이 제거된 제2 진폭 신호가 추정될 수 있다.
단계(720)에서, 컴퓨터 시스템(100)은 잡음 제거 진폭 신호 및 위상 신호에 기반하여 잡음이 제거된 복원 음성 신호의 FFT 계수를 복원할 수 있다. 말하자면, 컴퓨터 시스템(100)은 제1 윈도우가 적용된 제1 음성 신호에 대해 단계(710)에 의해 획득된 잡음이 제거된 진폭 신호와 단계(330)에 의해 잡음이 제거된 위상 신호(단계(310)에서 제1 네트워크에 의해 잡음이 제거된 위상 신호)에 기반하여 잡음이 제거된 복원 음성 신호의 FFT 계수를 복원할 수 있다.
단계(730)에서, 컴퓨터 시스템(100)은 복원된 FFT 계수에 기반하여 IFFT (Inverse Fast Fourier Transform)를 수행함으로써 잡음이 제거된 복원 음성 신호를 생성할 수 있다. 단계(670)에서 생성되는 복원 음성 신호는 도 1의 복원 음성 신호(190)와 비교하면 제2 윈도우가 적용되기 전의 제2 음성 신호일 수 있으며, 단계(380)을 통해 제2 윈도우가 적용됨에 따라 도 1의 복원 음성 신호(190)가 될 수 있다.
복원 음성 신호(190)는 컴퓨터 시스템(100)에서, 예컨대, 스피커(240)를 통해 출력될 수 있다.
도 8은 일 예에 따른, 머신러닝 모델에 의해 추정되는 마스크를 나타낸다.
도 8의 도시된 <a> 내지 <d>의 각각은 제2 네트워크에 의한 추론을 통해 추정되는 마스크(RM, IRM 또는 CIRM)의 예시를 나타낼 수 있다. 말하자면, 도시된 <a> 내지 <d>의 각각은 제2 네트워크에 의해 추정되는 최적값을 나타낼 수 있다.
마스크가 제1 윈도우가 적용된 제1 음성 신호의 진폭 신호에 대해 곱해짐으로써, 제1 윈도우가 적용된 제1 음성 신호에 포함된 잡음이 억제(suppress)될 수 있다. 이때, 마스크에 가중치가 적용됨에 따라 잡음의 억제 성능이 향상되어 잔여 잡음을 보다 효과적으로 제거할 수 있다.
도시된 <a> 내지 <d>에서, 예컨대, x축은 주파수(또는 시간)를 나타낼 수 있고, y축은 제1 윈도우가 적용된 제1 음성 신호에 대해 곱해지는 값을 나타낼 수 있다.
제2 네트워크에 의해 추정되는 마스크의 형태 및 값의 진폭은 전술된 제2 네트워크에 대한 입력 파라미터와 제2 네트워크에 의한 추정의 결과에 따라 도시된 것과는 상이하게 될 수 있다.
도 9는 일 예에 따른 제1 네트워크의 예를 나타내고 있으며, 도 10은 일 예에 따른 제2 네트워크의 예를 나타내고 있고, 도 11은 일 예에 따른 제3 네트워크의 예를 나타내고 있다. 이미 설명한 바와 같이 제1 네트워크와 제2 네트워크, 그리고 제3 네트워크는 각각 유넷 구조의 머신러닝 모델일 수 있다. 유넷 구조는 도 9에 나타난 바와 같이 각 레이어의 크기가 512-256-128-64-32-16-16-32-64-128-256-512와 같이 이전 레이어의 절반이 되도록 구성되는 특징을 가지며, 이러한 레이어들의 모양이 "U"를 나타내고 있다. 도 9에서는 도 1을 통해 설명한 Time NS net(120)이 CNN의 총 12 개의 레이어들을 사용하여 구현되는 예를 나타내고 있으며, 도 10에서는 도 1을 통해 설명한 Frequency NS net(150)이 Dense의 총 6개의 레이어들을 사용하여 구현되는 예를 나타내고 있다. 또한, 도 11에서는 도 1을 통해 설명한 Post processing net(162)이 CNN의 총 6개의 레이어들을 사용하여 구현되는 예를 나타내고 있다.
특히, Post processing net(162)은 인코드(encode) 레이어와 디코드(decode) 레이어가 각각 2개로 구성되어 있으며, CNN에서의 각각의 마스크는 4개로 구성되어 있다. 연산량을 줄이기 위해 CNN은 Depth-wise Separable Convolution 방식으로 동작하도록 구현하였다. 본 실시예에서 네트워크의 입력은 512-FFT의 진폭 신호와 Frequency NS net(150)의 출력 마스크의 곱으로 이루어진 256개의 추론된 진폭일 수 있고, 출력은 256개의 가중치일 수 있다.
이는 제1 네트워크, 제2 네트워크 및 제3 네트워크를 구성하는 하나의 실시예일뿐 이에 한정되지 않는다.
도 12는 일 실시예에 따른, 성능 평가의 예를 나타낸다. 도 12는 클린 음성 신호(1210)와 잡음이 포함된 음성 신호(1220)를 나타내고 있다. 또한, 도 12는 마스크 RM에 가중치를 적용하는 후처리(post processing)를 진행하지 않은 경우에 제1 복원된 음성 신호(1230)와 후처리를 진행한 경우에 제2 복원된 음성 신호(1240)의 예를 나타내고 있다. 이때, 제1 복원된 음성 신호(1230)에는 잔여 잡음이 존재하는 반면, 제2 복원된 음성 신호(1240)에서는 잔여 잡음이 제거된 예를 나타내고 있다.
이와 같이 본 발명의 실시예들에 따르면, 주파수 영역에서 잡음을 제거하는 방식의 문제점과 시간 영역에서 클린 음성을 추론하는 방식의 문제점을 해결하기 위해 주파수 영역의 정보와 시간 영역의 정보를 동시에 활용 및 조절할 수 있도록 주파수 영역과 시간 영역에 대한 각각의 네트워크를 구성하며, 두 네트워크가 상호 보완적으로 좋은 성능을 낼 수 있도록 학습을 진행함으로써, 잡음이 심한 환경에서도 우수한 성능을 나타낼 수 있다. 또한, 적은 연산량을 갖는 후처리 방식을 통해 잔여 잡음을 제거할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 적어도 하나의 프로세서를 포함하는 컴퓨터 시스템의 잡음 제거 방법에 있어서,
    상기 적어도 하나의 프로세서에 의해, 음성 신호의 제1 진폭 신호에 대해 적용될 마스크를 추정하도록 훈련된 제1 머신러닝 모델을 통해 상기 제1 진폭 신호를 위한 마스크를 획득하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 제1 진폭 신호에 상기 마스크를 적용하여 복원된 음성의 진폭 신호를 획득하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 복원된 음성의 진폭 신호를 입력으로 하여 상기 마스크를 위한 가중치를 출력하도록 학습된 제2 머신러닝 모델을 통해 상기 마스크를 위한 가중치를 획득하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 마스크에 상기 가중치를 적용하여 가중치가 적용된 마스크를 생성하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 제1 진폭 신호에 상기 가중치가 적용된 마스크를 적용하여 제2 진폭 신호를 생성하는 단계
    를 포함하는 잡음 제거 방법.
  2. 제1항에 있어서,
    상기 가중치가 적용된 마스크를 생성하는 단계는,
    상기 마스크의 값에 상기 가중치의 값을 거듭제곱함으로써 상기 마스크에 상기 가중치를 적용하는 것을 특징으로 하는 잡음 제거 방법.
  3. 제2항에 있어서,
    상기 마스크의 값은 0부터 1까지의 범위에 포함되는 실수값을 포함하고,
    상기 가중치의 값은 1부터 2까지의 범위에 포함되는 실수값을 포함하는 것
    을 특징으로 하는 잡음 제거 방법.
  4. 제1항에 있어서,
    상기 복원된 음성의 진폭 신호를 획득하는 단계는,
    상기 제1 진폭 신호에 상기 마스크를 곱하여 상기 복원된 음성의 진폭 신호를 획득하는 것을 특징으로 하는 잡음 제거 방법.
  5. 제1항에 있어서,
    상기 제2 머신러닝 모델은 인공신경망의 레이어들을 이용하여 구현되는 유넷(u-net) 구조의 머신러닝 모델을 포함하는 것을 특징으로 하는 잡음 제거 방법.
  6. 제1항에 있어서,
    상기 적어도 하나의 프로세서에 의해, 시간 영역에서 잡음이 제거된 음성을 추론하도록 훈련된 제3 머신러닝 모델에 잡음을 포함하는 음성 입력 신호를 입력하여 상기 음성 입력 신호의 위상이 복원되고 잡음이 1차로 제거된 제1 음성 신호로서 상기 음성 신호를 획득하는 단계
    를 더 포함하는 잡음 제거 방법.
  7. 제1항에 있어서,
    상기 적어도 하나의 프로세서에 의해, 상기 음성 신호에 제1 윈도우를 적용하는 단계; 및
    상기 제1 윈도우가 적용된 음성 신호에 FFT(Fast Fourier Transform)를 수행하여 상기 제1 진폭 신호 및 위상 신호를 획득하는 단계
    를 더 포함하는 잡음 제거 방법.
  8. 제1항에 있어서,
    상기 적어도 하나의 프로세서에 의해, 상기 제2 진폭 신호 및 상기 음성 신호의 위상 신호를 사용하여 상기 음성 신호에 IFFT(Inverse Fast Fourier Transform)를 수행함으로써 잡음이 제거된 제2 음성 신호를 생성하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 제2 음성 신호에 제2 윈도우를 적용하는 단계
    를 더 포함하는 잡음 제거 방법.
  9. 제8항에 있어서,
    상기 제2 음성 신호를 생성하는 단계는,
    상기 제2 진폭 신호 및 상기 위상 신호에 기반하여 잡음이 제거된 음성 신호의 FFT 계수를 복원하는 단계; 및
    상기 복원된 FFT 계수에 기반하여 IFFT를 수행함으로써 잡음이 제거된 상기 제2 음성 신호를 복원하는 단계
    를 포함하는 것을 특징으로 하는 잡음 제거 방법.
  10. 제1항에 있어서,
    상기 제1 진폭 신호를 위한 마스크를 획득하는 단계는,
    상기 제1 머신러닝 모델에 대해, 상기 제1 진폭 신호 중 제1 주파수 대역의 제1-1 진폭 신호를 입력시키고, 상기 제1 머신러닝 모델의 출력으로서 상기 제1-1 진폭 신호에 대해 적용될 제1 마스크를 획득하는 단계;
    상기 제1 진폭 신호 중 상기 제1 주파수 대역보다 더 큰 주파수 대역인 제2 주파수 대역의 제1-2 진폭 신호를 복수의 대역폭 구간의 진폭 신호들로 구분하는 단계;
    상기 구분된 진폭 신호들의 각각에 대한 평균 에너지를 계산하는 단계; 및
    상기 제1 머신러닝 모델에 대해, 상기 계산된 평균 에너지를 입력시키고, 상기 제1 머신러닝 모델의 출력으로서 상기 제1-2 진폭 신호에 대해 적용될 제2 마스크를 획득하는 단계
    를 포함하는 것을 특징으로 하는 잡음 제거 방법.
  11. 제10항에 있어서,
    상기 제1-2 진폭 신호는 상기 제2 주파수 대역을 바크 스케일(bark scale) 단위로 구분함으로써 상기 복수의 대역폭 구간의 진폭 신호들로 구분되는 것을 특징으로 하는 잡음 제거 방법.
  12. 컴퓨터 시스템과 결합되어 제1항 내지 제11항 중 어느 한 항의 방법을 컴퓨터 시스템에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  13. 제1항 내지 제11항 중 어느 한 항의 방법을 수행하는 컴퓨터 판독 가능 기록 매체에 기록된 프로그램.
  14. 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서에 의해,
    음성 신호의 제1 진폭 신호에 대해 적용될 마스크를 추정하도록 훈련된 제1 머신러닝 모델을 통해 상기 제1 진폭 신호를 위한 마스크를 획득하고,
    상기 제1 진폭 신호에 상기 마스크를 적용하여 복원된 음성의 진폭 신호를 획득하고,
    상기 복원된 음성의 진폭 신호를 입력으로 하여 상기 마스크를 위한 가중치를 출력하도록 학습된 제2 머신러닝 모델을 통해 상기 마스크를 위한 가중치를 획득하고,
    상기 마스크에 상기 가중치를 적용하여 가중치가 적용된 마스크를 생성하고,
    상기 제1 진폭 신호에 상기 가중치가 적용된 마스크를 적용하여 제2 진폭 신호를 생성하는 것
    을 특징으로 하는 컴퓨터 장치.
  15. 제14항에 있어서,
    상기 가중치가 적용된 마스크를 생성하기 위해, 상기 적어도 하나의 프로세서에 의해,
    상기 마스크의 값에 상기 가중치의 값을 거듭제곱함으로써 상기 마스크에 상기 가중치를 적용하는 것
    을 특징으로 하는 컴퓨터 장치.
  16. 제14항에 있어서,
    상기 복원된 음성의 진폭 신호를 획득하기 위해, 상기 적어도 하나의 프로세서에 의해,
    상기 제1 진폭 신호에 상기 마스크를 곱하여 상기 복원된 음성의 진폭 신호를 획득하는 것
    을 특징으로 하는 컴퓨터 장치.
  17. 제14항에 있어서,
    상기 제2 머신러닝 모델은 인공신경망의 레이어들을 이용하여 구현되는 유넷(u-net) 구조의 머신러닝 모델을 포함하는 것
    을 특징으로 하는 컴퓨터 장치.
  18. 제14항에 있어서,
    상기 적어도 하나의 프로세서에 의해,
    시간 영역에서 잡음이 제거된 음성을 추론하도록 훈련된 제3 머신러닝 모델에 잡음을 포함하는 음성 입력 신호를 입력하여 상기 음성 입력 신호의 위상이 복원되고 잡음이 1차로 제거된 제1 음성 신호로서 상기 음성 신호를 획득하는 것
    을 특징으로 하는 컴퓨터 장치.
  19. 제14항에 있어서,
    상기 적어도 하나의 프로세서에 의해,
    상기 음성 신호에 제1 윈도우를 적용하고,
    상기 제1 윈도우가 적용된 음성 신호에 FFT(Fast Fourier Transform)를 수행하여 상기 제1 진폭 신호 및 위상 신호를 획득하는 것
    을 특징으로 하는 컴퓨터 장치.
  20. 제14항에 있어서,
    상기 적어도 하나의 프로세서에 의해,
    상기 제2 진폭 신호 및 상기 음성 신호의 위상 신호를 사용하여 상기 음성 신호에 IFFT(Inverse Fast Fourier Transform)를 수행함으로써 잡음이 제거된 제2 음성 신호를 생성하고,
    상기 제2 음성 신호에 제2 윈도우를 적용하는 것
    을 특징으로 하는 컴퓨터 장치.
KR1020220072971A 2022-06-15 2022-06-15 딥러닝을 기반의 잡음 제거 방법 및 장치 KR20230172288A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220072971A KR20230172288A (ko) 2022-06-15 2022-06-15 딥러닝을 기반의 잡음 제거 방법 및 장치
JP2023094030A JP2023183390A (ja) 2022-06-15 2023-06-07 ディープラーニングに基づくノイズ除去方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220072971A KR20230172288A (ko) 2022-06-15 2022-06-15 딥러닝을 기반의 잡음 제거 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230172288A true KR20230172288A (ko) 2023-12-22

Family

ID=89309586

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220072971A KR20230172288A (ko) 2022-06-15 2022-06-15 딥러닝을 기반의 잡음 제거 방법 및 장치

Country Status (2)

Country Link
JP (1) JP2023183390A (ko)
KR (1) KR20230172288A (ko)

Also Published As

Publication number Publication date
JP2023183390A (ja) 2023-12-27

Similar Documents

Publication Publication Date Title
Bhat et al. A real-time convolutional neural network based speech enhancement for hearing impaired listeners using smartphone
US10679612B2 (en) Speech recognizing method and apparatus
KR20220018271A (ko) 딥러닝을 이용한 시간 및 주파수 분석 기반의 노이즈 제거 방법 및 장치
CN107610708B (zh) 识别声纹的方法及设备
JP2019522810A (ja) ニューラルネットワークベースの声紋情報抽出方法及び装置
CN105976812A (zh) 一种语音识别方法及其设备
JP7274184B2 (ja) 話者適応型モデルを実現して合成音声信号を生成するニューラルボコーダおよびニューラルボコーダの訓練方法
US11842722B2 (en) Speech synthesis method and system
Coto-Jiménez et al. Improving automatic speech recognition containing additive noise using deep denoising autoencoders of LSTM networks
Sailor et al. Filterbank learning using convolutional restricted Boltzmann machine for speech recognition
Yuan A time–frequency smoothing neural network for speech enhancement
Ismail et al. Mfcc-vq approach for qalqalahtajweed rule checking
CN111402922B (zh) 基于小样本的音频信号分类方法、装置、设备及存储介质
Kim et al. Efficient implementation of the room simulator for training deep neural network acoustic models
Najnin et al. Speech recognition using cepstral articulatory features
CN115938346B (zh) 音准评估方法、系统、设备及存储介质
Gaudani et al. Comparative study of robust feature extraction techniques for ASR for limited resource Hindi language
González-Salazar et al. Enhancing speech recorded from a wearable sensor using a collection of autoencoders
KR20230172288A (ko) 딥러닝을 기반의 잡음 제거 방법 및 장치
Salhi et al. Robustness of auditory teager energy cepstrum coefficients for classification of pathological and normal voices in noisy environments
KR20200092501A (ko) 합성 음성 신호 생성 방법, 뉴럴 보코더 및 뉴럴 보코더의 훈련 방법
Coto-Jiménez Robustness of LSTM neural networks for the enhancement of spectral parameters in noisy speech signals
Bouchakour et al. Noise-robust speech recognition in mobile network based on convolution neural networks
Alameri et al. Convolutional Deep Neural Network and Full Connectivity for Speech Enhancement.
KR20210105688A (ko) 머신러닝 모델을 사용하여 노이즈를 포함하는 입력 음성 신호로부터 노이즈가 제거된 음성 신호를 복원하는 방법 및 장치