[go: up one dir, main page]

KR101196518B1 - 실시간 음성 활동 검출 장치 및 검출 방법 - Google Patents

실시간 음성 활동 검출 장치 및 검출 방법 Download PDF

Info

Publication number
KR101196518B1
KR101196518B1 KR1020110031066A KR20110031066A KR101196518B1 KR 101196518 B1 KR101196518 B1 KR 101196518B1 KR 1020110031066 A KR1020110031066 A KR 1020110031066A KR 20110031066 A KR20110031066 A KR 20110031066A KR 101196518 B1 KR101196518 B1 KR 101196518B1
Authority
KR
South Korea
Prior art keywords
sound signal
sound
stored
frame
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020110031066A
Other languages
English (en)
Other versions
KR20120113382A (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 KR1020110031066A priority Critical patent/KR101196518B1/ko
Publication of KR20120113382A publication Critical patent/KR20120113382A/ko
Application granted granted Critical
Publication of KR101196518B1 publication Critical patent/KR101196518B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)

Abstract

본 발명의 일실시에 따른 실시간 음성 활동 검출 장치(100)는 음향신호를 입력받는 하나 이상의 마이크로폰 및 마이크로폰으로 입력되는 아날로그 음향신호를 디지털 음향신호로 변환하는 변환기를 포함하는 음향신호 획득부(110), 이중 포트 메모리를 이용하여 음향신호 획득부(110)의 디지털 음향신호를 버퍼링하는 음향신호 버퍼링부(120), 음향신호 버퍼링부(120)에 저장된 음향신호에서 음향 프레임 단위로 주기적 특징이 존재하는지 여부를 연산하는 주기성 연산부(130), 및 주기성 연산부(130)의 연산 결과에 따라 음성 검출 신호를 출력하는 음성 검출 출력부(150)를 포함한다.

Description

