KR102601228B1 - 음원을 인지하는 신경망 모델을 이용한 음성 신호의 부호화 및 복호화 방법과 이를 수행하는 부호화 및 복호화 장치 - Google Patents

음원을 인지하는 신경망 모델을 이용한 음성 신호의 부호화 및 복호화 방법과 이를 수행하는 부호화 및 복호화 장치 Download PDF

Info

Publication number
KR102601228B1
KR102601228B1 KR1020210053581A KR20210053581A KR102601228B1 KR 102601228 B1 KR102601228 B1 KR 102601228B1 KR 1020210053581 A KR1020210053581 A KR 1020210053581A KR 20210053581 A KR20210053581 A KR 20210053581A KR 102601228 B1 KR102601228 B1 KR 102601228B1
Authority
KR
South Korea
Prior art keywords
sound source
signal
signals
source signals
encoding
Prior art date
Application number
KR1020210053581A
Other languages
English (en)
Other versions
KR20210144573A (ko
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 US17/326,035 priority Critical patent/US11664037B2/en
Publication of KR20210144573A publication Critical patent/KR20210144573A/ko
Application granted granted Critical
Publication of KR102601228B1 publication Critical patent/KR102601228B1/ko

Links

Classifications

    • 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/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • 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/04Speech 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 predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0004Design or structure of the codebook
    • G10L2019/0005Multi-stage vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

음원을 인지하는 신경망 모델을 이용한 음성 신호의 부호화 및 복호화 방법과 이를 수행하는 부호화 및 복호화 장치가 개시된다. 본 발명의 일실시예에 따른 음성 신호의 부호화 방법은 복수의 음원에 대한 입력 신호를 식별하는 단계; 상기 입력 신호를 부호화하여 잠재 신호를 생성하는 단계; 상기 잠재 신호를 상기 복수의 음원 별로 분리하여, 복수의 음원 신호를 획득하는 단계; 상기 복수의 음원 신호 각각의 양자화에 이용되는 비트 수를 상기 음원의 종류에 따라 결정하는 단계; 상기 결정된 비트 수에 따라 상기 복수의 음원 신호 각각을 양자화하는 단계; 및 상기 양자화된 복수의 음원 신호들을 결합하여 비트스트림을 생성하는 단계를 포함할 수 있다.

Description

음원을 인지하는 신경망 모델을 이용한 음성 신호의 부호화 및 복호화 방법과 이를 수행하는 부호화 및 복호화 장치 {SPEECH CODING AND DECODING METHOD USING A NEURAL NETWORK MODEL THAT RECOGNIZES SOUND SOURCES, AND AN ENCODING AND DECODING APPARATUS THAT PERFORMS THE SAME}
본 발명은 음원을 인지하는 신경망 모델을 이용한 음성 신호의 부호화 및 복호화 방법과 이를 수행하는 부호화 및 복호화 장치에 관한 것이다.
최근, 딥러닝(deep learning) 기술의 발전에 따라, 영상 신호 및 오디오 신호의 코딩 기술에 딥러닝 기술이 적용되면서, 미디어 압축 및 코딩을 포함한 다양한 패턴 인식 작업에 대한 성능이 향상되었다. 일례로, 딥러닝에 기반한 오토인코더(autoencoder)는 복잡도가 종래 기술 보다 다소 높음에도 불구하고, 종래 기술보다 우월한 압축 성능을 나타냈다.
오토인코더는 부호화 모델과 복호화 모델을 포함하는 신경망 모델로서, 부호화 모델은 입력 신호를 잠재 신호로 부호화하고, 복호화 모델은 잠재 신호를 출력 신호로 복호화할 수 있다. 음성 코딩에도 신경망(neural network)에 기반한 코딩 기술이 적용되고 있다. 종래, 음성 코딩에는, WaveNet, CMRL(Cross-module residual learning) 기술들이 적용될 수 있다.
이러한 코딩 기술을 적용하여 음성 신호를 코딩할 때, 실제 음성 신호에는 여러 종류의 노이즈들이 포함될 수 있다. 그러나, 종래 코딩 기술은 노이즈가 포함된 음성 신호를 효율적으로 처리함에 있어, 한계를 가지고 있다.
따라서, 노이즈들이 포함된 음성 신호를 효율적으로 코딩하는 기술이 요구된다.
본 발명은, 음성 신호의 부호화 및 복호화 과정에서, 잠재 공간에서 음원을 인지하여 음성 신호들을 분리함으로써 노이즈와 같은 중요하지 않은 음원에 대한 음성 신호에 할당되는 비트를 줄이고, 중요한 음원의 음성 신호에 할당되는 비트를 늘릴 수 있는 방법 및 장치를 제공한다. 본 발명은, 이를 통해 압축 효율을 높이고, 복원되는 음성 신호의 품질을 높일 수 있다.
본 발명의 일실시예에 따른 음성 신호의 부호화 방법은 복수의 음원에 대한 입력 신호를 식별하는 단계; 상기 입력 신호를 부호화하여 잠재 신호를 생성하는 단계; 상기 잠재 신호를 상기 복수의 음원 별로 분리하여, 복수의 음원 신호를 획득하는 단계; 상기 복수의 음원 신호 각각의 양자화에 이용되는 비트 수를 상기 음원의 종류에 따라 결정하는 단계; 상기 결정된 비트 수에 따라 상기 복수의 음원 신호 각각을 양자화하는 단계; 및 상기 양자화된 복수의 음원 신호들을 결합하여 비트스트림을 생성하는 단계를 포함할 수 있다.
상기 복수의 음원 신호를 획득하는 단계는, 상기 복수의 음원 별 마스킹 벡터를 결정하는 단계; 및 상기 마스킹 벡터를 이용하여 상기 잠재 신호로부터 상기 복수의 음원 신호를 결정하는 단계를 포함할 수 있다.
상기 복수의 음원 신호를 결정하는 단계는, 상기 마스킹 벡터를 이용하여 상기 복수의 음원 신호들이 서로 직교하도록 상기 잠재 신호를 분리할 수 있다.
상기 마스킹 벡터는, 상기 복수의 음원 별 확률에 기초하여 결정되는 바이너리 벡터일 수 있다.
상기 양자화하는 단계는, 상기 소프트맥스(softmax)를 이용하여 상기 복수의 음원 신호 각각을 양자화할 수 있다.
본 발명의 일실시예에 따른 음성 신호의 복호화 방법은 부호화기로부터 생성된 비트스트림을 식별하는 단계; 상기 비트스트림으로부터 복수의 음원에 대하여 양자화된 음원 신호들을 추출하는 단계; 상기 양자화된 음원 신호 각각을 역양자화하는 단계; 상기 역양자화된 복수의 음원 신호 각각을 복호화하여 상기 복수의 음원 별 출력 신호를 생성하는 단계; 및 상기 복수의 음원 별 출력 신호들을 결합하여 최종적인 출력 신호를 획득하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 음성 신호의 부호화 방법은, 복수의 음원에 대한 입력 신호를 식별하는 단계; 상기 입력 신호를 부호화 모델에 입력하여 복수의 양자화된 음원 신호들을 획득하는 단계; 및 상기 복수의 양자화된 음원 신호들을 결합하여 비트스트림을 생성하는 단계를 포함하고, 상기 부호화 모델은, 상기 입력 신호의 잠재 신호를 상기 복수의 음원 별로 분리하여 복수의 음원 신호를 획득하고, 상기 음원의 종류에 따라 상기 복수의 음원 신호 각각을 양자화하도록 트레이닝될 수 있다.
상기 부호화 모델은, 상기 입력 신호를 부호화하여 잠재 신호를 생성하고, 상기 잠재 신호를 상기 복수의 음원 별로 분리하여, 복수의 음원 신호를 획득하고, 상기 복수의 음원 신호 각각의 양자화에 이용되는 비트 수를 상기 음원의 종류에 따라 결정하고, 상기 결정된 비트 수에 따라 상기 복수의 음원 신호 각각을 양자화할 수 있다.
상기 부호화 모델은, i) 상기 입력 신호와 상기 양자화된 음원 신호들로부터 복원되는 출력 신호 간의 차이 및 ii) 상기 입력 신호의 엔트로피와 상기 양자화된 음원 신호들의 엔트로피 간의 차이에 기초하여 트레이닝될 수 있다.
본 발명의 일실시예에 따른 음성 신호의 복호화 방법은 부호화기로부터 생성된 비트스트림을 식별하는 단계; 상기 비트스트림을 복호화 모델에 입력하여 복수의 음원들에 대한 출력 신호들을 생성하는 단계; 및 상기 복수의 음원들에 대한 출력 신호들을 결합하여 최종적인 출력 신호를 획득하는 단계를 포함하고, 상기 복호화 모델은, 상기 비트스트림으로부터 상기 복수의 음원 각각에 대하여 양자화된 음원 신호들을 추출하고, 상기 양자화된 음원 신호들을 복호화하여 상기 최종적인 출력 신호를 생성하도록 트레이닝될 수 있다.
상기 복호화 모델은, 상기 양자화된 음원 신호 각각을 역양자화하고, 상기 역양자화된 복수의 음원 신호 각각을 복호화하여 상기 복수의 음원 별 출력 신호를 생성하고, 상기 복수의 음원 별 출력 신호들을 결합하여 최종적인 출력 신호를 획득할 수 있다.
상기 복호화 모델은, i) 상기 출력 신호의 타겟인 입력 신호와 상기 출력 신호 간의 차이 및 ii) 상기 입력 신호의 엔트로피와 상기 양자화된 음원 신호들의 엔트로피 간의 차이에 기초하여 트레이닝될 수 있다.
본 발명의 일실시예에 따른 음성 신호의 부호화 방법을 수행하는 부호하기에 있어서, 상기 부호화기는 프로세서를 포함하고, 상기 프로세서는, 복수의 음원에 대한 입력 신호를 식별하고, 상기 입력 신호를 부호화하여 잠재 신호를 생성하고, 상기 잠재 신호를 상기 복수의 음원 별로 분리하여, 복수의 음원 신호를 획득하고, 상기 복수의 음원 신호 각각의 양자화에 이용되는 비트 수를 상기 음원의 종류에 따라 결정하고, 상기 결정된 비트 수에 따라 상기 복수의 음원 신호 각각을 양자화하고, 상기 양자화된 복수의 음원 신호들을 결합하여 비트스트림을 생성할 수 있다.
상기 프로세서는, 상기 복수의 음원 별 마스킹 벡터를 결정하고, 상기 마스킹 벡터를 이용하여 상기 잠재 신호로부터 상기 복수의 음원 신호를 결정할 수 있다.
상기 프로세서는, 상기 마스킹 벡터를 이용하여 상기 복수의 음원 신호들이 서로 직교하도록 상기 잠재 신호를 분리할 수 있다.
상기 마스킹 벡터는, 상기 복수의 음원 별 확률에 기초하여 결정되는 바이너리 벡터일 수 있다.
상기 프로세서는, 상기 소프트맥스(softmax)를 이용하여 상기 복수의 음원 신호 각각을 양자화할 수 있다.
본 발명의 일실시예에 따른 음성 신호의 복호화 방법을 수행하는 복호화기에 있어서, 상기 복호화기는 프로세서를 포함하고, 상기 프로세서는, 부호화기로부터 생성된 비트스트림을 식별하고, 상기 비트스트림으로부터 복수의 음원에 대하여 양자화된 음원 신호들을 추출하고, 상기 양자화된 음원 신호 각각을 역양자화하고, 상기 역양자화된 복수의 음원 신호 각각을 복호화하여 상기 복수의 음원 별 출력 신호를 생성하고, 상기 복수의 음원 별 출력 신호들을 결합하여 최종적인 출력 신호를 획득할 수 있다.
발명의 일실시예에 따르면 음성 신호의 부호화 및 복호화 과정에서, 잠재 공간에서 음원을 인지하여 음성 신호들을 분리함으로써 노이즈와 같은 중요하지 않은 음원에 대한 음성 신호에 할당되는 비트를 줄이고, 중요한 음원의 음성 신호에 할당되는 비트를 늘릴 수 있다. 본 발명은, 이를 통해 압축 효율을 높이고, 복원되는 음성 신호의 품질을 높일 수 있다.
도 1은 본 발명의 일실시예에 따른 부호화기 및 복호화기를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 부호화기 및 복호화기에서 데이터가 처리되는 과정을 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 인코딩 블록의 구조를 블록도로 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 양자화 블록의 구조를 블록도로 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 디코딩 블록의 구조를 블록도로 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 실험 결과에 대한 그래프를 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 실험 결과에 대한 그래프를 도시한 도면이다.
도 8은 본 발명의 일실시예에 따른 부호화 방법을 플로우 차트로 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 복호화 방법을 플로우 차트로 도시한 도면이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 일실시예에 따른 부호화기 및 복호화기를 도시한 도면이다
본 발명은 음성 신호의 부호화 및 복호화 과정에서, 음원 별로 음성 신호를 분리하여 노이즈와 같은 중요하지 않은 음원에 대한 음성 신호에 할당되는 비트를 줄이고, 중요한 음원의 음성 신호에 할당되는 비트를 늘림으로써, 압축 효율을 높이고, 복원되는 음성 신호의 품질을 높일 수 있다. 일례로, 본 발명은, 노이즈가 포함된 음성 신호를 효과적으로 처리하는 부호화 및 복호화 방법을 제공할 수 있다.
부호화기(101)는 프로세서를 포함할 수 있다. 부호화기(101)에 포함된 프로세서는 본 발명의 일실시예에 따른 부호화 방법을 수행할 수 있다. 복호화기(102)는 프로세서를 포함할 수 있다. 복호화기(102)에 포함된 프로세서는 본 발명의 일실시예에 따른 복호화 방법을 수행할 수 있다.
도 1을 참조하면, 부호화기(101)는, 입력 신호를 식별하고, 입력 신호를 부호화하여 비트스트림을 생성할 수 있다. 복호화기(102)는, 비트스트림을 복호화하여 최종적인 출력 신호를 생성할 수 있다. 일실시예에 따르면, 부호화기(101) 및 복호화기(102)는 동일한 전자 장치일 수 있다.
입력 신호는 복수의 음원들에 대한 원본의 음성 신호(speech signal)를 의미할 수 있다. 입력 신호는, 복수의 음원들에 의한 음성 신호들이 혼합된 음성 신호일 수 있다. 복수의 음원들에 대한 입력 신호란, 실제 사람들에 의한 음성 신호 뿐만 아니라 주변 환경에서 발생하는 노이즈(noise)들을 포함할 수 있다. 출력 신호는 입력 신호를 부호화 및 복호화하여 복원한 음성 신호를 의미할 수 있다.
부호화기(101)는, 입력 신호를 식별할 수 있다. 부호화기(101)는 입력 신호를 부호화 모델에 입력하여 복수의 양자화된 음원 신호들을 획득할 수 있다. 부호화기(101)는 복수의 양자화된 음원 신호들을 결합하여 비트스트림을 생성할 수 있다.
복호화기(102)는, 부호화기(101)로부터 생성된 비트스트림을 식별할 수 있다. 복호화기(102)는, 비트스트림을 복호화 모델에 입력하여 복수의 음원들에 대한 출력 신호들을 생성할 수 있다. 복호화기(102)는, 복수의 음원들에 대한 출력 신호들을 결합하여 최종적인 출력 신호를 획득할 수 있다.
부호화 모델 및 복호화 모델은 신경망 모델(neural network)에 포함될 수 있다. 부호화 모델 및 복호화 모델을 포함하는 신경망 모델은, 딥러닝 기반의 엔드-투-엔드(end-to-end) 오토인코더(autoencoder) 구조일 수 있다. 신경망 모델은, 입력 신호로부터 출력 신호를 생성할 수 있다. 신경망 모델은, 입력 신호를 부호화 및 복호화하여 출력 신호를 생성할 수 있다.
부호화 모델은, 입력 신호의 잠재 신호를 복수의 음원 별로 분리하여 복수의 음원 신호를 획득하고, 음원의 종류에 따라 복수의 음원 신호 각각을 양자화하도록 트레이닝될 수 있다. 잠재 신호는 잠재 공간(latent space)의 잠재 벡터를 의미할 수 있다.
부호화 모델은, 입력 신호를 부호화하여 잠재 신호(latent signal)를 생성하고, 잠재 신호를 복수의 음원 별로 분리하여, 복수의 음원 신호를 획득하고, 복수의 음원 신호 각각의 양자화에 이용되는 비트 수를 음원의 종류에 따라 결정하고, 결정된 비트 수에 따라 복수의 음원 신호 각각을 양자화할 수 있다.
부호화 모델은 입력 신호의 특징을 추출함으로써 잠재 신호를 생성할 수 있다. 일례로, 잠재 신호는, 압축된 입력 신호로서, 잠재 특징 벡터를 의미할 수 있다. 음원 신호는, 특정 음원에 대한 잠재 신호를 의미할 수 있다. 예를 들어, 잠재 신호는 음성에 대응하는 음원 신호 및 노이즈에 대응하는 음원 신호로 분리될 수 있다.
복호화 모델은, 비트스트림으로부터 복수의 음원 각각에 대하여 양자화된 음원 신호들을 추출하고, 양자화된 음원 신호들을 복호화하여 최종적인 출력 신호를 생성하도록 트레이닝될 수 있다.
복호화 모델은, 양자화된 음원 신호 각각을 역양자화하고, 역양자화된 복수의 음원 신호 각각을 복호화하여 복수의 음원 별 출력 신호를 생성하고, 복수의 음원 별 출력 신호들을 결합하여 최종적인 출력 신호를 획득할 수 있다.
부호화 모델 및 복호화 모델은, 부호화기(101) 또는 복호화기(102)에 의해 트레이닝될 수 있다. 일례로, 부호화 모델 및 복호화 모델은, i) 입력 신호와 양자화된 음원 신호들로부터 복원되는 출력 신호 간의 차이 및 ii) 입력 신호의 엔트로피와 양자화된 음원 신호들의 엔트로피 간의 차이에 기초하여 트레이닝될 수 있다.
신경망 모델은 음원 분리와 음성 신호의 코딩을 수행할 수 있다. 신경망 모델에 의해 처리되는 모든 동작들은 부호화기(101) 또는 복호화기(102)에 포함된 프로세서에 의해 수행될 수 있다.
도 2는 본 발명의 일실시예에 따른 부호화기 및 복호화기에서 데이터가 처리되는 과정을 도시한 도면이다.
도 2에서 입력 신호(201)가 부호화 및 복호화되는 과정은 신경망 모델에서 수행될 수 있다. 부호화기(101)는, 입력 신호(201)를 식별할 수 있다. 부호화기(101)는, 입력 신호(201)를 부호화하여 잠재 신호(202)를 생성할 수 있다.
일례로, 부호화기(101)는, 합성곱 연산을 이용하여 입력 신호(201)를 부호화할 수 있다. 일례로, 부호화기(101)는 도 3에 도시된 신경망 구조를 이용하여 입력 신호(201)를 부호화할 수 있다. 입력 신호(201)를 부호화하거나 압축하여 잠재 신호(202)를 생성하는 방법은 특정한 예로 제한되지 않으며, 당업자가 채용할 수 있는 방법이 적용될 수 있다.
부호화기(101)는, 잠재 신호(202)를 복수의 음원 별로 분리하여 복수의 음원 신호(203, 204)를 획득할 수 있다. 부호화기(101)는, 잠재 공간(latent space)에서 음원 분리를 수행할 수 있다. 부호화기(101)는 음원 별 음원 신호(203, 204)들 간의 직교성 가정(orthogonality assumption)을 이용함으로써 부호화 과정의 복잡도를 줄일 수 있다.
일례로, 입력 신호(201)는 시간 도메인의 신호로서 복수의 프레임을 포함할 수 있다. 입력 신호(201)는 아래 수학식 1을 만족할 수 있다. 잠재 신호(202)는 아래 수학식 2를 만족할 수 있다.
수학식 1에서, x는 입력 신호(201)를 의미할 수 있고, 구체적으로, 입력 신호의 프레임을 의미할 수 있다. RN은 N차원의 실수 공간을 의미하고, RD는 D차원의 실수 공간을 의미할 수 있다. z는 잠재 신호(202)를 의미할 수 있다. Fenc()는 임의의 부호화 함수를 의미할 수 있다.
부호화기(101)는 복수의 음원 별 마스킹 벡터를 결정할 수 있다. 부호화기(101)는, 마스킹 벡터를 이용하여 잠재 신호로부터 복수의 음원 신호(203, 204)를 결정할 수 있다. 일례로, K 개의 음원에 대하여, 잠재 신호(202)를 K개로 분해하는(decompose) 마스킹 벡터가 결정될 수 있다. 마스킹 벡터의 값은 복수의 음원 별 확률(probability)에 기초하여 결정될 수 있다. 일례로, 음원 별 확률은 아래 수학식 3을 만족할 수 있다.
수학식 3에서, md (k)는 k번째 음원에 대한 확률을 의미할 수 있다. d는 차원의 인덱스를 나타낼 수 있다. K는 음원의 수를 의미할 수 있다. 즉, 모든 음원에 대한 확률의 합은 1일 수 있다. 다만, 본 발명에서, 마스킹 벡터는, 음원 별 확률에 기초하여 아래 수학식 4에 따라 결정될 수 있다.
수학식 4에서, md (k)는 k번째 음원에 대한 마스킹 벡터를 의미할 수 있다. k번째 마스킹 벡터는, k번째 음원의 확률에 기초하여 결정되는 바이너리 벡터(binary vector)일 수 있다. 부호화기(101)는 argmax 연산을 이용하여 마스킹 벡터를 결정할 수 있다. 1 또는 0으로 구성된 마스킹 벡터로 인하여, 음원 신호(203, 204)들은 서로 직교할 수 있다. 일례로, 복수의 음원에 대한 각각의 음원 신호(203, 204)들은 아래 수학식 5, 6을 만족할 수 있다.
수학식 6에서, z(k)는 k번째 음원에 대한 음원 신호(203, 204)를 의미할 수 있다. z는 잠재 신호(202)를 의미할 수 있다. m(k)는 k번째 음원에 대한 마스킹 벡터를 의미할 수 있다. 은 하다마르 곱(hadamard product) 연산을 의미할 수 있다.
본 발명의 일실시예에 따르면, 프레임 마다 마스킹 벡터의 값을 결정하는 것이 아니라, 잠재 신호(202)를 K 개의 배타적(exclusive)이고, 연속적인(consecutive) 서브셋(subset)으로 분리하는 마스킹 벡터를 이용할 수 있다. 각 서브셋은 음원 신호(203, 204)를 의미할 수 있다. 부호화기(101)는, 마스킹 벡터를 이용하여 복수의 음원 신호(203, 204)들이 서로 직교하도록 잠재 신호를 분리할 수 있다.
예를 들어, 음원의 종류가 2개이고, 잠재 신호(202)가 8차원의 실수 공간에 포함될 때, 마스킹 벡터는 아래 수학식 7과 같을 수 있다.
수학식 8에서, m(1)은 1번째 음원에 대한 마스킹 벡터를 의미할 수 있다. 마스킹 벡터가 바이너리 벡터이기 때문에, 마스킹된 요소들(masked-out elements)은 제거될 수 있다. 마스킹된 요소들이 제거되는 경우, 음원 신호(203, 204)는 아래 수학식 8과 같이 D/K 차원의 실수 공간에 포함될 수 있다. K는 음원의 수를 의미하고, D는 초기의 잠재 신호(202)의 차원 수를 의미할 수 있다.
일례로, 잠재 신호(202)는 아래 수학식 9와 같이 마스킹된 요소들이 제거된 음원 신호(203, 204)들로 정의될 수 있다. z(k)는 k번째 음원 신호(203, 204)를 의미할 수 있다.
수학식 9에서 z는 잠재 신호(202)를 의미하고, z(k)는 k번째 음원 신호(203, 204)를 의미할 수 있다. 일례로, 부호화기(101)는, 부호화 모델에 포함된 인코딩 블록을 통하여 입력 신호(201)를 부호화할 수 있다. 인코딩 블록의 구조는 도 3에서 후술한다. 인코딩 블록은 1차원 합성곱 신경망(convolutional neural network) 구조를 포함할 수 있다. 인코딩 블록은 합성곱 연산을 수행하는 합성곱 계층을 포함할 수 있다.
인코딩 블록의 입력 데이터는 입력 신호(201)이고, 출력 데이터는 잠재 신호(202)일 수 있다. 일례로, 인코딩 블록의 출력 데이터는 2L x P 행렬일 수 있다. L은 입력 신호(201)의 채널 수를 의미하고, 합성곱 신경망의 2L 출력 채널의 수를 의미할 수 있다. P는 입력 신호(201)의 길이를 의미할 수 있다.
일례로, 음원의 수가 2인 경우, 잠재 신호(202)는 LxP 행렬인 2개의 음원 신호(203, 204)로 분리될 수 있다. LP는 D/K와 동일할 수 있다. D는 K의 배수일 수 있다. 복호화기(102)는 음원 별로 분리된 음원 신호(203, 204)들 각각으로부터 출력 신호(212)를 생성할 수 있다.
부호화기(101)는, 복수의 음원 신호(203, 204) 각각의 양자화에 이용되는 비트 수를 음원의 종류에 따라 결정할 수 있다. 음원의 종류에 따른 비트 수는 미리 결정될 수 있다. 음원의 종류에 따른 비트 수는 각 음원의 중요도에 따라 서로 다르게 결정될 수 있다.
부호화기(101)는, 각 음원 신호(203, 204)에 대한 비트 수를 음원의 종류에 따라 다르게 결정할 수 있다. 또는, 부호화기(101)는, 각 음원 신호(203, 204)에 대한 비트 수를 음원의 중요도에 따라 다르게 결정할 수 있다.
예를 들어, 음성은 중요도가 높기 때문에 양자화에 이용되는 비트 수가 높게 결정되고, 노이즈는 중요도가 낮기 때문에 양자화에 이용되는 비트 수도 낮게 결정될 수 있다. 일례로, 음원의 중요도와 그 음원의 음원 신호(203, 204)의 양자화에 이용되는 비트 수는 비례 관계일 수 있다.
부호화기(101)는 결정된 비트 수에 따라 복수의 음원 신호(203, 204) 각각을 양자화할 수 있다. 양자화는, 연속적인 변수들을 이산적인 대표 값으로 맵핑하는 과정을 의미한다. 본 발명에서, 복수의 음원 별 음원 신호(203, 204)를 양자화하기 위하여 소프트맥스(softmax) 연산을 이용하는 소프트-투-하드 양자화(soft-to-hard quantization)가 이용될 수 있다. 소프트-투-하드 양자화는 양자화 과정이 미분되지 않기 때문에 신경망 모델을 이용되기 어려운 단점을 보완할 수 있다.
소프트-투-하드 양자화는 피드-포워드(feed-forward) 과정 동안 소프트 맥스 분류로 클러스터 할당 작업을 공식화하는 것일 수 있다. 부호화기(101)는, 소프트맥스(softmax)를 이용하여 복수의 음원 신호(203, 204) 각각을 양자화할 수 있다.
부호화기(101)는, 모든 대표 값(representatives)(예: 클러스터 평균)에 대해 유클리드 거리(Euclidean distance) 벡터를 계산할 수 있다. 음수인 대표 값은 소프트 맥스 함수에 대한 유사성 스코어(similarity score)와 같은 역할을 수행할 수 있다.
부호화기(101)는 소프트 맥스 결과를 이용하여 음원 신호(203, 204)의 양자화를 수행할 수 있다. 소프트 맥스 결과는 클러스터의 확률 벡터일 수 있다. 일례로, 아래 수학식 10-13에 따라 양자화된 음원 신호(205, 206)가 결정될 수 있다.
수학식 10에서, dm은 m번째 대표값에 대한 유클리드 거리를 의미할 수 있다. y는 특정 음원에 대한 음원 신호(203, 204)를 의미할 수 있다. 은 m번째 대표 값을 의미하는 클러스터 중심(cluster centroid)일수 있다. 은 유클리드 거리를 계산하는 함수일 수 있다.
수학식 11에서, p는 소프트 맥스 결과를 의미하는 확률 벡터일 수 있다. Sotfmax()는 소프트 맥스 함수를 의미할 수 있다. 는 스케일링 하이퍼 파리미터(scaling hyperparameter)를 의미할 수 있다. 는 트레이닝 과정에서 이용되는 양자화된 음원 신호(205, 206)와, 적용 과정에서 이용되는 양자화된 음원 신호(205, 206) 간의 불일치를 줄이도록 결정될 수 있다.
수학식 12에서, 는 트레이닝된 부호화 모델이 실제로 적용되는 과정에서 계산되는 양자화된 음원 신호(205, 206)를 의미할 수 있다. 반면, 수학식 13에서 는 부호화 모델의 트레이닝 과정에서 계산되는 양자화된 음원 신호(205, 206)를 의미할 수 있다. 수학식 12의 계산은 미분이 어렵기 때문에, 부호화 모델의 학습 과정에서는 수학식 13에 따라 음원 신호(203, 204)가 양자화될 수 있다.
수학식 12, 13에서, pm은 m번째 대표값에 대한 소프트 맥스의 확률 벡터를 의미할 수 있다. 수학식 12에 따르면, 부호화 모델의 적용 과정에서, 음원 신호(203, 204)는 가장 가까운 대표 값으로 양자화될 수 있다.
부호화 모델의 트레이닝 과정에서, 클러스터 중심도 신경망 모델의 파라미터로서 업데이트될 수 있다. 소프트-투-하드 양자화는 벡터 양자화(vector quantization)를 수행할 수 있다.
허프만 코딩(Huffman coding)으로 인한, 비트율의 이론적인 하한(lower bound)은 양자화된 음원 신호(205, 206)들의 엔트로피에 의해 정의될 수 있다. 클러스터 평균의 주파수는 음원 신호(203, 204)들의 엔트로피를 아래 수학식 14와 같이 정의할 수 있다.
qm (k)는 k번째 음원의 m번째 클러스터 평균의 주파수를 나타낼 수 있다. (k)는 k번째 음원의 클러스터 중심을 의미할 수 있다. (k)는 k번째 음원의 음원 신호(203, 204)를 의미할 수 있다. H()는 엔트로피를 계산하는 함수일 수 있다. 그리고, 아래 수학식 15와 같이 혼합된 음성 신호의 엔트로피는 복수의 음원들에 대한 음원 신호(203, 204)들의 엔트로피 합보다 작거나 같을 수 있다.
수학식 15에서, (k)는 k번째 음원의 클러스터 중심을 의미할 수 있다. K는 음원의 수를 의미할 수 있다. H()는 엔트로피를 계산하는 함수일 수 있다. 은 혼합된 음성 신호의 클러스터 중심을 의미할 수 있다. 수학식 15에 따르면, 복수의 음원 신호(203, 204)들을 양자화하는 것이 코딩 효율에 불리할 수 있으나, 본 발명의 일실시예에 따르면, 인지적인 요소(perceptual factors)를 이용하는 이점을 가질 수 있다.
일례로, 본 발명은 음원 별로 서로 다른 비트율로 양자화함으로써, 사람이 인식하는 중요한 음원의 음원 신호(203, 204)를 노이즈와 같은 다른 음원의 음원 신호(203, 204) 보다 높은 비트율로 양자화할 수 있어, 복원 품질을 높일 수 있다. 따라서, 최종적인 출력 신호(212)에서, 음성과 같은 중요한 음원의 인지적인 품질(perceptual quality)을 높일 수 있다. 그리고, 잡음과 같이 중요하지 않은 음원의 비트율을 낮춤으로써 코딩 효율을 도모할 수 있다.
본 발명의 일실시예에 따르면, 음원 신호(203, 204) 별로 타겟 엔트로피와 실제 엔트로피 간의 손실을 설정하여 신경망 모델을 트레이닝하는 엔트로피 제어 메커니즘이 이용될 수 있다. 즉, 입력 신호(201)와 양자화된 음원 신호(205, 206)들로부터 복원되는 출력 신호(212) 간의 차이 뿐만 아니라 입력 신호(201)의 엔트로피인 타겟 엔트로피와 양자화된 음원 신호(205, 206)들의 엔트로피 간의 차이까지 고려하여 신경망 모델의 파라미터를 업데이트할 수 있다.
일례로, 아래 수학식 16과 같이 엔트로피 간의 차이가 신경망 모델의 손실 함수를 결정함에 있어 이용될 수 있다.
수학식 16에서, (k)은 k번째 음원의 입력 신호(201)에 대한 전체 엔트로피를 의미하고, H( (k))은 k번째 음원의 음원 신호(203, 204)에 대한 엔트로피를 의미할 수 있다. 실험 결과, 엔트로피에 대한 손실 값이 정확한 비트율을 보장하지는 않으나, 실제 비트율이 타겟 비트율과 차이가 있더라도 성능에 큰 영향을 미치지 않을 수 있다.
부호화기(101)는 양자화된 음원 신호(205, 206)들을 비트스트림(207)으로 변환할 수 있다. 부호화기(101)는 양자화된 음원 신호(205, 206)에 대응하는 비트스트림(207)을 생성할 수 있다. 복호화기(102)는 비트스트림(207)을 식별할 수 있다. 복호화기(102)는 비트스트림(207)을 복호화 모델에 입력하여 복수의 음원들에 대한 출력 신호(210, 211)들을 생성할 수 있다.
복호화 모델은, 역양자화된 음원 신호(208, 209)들을 변환하는 특징 변환 블록과 역양자화된 음원 신호(208, 209)들로부터 복수의 음원 별 출력 신호(210, 211)들을 생성하는 디코딩 블록을 포함할 수 있다.
구체적으로, 복호화기(102)는, 비트스트림(207)으로부터 양자화된 음원 신호(208, 209)들을 추출할 수 있다. 복호화기(102)는 양자화된 음원 신호(205, 206) 각각을 역양자화할 수 있다. 복호화기(102)는 역양자화된 음원 신호(205, 206)들을 특징 변환 블록(feature transformation block)을 통해 변환할 수 있다. 특징 변환 블록은, 가중치들을 포함하는 신경망 계층들을 포함할 수 있으며, 복호화가 잘 이루어질 수 있도록 입력 데이터를 변환하는 블록일 수 있다. 특징 변환 블록의 가중치는 복호화 모델의 트레이닝 과정에서 복호화 품질이 높아지도록 업데이트될 수 있다.
복호화기(102)는, 역양자화된 복수의 음원 신호(208, 209) 각각을 복호화하여 복수의 음원 별 출력 신호(210, 211)를 생성할 수 있다. 복호화기(102)는, 복수의 음원 별 출력 신호(210, 211)들을 결합하여 최종적인 출력 신호(212)를 획득할 수 있다.
부호화 모델 및 복호화 모델은, 부호화기(101) 또는 복호화기(102)에 의해 트레이닝될 수 있다. 일례로, 부호화 모델 및 복호화 모델은, i) 입력 신호(201)와 양자화된 음원 신호(205, 206)들로부터 복원되는 출력 신호(212) 간의 차이 및 ii) 입력 신호(201)의 엔트로피와 양자화된 음원 신호(205, 206)들의 엔트로피 간의 차이에 기초하여 트레이닝될 수 있다.
일례로, 부호화기(101) 또는 복호화기(102)는 i) 입력 신호(201)와 양자화된 음원 신호(205, 206)들로부터 복원되는 출력 신호(212) 간의 차이 및 ii) 입력 신호(201)의 엔트로피와 양자화된 음원 신호(205, 206)들의 엔트로피 간의 차이에 기초하여 손실 값을 결정할 수 있다.
부호화기(101) 또는 복호화기(102)는 손실 값이 최소화되도록 부호화 모델 및 복호화 모델의 파라미터를 업데이트할 수 있다. 부호화 모델 및 복호화 모델은 결정된 손실 값에 기초하여 역전파(backpropagation)를 수행할 수 있다.
일례로, 음원의 종류가 음성과 잡음인 경우, 손실 값은 아래 수학식 17에 따라 결정될 수 있다.
수학식 17에서, L은 손실 값을 의미할 수 있다. s는 음성에 대한 입력 신호(201)를 의미하고, 는 음성에 대한 출력 신호(212)를 의미할 수 있다. x는 전체 음원에 대한 입력 신호(201)를 의미하고, 는 최종적인 출력 신호(212)를 의미할 수 있다. mse()는 평균 제곱 오차(Mean Square Error)를 계산하는 함수일 수 있다. 는 가중치를 의미할 수 있고 특정한 값으로 제한되지 않을 수 있다.
ξ는 트레이닝의 타겟이 되는 전체 음원들에 대한 입력 신호(201)의 전체 엔트로피를 의미할 수 있다. H( (1))은 1번째 음원(예: 음성)의 음원 신호(203, 204)에 대한 엔트로피를 의미할 수 있다. H( (2))은 2번째 음원(예: 노이즈)의 음원 신호(203, 204)에 대한 엔트로피를 의미할 수 있다. 은 타겟 비율을 의미할 수 있다.
즉, 부호화기(101) 또는 복호화기(102)는 각 음원에 대한 입력 신호(201)들의 엔트로피 비율과 양자화된 음원 신호(205, 206)들 간의 엔트로피 비율 간의 차이를 추가적으로 고려하여 부호화 모델 및 복호화 모델을 트레이닝할 수 있다.
본 발명은 단순히 음성만을 부호화하는 것이라 아니라, 비-음성 성분까지 포함하여 부호화 및 복호화함에 있어, 인지적, 적용적 중요도를 고려하여 서로 다른 비트율을 적용함으로써 더 나은 음향 환경을 제공할 수 있다.
도 3은 본 발명의 일실시예에 따른 인코딩 블록의 구조를 블록도로 도시한 도면이다.
부호화 모델은, 입력 신호(301)로부터 잠재 신호(308)를 생성하는 인코딩 블록 및 음원 신호를 양자화하는 양자화 블록을 포함할 수 있다. 부호화 모델에 포함된 인코딩 블록은, 합성곱(convolution) 계층(302, 305, 307), 병목 블록(303, 304, 306)을 포함할 수 있다. 병목 블록(303, 304, 306)은, 동일한 입력 채널을 가질 수 있다. 모든 블록이나 계층은 연산을 위한 파라미터들을 포함할 수 있다.
일례로, 합성곱 계층(302)은 1차원 합성곱 연산을 수행하여 입력 신호(301)의 채널을 증가시켜 특징 벡터를 생성할 수 있다. 입력 신호(301)는 합성곱 계층(302)을 통해 특징 벡터로 변환될 수 있다.
일례로, 병목 블록(303, 304, 306)은 ResNet(Residual neural network) 구조를 갖는 블록일 수 있다. 병목 블록(303, 304, 306)은, 특징 벡터의 깊이를 줄이고, 다시 원래 깊이로 복구할 수 있다. 일례로, 병목 블록(303)의 입력 데이터와 출력 데이터가 아이덴티티 숏컷(identity shortcut)으로 연결될 수 있다.
연결된 데이터는 다음 병목 블록(304)의 입력 데이터로 이용될 수 있다. 합성곱 계층(305)에서, 1차원 합성곱 연산이 수행되고 병목 블록(304)의 출력 데이터를 1/2로 다운 샘플링될 수 있다. 다운 샘플링된 특징 벡터는 병목 블록(306)과 합성곱 계층(307)을 거쳐 잠재 신호(308)로 변환될 수 있다. 합성곱 계층에서 특징 벡터의 채널이 감소되고, 잠재 신호(308)가 생성될 수 있다.
도 4는 본 발명의 일실시예에 따른 양자화 블록의 구조를 블록도로 도시한 도면이다.
부호화 모델은 음원 신호(401)의 양자화를 수행하는 양자화 블록을 포함할 수 있다. 양자화 블록은 양자화 계층(402), 합성곱 계층(403), 병목 블록(404) 및 업샘플링(up-sampling) 계층을 포함할 수 있다. 양자화 블록은 음원 신호(401)를 양자화할 수 있다. 모든 블록이나 계층은 연산을 위한 파라미터들을 포함할 수 있다.
양자화 계층(402)에서 음원 신호(401)가 양자화될 수 있다. 일례로, 소프트-투-하드 벡터 양자화가 음원 신호(401)에 대해 수행될 수 있다. 합성곱 계층(403)에서, 1차원 합성곱 연산이 수행되고, 채널이 증가될 수 있다. 병목 블록(404)은 ResNet 구조를 갖는 블록일 수 있다. 병목 블록(404)은 입력 데이터의 깊이를 줄이고 다시 복구하여 출력 데이터를 생성할 수 있다.
업샘플링 계층(405)에서, 특징 벡터가 2배의 길이로 업샘플링 될 수 있다. 업샘플링은 2개의 인접한 채널을 하나로 결합함으로써 수행될 수 있다. 일례로, 서브-픽셀 합성곱 기술(sub-pixel convolution technique)이 적용될 수 있다. 업샘플링 계층(405)을 통해 양자화된 음원 신호(406)가 생성될 수 있다.
도 5는 본 발명의 일실시예에 따른 디코딩 블록의 구조를 블록도로 도시한 도면이다.
복호화 모델은, 임의의 음원에 대한 음원 신호로부터 그 음원에 대한 출력 신호(504)를 생성하는 디코딩 블록을 포함할 수 있다. 도 5의 잠재 신호(500)은 역양자화된 음원 신호들을 의미할 수 있다. 디코딩 블록은 병목 블록(501, 502) 및 합성곱 계층(503)을 포함할 수 있다. 모든 블록이나 계층은 연산을 위한 파라미터들을 포함할 수 있다.
병목 블록(501, 502)은 ResNet 구조를 갖는 블록일 수 있다. 병목 블록(501, 502)은 입력 데이터의 깊이를 줄이고 다시 복구하여 출력 데이터를 생성할 수 있다. 합성곱 계층(503)에서 1차원 합성곱 연산이 수행되며, 역양자화된 음원 신호의 채널이 1로 변환될 수 있다. 합성곱 계층(503)을 통해 음원 신호에 대한 출력 신호(504)가 생성될 수 있다.
도 6는 본 발명의 일실시예에 따른 실험 결과에 대한 그래프를 도시한 도면이다.
도 6은 객관적 평가에 대한 실험 결과를 나타내는 그래프일 수 있다. 실험을 위하여, TIMIT 코퍼스에서 500개 및 50개의 발화가 선택되고, 일시적이지 않은 노이즈에 대응하는 음원들(예: 새, 총, 바다, 정글, 안개, 씹는 소리, 타이핑, 카지노, 모터사이클 등)의 소리와 결합되어 입력 신호로 이용되었다.
입력 신호는 64 개 샘플이 오버랩된 512개 샘플(32ms)로 세그멘팅될 수 있다. 실험에서는 128 사이즈의 Hann 윈도우가 64개 오버랩 샘플 구간에 적용되었다. 따라서 초당 16000/448 프레임이 이용되고, 각 프레임은 벡터 양자화의 대상이 되는 음원 신호로 변환될 수 있다. 음원 별 코드북의 엔트로피()에 대한, 비트율은 로 결정될 수 있다. 예를 들어, P가 256이고, 가 1일 때 비트율은 9.14kbps로 결정될 수 있다.
트레이닝은 3 단계에 거쳐 수행될 수 있다. 이때 3개의 연속적인 에포크(epoch) 동안 성능 개선이 없을 때 다음 단계로 진행되도록 설정될 수 있다. 또한 트레이닝 과정에서 총 10 에포크 동안 성능 개선이 없을 때 학습을 멈출 수 있다.
첫번째 단계에서, 별도의 모델은 부호화 과정 없이 노이즈를 제거하도록 트레이닝될 수 있다. 이는 인코더를 훈련시켜 두개의 직교 코드 벡터로 표현되는 speech와 background 소스로 음원을 분리한다. 이 과정에서는 양자화 과정은 아직 포함되어 있지 않으나, 음원들 간의 양자화 벡터 중심(quantization vector centroids)의 적절한 초기화가 트레이닝될 수 있다.
두번째 단계에서, 소프트-투-하드 벡터 양자화가 적절히 수행되도록 트레이닝될 수 있다. 128개의 클러스터 중심이 이용될 수 있다. 소프트 맥스 함수의 스케일(예: 수학식 11의 )은 10으로 결정될 수 있고, 지수적으로 500까지 증가할 수 있다. 그동안, 양자화 에러가 최소화되도록 부호화 모델의 파라미터가 업데이트될 수 있다.
세번째 단계에서, 엔트로피를 고려하여 트레이닝될 수 있다. 일례로, 정규화 가중치(예: 수학식 17의 )는 전체 엔트로피에 대해 1/5, 엔트로피 비율에 대해 1/60로 결정될 수 있다. 타겟 전체 엔트로피(는 1, 2, 3으로 타겟 비트율에 따라 결정될 수 있고, 이에 따른 비트율은 각각 9.14, 18.29, 27.43kbps로 결정될 수 있다. 타겟 비율(예: 수학식 17의 )은 3으로 결정될 수 있다.
도 6에서, SANAC(601)은 0dB로 설정된 본 발명의 일실시예에 따른 코덱을 의미할 수 있다. 도 6에서, SANAC(603)은 5dB로 설정된 본 발명의 일실시예에 따른 코덱을 의미할 수 있다. 도 6에서, Baseline(602)은 0dB로 설정된 기준 코덱을 의미할 수 있다. 도 6에서, Baseline(604)은 5dB로 설정된 기준 코덱을 의미할 수 있다.
기준 코덱은, 엔트로피나 음원 별 출력 신호에 대한 고려 없이 부호화 및 복호화를 수행할 수 있다. 도 6은, 음성만을 포함하는 음성 신호 및 노이즈가 혼합된 음성 신호 모두에 대해 스케일 불변 신호 대 왜곡 비율(scale-invariant signal-to-distortion ratio (SiSDR))과 단시간 객관적 명료도(short-time objective intelligibility)에 기초하여 실험한 결과를 그래프로 도시한 도면이다.
도 6의 (a)는 노이즈가 혼합된 음성 신호에 대하여 단시간 객관적 명료도 평가 결과를 도시한 도면이다. 도 6의 (b)는 음성만을 포함하는 음성 신호에 대하여 단시간 객관적 명료도 평가 결과를 도시한 도면이다. 도 6의 (c)는 노이즈가 혼합된 음성 신호에 대하여 스케일 불변 신호 대 왜곡 비율 평가 결과를 도시한 도면이다. 도 6의 (d)는 음성만을 포함하는 음성 신호에 대하여 스케일 불변 신호 대 왜곡 비율 평가 결과를 도시한 도면이다.
음성의 경우, 0dB 및 5dB 에서 스케일 불변 신호 대 왜곡이 개선되었다. 일례로, 도 6의 (a)를 참조하면, 낮은 비트율 일수록, 음성에 높은 비트율이 할당된 것으로 인하여, 성능이 더 좋게 나타날 수 있다. 도 6을 참조하면, 노이즈가 매우 크지 않는 한, 본 발명에 따른 코덱이 낮은 비트 전송률에서 기준 코덱보다 우수한 성능을 나타낼 수 있다.
도 7은 본 발명의 일실시예에 따른 실험 결과에 대한 그래프를 도시한 도면이다.
도 7은 주관적 평가에 대한 실험 결과를 나타내는 그래프일 수 있다. 도 7은 8명의 오디오 전문가가 본 발명의 일실시예에 따른 지각적 품질에 대한 주관적인 테스트에 참여하여 진행된 실험에 대한 그래프일 수 있다. 도 7에서 SANAC은 본 발명의 일실시예에 따른 코덱을 의미할 수 있다. 도 7에서, Baseline은 기준 코덱을 의미할 수 있다.
도 7은 전문가들이 기준 코덱과 본 발명에 따른 코덱 중 원본 음성 신호와 가장 가까운 것을 선택한 결과이다. 도 7의 (a)-(c)는 서로 다른 비트율에서 실시된 세션일 수 있다. 실험은 각 세션 마다 10번씩 선택하도록 진행되었다. 도 7에서 세로축은 선택된 횟수를 나타낼 수 있다.
도 7을 참조하면, 비트율이 낮을수록 본 발명의 일실시예에 따른 코덱이 높게 평가되었다. 다만, 높은 비트율의 경우 테스트 결과는 잠재적으로 다른 노이즈 제거 결과로 인해 노이즈 유형에 따라 다를 수 있다.
도 8은 본 발명의 일실시예에 따른 부호화 방법을 플로우 차트로 도시한 도면이다.
단계(801)에서, 부호화기는, 복수의 음원에 대한 입력 신호를 식별할 수 있다. 단계(802)에서, 부호화기는, 입력 신호를 부호화하여 잠재 신호를 생성할 수 있다. 단계(803)에서, 부호화기는, 잠재 신호를 복수의 음원 별로 분리하여, 복수의 음원 신호를 획득할 수 있다.
단계(804)에서, 부호화기는, 복수의 음원 신호 각각의 양자화에 이용되는 비트 수를 음원의 종류에 따라 결정할 수 있다. 단계(805)에서, 부호화기는, 결정된 비트 수에 따라 복수의 음원 신호 각각을 양자화할 수 있다.
부호화기는, 벡터 양자화를 이용하여 음원 신호들을 양자화할 수 있다. 단계(806)에서, 부호화기는, 양자화된 복수의 음원 신호들을 결합하여 비트스트림을 생성할 수 있다.
기술한 단계들은, 부호화기의 프로세서에 의해 수행되며 부호화 모델에서 처리될 수 있다. 부호화 모델은, 입력 신호를 부호화하여 잠재 신호(latent signal)를 생성하고, 잠재 신호를 복수의 음원 별로 분리하여, 복수의 음원 신호를 획득하고, 복수의 음원 신호 각각의 양자화에 이용되는 비트 수를 음원의 종류에 따라 결정하고, 결정된 비트 수에 따라 복수의 음원 신호 각각을 양자화할 수 있다.
부호화 모델은 입력 신호의 특징을 추출함으로써 잠재 신호를 생성할 수 있다. 일례로, 잠재 신호는, 압축된 입력 신호로서, 잠재 특징 벡터를 의미할 수 있다. 음원 신호는, 특정 음원에 대한 잠재 신호를 의미할 수 있다. 예를 들어, 잠재 신호는 음성에 대응하는 음원 신호 및 노이즈에 대응하는 음원 신호로 분리될 수 있다.
도 9는 본 발명의 일실시예에 따른 복호화 방법을 플로우 차트로 도시한 도면이다.
단계(901)에서, 복호화기는, 부호화기로부터 생성된 비트스트림을 식별할 수 있다. 단계(902)에서, 복호화기는, 비트스트림으로부터 복수의 음원에 대하여 양자화된 음원 신호들을 추출할 수 있다.
단계(903)에서, 복호화기는, 양자화된 음원 신호 각각을 역양자화할 수 있다. 단계(904)에서, 복호화기는, 역양자화된 복수의 음원 신호 각각을 복호화하여 복수의 음원 별 출력 신호를 생성할 수 있다. 단계(905)에서, 복호화기는, 복수의 음원 별 출력 신호들을 결합하여 최종적인 출력 신호를 획득할 수 있다.
기술한 단계들은, 복호화기의 프로세서에 의해 수행되며 복호화 모델에서 처리될 수 있다. 복호화 모델은, 비트스트림으로부터 복수의 음원 각각에 대하여 양자화된 음원 신호들을 추출하고, 양자화된 음원 신호들을 복호화하여 최종적인 출력 신호를 생성하도록 트레이닝될 수 있다.
복호화 모델은, 양자화된 음원 신호 각각을 역양자화하고, 역양자화된 복수의 음원 신호 각각을 복호화하여 복수의 음원 별 출력 신호를 생성하고, 복수의 음원 별 출력 신호들을 결합하여 최종적인 출력 신호를 획득할 수 있다.
부호화 모델 및 복호화 모델은, 부호화기 또는 복호화기에 의해 트레이닝될 수 있다. 일례로, 부호화 모델 및 복호화 모델은, i) 입력 신호와 양자화된 음원 신호들로부터 복원되는 출력 신호 간의 차이 및 ii) 입력 신호의 엔트로피와 양자화된 음원 신호들의 엔트로피 간의 차이에 기초하여 트레이닝될 수 있다.
한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.
본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.
컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.
또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
101: 부호화기
102: 복호화기

