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

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

Info

Publication number
KR102271357B1
KR102271357B1 KR1020190077910A KR20190077910A KR102271357B1 KR 102271357 B1 KR102271357 B1 KR 102271357B1 KR 1020190077910 A KR1020190077910 A KR 1020190077910A KR 20190077910 A KR20190077910 A KR 20190077910A KR 102271357 B1 KR102271357 B1 KR 102271357B1
Authority
KR
South Korea
Prior art keywords
vocoder
bitstream
type
machine learning
learning model
Prior art date
Application number
KR1020190077910A
Other languages
English (en)
Other versions
KR20210001596A (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 KR1020190077910A priority Critical patent/KR102271357B1/ko
Priority to US16/913,612 priority patent/US11437051B2/en
Publication of KR20210001596A publication Critical patent/KR20210001596A/ko
Application granted granted Critical
Publication of KR102271357B1 publication Critical patent/KR102271357B1/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
    • G10L19/18Vocoders using multiple modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • 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
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0316Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude
    • G10L21/0364Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude for improving intelligibility
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명의 일 실시예에 따른 보코더 유형 판별 방법은, 소정의 음성신호가 부호화된 비트스트림을 획득하는 단계와, 복수의 보코더와 비트스트림과의 관계를 기초로 학습된 제1 기계학습 모델을 이용하여 상기 획득된 비트스트림으로부터 상기 획득된 비트스트림과 관련된 보코더의 예상유형을 판별하는 단계와 - 상기 보코더의 예상유형은 상기 복수의 보코더 중 하나에 해당함 -, 상기 획득된 비트스트림을 상기 복수의 보코더 각각의 디코더에 입력하여 상기 각각의 디코더 별로 파형(waveform)을 획득하는 단계와, 파형과 명료도와의 관계를 기초로 학습된 제2 기계학습 모델을 이용하여, 상기 획득된 파형으로부터 상기 복수의 보코더 별로 획득된 파형 각각에 대한 명료도 값을 획득하는 단계와, 예상유형, 명료도 값 및 보코더의 유형의 관계를 기초로 학습된 제3 기계학습 모델을 이용하여, 상기 판별된 보코더의 예상유형과 상기 획득된 명료도 값으로부터 상기 음성신호와 관련된 보코더의 유형을 결정하는 단계를 포함할 수 있다.

Description

보코더 유형 판별 방법 및 장치 {METHOD AND APPARATUS FOR IDENTIFYING VOCODER TYPE}
본 발명은 기계학습 모델을 이용하여 보코더의 유형을 판별하는 방법 및 장치에 관한 것이다.
상호간 음성 통신에서 음성신호는 송신측의 보코더에 의해 비트스트림의 형태로 부호화되어 수신측으로 전송된다. 수신측에서는 비트스트림의 생성에 이용된 보코더에 상응하는 디코더를 이용하여 복호화를 수행함으로써 음성신호를 재조합하여 실제 음성으로 복원한다. 음성의 정확한 전달을 위해서는 부호화에 이용된 보코더의 유형에 상응하는 디코더가 사용되어야만 한다.
그러나, 경우에 따라서는 수신측이 부호화에 이용된 보코더에 대한 사전 정보가 없을 수도 있다. 이러한 경우에는 음성신호의 복호화를 위해 이용가능한 모든 보코더 각각에 상응하는 디코더에 대해 복호화를 수행하는 방식으로 음성신호를 복호화를 수행하게 된다.
즉, 이러한 경우에는 음성신호의 복원을 위해 모든 보코더에 대해 복호화를 수행해야 하기 때문에 시간이 많이 소요되므로, 복호화의 효율성이 저하된다. 따라서, 보코더에 대한 사전 정보가 없더라도 부호화에 이용된 보코더(또는 보코더의 유형)를 판별함으로써, 그에 상응하는 디코더로 음성신호를 복호화시키도록 하여 복호화의 효율을 향상시키기 위한 방안이 요구된다.
한국공개특허 제10-2017-0060108호 (2017년 05월 31일 공개)
본 발명이 해결하고자 하는 과제는, 음성신호의 부호화에 사용된 보코더에 대한 사전정보가 없더라도, 기계학습 모델을 이용하여 음성신호의 부호화에 사용된 보코더의 유형을 판별함으로써 복호화의 효율을 향상시키는 보코더 유형 판별 방법 및 장치를 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 바로 제한되지 않으며, 언급되지는 않았으나 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있는 목적을 포함할 수 있다.
본 발명의 일 실시예에 따른 보코더 유형 판별 방법은, 소정의 음성신호가 부호화된 비트스트림을 획득하는 단계와, 복수의 보코더와 비트스트림과의 관계를 기초로 학습된 제1 기계학습 모델을 이용하여 상기 획득된 비트스트림으로부터 상기 획득된 비트스트림과 관련된 보코더의 예상유형을 판별하는 단계와 - 상기 보코더의 예상유형은 상기 복수의 보코더 중 하나에 해당함 -, 상기 획득된 비트스트림을 상기 복수의 보코더 각각의 디코더에 입력하여 상기 각각의 디코더 별로 파형(waveform)을 획득하는 단계와, 파형과 명료도와의 관계를 기초로 학습된 제2 기계학습 모델을 이용하여, 상기 획득된 파형으로부터 상기 복수의 보코더 별로 획득된 파형 각각에 대한 명료도 값을 획득하는 단계와, 예상유형, 명료도 값 및 보코더의 유형의 관계를 기초로 학습된 제3 기계학습 모델을 이용하여, 상기 판별된 보코더의 예상유형과 상기 획득된 명료도 값으로부터 상기 음성신호와 관련된 보코더의 유형을 결정하는 단계를 포함할 수 있다.
또한, 상기 비트스트림을 획득하는 단계는, 상기 음성신호를 소정 시간 기준의 프레임 별로 구분하여, 상기 구분된 프레임 별로 비트스트림을 획득하는 단계를 포함할 수 있다.
또한, 상기 예상유형을 판별하는 단계는, 상기 획득된 비트스트림으로부터 특징 벡터를 추출하는 단계와, 상기 추출된 특징 벡터를 상기 제1 기계학습 모델에 입력함에 기초하여 상기 획득된 비트스트림과 관련된 보코더의 예상유형을 판별하는 단계를 포함할 수 있다.
또한, 상기 예상유형을 판별하는 단계는, 상기 제1 기계학습 모델을 이용하여 상기 복수의 보코더 별 상기 비트스트림과의 관련성에 대한 정보를 출력하는 단계와,
상기 출력된 정보에 기초하여, 상기 관련성이 가장 높은 보코더를 상기 보코더의 예상유형으로 판별하는 단계를 더 포함할 수 있다.
또한, 상기 명료도 값을 획득하는 단계는, 상기 각각의 디코더 별로 획득된 파형별 MFCC(mel frequency cepstrum coefficients) 값을 산출하는 단계와, 상기 산출된 MFCC 값을 상기 제2 기계학습 모델에 입력함에 기초하여, 상기 입력된 MFCC 값 각각의 파형에 대한 명료도 값을 획득하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 보코더 유형 판별 장치는, 소정의 음성신호가 부호화된 비트스트림을 획득하는 비트스트림 획득부와, 복수의 보코더와 비트스트림과의 관계를 기초로 학습된 제1 기계학습 모델을 이용하여 상기 획득된 비트스트림으로부터 상기 획득된 비트스트림과 관련된 보코더의 예상유형을 판별하는 예상유형 판별부와 - 상기 보코더의 예상유형은 상기 복수의 보코더 중 하나에 해당함 -, 상기 획득된 비트스트림을 상기 복수의 보코더 각각의 디코더에 입력하여 상기 각각의 디코더 별로 파형(waveform)을 획득하고, 파형과 명료도와의 관계를 기초로 학습된 제2 기계학습 모델을 이용하여 상기 획득된 파형으로부터 상기 복수의 보코더 별로 획득된 파형 각각에 대한 명료도 값을 획득하는 명료도 값 획득부와, 예상유형, 명료도 값 및 보코더의 유형의 관계를 기초로 학습된 제3 기계학습 모델을 이용하여, 상기 판별된 보코더의 예상유형과 상기 획득된 명료도 값으로부터 상기 음성신호와 관련된 보코더의 유형을 결정하는 보코더 유형 결정부를 포함할 수 있다.
또한, 상기 비트스트림 획득부는, 상기 음성신호를 소정 시간 기준의 프레임 별로 구분하여, 상기 구분된 프레임 별로 비트스트림을 획득할 수 있다.
또한, 상기 예상유형 판별부는, 상기 획득된 비트스트림으로부터 특징 벡터를 추출하고, 상기 추출된 특징 벡터를 상기 제1 기계학습 모델에 입력함에 기초하여 상기 획득된 비트스트림과 관련된 보코더의 예상유형을 판별할 수 있다.
또한, 상기 예상유형 판별부는, 상기 제1 기계학습 모델을 이용하여 상기 복수의 보코더 별 상기 비트스트림과의 관련성에 대한 정보를 출력하고, 상기 출력된 정보에 기초하여, 상기 관련성이 가장 높은 보코더를 상기 보코더의 예상유형으로 판별할 수 있다.
또한, 상기 명료도 값 획득부는, 상기 각각의 디코더 별로 획득된 파형별 MFCC(mel frequency cepstrum coefficients) 값을 산출하고, 상기 산출된 MFCC 값을 상기 제2 기계학습 모델에 입력함에 기초하여, 상기 입력된 MFCC 값 각각의 파형에 대한 명료도 값을 획득할 수 있다.
본 발명의 일 실시예에 따른 컴퓨터 판독가능 기록매체는, 소정의 음성신호가 부호화된 비트스트림을 획득하는 단계와, 복수의 보코더와 비트스트림과의 관계를 기초로 학습된 제1 기계학습 모델을 이용하여 상기 획득된 비트스트림으로부터 상기 획득된 비트스트림과 관련된 보코더의 예상유형을 판별하는 단계와 - 상기 보코더의 예상유형은 상기 복수의 보코더 중 하나에 해당함 -, 상기 획득된 비트스트림을 상기 복수의 보코더 각각의 디코더에 입력하여 상기 각각의 디코더 별로 파형(waveform)을 획득하는 단계와, 파형과 명료도와의 관계를 기초로 학습된 제2 기계학습 모델을 이용하여, 상기 획득된 파형으로부터 상기 복수의 보코더 별로 획득된 파형 각각에 대한 명료도 값을 획득하는 단계와, 예상유형, 명료도 값 및 보코더의 유형의 관계를 기초로 학습된 제3 기계학습 모델을 이용하여, 상기 판별된 보코더의 예상유형과 상기 획득된 명료도 값으로부터 상기 음성신호와 관련된 보코더의 유형을 결정하는 단계를 프로세서가 수행하도록 하는 명령어가 저장된다.
본 발명의 실시예에 따른 보코더 유형 판별 방법 및 장치는, 음성신호의 부호화에 사용된 보코더의 유형에 대한 정보가 없더라도, 기계학습 모델을 이용하여 음성신호의 부호화에 사용된 보코더의 유형을 판별함으로써 음성신호에 대한 복호화가 보다 효율적이며 정확하게 이루어지도록 할 수 있다.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 보코더 유형 판별 방법을 개념적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 보코더 유형 판별 장치의 기능 블록도의 예를 도시한다.
도 3은 본 발명의 일 실시예에 따른 보코더 유형 판별 방법의 각 단계의 흐름을 도시한다.
도 4는 본 발명의 일 실시예에 따른 보코더 유형 판별을 위해 이용되는 제1 기계학습 모델의 학습 방법의 각 단계의 흐름의 예를 도시한다.
도 5는 본 발명의 일 실시예에 따른 보코더 유형 판별을 위해 이용되는 제1 기계학습 모델에 입력되는 비트스트림 조합의 예를 도시한다.
도 6은 본 발명의 일 실시예에 따른 보코더 유형 판별을 위해 이용되는 제2 기계학습 모델의 학습 방법의 각 단계의 흐름의 예를 도시한다.
도 7은 본 발명의 일 실시예에 따른 보코더 유형 판별을 위해 이용되는 제3 기계학습 모델의 학습 방법의 각 단계의 흐름의 예를 도시한다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 포함할 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로서 이해되어야 한다.
제 1, 제 2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 이와 같은 용어들에 의해 한정되지는 않는다. 이 용어들은 하나의 구성요소들을 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 보코더 유형 판별 방법을 개념적으로 도시한다.
도 1을 참조하면, 제1 기계학습 모델(10)에는 복호화 대상인 음성신호의 비트스트림(1)이 입력되어 보코더의 예상유형(2)이 출력될 수 있다. 여기서, 제1 기계학습 모델(10)은 복수의 보코더와 비트스트림과의 관계를 기초로 학습이 수행된 것일 수 있다.
한편, 비트스트림(1)은 복호화하여 알아내고자 하는 음성신호가 부호화된 것으로, 경우에 따라, 비트스트림(1)은 m(2 이상의 자연수)개 이상의 보코더와 관련된 비트스트림 조합으로 변형된 후, 비트스트림 조합의 특징을 나타내는 특징 벡터로 변환되어 제1 기계학습 모델(10)에 입력될 수도 있다. 이러한 경우의 제1 기계학습 모델(10)은 특징 벡터와 보코더의 예상유형(2)의 관계에 기초하여 학습이 수행된 것으로, 이러한 학습과 관련된 구체적인 설명은 도 4를 참조할 수있으며 비트스트림 조합과 관련된 구체적인 설명은 도 5를 참조할 수 있다.
구체적으로 설명하면, 음성신호는 m개의 보코더에 의해 부호화되어 서로 다른 시간 간격으로 각각의 보코더와 관련된 비트스트림을 수신하게 될 수 있다. 이러한 경우, 수신된 비트스트림 중 동일한 시간 간격으로 수신되는 부분을 조합하여 비트스트림 조합을 형성한 뒤 이에 대한 특징 벡터를 구하여 제1 기계학습 모델(10)에 입력시킬 수 있다.
제1 기계학습 모델(10)에 의해 출력되는 보코더의 예상유형은 기지정된 복수의 보코더 중 하나에 대한 정보를 포함할 수 있다. 기지정된 복수의 보코더는 음성신호의 부호화에 이용가능한 다양한 보코더를 포함할 수 있으며, 예를 들어, LPC 보코더, MELP 보코더, CELP 보코더를 포함할 수 있다.
만약, LPC 보코더는 [0 0 1], MELP 보코더는 [0 1 0], CELP 보코더는 [1 0 0]로 정의되는 경우, 제1 기계학습 모델(10)은 보코더의 예상유형으로 [0 0 1], [0 1 0], [1 0 0] 중 어느 하나를 출력할 수 있다. 다른 예를 들면, 보코더의 예상유형은 복수의 보코더 별 비트스트림(1)과의 관련성(예: 부호화에 이용되었을 확률)에 대한 정보를 포함할 수 있다. 이러한 경우, 제1 기계학습 모델(10)은 출력인 보코더의 예상유형으로, 보코더 별 관련성을 나타내는 수치를 출력할 수 있다.
경우에 따라, 제1 기계학습 모델(10)에 의해 출력되는 보코더의 예상유형은 기지정된 복수의 보코더 이외에 오류값(또는 unknown)을 출력할 수도 있다. 예를 들어 제1 기계학습 모델(10)은 상술한 보코더의 예상유형과 관련된 정보인 [0 0 1], [0 1 0], [1 0 0] 이외에 [0 0 0]으로 정의되는 오류값을 출력할 수도 있다.
제2 기계학습 모델(20)에는 비트스트림(1)이 복수의 보코더 각각에 대해 복호화되어 획득된 복수의 파형(waveform)이 입력되어 복수의 파형 각각에 대한 명료도 값(4)이 출력될 수 있다. 여기서, 제2 기계학습 모델(20)은 파형과 명료도 값와의 관계를 기초로 학습된 것일 수 있으며, 제2 기계학습 모델(20)의 학습과 관련된 구체적인 설명은 도 6을 통해 후술하겠다.
구체적으로, 복수의 파형은 기지정된 복수의 보코더(예: LPC 보코더, MELP 보코더, CELP 보코더) 별 디코더에 대해 비트스트림(1)이 입력됨에 기초하여 획득된 것일 수 있다.
예를 들어, 복수의 보코더가 제1 보코더와 제2 보코더를 포함하는 경우, 제1 보코더에 의해 암호화된 신호를 복호화하기 위한 제1 디코더와 제2 보코더에 의해 암호화된 신호를 복호화하기 위한 제2 디코더가 있을 수 있다. 이러한 경우 상술한 복수의 파형은 제1 디코더에 비트스트림(1)이 복호화 되어 생성된 제1 파형, 제2 디코더에 비트스트림(1)이 복호화 되어 생성된 제2 파형을 포함할 수 있다.
제2 기계학습 모델(20)에는 제1 파형과 제2 파형이 입력될 수 있고, 제2 기계학습 모델(20)은 제1 파형과 제2 파형 각각에 대한 명료도 값을 출력할 수 있다. 경우에 따라, 제1 파형과 제2 파형의 제2 기계학습 모델(20)에의 입력은 순차적으로 또는 순서와 무관하게 수행될 수 있으며, 이에 본 발명의 사상이 제한되지는 않는다.
경우에 따라, 제2 기계학습 모델(20)에는 제1 파형과 제2 파형 자체가 아닌, 제1 파형과 제2 파형 각각으로부터 산출되는 MFCCs(mel frequency cepstrum coefficients) 값이 입력될 수 있다. 이러한 경우, 제2 기계학습 모델(20)은 MFCCs 값에 기초하여 명료도 값을 출력하도록 학습된 기계학습 모델일 수 있으며, 이에 따라, 제2 기계학습 모델(20)은 입력되는 MFCCs 값 별 명료도 값을 출력할 수 있다. 이 때, 명료도 값은 STOI(short time objective intelligibility)의 형태로 나타날 수 있다. 여기서, STOI는 음성 신호의 명료한 정도를 객관적으로 측정하기 위해 고안된 것으로, 음성의 명료도를 0에서 1사이의 값으로 나타나고, 1에 가까울수록 명료한 음성임을 의미한다.
제1 기계학습 모델(10)에 의해 출력된 보코더의 예상유형(2)과 제2 기계학습 모델(20)에 의해 출력된 명료도 값(4)은 제3 기계학습 모델(30)에 입력될 수 있다. 제3 기계학습 모델(30)은 예상유형, 명료도 값 및 보코더의 유형의 관계를 기초로 학습된 것일 수 있고, 이에 따라, 제3 기계학습 모델(30)은 보코더의 예상유형(2)과 명료도 값(4)을 입력받아 최종적으로 음성신호의 부호화에 이용된 보코더의 유형(5)을 출력할 수 있다.
제3 기계학습 모델(30)에 의해 출력되는 보코더의 유형(5)은 상술한 바와 같이 기지정된 복수의 보코더(예: LPC 보코더, MELP 보코더, CELP 보코더) 중 하나일 수 있다. 다만, 경우에 따라 제3 기계학습 모델(30)은 기지정된 복수의 보코더 이외에 오류값(또는 unknown)을 출력할 수도 있다.
도 2는 본 발명의 일 실시예에 따른 보코더 유형 판별 장치의 기능 블록도의 예를 도시한다. 이하 사용되는 '…부'등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 이하 도 2의 설명에서는 도 1과 중복되는 내용은 생략될 수 있다.
도 2를 참조하면, 보코더 유형 판별 장치(100)는 비트스트림 획득부(110), 예상유형 판별부(120), 명료도 값 획득부(130), 보코더 유형 결정부(140)를 포함할 수 있다. 비트스트림 획득부(110)는 마이크로프로세서(microprocessor)를 포함하는 연산 장치에 의해 구현될 수 있으며, 이는 후술할 예상유형 판별부(120), 명료도 값 획득부(130), 보코더 유형 결정부(140)에 있어서도 같다.
비트스트림 획득부(110)는 소정의 음성신호가 부호화된 비트스트림(1)을 획득할 수 있다. 소정의 음성신호는 복호화하여 획득하고자 하는 대상이 되는 신호이며, 비트스트림 획득부(110)는 소정의 음성신호가 보코더를 통해 부호화가 수행된 상태인 비트스트림(1)을 획득될 수 있다. 이 때, 비트스트림(1)은 음성신호를 소정 시간 기준의 프레임 별로 구분하여, 구분된 프레임 별로 생성된 것일 수 있다.
한편, 비트스트림(1)의 생성과 관련된 보코더에 대한 정보는 미리 주어지지 않을 수 있고 이에 따라 후술하는 동작들을 통해 최종적으로 비트스트림(1)의 생성과 관련된 보코더의 유형(3)이 판별될 수 있다.
예상유형 판별부(120)는 비트스트림(1)과 관련된 보코더의 예상유형을 판별할 수 있다. 구체적으로, 예상유형 판별부(120)는 제1 기계학습 모델(10)을 이용하여 비트스트림 획득부(110)에 의해 획득된 비트스트림(1)으로부터 비트스트림(1)과 관련된 보코더의 예상유형을 판별할 수 있다. 예를 들어, 예상유형 판별부(120)는 제1 기계학습 모델(10)에 비트스트림(1)을 입력시켜 보코더의 예상유형이 출력되도록 함에 기초하여 예상유형을 판별할 수 있다.
제1 기계학습 모델(10)은 복수의 보코더와 비트스트림과의 관계를 기초로 학습이 미리 수행된 기계학습 모델일 수 있다. 제1 기계학습 모델(10)은 예를 들면, 딥러닝 알고리즘을 기초로 비트스트림을 입력받으면 관련된 보코더의 유형을 예상한 값인 보코더의 예상유형을 출력하도록 학습된 것일 수 있다.
다만, 제1 기계학습 모델(10)의 학습 형태, 즉 제1 기계학습 모델(10)의 학습 당시 예상유형의 판별을 위해 입력값으로 이용되었던 학습용 데이터의 형태에 따라 제1 기계학습 모델(10)에 입력되는 비트스트림(1)은 비트스트림의 조합 또는 비트스트림과 관련된 특징벡터가 입력될 수도 있다.
한편, 제1 기계학습 모델(10)의 학습과 관련된 구체적인 설명은 도 4를 참조할 수 있다.
명료도 값 획득부(130)는 비트스트림(1)을 복수의 보코더 각각의 디코더에 입력하여 디코더 별로 파형을 획득하고, 획득된 파형 각각에 대한 명료도 값을 획득할 수 있다. 구체적으로, 명료도 값 획득부(130)는 제2 기계학습 모델(20)을 이용하여 디코더 별 파형으로부터 파형 각각에 대한 명료도 값을 획득할 수 있다.
제2 기계학습 모델(20)은 파형과 명료도와의 관계를 기초로 학습이 미리 수행된 기계학습 모델일 수 있다. 제2 기계학습 모델(20)은 예를 들면, 딥러닝 알고리즘을 기초로 디코더의 출력인 파형을 입력받으면 명료도 값을 출력하도록 학습된 것일 수 있다. 명료도 값은, 음성 신호의 명료한 정도를 수치화하여 나타낸 것으로서, 통상의 기술자에게 용이한바 자세한 설명은 생략하겠다.
경우에 따라, 제2 기계학습 모델(20)의 입력값은 파형 자체가 아닌, 파형으로부터 획득되는 MFCCs 값일 수 있다. 이러한 경우, 명료도 값 획득부(130)는 비트스트림(1)을 복수의 보코더 각각의 디코더에 입력하여 디코더 별로 파형을 획득한 후 획득된 파형 별 MFCCs 값을 산출할 수 있다. MFCCs는 음성 인식에 주로 사용되는 특징 값으로, 소정의 시간 구간에 대한 스펙트럼 분석을 통해 해당 구간의 음성의 특징을 추출한 값일 수 있다. MFCCs에 대해서는 통상의 기술자에게 용이한바 자세한 설명은 생략하겠다.
보코더 유형 결정부(140)는 보코더의 예상유형과 명료도 값으로부터 비트스트림(1)의 생성에 이용된 보코더의 유형을 결정할 수 있다. 구체적으로, 보코더 유형 결정부(140)는 제3 기계학습 모델(30)을 이용하여 보코더의 예상유형과 명료도 값으로부터 비트스트림(1)의 생성에 이용된 보코더의 유형을 결정할 수 있다.
예를 들어, 보코더 유형 결정부(140)는 제3 기계학습 모델(30)에 예상유형 판별부(120)로부터 획득된 보코더의 예상유형과 명료도 값 획득부(130)로부터 획득된 명료도 값을 입력시켜 보코더의 유형이 출력되도록 하여 최종적으로 비트스트림(1)의 생성에 이용된 보코더의 유형을 결정할 수 있다.
만약, 보코더 유형 결정부(140)에 의해 결정되는 보코더의 유형은 기지정된 복수의 보코더 및 오류값 중 하나일 수 있다. 보코더 유형 결정부(140)에 의해 결정된 보코더의 유형은 보코더의 예상유형과 일치할 수도 있고 상이할 수도 있다.
도 3은 본 발명의 일 실시예에 따른 보코더 유형 판별 방법의 각 단계의 흐름을 도시한다. 또한, 도 3에 도시된 방법의 각 단계는 경우에 따라 도면에 도시된 바와 그 순서를 달리하여 수행될 수 있음은 물론이다.
도 3을 참조하면, 비트스트림 획득부(110)는 소정의 음성신호가 부호화된 비트스트림(1)을 획득할 수 있다(S110). 구체적으로, 비트스트림 획득부(110)는 음성신호의 부호화를 수행한 다른 장치로부터 음성신호가 부호화된 형태인 비트스트림(1)을 획득할 수 있다.
예상유형 판별부(120)는 제1 기계학습 모델(10)을 이용하여 비트스트림(1)으로부터 보코더의 예상유형을 판별할 수 있다(S120). 예상유형 판별부(120)는 획득된 비트스트림(1)을 제1 기계학습 모델(10)에 입력하여 보코더의 예상유형을 판별할 수 있다.
경우에 따라, 예상유형 판별부(120)는 비트스트림(1)이 m(2 이상의 자연수)개의 보코더와 관련된 경우, 비트스트림(1)을 비트스트림 조합으로 변형하여 비트스트림 조합을 제1 기계학습 모델(10)에 입력하여 보코더의 예상유형을 판별할 수 있다. 비트스트림 조합과 관련된 구체적인 설명은 도 5를 참조할 수 있다.
이 때, 제1 기계학습 모델(10)은 기계학습 알고리즘(예: CNN(convolution neural network), DNN(deep neural network))에 대한 것으로, 비트스트림과 보코더의 예상유형과의 관계에 기초하여 비트스트림을 입력받으면 그와 관련된 보코더의 예상유형을 출력하도록 미리 학습이 수행된 기계학습 모델일 수 있다. 한편, 기계학습 알고리즘은 다양한 형태가 차용될 수 있으며, 본 명세서 상에서 상술된 예에 제한되지 않는다.
제1 기계학습 모델(10)의 학습과 관련된 구체적인 설명은 도 4를 참조할 수 있다.
명료도 값 획득부(130)는 비트스트림(1)을 복수의 보코더 각각의 디코더에 입력하여 각각의 디코더 별로 파형을 획득할 수 있다(S130). 명료도 값 획득부(130)는 제2 기계학습 모델(20)을 이용하여 획득된 파형으로부터 복수의 보코더 별로 획득된 파형 각각에 대한 명료도 값을 획득할 수 있다(S140).
구체적으로, 명료도 값 획득부(130)는 복수의 보코더 각각에 대응하는 디코더 각각에 비트스트림(1)을 입력하여, 비트스트림(1)의 디코더 별 파형을 획득하고, 획득된 파형을 제2 기계학습 모델(20)에 입력하여 파형별 명료도 값을 산출할 수 있다.
경우에 따라, 명료도 값 획득부(130)는 비트스트림(1)의 디코더 별 파형을 획득한 후 이를 MFCCs 값으로 변환한 후 제2 기계학습 모델(20)에 입력하여 파형별 명료도 값을 산출할 수도 있다. 이러한 경우, 제2 기계학습 모델(20)은 파형별 MFCCs 값을 입력값으로 하고 그에 따른 명료도 값을 출력값으로 하도록 미리 학습이 수행된 기계학습 모델일 수 있다. 제2 기계학습 모델(20)의 학습과 관련된 구체적인 설명은 도 6을 참조할 수 있다.
제2 기계학습 모델(20)은 기계학습 알고리즘에 대한 것이며, 기계학습 알고리즘으로 다양한 형태, 예를 들면 CNN 또는 DNN이 이용될 수 있으며, 그 형태가 본 명세서 상에서 상술된 예에 제한되지 않는다.
경우에 따라, 예상유형 판별부(120)에 의해 수행되는 동작과 명료도 값 획득부(130)에 의해 수행되는 동작은 병렬적으로 또는 순서에 무관하게 이루어질 수 있으며, 이에 본 발명의 사상이 제한되지는 않는다.
보코더 유형 결정부(140)는 제3 기계학습 모델(30)을 이용하여 보코더의 예상유형과 명료도 값으로부터 음성신호와 관련된 보코더의 유형을 결정할 수 있다(S150). 구체적으로, 보코더 유형 결정부(140)는 제3 기계학습 모델(30)에 보코더의 예상유형과 명료도 값을 입력하여 보코더의 유형이 출력되도록 할 수 있다.
제3 기계학습 모델(30)은 보코더의 예상유형과 명료도 값 각각과 보코더의 유형 간의 관계에 기초하여 보코더의 예상유형과 명료도 값을 입력받으면 보코더의 유형을 출력하도록 학습이 수행된 기계학습 모델일 수 있다. 제3 기계학습 모델(30)은 기계학습 알고리즘에 기반한 것으로서 기계학습 알고리즘으로 다양한 형태가 이용될 수 있으며, 그 형태가 본 명세서 상에서 상술된 예에 제한되지 않는다.
도 4는 본 발명의 일 실시예에 따른 보코더 유형 판별을 위해 이용되는 제1 기계학습 모델의 학습 방법의 각 단계의 흐름의 예를 도시한다.
도 4를 참조하면, 복수의 보코더로부터 학습용 음성신호의 각 프레임별 부호화된 학습용 비트스트림을 획득할 수 있다(S210). 복수의 보코더는 기지정된 2 이상의 보코더로, 음성신호의 변환에 이용사능한 보코더일 수 있다. 예를 들어, 복수의 보코더는 LPC 보코더, MELP 보코더, CELP 보코더를 포함할 수 있다.
학습용 비트스트림은, 학습용 음성신호를 소정 시간 구간으로 구분한 프레임별로 보코더에 의해 부호화가 수행되어 생성된 것일 수 있다. 예를 들어, 학습용 음성신호는 2초간 지속되는 신호일 수 있으며, 1초 간격으로 학습용 음성신호를 구분하여 프레임을 형성할 수 있다. 학습용 비트스트림은 1초 간격으로 구분된 프레임 별로 생성되는 것일 수 있다.
만약 복수의 보코더가 2개, 즉 제1 보코더와 제2 보코더를 포함하는 경우, 학습용 비트스트림은 1초 간격으로 구분된 제1 프레임과 제2 프레임 각각에 대해 제1 보코더와 제2 보코더를 이용하여 부호화가 수행될 수 있다. 이에 따라, 제1 프레임에 대해 제1 보코더와 관련된 제1-1 학습용 비트스트림과 제2 보코더와 관련된 제 2-1 학습용 비트스트림이 생성될 수 있다. 또한, 제2 프레임에 대해서도 제1 보코더와 관련된 제2-1 학습용 비트스트림과 제2 보코더와 관련된 제 2-2 학습용 비트스트림이 생성될 수 있다.
경우에 따라, 복수의 보코더 별로 비트스트림 생성과 관련하여 서로 다른 시간 기준을 가질 수도 있다. 즉 제1 보코더는 1초 간격으로 비트스트림을 생성할 수 있지만, 제2 보코더는 0.5초 간격으로 비트스트림을 생성할 수도 있다. 이러한 경우에는 음성 신호에 대해 보코더 별 시간 기준에 따라 프레임을 형성한 후 부호화를 수행함으로써 각 보코더 별 비트스트림을 생성할 수 있다. 이와 같이 보코더별 생성된 비트스트림은 제1 기계학습 모델(10)의 학습에 이용되는 것으로서 학습용 비트스트림으로 지칭될 수 있다.
비트스트림 조합의 형태로 학습용 비트스트림을 변환할 수 있다(S220). 학습용 비트스트림은 기계학습 모델의 학습에 적합한 비트스트림 조합의 형태로 변환될 수 있다. 비트스트림 조합은 서로 다른 보코더에 의해 부호화된 비트스트림을 하나의 비트스트림의 형태로 변환된 것으로서, 비트스트림 조합에 대한 구체적인 예는 도 5를 참조할 수 있다.
비트스트림 조합은 복수의 보코더 중 적어도 한 개의 보코더에 대한 비트스트림의 조합으로 생성될 수 있다. 만약, 비트스트림의 생성에 보코더를 2개 이용하면 이용된 2개의 보코더에 대한 비트스트림의 조합이 생성될 수 있고, 비트스트림의 생성에 보코더를 3개 이용하면, 3개의 보코더에 대한 비트스트림의 조합이 생성될 수 있다.
비트스트림 조합을 이용하여 학습용 특징벡터를 생성할 수 있다(S230). 비트스트림 조합은 비트스트림 조합의 특징을 나타내는 특징 벡터로 변환될 수 있다. 여기서, 특징 벡터는 학습에 이용되는 것이기 때문에, 학습용 특징벡터로 지칭될 수 있다.
학습용 특징벡터와 학습용 특징벡터 별 보코더의 유형에 대한 정보를 이용하여 제1 기계학습 모델(10)을 학습시킬 수 있다(S240). 제1 기계학습 모델(10)에 대해 학습용 특징벡터를 입력하고, 학습용 특징벡터에 대해 학습용 비트스트림(또는 비트스트림 조합)과 관련하여 이용된 보코더의 유형을 정답값으로 하여 학습을 수행할 수 있다.
이에 따라, 제1 기계학습 모델(10)은 특징벡터가 입력되면 보코더의 유형이 출력되도록 학습될 수 있다.
도 5는 본 발명의 일 실시예에 따른 보코더 유형 판별을 위해 이용되는 제1 기계학습 모델에 입력되는 비트스트림 조합의 예를 도시한다.
참조번호 1a는 제1 보코더를 통해 부호화된 1.5초(s) 간격으로 나타나는 비트스트림일 수 있고, 참조번호 1b는 제2 보코더를 통해 부호화된 2초(s) 간격으로 나타나는 비트스트림 일 수 있다.
제1 보코더를 통해 부호화된 비트스트림은 1.5초 당 20비트(bits)를 출력하며, 제2 보코더를 통해 부호화된 비트스트림은 2초 당 30비트를 출력할 수 있다. 이러한 경우, 각 비트스트림의 시간 간격을 맞추기 위해, 6초마다의 비트스트림을 획득하여 비트스트림 조합을 형성할 수 있다.
이러한 비트스트림 조합은 참조번호 1c와 같이 나타날 수 있다.
만약 음성신호가 20초간 지속되는 신호인 경우, 최종적으로 비트스트림 조합은 3개가 획득 될 수 있고, 이를 이용하여 제1 기계학습 모델(10)의 학습이 수행될 수 있다.
도 6은 본 발명의 일 실시예에 따른 보코더 유형 판별을 위해 이용되는 제2 기계학습 모델의 학습 방법의 각 단계의 흐름을 도시한다.
도 6을 참조하면, 복수의 보코더 각각의 디코더 별 학습용 음성신호의 비트스트림의 파형이 생성될 수 있다(S310). 구체적으로 설명하면, 미리 구비된 학습용 음성신호에 대해 복수의 보코더 별로 비트스트림을 생성한 뒤, 각각의 비트스트림에 대해 디코더를 이용하여 파형을 생성할 수 있다. 경우에 따라, 생성된 파형 각각에 MFCCs를 적용하여 파형 별 MFCCs 값을 획득할 수도 있다.
생성된 파형 별로 명료도 값을 산출할 수 있다(S320). 명료도 값의 산출은 STOI에 기초하여 산출될 수 있다.
파형(또는 MFCCs 값)과 파형 별 명료도 값을 이용하여 제2 기계학습 모델(20)이 학습될 수 있다(S330). 구체적으로, 제2 기계학습 모델(20)에 대해 파형(또는 MFCCs 값)을 입력하고, 입력된 파형에 대해 단계 S320을 통해 산출되었던 명료도 값을 정답값으로 하여 학습을 수행할 수 있다.
이에 따라, 제2 기계학습 모델(20)은 파형(또는 MFCCs 값)이 입력되면 입력된 파형에 대응하도록 명료도 값이 출력되도록 학습될 수 있다.
도 7은 본 발명의 일 실시예에 따른 보코더 유형 판별을 위해 이용되는 제3 기계학습 모델의 학습 방법의 각 단계의 흐름을 도시한다.
도 7을 참조하면, 제1 기계학습 모델(10)에 의해 출력되는 학습용 보코더 예상 유형이 획득(S410), 제2 기계학습 모델(20)에 의해 출력되는 학습용 명료도 값이 획득(S420)될 수 있다.
학습용 보코더 예상 유형과 학습용 명료도 값의 획득은 병렬적으로 수행되거나 순서에 무관하게 수행될 수 있다. 또한, 경우에 따라서 학습용 보코더 예상 유형은 제1 기계학습 모델(10)에 의해 출력되는 값이 아닐 수도 있고, 학습용 명료도 값도 제2 기계학습 모델(20)에 의해 출력되는 값이 아닐 수 있다. 이러한 경우, 예상 유형과 명료도 값은 미리 형성되어 데이터베이스에 저장된 값일 수 있다.
학습용 보코더 예상 유형, 학습용 명료도 값, 보코더의 유형에 대한 정보를 이용하여 제3 기계학습 모델(30)을 학습시킬 수 있다(S430). 구체적으로, 제3 기계학습 모델(30)에 대해 학습용 보코더 예상 유형과 학습용 명료도 값을 입력하고, 보코더의 유형을 정답값으로 하여 학습을 수행할 수 있다.
이에 따라, 제3 기계학습 모델(30)은 보코더 예상 유형과 명료도 값이 입력되면 보코더의 유형이 출력되도록 학습될 수 있다.
본 발명의 일 실시예에 따른 보코더 유형 판별 방법 및 장치는, 음성신호의 부호화에 이용된 보코더에 대한 사전정보가 없더라도, 음성신호의 비트스트림을 이용하여 비트스트림의 생성, 즉 부호화에 이용된 보코더의 유형을 판별할 수 있다. 이에 따라, 판별된 보코더의 유형에 대응하는 디코더를 이용하여 복호화가 수행되도록 함으로써 보다 신속하고 정확하게 복호화가 이루어지도록 할 수 있다.
본 발명의 일 실시예에 따른 보코더 유형 판별 방법 및 장치는, 보코더의 예상유형과 명료도 값을 각각 획득하며, 또한 기계학습 모델을 이용하여 음성신호의 부호화에 이용된 보코더의 유형을 보다 정확하게 판별할 수 있다.
본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 제1 기계학습 모델
20: 제2 기계학습 모델
30: 제3 기계학습 모델
100: 보코더 유형 판별 장치
110: 비트스트림 획득부
120: 예상유형 판별부
130: 명료도 값 획득부
140: 보코더 유형 결정부

Claims (11)

  1. 소정의 음성신호가 부호화된 비트스트림을 획득하는 단계와,
    복수의 보코더와 비트스트림과의 관계를 기초로 학습된 제1 기계학습 모델을 이용하여 상기 획득된 비트스트림으로부터 상기 획득된 비트스트림과 관련된 보코더의 예상유형을 판별하는 단계와 - 상기 보코더의 예상유형은 상기 복수의 보코더 중 하나에 해당함 -,
    상기 획득된 비트스트림을 상기 복수의 보코더 각각의 디코더에 입력하여 상기 각각의 디코더 별로 파형(waveform)을 획득하는 단계와,
    파형과 명료도와의 관계를 기초로 학습된 제2 기계학습 모델을 이용하여, 상기 획득된 파형으로부터 상기 파형 각각에 대한 명료도 값을 획득하는 단계와,
    예상유형, 명료도 값 및 보코더의 유형의 관계를 기초로 학습된 제3 기계학습 모델을 이용하여, 상기 판별된 보코더의 예상유형과 상기 획득된 명료도 값으로부터 상기 음성신호와 관련된 보코더의 유형을 결정하는 단계를 포함하고,
    상기 제1 기계학습 모델은 상기 비트스트림을 입력으로 하여 상기 보코더의 예상 유형을 출력하고,
    상기 제2 기계학습 모델은 상기 파형을 입력으로 하여 상기 명료도 값을 출력하고,
    상기 제3 기계학습 모델은 상기 보코더의 예상유형과 상기 명료도 값을 입력으로 하여 상기 보코더의 유형을 출력하고,
    상기 비트스트림은 복수의 보코더 각각에 의해 서로 다른 시간 간격으로 수신되는 복수의 제1 비트스트림 및 복수의 제2 비트스트림을 포함하고,
    상기 복수의 제1 비트스트림 및 상기 복수의 제2 비트스트림 중 동일 시점에 수신되는 제1 비트스트림 및 제2 비트스트림을 조합하여 상기 비트스트림을 획득하는 단계를 수행하는 보코더 유형 판별 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 예상유형을 판별하는 단계는,
    상기 획득된 비트스트림으로부터 특징 벡터를 추출하는 단계와,
    상기 추출된 특징 벡터를 상기 제1 기계학습 모델에 입력함에 기초하여 상기 획득된 비트스트림과 관련된 보코더의 예상유형을 판별하는 단계를 포함하는
    보코더 유형 판별 방법.
  4. 제1항에 있어서,
    상기 예상유형을 판별하는 단계는,
    상기 제1 기계학습 모델을 이용하여 상기 복수의 보코더 별 상기 비트스트림과의 관련성에 대한 정보를 출력하는 단계와,
    상기 출력된 정보에 기초하여, 상기 관련성이 가장 높은 보코더를 상기 보코더의 예상유형으로 판별하는 단계를 더 포함하는
    보코더 유형 판별 방법.
  5. 제1항에 있어서,
    상기 명료도 값을 획득하는 단계는,
    상기 각각의 디코더 별로 획득된 파형별 MFCCs(mel frequency cepstrum coefficients) 값을 산출하는 단계와,
    상기 산출된 MFCC 값을 상기 제2 기계학습 모델에 입력함에 기초하여, 상기 입력된 MFCC 값 각각의 파형에 대한 명료도 값을 획득하는 단계를 포함하는
    보코더 유형 판별 방법.
  6. 소정의 음성신호가 부호화된 비트스트림을 획득하는 비트스트림 획득부와,
    복수의 보코더와 비트스트림과의 관계를 기초로 학습된 제1 기계학습 모델을 이용하여 상기 획득된 비트스트림으로부터 상기 획득된 비트스트림과 관련된 보코더의 예상유형을 판별하는 예상유형 판별부와 - 상기 보코더의 예상유형은 상기 복수의 보코더 중 하나에 해당함 -,
    상기 획득된 비트스트림을 상기 복수의 보코더 각각의 디코더에 입력하여 상기 각각의 디코더 별로 파형(waveform)을 획득하고, 파형과 명료도와의 관계를 기초로 학습된 제2 기계학습 모델을 이용하여 상기 획득된 파형으로부터 상기 복수의 보코더 별로 획득된 파형 각각에 대한 명료도 값을 획득하는 명료도 값 획득부와,
    예상유형, 명료도 값 및 보코더의 유형의 관계를 기초로 학습된 제3 기계학습 모델을 이용하여, 상기 판별된 보코더의 예상유형과 상기 획득된 명료도 값으로부터 상기 음성신호와 관련된 보코더의 유형을 결정하는 보코더 유형 결정부를 포함하고,
    상기 제1 기계학습 모델은 상기 비트스트림을 입력으로 하여 상기 보코더의 예상 유형을 출력하고,
    상기 제2 기계학습 모델은 상기 파형을 입력으로 하여 상기 명료도 값을 출력하고,
    상기 제3 기계학습 모델은 상기 보코더의 예상유형과 상기 명료도 값을 입력으로 하여 상기 보코더의 유형을 출력하고,
    상기 비트스트림은 복수의 보코더 각각에 의해 서로 다른 시간 간격으로 수신되는 복수의 제1 비트스트림 및 복수의 제2 비트스트림을 포함하고,
    상기 복수의 제1 비트스트림 및 상기 복수의 제2 비트스트림 중 동일 시점에 수신되는 제1 비트스트림 및 제2 비트스트림을 조합하여 상기 비트스트림을 획득하는 보코더 유형 판별 장치.
  7. 삭제
  8. 제6항에 있어서,
    상기 예상유형 판별부는,
    상기 획득된 비트스트림으로부터 특징 벡터를 추출하고,
    상기 추출된 특징 벡터를 상기 제1 기계학습 모델에 입력함에 기초하여 상기 획득된 비트스트림과 관련된 보코더의 예상유형을 판별하는
    보코더 유형 판별 장치.
  9. 제6항에 있어서,
    상기 예상유형 판별부는,
    상기 제1 기계학습 모델을 이용하여 상기 복수의 보코더 별 상기 비트스트림과의 관련성에 대한 정보를 출력하고,
    상기 출력된 정보에 기초하여, 상기 관련성이 가장 높은 보코더를 상기 보코더의 예상유형으로 판별하는
    보코더 유형 판별 장치.
  10. 제6항에 있어서,
    상기 명료도 값 획득부는,
    상기 각각의 디코더 별로 획득된 파형별 MFCC(mel frequency cepstrum coefficients) 값을 산출하고,
    상기 산출된 MFCC 값을 상기 제2 기계학습 모델에 입력함에 기초하여, 상기 입력된 MFCC 값 각각의 파형에 대한 명료도 값을 획득하는
    보코더 유형 판별 장치.
  11. 소정의 음성신호가 부호화된 비트스트림을 획득하는 단계와,
    복수의 보코더와 비트스트림과의 관계를 기초로 학습된 제1 기계학습 모델을 이용하여 상기 획득된 비트스트림으로부터 상기 획득된 비트스트림과 관련된 보코더의 예상유형을 판별하는 단계와 - 상기 보코더의 예상유형은 상기 복수의 보코더 중 하나에 해당함 -,
    상기 획득된 비트스트림을 상기 복수의 보코더 각각의 디코더에 입력하여 상기 각각의 디코더 별로 파형(waveform)을 획득하는 단계와,
    파형과 명료도와의 관계를 기초로 학습된 제2 기계학습 모델을 이용하여, 상기 획득된 파형으로부터 상기 복수의 보코더 별로 획득된 파형 각각에 대한 명료도 값을 획득하는 단계와,
    예상유형, 명료도 값 및 보코더의 유형의 관계를 기초로 학습된 제3 기계학습 모델을 이용하여, 상기 판별된 보코더의 예상유형과 상기 획득된 명료도 값으로부터 상기 음성신호와 관련된 보코더의 유형을 결정하는 단계를 포함하는 동작을 포함하고,
    상기 제1 기계학습 모델이 상기 비트스트림을 입력으로 하여 상기 보코더의 예상 유형을 출력하고, 상기 제2 기계학습 모델이 상기 파형을 입력으로 하여 상기 명료도 값을 출력하고, 상기 제3 기계학습 모델이 상기 보코더의 예상유형과 상기 명료도 값을 입력으로 하여 상기 보코더의 유형을 출력하고,
    상기 비트스트림은 복수의 보코더 각각에 의해 서로 다른 시간 간격으로 수신되는 복수의 제1 비트스트림 및 복수의 제2 비트스트림을 포함하고,
    상기 복수의 제1 비트스트림 및 상기 복수의 제2 비트스트림 중 동일 시점에 수신되는 제1 비트스트림 및 제2 비트스트림을 조합하여 상기 비트스트림을 획득하는 동작을 프로세서가 수행하도록 하는 명령어가 저장된 컴퓨터 판독가능 기록매체.
KR1020190077910A 2019-06-28 2019-06-28 보코더 유형 판별 방법 및 장치 KR102271357B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190077910A KR102271357B1 (ko) 2019-06-28 2019-06-28 보코더 유형 판별 방법 및 장치
US16/913,612 US11437051B2 (en) 2019-06-28 2020-06-26 Method and apparatus for identifying type of vocoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190077910A KR102271357B1 (ko) 2019-06-28 2019-06-28 보코더 유형 판별 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210001596A KR20210001596A (ko) 2021-01-06
KR102271357B1 true KR102271357B1 (ko) 2021-07-01

Family

ID=74043794

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190077910A KR102271357B1 (ko) 2019-06-28 2019-06-28 보코더 유형 판별 방법 및 장치

Country Status (2)

Country Link
US (1) US11437051B2 (ko)
KR (1) KR102271357B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113689843B (zh) * 2021-07-22 2022-07-22 北京百度网讯科技有限公司 声码器的选择及模型训练方法、装置、设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101893684B1 (ko) * 2017-02-24 2018-08-30 국방과학연구소 딥 러닝 기반 보코더 통과 음성 명료도 평가 방법 및 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9953661B2 (en) 2014-09-26 2018-04-24 Cirrus Logic Inc. Neural network voice activity detection employing running range normalization
US10847170B2 (en) * 2015-06-18 2020-11-24 Qualcomm Incorporated Device and method for generating a high-band signal from non-linearly processed sub-ranges
US9830921B2 (en) * 2015-08-17 2017-11-28 Qualcomm Incorporated High-band target signal control
KR20190018960A (ko) * 2017-08-16 2019-02-26 광운대학교 산학협력단 음성 신호 부호화 이력 검출 장치 및 음성 신호 부호화 이력 검출 장치의 동작 방법
KR102014384B1 (ko) * 2017-08-17 2019-08-26 국방과학연구소 보코더 유형 판별 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101893684B1 (ko) * 2017-02-24 2018-08-30 국방과학연구소 딥 러닝 기반 보코더 통과 음성 명료도 평가 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
윤덕규, 이한나, 최승호. 장단기 메모리 순환신경망 기반의 비침입적 음성 명료도 추정 방법. 한국통신학회논문지, 2017.09.*
이정혁, 김홍국. 딥러닝에 기반한 보코더 종류 판별 기법. 대한전자공학회 학술대회, 2017.06.*

Also Published As

Publication number Publication date
KR20210001596A (ko) 2021-01-06
US11437051B2 (en) 2022-09-06
US20200411023A1 (en) 2020-12-31

Similar Documents

Publication Publication Date Title
CN110648658B (zh) 一种语音识别模型的生成方法、装置及电子设备
US10417329B2 (en) Dialogue act estimation with learning model
CN112599122B (zh) 基于自注意力机制和记忆网络的语音识别方法及装置
CN111862953B (zh) 语音识别模型的训练方法、语音识别方法及装置
CN110459202B (zh) 一种韵律标注方法、装置、设备、介质
KR20200062183A (ko) 기계학습을 이용한 오디오 복원 방법 및 장치
CN111401259B (zh) 模型训练方法、系统、计算机可读介质和电子设备
CN112489629A (zh) 语音转写模型、方法、介质及电子设备
CN111639529A (zh) 基于多层次逻辑的语音话术检测方法、装置及计算机设备
KR102271357B1 (ko) 보코더 유형 판별 방법 및 장치
US9691397B2 (en) Device and method data for embedding data upon a prediction coding of a multi-channel signal
CN112908293B (zh) 一种基于语义注意力机制的多音字发音纠错方法及装置
Wang et al. Zero-shot voice conversion via self-supervised prosody representation learning
KR102014384B1 (ko) 보코더 유형 판별 장치 및 방법
WO2019119552A1 (zh) 连续长语音文件的翻译方法与翻译机
JP2002140099A (ja) 音声復号化装置
CN114420083A (zh) 音频生成方法以及相关模型的训练方法和相关装置
CN113870826A (zh) 基于时长预测模型的发音时长预测方法及相关设备
CN111199750B (zh) 一种发音评测方法、装置、电子设备及存储介质
CN117476027B (zh) 语音转换方法及装置、存储介质、电子装置
KR102507810B1 (ko) 인공지능을 이용한 음성 기반 세일즈 정보 추출 및 리드 추천방법과 이를 수행하는 데이터 분석장치
CN117789694A (zh) 基于语音韵律的语音合成模型训练方法及语音合成系统
Blum et al. Blind Vocoder Speech Reconstruction using Generative Adversarial Networks
Choi et al. Variable-Length Speaker Conditioning in Flow-Based Text-to-Speech
CN116206591A (zh) 模型训练和语音合成方法、装置、设备及介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)