실시간 음성 활동 검출 장치 및 검출 방법{APPARATUS AND METHOD FOR DETECTING VOICE ACTIVITY IN REAL-TIME}
본 발명은 음성 활동 검출 장치 및 검출 방법에 관한 것이다. 특히 본 발명은 음향신호를 저장하는 복수 개의 버퍼와 레지스터를 사용하고, 저장된 음성 신호에서 2가지의 특징 정보인 주기성과 에너지값을 동시에 추출하여 음성 활동 검출을 수행하는 장치 및 검출 방법에 관한 것이다.
일반적인 음성 인식 장치에서 사람의 음성이 실제로 발화되었는지를 검출하는 것은 추후 획득한 음성 신호를 분석하고 내용을 인식하는데 있어 주요한 정보를 제공하기 때문에 매우 중요하다. 또한 VoIP와 같은 응용에서 실제 음성이 발화한 구간만을 추출하여 전송하는 것이 중요하기 때문에 음성 활동 검출 장치가 필요하다. 따라서 이를 위해 음성 신호의 다양한 특징 정보를 분석하여 이러한 특징 정보를 바탕으로 음성/비음성 구간을 분리하는 방법들이 제안되었다.
그러나 기존의 이러한 방법들은 특징 정보를 추출하기 위해 개별적인 음성 신호에 대해 반복적으로 연산을 수행해야 하므로 기존의 순차적인 처리 방법을 기반으로 한 소프트웨어 방법으로는 많은 연산시간을 필요로 하다. 또한 이러한 추출하고자 하는 특징 정보가 다수일 경우에는 한 개의 특징 정보를 추출하는 시스템에 비해 검출 성능은 좋아지지만 연산횟수가 특징 정보의 개수만큼 배로 증가하게 된다. 음성 활동 검출의 경우 음성 인식의 전처리 단계로 가정용 로봇이나 지능형 자동차 등의 응용에서 소형 임베디드 시스템으로의 구현이 필요하나, 이러한 과다한 연산량 및 연산시간은 실제 응용에 있어 문제가 된다.
본 발명에 따른 실시간 음성 활동 검출 장치 및 검출 방법은 다음과 같은 해결과제를 목적으로 한다.
첫째, 획득한 음성신호를 다수의 병렬 버퍼에 저장하여 필요한 연산을 동시에 병렬적으로 수행하게 하고자 한다.
둘째, 음향신호의 주기성 및 음향신호의 에너지값을 동시에 이용하여 음성 활동 검출의 정확도를 높이고자 한다.
셋째, 음성 활동 검출을 실시간으로 처리하여 소형 임베디드 시스템으로 제공하고자 한다.
본 발명의 해결과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당업자에게 명확하게 이해되어 질 수 있을 것이다.
본 발명에 따른 실시간 음성 활동 검출 장치는 음향신호를 입력받는 하나 이상의 마이크로폰 및 마이크로폰으로 입력되는 아날로그 음향신호를 디지털 음향신호로 변환하는 변환기를 포함하는 음향신호 획득부, 이중 포트 메모리를 이용하여 음향신호 획득부의 디지털 음향신호를 버퍼링하는 음향신호 버퍼링부, 음향신호 버퍼링부에 저장된 음향신호에서 음향 프레임 단위로 주기적 특징이 존재하는지 여부를 연산하는 주기성 연산부, 주기성 연산부의 연산 결과에 따라 음성 검출 신호를 출력하는 음성 검출 출력부 및 음향신호 버퍼링부에서 저장된 음향신호를 음성 검출 출력부의 출력 신호와 싱크를 맞추어 출력하기 위해 기준시간 지연 저장하는 샘플 지연 저장부를 포함한다.
본 발명에 따른 음향신호 버퍼링부는 복수(n) 개의 이중 포트 메모리를 포함하고, 이중 포트 메모리는 원형큐 구조를 갖는 것을 특징으로 한다.
본 발명에 따른 음향신호 버퍼링부는 음향신호의 샘플이 순차적으로 저장되는 n개의 이중 포트 메모리, 이중 포트 메모리의 같은 행에 n개의 샘플이 저장되면 전체 n개의 샘플을 더한 후 n으로 나누어 직류 성분 산출하는 직류 성분 산출기 및 이중 포트 메모리에 저장된 음향신호의 샘플에서 직류 성분을 제거하는 직류 성분 제거기를 포함한다.
본 발명에 따른 주기성 연산부는 음향신호 버퍼링부에 저장된 음향신호에서 고주파 잡음을 제거하기 위한 저주파 필터, 저주파 필터에서 고주파 잡음이 제거된 음향 신호를 하나의 음향 프레임 단위로 저장하는 복수 개의 레지스터 및 복수 개의 레지스터에 대해 동시에 주기적 특징이 존재하는지 여부를 확인하기 위한 연산을 수행하는 주기적 특징 확인부를 포함한다.
이때 레지스터는 동일한 음향 프레임의 음향신호가 저장되고, 각 레지스터가 복수(k) 개의 쌍을 이루어 주기적 특징 확인부에서 주기적 특징 여부가 확인되는 것을 특징으로 한다. 여기서 k는 "음향 프레임의 크기 - 1"인 값이다.
본 발명에 따른 주기적 특징 확인부는 레지스터에 저장된 음향신호의 샘플에 대해 아래의 식으로 주기적 특징 여부를 확인하는 것으로, k 개의 레지스터 쌍에서 τ를 각각 1부터 k로 설정하여 동시에 병렬 처리하는 것을 특징으로 한다.
Figure 112011024592277-pat00001
여기서,
Figure 112011024592277-pat00002
이고, dt(τ)는 t 번째 프레임의 difference fucntion, W는 프레임의 크기, xn은 n번째 개별 샘플, τ는 프레임 내 심플 간의 간격이다.
본 발명에 따른 실시간 음성 활동 검출 장치는 음향신호 버퍼링부에 저장된 음향신호의 음향 프레임 단위별로 에너지 평균값을 연산하는 에너지 연산부를 더 포함할 수 있다.
본 발명에 따른 음성 검출 출력부는 주기성 연산부에서 연산된 값과 에너지 연산부에서 연산된 값의 곱이 기준값 이상인 경우에 플래그(flag)를 1로 설정하고, 연속하는 10개의 음향 프레임에서 연속으로 플래그가 1로 설정된 경우 음성 검출 신호를 출력하는 것을 특징으로 한다.
본 발명에 따른 실시간 음성 활동 검출 방법은 외부 음향신호가 디지털 음향신호로 변환되는 S1 단계, S1 단계에서 변환된 디지털 음향신호가 버퍼링을 위한 이중 포트 메모리에 저장되는 S2 단계, S2 단계의 이중 포트 메모리에 저장된 음향신호의 음향 프레임에 주기적 특징이 존재하는지 여부가 연산되는 S3 단계, 및 S3 단계의 연산결과에 따라 음성 검출 신호가 출력되는 S4 단계를 포함한다.
본 발명에 따른 S2 단계의 이중 포트 메모리는 복수 개이고, 원형큐 구조를 갖는 특징으로 한다.
본 발명에 따른 S2 단계는 음향신호의 샘플이 n개의 이중 포트 메모리에 순차적으로 저장되는 S2-1 단계, 이중 포트 메모리의 같은 행에 n개의 샘플이 저장되면 전체 n개의 샘플을 더한 후 n으로 나누어 직류 성분이 산출되는 S2-2 단계 및 이중 포트 메모리에 저장된 음향신호의 샘플에서 직류 성분이 제거되는 S2-3 단계를 포함한다.
본 발명에 따른 S3 단계는 S2 단계의 이중 포트 메모리에 저장된 음향신호에서 고주파 잡음이 제거되는 S3-1 단계, S3-1 단계에서 고주파 잡음이 제고된 음향신호가 음향 프레임 단위로 복수 개의 레지스터에 저장되는 S3-2 단계 및 S3-2 단계의 복수 개의 레지스터에서 동시에 주기적 특징이 존재하는지 여부를 확인하기 위한 연산이 수행되는 S3-3 단계를 포함하되, 레지스터는 동일한 음향 프레임의 음향신호가 저장되고, 각 레지스터가 복수(k) 개의 쌍을 이루어 S3-3 단계에서 주기적 특징 여부가 확인되는 것을 특징으로 한다.
본 발명에 따른 S3-3 단계는 레지스터에 저장된 음향신호의 샘플에 대해 아래의 식으로 주기적 특징 여부가 확인되는 것으로, k 개의 레지스터 쌍에서 τ를 각각 1부터 k로 설정하여 동시에 병렬 처리하는 것을 특징으로 한다.
Figure 112011024592277-pat00003
여기서,
Figure 112011024592277-pat00004
이고, dt(τ)는 t 번째 프레임의 difference fucntion, W는 프레임의 크기, xn은 n번째 개별 샘플, τ는 프레임 내 심플 간의 간격이다.
본 발명에 따른 실시간 음성 활동 검출 방법은 S2 단계에서 저장된 음향신호의 음향 프레임 단위별로 에너지 평균값이 연산되는 S5 단계를 더 포함할 수 있다.
본 발명에 따른 S4 단계는 S3 단계에서 연산된 값과 S5 단계에서 연산된 값의 곱이 기준값 이상인 경우에 플래그(flag)를 1로 설정하고, 연속하는 10개의 음향 프레임에서 연속으로 플래그가 1로 설정된 경우 음성 검출 신호가 출력되는 것을 특징으로 한다.
본 발명에 따른 실시간 음성 활동 검출 장치 및 방법에 따르면 획득한 음성 신호를 다수의 병렬 버퍼에 저장하고, 저장된 데이터에 대해 2개의 특징 정보를 동시에 추출하므로 순차 처리에 적합한 범용 컴퓨터와 비교하여 다양한 응용분야에서 보다 우월한 성능을 가지게 된다.
본 방법에 따른 음성 활동 검출 장치는 실시간 시스템으로 구현될 수 있으며 음성 인식, VoIP 등의 여러 응용분야에 전반적으로 사용될 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해되어 질 수 있을 것이다.
도 1은 본 발명의 일실시예에 따른 실시간 음성 활동 검출 장치의 구성을 개략적으로 도시한 블록도이다.
도 2는 음향신호 버퍼링부의 세부 버퍼 구조를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 실시간 음성 활동 검출 장치의 음성 활동 검출 결과와 지연된 음향신호를 나타낸 도면이다.
도 4는 주기성 연산부에서 저주파 필터를 통과한 후의 음향 신호를 저장하는 레지스터 쌍의 구조를 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 실시간 음성 활동 검출 방법의 순서도이다.
도 6(a)는 S2 단계에 대한 세부 순서도이고, 도 6(b)는 S3 단계에 대한 세부 순서도이다.
도 7은 본 발명의 다른 실시예에 따른 실시간 음성 활동 검출 방법을 나타낸 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
이하에서는 도면을 참조하면서 실시간 음성 활동 검출 장치 및 검출 방법에 관하여 구체적으로 설명하겠다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다. 따라서, 본 명세서를 통해 설명되는 각 구성부들의 존재 여부는 기능적으로 해석되어야 할 것이며, 이러한 이유로 본 발명의 무선 전력 전송 장치 따른 구성부들의 구성은 본 발명의 목적을 달성할 수 있는 한도 내에서 도 1과는 상이해질 수 있음을 명확히 밝혀둔다.
도 1은 본 발명의 일실시예에 따른 실시간 음성 활동 검출 장치(100)의 구성을 개략적으로 도시한 블록도이다.
본 발명의 일실시에 따른 실시간 음성 활동 검출 장치(100)는 음향신호를 입력받는 하나 이상의 마이크로폰 및 마이크로폰으로 입력되는 아날로그 음향신호를 디지털 음향신호로 변환하는 변환기를 포함하는 음향신호 획득부(110), 이중 포트 메모리를 이용하여 음향신호 획득부(110)의 디지털 음향신호를 버퍼링하는 음향신호 버퍼링부(120), 음향신호 버퍼링부(120)에 저장된 음향신호에서 음향 프레임 단위로 주기적 특징이 존재하는지 여부를 연산하는 주기성 연산부(130), 및 주기성 연산부(130)의 연산 결과에 따라 음성 검출 신호를 출력하는 음성 검출 출력부(150)를 포함한다.
나아가 본 발명의 실시간 음성 활동 검출 장치(100)는 음향신호 버퍼링부(120)에서 저장된 음향신호를 음성 검출 출력부의 출력 신호와 싱크를 맞추어 출력하기 위해 기준시간 지연 저장하는 샘플 지연 저장부(160)를 더 포함할 수도 있다.
음향신호 획득부(110)는 본 발명에 따른 음성 활동 검출 장치(100) 외부로부터 발생한 음향 신호를 획득한다. 본 발명에 따른 음향신호 획득부(110)는 한 개의 마이크로폰과 마이크로폰으로부터 들어오는 아날로그 음향 신호를 디지털 음향 신호로 변환하는 변환기를 포함하여야 한다.
음향신호 버퍼링부(120)는 복수(N) 개의 이중 포트 메모리(121)를 포함하고, 이중 포트 메모리는 원형큐 구조를 갖는 것이 바람직하다. 물론 이중 포트 메모리를 구성하는 자료구조는 해당 분야의 통상의 지식을 가진 자가 대체할 수 있는 다양한 형태가 사용될 수 있다.
음향신호 버퍼링부(120)는 음향신호의 샘플이 순차적으로 저장되는 N개의 이중 포트 메모리(121), 이중 포트 메모리(121)의 같은 행에 N개의 샘플이 저장되면 전체 N개의 샘플을 더한 후 N으로 나누어 직류 성분 산출하는 직류 성분 산출기(122) 및 이중 포트 메모리(121)에 저장된 음향신호의 샘플에서 직류 성분을 제거하는 직류 성분 제거기(123)를 포함한다.
도 2는 음향신호 버퍼링부(120)의 세부 버퍼 구조를 나타낸 도면이다. 음향신호 버퍼링부(120)은 총 N개의 이중 포트 메모리로 구성되어 있다. 개별 이중 포트 메모리는 상기한 바와 같이 원형 큐로 구현되어 메모리를 절약한다. 개별 음향 신호 샘플은 N개의 버퍼에 순차적으로 저장된다. 즉 버퍼1, 버퍼2, 버퍼3, ..., 버퍼 N 순으로 차례차례 저장된다. N개의 샘플이 저장되면 다시 버퍼 1번으로 돌아가 동일한 작업을 반복한다.
도 2에서 N개의 샘플이 버퍼에 저장될 때마다 샘플 1부터 샘플 N을 동시에 더한 후 N으로 나누어 해당 버퍼 행에 대한 직류 성분을 구한다. 이렇게 구해진 직류 성분을 샘플에서 빼서 직류 성분이 제거된 샘플을 얻게 된다. 음향신호 버퍼링부(120)는 현재 프레임을 가리키는 포인터가 존재한다. 음향 신호 한 프레임의 크기를 NxM 이라고 가정하면 N개의 버퍼에 M개의 행에 해당하는 샘플이 저장되면 한 프레임의 저장이 끝난 것이다. 한 프레임의 저장이 끝나면 새로운 프레임의 시작지점으로 포인터를 갱신하여 이 후에 해당하는 프레임에 대해서 연산을 수행할 수 있도록 한다.
음향신호 버퍼링부(120)는 획득된 음향신호를 일정 길이만큼 버퍼링하는 역할을 수행한다. 음향 신호는 처리 속도에 비해 비교적 느린 속도로 샘플링 되므로, 보다 빠른 처리 속도를 보장하기 위해서 획득한 음향 신호를 버퍼링할 필요가 있다. 이때 버퍼는 입력과 출력이 서로 다른 포트를 통해 처리되는 이중 포트 메모리를 이용하여 입력받은 샘플을 처리하는 동안에도 현재 입력중인 음향신호를 계속해서 샘플링되도록 하는 것이 바람직하다. 또한 메모리의 효율성을 위해 이미 처리한 샘플을 덮어쓸 수 있도록 원형큐로 구현하는 것이 바람직한 것이다.
음성신호는 일정 시간 단위로 처리되고 이러한 시간단위로 묶인 샘플의 집합을 프레임이라고 한다. 음향신호 버퍼링부(120)에서는 매 프레임이 저장될 때마다 프레임의 데이터가 준비되었음을 알리는 신호를 발생하여 이후의 연산이 이루어질 수 있도록 한다. 이하 대부분의 과정은 음향신호 프레임 단위로 수행된다.
본 발명의 실시간 음성 활동 검출 장치는 음향신호 버퍼링부(120)에 저장된 음향신호의 음향 프레임 단위별로 에너지 평균값을 연산하는 에너지 연산부(140)를 더 포함할 수 있다.
에너지 연산부(140)는 음향신호 버퍼링부(120)에 저장된 음향신호를 대상으로 매 음향 프레임의 로그에너지 평균값을 계산한다. 이때 음향의 에너지가 일정값 이상인 경우에 음성 활동이 존재하는 프레임일 수 있다고 판단하고 다음 과정을 진행하고, 그렇지 않으면 음향신호 버퍼링부(120)에서 새로운 프레임 데이터 준비를 알리는 신호를 받을 때까지 대기한다.
유성음의 경우 음향신호가 주기적인 성질을 갖기 때문에 주기성 연산부(130)에서 음성 활동이 존재한다고 판단할 수 있다. 그러나 실제 사람의 목소리가 아닌 주기적인 잡음이 발생하였을 때도 주기성 연산부(130)에서 음성 활동으로 잘못 판단할 수 있다. 이런 점을 보완하기 위해서 음향의 에너지 특징을 동시에 수행한다. 에너지 특징은 잡음의 종류에 상관없이 음성 활동을 검출할 수 있다. 그러나 에너지가 일정값이면 무조건 음성 활동으로 잘못 판단할 수 있으므로 이 점을 주기성 특징을 이용하여 보완한다. 즉 주기성 특징과 에너지 특징이 상호 보완적으로 사용되어 음성 활동 검출의 정확성을 높이게 된다.
주기성 연산부(130)는 음향신호 버퍼링부(120)에 저장된 음향신호를 대상으로 매 음향 프레임의 주기성을 나타내는 특징 정보를 연산한다. 주기성 연산부(130)에서 음향 프레임의 주기적인 특징이 일정값 이상인 경우 음성 활동이 존재하는 프레임일 수 있다고 판단하고 다음 과정을 진행하게 된다. 그렇지 않으면 음향신호 버퍼링부(120)에서 새로운 프레임 데이터 준비를 알리는 신호를 받을 때까지 대기한다.
음성 검출 출력부(150)에서는 주기성 연산부(130)에서의 연산값과 에너지 연산부(140)의 연산값의 곱이 일정한 기준값 이상인 경우에 현재 연산대상이 되는 프레임의 vad_flag을 1로 판정한다. 만약 주기성 연산부(130) 또는 에너지 연산부(140)의 값 중 하나가 일정치 이상이 되지 못하면 하나의 값이 0이 되어 vad_flag가 0이 된다. 그렇지 않을 경우 두 값의 곱이 일정 기준치 이상인 경우에만 vad_flag를 1로 판정한다. 또한 음성 검출 출력부(150)에서는 연속하는 10개의 프레임에서 연속으로 vad_flag가 1 인 경우에 음성 활동 검출 결과를 1로 출력한다.
기준값은 특정 수식에 의해 산출되는 것은 아니며, 음성 활동 검출이 적용되는 환경이나 실험적으로 결정되는 값이다.
샘플 지연 저장부(160)는 음성 활동 검출 결과와 음향 신호의 싱크를 맞춰주기 위해서 음향신호를 일정 시간동안 지연시킨 후 음성 활동 검출 결과와 맞추어서 출력한다.
도 3은 본 발명의 일 실시예에 따른 실시간 음성 활동 검출 장치의 음성 활동 검출 결과와 지연된 음향신호를 나타낸 도면이다. 음성이 발화되면 음성 활동 검출 결과가 1이 된다. 검출 결과가 입력되는 음향 신호와 동시에 뜨지는 않기 때문에 음향 신호를 샘플 지연 저장부(160)에서 음성 활동 검출의 연산 시간 동안 저장한 다음에 음성 활동 검출 결과와 동시에 출력하게 된다.
도 4는 주기성 연산부(130)에서 저주파 필터를 통과한 후의 음향 신호를 저장하는 레지스터 쌍의 구조를 나타낸 도면이다.
주기성 연산부(130)는 음향신호 버퍼링부(120)에 저장된 음향신호에서 고주파 잡음을 제거하기 위한 저주파 필터(131), 저주파 필터에서 고주파 잡음이 제거된 음향 신호를 하나의 음향 프레임 단위로 저장하는 복수 개의 레지스터(132) 및 복수 개의 레지스터에 대해 동시에 주기적 특징이 존재하는지 여부를 확인하기 위한 연산을 수행하는 주기적 특징 확인부(133)를 포함한다.
레지스터(132)는 동일한 음향 프레임의 음향신호가 저장되고, 각 레지스터(132)가 복수(k) 개의 쌍을 이루어 주기적 특징 확인부(133)에서 주기적 특징 여부가 확인된다. 여기서 k는 "음향 프레임의 크기 - 1"인 값이다.
주기성 연산부(130)에서는 음향신호 버퍼링부(120)에서 한 프레임의 저장이 끝나면 저장된 음향 신호를 저주파 필터(131)에 통과시킨다. 이는 주기적인 고주파 잡음 성분을 제거하여 음성 이외에 주기적 성질을 감소시키기 위함이다. 이는 음향신호 버퍼링부(120)의 직류 성분을 구하는 것과 같이 N개의 샘플에 대해서 동시에 저주파 필터(132) 통과를 수행한다. 이후에 나오는 1~N번까지의 샘플을 도 4와 같은 레지스터에 저장한다.
도 4의 레지스터는 하나의 음향신호 프레임을 저장하고 있는 동일한 k개의 쌍으로 구성되어 있다. 각 레지스터의 크기는 프레임의 크기와 동일한 M×N의 크기를 가진다. 동일한 레지스터 쌍을 구성한 이유는 주기성 특징을 구하기 위한 아래 수학식 연산을 빠르게 하기 위함이다.
Figure 112011024592277-pat00005
상기 수학식 1에서 dt(τ)는 t번째 프레임의 difference function이다. W는 프레임의 크기, xn은 n번째 개별 샘플을 나타낸다. τ는 프레임 내 샘플간의 간격이다. 이 간격을 변화시키면서 해당 프레임의 주기성을 찾게 된다.
Figure 112011024592277-pat00006
수학식 2는 상기 수학식 1을 정규화한 것이며, 이 값이 0에 가까울수록 프레임의 주기적인 성질이 크다.
Figure 112011024592277-pat00007
수학식 3은 주기성 연산부(130)의 최종 결과이다. 일정한 값 Th보다 크면 주기성이 없는 것으로 판단되어 0이 출력되고 그렇지 않으면 주기성이 클수록 1에 가까운 값을 출력하게 된다. Th는 실험적으로 산출되는 값으로, 음성 활동이 검출되는 환경이 소음이 많다면 전체적인 음성 샘플링 데이터의 에너지가 올라가기 때문에 기준값 또한 높아지게된다.
도 5는 본 발명의 일실시예에 따른 실시간 음성 활동 검출 방법의 순서도이다.
상기 수학식 1에서 τ를 변화시키면서 dt(τ)를 구하는 부분이 도 4로 표현된다. PC의 순차적인 방식에서는 τ를 1부터 W까지 변화시키면서 계산해야 하므로 연산량이 무척 많아서 연산시간이 증가하게 된다. 그러나 병렬 하드웨어로 τ를 1부터 k까지 동시에 변화시켜 dt(1)부터 dt(k)까지 동시에 연산하게 된다.
즉, 주기적 특징 확인부는 레지스터에 저장된 음향신호의 샘플에 대해 주기적 특징 여부를 확인하는 것으로, k 개의 레지스터 쌍에서 τ를 각각 1부터 k로 설정하여 동시에 병렬 처리한다.
이하 본 발명에 따른 실시간 음성 활동 검출 방법을 설명하고자 한다. 전술한 실시간 음성 활동 검출 장치와 중복되는 내용은 간략하게 설명하도록 한다.
도 5는 본 발명의 일실시예에 따른 실시간 음성 활동 검출 방법의 순서도이다. 도 6(a)는 S2 단계에 대한 세부 순서도이고, 도 6(b)는 S3 단계에 대한 세부 순서도이다.
본 발명의 일실시예에 따른 실시간 음성 활동 검출 방법은 외부 음향신호가 디지털 음향신호로 변환되는 S1 단계, S1 단계에서 변환된 디지털 음향신호가 버퍼링을 위한 이중 포트 메모리에 저장되는 S2 단계, S2 단계의 이중 포트 메모리에 저장된 음향신호의 음향 프레임에 주기적 특징이 존재하는지 여부가 연산되는 S3 단계, S3 단계의 연산결과에 따라 음성 검출 신호가 출력되는 S4 단계를 포함한다.
S2 단계의 이중 포트 메모리는 복수 개이고, 원형큐 구조를 갖는 것이 바람직하다.
S2 단계는 음향신호의 샘플이 N개의 이중 포트 메모리에 순차적으로 저장되는 S2-1 단계, 이중 포트 메모리의 같은 행에 N개의 샘플이 저장되면 전체 N개의 샘플을 더한 후 N으로 나누어 직류 성분이 산출되는 S2-2 단계 및 이중 포트 메모리에 저장된 음향신호의 샘플에서 직류 성분이 제거되는 S2-3 단계를 포함한다.
S3 단계는 S2 단계의 이중 포트 메모리에 저장된 음향신호에서 고주파 잡음이 제거되는 S3-1 단계, S3-1 단계에서 고주파 잡음이 제고된 음향신호가 음향 프레임 단위로 복수 개의 레지스터에 저장되는 S3-2 단계 및 S3-2 단계의 복수 개의 레지스터에서 동시에 주기적 특징이 존재하는지 여부를 확인하기 위한 연산이 수행되는 S3-3 단계를 포함한다.
이때 레지스터는 동일한 음향 프레임의 음향신호가 저장되고, 각 레지스터가 복수(k) 개의 쌍을 이루어 S3-3 단계에서 주기적 특징 여부가 확인되는 것을 특징으로 한다.
S3-3 단계는 레지스터에 저장된 음향신호의 샘플에 대해 전술한 수학식으로 주기적 특징 여부가 확인되는 것으로, k 개의 레지스터 쌍에서 τ를 각각 1부터 k로 설정하여 동시에 병렬 처리하는 것을 특징으로 한다.
한편 본 발명에 따른 실시간 음성 활동 검출 방법은 S2 단계에서 저장된 음향신호의 음향 프레임 단위별로 에너지 평균값이 연산되는 S5 단계를 더 포함할 수도 있다.
S4 단계는 S3 단계에서 연산된 값과 S5 단계에서 연산된 값의 곱이 기준값 이상인 경우에 플래그(flag)를 1로 설정하고, 연속하는 10개의 음향 프레임에서 연속으로 플래그가 1로 설정된 경우 음성 검출 신호가 출력될 수 있다.
도 7은 본 발명의 다른 실시예에 따른 실시간 음성 활동 검출 방법을 나타낸 도면이다. 먼저 실시간 음성 활동 검출 장치는 음향신호를 획득하여 버퍼에 저장한다. 이후 한 프레임이 확보가 되어 프레임을 읽기 시작하여 샘플 지연 저장부에 저장한다. 지연 샘플 저장이 끝나면 우선 주기성 연산을 수행한다. 주기성 연산부에서 연산 결과가 일정값 이상이면 다음 단계인 에너지 연산으로 넘어가고 그렇지 않으면 음향신호 획득부로 돌아간다. 에너지 연산부에서 프레임의 에너지를 계산하고 그 에너지 값이 일정 값 이상이면 다음 단계로 넘어간다.
도 7의 실시예에서는 S4 단계에서 음성 활동 검출 신호가 곧바로 출력되는 것이 아니고, 행오버 단계를 거쳐 일정한 연속된 음향신호 프레임에서 vad_flag를 1이 나오는 경우에 음성 활동 검출 신호가 출력된다.
주기성 값과 에너지 값의 곱이 일정값 이상이면 현재 프레임의 vad_flag를 1로 설정하고 행오버(Hangover) 단계로 넘어간다. 행오버 단계에서 연속되는 10개의 vad_flag가 1로 결정된때 비로소 음성의 활동이 존재하는 것으로 판단하고 검출 결과를 출력하게 된다.
본 실시예 및 본 명세서에 첨부된 도면은 본 발명에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 본 발명의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시예는 모두 본 발명의 권리범위에 포함되는 것이 자명하다고 할 것이다.
100 : 실시간 음성 활동 검출 장치 110 : 음향신호 획득부
120 : 음향신호 버퍼링부 121 : 이중 포트 메몰
122 : 직류 성분 산출기 123 : 직류 성분 제거기
130 : 주기성 연산부 131 : 저주파 필터
132 : 레지스터 133 : 주기적 특징 확인부
140 : 에너지 연산부 150 : 음성 검출 출력부
160 : 샘플 지연 저장부