Claims (18)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 음성 신호의 부호화 방법에 있어서,
    복수의 음원에 대한 입력 신호를 식별하는 단계;
    상기 입력 신호를 부호화 모델에 입력하여 복수의 양자화된 음원 신호들을 획득하는 단계; 및
    상기 복수의 양자화된 음원 신호들을 결합하여 비트스트림을 생성하는 단계
    를 포함하고,
    상기 부호화 모델은,
    상기 입력 신호의 잠재 신호를 상기 복수의 음원 별로 분리하여 복수의 음원 신호를 획득하고, 상기 음원의 종류에 따라 상기 복수의 음원 신호 각각을 양자화하도록 트레이닝되고,
    상기 입력 신호와 상기 양자화된 음원 신호들로부터 복원되는 출력 신호 간의 차이, 및 상기 입력 신호의 엔트로피와 상기 양자화된 음원 신호들의 엔트로피 간의 차이에 기초하여 트레이닝되는, 부호화 방법.
  8. 제7항에 있어서,
    상기 부호화 모델은,
    상기 입력 신호를 부호화하여 잠재 신호를 생성하고, 상기 잠재 신호를 상기 복수의 음원 별로 분리하여, 복수의 음원 신호를 획득하고, 상기 복수의 음원 신호 각각의 양자화에 이용되는 비트 수를 상기 음원의 종류에 따라 결정하고, 상기 결정된 비트 수에 따라 상기 복수의 음원 신호 각각을 양자화하는, 부호화 방법.
  9. 삭제
  10. 음성 신호의 복호화 방법에 있어서,
    부호화기로부터 생성된 비트스트림을 식별하는 단계;
    상기 비트스트림을 복호화 모델에 입력하여 복수의 음원들에 대한 출력 신호들을 생성하는 단계; 및
    상기 복수의 음원들에 대한 출력 신호들을 결합하여 최종적인 출력 신호를 획득하는 단계
    를 포함하고,
    상기 복호화 모델은,
    상기 비트스트림으로부터 상기 복수의 음원 각각에 대하여 양자화된 음원 신호들을 추출하고, 상기 양자화된 음원 신호들을 복호화하여 상기 최종적인 출력 신호를 생성하도록 트레이닝되고,
    상기 출력 신호의 타겟인 입력 신호와 상기 출력 신호 간의 차이, 및 상기 입력 신호의 엔트로피와 상기 양자화된 음원 신호들의 엔트로피 간의 차이에 기초하여 트레이닝되는, 복호화 방법.
  11. 제10항에 있어서,
    상기 복호화 모델은,
    상기 양자화된 음원 신호 각각을 역양자화하고, 상기 역양자화된 복수의 음원 신호 각각을 복호화하여 상기 복수의 음원 별 출력 신호를 생성하고, 상기 복수의 음원 별 출력 신호들을 결합하여 최종적인 출력 신호를 획득하는, 복호화 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
