KR20190019460A - 보코더 유형 판별 장치 및 방법 - Google Patents

보코더 유형 판별 장치 및 방법 Download PDF

Info

Publication number
KR20190019460A
KR20190019460A KR1020170104391A KR20170104391A KR20190019460A KR 20190019460 A KR20190019460 A KR 20190019460A KR 1020170104391 A KR1020170104391 A KR 1020170104391A KR 20170104391 A KR20170104391 A KR 20170104391A KR 20190019460 A KR20190019460 A KR 20190019460A
Authority
KR
South Korea
Prior art keywords
vocoder
type
speech signal
feature parameter
layer
Prior art date
Application number
KR1020170104391A
Other languages
English (en)
Other versions
KR102014384B1 (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 KR1020170104391A priority Critical patent/KR102014384B1/ko
Publication of KR20190019460A publication Critical patent/KR20190019460A/ko
Application granted granted Critical
Publication of KR102014384B1 publication Critical patent/KR102014384B1/ko

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
    • 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
    • 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 음성신호 처리 시스템의 보코더 유형 판별 기술에 관한 것으로, 음성신호의 각 프레임에 대하여 서로 다른 m개의 보코더(m은 2 이상임)로부터 특징 파라미터를 획득하는 단계; 상기 특징 파라미터를 컨벌루션 신경망(Convolution Neural Network, CNN) 학습에 적합한 형태로 변환하여 특징 파라미터 조합을 생성하는 단계; 상기 특징 파라미터 조합 및 상기 m개의 보코더의 유형을 나타내는 정보에 대하여 상기 컨벌루션 신경망 학습을 수행하여 상기 음성신호의 압축에 사용된 보코더의 유형을 판별하는 보코더 유형 판별 모델을 생성하는 단계; 임의의 음성신호에 대한 상기 특징 파라미터 조합에 해당하는 값에 상기 보코더 유형 판별 모델을 적용하여 상기 임의의 음성신호의 압축에 사용된 보코더의 유형을 판별하는 단계를 포함할 수 있다.

Description

보코더 유형 판별 장치 및 방법 {APPARATUS AND METHOD FOR DISCRIMINATING VOCODER TYPE}
본 발명은 음성신호의 압축에 사용된 보코더의 유형을 판별하는 기술에 관한 것이다.
음성 부호화 방식 중 보코딩(Vocoding)은, 음성의 특징적인 파라미터를 부호화하여 전송하고, 수신시 해당 파라미터를 다시 합성하여 음성을 재 조합하는 방식을 통해 비트 전송률(bitrate)을 줄이는 기법이다.
기존의 통신 환경에서는 음성을 부호화 할 때 사용된 보코더(Vocoder)의 정보를 미리 인지하지 못할 경우, 음성을 복호화 하기 위해서는 모든 보코더의 복호화기에 대한 복호화를 수행하고, 이를 사람이 직접 청취하여 구분하는 수밖에 없다.
한국공개특허 10-2017-0060108호 (2017.05.31 공개)
본 발명의 실시예에서는, 음성신호의 부호화에 사용된 보코더의 유형을 판별할 수 있는 기술을 제안하고자 한다.
본 발명의 실시예에 따르면, 음성신호의 각 프레임에 대하여 서로 다른 m개의 보코더(m은 2 이상임)로부터 특징 파라미터를 획득하는 단계; 상기 특징 파라미터를 컨벌루션 신경망(Convolution Neural Network, CNN) 학습에 적합한 형태로 변환하여 특징 파라미터 조합을 생성하는 단계; 상기 특징 파라미터 조합 및 상기 m개의 보코더의 유형을 나타내는 정보에 대하여 상기 컨벌루션 신경망 학습을 수행하여 상기 음성신호의 압축에 사용된 보코더의 유형을 판별하는 보코더 유형 판별 모델을 생성하는 단계; 임의의 음성신호에 대한 상기 특징 파라미터 조합에 해당하는 값에 상기 보코더 유형 판별 모델을 적용하여 상기 임의의 음성신호의 압축에 사용된 보코더의 유형을 판별하는 단계를 포함하는 보코더 유형 판별 방법을 제공할 수 있다.
여기서, 상기 특징 파라미터 조합은, 상기 각 프레임의 각 특징 파라미터별로 생성되는 조합일 수 있다.
또한, 상기 보코더의 유형을 나타내는 정보는, 상기 m개의 보코더의 유형 각각을 나타내는 m차원의 불리언(Boolean) 형식일 수 있다.
또한, 상기 보코더의 유형을 나타내는 정보는, 상기 m개의 보코더의 유형 및 오류를 각각 나타내는 m+1차원의 불리언 형식일 수 있다.
또한, 상기 보코더 유형 판별 모델은, 상기 임의의 음성신호의 압축에 상기 m개의 보코더의 각각이 사용되었을 확률을 산출하고, 상기 보코더의 유형을 판별하는 단계는, 상기 확률 중 가장 큰 값을 갖는 보코더가 상기 임의의 음성신호의 압축에 사용된 것으로 판별하는 단계를 포함할 수 있다.
또한, 상기 컨벌루션 신경망은, 컨벌루션층(convolution layer), 최대 풀링층(max-pooling layer), 완전 연결층(fully-connected layer), 출력층(output layer)을 포함하며, 상기 보코더 유형 판별 모델을 생성하는 단계는, 상기 컨벌루션층에서 가중치를 공유하는 단계; 상기 최대 풀링층에서 최대치를 풀링하여 상기 특징 파라미터 조합의 차원을 축소시키는 단계; 상기 최대 풀링층과 상기 완전 연결층 사이의 가중치 및 바이어스를 학습시키는 단계; 및 상기 가중치 및 바이어스를 학습시킨 결과를 상기 출력층에서 출력하는 단계를 포함할 수 있다.
본 발명의 실시예에 따르면, 음성신호의 각 프레임에 대하여 서로 다른 m개의 보코더(m은 2이상임)로부터 획득된 특징 파라미터를 컨벌루션 신경망 학습에 적합한 형태로 변환하여 특징 파라미터 조합을 생성하는 데이터 변환부; 상기 특징 파라미터 조합 및 상기 m개의 보코더의 유형을 나타내는 정보에 대하여 상기 컨벌루션 신경망 학습을 수행하여 상기 음성신호의 압축에 사용된 보코더의 유형을 판별하는 보코더 유형 판별 모델을 생성하는 모델 학습부; 임의의 음성신호에 대한 상기 특징 파라미터 조합에 해당하는 값에 상기 보코더 유형 판별 모델을 적용하여 상기 임의의 음성신호의 압축에 사용된 보코더의 유형을 판별하는 판별부를 포함하는 보코더 유형 판별 장치를 제공할 수 있다.
여기서, 상기 특징 파라미터 조합은, 상기 각 프레임의 각 특징 파라미터별로 생성되는 조합일 수 있다.
또한, 상기 보코더의 유형을 나타내는 정보는, 상기 m개의 보코더의 유형 각각을 나타내는 m차원의 불리언 형식일 수 있다.
또한, 상기 보코더의 유형을 나타내는 정보는, 상기 m개의 보코더의 유형 및 오류를 각각 나타내는 m+1차원의 불리언 형식일 수 있다.
또한, 상기 보코더 유형 판별 모델은, 상기 임의의 음성신호의 압축에 상기 m개의 보코더의 각각이 사용되었을 확률을 산출하고, 상기 판별부는 상기 확률 중 가장 큰 값을 갖는 보코더가 상기 임의의 음성신호의 압축에 사용된 것으로 판별할 수 있다.
또한, 상기 컨벌루션 신경망은, 컨벌루션층, 최대 풀링층, 완전 연결층, 출력층을 포함할 수 있다.
본 발명의 실시예에 의하면, 음성신호의 부호화에 사용된 보코더를 사전에 모르더라도 딥 러닝(deep learning)에 의해 학습된 모델을 통해 임의의 음성신호의 압축에 사용된 보코더 유형을 판별함으로써, 압축하여 전송된 음성신호의 복호화 과정이 효율적이고 정확하게 수행될 수 있다.
도 1은 본 발명의 실시예에 따른 보코더 유형 판별 장치(10)에 대한 블록도이다.
도 2는 본 발명의 실시예에 따른 보코더 유형 판별 방법 중 일부 단계를 설명하는 도면으로서, 특징 파라미터 추출 과정을 예시적으로 설명하는 도면이다.
도 3은 본 발명의 실시예에 따른 보코더 유형 판별 방법 중 일부 단계를 설명하는 도면으로서, 딥 러닝에 적합한 형태로 데이터를 변환하는 과정을 예시적으로 설명하는 도면이다.
도 4는 본 발명의 실시예에 따른 보코더 유형 판별 방법 중 일부 단계를 설명하는 도면으로서, 컨벌루션 신경망(Convolution Neural Network, CNN)에 의한 확률을 산출하는 과정을 예시적으로 설명하는 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 실시예는 음성신호의 부호화에 사용되는 복수의 보코더 유형별로 획득되는 특징 파라미터와 보코더 유형을 나타내는 정보에 대하여 딥 러닝을 수행하여 보코더 유형 판별 모델을 생성하며, 입력되는 임의의 음성신호의 특징 파라미터에 보코더 유형 판별 모델을 적용하여 보코더 종류를 추정하는 것을 기초로 한다.
음성신호의 특징 파라미터는 각각의 보코더(Vocoder) 마다 다른 구성을 지니고 있다. 예를 들어, LPC(Linear Predictive Coding) 보코더는 음성신호로부터 음성의 주기성, 에너지, 유/무성음, 예측계수 등과 같은 특징 파라미터를 추출하고, MELP(Mixed Excitation Linear Prediction) 보코더는 선형 스펙트럼 주파수, 푸리에 크기, 증가율, 주기성, 구간별 유무성음, 비주기성 값 등의 특징 파라미터를, CELP(Code Excited Linear Prediction) 보코더는 선형 스펙트럼 주파수, 주기성, 무작위 신호 및 증가율에 대한 코드북 지표 등의 특징 파라미터를 추출한다.
각 보코더의 특징 파라미터 값은 임의의 입력 음성에 따라 상이하게 결정되는 값이나, 이러한 특징 파라미터 값의 조합은 각 보코더 마다 특징적인 조합과 값의 범위를 가지기 때문에, 이들을 보코더의 추정에 사용할 데이터로 선택할 수 있다.
본 발명의 실시예는 이러한 보코더별 특징 파라미터를 이용한 컨벌루션 신경망의 학습을 기초로 보코더의 종류를 정확하게 판별할 수 있는 기술을 제공하고자 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 보코더 유형 판별 장치(10)에 대한 블록도이다.
도 1에 도시된 바와 같이, 보코더 유형 판별 장치(10)는 데이터 변환부(100), 모델 학습부(200) 및 판별부(300)를 포함할 수 있다.
먼저, 데이터 변환부(100)는 음성신호로부터 보코더에 의해 추출된 특징 파라미터를 딥 러닝, 특히 컨벌루션 신경망(Convolution Neural Network, CNN)을 이용하는 딥 러닝에 적합한 형태로 변환한다.
이하에서는 도 2 및 도 3을 참조하여 음성신호의 비트스트림에서 컨벌루션 신경망 학습에 적합한 형태로의 특징 파라미터의 조합을 예시적으로 설명하겠다.
도 2는 음성신호의 비트스트림(b)으로부터 특징 파라미터(f)를 추출하는 과정을 예시적으로 보여주는 도면이다.
도면부호 b는 음성신호의 한 프레임을 나타내는 비트스트림으로, 비트스트림(b)에서 bM,T는 음성신호의 M번째 프레임의 T번째 비트를 나타낸다. 도면부호 f는 복수의 보코더(1, 2, 3)에 의해 비트스트림(b)으로부터 획득되는 특징 파라미터를 나타내며, 특징 파라미터(f)에서 fM,N은 음성신호의 M번째 프레임에 대해 복수의 보코더(1,2 3)로부터 생성된 N개의 특징 파라미터를 나타낸다.
본 발명의 실시예에서는, 총 3개의 보코더, 예를 들어 LPC 보코더, MELP 보코더 및 CELP 보코더를 적용하였으나, 이에 한정되지 않으며, 음성신호 처리 환경에 따라 추가적인 보코더들이 적용될 수 있음을 당업자라면 용이하게 알 수 있을 것이다.
여기서, 비트스트림 bM,T는 음성신호의 M번째 프레임을 어느 하나의 보코더의 인코더를 통과시켜 추출한 T비트의 비트스트림으로, 보코더 유형 판별 모델의 학습에 사용될 전체 데이터베이스는, 가령 TIMIT와 같은 음성 데이터베이스의 동일한 음성 입력에 대해 LPC 보코더에서 추출된 비트스트림, MELP 보코더에서 추출된 비트스트림, 그리고 CELP 보코더에서 추출된 비트스트림을 모두 포함할 수 있다.
한편, 도 2에 도시된 M번째 프레임의 1에서 N번째까지의 특징 파라미터(f)는 하나의 보코더, 가령 LPC 보코더를 통과한 비트스트림 bM,T를 LPC 보코더, MELP 보코더, CELP 보코더에 각각 통과시켜 추출되는 특징 파라미터 값을 순차적으로 나타낸 것이다.
추출된 특징 파라미터(f)는, 예를 들어 LPC 보코더의 경우 음성의 주기성, 에너지, 유무성음, 예측계수를 나타내는 14개의 특징 파라미터, MELP 보코더의 경우 선형 스펙트럼 주파수, 푸리에 크기, 증가율, 주기성, 구간별 유무성음, 비주기성 값을 나타내는 19개의 특징 파라미터, CELP 보코더의 경우 선형 스펙트럼 주파수, 주기성, 무작위 신호 및 증가율에 대한 코드북 지표의 26개의 특징 파라미터를 모두 포함할 수 있다. 도 2의 실시예의 경우 N은 LPC 보코더, MELP 보코더, CELP 보코더의 특징 파라미터의 총합인 59개를 의미할 수 있다. 이때, 인코딩시 사용되지 않은 보코더에서 추출된 특징 파라미터 값은 오류에 가까운 값을 갖게 된다.
한편, 컨벌루션 신경망 학습을 위한 훈련용 데이터로 각 특징 파라미터(f)가 추출된 비트스트림이 어떤 보코더로 압축된 것인지에 대한 정보가 제공되어야 하는데, 이 정보는 예를 들어 사용 가능한 보코더가 m개라고 할 때 m차원의 불리언(Boolean) 형식으로 정의할 수 있다. 도 2의 실시예처럼, 3개의 보코더가 사용 가능하다고 할 때, 보코더의 유형을 나타내는 정보는 3차원 불리언, 예를 들어 LPC 보코더의 경우 [0 0 1], MELP 보코더의 경우 [0 1 0], CELP 보코더의 경우 [1 0 0]로 정의될 수 있다. 여기서, 오류인 경우를 보코더 유형 정보에 추가하고자 할 경우에는 m+1차원의 불리언 형식으로 정의할 수 있다. 도 2의 실시예의 경우, LPC 보코더의 경우 [0 0 0 1], MELP 보코더의 경우 [0 0 1 0], CELP 보코더의 경우 [0 1 0 0], 임의 입력값, 즉 오류(error)에 대해서는 [1 0 0 0]의 불리언 정보로 각각 설정할 수 있다.
이와 같이, m개의 보코더의 유형을 m차원의 불리언 또는 m+1차원의 불리언으로 레이블링 가능하다.
도 3은 도 2에서 마련된 특징 파라미터(f)를 데이터 변환부(100)가 딥 러닝, 가령 컨벌루션 신경망 학습의 입력에 적합한 형태로 변환하는 과정을 도시한 것으로, 도면부호 102는 도 2에서 프레임 별로 특징 파라미터가 조합되어 있는 세트, 도면부호 104는 데이터 변환부(100)가 프레임별로 특징 파라미터가 조합되어 있는 세트(102)를 특징 파라미터를 기준으로 재조합한 특징 파라미터 조합을 각각 예시하고 있다.
도 3을 참조하면, M-2번째부터 M+2번째까지의 5개 프레임에 대한 각 N개의 특징 파라미터 세트(102)는, 각 파라미터를 기준으로 재조합되어, M-2 번째부터 M+2 번째 프레임의 1번째 특징 파라미터, 2번째 특징 파라미터, …, N번째 특징 파라미터를 조합한 특징 파라미터 조합(104)으로 구성될 수 있다.
이렇게 재조합된 특징 파라미터 조합(104)은 보코더 유형에 관한 정보와 함께 도 1의 모델 학습부(200)로 제공되고, 모델 학습부(200)는 특징 파라미터 조합(104) 및 보코더 유형에 관한 정보에 기초하여 임의의 음성신호가 사용 가능한 각 보코더로 부호화되었을 확률 값을 산출할 수 있다.
도 4는 데이터 변환부(100)로부터 제공되는 특징 파라미터 조합(104)에 딥 러닝을 적용하여 보코더 유형 판별 모델을 생성하는 모델 학습부(200)를 예시적으로 설명하는 도면이다.
도 4에 도시한 바와 같이, 본 발명의 실시예에 따른 모델 학습부(200)는, 딥 러닝 알고리즘, 예를 들어 컨벌루션 신경망 학습 모델이 적용될 수 있으며, 컨벌루션층(convolution layer)(202), 최대 풀링층(max-pooling layer)(204), 완전 연결층(fully-connected layer)(206) 및 출력층(output layer)(208)을 포함할 수 있다.
모델 학습부(200)에서 이루어지는 훈련 과정은 컨벌루션층(202)의 필터에 존재하는 가중치와 바이어스 값과 완전 연결층(206)에 존재하는 가중치와 바이어스 값을 훈련하는 과정을 포함할 수 있다.
본 발명의 실시예에 사용되는 컨벌루션층(202)은, 예를 들어 1차원 컨벌루션층이며, 컨벌루션 필터를 사용하여 입력 값인 특징 파라미터 조합(104)에 대한 컨벌루션을 수행하고, 컨벌루션 값을 출력하는 역할을 한다. 예를 들어, 총 5개의 프레임에 대한 특징 파라미터 조합(104)을 입력으로 하는 경우, 가장 적절한 컨벌루션 값을 출력할 수 있는 가중치, 예컨대 1x5 크기의 필터 10개를 사용하여 컨벌루션을 수행할 수 있으며, 입력 값의 전후를 0으로 채워 입력 값의 정보가 유실되는 것을 막고, 컨벌루션층(202)의 출력 값과 입력 값의 크기를 동일하게 설정할 수 있다.
컨벌루션층(202)에 의해 출력된 컨벌루션 값에 대하여, 최대 풀링층(204)에서는 설정된 창(window)의 범위 내에서 최대치를 풀링하여 특징 파라미터 조합(104)의 차원을 축소시킬 수 있다. 여기서, 입력 값의 정보 손실을 최소화하기 위해 창의 크기는 1x2로 설정하고, 컨벌루션 값에서 2칸씩 이동하면서 최대값을 추출하도록 설정할 수 있다.
최대 풀링층(204)에서 풀링 값은 256개의 노드를 갖는 완전 연결층(206)에 입력될 수 있다. 완전 연결층(206)은 입력된 풀링 값에 대하여 최대 풀링층(204)과 완전 연결층(206) 사이의 가중치와 바이어스 값과 연산하여 256개의 특징 값을 산출하고, 이를 완전 연결층(206)과 출력층(208) 사이의 가중치와 바이어스 값과 연산하여 4차원의 출력값(사용 가능한 보코더의 개수를 3개로 가정할 때)을 산출할 수 있다.
출력층(208)은 최대 풀링층(204)과 완전 연결층(206) 사이의 가중치 및 바이어스를 학습시킨 결과를 4차원 출력 값으로 표시할 수 있다. 예를 들어, 출력 값은 [0.2 0.2 0.4 0.2]와 같이 총 합이 1인 4차원의 확률 값을 갖는 확률분포로 표현될 수 있다. 이러한 총 합이 1인 4차원 확률 값은, 예를 들어 소프트맥스(softmax) 기법을 로직 함수(logistic function)로 사용하여 출력된 값일 수 있다.
도 1의 판별부(300)는 임의의 음성신호에 대한 특징 파라미터 조합(104)에 해당하는 값에 상술한 모델 학습부(200)에서 훈련하여 생성된 보코더 유형 판별 모델을 적용하여 임의의 음성신호의 압축에 사용된 보코더의 유형을 판별할 수 있다.
구체적으로, 판별부(300)는 임의의 음성신호의 압축에 m개의 보코더(m은 2이상)의 각각이 사용되었을 확률을 산출하고, 산출된 확률에 기초하여 임의의 음성신호의 압축에 사용된 보코더의 유형을 판별할 수 있다. 이때, 각 확률 값의 총 합은 1이 될 것이며, 각각의 확률 값 중 최대 값과 나머지 값을 불리언 형식으로 치환한 값을 보코더 유형 판별 모델에 적용할 수 있다. 예를 들어, 모델 학습부(200)에서 출력된 4차원 출력값이 [0.2 0.2 0.4 0.2]의 확률일 경우, 해당 확률에서 최대 확률값은 0.4이므로, 확률분포 [0.2 0.2 0.4 0.2]는 [0 0 1 0]이라는 불리언 형식으로 치환될 수 있다.
판별부(300)는 단순히 최대 확률 값을 갖는 보코더가 음성신호의 압축에 사용된 것으로 판별할 수도 있고, 상술한 바와 같이 불리언 형식으로 치환된 결과를 미리 정의된 불리언 형식의 보코더 유형 정보, 즉 LPC 보코더: [0 0 0 1], MELP 보코더: [0 0 1 0], CELP 보코더: [0 1 0 0], 오류: [1 0 0 0]와 비교하여 보코더 유형을 판별할 수도 있다. 예를 들어, 보코더 유형 판별 모델의 적용 결과 산출된 확률분포가 불리언 형식 [0 0 1 0]으로 치환되면, 음성신호의 부호화에 사용된 보코더는 MELP 보코더임을 확인할 수 있다.
한편, 본 발명의 실시예에서는 보코더 유형 판별 모델의 출력값과 미리 정의된 보코더 유형에 관한 정보값 사이의 오차로 인해 나타나는 비용 함수(cost function)의 수치를 최소화하기 위해, 예를 들어 역전파(back propagation) 기법을 이용하는 지도학습(supervised learning)을 이용할 수 있으며, 이는 모델 학습부(200) 내의 완전 연결층(206)과 각 층 사이의 가중치와 바이어스, 합성곱 층의 10개의 필터에 부여된 가중치와 바이어스 값을 훈련하게 된다.
또한, 본 발명의 실시예에 적용되는 모델 학습부(200)는, 예를 들어 Tensorflow 또는 Theano를 백엔드(backend)로 사용하는 파이썬 툴킷(python toolkit)인 Keras가 사용될 수 있다.
아래 [표 1]은 딥 러닝 알고리즘 중 SVM(Support Vector Machine), DNN(Deep Neural Network), 그리고 DNN에 스플라이싱(splicing) 기법을 적용한 보코더 유형 판별 방식과 본 명세서에서 주로 설명된 컨벌루션 신경망 모델링 기법을 적용한 보코더 유형 판별 방식 간의 판별 정확도를 비교한 도표이다. 여기서, 스플라이싱은 컨벌루션 신경망과 비교하기 위하여 전후 2 프레임씩 참조하도록 설정하였다.
[단위: %]
DB
Model
LPC MELP CELP Random
SVM 76 75 94 100
DNN 84 97 90 100
Splicing 88 97 100 100
CNN 100 99 100 100
[표 1]에서, 첫 번째 열은 판별에 사용된 딥 러닝 기법을 나타내고, 첫 번째 행은 판별 대상 음성신호의 부호화에 사용된 보코더의 유형을 나타낸다. 이외의 행렬 내의 값은 총 12667개의 음성신호 프레임에 대하여 예측된 보코더 유형과 실제 사용자 보코더 유형이 일치하는 비율을 %값으로 나타낸 것이다.
[표 1]에서 알 수 있듯이, SVM 알고리즘 사용시 보코더 유형 예측의 평균 정확도(%)는 86.25%, DNN의 평균 정확도(%)는 92.75%, 스플라이싱의 평균 정확도(%)는 96.25%, 컨벌루션 신경망 모델(CNN)의 평균 정확도는 99.75%였다. 이를 통해, SVM, DNN, 스플라이싱 판별 방식에 비하여 비선형적 판별 방식인 컨벌루션 신경망 모델 판별 방식이 우수함을 알 수 있다.
이상 설명한 바와 같은 본 발명의 실시예에 의하면, 음성신호의 부호화에 사용된 보코더에 대한 정보가 없이도 보코더의 유형을 예측함으로써, 음성신호 처리 과정을 효율적이고 정확하게 수행할 수 있다.
100: 데이터 변환부
200: 모델 학습부
300: 판별부

Claims (12)

  1. 음성신호의 각 프레임에 대하여 서로 다른 m개의 보코더(m은 2 이상임)로부터 특징 파라미터를 획득하는 단계;
    상기 특징 파라미터를 컨벌루션 신경망(Convolution Neural Network, CNN) 학습에 적합한 형태로 변환하여 특징 파라미터 조합을 생성하는 단계;
    상기 특징 파라미터 조합 및 상기 m개의 보코더의 유형을 나타내는 정보에 대하여 상기 컨벌루션 신경망 학습을 수행하여 상기 음성신호의 압축에 사용된 보코더의 유형을 판별하는 보코더 유형 판별 모델을 생성하는 단계;
    임의의 음성신호에 대한 상기 특징 파라미터 조합에 해당하는 값에 상기 보코더 유형 판별 모델을 적용하여 상기 임의의 음성신호의 압축에 사용된 보코더의 유형을 판별하는 단계를 포함하는
    보코더 유형 판별 방법.
  2. 제 1 항에 있어서,
    상기 특징 파라미터 조합은,
    상기 각 프레임의 각 특징 파라미터별로 생성되는 조합인
    보코더 유형 판별 방법.
  3. 제 1 항에 있어서,
    상기 보코더의 유형을 나타내는 정보는,
    상기 m개의 보코더의 유형 각각을 나타내는 m차원의 불리언(Boolean) 형식인
    보코더 유형 판별 방법.
  4. 제 1 항에 있어서,
    상기 보코더의 유형을 나타내는 정보는,
    상기 m개의 보코더의 유형 및 오류를 각각 나타내는 m+1차원의 불리언 형식인
    보코더 유형 판별 방법.
  5. 제 1 항에 있어서,
    상기 보코더 유형 판별 모델은,
    상기 임의의 음성신호의 압축에 상기 m개의 보코더의 각각이 사용되었을 확률을 산출하고,
    상기 보코더의 유형을 판별하는 단계는,
    상기 확률 중 가장 큰 값을 갖는 보코더가 상기 임의의 음성신호의 압축에 사용된 것으로 판별하는 단계를 포함하는
    보코더 유형 판별 방법.
  6. 제 1 항에 있어서,
    상기 컨벌루션 신경망은, 컨벌루션층(convolution layer), 최대 풀링층(max-pooling layer), 완전 연결층(fully-connected layer), 출력층(output layer)을 포함하며,
    상기 보코더 유형 판별 모델을 생성하는 단계는,
    상기 컨벌루션층에서 가중치를 공유하는 단계;
    상기 최대 풀링층에서 최대치를 풀링하여 상기 특징 파라미터 조합의 차원을 축소시키는 단계;
    상기 최대 풀링층과 상기 완전 연결층 사이의 가중치 및 바이어스를 학습시키는 단계; 및
    상기 가중치 및 바이어스를 학습시킨 결과를 상기 출력층에서 출력하는 단계를 포함하는
    보코더 유형 판별 방법.
  7. 음성신호의 각 프레임에 대하여 서로 다른 m개의 보코더(m은 2이상임)로부터 획득된 특징 파라미터를 컨벌루션 신경망 학습에 적합한 형태로 변환하여 특징 파라미터 조합을 생성하는 데이터 변환부;
    상기 특징 파라미터 조합 및 상기 m개의 보코더의 유형을 나타내는 정보에 대하여 상기 컨벌루션 신경망 학습을 수행하여 상기 음성신호의 압축에 사용된 보코더의 유형을 판별하는 보코더 유형 판별 모델을 생성하는 모델 학습부;
    임의의 음성신호에 대한 상기 특징 파라미터 조합에 해당하는 값에 상기 보코더 유형 판별 모델을 적용하여 상기 임의의 음성신호의 압축에 사용된 보코더의 유형을 판별하는 판별부를 포함하는
    보코더 유형 판별 장치.
  8. 제 7 항에 있어서,
    상기 특징 파라미터 조합은,
    상기 각 프레임의 각 특징 파라미터별로 생성되는 조합인
    보코더 유형 판별 장치.
  9. 제 7 항에 있어서,
    상기 보코더의 유형을 나타내는 정보는,
    상기 m개의 보코더의 유형 각각을 나타내는 m차원의 불리언 형식인
    보코더 유형 판별 장치.
  10. 제 7 항에 있어서,
    상기 보코더의 유형을 나타내는 정보는,
    상기 m개의 보코더의 유형 및 오류를 각각 나타내는 m+1차원의 불리언 형식인
    보코더 유형 판별 장치.
  11. 제 7 항에 있어서,
    상기 보코더 유형 판별 모델은,
    상기 임의의 음성신호의 압축에 상기 m개의 보코더의 각각이 사용되었을 확률을 산출하고,
    상기 판별부는 상기 확률 중 가장 큰 값을 갖는 보코더가 상기 임의의 음성신호의 압축에 사용된 것으로 판별하는
    보코더 유형 판별 장치.
  12. 제 7 항에 있어서,
    상기 컨벌루션 신경망은, 컨벌루션층, 최대 풀링층, 완전 연결층, 출력층을 포함하는
    보코더 유형 판별 장치.
KR1020170104391A 2017-08-17 2017-08-17 보코더 유형 판별 장치 및 방법 KR102014384B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170104391A KR102014384B1 (ko) 2017-08-17 2017-08-17 보코더 유형 판별 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170104391A KR102014384B1 (ko) 2017-08-17 2017-08-17 보코더 유형 판별 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190019460A true KR20190019460A (ko) 2019-02-27
KR102014384B1 KR102014384B1 (ko) 2019-08-26

Family

ID=65561047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170104391A KR102014384B1 (ko) 2017-08-17 2017-08-17 보코더 유형 판별 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102014384B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200130776A (ko) * 2019-05-03 2020-11-20 에스케이텔레콤 주식회사 파형 데이터 분석 장치 및 이를 학습시키는 방법
KR20210001596A (ko) * 2019-06-28 2021-01-06 국방과학연구소 보코더 유형 판별 방법 및 장치
KR20220012463A (ko) * 2020-07-22 2022-02-04 국방과학연구소 생성 모델 기반의 음성 코덱 복원 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170060108A (ko) 2014-09-26 2017-05-31 사이퍼 엘엘씨 실행 중 범위 정규화를 이용하는 신경망 음성 활동 검출

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170060108A (ko) 2014-09-26 2017-05-31 사이퍼 엘엘씨 실행 중 범위 정규화를 이용하는 신경망 음성 활동 검출

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Jui-Ting Huang, et al. AN ANALYSIS OF CONVOLUTIONAL NEURAL NETWORKS FOR SPEECH RECOGNITION. IEEE International Conference on Acoustics, Speech and Signal Processing(ICASSP). 2015.* *
Lei Chen, et al. Mixed type audio classification with support vector machine. IEEE International Conference on Multimedia and Expo. IEEE. 2006.* *
Qiong Hu, et al. An experimental comparison of multiple vocoder types. 8th ISCA Workshop on Speech Synthesis. 2013.08.31.* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200130776A (ko) * 2019-05-03 2020-11-20 에스케이텔레콤 주식회사 파형 데이터 분석 장치 및 이를 학습시키는 방법
KR20210001596A (ko) * 2019-06-28 2021-01-06 국방과학연구소 보코더 유형 판별 방법 및 장치
KR20220012463A (ko) * 2020-07-22 2022-02-04 국방과학연구소 생성 모델 기반의 음성 코덱 복원 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
KR102014384B1 (ko) 2019-08-26

Similar Documents

Publication Publication Date Title
CA2684452C (en) Multi-stage vector quantization for speech encoding
US7469209B2 (en) Method and apparatus for frame classification and rate determination in voice transcoders for telecommunications
JP4743963B2 (ja) 複数チャネル信号の符号化及び復号化
EP2301022B1 (en) Multi-reference lpc filter quantization device and method
CN101189662B (zh) 带多级码本和冗余编码的子带话音编解码器
EP2254110B1 (en) Stereo signal encoding device, stereo signal decoding device and methods for them
US20100324912A1 (en) Context-based arithmetic encoding apparatus and method and context-based arithmetic decoding apparatus and method
WO2001020595A1 (en) Voice encoder/decoder
EP0802524A2 (en) Speech coder
JPH04171500A (ja) 音声パラメータ符号化方法
CZ304196B6 (cs) Vektorové kvantizační zařízení LPC parametru, kodér řeči a přijímací zařízení signálu řeči
KR102014384B1 (ko) 보코더 유형 판별 장치 및 방법
US20100274556A1 (en) Vector quantizer, vector inverse quantizer, and methods therefor
Jenrungrot et al. Lmcodec: A low bitrate speech codec with causal transformer models
EP2087485B1 (en) Multicodebook source -dependent coding and decoding
EP3084761B1 (en) Audio signal encoder
RU2461079C2 (ru) Упрощенная индексация и деиндексация векторов
Ozaydin Residual Lsf Vector Quantization Using Arma Prediction
KR20220022337A (ko) 자기부호화기를 이용한 비트 열 기반의 변형 음성 부호화기, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
CA2991341A1 (en) Bit error detector for an audio signal decoder
JPH09120300A (ja) ベクトル量子化装置
CA2598780C (en) A method and apparatus for generating dispersed vectors
Sheikhan et al. Reducing the codebook search time in G. 728 speech coder using fuzzy ARTMAP neural networks
JPH0317700A (ja) 音声符号化復号化方式
JPH08179798A (ja) 音声のピッチラグ符号化方法および装置

Legal Events

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