Claims (14)

  1. 음성 활동 검출 장치에 있어서,
    음향신호를 입력받는 하나 이상의 마이크로폰 및 상기 마이크로폰으로 입력되는 아날로그 음향신호를 디지털 음향신호로 변환하는 변환기를 포함하는 음향신호 획득부;
    이중 포트 메모리를 이용하여 상기 음향신호 획득부의 디지털 음향신호를 버퍼링하는 음향신호 버퍼링부;
    상기 음향신호 버퍼링부에 저장된 음향신호에서 음향 프레임 단위로 주기적 특징이 존재하는지 여부를 연산하는 주기성 연산부;
    상기 주기성 연산부의 연산 결과에 따라 음성 검출 신호를 출력하는 음성 검출 출력부; 및
    상기 음향신호 버퍼링부에서 저장된 음향신호를 상기 음성 검출 출력부의 출력 신호와 싱크를 맞추어 출력하기 위해 기준시간 지연 저장하는 샘플 지연 저장부를 포함하는 것을 특징으로 하는 실시간 음성 활동 검출 장치.
  2. 제1항에 있어서,
    상기 음향신호 버퍼링부는 복수(N) 개의 이중 포트 메모리를 포함하고, 상기 이중 포트 메모리는 원형큐 구조를 갖는 것을 특징으로 하는 실시간 음성 활동 검출 장치.
  3. 제1항에 있어서,
    상기 음향신호 버퍼링부는
    상기 음향신호의 샘플이 순차적으로 저장되는 N개의 이중 포트 메모리;
    상기 이중 포트 메모리의 같은 행에 N개의 샘플이 저장되면 전체 N개의 샘플을 더한 후 N으로 나누어 직류 성분 산출하는 직류 성분 산출기; 및
    상기 이중 포트 메모리에 저장된 음향신호의 샘플에서 상기 직류 성분을 제거하는 직류 성분 제거기를 포함하는 것을 특징으로 하는 실시간 음성 활동 검출 장치.
  4. 제1항에 있어서,
    상기 주기성 연산부는
    상기 음향신호 버퍼링부에 저장된 음향신호에서 고주파 잡음을 제거하기 위한 저주파 필터;
    상기 저주파 필터에서 고주파 잡음이 제거된 음향 신호를 하나의 음향 프레임 단위로 저장하는 복수 개의 레지스터; 및
    상기 복수 개의 레지스터에 대해 동시에 주기적 특징이 존재하는지 여부를 확인하기 위한 연산을 수행하는 주기적 특징 확인부를 포함하되,
    상기 레지스터는 동일한 음향 프레임의 음향신호가 저장되고, 각 레지스터가 복수(k) 개의 쌍을 이루어 상기 주기적 특징 확인부에서 주기적 특징 여부가 확인되는 것을 특징으로 하는 실시간 음성 활동 검출 장치.
    (여기서 k는 "음향 프레임의 크기 - 1"인 값임)
  5. 제4항에 있어서,
    상기 주기적 특징 확인부는
    상기 레지스터에 저장된 음향신호의 샘플에 대해 아래의 식으로 주기적 특징 여부를 확인하는 것으로, k 개의 레지스터 쌍에서 τ를 각각 1부터 k로 설정하여 동시에 병렬 처리하는 것을 특징으로 하는 것을 특징으로 하는 실시간 음성 활동 검출 장치.
    Figure 112011024592277-pat00008

    (여기서,
    Figure 112011024592277-pat00009
    이고, dt(τ)는 t 번째 프레임의 difference fucntion, W는 프레임의 크기, xn은 n번째 개별 샘플, τ는 프레임 내 심플 간의 간격임)
  6. 제1항에 있어서,
    상기 실시간 음성 활동 검출 장치는
    상기 음향신호 버퍼링부에 저장된 음향신호의 음향 프레임 단위별로 에너지 평균값을 연산하는 에너지 연산부를 더 포함하는 것을 특징으로 하는 실시간 음성 활동 검출 장치.
  7. 제6항에 있어서,
    상기 음성 검출 출력부는
    상기 주기성 연산부에서 연산된 값과 상기 에너지 연산부에서 연산된 값의 곱이 기준값 이상인 경우에 플래그(flag)를 1로 설정하고, 연속하는 10개의 음향 프레임에서 연속으로 플래그가 1로 설정된 경우 음성 검출 신호를 출력하는 것을 특징으로 하는 실시간 음성 활동 검출 장치.
  8. 음성 활동 검출 방법에 있어서,
    외부 음향신호가 디지털 음향신호로 변환되는 S1 단계;
    상기 S1 단계에서 변환된 디지털 음향신호가 버퍼링을 위한 이중 포트 메모리에 저장되는 S2 단계;
    상기 S2 단계의 이중 포트 메모리에 저장된 음향신호의 음향 프레임에 주기적 특징이 존재하는지 여부가 연산되는 S3 단계;
    상기 S3 단계의 연산결과에 따라 음성 검출 신호가 출력되는 S4 단계를 포함하되,
    상기 S2 단계의 이중 포트 메모리는 복수 개이고, 원형큐 구조를 갖는 것을 특징으로 하는 실시간 음성 활동 검출 방법.
  9. 삭제
  10. 제8항에 있어서,
    상기 S2 단계는
    상기 음향신호의 샘플이 N개의 이중 포트 메모리에 순차적으로 저장되는 S2-1 단계;
    상기 이중 포트 메모리의 같은 행에 N개의 샘플이 저장되면 전체 N개의 샘플을 더한 후 N으로 나누어 직류 성분이 산출되는 S2-2 단계; 및
    상기 이중 포트 메모리에 저장된 음향신호의 샘플에서 상기 직류 성분이 제거되는 S2-3 단계를 포함하는 것을 특징으로 하는 실시간 음성 활동 검출 방법.
  11. 제8항에 있어서,
    상기 S3 단계는
    상기 S2 단계의 이중 포트 메모리에 저장된 음향신호에서 고주파 잡음이 제거되는 S3-1 단계;
    상기 S3-1 단계에서 고주파 잡음이 제고된 음향신호가 음향 프레임 단위로 복수 개의 레지스터에 저장되는 S3-2 단계; 및
    상기 S3-2 단계의 복수 개의 레지스터에서 동시에 주기적 특징이 존재하는지 여부를 확인하기 위한 연산이 수행되는 S3-3 단계를 포함하되,
    상기 상기 레지스터는 동일한 음향 프레임의 음향신호가 저장되고, 각 레지스터가 복수(k) 개의 쌍을 이루어 상기 S3-3 단계에서 주기적 특징 여부가 확인되는 것을 특징으로 하는 실시간 음성 활동 검출 방법.
  12. 제11항에 있어서,
    상기 S3-3 단계는
    상기 레지스터에 저장된 음향신호의 샘플에 대해 아래의 식으로 주기적 특징 여부가 확인되는 것으로, k 개의 레지스터 쌍에서 τ를 각각 1부터 k로 설정하여 동시에 병렬 처리하는 것을 특징으로 하는 실시간 음성 활동 검출 방법.
    Figure 112011024592277-pat00010

    (여기서,
    Figure 112011024592277-pat00011
    이고, dt(τ)는 t 번째 프레임의 difference fucntion, W는 프레임의 크기, xn은 n번째 개별 샘플, τ는 프레임 내 심플 간의 간격임)
  13. 제8항에 있어서,
    상기 실시간 음성 활동 검출 방법은
    상기 S2 단계에서 저장된 음향신호의 음향 프레임 단위별로 에너지 평균값이 연산되는 S5 단계를 더 포함하는 것을 특징으로 하는 실시간 음성 활동 검출 방법.
  14. 제13항에 있어서,
    상기 S4 단계는
    상기 S3 단계에서 연산된 값과 상기 S5 단계에서 연산된 값의 곱이 기준값 이상인 경우에 플래그(flag)를 1로 설정하고, 연속하는 10개의 음향 프레임에서 연속으로 플래그가 1로 설정된 경우 음성 검출 신호가 출력되는 것을 특징으로 하는 실시간 음성 활동 검출 방법.