KR1020210053581A 2020-05-22 2021-04-26 음원을 인지하는 신경망 모델을 이용한 음성 신호의 부호화 및 복호화 방법과 이를 수행하는 부호화 및 복호화 장치 KR102601228B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/326,035 US11664037B2 (en) 2020-05-22 2021-05-20 Methods of encoding and decoding speech signal using neural network model recognizing sound sources, and encoding and decoding apparatuses for performing the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202063029086P 2020-05-22 2020-05-22
US63/029,086 2020-05-22

Publications (2)

Publication Number Publication Date
KR20210144573A KR20210144573A (ko) 2021-11-30
KR102601228B1 true KR102601228B1 (ko) 2023-11-13

Family

ID=78722667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210053581A KR102601228B1 (ko) 2020-05-22 2021-04-26 음원을 인지하는 신경망 모델을 이용한 음성 신호의 부호화 및 복호화 방법과 이를 수행하는 부호화 및 복호화 장치

Country Status (1)

Country Link
KR (1) KR102601228B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190043491A1 (en) 2018-05-18 2019-02-07 Intel Corporation Neural network based time-frequency mask estimation and beamforming for speech pre-processing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4216364B2 (ja) * 1997-08-29 2009-01-28 株式会社東芝 音声符号化/復号化方法および音声信号の成分分離方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190043491A1 (en) 2018-05-18 2019-02-07 Intel Corporation Neural network based time-frequency mask estimation and beamforming for speech pre-processing

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Di Wu. Single channel audio separation using deep neural networks and matrix factorizations. PhD Thesis. Newcastle University. 2017.*
Po-Sen Huang, et al. Joint optimization of masks and deep recurrent neural networks for monaural source separation. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2015.12.*
Srihari Kankanahalli. End-to-end optimized speech coding with deep neural networks. IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 2018.09.13.*