KR1020110031066A 2011-04-05 2011-04-05 실시간 음성 활동 검출 장치 및 검출 방법 Active KR101196518B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110031066A KR101196518B1 (ko) 2011-04-05 2011-04-05 실시간 음성 활동 검출 장치 및 검출 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110031066A KR101196518B1 (ko) 2011-04-05 2011-04-05 실시간 음성 활동 검출 장치 및 검출 방법

Publications (2)

Publication Number Publication Date
KR20120113382A KR20120113382A (ko) 2012-10-15
KR101196518B1 true KR101196518B1 (ko) 2012-11-01

Family

ID=47282944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110031066A Active KR101196518B1 (ko) 2011-04-05 2011-04-05 실시간 음성 활동 검출 장치 및 검출 방법

Country Status (1)

Country Link
KR (1) KR101196518B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003063138A1 (en) 2002-01-24 2003-07-31 Motorola Inc Voice activity detector and validator for noisy environments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003063138A1 (en) 2002-01-24 2003-07-31 Motorola Inc Voice activity detector and validator for noisy environments

Also Published As

Publication number Publication date
KR20120113382A (ko) 2012-10-15

Similar Documents

Publication Publication Date Title
CN108010515B (zh) 一种语音端点检测和唤醒方法及装置
CN107393526B (zh) 语音静音检测方法、装置、计算机设备和存储介质
CN103903612B (zh) 一种实时语音识别数字的方法
CN109644192B (zh) 具有语音检测周期持续时间补偿的音频传送方法和设备
CN112802498B (zh) 语音检测方法、装置、计算机设备和存储介质
CN109065046A (zh) 语音唤醒的方法、装置、电子设备及计算机可读存储介质
CN111276124B (zh) 一种关键词识别方法、装置、设备及可读存储介质
CN105118501A (zh) 语音识别的方法及系统
CN106098079B (zh) 音频信号的信号提取方法与装置
KR20140031790A (ko) 잡음 환경에서 강인한 음성 구간 검출 방법 및 장치
CN109215647A (zh) 语音唤醒方法、电子设备及非暂态计算机可读存储介质
CN110060693A (zh) 模型训练方法、装置、电子设备及存储介质
CN114495907B (zh) 自适应的语音活动检测方法、装置、设备以及存储介质
WO2020228107A1 (zh) 一种音频修复方法、设备及可读存储介质
TW202022855A (zh) 語音處理方法及裝置
CN105989846B (zh) 一种多通道语音信号同步方法及装置
KR20140015893A (ko) 음원 위치 추정 장치 및 방법
CN106504756B (zh) 嵌入式语音识别系统及方法
KR20100050114A (ko) 실시간 음원 방향 감지 장치 및 그 방법
CN111785302A (zh) 说话人分离方法、装置及电子设备
Lopatka et al. Acceleration of decision making in sound event recognition employing supercomputing cluster
KR101196518B1 (ko) 실시간 음성 활동 검출 장치 및 검출 방법
CN113903328A (zh) 基于深度学习的说话人计数方法、装置、设备及存储介质
CN113436641A (zh) 一种音乐转场时间点检测方法、设备及介质
CN112562727A (zh) 应用于音频监控的音频场景分类方法、装置以及设备

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20110405

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20120327

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20121022

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20121025

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20121025

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20151026

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20151026

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20171011

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20190828

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20190828

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20201026

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20211014

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20220622

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20230627

Start annual number: 12

End annual number: 12

PR1001 Payment of annual fee

Payment date: 20240620

Start annual number: 13

End annual number: 13