Also Published As

Publication number Publication date
KR20210144573A (ko) 2021-11-30

Similar Documents

Publication Publication Date Title
US11664037B2 (en) Methods of encoding and decoding speech signal using neural network model recognizing sound sources, and encoding and decoding apparatuses for performing the same
EP2224432B1 (en) Encoder, decoder, and encoding method
EP1988544B1 (en) Coding device and coding method
BR112020008216A2 (pt) aparelho e seu método para gerar um sinal de áudio intensificado, sistema para processar um sinal de áudio
EP0833305A2 (en) Low bit-rate pitch lag coder
US20170164131A1 (en) Method and apparatus for decoding a compressed hoa representation, and method and apparatus for encoding a compressed hoa representation
US20130114733A1 (en) Encoding method, decoding method, device, program, and recording medium
JP2012532344A (ja) 加重線形予測変換を利用したオーディオ信号符号化及び復号化装置並びにその方法
US8914280B2 (en) Method and apparatus for encoding/decoding speech signal
Yang et al. Source-aware neural speech coding for noisy speech compression
US11621011B2 (en) Methods and apparatus for rate quality scalable coding with generative models
US11783844B2 (en) Methods of encoding and decoding audio signal using side information, and encoder and decoder for performing the methods
US11488613B2 (en) Residual coding method of linear prediction coding coefficient based on collaborative quantization, and computing device for performing the method
JP2024516664A (ja) デコーダ
KR102601228B1 (ko) 음원을 인지하는 신경망 모델을 이용한 음성 신호의 부호화 및 복호화 방법과 이를 수행하는 부호화 및 복호화 장치
KR20220048252A (ko) 학습 모델을 이용한 오디오 신호의 부호화 및 복호화 방법 및 장치와 학습 모델의 트레이닝 방법 및 장치
US8924203B2 (en) Apparatus and method for coding signal in a communication system
US20100049512A1 (en) Encoding device and encoding method
US20210166701A1 (en) Device and method for encoding / decoding audio signal using filter bank
RU2414009C2 (ru) Устройство и способ для кодирования и декодирования сигнала
US8849655B2 (en) Encoder, decoder and methods thereof
KR20210133551A (ko) 적응형 주파수 복원 기법 기반 오디오 부호화 방법
KR102539165B1 (ko) 협력 양자화에 기초한 lpc 계수의 잔차 신호 코딩 방법 및 상기 방법을 수행하는 컴퓨팅 장치
CN112352277B (zh) 编码装置及编码方法
Srikotr The improved speech spectral envelope compression based on VQ-VAE with adversarial technique

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant