[go: up one dir, main page]

KR950007858B1 - 장치 작동 파라미터를 제어하는 사용자대화식 제어 시스템을 구비한 전자 장치 및 그 방법 - Google Patents

장치 작동 파라미터를 제어하는 사용자대화식 제어 시스템을 구비한 전자 장치 및 그 방법 Download PDF

Info

Publication number
KR950007858B1
KR950007858B1 KR1019870700798A KR870700798A KR950007858B1 KR 950007858 B1 KR950007858 B1 KR 950007858B1 KR 1019870700798 A KR1019870700798 A KR 1019870700798A KR 870700798 A KR870700798 A KR 870700798A KR 950007858 B1 KR950007858 B1 KR 950007858B1
Authority
KR
South Korea
Prior art keywords
word
block
data
template
frame
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.)
Expired - Lifetime
Application number
KR1019870700798A
Other languages
English (en)
Other versions
KR880700988A (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 모토로라 인코포레이티드
Publication of KR880700988A publication Critical patent/KR880700988A/ko
Application granted granted Critical
Publication of KR950007858B1 publication Critical patent/KR950007858B1/ko
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/271Devices whereby a plurality of signals may be stored simultaneously controlled by voice recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/60Substation equipment, e.g. for use by subscribers including speech amplifiers
    • H04M1/6033Substation equipment, e.g. for use by subscribers including speech amplifiers for providing handsfree use or a loudspeaker mode in telephone sets
    • H04M1/6041Portable telephones adapted for handsfree use

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

내용 없음.

Description

[발명의 명칭]
장치 작동 파라미터를 제어하는 사용자대화식 제어 시스템을 구비한 전자 장치 및 그 방법
[도면의 간단한 설명]
첨부하는 도면과 관련하여 다음 설명을 참조함으로써 본 발명에 따른 추가적인 목적과 특징 및 장점을 보다 명백하게 이해하게 될 것이다. 그리고 몇몇의 도면에 있어서 같은 참조번호는 동일한 구성 요소를 나타낸다.
제1도는 본 발명에 따른 음성 인식 템프리트로 부터 음성합성 기술을 도시하는 일반적인 블럭도.
제2도는 본 발명에 때른 음성 인식 및 음성 합성을 사용한 사용자 대화식 제어 시스템을 갖는 음성 통신 장치의 블럭도.
제3도는 손을사용하지 않는 음성 인식/음성 합성 제어 시스템을 갖는 무선 송수신기를 도시하는 본 발명의 양호한 실시예의 상세 블럭도.
제4a도는 제3도의 에너지 정규화 블럭(410)에 의해 실행되는 단계의 순서를 도시하는 흐름도.
제4b도는 제4a도의 에너지 정규화 블럭(401)에 의해 실행되는 단계의 순서를 도시하는 흐름도.
제4c도는 제4a도의 세그멘테이션(segmentation)/압축 블럭(402)의 특정 하드웨어 구성의 상세 블럭도.
제5a도는 본 발명에 따른 클러스터(cluster)를 형성하기 위해 프레임으로 세그먼트화된 구어의 도식적 도면.
제5b도는 본 발명에 따른 특정 위드 템플리트에 대해 형성되는 출력 클러스터를 얘시하는 도면.
제5c도는 본 발명에 따른 임의의 부분 클러스터 경로의 가능한 구성을 도시하는 표.
제5d도 및 제5e도는 제4a도의 세그멘테이션/압축 블럭 (402)에 의해 실행된 데이타 축소 과정의 기본 구현을 도시하는 흐름도.
제5f도는 미리 결정된 클러스터로 부터 데이타 축소 워드 템플리트의 구성을 도시하며 제5e도의 궤적추적(traceback) 및 출력 클러스터 블럭 (582)의 상세 흐름도.
제5g도는 부분적인 궤적추적에 응용할 수 있는, 본 발명에 따른 24개의 프레임에 대한 클러스터링 경로를 도시하는 트레이스백 포인터 표.
제5h도는 프레임 연결 트리(tree) 형태로 도시한 제5g도의 궤적추적 포인터 표의 그래프.
제5i도는 상기 프레임 연결 트리에서 공통 프레임으로 트레이스백함으로써 세개의 클러스터가 출력된 후의 상기 프레임 연결 트리를 도시하는 제5h도의 그래프.
제6a도 및 제6b도는 제4a도의 차등 엔코딩 블럭 (430)에 의해 실행된 단계의 순서를 도시하는 흐름도.
제6c도는 제 3도의 템플리트 메모리 (160)중 하나의 프레임의 특정 데이타 포맷을 도시하는 일반적인 메모리 맵(map)
제7a도는 본 발명에 따른, 워드 모델로 상태에 의해 표시된 평균 프레임으로 클러스터링된 프비임의 그래프.
제7b도는 상기 템플리트 메모리 (160)와의 관계를 도시한 제 3도의 인식 처리기 (120)의 상세 블럭도
제7c도는 본 발명에 따른 워드 엔코딩에 필요한 단계 순서의 한 실시예를 도시하는 흐름도.
제7d도 및 7e도는 본 발명에 따른 상태 디코딩에 필요한 단계의 한 실시예를 도시하는 흐름도.
제8a도는 제 3도의 데이타 확장기 블럭 (346)의 상세 블럭도.
제8b도는 제8a도의 차동 디코딩 블럭 (802)에 의해 실행된 단계의 순서를 도시하는 흐름도
제8c도는 제8a도의 에너지 비정규화(denomalization)블럭(804)에 의해 실행된 단계의 순서를 도시하는 블럭도.
제8d도는 제8a도의 프레임 반복 블럭 (806)에 의해 실행된 단계의 순서를 도시하는 흐름도.
제9a도는 제 3도의 채널 뱅크 음성 합성기 (340)의 상세 블럭도.
제9b도는 제9a도의 변조기/대역 통과 필터 구성의 한 실시예를 도시하는 도면.
제9c도는 제9a도의 핏치 (pitch) 펄스원(920)의 양호한 실시예의 상세 블럭도.
제9d도는 제9a도 및 9c도의 다양한 파형을 도시하는 그래프.
[발명의 상세한 설명]
[발명의 배경]
본 발명은 음성 인식 제어 시스템에 관한 것이며. 특띠 음성 인식 템플리트 (template)에 기억된 워드를 식별하기 위해 음성 합성을 이용하는 음성 통신 장치에 관한 것이다.
사람의 음성에 응답하는 사용자 대화식 제어 시스템은 다수의 미국 특허에서 공개되어 있다. 반델 몰렌에 의한 미국 특허 제4,520,576,호에서는 의류 건조기와 같은 가전제품에 이용되는 종래의 음성 명령 제어 시스템에 대해 설명하고 있다. 상기 제어 시스템은 음성 명령을 인식하고, 작동 파라메터를 설정하기 위해 필요한 정보를 얻기 위한 사용자와의 대화에서 합성된 음성을 내보낸다. 음성 인식 및 음성 합성은 브래닝에 의한 미국 특허 제4,426,733호에서, 무선 송수신기(radio transceiver) 제어 기능 (온 오프, 송신/수신, 볼륨 및 스퀘치 제어등)에도 적용되었다. 이러한 어휘 종속형 음성 인식 시스템에서, 제어된 장치는 예전된 수효의 사전 기억된 구두 명령의 인식에 한정된다.이와 유사하게, 사용자에 대한 합성 응답은 합성기 메모리에 기억된 사전 기억되거나 "기성 : 메시지에 한정된다. 그러나, 이러한 형태의 음성 인식/음성 합성 제어 시스템은 무선 전화기 (radio telephone)와 같은 좀더 복잡한 전자 장치의 제어를 위해 적절한 융통성을 제공하지는 않는다.
훨씬 더 복잡한 음성 인식 시스템은 1975년 2월 26일에서 3월 2일동안 텍사스의 달라스에서 개최된 국제 통신 박람회 기간동안 발표된 쯔루타, 사코에 및 치바에 의한 "DP-100 접속 음성 인식 시스템"이라는 명칭의 논문에서 공개되었다. DP-100 시스템은 트레이닝 및 인식으로 된 두 작동 모드를 구비한다. 트레이닝 모드에서, 사용자는 각각의 어휘 명령 워드를 1회 (또는 디지트에 대해서 2회)말하고, 각각의 트레이닝 워드는 분석되어 기준 패턴 메모리(워드 템플리트)에 기억된다.인식 모드에서, 알려지지 않은 입력 음성은 트레이닝 모드의 절차와 유사한 방식으로 분석되고, 기준 템플리트와 비교되는 동작 프로그래밍 처리기에 전달된다. 한 워드가 일치되었다는 것을 인식 처리기가 판정할 때 인식 결과는 제어 처리기로 전달된다.따라서, 사용자는 트레이닝 모드 기간동안 음성 인식을 위해 그 자신의 명령 워드 어휘를 내장한다.이 기술은 더 이상 어휘 종속적이 아니므로 음성 인식 제어 시스템의 유동성을 증가시킨다.
어휘 종속형 음성 인식 제어 시스템을 이용하는 상기 기술은 파이어즈등에 의한 미국 특허 제4, 438, 550호의 음성 제어 다이알링 회로에 포함된다. 트레이닝 모드에서, 음성 응답 회로는 템플리트가 요구되는 워드를 사용자가 말하도록 지시하는데 이용된다.이러한 템플리트 워드는 한 세트의 명령 (예를 들면, 오프 후크(off-hook), 디렉토리(directory)등), 자동 다이알용 레퍼터리명(예를 들면. 스미스, 존즈 등) 및 전화번호 디지트(0 내지 9)를 포함한다. 음성 인식 오드에서, 제한된 워드 템플리트 집단으로 부터의 음향 특성은 마이크론폰으로 부터의 입력 발성의 음향 특성과 순자적으로 비교된다. 인식되었을 때, 입력 발성을 가장 가까이 대응하는 템플리트로 식별하는 부호화 식별 신호가 발생된다. 따라서, 어휘 종속형 음성 인식기는 제어 시스템의 융통성과 특성을 상당히 증진시킨다.
그러나, 공지된 종래 기술의 참고 문헌에서는 어느 입력 발성이 어휘 종속형 음성 시스템내의 특정 워드템플리트와 연관되는가를 식별하는 문제를 효과적으로 어드레스 지정하는 가능성 있는 해결책을 제시하지 못했다. 이와 같은 특성이 없이, 음성 인식 시스템이 특정 워드를 인식하도록 트레이닝 되었는지의 여부를 사용자는 알 길이 없다.핸드 프리 (hand-free)형 차량 무선 전화기 제어 및 다이알링 시스템에 관한 본 출원에서. 이러한 제한은 다수 사용자 시스템의 기억 및 융통성의 필요 조건을 증가시키는데 상당한 장애를 유발한다.
음성 인식 템플리트와 연관된 워드를 식별하는 이러한 문제점을 해결하기 위하여 여러가지 접근법이 채택 될 수 있다.우선, 개별 응답 메모리 또는 ROM(관독 전용 메모리)은 기존의 합성된 응답 워드(예를 들면, 이름, 이름의 성 등)로 특정의 템플리트 메모리 위치를 식별하기 위해 템플리트 메모리와 병렬로 이용될 수 있다.이러한 병렬 ROM 접근법은 명백히 템플리트메모리에 기억된 실제 워드를 식별하려고 시도하지는 않는다. 제2의 가능성 있는 접근 법은 사용자에 의해 발성될 때 각각의 개별 구두 이름을 기억하기 위해 개개의 판독/기록 메모리 또는 RAM(렌덤 엑세스 메모리)을 이용한다. 구두 이름용 ROM은 특정의 음성 인식 템플리트 위치와 대응하는 구두 이름 응답을 합성하는데 이용된다. 이 방법은 각각의 템플리트와 연관된 고질의 (높은 데이타 속도)사용사 구두 음성을 기억하는데 상당히 많은 양의 판독/기록 메모리가 필요하므로,두배의 RAM의 량보더 훨씬 많은 량이 요구되는 단점이 있다. 따라서, 이러한 "병렬 RAM" 접근법도 또한 실현 가능성이 없고 가격면에서 효율적인 해결책을 제시하지는 못한다.
따라서, 어느 워드가 어휘 종속형 음성 인식 제어 시스템의 각 템플리트와 연관되는가를 식별하기 위한 개선된 방법을 제공할 필요가 있다.
[발명의 요약]
따라서, 본 발명의 일반적인 목적은 음성 인식 제어 시스템의 각각의 워드 템플리트와 연관된 워드 표현의 식별법을 제공하는 것이다.
본 발명의 또다른 특별한 목적은 음성 인식 템플리트로 부터의 음성을 합성하기 위한 방법 및 장치를 제공하는 것이다.
본 발명의 또다른 목적은 기억 장치의 요구 조건을 절감시키고, 음성 인식/음성 합성 제어 시스템을 채용하는 음성 통신 장치의 융통성을 증가시키는 것이다.
본 발명의 또다른 목적은 음성 인식 템플리트로 부터의 음성의 합성에 의해, 개선된 핸드 프리 (hand-free) 차량용 무선 전화기 제어 및 다이알링 시스템을 제어하는 것이다.
따라서, 본 발명은 장치의 작동 파라이터를 제어하기 위한 사용자 대화식 제어 시스템을 갖춘 전자 장치를 제공하는 것이다. 사용자 대화식 음성 시스템은 어느 템플리트 워드가 인식되었는가를 표시하는 음성 응답 궤환을 사용자에게 발생하도록, 음성 인식 템플리트로 부터의 음성의 새로운 음성 합성 기술을 이용한다. 제어 시스템은 사용자 구두 입력 음성 신호로 부터의 워드 템플리트를 발생하여 기억하는 수단과, 장치 제어 데이타를 발생하도록 사용자 구두 명령 워드를 인식하기 위해 위드 템플리트 및 입력 음성 신호에 응답하는 수단과, 장치 동작 파라미터를 제어하는 제어 데이타에 응답하여 전자 장치의 작동 상태를 표시하는 장치 상태 데이타를 발생하기 위한 수단과, 워드 템플리트와 상태 데이타에 응답하여 유저에 전자 장치 동작 상태를 나타내는 응답 음성을 합성시키는 수단을 포함한다.
본 발명의 한 실시예에서, 송신기와, 수신기와, 사용자 구두 명령 워드에 대한 다수의 사용자 제어형 무선 송수신기 작동 파라미터를 제어하고 무선 송수신기 작동 상태에 관한 가정 궤환을 사용자에게 제공하기 위한 해드 프리 사용자 제어 장치를 구비하는 무선 송수신기가 제공된다. 상기 제어 장치는 사용자 구두 입력 음성을 상기 제어 수단에 결합하는 핸드 프리 음향을 제공하여, 입력 음성 신호를 발생하는 제 1결합 수단과, 입력 음성 신호로 부터 음향 특성을 추출하여, 워드 특성 신호를 발생하기 위한 수단과, 특정 특성 신호를 워드 인식 템플리트로 기억하기 위한 수단과, 다수의 예정 명령 워드가 상기 다수의 무선 송수신기 작동 파라미터에 대응하는 상황에서, 음성 명령 데이타를 제공하도록 다수의 예정된 사용자 구어 명령 워드를 인식하기 위해 상기 워드 인식 템플리트와 워드 특성 신호에 응답하는 수단과, 무선 송수신기 작동 파라미터를 제어하고 무선 송수신기의 현 작동 상태를 나타내는 무선 상태 데이타를 발생하기 위해 음성 명령 데이타에 응답하는 수단과, 위드 인식 템플리트로 부터의 음성 응답 신호를 합성하기 위해 상기 무선 상태 신호에 응답하는 수단과, 상기 제어 장치로 부터의 음성 응답 신호를 사용자에게 결합하는 핸드 프리 음향을 제공하기 위한 제 2결합 수단을 포함한다.
[양호한 실시예의 설명]
1. 시스템 구성
이제 첨부하는 도면을 참조하면, 제 1도는 본 발명에 따른 사용자 대화식 제어 시스템 (100)의 일반적인 블럭도를 도시한다. 전자 장치 (150)는 음성 인식/음성 합성 제어 시스템을 고도로 정교하게 결합한 전자부품을 포함할 수도 있다. 양호한 실시예에 있어서, 전자 장치 (150)는 이동 무선 전화기와 같은 음성 통신 장치를 나타낸다.
사용자 구어 입력 음성은 제어 시스템용 전기입력 음성 신호를 제공하는 음향 결합기로 작동하는 마이크로폰(105)에 인가된다. 음항 처리기 (110)는 상기 입력 음성 신호상의 음향 특성을 추출한다.각각의 사용자 구어입력 워드의 진폭/주파수 파라미터로 정의된 위드 특성이 음성 인식 처리기(120)와 트레이닝(training) 처리기(170)에 제공된다. 또한 음향 처리기 (110)는 상기 입력 음성 신호를 상기 음성 인식 제어 시스템에 인터페이스하기 위해 아날로그 디지탈 변환기와 같은 신호 조절기 (signal conditioner)를 포함할 수도 있다. 음향 처리기(110)에 대해서는 제3도와 관련하여 다시 기술된다.
트레이닝 처리기 (170)는 템플리트 메모리 (160)에 저장될 워드 인식 템플리트를 제공하기 위해 음향 처리기(110)로 부터의 상기 워드 특성 정보를 조작한다. 트레이닝 절차 동안에 인입워드 특성정보는 그 엔드포인트(endpoint)를 배치하므로써 개별워드로 배열된다.상기 트레이닝 절차가 워드특성의 일관성을 위해 여러 트레이닝 발생(utterance)을 수용하도록 구성된다면, 상기 다중 발성은 단일 워드 템플리트를 형성하도록 평균화 된다.더우기 대부분의 음성 인식 시스템이 템플리트로서 저장될 모든 음성 정보를 필요로 하는 것은 아니기 때문에, 종종 몇몇 형태의 데이타 축소가 템플리트 메모리 요구조건을 감소하기 위해 트레이닝처리기(170)에 의해 실행된다. 상기 워드 템플리트는 음성 인식 처리기(120)와 음성 합성 처리기(140)에 의
해 사용되기 위해 템플리트 메모리 (160)에 저장된다. 제 2도와 관련한 설명에서 본 발명의 양호한 실시예에 사용된 정확한 트레이닝 절차를 알게될 것이다.
인식모드에 있어서, 음성 인식 처리기 (120)는 음향 처리기 (110)에 의해 제공된 상기 워드 특성 정보를 템플리트 메모리 (160)에 의해 제공된 상기 워드 인식 템플리트와 비교한다.만일 사용자 구어입력 음성으로부터 유도된 워드특성 정보의 음향 특성이 상기 템플리트 메모리로 부터 유도된 미리 저장된 특정 워드 템플리트의 음향 특성과 충분히 부합하면, 인식 처리기(120)는 인식된 특정 워드를 표시하는 장치 제어기(130)에 장치 제어 데이타를 제공한다. 적절한 음성 인식 장치의 또다른 논의와 양호한 실시예에서 데이타축소를 트레이닝 처리에 어떻게 통합찰 것인가가 제3도 내지 제 5도를 통해 설명으로 알게될 것이다.
장치 제어기 (130)는 전제 제어 시스템을 전자 장치 (150)에 인터페이스 한다. 장치 제어기 (130)는 인식 처리기 (120)에 의해 제공된 장치 제어 데이타를 특정 전자 장치에 의해 사용하기에 적당한 제어신호로 변환한다. 상기 제어신호에 의해 상기 장치는 사용자에 의해 지시된 바와 같은 특정 동작 기능을 실행한다(장치제어기 (130)는 또한 제 1도에 도시한 다른 구성요소와 관련된 추가감시 기능을 실행할 수도 있다) 본 발명에 사용하기 적당하고 기술적으로 공지되어 있는 장치 제어기의 한 예로 마이크로 컴퓨티가 있다. 상기 하드웨어 구현의 더 상세한 것은 제 3도를 참조할 수 있다.
또한 장치 제어기 (130)는 전자 장치 (150)의 동작상태를 표시하는 장치상테 데이타를 제공한다. 상기 장치상태 데이타는 템플리트 메모리 (160)로 부터의 워드인식 템플리트와 함께 음성 합성 처리기 (140)에 인가된다. 음성 합성 처리기(140)는 워드인식 템플리트가 사용자 인식 가능 응답 음성으로 힙성될 것인가를 결정하기 위해 상기 상태 데이타를 이용한다. 또한 음성 합성 처리기 (140)는 사용자에게 "고정"응답 워드("tanned" reply words)를 제공하기 위해 역시 상기 상테 데이타에 의해 제어되는 내부응답 메모리를 포함할 수도 있다.상기 어느 한 경우에 있어서, 스피커 (145)를 통해 상기 음성 응답신호 출력이 발생하면 사용자는 상기 전자 장치의 동작 상태를 알게 된다.
그러므로 제 1도는 본 발멸이 어떻게 전자 장치의 작동 파라미터를 제어하기 위해 음성 인식을 이용하는 사용자 대화식 제어 시스템을 제공하는가를 도시하며, 또한 사용자에게 상기 장치의 동작 상태를 나타내는 응답응성을 발생하기 위해 어떻게 음성 인식 템플리트가 이용될 수 있는가를 도시한다.
제2도는 예를 들어 쌍방향 무선 통신 시스템, 전화 시스템, 상호 통신 방식 시스템등과 같은 일부의 어떤 무선 혹은 유선 음성 통신 시스템을 구비하는 음성 통신 장치에 상기 사용자 대화식 제어 시스템을 적용하는 방법을 보다 상세하게 도시한다. 음향 처리기(110), 음성 인식 처리기(130), 템플리트 메모리(160)와 장치 제어기 (130)는 제 1도의 대응하는 블럭과 작동과 구조에 있어서 동일하다.
그러나 제어 시스템(200)은 음성 통신 장치(210)의 내부 구조를 도시한다. 음성 통신 단말기(225)는 상기 음성 통신 장치(210)의 주 전자회로망을 나타내는데, 예를 들어 전화 단말기나 통신 콘솔과 같은 것들이다.
상기 실시예에 있어서, 마이크로폰(205)과 스피커 (245)는 상기 음성통신 장치 자체에 결합된다. 상기 마이크로폰/스퍼커의 전형적인 예는 전화 송수화기이다.음성통신 단말기 (225)는 상기 음성통신 장치의 동작상태 정보를 상기 장치 제어기 (130)에 인터페이스 한다. 상기 동작상태 정보는 상기 음성통신 단말기 자체의 기능상태 데이타(즉 채널 데이타, 서비스 정보, 동작 모드 메시지 등등)와 음성 인식 제어 시스템의 사용자 피드백 (user-feedback)정보(디렉토리 목록, 워드인식 검증 작동모드 상태 등등)를 포함할 수도 있으며,또한 통신 링크에 관한 시스템 상태 데이타(라인의 손실(loss-of-line), 시스템 사용중, 무효 억세스코드 등등)를 포함할 수 있다.
트레이닝 모드나 혹은 인식모드에 있어서, 사용자 구어입력 음성의 특성인 음향 처리기 (110)에 의해 추출 된다.제2도에서 스위치(215)의 위치 "A"로 표시된 트레이닝 모드에서. 상기 워드특성 정보는 트레이닝처리기 (170)의 워드 평균기 (averager) (220)에 인가된다. 전술한 바와 같이, 상기 시스템이 단일 워드 템플리트를 형성하기 위해 다중 발성을 함께 평균하도록 구성되면, 워드 평균기(200)에 의해 평균이 이루어진다.워드 평균을 이용함으로써 상기 트레이닝 처리기는 동일 워드의 2개 혹은 그 이상의 발성 사이의 작은변화도 고려할 수 있고, 그렇게 함으로써 보다 신뢰성 있는 워드 템플리트를 발생한다. 많은 워드 평균 기술이 사용될 수도 있다. 예를 들어 상기 워드 템플리트에 대해 "최상"의 특성 셋트를 발생하기 위해 모든 트레이닝 발성의 오직 비슷한 워드 특성만을 결합하게 되는 것이 하나의 방법이다. "최상"의 템플리트를 제공하는 것이 어떤 것인가를 결정하기 위해 모든 트레이닝 발성을 단순히 비교하게 되는 것이 다른 기술이다.미합중국 음향 학회 저널지, 1980년 11월판, 제68권, 1271페이지 내지 1276페이지의 "스피커 트레인된 분리된 워드인식 시스템용 양호한 단순 트레이닝 절차" 엘.알.라비너와 제이 .지 .월펀에 의해 또다른 워드 평균 기술이 설명되어 있다.
그리고 데이타 축소기 (230)는 리드 평균기의 유무에 따라. 워드 평균기 (220)로 부터 평균된 워드 데이타나 흑은 음향 처리기 (110)로 부터 직접 나온 워드 특성 신호에 데이타 축소를 수행한다. 상기 어느 한 경우에 있어서, 축소 과정을 "로우(raw)" 워드 특성 데이타를 세그먼트로 만들고 각각의 세그먼트에 상기 데이타를 결합하는 것으로 구성된다. 그러면 상기 템플리트에 대한 저장요구도 "촉소된"워드 특성 데이타를 발생하기 위해 세그먼트로된 데이타를 차등 엔로딩함으로써 더욱 축소된다.본 발명에 관한 상기 특정 데이타축소기술이 제 4도 및 제 5도와 관련하여 완전히 설명된다.요약하면, 데이타 축소기 (230)는 템플리트 저장요구를 최소화하고 음성 인식 계산시간을 축소하기 위해 상기 로우 워드 데이타를 압축한다.
트레이닝 처리기 (170)에 의해 제공된 축소된 워드특성 데이타는 템플리트 메모리 (160)에 워드인식 템플리트로 저장된다.스위치 (215)의 위치 "B"로 표시된 인식모드에서, 인식 처리 기 (120)는 인입 워드 특성 신호를 상기 워드인식 템플리트와 비교한다.유효 명령리드가 인식되면, 인식 처리기 (120)는 장치 제어기 (130)에 지시하여, 상응하는 음성 통신장치 제어기능이 음성통신 단말기(22)에 의해 실행되도록 한다.단말기(225)는 동작상태 정보를 단말기 상태 데이타 형태로 장치 제어기(130)에 되돌려 보냄으로서 상기 장치 제어기 (130)에 응답하게 된다. 상기 데이타는 사용자에게 현재의 장치작동 상태를 알리는 적절한 음성 응답 신호를 합성하기 위해 상기 제어 시스템에 의해 이용될 수 있다. 상기 경우의 순서는 다음예를 참조함으로써 보다 명백하게 이해될 것이다.
음성 합성 처리기 (140)는 음성 합성기 (240)와 데이타 확장기 (250) 및 응답 메모리 (260)로 구성되어 있다.
상기 구성의 음성 합성 처리기는 미리 저장된 어휘 (응답 메모리 (260)에 저장됨 )로 부터 사용자에 게 "기성(고정)" 응답을 발생할 수 있으며 또한 사용자 발생 어휘 (템플리트 메모리 (160)에 저장됨)으로 부터 "템플리트"응답을 발생할 수도 있다.음성 합성기 (240)와 응답 메모리 (260)는 제 3도와 관련하여 더 설명되고,데이타 확장기 (250)는 제8a도와 함께 본 명세서에서 완전히 설명된다.조합에서, 음성 합성 처리기 (140)블럭은 스퍼커(245)로 음성 응답신호를 발생한다. 따라서 제 2도는 음성 인식 및 음성 합성 모두에 대해 단일 템플리트 메모리를 사용한 기술을 설명한다.
이제 저장된 전화번호 디렉토리로 부터 음성제어 다이얼링을 사용한 "스마트"전화 단말기의 단순예가 상기 제2도의 제어 시스템괴 동작을 설명하는데 이용된다. 먼저, 트레인되지 않은 스피커 의존 음성 인식 시스템은 명령워드를 인식하지 못한다. 그러므로 사용자는 전화 키패드로 특정 코드를 입력하므로써 상기 장치로 하여금 트레이닝 절차를 시작하도록 수동으로 해야만 한다. 그러면 장치제어기(130)는 스위치 (215)로 하여금 상기 트레이닝 모드(위치 "A")로 들어가도록 지시한다. 그런 다음 장치 제어기 (130)는 음성 합성기(240)에 지시하여 응답 메모리(260)로 부터 얻어진 "기성" 응답인 예정된 귀절 "트레이닝 어휘1(TRAINING VOCABULARY ONE)"에 응답하도록 한다. 그러면 사용자는 마이크로폰(250)에 스토어(STORE) 혹은 리콜(RECALL)과 같이 명령워드를 발생함으로써 명령워드 어휘를 조립하기 시작한다. 상기 발성의 특성이 제일 먼저 음향 처리기 (110)에 의해 추출되고 그럼 다음 위드 평균기 (220)나 혹은 데이타 축소기 (230)에 인가된다. 만일 상기 특정 음성 인식 시스템이 동일 워드의 다중 발성을 수용하도록 구성되어 있으면, 워드 평균기 (220)는 상기 특정 워드의 최상의 대표 워드를 나타내는 평균이 이루어진 워드 특성 셋트를 발생한다.만일 상기 시스템에 워드평균 능력이 없으면, 단일 발성 워드특성 (다중 발성 평균워드 특성이 아님)이 데이타 축소기 (230)에 인가된다.상기 데이타 축소과정은 불필요하거나 흑은 중복된 특성 데이타를 제거하고, 나머지 데이타를 압축하며, 템플리트 메모리 (160)에 "축소된" 워드 인식 템플리트를 제공
한다. 숫자(digits)를 인식하도록, 상기 시스템을 트레이닝 하기 위해 유사한 절차가 계속된다.
상기 시스템이 상기 명령워드 어휘로 트레이닝이 이루어지면, 사용자는 전화 디렉토리명과 번호를 입력함으로써 트레이닝 절차를 계속해야 한다. 상기 작업을 완성하기 위해 사용자는 미리 트레이닝된 명령워드,'엔터(ENTER)"로 발성한다. 상기 발생을 유효 사용자 명령으로 인식하면, 장치 제어기(130)는 음성 합성기 (240)로 하여긍 응답 메모리 (260)에 저장된 "기성" 귀절 "디지트 플이이즈 ? (DIGlTS PLEASE ? )"로 응답하도록 지시한다.적절한 전화번호 숫자(즉 555-1234)를 입력하고 나면, 사용자는 "터미네이트(TERMINATE)"라고 말하고 상기 시스템은 일치하는 디렉토리 이름의 사용자 목록(즉 SMITH)을 촉구하는 "네임 플리이즈 ? (NAME PLEASE ? )"라고 응답한다 상기 사용자 대화과정은 전화번호 디렉토리가 적절한 전화이름 및 숫자로 완전히 체워질 때까지 계속된다.
전화를 걸기 위해서는 사용자는 단순히 명령워드 '리콜(RECALL)"을 발성한다. 상기 발성이 인식 처리기 (120)에 의해 유효 사용자 명령으로 인식되면, 장치 제어기 (130)는 음성 합성기 (240)에 지시하여 응답 메모리 (260)에 의해 제공된 정보를 합성하여 구두응달(verbal reply) "네임 ? (NAME ? )"을 발생하도록 한다. 그러면 사용자는 다이얼하고자 원하는 전화번호(즉 존 ' JONES)와 일치하는 디렉토리 색인으로 이름을 말함으로써 응답한다.만일 상기 워드가 템플리트 메모리 (160)에 저장된 예정된 이름 색인과 일치하면 상기 워드는 유효 디렉토리 목록으로 인식된다.만일 상기 워드가 유효하다면, 장치 제어기 (130)는 데이타 확장기(250)에 지시하여 템플리트 메모리(160)로 부터 적절한 축소된 워드인식 템플리트를 얻도록 하고, 합성하기 위해 데이타 확장 과정을 실행하도록 한다.데이타 확장기 (250)는 축소된 워드특성 데이타를 "언팩(Unpacks)"하고 명료한 응답워드를 위해 적당한 에너지 등고(energy contour)를 재생한다.그러면 확장된 워드 템플리트 데이타는 음성 합성기(240)에 공급된다. 상기 템플리트 데이타는 응답 메모리 데이타를 사용하여 음성 확성기 (240)는 귀절 "JONES‥[템플리트 메모리 (160)로 부터 데이타 확장기 (250)를 통해]‥‥5-5-5, 6-7-8-9[응답 메모리 (260)로 부터]"을 발생한다.
그러면 사용자는 상기 제어 시스템에 의해 인식되었을때, 장치 제어기 (130)로 하여금 음성통신 단말기(225)에 전화번호 다이어링 정보를 보내도록 지시하는 명령워드, "SEND"라고 말한다. 상기 음성통신 단말기 (225)는 적절한 통신링크를 통해 상기 다이어링 정보를 발생한다.전화 접속이 이루어지면. 음성통신 단말기 (225)는 마이크로폰(205)으로 부터 마이크로폰 오디오를 적절한 전송경로로 인터페이스하고, 적절한 수신 오디오 경로로 부터 수신 오디오를 스피커 (245)로 인터페이스한다. 적절한 전호 접속이 이루어지지 않으면, 상기 음성통신 단말기 (225)은 적절한 통신링크 상태 정보를 장치 제어기 (130)에 제공한다. 따라서, 장치 제어기 (130)은 음성 합성기(240)에 지시하여 응답워드 "시스템 사용중(SYSTEM BUSY)"과 같이 제공된 상태 정보와 일치하는 적절한 응답워드를 발생하도록 한다. 상기 방법으로 사용자는 통신링크 상태를 알게되고, 사용자 대화식 음성 제어 디펙토리 다이얼링이 이루어진다.
상기 동작의 설명은 단지 본 발명에 따른 음성 인식 템플리트로 부터 음성을 합성하는 한가지 응용일 뿐이다. 예를들어 통신콘솔과 2-웨이 무선 시스템등과 같이 음성통신 장치에 상기 새 기술이 많이 응용된다고 생각된다. 상기 양호한 실시예에 있어서, 본 발명의 제어 시스템은 이동 무선 전화기와 함께 사용된다.
음성인식과 음성 합성은 차량 운전자로 하여금 도로상에 두 눈을 유지하도록 하지만, 종래의 송수화기나 손으로 잡는 마이크로폰은 조정핸들상에 양손을 계속 유지하지 못하게 하고, 적당하게 수동(혹은 자동으로)트랜스미션 이동을 수행하지 못하게 한다. 이러한 이유로, 상기 양호한 실시예의 제어 시스템은 핸드-프리음성 통신 장치 제어를 제공하는 스피커폰을 포함한다. 상기 스피커폰은 전송/수신 음성 스위치 기능을 수행하고 또한 수신된/음성 합성 멀티플렉싱 기능을 수행한다.
이에 제3도를 참조하면, 제어 시스템(300)은 제2도의 대응하는 블럭과 동일한 음향 처리기 블럭(110), 트레이닝 처리기 블럭 (170), 인식 처리기 블럭 (120), 템블리트 메모리 블럭 (160). 장치 제어기 블럭 (130) 및 합성 처리기 블럭(140)을 이용한다. 그러나 마이크로폰(302)과 스피커(375)는 상기 음성통신 단말기의 절대 필요한 부품은 아니다. 대신에 마이크로폰(302)으로 부터의 입력음성 신호는 스피커폰(360)을 경유해 무산 전화기(350)로 들어간다. 유사하게, 스피커폰(360)또한, 상기 통신 링크로 부터의 수신 오디오와 상기 제어 시스템으로 부터의 합성 오디오를 멀티플렉싱하는 것을 제어한다. 상기 스피커폰의 스위칭/멀티플렉싱 구성이 뒤에 보다 상세히 분석하여 설명된다.추가적으로 상기 음성통신 단말기는 제 3도에서 무선 주파수(RF) 채널을 통해 적당한 통신링크를 제공하기 위한 송신기와 수신기를 구비한 무선 전화기로서 설명된다. 또한 뒤에 무선 블럭이 상세하게 설명된다.
전형적으로 사용자의 입에서 먼거리에 원격 장착된 마이크로폰(302)은 사용자 음성을 제어 시스템(300)에 음향적으로 결합한다. 상기 음성 신호는 통상 입력음성 신호(305)를 제공하기 위해 전치 증폭기(304)에 의해 증폭된다. 상기 오디오 입력은 집접 음향 처리기(110)에 인가되며, 무선 전화기(350)에 인가되기 전에 스위치된 마이크로폰 오디오 라인(315)를 통해 스피커폰(360)에 의해 스위치 된다.
전술된 바와 같이, 음항 처리기(110)는 트레이닝 처리기(170)와 인식 처리기(120) 모두에 워드 특성 정보를 제공하기 위해 사용자 구어 입력 음성특성을 추출한다. 먼저 음향 처리기(110)는 아날로그-디지탈(A/D) 변환기(310)에 의해 아날로그 입력 음성을 디지탈 형태로 변환한다. 그런 다음 상기 디지탈 데이타는 특성추출 기능을 디지탈 식으로 수행하는 특성 추출기(312)에 인가된다. 어떤 특성 추출 방식도 특성 추출기 블럭(312)에 이용되지만 본 실시예는 특정 형태의 "체널뱅크"특성 추출을 이용한다. 체널뱅크 방식에서 상기 오디오 입력 신호 주파수 스펙트럼이 대역통과 필터 뱅크에 의해 개개의 스팩트럼 밴드로 나누어지고, 적당한 워드 특성 데이타가 각각의 밴드에 존재하는 에너지 크기에 따라 발생한다. 벨 시스템 테크니칼 저널지 제62권 No. 5(1983년 5월-6월) 1311페이지 내지 1335페이지에 비 .에이 .도트리치, 엘 알.라비너와 티 .비 .마틴에 의해 저술된 "필터 뱅크 기초 분리 워드 인식기의 실행에 관한 선택된 단일 처리 기술의 효과"라는 항목에 상기 형태의 특성 추출기가 설명되어 있다. 적당한 디지탈 필터 알고리즘이 "디지탈 신호처리의 이론과 응용"의 제 4장에 엘.알.라비너와 비 .골드에 의해 설정되어 있다(1975년판, 뉴져지, 잉글우드 클리프스, 프렌타이스 흘) .
트레이닝 처리기(170)는 템플리트 메모리(160)에 저장될 워드 인식 템플리트를 발생하기 위해 상기 워드 특성 제이타를 이용한다. 첫째로. 엔드포인트 검출기 (318)가 사용자 워드의 적절한 시작 및 끝 위치에 위치한다. 상기 엔드포인트는 입력워드 특성 데이타의 시간적으로 변화하는(time-varying) 전체 산정 에너지에 근거하고 있다. 상기 형태의 엔드 포인트 검출기가 벨 시스템 테크니칼 저널 제54권 No.2(1975년 2월)297페이지 내지 315페이지에 엘.알.라비너와 켐.알.삼버에 의해 "분리 발성의 엔드포인트를 결정하기 위한 알고리즘"에 설명되어 있다
그러면, 워드 평균기(320)는 보다 확실한 템플리트를 제공하기 위해 사용자가 말한 동일 워드의 몇몇 발성을 결합한다.제 2도에서 전술한 바와 같이. 어떤 적절한 워드평균 스켐 (scheme)이 이용될 수 있고, 혹은 워드 평균 기능이 모두 생략될 수도 있다.
데이타 축소기 (322)는 축소된 워드 인식 템플리트로서 템플리트 메모리 (160)에 기억하기 위한 축소된 워드 특성 데이타를 발생하기 위해 워드 평균기 (320)로 부터 "로우"워드 특성 데이타를 이용한다. 데이타 축소과정은 기본적으로 에너지 데이타를 정규화 하는 것파, 워드 특성 데이타를 세그먼팅하는 것 및, 각각의 세그먼트에 데이타를 결합하는 것으로 이루어진다.결합된 세그먼트가 발생된 후에는, 상기 기억 요구는 필터 데이타의 차등 엔코딩에 의해 더욱 축소된다. 상기 데이타 축소기 (322)의 실제적인 정규화, 세그먼테이션 및 차등 엔코딩 단계가 제 4도 및 제 5도와 함께 상세하게 설명된다.템플리트 메모리 (160)의 축소된 데이타 포맷을 도시하는 일반적인 메모리 맵에 대해서는 제6c도를 참조하자.
엔드포인트 검출기(318)과, 워드 평균기 및 데이타 축소기(322)는 트레이닝 처리기(170)에 포함된다. 트레이닝 모드에 있어서, 상기 제어기(130)로 부터의 트레이닝 제어 신호(325)는 템플리트 메모리(160)에 기억하기 위한 새로운 리드 탬플리트를 발생하도록 상기 세개의 블럭(318), (320). (322)에 지시한다. 그러나 인식모드에 있어서는, 상기 트레이닝 제어신호(325)가 음성 인식 동안에는 상기 기능을 필요로 하지 않기 때문에 상기 세개의 블럭으로 하여금 새로운 워드 템플리트 발생 과정을 중지하도록 지시한다. 그러므로 트레이닝 처리기(170)는 오직 트레이닝 모드에서만 사용된다.
템플리트 메모리(160)는 인식 처리기(12U)에서 인입음성은 부합되는 워드 인식 템플리트를 기억한다. 템플리트 메모리 (160)는 전형적으로 어떤 필요한 어드레스 구성으로 조립될 수 있는 표준 랜덤 억세스 메모리(RAM)로 이루어져 있다.음성 인식 시스템으로서 사용될 수 있는 범용(qeneral purpose) 램 (RAM)은 도시바 5565 8kx8스태틱 램이다.그러나 상기 시스템이 턴 오프 되어도 워드 템플리트가 유지되고 있는 비휘발성 (lion-volatile) 램이 더 좋다.본 실시예에 있어서도 EEPROM(전기적으로 소거 가능하고. 프로그램 가능한 판독 전용 메모리: Electrically erasable, programmable read-only memory)이 템플리트 메모리 (160)로서 기능한다.
템플리트 메모리(160)에 기억된 워드 인식 템플리트는 음성 인식 처리기(120)와 음성 합성 처리기(140)에 제공된다.인식 모드에 있어서, 인식 처리기(120)는 이미 저장되어 있는 워드 템플리트를 음향 처리기(110)에 의해 제공된 입력 워드 특성과 비교한다.본 실시예에 있어서. 인식 처리기(120)는 두개의 별개의 블럭 즉 템플리트 디코더(328)와 음성 인식기(326)로 이루어진 것이라고 생각할 수 있다. 음성 인식기(326)가 비교기능을 수행할 수 있도록, 템플리트 디코더 (328)는 상기 템플리트 메모리에 의해 제공된 축소된 특성 데이타를 해석한다.요약하여 설명하면, 템플리트 디코더 (328)는 템플리트 기억장치로 부터 축소된 데이타를 얻는 효과적인 '니블(nibble) 모드 억세스 기술"을 실현하며, 또한 음성 인식기 (326)가 정보를 이용할 수 있도록 상기 축소된 데이타를 차동 엔코딩한다. 제7b도를 참조하여 템플리트 디코더(328)를 상세히 설명한다.
템플리트 메모리(160)에의 기억을 위해 축소된 데이타 포맷으로 상기 특성 데이타를 압축하기 위한 데이타 축소기(322)를 실현하는 기술과, 축소된 워드 템플리트 정보를 디코딩하기 위한 템플리트 디코더(328)를 사용하면 템플리트의 필요가 최소화 된다.
실제적인 음성 인식 비교과정을 실행하는 음성 인식기 (326)는 몇몇의 음성 인식 알고리즘 중 한 알고리즘을 사용한다. 본 실시예의 인식 알고리즘은 템플리트 부합을 결정하기 위한 체비쉐브 간격 행렬(chebyshev distance metric)과 연속적 음성 인식 및 다이나믹 타임 워핑 (dynamic time warping)과 에너지 정규화를 포함한다. 상세한 설명에 대해서는 제7a도는 이하를 참조하자. 음향, 음성 및 신호처리에 관한 IEEE 국제회의(1982년 5월 3-5일)의 논문 제2권의 899 내지 902페이지에 제이. 에스. 브라이들. 엠. 디. 브라운 및 알. 엠. 참버레인에 의해 발표된 "연속 워드 인식을 위한 알고리즘"에 설명된 바와 같이 종래 기술의 인식 알고리즘이 사용될 수도 있다.
본 실시예에 있어서 8-비트 마이크로 컴퓨터가 음성 인식기 (326)기능을 수행한다 더우기 제 3도의 몇몇의 다른 제어 시스템 블럭이 코덱/필터(CODEC/FILTER)와 DSP(디지탈 신호 처리기)의 도움으로 상기 동일한 마이크로 컴퓨터에 의해 부분적으로 구현된다. 본 발명에 사용될 수도 있는 음성 인식기(326)에 대한 다른 하드웨어 구성이 제이.페크함과 제이.그린 및 제이.캐닝과 피.스테븐스에 의해 음향, 음성 딪 신호처리에 관한 IEEE국제회의(1982년 5월 3-5일)의 논문 제2권 863내지 866페이지의 "실시간 하드웨어 연속 음성 인식 시스템"과 거기에 포함된 참고 문헌에 설명되어 있다. 그러므로 본 발명은 음성 인식의 어느 특정 형태나 혹은 어느 특정 하드웨어에 제한되지 않는다. 특히 본 발명은 분리되거나 혹은 연속한 위드 인식과 소프트웨어에 기초하거나 혹은 하드웨어에 기초한 실시예의 실현을 고려한 것이다.
제어 유니트(334)와 디렉토리 메모리(332)로 이루어진 장치 제어기(130)는 음성 인식 처리기(120)와 음성합성 처리기(140)를 쌍방향 인터페이스 버스를 통해 무선 전화기(350)에 인터페이스 한다. 제어 유니트(334)는 전형적으로 무선 논리 블럭(352)으로 부터 제어 시스템의 다른 불럭으로 데이타를 인터페이스할 수 있는 제어 마이크로 프로세서이다. 또한 제어 유니트(334)는 제어 헤드를 언록킹 (unlocking)하는 것, 전화를 호출하는 것, 전화호출을 마치는 것 등과 같은 연산 제어를 실행한다. 상기 무선 제어에 대한 특정 하드웨어 인터페이스 구조에 따라, 제어 유니트(334)는 DTMF 다이얼링, 인터페이스 버스 멀티플렉싱, 제어 기능 결정 (decision-making)과 같은 특정 제어 기능을 수행하기 위해 다른 부 블럭을 포함할 수도 있다. 더우기, 제어 유니트(334)의 데이타 인터페이스 기능은 무선 논리 블럭 (352)의 기존 하드웨어에 포함될 수도 있다. 그러므로 각각의 무선 형태나 혹은 각종의 전자 장지 응용에 대비해 전형적으로 하드레어 지정 제어 프로그램이 준비된다.
EEPROM으로된 디렉토리 메모리(332)는 많은 전화번호를 기억하여 디렉토리 다이얼링을 할 수 있다. 기억된 전화번호 디렉토리 정보가 제어 유니트(334)로 부터 디렉토리 메모리 (332)로 인입 전화번호를 트레이닝 처리하는 동안에 보내지고, 동시에 상기 디렉토리 정보는 유효 디렉토리 다이얼링 명령으로 인식에 응답하여 제어 유니트(334)에 제공된다. 사용된 특정 장치에 따라, 디렉토리 메모리(332)를 전화기 장치 자체에 일체화 하는 것이 더욱 경제적일 수도 있다. 그러나 일반적으로 장치 제어기 (130)는 전화 디렉토리 저장기능과 전화번호 다이얼링 기능 및 무선 연산 제어기능을 수행한다.
또한 장치 제어기(130)는 무선 전화의 동작상태를 나타내는 상기한 형태의 상태 정보를 음성 합성 처리기(140)에 제공한다. 상기 상태 정보는 디렉토리 메모리 (322)에 기억된 전화번호("555-1234"등), 템플리트 메모리 (160)에 기억된 디렉토리 명 ("스미스" "죤"등), 디렉토리 상태정보("디렉토리플" "이름 ? "등)나 흑은 무선 전화 상태정보("호출중지" "시스템 사용중"등)와 같은 정보를 포함할 수도 있다. 그러므로 장치 제어기 (130)는 사용자 대화식 음성 인식/음성 합성 제어 시스템의 핵심부이다
음성 합성 처리기 블럭(140)은 음성 응답 기능을 수행한다. 템플리트 메모리(160)에 저장된 워드 인식 템플리트가 템플리트로 부터 음성 합성이 요구될 때마다 데이타 확장기 (346)에 제공된다. 전술한 바와 같이, 데이타 확장기 (346)는 템플리트 메모리 (160)로 부터의 축소된 워드 특성 데이타를 언팩 (unpack)하며, 채널 뱅크 음성 합성기 (340)에 대해 "템플리트" 음성 응답 데이타를 준비한다. 데이타 확장기 (346)에 대한 상세한 설명은 제8a도 이하를 참조하자.
만일 상기 시스템 제어기가 "기성" 응답 워드가 필요하다고 결정하면, 응답 메모리 (344)는 음성 응답 데이타를 채널뱅크 음성 합성기 (340)에 공급한다. 응답 메모리 (344)는 ROM이나 EPROM을 포함한다. 상기 양호한 실시예에 있어서 인텔 TD 27256 EPROM이 응답 메모리 (344)로서 사용된다.
"기성" 즉, "템플리트" 음성 응답 데이타를 사용하여 채널뱅크 음성 합성기 (340)는 상기 응답 위드를 형성하고 디지탈∼아날로그(D/A) 변환기 (342)에 그것을 출력한다.그런 다음 상기 음성 응답이 사용자에게 전달된다. 본 실시예에 있어서, 채널뱅크 응답 합성기(340)는 14-채널 보코우더(VOCODER)의 음성 합성 부분이다. 상기 보코우더의 한 예를 IEE PROC.제127권, Pt.F, No.1(1980년, 2월)의 53 내지 60페이지에 제이 .엔. 흘름스에 의해 "JSRU 재널 보로우더"에서 볼 수 있다. 채널뱅크 합성기에 제공된 정보는 통상적으로 상기 입력 음성이 유성음이 되어야 하는지 혹은 무성음이 되어야 하는지에 관한 정보와, 있다면 핏치율(Pitch rate)과, 14필터 각각의 이득에 관한 정보를 포함한다.그러나 당업자에게 명백한 바와 같이,어떤 형태의 음성 합성기도 기본 음성 합성 기능을 수행하는데 사용될 수 있다.채널뱅크 음성 합성기(340)의 특정 구성에 데해 제9a도 이하에서 도면과 함께 충분히 설명된다.
위에서 본 바와 같이, 본 발명은 음성 통신 장치용 사용자 대화식 제어 시스템을 제공하기 위해 음성 인식 템플리트로 부터의 음성 합성 실현을 개시하고 있다.본 실시예에 있어서, 상기 음성 통신 장치는 셀룰러 이동 무선 전화기와 같은 무선 송수신기이다. 그러나 핸드-프리 사용자 대화식 동작을 보장하는 어떤 음성 통신 장치도 사용될 수 있다. 예를 들어, 핸드-프리 제어를 요하는 어떤 단일 무선 송수신기도 역시 본 발명의 개선된 제어 시스템의 장점을 가질 수 있다.
이제 제3도의 무선 전화기 블럭(350)을 참조하면 무선 논리 블럭(352)은 실제적인 무선 연산제어 기능을 수행한다. 특히 주파수 합성기(356)에 지시하여 채널 정보를 송신(353)와 수신기(357)에 제공하도록 한다. 또한 주파수 합성기(356)의 기능은 수정 세어 채널 발진기에 의해 실행된다. 듀플렉서(duplexer) (354)는 송신기(352)와 수신기(357)를 안테나(359)를 통해 무선 주파수(RF) 채널에 인터페이스한다. 단일 무선 송수신기의 경우에 있어서, 듀플렉서(354)의 기능은 RF 스위치에 의해 실행된다.대표적인 무선 전화기 회로에 대한 보다 상세한 설명은 모토로라 인스트럭션 매뉴얼 68P81066E40의 제목 'DYNA T.A.C 셀룰러 이동 전화기"를 참조하자.
본 실시예에서 VSP(Vehicual「speakerphone :차량 스피커폰)로도 불리는 스피커본(360)은 사용자 구어 오니오(user-spoker audio)를 상기 제어 시스템과 무선 전화기 송신기 오디오에, 합성 음성 응답 신호를 사용자에게, 또한 무선 전화기로 부터 수신된 오디오를 사용자에게 핸드-프리 음향 결합을 제공한다. 전술한 바와 같이 전치 증폭기(304)는 입력 음성 신호(305)를 음향 처리기(110)를 제공하도록 마이크로폰(302)에 의해 제공된 오디오 신호를 증폭한다. 상기 입력 음성 신호는 또한 VSP 송신 오디오 스위치 (352)에 인가되는데 상기 스위치 (362)는 입력 신호(305)를 송신 오디오(315)를 통해 무선 송수신기 (353)에 전달한다. VSP 송신 스위치 (362)는 VSP 신호 검출기 (364)에 의해 제어된다. VSP 신호 검출기 (354)는 VSP 스위칭 기능을 수행하기 위해 수신 오디오(355)의 크기와 입력신호(305)의 크기를 비교한다.
이동 무선 사용자가 말을 하고 있으면, VSP 신호 검출기(364)는 송신 오디오 스위치(362)를 폐쇄하기 위해서 검출기 출력단(361)을 통해 정의 제어신호를 제공하고, 수신 오디오 스위치 (368)를 개방하기 위해 검출기 출력단(363)을 통해 분리 제어신호를 제공한다. 반대로, 지상 통신부(landline party)에서 말을 하고 있으면, VSP 신호 검출기(364)는 수신 오디오 스위치(368)을 폐쇄하기 위해 반대 극성의 신호를 제공하고 동시에 송신 오디오 스위치 (362)를 개방한다. 수신 오디오 스위치가 페쇄되면. 무선 전화기 수신기(357)로 부터의 수신기 오디오(355)가 수신 오디오 스위치(368)를 통해 스위치된 수신 오디오 출력단(367)을 경유해 멀티플렉서 (370)에 전달된다. 몇몇의 통신 시스템에 있어서, 오디오 스위치 (362), (368)를 상기 신호 검출기로 부터의 제어신호에 응답하여 동일하지만 서로 반대 극성의 감쇠를 일으키는 가변이득 장치로 대치하는 것이 유익하다는 것을 입증할 수 있다. 멀티플렉서 (370)는 제어 유니트(334)로 부터의 멀티플렉스 신호(335)에 응답하여 스위치된 수신 오디오 출력단(367)과 음성 응답 오디오(345)를 스위치 한다. 제어 유니트가 상태 정보를 음성 합성기에 전송할 때마다 멀티플렉서 신호(335)는 멀티플렉서 (370)로 하여금 음성 응답 오디오를 스피커에 보내도록 지시한다. VSP 오디오(365)는 통상적으로 스퍼커에 인가되기 전에 오디오 증폭기 (372)에 의해 증폭된다. 본 명세서에 설명하는 차량 스피커폰의 실시예는 본 발명에 사용될 수 있는 많은 가능한 구성중 하나에 불과하다는 것을 주목하자.
요약하면. 제 3도는 사용자 구어 명령에 관한 무선 전화기 작동 파라미터를 제어하기 위한 핸드-프리 사용자에 대화식 음성 인식 제어 시스템을 구비한 무선 전화기를 설명한다. 상기 제어 시스템은 음성 인식 템플리트 메모리나 흑은 "기성" 응답 메모리로 부터 음성 합성을 통해 사용자에게 가청 피드백 (audible feedback)을 제공한다. 차량 스피커폰은 사용자 구어 입력 음성을 제어 시스템과 무선 송신기에 음향 결합하고, 상기 제어 시스템으로 부터의 음성 응답 신호를 사용자에게, 또한 수신이 오디오를 사용자에게 핸드-프리 음향 결합을 제공한다. 인식 템플리트로 부터의 음성 합성을 실현하면 무선 전화기의 음성 인식제어 시스템의 성능이 개선되며, 다양성이 증대된다.
2. 데이타 축소 및 템플리트 저장
제4a도를 참조하면. 제4a도는 데이타 축소기(322)의 확대 블럭도를 도시한다. 전술한 바와 같이. 데이타 축소기 블럭 (322)은 템플리트 메모리(160)에 저장하기 위한 축소된 워드 특성 데이타를 발생하기 위해 워드 평균기(320)로 부터의 "로우" 리드 특성 데이타를 이용한다. 데이타 축소기능은 3단계로 실행되는데. 즉(1)에너지 정규화 블럭(410)은 채널 에너지의 평균값을 감산함으로써 채널 에너지에 대한 기억치의 범위를 축소하고, (2) 세그멘테이션/압축 블럭(420)은 워드 특성 데이타를 세그멘트로 만들고 "클러스터"를 형성하기 위해 음향적으로 유사한 프레임을 결함하여. (3) 자동 엔로딩 블럭(430)은 저장요구를 더욱 축소하기 위해 실제 채널 에너지 데이타가 아닌, 저장을 위한 인접 채널들 사이의 차이를 발생한다. 상기 3단계의 과정이 모두 실행되면, 각각의 프레임에 대해 축소된 데이타 포맷이 제6c도에 도시한 바와 같이 오직 9바이트로 저장된다. 요약하면, 데이타 축소기 (322)는 저장요구를 최소화하기 위해 "로우" 워드 데이타를 축소된 데이타 포맷으로 "팩 (pack ; 데이타를 압축 기억시킴)"한다
제4b도의 흐름도는 제4a도의 에너지 정규화 블럭 (410)에 의해 실행되는 단계의 순서를 설명한다. 블럭(440)에서 시작하면, 블럭 (441)은 후에 계산에 사용되게 될 변수를 초기화 한다. 프레임 카운트 FC는 데이타 축소될 위드의 제 1프레임에 일치하여 1로 초기화 된다. 채널 총계(channel total , CT)는 채널뱅크 특성 추출기 (312)와 일치하는 채널의 총 수로 초기화 된다. 상기 양호한 실시예에 있어서, 14채널 특성 추출기가 사용된다.
그다음 프레임 총계 (frame total . FT)가 블럭 (442)에서 계산된다. 프레임 총계 FT는 상기 템플리트 메모리에 저장될 워드당 프레임의 총 수이다. 상기 프레임 총계 정보는 트레이닝 처리기 (170)에서 이용할 수 있다. 설명하자면, 500 미리세컨드(milli second) 지속 기간 입력 워드의 음향 특성은 10미리세컨드마다 샘플링이 이루어 진다(디지탈 식으로) 각각의 10미리세컨드 타임 세그먼트가 한 프레임으로 된다. 그러므로 500 미리세컨드 워드는 50프레임을 포함한다. 그러므로 FT는 50이다.
블럭(443)은 상기 워드의 모든 프레임이 처리되었는지를 알아보는 테스트를 한다. 만일 상기 프레임 계수 FC가 프레임 총계 FT보다 크다면, 정규화하기 위해 남아 있는 워드의 프레임이 하나도 없게 되고, 상기 워드에 대한 에너지 정규화 과정이 블럭 (444)에서 끝나게 된다. 그러나 만일 FC가 FT보다 크지 않다면, 에너지 정규화 과정이 상기 워드의 다음 프레임으로 계속된다. 상기 예의 50프레임 워드의 예를 적용시켜 보면, 상기 워드 각각의 프레임은 블럭 (452)을 통해 블럭 (445)에서 에너지 정규화 되고, 상기 프레임 카운트 FC는 블럭 (453)에서 증가되며, FC는 볼럭 (443)에서 테스트된다. 상기 워드의 50번째의 프레임이 에너지 정규화된 후에, FC는 블럭 (453)에서 51로 증가된다. 51인 프레임 계수 FC가 프레임 총계 FT50과 비교 되는 경우, 블럭(443)은 에너지 정규화 과정을 블럭(444)에서 끝마치게 된다.
실제적인 에너지 정규화 과정은 상기 템플리트 메모리에 기억될 값의 범위를 축소하기 위해 각각의 별개 채널로 부터 상기 모든 채널의 평균값을 감산함으로써 완료된다. 블럭(445)에서 평균 프레임 에너지(AVGENG)가 다음 공식에 따라 계산된다.
i=CT
AVCENG=SUM CH (i) /CT
i=1
여기서 CH(i)는 개개의 채널 에너지이고, CT는 채널의 총수와 같다. 본 실시예에 있어서, 에너지는 로그(log) 에너지로서 저장되고 에너지 정규화 과정에 의해 실제적으로 상기 각각의 채널 로그 에너지로 부터 평균 로그 에너지가 감산된다.
상기 평균 프레임 에너지 AVGENG는 블럭(446)에서 산출되고 각각의 프레임에 대해 채널 데이타의 마지막 위치에 기억된다(제6c도의 바이트 9참조). 평균 프레임 에너지를 4비트로 효과적으로 기억시키기 위하여, AVGENG가 전체 템플리트의 피크(peak) 에너지 값으로 정규화되고, 그런 다음 3dB 단계로 양자화된다. 상기 피크 에너지가 값 15로 설정되면(최대 4비트). 한 템플리트 내의 총 에너지 변화는 16단계×3dB/단계=48dB가 된다. 상기 양호한 실시예에 있어서. 상기 평균 에너지 정규화/양자화는 세그멘테이션/압축 과정 (블럭 420) 동안에 보다 고정밀 계산을 하기 위해 채널 14를 차동 엔코딩 한 후에 실행된다.
블럭(447)은 채널 계수 CC를 1로 셋트시킨다. 블럭(448)은 채널 계수기 CC에 의해 누산기로 어드레스된 채널 에너지를 판독한다. 블럭 (449)은 블럭(448)에서 판독된 채널 에너지로 부터 블럭 (445)에서 계산된 평균 에너지를 감산한다. 상기 단계는 블럭 (450)에서 세그멘테이션/압축 블럭 (420)으로 출력되는 정규화된 채널 에너지가 데이타를 발생한다. 블럭(451)은 채널 계수기를 증가시키고, 블럭(452)은 모든 채널이 정규화 되었는지 알아보는 테스트를 한다. 만일 새로운 채널 계수가 채널 총계보다 크지 않으면, 상기 과정은 다음채널 에너지가 판독되는 블럭(448)으로 되돌아 간다. 그러나 만일 상기 프레임의 모든 채널이 정규화 되었다면, 상기 프레임 계수는 데이타의 다음 프레임을 얻기 위해 블럭 (453)에서 증가된다. 모든 프레임이 정규화되면, 데이타 축소기 (322)의 에너지 정규화 과정이 블럭 (444)에서 끝나게 된다.
이제 제4c도를 참조하면, 제4c도는 데이타 축소기의 실현 즉 블럭 (420)을 설명하는 블럭도이다. 상기 입력 특성 데이타가 초기 프레임 기억장치 즉 블럭 (502)내의 프레임에 기억된다. 기억장치에 사용되는 메모리 램 (RAM)이 좋다. 어떤 프레임을 클러스터링 될 것인지를 제어, 지정하기 위해 세그멘테이션 제어기 블럭(504)이 사용된다. 상기 목적을 위해 모토로라 형명 6805 마이크로 프로세서와 같은 다수의 마이크로 프로세서가 사용될 수 있다.
본 발명은 인입 프메임을 평균하기 전에 상기 프레임 사이의 유사성을 걸정하기 위해 상기 프레임과 관련된 왜곡 추정치를 먼저 클러스터링 함으로써 평균하는 것을 필요로 한다.상기 계산은 블럭 (504)에 사용된 마이크로프로세서와 유사하거나 혹은 동일한 것에 의해 이루어지는 것이 바람직하다. 상기 계산에 대한 상세한 논의가 계속된다.
어느 프레임이 결합될 것인지가 결정되면, 상기 프레임 평균기 즉 블럭 (508)은 상기 프레임을 대표 평균 프레임으로 결합한다. 다시 블럭 (504)과 같은 유사한 형의 처리수단이 평균화를 위해 특정 프레임을 결합하는데 사용될 수 있다.
데이타를 효과적으로 축소하기 위하여, 상기 결과와 워드 템플리트는 인식처리가 저하되는 점에서 왜곡됨이 없이 갸능한한 템플리트 기억장치를 적게 사용해야 한다. 달리말하면, 워드 템플리트를 나타내는 정보의 양은 최소가 되어야 하고, 동시에 인식의 정확성은 최대가 되어야 한다. 비록 상기 두가지는 극단적으로 모순이 되지만, 왜곡의 최소 레벨이 각각의 클러스터용으로 허용되면 상기 워드 템플리트 데이타는 최소화될 수 있다.
제5a도는 소정의 왜곡에 대해 프레임을 클러스터링 하는 방법을 설명한다.음성은 프레임 (510)에 그룹지워진 특정 데이타로서 기술된다. 클러스터(512)는 대표 평균 프레임(514)으로 결합된다. 상기 평균 프레임(514)은 상기 시스템에 사용된 특징 데이타의 특정 형태에 따른 여러가지 공지된 평균하는 방법에 의해서 발생될 수 있다. 클러스터가 허용할 수 있는 왜곡 레벨과 부합하는지를 결정하기 위해, 종래 기술의 왜곡 테스트가 사용될 수 있다. 그러나 상기 편균 프레임(514)은 유사성 측정을 위해 상기 클러스터 (512)내의 프레임 (510) 각각과 비교되는 것이 바람직하다. 상기 평균 프레임과 상기 클러스터 (512)내의 각각의 프레임 사이의 거리는 거리 Dl-D5로 표시된다. 만일 상기 거리중 하나가 허용할 수 있는 왜곡 레벨,즉 임계거리(threshold distance)를 초과한다면, 상기 클로스터("512)는 최종 워드 템플리트용으로 고려되지 않는다. 만일 상기 하나의 거리가 임계 거리를 초과하지 않으면 상기 클러스터 (512)는 상기 평균 프레임(514)으로 표시되는 가능한 클러스더로 참작된다.
유효 클러스터를 결정하기 위한 상기 기술이 피크 왜곡 측정치로서 참조된다.본 실시예는 두가지 형태의 피크 왜곡 기준, 즉 피크 에너지 왜곡과 피크 스팩트럼 왜곡을 사용한다. 수학적으로 다음과 같이 기술된다.
D=max[Ul. D2. D3. U4. U5]
(여기서 D1-D5는 전술한 바와 같이 각각의 거리를 나타낸다.)
상기 왜곡 측정치는 어느 프레임들이 평균 프레임으로 결합될 수 있는가를 한정하기 위한 부분적인 제한 조건으로서 사용된다. 만일 D가 에너지 혹은 스펙트럼 왜곡에 대한 예정된 왜곡 임 계치를 초과하면 상기 클러스터는 거절된다.모든 클러스터에 대해 동일한 제한조건을 유지함으로써 비교적 양질의 최종 워드 템플리트가 실현된다.
상기 클러스터링 기술은 상기 워드 템플리트를 나타내는 데이타를 최적으로 축소하기 위해 동적 프로그래밍과 함께 사용된다. 동적 프로그래밍의 원리 수학적으로 다음과 같이 서술된다
Yo=0
Yj=min[Yi+Cij](모든 i에 대해)
여기서 Yj는 노드 0에서 노드 j까지의 최소비용 시의 비용이고, Cij는 노드 i에서 노드 j까지 이동하는데 드는 비용이다. i와 j의 정수값은 가능한 노드 수의 범위에 걸친다
본 발명에 따른 워드 템푿리트의 축소에 상기 원리를 적용하기 위해, 몇개의 가정을 만들었다. 그 가정은 다음과 같다.
상기 템플리트내의 정보는 일련의 프레임 형태이고, 같은 시간 간격으로 이격된다.
프레임을 평균 프례임으로 합성하는 적합한 방법이 있다.
평균 프레임을 원래의 프레임과 비교하기 위해 중요한 왜곡 측정치가 있다.
프레임들은 오직 인접한 프레임들과 결합될 수 있다.
본 발명의 최종 목적은 템플리트를 나타내는 최소세트의 클러스터를 구하는 것인데, 이것은 소정의 왜곡 임계치를 초과하는 클러스터가 하나도 없어야 한다는 제한조건을 따른다.
다음 정의로서 상기 동적 프로그래밍의 원리가 본 발명에 따른 데이타 축소에 웅용될 수 있다.
Yj는 제1i 프레임에 대한 클러스터 조합이다.
Yo는 그 점에 클러스터가 하나도 없다는 것을 뜻하는 0경로(null path)이다.
상기 프레임의 클러스터 즉 i+1에서루터 j까지가 왜곡 기준에 부합하면 Cij=1이고, 그렇지 않은 경우에는 Cij = 00이다.
상기 클러스터링 방법에 의해 상기 위드 템플리트의 제 1프레임에서 시작하는 최적의 클러스터 경로가 발생된다. 상기 템플리트내의 각각의 프레임에 할당된 상기 클러스터 경로는 그것이 전체에 워드에 대한 클러스터링을 완전하게 정의하지 못하기 때문에, 부분경로로서 참조된다. 상기 방법은 "프레임 0"과 관련된 0경로를 0으로, 즉 YO=0로 초기화 하므로써 시작된다. 이것은 0프레임을 가진 템플리트가 그와 관련된 0클러스터를 갖는다는 것을 의미한다.전체 경로 왜곡이 그 상대적 품질을 묘사하기 위해 각각의 경로에 할당된다.임의의 전체 왜곡 추정치도 사용될 수 있지만, 본 명세서에서 설명된 실시예에서는 현재 경로를 정의하는 모든 클러스터로 부터의 피크 스펙트럼 왜곡의 최대치를 이용한다.따라서, 0경로, Yo는 0총 경로왜곡(TPD)으로 정해진다. 계 1부분 경로 혹은 클러스터 조합을 구하기 위해 부분 경로 Y1은 다음과 같이 정의된다 .
Y1(프레임 1에서의 부분 경로)=Yo + Co, 1 이것은 0경로, Yo를 취하고 최고 프레임 1까지의 모든 프레임을 부가함으로써 1프레임의 허용할 수 있는 클러스터가 형성될 수 있다는 것을 나타낸다.그러므로 부분경로 Y1에 대한 총 비용은 1클러스터이고, 총 경로 왜곡은 0인데 이것은 평균 프레임이 실제 프레임과 같기 때문이다.
제 2부분 경로, Y2를 형성하려면 두가지 가능성이 고려되어야 한다. 상기 두 가능성은
Y2=min[Yo+Co, 2; Y1+C1, 2]이다.
첫번째 갸능성은 하냐의 클러스터로 조합된 프레임 1 및 2를 갖는 0경로 Yo이다.두번째 가능성은 클러스터로서의 제1프레임 즉 부분경로 1에 제2클러스터로서의 제2프레임을 더하는 것이다.
상기 첫번때 가능성은 1클러스터의 비용이 들고 두번째 가능성은 2클러스터 비용이 든다. 데이타 축소를 최적화하는 목적은 최소의 클러스더를 얻는데 있기 때문에 첫번째 가능성이 더 좋다. 첫번째 가능성에 대한 총 비용은 1클러스터이다. 상기 TPD는 각 프레임과 두개 프레임의 평균 사이의 피크 왜곡과 같다. 상기 경우에서, 첫번째 가능성이 소정의 입계치를 초과하는 부분 왜곡을 가지면, 두번째 가능성이 선택된다.
부분경로 Y3를 형성하기 위해서는 세가지 가능성이 존재하는데 다음과 같다.
Y3=min[Yo+Co, 3; Y1+Cl, 3 ;, Y2+C2, 3]
부분경로 Y3의 형성은 부분경로 Y2를 형성하는 동안에 선택된 경로에 의존한다. 처음의 두가지 가능성 중 하나는 고려되지 않는데 이는 부분경로 Y2가 최적으로 형성되기 때문이다. 그러므로 부분경로 Y2에 선택되지 않은 경로는 부분경로 Y3에 대해 고려될 필요가 없다. 다수 프레임의 경우에 상기 기술을 실행하는데 있어서, 최족이 되지 않는 경로를 탐색치 않고도 총체적으로 최적의 해결이 실현 된다. 따라서, 데이타를 축소하는데 필요한 연산 시간이 실질적으로 축소된다
제5b도는 4프레임 워드 템플리트에서 최적의 부분경로를 형성하는 한 예를 도시한다. 각각의 부분경로, Yl부터 Y4까지가 각각 로우(row)에 도시되어 있다. 밑줄친 부분은 클러스터링을 위해 고려되어야 할 프레임이다. Yo+Co, 1로서 정의된 제 1부분경로는 단지 하나의 선택을 갖는다(520) . 단일 프레임은 자체로서 클러스터링이 이루어진다.
부분경로 Y2에 대해서, 최적의 형성 (optical formation)은 처음의 2개의 프레임을 갖는 클러스터 즉, 선택 (522)을 포함한다. 이 예에서, 부분 왜곡 임계치를 초과한다고 가정하면, 제 2선택 (524)이 취해진다. 상기 두개의 결합된 프레임 (522)상의 X는 있을 수 있는 평균 프레임을 고려한 것으로 상기 두 프레임의 결함이 더이상 유지될 수 없음을 나타낸다.이후 이것은 무효화된 선택이라 한다.프레임 2까지의 최적의 클러스터 형성은 각각이 하나의 프레임 (524)을 갖는 두개의 클러스터를 포함한다.
부분경로 Y3에 대해서는 3셋트의 선택이 있다.제 1선택 (526)이 가장 바람직하지만. 통상적으로 부분경로 Y2의 처음 두개의 프레임(522)의 결합이 임계치를 초과하기 때문에 채택되지 못한다.항상 상기 경우와 같다는 것은 아니라는 것을 주시하자. 최적의 알고리즘에서는 단지 부분경로 Y2의 무효화된 선택(522)에만 근거하여 상기 결합이 바로 거절되지는 않는다. 이미 왜곡 임계치를 초과한 클리스터에 추가 프레임을 포함하면 때때로 국부적인 왜곡은 감소한다. 그러나 이것은 드물다. 상기 예에서, 상기와 같은 포함은 고려되지 않는다.무효화된 결합의 보다 큰 결합도 또한 무효화된다.선택 (522)이 거절되었기 때문에 선택 (530)도 무효화된다. 따라서, X가 제1 및 제 3선택 (526), (530)에서 묘사되며 각각의 무효화를 나타낸다.그러므로 제3부분경로 Y3는 오직 두개의 선택 즉 제 2선택 (528) 및 제 4선택 (532)만을 갖는다. 상기 예에서는 제 2선택(528)이 보다 최적이고(클러스터 수가 적음), 부분 왜곡 임계치를 초과하지 않는다는 것을 알 수 있다.
따라서, 제 3선택 (532)은 그것이 최적이 아니기 때문에 무효화된다. 상기 무효화는 제 4선택 (532)상에 XX로 표시된다.프레임 3까지의 최적의 클러스터 형성은 두개의 클러스터 (528)를 포함한다.제 1클러스터는 오직 제 1프레임만을 포함한다. 제 2클러스터는 프레임 2와 프레임 3을 포함한다.
제 4부분경로 Y4는 선택을 위한 4개의 개념적인 셋트(conceptuap set)를 갖는다. 상기 X는 선택 (534),(538), (542), (548)이 상기 제 2부분경로로 부터 Y2가 무효화되는 선택 (522)의 결과로서 무효화 되는 것을 나타낸다. 상기 결과로 단지 선택(536), (540), (544), (546)만을 고려하면 된다. Y3까지의 최적의 클러스더링이 선택(532)이 아니라 선택(528)이기 때문에 선택(546)이 최적의 선택이 아님을 알 수 있고, 그렇기 때문에 선택(546)은 무효화되고 XX로 표시되었다. 남아 있는 세가지 선택 중에서 선택(536)이 다음으로 선택되는데 이렇게 하면. 대표 클리스터의 수가 최소로 되기 때문이다. 상기 예에서, 선택 (536)은 부분 왜곡 임계치를 초과하지 않는 다는 것을 알 수 있다. 그러므로 전체 워드 템플리트에 대한 최적의 클러스터 형성은 오직 두개의 클러스터만을 포함한다.제 1클러스터는 오직 제 1프레임만을 포함하고, 제 2클러스더는 프레임으로 부터 프레임 4까지를 포함한다. 부분경로 Y4는 최적으로 축소된 워드 템플리트를 나타낸다. 수학적으로, 상기 최적의 부분경로는 다음과 같이 정의된다.
Yl+Cl, 4
상기 경로 형성 절차는 각각의 부분경로에 대해 클러스터 형성을 선택적으로 지정함으로써 개선될 수 있다. 상기 프레임은 부분경로의 마지막 프레임으로 부터 상기 부분경로의 제 1프레임을 향해 클러스터링 될 수 있다.예를 들어 부분경로 Y10을 형성하는데 있어서, 클러스터링의 순서는 Y9 +C9, 10 : Y8+C8,10 ; Y7+C7, 10 ; 등이다. 프레임 10을 이루는 클러스터를 맨먼저 고려한다.상기 클러스터를 형성하는 정보가 구해지고, 프레임 9가 상기 클러스터 C8, 10에 첨가된다.클러스터링 프레임 9와 프레임 10이 부분 왜곡 임계치를 초과하면, 정보 형성 클러스터 C9, 10은 부분경로 Y9에 첨가되는 추가 클러스터를 고려하지 않게된다.클러스터링 프레임 9와 프레임 10이 부분 ,왜곡 임계치를 초과하지 않으면, 클러스터 C8, 10가 고려된다. 임계치를 초과하지 않을 때까지 상기 클러스터에 프레임이 더해지고, 그때 Y10에서 부분경로를 구하는 것이 완료된다. 그러면, 최소의 클러스터를 갖는 경로인 최적의 부분경로가 Y10에 대한 앞의 모든 부분경로로 부터 선택된다. 상기 클러스터링의 선택적 순서에 의해 가상 클러스터 결합의 테스팅이 제한되어 연간시간이 축소된다.
일반적으로, 임의의 부분경로 Yj에서, 최대의 j클러스터 결합이 테스트된다. 제5c도는 상기 경로에 대한 선택적 순서를 도시한다. 최적의 부분경로는 수학적으로 다음과 같이 정의된다.
Yi=min[Yj-1+cj-i, j ;..; Yl+Cl, j : Yo+Co, j]
여기서 min은 왜곡 기준을 만족하는 클러스터 경로에서 최소수의 클러스터를 나타낸다. 제5c도의 수평축에 위치한 표시는 각각의 프레임을 묘사한다. 수직의 로우는 부분경로 Yj에 대한 클러스터 결합 가능성을 나타낸다. 괄호(bracket)의 최소 셋트, 즉 클러스터 가능성 번호 1은 제 1의 가상 클러스터 형성을 절정한다. 상기 형성은 자신에 의해 클러스터링이 이루어진 단일 프레임 j 와 최족의 부분 경로 Yj-1을 포함한다.
보다 적은 비용이 드는 경로가 존재하는지의 여부를 결정하기 위해 가능성 2가 테스트된다. 프레임 j-2까지에서은 부분경로 Yj-7가 최적이기 때문에 프레임 j와 j-1을 클러스터링 하는 것은 프레임 j까지 또다른 형성이 존재하는지의 여부를 결정한다. 프레임 j는 왜곡 임계치를 초과할 때까지 추가 인접 프레임과 함께 클러스터링이 이루어진다. 왜곡 임계치가 초과되면 부분경로 Yj에 대한 탐색이 완료되고, 최소의 클러스터를 갖는 경로가 Yj 로서 취해진다.
이런식으로 클러스터링의 순서를 취하면. 프레임 j에 바로 인접한 프레임만이 클러스터링되게 된다.어느 프레임이 클러스터링 되어야만 하는지를 결정하는데 무효화된 선택이 사용되지 않는 것이 추가의 장점으로 된다. 그러므로 임의의 단일 부분경로 에 대해, 최소수의 프레임이 클러스터링을 위해 테스트되고, 부분 경로당 한번의 를러스터링을 형성하는 정보만이 메모리에 저장된다.
각각의 부분경로를 형성하는 정보는 다음 세가지 파라미터를 포함한다.
1) 총 경로비용, 즉 상기 경로에서의 클러스터 수
2) 형성된 상기 경로를 지시하는 트레이스백(trace-back) 포인터, 예를 들면 부분경로 Y6가 (Y3+C3,6)으로 정의되면, Y6의 경우 트레이스백 포인터는 부분경로 Y3를 가리킨다.
3) 경로에 대한 전제 왜곡을 반영하는 현재 경로에 대한 총 경로 왜곡, 상기 트레이스백 포인터는 상기 경로내의 클러스터를 형성한다.
총 경로 왜곡은 상기 경로의 질을 반영하며, 각각이 동일한 최소비용(클러스터의 수)을 갖는 두개의 가능한 경로 형성중 가장 바람직한 것을 결정하는데 사용된다.
다음에는 세가지 파라미터의 응용을 예시한다. 클러스터 Y8에 대해 다음 경합이 존재한다고 하자.
Y8=Y3+C3, 8이나 Y5+C5, 8
부분경로 Y3의 비용과 부분경로 Y5의 비용이 동일하고, 클러스터 C3, 8과 C5, 8이 모두 부분 왜곡 제한 조건을 넘는다고 하자.
최소의 TPD를 갖는 것이 바람직한 최적의 형성이다. 피크 왜곡 테스트를 사용하여, 부분 경로 Y8에 대한 최적의 형성이 다음과 같이 정의된다.
mill[max[Y3 TPD ; 클러스터 4-8의 피크 왜곡] ;
max[Y5 TPD ; 클러스터 6-8의 피크 왜곡]]
어느 포메이션이 최소의 TPD를 갖는지에 따라, 상기 트레이스백 포인터가 Y3흑은 Y5로 셋트되게 된다.
이제 제5d도를 참조하면, 제5d도는 j프레임 순서에 대해 부분경로의 형성을 설명하는 흐름도이다. 상기 흐름도에 대해 논하면 한 워드 템플리트는 4프레임을 갖는다.즉 N=4이다. 따라서, 데이타 축소 템플리트는 제5b의 예와 동일하며. 여기서 Yj=Yl+Cl, 4이다.
상기 널(null) 경로, 즉 부분경로 Yo가 비용과 트레이스백 포인터 및 TPD와 함께 블럭(550)에서 초기화 된다. 각각의 부분경로는 TPD와 비용 및 TBP에 대해 고유세트의 값을 갖는다는 것을 주목하자. 프레임 포인터 j는 제 1부분 경로 Yl은 나타내는 1로 블럭 (552)에서 초기화 된다. 이에서 제5e도의 흐름도 제 2부분을 보면, 제 2프레임 포인터 k는 블럭 (554)에서 0으로 초기화 된다.상기 제 2프레임 포인터는 상기 부분경로에서 클러스터링을 위해 뒤로 어느 정도까지의 프레임이 고려되어야 하는지를 특정하는데 사용된다.
그러므로, 클러스터링 하기 위해 고려되어야할 프레임은 k+1부터 j까지로 특정된다.
상기 프레임이 블럭 (556)에서 평균되고. 클러스터 왜곡이 블럭 (558)에서 발생된다. 부분경로의 제 1클러스터가 형성되고 있는지를 결정하기 위해 블럭 (562)에서 테스트가 행해진다. 이 예에 있어서 제 1부분경로가 형성되고 그러므로 상기 클러스터는 블럭 (564)에서 필요한 파라미터를 셋팅함으로써 메모리에 형성된다.
이것이 상기 제1부분경로에서 제1클러스터이기 때문에, 상기 트레이스백 포인터(TPD)는 0워드로 셋트되고, 비용은 1로 셋트되며 TPD는 0으로 유지된다.
프레임 j에서 끝나는 경로에 대한 비용은 부가된 새로운 클러스터에 대해 j(경로 j에 클러스터의 수) -1에서 끝나는 경로의 비용과 같이 세트된다. 블럭(566)에 기술된 제2프레임 포인터 k를 감소시킴으로써 보다 큰 클러스터 형성에 대한 테스트가 시작된다. 이 점에서 K가 -1로 감소되기 때문에 무효(invalid) 프레임 클러스터를 방지하기 위해 블럭 (568)에서 텍스트가 행해진다. 블럭 (568)에서 실행된 테스트로 부터의 긍정적인 결과는 모든 부분경로가 형성되었고 적합성을 테스트 받았다는 것을 나타낸다. 상기 제 1 부분경로는 수학적으로 Yl=Yo+Co, 1로 정의되고, 제 1프레임을 포함하는 하나의 클러스터로 구성되어 있다. 블럭(510)에서 설명된 테스트는 모든 프레임이 클러스터링 되었는지의 여부를 결정한다.아직 클러스터할 세개의 프레임이 있다. 다음 부분경로는 블럭 (572)에서 상기 제 1프레임 포인터 j를 증가시키므로써 초기화 된다. 제 2프레임 포인터는 블럭 (554)에서 j전에 하나의 프레임으로 초기화 된다. 따라서 j는 프레임 를 나타내고 k는 프레임 1을 나타낸다.
프레임 2는 블럭(556)에서 자신에 의해 자체도 평균화 된다. j가 k+1과 같은지를 결정하기 위해 블럭(562)에서 테스트가 행해지고, 제 1부분경로 Y2를 형성하기 위해 블럭(564)로 흐름이 계속된다. 상기 포인터 k는 그 다음 클러스터를 고려하도록 블럭 (566)에서 감소된다.
프레임 1과 프레임 2는 블럭 (556)에서 Yo+Co, 2를 형성하도록 평균되고, 왜곡치가 블럭(558)에서 발생된다.상기 제 1경로가 블럭(562)에서 형성되고 있지 않기 때문에 흐름은 블럭(560)으로 계속된다. 왜곡치가 블럭 (560)으로 계속된다. 왜곡치가 블럭(560)에서 임계치와 비교된다. 상기 예에서, 프레임 1과 프레임 2의 결합이 임계치를 초과한다. 그러므로 이미 세이브틴(saved)부분경로 즉 Y1+C1, 2가 부분경로 Y2용 으로 세이브되고, 흐름도는 블럭 (580)으로 분기된다.
블럭 (580)이 기술된 단계는 어떤 추가의 프레임이 임계치를 초과하는 상기 프레임과 함께 클러스터링 되어야 하는지를 결정하기 위해 블럭 (580)에서 테스트를 행하는 단계다.
통상적으로 대부분 데이타의 특성으로 인해, 상기 단계에서, 추가의 프레임 부가하면 왜곡 임계치를 초과하게 된다. 그러나. 만일 발생된 왜곡치가 임계치를 약 20% 이상 초과하지 않는다면 추가 프레임이 왜곡 임계치를 초과하지 않고 클러스터링 할 수도 있다는 것을 알 수 있다. 만일 다른 클러스터링이 필요하다면, 상기 제 2프레임 포인터는 블럭 (566)에서 새로운 클러스터를 특정하도록 감소된다. 그렇지 않으면, 블럭(570)에서 모든 프레임이 클러스터링 되었는지의 여부를 지시하기 위해 테스트가 행해진다.
그다음 부분경로가 블럭 (572)에서 j가 3과 같게 세트되도록 초기화 된다. 상기 제2프레임 포인터는 2로 초기화 된다. 프레임 3은 블럭 (556)에서 자체로 평균되고, 왜곡 측정치가 블럭(558)에서 발생된다. 이것이 Y3에 대해 형성된 제 1부분 경로이기 때문에, 상기 새로운 경로는 블럭(564)에서 메모리가 형성되고 저장된다. 상기 제 2프레임 포인터는 대형의 큰 콜러스트를 특정하도록 블럭(556)에서 감소된다. 상기 대형의 큰 클러스터는 프레임 2와 프레임 3을 포함한다.
상기 프레임은 블럭 (556)에서 평균되고. 블럭(558)에서 왜곡이 발생된다. 이것은 블럭(562)에서 형성된 제 1 경로가 아니기 때문에, 흐름은 블럭(560)으로 계속된다, 상기 예에서 블럭(560)에서 임계치는 초과되지 않는다. 두개의 클러스터를 가진 상기 경로, Y1+C1, 3가 세개의 클러스터를 갖는 경로 Y1+C1,3보다 적합하기 때문에, 경로 Yl+Cl, 3이 부분경로 Y3로서 이전에 저장된 경로 Y2+C2,3와 대치된다. 대형의 클러스터는 블럭 (556)에서 k가 0로 감소되는 것으로서 특정된다.
프레임 1에서 3까지 블럭 (556)에서 평균이 이루어지고, 또다른 왜곡치가 블럭(558)에서 발생된다. 상기 예에서 블럭 (560)에서 임계치가 초과되고 추가 프레임이 클러스터링 되지 않으며(블럭 580), 모든 프레임이 클러스터링 되었는지를 결정하기 위해 블럭 (570)에서 또다시 테스트가 행해진다.
프레임 4는 아직 클러스터링 되지 않았기 때문에 j는 그 다음 부분경로 Y4를 위해 감소된다. 제2프레임 포인터는 프레임 3에서 셋트되고 크러스터링 과정이 반복된다.
프레임 4는 자체로서 블럭 (556)에서 평균이 이루어지고, 이것은 블럭(562)에서 형성된 제1경로이고, 상기 경로는 블럭(564)에서 Y4용으로 형성된다. 상기 부분경로 Y3+C3,4 은 3클러스터의 비용이 든다. 대형의 클러스터가 블럭(564)에서 특정된 프레임 3과 프레임 4가 클로스터링 된다.
프레임 3과 프레임 4는 블럭 (556)에서 평균이 이루어진다. 상기 예에서, 왜곡 측정치는 임계치를 초과하지 않는다(블럭) (560). 상기 부분 경로 Y2+C2,는 3클러스터의 비용을 갖는다. 이것은 이전 경로 (Y3+C3,4)와 동일한 비용이기 때문에, 블럭(574)과 블럭(576)을 통해 블럭(578)으로 흐름이 계속되고, 경로가 최소의 왜곡을 갖는지를 결정하기 위매 상기 TPD가 테스트된다.만일 현재 경로(Y2+C2. 4)가 경로(Y3+C3,4) 보다 낮은 TPD를 갖는다면(블럭) (578), 블럭(574)에서 대치되고, 그렇지 않으면 흐름이 블럭 (566)으로 계속된다.보다 큰 클러스터가 블럭(566)에서 지정되고, 프레임 2에서 4까지 클러스터링된다.
프레임 2에서 4까지 블럭 (556)에서 평균이 이루어진다. 상기 예에서 왜곡 측정치는 임계치를 초과하지 않는다. 상기 부분경로 Y1+C1,4는 2클러스터의 비용을 갖는다. 이것은 부분경로(Y4)에 대해 이전의 경로보다 적합하기 때문에 (블럭)(574), 상기 경로가 이전의 경로로 대치되는 것으로 결정된다. 블럭 (564) . 대형의 클러스터가 블럭 (566)에서 지정되고. 프레임 1에서 4까지 클러스터링된다.
상기 예에서 프레임 1부터 4까지 평균하는 것은 왜곡 임계치를 초과한다(블럭)(560). 클러스터링이 블럭(580)에서 중지된다. 모든 프레임이 클러스터링이 되었기 때문에(블럭)(570), 각각의 클러스터를 형성하는 기억된 정보는 블럭 (582)에서 상기 4프레임 데이타 축소 워드 템플리트에 대해 최적의 경로, 수학적으로는 Y4 = Yl + Cl,4로 정의된다.
상기 예는 제 3도로부터의 최적의 데이타 축소 워드 탬플리트의 형성을 설명한다.흐름도는 다음 순서로 각각의 부분경로에 대한 클러스터링 테스트를 설명한다.
Yl : 1234
Y2:1234 *1234
Y3: 1234 1234 * 1234
Y4: 1234 1234 1234 * 1234
프레임을 나다내는 상기 번호는 각각의 클러스터 테스트를 위해 밑줄이 쳐져 있다. 임계치를 초과하는 클러스터는 이미 '*'로서 표시되어 있다.
상기 예에서 10클러스터 경로가 구해진다. 일반적으로 상기 절차를 사용하면 클러스터 형성을 탈색하도록 최고 [N(N+1)]/2 클러스터 경로를 필요로 하는데, 여기서 N은 워드 템플리트에서의 프레임의 수이다.
15프레임 워드 템플리트의 경우 상기 절차는 모든 가능한 조합을 시험해 보는 검색시도를 위해 16.384경로에 비해 많아야 120경로의 검색을 필요로 하게 된다. 결과적으로, 본 발명에 따른 상기 절차를 사용함으로써 연산기간에 있어서 매우 큰 감소가 실현된다.
제5e도의 블럭(552), (565), (554), (562), (550)을 수정함으로써 연산시간에서 더욱 큰 축소가 실현될 수 있다.
블럭(568)은 제2프레임 포인터 k에 대해 정해지는 한계(limit)를 설명한다. 상기 예에서 k는 오직 프레임 0에서 0경로인 부분경로 Yo에 의해서만 제한된다. k가 각 클러스터의 길이를 형성하기 위해 사용되기 때문에, 클러스터링되는 프레임 수는 k를 제한함으로써 한정될 수 있다. 소정의 왜곡 임계치의 경우에 클러스터링시 왜곡 임계치를 초과하는 왜곡을 일으키는 다수의 프레임이 항상 있게 된다. 반대로 왜곡 임계치를 초과하는 왜곡을 발생치 않는 최소의 클러스터 형성이 항상 있게 된다, 반대로 왜곡 임계치를 초과하는 왜곡을 일으키는 다수의 프레임이 항상 있게 된다. 그러므로 최대 클러스터 크기, MAXCS와 최소 클러스터 크기, MINCS를 한정함으로써 상기 제2프레임 포인터, k가 제한될 수 있다.
MINCS는 블럭 (552) , (554), (562)에 사용되게 된다. 블럭(552)의 경우 , j가 MINCS로 초기화 된다. 블럭 (554)에 대해, 상기 단계에서 k로부터 1을 감산하는 것이 아니라 MINCS가 감산되게 된다. 이렇게 하므로써 k가 각각의 새로운 부분 경로를 위해 특정수의 프레임으로 되돌아 가게 된다. 결과적으로 MINCS 보다 적은 프레임을 갖는 클러스터는 평균되지 않게 된다. MINCS를 조절하기 위해 블럭 (562)은 j=k+1이 아닌 j=k+MINCS의 테스트를 도시한다는 것을 주목하자.
MAXCS는 블럭(558)에서 사용된다. 상기 한계는 0이하의 프레임(k<0) 혹은 MAXCS에 의해 지정된 수 이하(k<0-MAXCS)가 된다. 따라서 MAXCS를 초과한다고 알고 있는 클러스터는 테스트하지 않게 된다.
제5e도와 에서 사용된 기호법 (notation)에 따라 상기 제한 조건은 수학적으로 다음과 같이 표현 될 수 있다.
k≥j -MAXCS와 k≥0 ;
k≤j-MINCS와 j≥MINCS
예를들어 부분경로 Y15일때 MAXCS=5, MINCS=2라 하자. 그러면, 제1클러스터는 프레임 15와 프레임 14로 이루어진다. 마지막 클러스터는 프레임 15에서 11까지로 이루어진다. MINCS보다 크거나 같게 되도록 j를 한정해야 클러스터가 제1 MINCS프레임내에서 형성되지 않게 된다.
크기에서 MINCS의 클러스터는 왜곡 임계치(블럭 560)에 대해서 테스트되지 않는다는 것을 주목하자(블럭 562). 따라서 무효 부분경로가 모든 Yj≥MINCS 용으로 존재하게 된다.
본 발명에 따라 상기 제한조건을 이용하므로써, 검색되는 경로의 수가 MAXCS와 MINCS 사이의 차이에 따라 감소된다.
이제 제5f도를 참조하면, 제5e도의 블럭(582)가 보다 상세하게 도시된다.
제5f도는 역방향에서의 각각의 클러스터로부터 트레이스백 포인터(제5도의 블럭 564에서 TBP)를 사용하여 데이타를 축소한 후의 출력 클러스터를 발생하는 방법을 설명한다. 두개의 프레임 포인터 TB와 CF가 블럭(590)에서 초기화 된다. TB는 마지막 프레임의 트레이스백 포인터로 초기화 되고, 현재의 단부 프레임 포인터, CF는 상기 워드 템플리트의 마지막 프레임으로 초기화 된다. 상기 예에서, 즉5d도 및 5e도로부터, TB는 프레임 1을 가리키게 되고, CF는 프레임 4를 가리키게 된다, 프레임 TB+1내지 CF는 최종 워드 탬플리트에 애해 출력 프레임을 형성하기 위해 평균된다.
블럭 (592) 각각의 평균된 프레임 또는 클러스터용 변수는 조합된 프레임 수를 기억한다. 상기 변수는 "반복 계수(repeat count)"라하며, CF+TB로부터 계산될 수 있다(아래의 제6c도 참조) .
모든 클러스터가 출력되었는지의 여부를 결정하기 위해 블럭(594)에서 테스트가 행해진다. 만일 그렇게 되지 않았으면, CF를 TB와 동일하게 셋팅하고, TB를 새로운 프레임 CF의 트레이스백 포인터로 셋팅하므로써, 다음 클러스터가 지시된다. TB상기 절차는 결과 워드 템플리트를 형성하도록 모든 클러스터가 평균되고, 출력될때까지 계속된다.
제5g도와 5h도 및 5i도는 상기 트레이스백 포인터의 고유한 활용을 설명한다. 상기 트레이스백 포인터는 일반적으로 부정길이 데이타로 참조되는 부정수의 프레임을 갖는 데이타로부터 클러스터를 출력하기 위해 부분 트레이스백 모드에 사용된다.이것은 제 3도 및 제5도에서 설명된 예와 다른데, 상기 예들은 한정된 수의 프레임, 4를 사용하였기 때문이다.
제5g도는 일련의 24프레임을 설명하였는데, 상기 프레임 각각은 부분경로를 형성하는 트레이스백 포인터에 할당된다. 상기 예에서 MINCS는 2로 셋트되었고, MAXCS는 5로 셋트되었다. 부분 트레이스백을 부정길이 데이타에 적용하려면, 클러스터링된 프레임이 입력 데이타 부분을 형성하도록 연속적으로 출력되어야 한다. 그러므로 부분 트레이스백 설계에 상기 트레이스백 포인터를 사용함으로써 데이타가 연속적으로 축소될 수 있다.
제5h도는 일련의 24프레임을 설명하는데, 상기 프레임 각각은 부분경로를 형성하는 트레이스백 포인터에 할당된다. 상기 예에서 MINCS는 2로 셋트되었고, MAXCS는 5로 셋트되었다. 부분 트레이스백을 부정길이 데이타에 적용하려면, 클러스터링된 프레임이 입력 데이타 부분을 형성하도록 연속적으로 출력되어야 한다. 그러므로 부분 트레이스백 설계에 상기 트레이스백 포인터를 사용함으로써 데이타가 연속적으로 축소될 수 있다.
제5h도는 모든 부분경로를 설명하는데, 프레임 21내지 24에서 끝나고 프레임 10에서 변환된다. 프레임1-4.5-7. 8-10이 최적의 클러스터라는 것을 알 수 있고, 또한 변환점이 프레임 10이기 때문에 상기 프레임이 출력될 수 있다.
제5i도는 프레임 1-4,5-7,8-l0이 출력된 후에 남아있는 트리를 도시한다. 제5g도 및 5h도는 프레임 0에서의 포인터를 나타낸다. 제5i도의 형성이 이루어진 후에, 프레임 10의 변환점은 새로운 0포인터의 위치를 가리킨다. 상기 변환점으로 통하여 트레이싱백 하고, 상기 변환점을 통해 프레임을 출력하므로써 부정길이 데이타가 수용될 수 있다.
일반적으로, 프레임 n이라면, 트레이스백을 시작하는 상기 점들은 n,n-1,n-2‥‥n-MAXCS가 되는데, 이것은 상기 경로가 여전히 엑티브로 되어 있고 또한 더 많은 인입 데이타와 조합될 수 있기 때문이다.
제6a도 및 제6b도의 흐름도는 제4a도의 차동 엔코딩 블럭 (430)에 의해 실행되는 단계의 순서를 설명한다. 블럭(660)에서 시작하여, 차동 엔코딩은 각 채널의 실제 에너지 데이타가 아니고, 저장하기 위한 인접 채널들 사이의 차를 발생하므로써 템플리트 저장요구틀 축소한다.상기 차동 엔코딩 과정은 제4b도에서 서술한 바와 같이 한 프레임씩 (frame-by-flame) 기본으로 작동한다.그러므로 초기화 블럭 (661)은 상기 프레임 계수 FC를 1로 셋트하고 채널 총계 CT를 14로 셋트한다.블럭 (662)에서는 위에서와 같이 프레임 총계 FT가 연산된다. 블럭 (663)에서는 상기 워드의 모든 프레임이 엔코딩 되었는지를 알기 위한 테스트가 행해진다. 만일 모든 프레임이 처리되었다면, 상기 자동 엔코딩은 블럭 (664)에서 끝난다.
채널 계수 CC를 1로 셋팅하므로써 블럭(665)는 실제 차동 엔로딩 절차를 시작한다.채널 1에 대한 에너지 정규화 데이타는 블럭 (666)에서 누산기 (accunlulator)로 판독된다.블럭 (667)에서는 상기 채널 1데이타를 축소시켜 저장하기 위해 1.5dB 단계로 양자화가 행해진다. 특성 추출기 (312)로부터의 채널 데이타는 초기에 바이트당 8비트를 이용하는 단계당 0.376dB로 표시된다. 1 5dB 증분으로 양자화 되면, 96dB 에너지 범위 (26×l.5dB))를 표시하기 위해 오직 6비트만이 필요하다.제 1 채널은 인접 채널 차이를 결정하기 위한 기초(busis)를 형성하도록 차동적으로 엔코딩 되지 않는다.
상기 채널의 양자화되고 제한된 값이 체널 차이를 계산하기 위해 사용되지 않는다면, 중요한 양자화 에러가 블럭(430)의 차동 엔코딩 과정으로 발생될 수 있다. 상기 채널의 재구성된 양자화 값인 내부 변수 RQV가 상기 에러를 고려하기 위해 차동 엔코딩 루프내에서 발생된다.채널 1은 차동적으로 엔코딩 되지 않기 때문에 블럭 (668)에서는 채널 1RQV를 채널 1 양자화 데이타 값으로 단순히 할당하여 후사용을 위매 상기 양자화 채널 1데이타는 블럭 (669)에서 (템플리트 메모리 160)으로 출력된다.
채널 계수기는 블럭(670)에서 증가되고 다음 채널 데이타는 블럭(671)에서 누산기로 판독된다. 블럭(672)는 단계당 1.56dB에서 상기 채널 데이타의 애너지를 양자화 한다. 차동 엔코딩은 실제 채널 값이 아닌 채널 사이의 차이를 저장하므로, 블럭 (673)에서는 다음 방정식에 따른 인접 채널 차이가 결정된다.
채 널 (CC) 차이 = CH (CC) 데이타 - CH(CC -1) RQV
여기서 CH (CC-1)RQV는 상기 루프의 블럭 (575)에서 혹은 CC=2에 대한 블럭 (668)에서 형성된 상기 채널의 재구성된 양자화 값이다.
블럭 (674)는 상기 채널 차동 비트값을 -8에서 최대 +7까지로 제한한다. 비트값을 한정하고 에너지 값을 양자화함으로써, 인접 채널 차이의 범위는 -12dB/+10.5dB가 된다 다른 활용에서는 다른 양자화 값 혹은 비트 관계를 필요로 할 수도 있으나. 본 발명의 결과는 본 발명의 활용을 위해 충분한 상기 값들을 나타낸다.더우기, 제한된 채널 차이가 4비트로 표시한 수이기 때문에, 바이트당 두개의 값이 저장될 수 있다.
그러므로 본 명세서에 설명된 양자화 및 제한 절차는 실질적으로 필요한 데이타 저장량을 축소한다.
그러나 만일 각 차이의 제한되고 양자화된 값이 다음 채널 차이를 형성하는데 사용되지 않는다면 중요한 재구성 에러가 발생할 수 있다. 블럭(675)은 다음 채널 차이를 형성하기 전에 양자화되고 제한된 데이타로부터 각각의 채널 차이를 재구성함으로써 상기 에러를 고려한다. 상기 내부 변수 RQV는 다음 방정식에 의해 각각의 채널에 대해 형성된다.
채널(CC)RQV =CH (CC-1)RQV + CH(CC) 차이
여기서 CH (CC-1)RQV는 상기 채널 사이의 재구성된 양자화 값이다. 그러므로 차동 엔코딩 루프내에서 상기 RQV 변수의 사용은 양자화 에러가 후속 채널로 전파되는 것을 방지한다.
블럭 (676)은 바이트당 2개의 값으로 차이가 기억되도록 상기 템플리트 메모리로 양자화되고 제한된 채널 차이 출력을 발생한다. 블럭(677)에서는 모든 채널이 엔코딩 되었는지를 알기 위한 테스트가 행해진다. 만일 채널이 남아 있으면 상기 절차가 블럭(670)으로 반복된다. 만일 채널 계수 CC가 채널 총꼐 CT와 같으면, 상기 프레임 계수 FC는 블럭(678)에서 증가되고, 전술한 바와 같이 블럭(663)에서 테스트 된다.
다음 연산은 본 발명으로 이루어질 수 있는 감소된 데이타 속도를 설명한다. 특성 추출기(312)는 각각의 14채널에 대해 8-비트 대수 채널 에너지 값을 발생하는데, 여기서 최하위 비트는 3/8dB를 나타낸다. 그러므로 데이타 축소기 블럭(322)에 인가되는 일 프레임의 로우 워드 데이타는 14바이트의 데이타를 포함하는데, 이 데이타는 바이트당 8비트이고, 초당 100프레임을 가지며 이는 초당 11,200비트이다.
애너지 정규화 및 세그멘테이션/압축절차가 실행되고 난 후에 한 프레임당 16바이트의 데이타가 필요하다(14채널 각각에 대해 한 바이트, 평균 프레임 에너지 ABGENG에 대해 한 바이트, 반복 계수에 대해 한 바이트). 그러므로 상기 데이타 속도는 16바이트의 데이타로 계산될 수 있는데, 바이트당 8비트이고, 초당 100프레임이며, 반복 계수당 4프레임의 평균을 가정하면 초당 3200비트가 된다.
블럭(430)의 차동 엔코딩 과정이 완료된 후에, 템플리트 메모리(160)의 각각의 프레임은 제6c도의 축소 데이타 포멧으로 도시한 바와 같이 나타난다. 반복 계수는 바이트 1에 저장된다. 양자화되고 에너지 정규화된 채널 1데이타는 바이트2에 저장된다. 바이트 3에서 9까지는 두개의 채널 차이가 각각의 바이트에 저장되도록 나누어졌다. 다른 워드에서 차동적으로 엔코딩된 채널 2 데이타가 바이트 3의 상위 니블(upper nibble)에 저장되고, 채널 3데이타는 상기 동일 바이트의 하위 니블(lower nibble)에 기억된다. 채널 14차이가 바이트 9의 상위 니블에 저장되고, 평균 프레임 에너지, AVGENG가 바이트 9의 하위 니블이 저장된다. 프레임당 9바이트의 데이타, 바이트당 8비트, 초당 100프레임에서, 평균 반복계수가 4라고 가정하면, 데이타 속도는 초당 1800비트가 된다.
그러므로 차동 엔코딩 블럭(430)은 16바이트의 데이타를 9로 축소한다. 만일 반벅 계수값을 2와 15사이에 놓으면, 상기 반복 계수 또한 4-비트 니블에 저장된다. 저장요구 조건을 더욱 감소하기 위해 반복 계수 데이타 포맷을 프레임당 8.5바이트를 재배열할 수도 있다. 더우기 상기 데이타 축소과정도 최소한 6가지 요인(11. 200에서 1800까지)에 의해 데이타 속도를 감소시킨다. 결과적으로 상기 음성 인식 시스템의 복합성과 저장 요구조건이 상당히 감소되며 그렇게 함으로써 음성 인식 어휘가 증가된다.
3. 디코딩 알고리즘
제7a도를 참조하면, 제7a도에는 제4a도의 블럭(420)에서 논의된 바와 같이 3평균 프레임으로 조합된 프레임(720)을 갖는 개선된 워드 모델이 도시되어 있다. 각각의 평균 프레임(722)은 워드 모델에의 상태로 도시되어 있다. 각각의 상태는 하나 혹은 그 이상의 부상태(substate) 를 포함한다.부상태의 수는 상기 상태를 형성하기 위해 조합된 프레임 수에 의존한다. 각각의 부상태는 유사성정도를 계산하기 위한 관련된 거리 누산기(distance accummulator)나 혹은 입력 프레임과 평균 프레임 사이의 거리 스코어(score)를 갖는가. 상기 개선된 워드 모델의 실현이 제7b도와 함께 계속 논의된다.
제 7b도는 템플리트 메모리ㅏ(160)와의 연관성을 포함하여 더욱 상세하게 도시하기 위해 확대된 제3도의 블럭(120)을 나타낸다. 음성 인식기(326)는 인식기 제어블럭(730), 워드 모델 디코더(732), 거리 램(734), 거리 계산기(736)와 상태 디코더(738)를 포함하기 위해 확대되었다. 템플리트 디코더(328)와 템플리트 메모리는 음성 인식기(326)의 설명과 함께 바로 다음에 논의된다.
상기 인식기 제어블럭 (730)은 인식 과정을 조정하는데 사용된다. 조정은 엔드포인트 검출(분리 워드 인식용) 상기 워드 모델의 최상의 누산된 거리 스코어를 트랙킹(tracking)하는 것, 링크 워드에 사용된 링크표의 유지(연결 혹은 연속된 워드 인식용), 특정인식 과정에 의해 필요로 될 수 있는 특정거리 계산가 상기 거리램(734 ; distance ram)을 초기화 하는 것을 포함한다. 상기 인식기 제어블럭은 또한 음향 처리기로 부터의 버퍼 데이타가 된다. 입력 음성의 프레임의 경우에, 상기 인식기는 모든 활성 워드 템플리트를 상기 템플리트 메모리에 갱신한다. 상기 인식기 제어블럭(730)의 특정 요구조건이 음성과 신호 처리 및 음향학에 관한 IEEE 국제회의 (1982)의 회의록의 899-922페이지에 "연결 워드 인식용 알고리즘"이란 제목으로 브라이들과 브라운 및 챔버레인에 의해 논의 되었다. 상기 인식기 제어블럭에 의해 사용된 제어 처리기는 음성과 신호처리 및 음향학에 관한 IEEE 국제회의(1982) 회의록의 863∼866페이지에 "실시간 하드웨어 연속 음성인식 시스템"이란 제목으로 페크함, 그린, 캐닝 및 스테펜스에 의해 설명되어 있다.
상기 거리 램(734)은 디코딩 과정에서의 모든 부상태에 사용된 누산 거리를 포함하고 있다.만일 카네기-멜론 대학의 컴퓨터 과학부 밧사 논문(9177)의 "하피 음성 인식 시스템"에 비 .로워에 의해 기술된 바와같이 빔 디코딩이 사용되면, 상기 거리 램(734)도 또한 부상태가 현재 활성화 되었는지를 확인하기 위해 플래그(flag)를 포함하게 된다. 상기 "연결 워드 인식용 알고리즘"에 서술된 바와 같이 연결 워드인식 과정이 사용되면, 상기 거리 램 (734)은 또한 각각의 부상태에 대한 링킹(linking)포인터를 포함하게 된다.
상기 거리 계산기 (736)는 현재 입력 프레임과 처리되고 있는 상태 사이의 거리를 연산한다.거 리는 통상적으로 음성을 표시하기 위해 상기 시스템에 의해 사용된 특성 데이타 형태에 따라 연산된다. 벨 시스템 테크니칼 저널지 제62권, NO 5(1983년 5-6월)의 1311-1336페이지의 "필터 뱅크 베이스드 분리 워드 인식기의 실행에 관한 선택된 신호 처리 기술의 효과"라는 제목으로 비 에이 .도트리치와 엘.알.라비너 및 티비.마틴에 의해 기술된 바와 같이, 대역 통과 필터 데이타는 유클리드(Euclidean)나 혹은 체비쉐브 거리계산(Chebychev distance calculation)을 이용할 수도 있다. 음향학, 음성 및 신호처리에 관한 IEEE 회의록 제ASSP-23권(1975년 2월)의 67-72페이지에 "음성 인식에 활용되는 최소 예견 잉여 원리"라는 제목으로 에프 이타쿠라에 의해 기술된 바와 같이 LPC 데이타는 로드 가능성 비를 거리 계산(log-likelihood ratio distance calculartion)을 이용할 수도 있다. 본 실시예는 채널 뱅크 정보로도 언급되는 필터된 데이타를 사용하며, 그러므로 체비체브 흑은 유클리드 계산이 적절하다.
상기 상태 디코더(738)는 상기 입력 프레임이 처리되는 동안에 각각의 현재 활성 상태에 대해 상기 거리 램을 갱신한다. 다른 워드에서, 상기 워드 모델 디코더 (732)에 의해 처리된 각각의 워드 모델에 대해, 상기 상태 디코더(738)는 상기 거리램(734)에서의 필요 누산 거리를 갱신한다. 상기 상태 디코더는 상기 계산기(736)에 의해 결정된 현재 상태와 입력 프레임 사이의 거리를 이용하고, 뿐만 아니라 현재상태를 나타내는 템플리트 메모리 데이타를 이용한다.
제7c도에는 각각의 입력 프레임을 처리하기 위해 워드 모델 디코더 (732)에 의해 실행되는 단계가 흐름도 형태로 도시되어 있다. 카네기 멜론 대학, 컴퓨터 과학부의 박사 논문(1977년)에 "하퍼 음성 인식 시스템' 이라는 제목으로 비 .로워에 의해 기술된 빔 디토딩과 같이, 트렁케이트(truncated) 검색 기술을 포함하여, 디코딩 과정을 조정하기 위해 다수의 워드탐색 기술이 사용될 수 있다 트렁케이트 검색 기술을 구현하려면, 임계치 레벨 트랙과 최상의 누산 거리를 유지하기 위해 음성 인식기 제어블럭 (730)이 필요하다는 것을 주목하자 .
제7c도의 블럭 (740)에서. 상기 인식기 제어블럭 (제7b도의 블럭 730)으로부터 세개의 변수가 추줄된다. 상기 세개의 변소는 PACD와 PAD 및 템플리트 PTR이다. 템플리트 PTR 의해 상기 워드 모델 디코더는 정정 워드 템플리트를 발생할 수 있다. PACD는 상기 상태로부터의 누산된 거리를 나타낸다.이것은 상기 워드 모델의 이전 상태로부터 출력되는 연속적으로 누산된 거리이다.
PAD는 상기 인접 상태로부터 꼭 필요한 것은 아닌지라도 이전의 누산 거리를 나타낸다.
상기 상태가 최소드웰(minimum dwell : 일시 운전정지)시간 0을 가지면, 다시 말해 상기 상태가 모두 스킵(skip)될 수 있으면, PAD는 PACD와 다를 수도 있다.
분리 워드 인식 시스템에서, PAD 와 PACD는 전형적으로 인식기 제어에 의해 0으로 초기촤 된다. 연결 흑은 연속 워드 인식 시스템에서 PAD와 PACD의 초기값은 다른 워드 모델의 출력으로부터 결정될 수 있다.
제7c도의 블럭 (742)에서, 상기 상태 디코더는 특정 워드 모델의 제 1상태에 대해 디코딩 기능을 실행한다. 상기 상태를 나타내는 데이타는 상기 인식기 제어 블럭으로부터 제공된 상기 템플리트 PTR에 의해 확인된다. 상기 상태 디코더는 제76도와 함께 상세하게 논의 된다.
상기 워드 모델의 모든 상태가 디코딩 되었는지를 결정하기 위해 블럭 (744)에서 테스트가 행해진다. 만일 그렇게 되지 않았으면, 갱신된 템플리트 PTR과 함께 상기 상태 디코더 블럭 (742)로 흐름이 되돌아 간다.
만일 상기 워드모델의 모든 상태가 디코딩되었으면, 누산 거리 PAD 및 PACD는 블럭 (748)에서 인식기 제어 블럭으로 되돌아 간다. 이점에서, 상기인식기 제어블럭은 전형적으로 디코딩 하기 위해 새로운 워드모델을 특정한다. 모든 워드 모델이 일단 처리되면, 상기 음향 처리기로부터의 데이타의 다음 프레임 처리가 시작된다. 마지막 입력 프레임이 디코딩된 분리 워드 인식 시스템의 경우, 각각의 워드 모델에 대한 상기 워드 모델 디코더에 의해 되돌아온 PACD는 입력 발성(input utterence)을 상기 워드 모델의 정합시키기 위해 총 누산 거리를 나타내게 된다. 통상적으로 최하의 총누산 거리를 갖는 워드 모델이 인식된 발성에 의해 표시되는 것으로써 선택되게 된다. 템플리트 정합이 결정되면, 상기 정보는 제이 유니트(334)로 통과된다.
각각의 워드 모델의 각각의 상태에 대해 실제 상태 디코딩을 실행하기 위한 흐름도를 나타내는 다시 말해 제7c도의 블럭(742)이 확대된 제7d도를 참조하자. 누산거리 PAD 및 PACD는 블럭(750)을 따라 통과된다. 블럭(750)에서, 상기 워드 모델 상태로부터 상기 입력 프레임까지의 거리가 계산되고 입력 프레임 거리에 대해 IFD로 불리느 변수로 기억된다.
상기 상태에 대한 최대드웰(maxdwell)이 템플리트 메모리로부터 이동된다(블럭 751), 상기 최대드웰은 상기 워드 템플리트의 각각의 평균 프레임에 조합된 프렘임 수로부터 결정되고, 상기 상태에서 부상태의 수와 동등하다. 사실은 상기 시스템은 상기 최소드웰을 조합된 프레임 수로써 정의한다. 이것은 워드 트레이닝 동안에 상기 특성 추출기(제3도의 블럭310)가 상기 인압 음성을 인식처리 동안에 행한 두배의 속도를 표본화 하기 때문이다. 인식 동안의 구어워드가 상기 템플리트에 의해 표시되는 상기 워드의 시간 길이의 두배로 상승할 때, 최대드웰을 평균 프레임 수와 같게 셋팅하므로써 구어워드(spoken word)가 워드 모델에 정합된다.
각각의 상태에 대한 최소드웰 (mindwell)은 상기 상태 디코딩 과정동안에 결정된다.오직 상기 상태의 최대드웰만이 상기 디토더 알고리즘으로 통과되기 때문에, 최소드웰은 최대드웰의 정수부분에 4로 나눈것으로 계산된다.(블럭 752). 이렇게 하므로써, 구어워드가 워드 모델에 정합되고, 인식 동안의 구어워드가 템플리트(template)에 의해 표시되는 상기 워드의 시간 길이의 절반이 된다.
드웰 계수기(dwell counter) 혹은 부상태 포인터, i는 처리되고 있는 현재 드웰 계수를 지시하기 위해 블럭(754)에서 초기화 된다. 각각의 드웰 계수는 부상태로 언급된다. 각 상태에 대한 부상태의 최대 수는 전술한 바와 같이 최대드웰에 정의된다. 상기 실시예에서, 상기 부상태는 상기 디코딩 처리를 용이하게 하기 위해 역순서로 처리된다. 따라서 최대 드웰이 상기 상태에서 부상태의 총수로 정의되기 때문에 "i"는 초기에 최대드웰과 같게 셋트된다.
블럭 (756)에서, 일시 누산 거리, TAD는 IFAD(i)로 언급되는 부상태 i 누산 거리에 현재 입력 프레임거리, IFD를 더한 것과 같게 셋트된다. 상기 누산 거리는 이전에 처리된 입력 프레임으로부터 갱신된 것으로 추정되고, 제7b도외 블럭 (734)인 거리 램에 저장된다. IFAD는 모든 워드 모델의 모든 부상태에 대해 상기 인식 과정의 초기 입력 프레임에 우선하여 0으로 셋트된다.
부상태 포인터는 블럭 (758)에서 감산된다. 만일 상기 포인터가 0에 도달하지 않으면(블럭 760), 상기 부상태의 새로운 누산 거리, IFAD(i+1)은 이전 부상태, IFAD(i)에 대한 누산거리에 현재 입력 프레임 거리, IFD를 더한 것과 같게 센트된다(블럭 762). 그렇지 않으면, 제7e도 블럭(768)으로 흐름이 진행된다.
상기 상태가 현재 부상태에서 파생될 수 있는지, 다시말해. "i"가 최소드웰 보다 크거나 흑은 낮은지를 결정하기 위해 블럭(764)에서 테스트가 행해진대. "i"가 최소드웰 보다 작아질 때까지. 블럭 (766)에서 상기 일시 누산 거리. TAD는 최소의 이전 TAD 흑은 IFAD(i+1)로 갱신된다 다른 워드에서 TAD는 현재 상태를 그대로 남겨둔 채로 최상의 누산 거리로서 정의된다.
제7e도의 블럭 (768)으로 계속하면, 상기 제 1부상태에 대한 누산 거리 PAD인 상기 상태를 입력한 최적의 누산 거리로 셋트된다.
그때 블럭 (770)에서, 현재 상태에 대한 최소드웰이 0인지를 결정하기 위해 테스트가 행해진다. 최소드웰 0은 상기 현재 상태가 상기 워드 템플리트의 디코딩에서 보다 정확하게 정합되도록 스킵(skip)될 수도 있다는 것을 나타낸다. 만일 상기 상태에 대한 최소드웰이 0이 아니면, PAD는 일시 누산 거리와 같게 셋트되는데 이것은 TAD가 상기 상태로부터 최상의 누산거리를 포함하고 있기 때문이다(블럭 772). 만일 치소드웰이 0이면, PAD는 블럭 (774)에서 이전 상태 누산 거리 PACD나 혹은 상기 상태 TAD로부터의 회상 누산 거리중 하나의 최소로서 셋트된다. PAD는 다음 상태로 들어가도록 허용하는 최상위 누산 거리를 나타낸다.
블럭(776)에서. 이 전의 인접한 누산 거리, PACD는 현재 상태 TAD를 그대로 남겨둔 채로 최상의 누산거리와 같게 셋트된다. 상기 변수는 상기 상태가 최소드웰 0을 가지면 그 다음 상태에 의해 PAD을 완전하게 하는데 필요하다. 2인접 상태가 모두 스킵될 수 없도록, 최대드웰이 허용되는 최소는 2라는 것을 주목하자.
결국. 현재 상태에 대한 거리 램 포인터는 블럭(778)에서 상기 워드 모델에서 다음 상태를 가리키도록 갱신된다. 보다 효과적인 알고리즘을 위해 상기 부상태가 끝에서부터 처음까지 디코딩되기 때문에 상기 단계가 필요하다.
부록 A에 도시한 표는 한 예에 적용된 제 7c도, 7d도, 7e도의 흐름도를 설명하는데 여기서 입력 프레임은 3상태 A, B, C를 갖는 워드 모델(제7a도와 유사한)을 통해 처리된다. 상기 예에서 이전 프렘임은 이미 처리되었다고 가정한다. 그러므로 상기 표는 상태 A, B, C에서 각각의 부상태에 대해 "이전의 누산 거리(IFAD)"를 나타내는 칼럼을 포함한다.
하기의 표에서, 상기 예를 나타낼 때, 참조할 수 있는 정보가 제공된다. 각각의 상태에 대한 최소드웰은 상기 표에서 각각 0, 2, 1로 나타내었는데, 이것은 제 7d도의 블록(752)에 따라 최대드웰의 정수부분을 4로 나눔으로써 계산된 것이라는 것을 주목하다. 또한 제7d도의 블록(750)에 따라 각각의 상태에 대한 입력 프레임 거리(IFD)가 상기 표의 상단에 제공되어 있다.
상기 정보를 상기 표에 더욱 잘 나타낼 수도 있었지만, 상기 표는 간략하게 하고, 상기 예를 단순하게 하기 위해 상세한 설명은 제외되었다. 적합한 블록만이 상기 표의 왼쪽에 도시되었다.
상기 예는 제7c도의 블록(740)에서 시작한다. 상기 누산 거리, PACD와 PAD와 디코딩 워드 템플리트의 제1상태를 가리키는 템플리트 포인터가 상기 인식기 제어 블록으로부터 수신된다. 따라서, 상기 표의 제1렬에서, 상태 A는 PACD 및 PAD와 함께 기록된다.
제7d도로 이동하여, 거리(IFD)가 계산되고, 최대드웰이 템플리트 메모리로부터 구해지며, 최소드웰이 계산되고, 부상태 포인터, "i"가 초기화된다. 최대드웰과 최소드웰 및 IFD 정보는 이미 상기 표에 제공되었기 때문에 오직 상기 포인터의 초기화만이 상기 표에 도시할 필요가 있다. 두 번째 줄은 I가 마지막 부상태인 3으로 셋트된다는 것을 나타내고, 상기 누산 거리는 상기 거리 램으로부터 구해진다.
블록(756)에서 일시 누산 거리 TAD가 계산되고, 상기 표의 세 번째 줄에 기록되어 있다.
블록(760)에서 실행된 테스트는 상기 표에 기록되지 않았고, 그러나 모든 부상태가 처리되지 않았기 때문에 블록(762)로 이동하는 흐름을 상기 표의 4번째 줄에 도시하였다.
상기 표의 4번째 줄은 상기 부상태 포인터의 감소(블럭 758)와 새로운 누산 거리의 계산(블럭 762) 모두를 나타낸다. 그러므로 i=2로 기록되고, 대응하는이전의 IFAD와 새로운 누산 거리가 14로 셋트되는데 상기 거리는, 현재 부상태에 대한 이전의 누산 거리에 상기 상태에 대한 입력 프레임 거리를 더한 것이다.
블록(764)에서 행해진 테스트는 공정이 된다. 상기 표의 제5줄은 현재의 TAD나 혹은 IFAD(3)의 최소로서 갱신된 일시 누산 거리, TAD를 나타낸다. 상기 경우에서 후자 즉 TAD=14이다.
블록(758)을 보면, 상기 포인터가 감소되고, 상기 제1부상태에 대한 누산 거리가 계산되는데 이것은 제6줄에 도시되어 있다.
제1부상태는 i가 0과 같도록 검출되는 점에서 유사하게 처리되고, 블록(760)으로부터 블록(768)로 흐름이 진행된다. 블록(768)에서, IFAD가 현재 상태로 누산된 거리 PAD에 따라 제1부상태 용으로 셋트된다.
블록(770)에서, 0에 대해 최소드웰이 테스트된다. 만일 그것이 0이면, 흐름이 블록(774)으로 진행하고, 여기서 PAD는 상기 누산 거리, PACD 혹은 일시 누산 거리, TAD의 최소로부터 결정되는데, 이것은 현재 상태가 0 최소드웰에 기인하여 스킵될 수 있기 때문이다. 상태 A에 대해 최소드웰=0이기 때문에, PAD는 9(TAD)와 5(PACD)의 최소 즉 5로 셋트된다. 계속해서 PACD가 블록(776)에서 TAD와 같도록 셋트된다.
결국, 상기 워드 모델에서 다음 상태로 갱신된 상기 거리 램 포인터와 함께, 상기 제1상태가 완전하게 처리된다(블럭 778).
상기 워드 모델에서 다음 상태에 대해 제7d도의 블록(750)으로 돌아가고, 템플리트 포인터를 갱신하기 위해 흐름이 제7c도에 있는 흐름도로 되돌아 간다. 상기 상태는 전술한 바와 유사한 방법으로 처리되지만, PAD와 PACD, 5와 9가 각각 이전 상태로부터 통과된다는 것과, 상기 상태에 대한 최소드웰이 0와 같지 않다는 것과, 모든 부상태에 대해 블록(766)이 실행되지는 않게 된다는 것은 예외이다. 그러므로 블록(774)이 아닌 블록(772)이 처리된다.
상기 워드 모델의 제3상태는 제1 및 제2상태와 동일한 줄을 따라 처리된다. 상기 제3상태를 완료한 후에, 상기 인식기 제어를 우해 가변하는 PAD와 PACD 변수를 갖고 제7c도의 흐름도로 되돌아 간다.
요약하면, 상기 워드 모델의 각각의 상태는 역순서로 동시에 1부상태로 갱신된다. 하나의 상태로부터 그 다음 상태로 최적의 거리를 전달하는데 2개의 변수가 사용된다. 제1변수, PACD는 이전의 인접한 상태로부터 최소 누산 거리를 전달한다. 제2변수, PAD는 최소 누산 거리를 현재 상태로 전달하는데, 이는 이전 상태(PACD와 같은)로부터의 최소 누산 거리 또는, 상기 이전상태가 최소드웰 0을 갖는 경우 상기 이전상태로부터의 최소 누산 거리와 상태 제2이전 상태로부터의 최소 누산 거리중의 최소거리이다. 처리할 부상태가 얼마나 많은가를 결정하기 위해, 각각의 상태에 결합된 프레임 수에 따라 최소드웰과 최대드웰이 계산된다.
제7c도, 7d도 및 7e도의 흐름도는 데이터 축소 워드 템플리트 각각의 최적의 디코딩을 고려한 것이다. 지정된 부상태를 역순서로 디코딩 하므로써 처리시간이 최소화 된다. 그러나, 실시간 처리는 각각의 워드템플리트가 빠르게 엑세스 되는 것을 요하기 때문에, 데이터 축소 워드 템플리트를 용이하게 추출하기 위해서는 특별한 장치가 필요로 된다.
제7d도의 템플리트 디코더(328)는 고속 방식으로 템플리트 메모리(160)로부터 특정 포맷으로된 워드 템플리트를 추출하는데 사용된다. 각각의 프레임이 제6b도의 차동 형태로 템플리트 메모리에 기억되기 때문에, 상기 템플리트 디코더(28)는 워드 모델 디코더가 오버헤드를 초과하지 않고 엔코딩된 데이터를 억세스할 수 있도록 특정 억세싱 기술(special aceessing technipue)을 이용한다.
상기 워드 모델 디코더(732)는 디코딩할 적절한 템플리트를 지정하게 위해 템플리트 메모리(160)를 어드레스 지정한다. 상기 어드레스 버스가 각기 공유되기 때문에, 동일한 정보가 상기 템플리트 디코더(328)에 제공된다. 상기 어드레스는 특히 상기 템플리트내의 평균 프레임을 나타낸다. 각각의 프레임은 상기 워드 모델내에서 상태를 나타낸다. 디코딩을 요하는 모든 상태에 있어서, 통상적으로 어드레스가 변한다.
다시 제6b도의 축소 데이터 포맷을 참조하면, 워드 템플리트 프레임의 어드레스가 한번 보내지면, 상기 템플리트 디코더(328)는 한 니블 억세스(nibble access)에서 바이트 3부터 9까지 억세스한다. 각각의 바이트는 8비트로서 판독되고 그런 다음 분리된다. 하위 4비트가 신호확장과 함께 임시 레지스터(temporary register)에 배치된다. 상위 4비트는 신호확장과 함께 하위 4비트로 이동되고, 다른 임시 레지스터에 기억된다. 이와 같은 방법으로 각각의 차동 바이트가 구해진다.
상기 반복계수와 상기 채널 1데이타는 정상 8-베트 데이터 버스 억세스에서 구해지고, 템플리트 디코더(328)에 일시 저장된다. 상기 반복계수(최대드웰)는 상태 디코더로 직접 통과되고, 동시에 상기 채널 1데이타와 채널 2-4 차동 데이터(방금 기술한 바와 같이 8-비트로 분리되고 확장된)는 거리 계산기(736)로 통과되기 전에 제8b도의 흐름도에 따라 차동적으로 디코딩된다.
4. 데이터 확장 및 음성 합성
이제 제8a도를 참조하면, 제3도의 데이터 확장기(346)의 상세 블록도가 도시되어 있다. 아래에 도시하는 바와 같이, 데이터 확장 블록(346)은 제3도의 데이터 축소 블록(322)의 상반 가능(reciprocal function)을 실행한다. 템플리트 메모리(160)로부터 축소된 워드 데이터는 차동 엔코딩 블록(802)에 인가된다. 블록(802)에 의해 실행되는 디코딩 기능은 근본적으로 제4a도의 차동 엔코딩 블록(430)에 의해 실행된 역 알고리즘이다. 요약하면, 블록(802)의 차동 디코딩 알고리즘은 상기 이전 채널 데이터에 현재 체널 차이를 부가함으로서 템플리트 메모리에 저장된 축소워드 특성 데이터를 "언팩(unpack)"한다. 상기 알고리즘은 제 8b도의 흐름도에서 완전히 설명된다.
다음으로, 에너지 비정규화(denormalization) 블록(804)은 제4a도의 에너지 정규화 블록(410)에서 실행된 알고리즘을 역으로 실행하므로써 적당한 에너지 등고(energy contour)를 채널 데이터로 복원한다. 상기 비정규화 절차는 모든 채널의 평균 에너지 값을 템플리트 메모리에 저장된 각각의 에너지 정규화 채널 rkat에 더하는 것이다. 블록(804)의에너지 비정규화 알고리즘이 제8c도의 상세 흐름도에 완전히 설명된다.
마지막으로, 프레임 반복 블록(806)이 제4a도의 세그멘테이션/아북 블록(420)에 의해 단일 프레임으로 압축된 프레임의 수를 결정하고, 그에 따른 보상을 하도록 프레임 반복 기능을 실행한다. 제8d도의 흐름도가 나타내는 바와 같이, 프레임 반복 블록(806)은 동일 프레임 데이터를 "R"발생한다. 여기서 "R"은 템플리트 메모리(160)로부터 얻은 미리 저장된 반복 계수이다. 그러므로 상기 템플리트 메모리로부터의 축소 워드 데이타는 음성 합성기에 의해 해석될 수 있는 "언팩" 워드 데이타를 형성하기 위해 확장된다.
제8b도의 흐름도는 데이타 확장기(346)의 차동 디코딩 블럭 (802)에 의해 실행되는 단계를 나타낸다. 시작 블럭(810)에 뒤이어 블럭(811)은 다음 단계에 사용될 변수를 초기화한다. 프레임 계수 FC는 합성될 워드의 제 1프레임에 따라 1로 초기화 되고, 채널 총계 CT는 채널 뱅크 합성기내의 채널 총수로 초기화 된다.
(본 실시예에서는 14로).
다음에, 블럭(812)에서 프레임 총계 FT가 계산된다. 프레임 총계 FT는 상기 템플리트 메모리로부터 얻은 워드내의 프레임 총수이다. 블럭 (813)은 상기 워드의 모든 프레임이 차동적으로 디코딩 되었는지의 여부를 테스트한다. 현재 프레임 계수 FC가 프레임 총계 FT 보다 크면, 디코딩하기 위해 남아 있는 상기 워드의 프레임은 하나도 없는 것이고, 그러므로 상기 워드에 대한 디코딩 과정은 블럭(814)에서 끝나게 된다.
그러나 만일 FC가 FT 보다 크지 않으면, 차동 디코딩 과정은 상기 워드의 다음 프레임으로 계속된다. 블럭 (813)의 테스트는 모든 채널 데이타의 끝을 표시하도록 템플리트 메모리내에 저장된 데이타 플래그(센티널 : sentinel)를 체킹하므로써 실행될 수 있다.
각각의 프레임의 실제적인 차동 디코딩 과정은 블럭 (815)으로 시작된다. 제일 먼저, 템플리트 메모리 (160)로부터 판독될 채널 데이타를 결정하기 위해 블럭 (815)에서 채널 계수 CC가 1로 셋트된다. 다음에 채널 1의 정규화 에너지에 따른 데이타의 모든 바이트가 블럭 (816)에서 템플리트로부터 판독된다. 채널 1데이타는 차동적으로 엔코딩되지 않았기 때문에, 상기 단일 채널 데이타는 즉시 블럭 (817)을 통해 (에너지 비정규화 블럭 804으로) 출력될 수 있다. 그런 다음 상기 채널 계수기 CC는 그다음 채널 데이타의 위치를 가리키도록 블럭 (818)에서 증가된다. 블럭 (819)에서는 누산기의 채널 CC용의 차동적으로 엔코딩된 채널 데이타(차이)가 판독된다. 그런 다음 블럭 (820)에서는 채널 CC-1 데이타를 채널 CC 차이에 더함으로써 채널 CC데이타를 형성하는 차동 디코딩 기능이 실행된다. 예를 들어, CC=2이면 블럭 (820)의 방정식은 다음과 같다.
채널 2데이타=채널 1데이타+채널 2차이
그러면 블럭 (821)은 다른 처리를 위해 상기 채널 CC데이타를 에너지 비정규화 블럭 (804)에 출력한다. 블럭 (822)에서는 현재의 채널 계수 CC가 데이타 프레임의 끝을 지시하게될 채널 총계 CT와 같은지를 알기 위한 테스트가 행해진다. 만일 CC가 CT와 같지 않으면, 채널 계수는 블럭 (818)에서 증가되고, 차동 디코딩 과정이 그다음 채널에 실행된다. 만일 모든 채널이 디코딩 되었으면(CC가 CT와 같으면), 프레임 계수FC가 블럭 (823)에서 중자되고, 데이타 끝 테스트를 행하기 위해 를럭 (813)에서 비교된다. 모든 프레임이 디코딩되면, 데이타 확장기 (346)의 차동 디코딩 과정이 블럭 (814)에서 끝난다.
제8c도는 에너지 비정규화 블럭 (804)에 의해 실행되는 단계의 순서를 나타낸다. 블럭 (825)에서 시작한 후, 블럭 (826)에서 변수가 초기화된다.다시, 상기 프레임 계수 FC가 합성될 워드의 제 1프레임에 따라 1로 초기화되고, 채널 총계 CT는 채널 뱅크 합성기의 채널 총수(상기 경우에는 14)로 초기화된다. 블럭(812) (813)에서 이전에 행해진 바와 같이, 프레임 총계 FT가 블럭 (827)에서 계산되고, 프레임 계수가 블럭(828)에서 테스트된다. 상기 워드의 모든 프레임이 처리되었다면(FC가 FT 보다 크면), 상기 단계의 순서는 블럭(829)에서 끝난다. 그러나 처리될 트레임이 남아 있다면(FC가 FT 보다 크지 않으면) 에너지 비정규화 기능이 실행된다.
블럭 (830)에서 평균 프레임 에너지 AVGENG가 프레임 FC용의 템플리트로부터 얻어진다.그다음 블럭(831)에서는 채널 계수 CC가 1로 셋트된다. 차동 디로딩 블럭 (802) (제8b도의 블럭 820)에서의 채널 차이로 부터 형성된 채널 데이타가 블럭 (832)에서 판독된다. 에너지 정규화 블럭 (410) (제 4도)에서 각각의 채널로 부터 평균 에너지를 감산함으로써 상기 프레임이 정규화기기 때문에, 각각의 채널에 평균 에너지를 다시 가산함으로써 유사하게 복원된다(비정규화) 그러므로 상기 채널은 다음 공식에 따라 블럭 (833)에서 비정규화 된다. 만일, 예를 들어, CC=1이면, 블럭 (833)의 방정식은 다음과 같다.
채널 1에너지 =채널 1데이타+평균 에너지
그런 다음, 상기 비정규화 채널 에너지가 블럭 (834)를 통해 (프레임 반복 블럭 806으로) 출력된다. 블럭(835)에서 채널 계수를 증가시키고, 모든 채널이 비정규화 되었는지를 알기 위해 블럭 (836)에서 채널 계수를 테스트함으로써, 그 다음 채널이 얻어진다.만일 모든 채널이 아직 처리되지 않았으면(CC가 CT 보다 크지 않으면), 비정규화 절차가 블럭(832)과 함께 다시 시작된다.만일 상기 프레임의 모든 채널이 처리되었으면 (CC가 CT보다 크면), 프레임 계수가 블럭(837)에서 증가되고, 전술한 바와 같이 블럭(828)에서 테스트된다. 다시보면, 제8도는 각각의 채널에 평균에너지를 다시 가산하므로써 어떻게 채널 에너지가 비규화 되는가를 나타낸다.
이제 제8d도를 참조하면. 제8a도의 프레임 반복 블럭 (805)에 의해 실행되는 단계의 순서가 흐름도로 나타나 있다. 다시, 블럭 (840)에서 시작하여, 블럭 (841)에서 프레임 계수 FC가 1로 초기화 되고, 채널 총계CT가 14로 초기화된다. 블럭 (842)에서, 상기 워드내의 프레임 수를 나타내는 프레임 총계 FT가 전술한 바와 같이 계산된다.
개개의 채널 처리가 완료되었기 때문에, 상기 2개의 흐름도와는 다르게 상기 프레임의 모든 채널 에너지가 블럭(843)에서 동시에 얻어진다. 다음에, 프레임 FC의 반복 계수 RC가 블럭(844)에서 템플리트 데이타로부터 판독된다. 상기 반복 계수 RC는 제 4도의 세그멘테이션/압축 블럭 (420)에서 실행된 데이타 압축 알고리즘으로부터 단일 프레임으로 조합된 프레임 수와 일치한다. 환언하면, 상기 RC는 각각의 프레임의 '최대드웰"이다. 이제 반복 계수는 특정 프레임을 "RC"회 만큼 출력하는데 이용된다.
블럭(845)에서는 프레임 FC의 채널 에너지 CH(1-14) ENG가 모두 음성 합성기에 출력된다. 이것은 첫번째로 "언팩된" 채널 에너지 데이타가 출력된다는 것을 나타낸다.그런 다음 반복 계수 RC는 블럭(846)에서 1씩 감소된다.예를 들어, 만일 프레임 FC가 이전에 조합되지 않았으면 RC의 기억된 값이 1과 같게되고, RC의 감소된 값은 0과 같게 된다.그러면 블럭 (847)에서는 반복 계수가 테스드된다.만일 RC가 0과 같지 않으면, 채널 에너지의 특정 프레임이 다시 블럭 (845)에서 발생한다. RC는 다시 블럭 (846) 에서 감소되게 되고, 블럭(847)에서 다시 테스트된다. RC가 0으로 감소되면, 채널 데이타의 다음 프레임이 얻어진다. 그러므로 반복 계수 RC는 동일 프레임이 합성기로 출력되는 횟수를 나타낸다.
다음 프레임을 얻기 위해, 프레임 계수 FC는 블럭 (848)에서 증가되고, 블럭 (849)에서 테스트된다.만일 상기 워드의 모든 프레임이 처리되었다면, 프레임 반복 블럭(806)에 따른 단계의 순서가 블럭(850)에서 끝난다. 만일 프레임을 더 처리할 필요가 있으면, 프레임 반복 기능이 블럭 (843)으로 계속된다.
알고 있는 바와 같이, 데이타 확장기 블럭(346)은 근본적으로 데이타 축소 블럭(322)에 의해 "팩(pack)된" 기억 템플리트 데이타를 "언팩하는"역기능을 실행한다. 블럭(802),(804),(806)의 분리 기능은 제8b도. 8c도 및 제8d도이 흐름도에서 설명된 한 워드씩(word-by-word)를 처리하는 원리 대신에, 한 프레임씩을 기본으로 실행될 수도 있다.상기 어느 한 경우에 있어서, 데이타 축소와 축소된 탬플리트 포맷 및 데이타 확장 기술을 결합함으로써 본 발명이 낮은 데이타 속도로 음성 인식 템플리트로부터 용이하게 음성을 합성할 수 있게 된다.
제 3도에 도시한 바와 같이, 데이타 확장기 블럭 (346)에 의해 제공된 "템플리트" 워드 음성응답 데이타와 응답 메모리(344)에 의해 제공된 "기성(canned)" 워드 음성응답 데이타는 모두 채널 뱅크 음성 합성기(340)에 인가된다. 음성 합성기 (340)는 제어 유니트(334)로부터의 명령 신호에 응답하여 상기 데이타 소스중 하나를 선택한다.데이타 소스(344), (346)는 모두 합성될 워드에 따른 미리 저장된 음향 특성 정보를 포함한다.
상기 음향 특성 정보는 특성 추출기 (312)의 대역폭에 따라 지정된 주파수 대역폭 내에서 음향 에너지를 각각 대표하는 다수의 채널 이득치 (채널 에너지)를 포함한다.그러나 보이싱 (voicing) 혹은 핏치 정보와 같은 다른 음성 합성기 파라미터를 기억하기 위한 축소 템플리트메모리 포맷에서는 규정이 없는데 이것은 보이싱 혹은 핏치 정보가 음성인식 처리기 (120)에 정상적으로 제공되는 것이 아니라는 사실에 기인한다. 그러므로 상기 정보는 통상 템플리트 메모리 요구조건을 근본적으로 축소하는데 사용되지는 않는다.특정 하드웨어 구성에 따라, 응답 메모리(344)가 보이싱 및 핏치 정보를 제공할 수도 있고, 제공하지 않을 수도 있다. 다음의 채널 뱅크 합성기 설명은 보이싱 및 핏치 정보가 어느 한 메모리에도 기억되지 않는다는 것을 가정한다. 그러므로 채널 뱅크 음성 합성기 (340)는 보이싱 및 핏치 정보가 없는 데이타 소스로부터 워드를 합성해야만 한다.본 발명의 한 중요한 특징은 상기 문제를 직접 논하는 것이다.
제9a도는 N채널을 갖는 채널 뱅크 음성 합성기(340)의 상세 블럭도를 나타낸다. 채널 데이타 입력(912),(914)은 응답 메모리(344)와 데이타 확장기(346)의 채널 데이타 출력을 각각 나타낸다. 따라서 스위치 배열(910)은 장치 제어기 유니트에 의해 제공된 "데이타 소스 결정(data source decision)"을 나타낸다.
예률들어, 만일 "기성" 워드가 합성되면, 응답 메모리 (344)로부터의 채널 데이타 입력 (912)이 채널 이득치(915)로 선택된다. 만일 템플리트 워드가 합성되면 , 데이타 확장기(346)로부터의 채널 데이타 입력(914)이 선택된다.상기 어느 한 경우에서, 채널 이득치 (915)는 저역통과 필터 (940)로 전달된다.
저역통과 필터 (940)는 프레임간의 채널 이득 변화에서의 단계 불연속성을 변조기에 공급하기 전에 그것을 평활하게 하는 작용을 한다.상기 이득 평활 필터는 통상적으로 2차 버터워스(Butterworth) 저역통과 필터로서 구성된다. 본 실시예에서 저역통과 필터는 약 28Hz의 -3dB 차단 주파수를 갖는다.
그런 다음 평활 채널 이득치 (945)가 채널 이득 변조기 (950)에 인가된다. 상기 변조기는 적당한 채널 이득치에 응답하여 여기(exciation)신호의 이득을 조정하는 작용을 한다. 본 실시예에서 변조기(950)는 두개의 소정의 그릅으로 나누어진다. 제 1소정 그릅(1부 M까지)은 제 1여기 신호 입력을 갖고, 제 2그룹(M+l부터 M까지)은 제 2여기 신호 입력을 갖는다. 제9a도로부터 알 수 있는 바와 같이, 상기 제 1여기 신호(925)는 핏치 펄스 소스(920)로부터의 출력이고, 제2여기 신호(935)는 노이즈 소스(930)로부터의 출력이다. 상기 여기 소스(exieation source)는 다음 도면에서 더욱 자세하게 설명된다.
음성 합성기 (340)는 본 발명에 따른 "분할 보이싱 (split voicing)"으로 불리는 기술을 사용한다. 상기 기술은 상기 음성 합성기가 외부 보이싱 정보를 사용하지 않고, 채널 이득치 (915)와 같은 외부발생 음향 특성 정보로부터 음성을 재구성할 수 있도록 한다.상기 양호한 실시예는 단일 유성화/무성화 여기 신호를 변조기에 발생하기 위해 핏치 펄스 소스(유성화 여기)와 잡음 소스(무성화 여기)를 구별하는데, 보이싱 스위치를 사용하지 않는다. 반대로 본 발명은 채널 이득치에 의해 두개의 소정 그룹으로 제공된 음성 특성 정보를 "분할"한다. 통상적으로 저주파 채널에 따른 제 1소정 그룹은 유성화 여기 신호(925)를 변조한다. 정상적으로 고주파 채널에 따른 채널 이득치의 제2예정 그룹은 무성화 여기 신호(925)를 변조한다. 저주파 및 고주파 채널 이득치는 개별적으로 대역통과 필터되며, 고품질 음성 신호를 발생하도록 결합된다.
음성의 질은 개선시키는데 우수한 결과를 제공하는 14채널 합성기(N=14)용의 "9/5 분할"(M=9)가 제공된다. 그러나 당업자라면 상기 유성화/무성화 채널 "분할"이 음성양질 특성 특히 합성기 응용을 최대화하기 위해 변화될 수 있음을 알 수 있을 것이다.
변조기 1부터 N은 상기 특정 채널의 음향 특성 정보에 응답하여 고유 여기 신호를 진폭 변조하는 기능을 한다.
환언하면, 채널 M에 대한 핏치 펄스(버즈 ; buzz) 혹은 노이즈(히스 ; hiss) 신호가 채널 M용의 채널 이득치에 의해 증배된다. 변조기 (950)에 의해 실행된 진폭 수정은 디지탈 신호 처리 (DSP) 기술을 사용하는 소프트 웨어에서 쉽게 구현될 수 있다.비슷하게 변조기 (950)도 상기 기술에서 알려진 바와 같이 아날로그 선형 멀티플라이어 (analog linear multiplier)에 의해 실현될 수도 있다.
그런 다음 변조된 여기 신호 그룹(955) 모두(1부터 M까지, M+l부터 N까지)가 N음성 채널을 재구성하기 위해 대역통과 필터 (960)에 인가된다. 전술한 바와 같이 본 실시예는 250Hz부터 3400Hz까지의 주파수 범위에 걸친 14채널을 이용한다. 부가적으로 양호한 실시예는 대역 통과 필터 (960)의 기능을 소프트 웨어에서 디지탈 식으로 구현하기 위해 DSP 기술을 이용한다. 엘. 알.라비노와 비 . 골드에 의해 저술된 "디지탈 신호 처리의 이론과 응용"(프렙타리스 홀, 잉글우드 클리프스, 엔.제이.. 175)의 제11장에 적당한 DSP 알고리즘이 설명되어 있다.
필터를 통과한 채널 출력(965)은 가산 회로(970 : summation circuit)에서 결합된다. 다시 채널 결합기의 가산기능이 N채널을 단일 재구성 음성 신호(975)에 결합하기 위해 DSP 기술을 사용하는 소프트웨어나 혹은 가산회로를 사용하는 하드웨어중 하나로 구현될 수도 있다.
제9b도에는 변조기/대역통과 필터 구성의 다른 실시예가 나타나 있다. 상기 도면에 나타난 바와 같이 먼저 여기 신호(935)가 대역통과 필터 (960)에 인가되고, 그 다음 변조기 (950)에서 채널 이득치 (945)에 의해 필터된 여기 신호가 진폭 변조된다. 상기 다른 구성 (980)도 동등한 채널 출력 (965)을 발생하는데, 이것은 상기 채널을 재구성하는 기능이 또한 완료되기 때문이다.
노이즈 소스(930)는 "히스(hiss)"라 불리는 무성화 여기 신호(935)를 발생한다. 노이즈 소스 출력은 제9d도의 파형 (935)에 의해 도시된 바와 같이 전형적으로 일정한 평균 전력의 일련의 불규칙한 진폭 펄스이다.
반대로 핏치 펄스 소스(920)는 일정한 평균 전력의 유성화 여기 핏치 펄스의 펄스열을 발생하는 "버즈(buszz)"라 불린다. 통상적인 핏치 펄스 소스는 외부 핏치 주기 fo에 의해 결정되는 핏치 펄스율(piteh pulse rate)을 갖게 된다. 필요한 합성기 음성 신호의 음향 분석으로부터 결정되는 상기 핏치 주기 정보는 정상적으로 보코우더 (vocoder) 응용에서 채널 이득 정보와 함께 전송되거나 혹은 "기성" 워드 데모리에 유형화/무성화 결정 및 채널 이득 정보와 함께 저장되게 된다. 그러한 전술한 바와 같이, 상기 음성 합성에 파라미터를 기억하기 위한 양호한 실시예의 축소 워드 템플리트 메모리 포맷에는 규정이 없는데, 이것은 그것들이 음성인식을 위해 모두 필요한 것은 아니기 때문이다. 그러므로 본 발명의 다른 관점은 미리 저장된(prestored) 핏치 정보없이 고품질의 합성 음성신호를 제공하도록 하는 것이다.
상기 앙호한 실시예의 핏치 펄스 소스(920)가 제9c도에 휠씬 상세하게 도시되어 있다. 핏치 펄스율이 합성된 워드의 길이를 줄이도록 핏치 펄스 주기를 변화함으로써 합성 음성이 질이 명백하게 증진될 수 있다는 것을 알 수 있다.
그러므로 여기 신호(925)는 일정한 평균 전력과 소정의 변화율의 핏치 펄스로 구성되는 것이 바람직하다.
상기 변화율은 합성될 워드의 길이 함수와 실험적으로 결정된 일정한 핏치 율 변화 함수로써 결정된다. 본 실시예에서는 핏치 펄스율이 워드의 길이상에서 한 프레임씩의 원리에 근거하여 선형적으로 감소한다.그러나 다른 응용예서는 다른 음성 음향 특성을 발생하기 위해 다른 변화율이 필요로 될 수도 있다.
이제 제9c도를 참조하면, 핏치 펄스 소스(920)는 핏치 속도 제어 유니트(940)와, 핏치 속도 발생기 (942) 및 핏치 펄스 발생기 (944)로 구성된다. 핏치 속도 제어 유니트(940)는 변화되는 핏치 주기에서 변화 속도를 결정한다. 상기 양호한 실시예에서, 핏치 속도감소는 핏치 주기정보(922)를 제공하기 위해 핏치 시작 상수(pitch start constant)로부터 초기화된 핏치 변화 상수로부터 결정된다. 핏치 율 제어 유니트(940)의 기능은 프로그램 가능한 램프(ramp) 발생기에 의한 하드웨어로 혹은 제어 마이크로컴퓨터에 의해 소프트웨어로 실행될 수도 있다. 제어 유니트(940)의 작동은 다음 도면과 함께 충분히 설명된다.
핏치 율 발생기 (942)는 규칙적으로 이격된 간격으로 핏치 율 신호(924)를 발생하기 위해 상기 핏치 주기 정보를 이용한다. 상기 신호는 임펄스, 상승구간(rising edges), 혹은 신호를 전달하는 다른 어떤 형태의 핏치 펄스 주기가 될 수도 있다. 핏치 율 발생기 (942)는 타이머, 계수기, 흑은 핏치 주기정보(922)와 같은 펄스열을 제공하는 수정 클럭 발진기가 될 수도 있다. 본 실시예에서 핏치 율 발생기 (942)의 기능은 소프트웨어로 실행된다.
핏치 율 신호(923)는 핏치 펄스 여기신호(925)에 대해 필요한 파형을 발생하기 위해 핏치 펄스 발생기(944)에 의해 사용된다. 핏치 펄스 발생기 (944)는 하드웨어 파형정형 회로나, 핏치 율 신호(923)에 의해 클럭화된 모노쇼트(monoshot)나, 혹은 본 실시예에서와 같이 필요한 파형 정보를 갖는 롬(ROM) 순람표(look-up table)가 될 수 있다. 여기 신호(925)는 임펄스 파형, 쳐프(chirp) (주파수 소인 정현파 : foequency swept sine wave)나, 혹은 어떤 다른 광대역 파형을 보일 수도 있다. 그러므로 펄스의 특성은 필요한 특정 여기신호에 따라 다르다.
여기 신호(925)는 일정한 평균 전력으로 이루어져야 하므로, 핏치 펄스 발생기 (944)도 또한 진폭 제어 신호로서 핏치 주기 (922)나 혹은 핏치율 신호(923)를 이용한다. 핏치 펄스의 진폭은 일정한 평균 전력을 얻기 위해 핏치 주기의 제곱근으로 인수 비례에 의해 스케일된다.각각의 펄스의 실제적인 진폭은 필요한 여기 신호의 특성에 따라 다르다.
제9c도의 핏치 펄스 소스(920)에 적용되는 것과 같이, 제9d도의 다음 논의는 변화 가능한 핏치 펄스율을 발생하기 위해 상기 양호한 실시예예 취해진 단계의 순서를 설명한다.
먼저, 합성될 특정 워드에 대한 워드길이 WL이 템플리트 메모리로부터 판독된다. 상기 워드 길이는 합성될 상기 워드의 프레임 총수이다. 상기 양호한 실시예에서, WL은 워드 템플리트의 모든 프레임에 대한 모든 반복 계수의 합계다. 두번째로, 핏치시작 상수 PSC와 핏치변화 상수 PCC가 합성기 제어기에 의해 예정된 메모리 위치로부터 판독된다. 세번째로, 워드길이 WL을 상기 핏치변환 상수 PCC로 나누므로써 워드 분할수가 계산된다.
워드 분할 WD는 얼마나 많은 연속 프레임이 동일한 핏치값을 갖게 되는지를 나타낸다. 예를 들어, 파형(921)은 3프레임 워드 길이와, 핏치 시작 상수 59 및 핏치 변화 상수 3을 나타낸다. 그러므로 상기 단순예에서 상기 워드 분할은 핏치변화 사이의 프레임 수를 1과 같도록 셋트하기 위해 워드길이 (3)를 핏치변화 상수(3)로 나눔으로써 계산된다. 만일 WL=2이고 PCC=4이면 보다 복잡한 예가 되는데, 그러면 워드분할은 매 6프레임 마다 발생한다.
상기 핏치시작 상수 59는 핏치 펄스 사이의 샘플 횟수를 나타낸다. 예를 들어, 8KHz 샘플링 속도로, 펄스핏치 사이에 59번의 샘플(각각 125마이크로세크의 지속시간)이 있게 된다. 그러므로 핏치주기는 59×125마이크로세크=7.375미니세크 혹은 135.6Hz가 된다. 핏치속도가 워드의 길이에 대해서 감소되는 것과 같이, 각각의 워드분할 후에, 핏치 시작 상수가 1씩 증가된다(즉 60=133.3Hz, 61-131.IHz) 만일 워드의 길이가 더 길거나, 혹은 핏치 변화 상수가 더 짧으면, 몇몇의 연속 프레임이 동일한 핏치값을 갖게 된다.
상기 핏치주기 정보가 파형 (922)에 의해 제9d도에 도시되어 있다. 파형 (922)이 나타내든 바와 같이, 핏치주기정보는 전압 레벨을 변화시키므로써 하드웨어 방식으로 표시될 수 있고, 혹은 다른 핏치 주기값에 의해 소프트웨어로 표시될 수 있다.
핏치 주기정보(922)가 핏치율 발생기(942)에 인가되면, 핏치율 신호 파형(923)이 발생된다. 간략한 방법으로 파형(23)은 일반적으로 핏치율이 변화가능 핏치주기에 의해 결정된 비율로 감소되고 있다는 것을 나타낸다. 핏치율 신호(923)가 핏치펄스 발생기(944)에 인가되면, 여기 파형(925)이 발생된다. 파형(925)은 단순히 일정한 평균전력을 갖는 파형(923)의 파형정형된 변형이다. 노이즈 소스(930)의 출력(히스)을 나타내는 파형(935)은 주기적인 유성화 및 불규칙한 무성화 여기신호 사이의 차이를 나타낸다.
주지하고 있는 바와 같이, 본 발명은 보이싱 혹은 핏치 정보없이 음성을 합성하기 위한 방법 및 장치를 제공한다. 본 발명의 음성 합성기는 핏치 펄스율이 워드의 길이에 대해 감소되는 것과 같이 핏치 펄스주기 변화 기술과 "분할 보이싱" 기술을 사용한다. 비록 상기 어느 한 기술이 독자적으로 사용될 수도 있지만, 분할 보이싱과 변화 기능 핏치펄스율의 결합은 외부 보이싱 혹은 정보없이 자연적 음향의 음성이 발생되도록 한다.
본 명세서에는 본 발명의 특정 실시예가 도시, 설명되지만, 상기 기술에 숙련된 사람에 의해 다른 변형과 개선이 이루어질 수도 있다.본 명세서에서 설명되고 특정청구된 기본적인 기초 원리를 포함하는 모든변형도 본 발명의 범위안에 포함된다.
부록 A
워드 모델의 3상태, 상태A,B,C,에 대한 하나의 입력 프레임의 입력 프레임의 처리
상태A : 최대드웰 =3, 최소드웰 =0(752-Fig 7(d)), IFD = 7(750-Fig, 7(d))
상태B : 최대드웰 =3, 최소드웰 =2(752-Fig 7(d)), IFD = 3(750-Fig, 7(d))
상태C : 최대드웰 =4, 최소드웰 =1(752-Fig 7(d)), IFD = 5(750-Fig, 7(d))
[표 1]
Figure kpo00001

Claims (9)

  1. 사용자 구두 명령 워드의 발생에 따라 전자 장치의 작동 파라미터를 제어하여, 전자장치의 작동 상태에 대해서 사용자에 가청의 궤환(audible feedback)을 제공하는 사용자 대회식 제어 시스템을 포함하는 전자 장치에 있어서, 상기 제어 시스템은, 제1사용자 구두 입력 음성 신호로부터 음향 특성을 추출하여, 워드 특성 신호를 발생하기 위한 수단과, 워드 특성 신호를 데이타 축소하여, 제어 시스템의 트레이닝 모드(training mode)에서 워드 인식 템플리트(recognition templates)를 발생하고, 상기 워드 인식 템플리트를 메모리에 기억하기 위한 수단과, 상기 기억된 워드 템플리트 및 제2사용자 구두 입력 신호에 응답하여, 제어 시스템이 인식 모드에 있을 때 전자 장치의 제어 데이타를 발생시키기 위해 사용자 구두 명령 워드를 인식하기 위한 수단과, 상기 제어데이타에 응답하여, 전자 장치의 작동 파라미터를 제어하기 위한 수단과, 사용자에 대한 응답 음성을 합성하기 위한 수단을 구비하고 상기 제1사용자 구두 입력 신호에 관련된 피치 정보와 음성 정보를 사용하지 않고 상기 응답 음성을 합성 수단을 구비하는 제어 시스템을 포함하는 것을 특징으로 하는 전자 장치.
  2. 제1항에 있어서, 상기 제어 장치는, 다수의 전화번호를 기억하기 위한 디렉토리(directory)수단과, 최소한 하나의 예정된 사용자 구두 명령 워드의 인식에 응답하여 상기 디렉토리 수단으로부터 입수한 전화번호를 다이알링하기 위한 다이알링 수단과, 음성 명령에 의해 상기 디렉토리 수단내에 전화번호를 기억하며, 상기 다수의 작동 파라미터의 하나를 구성하는 수단을 포함하는 것을 특징으로 하는 전자 장치.
  3. 제1항에 있어서, 워드 특성 신호를 데이타 축소하기 위한 상기 수단은 상기 워드 특성 신호로부터 잔류 피치 정보(pitch information)를 제거하기 위한 수단을 더 포함하는 것을 특징으로 하는 전자 장치.
  4. 제1항에 있어서, 응답 음성을 합성하기 위한 상기 수단은, 일정한 평균 출력 가변율 피치 펄스(pitch pulse)를 발생하는 피치 펄스 소스(source)를 더 구비하고, 그 비율 변화는 합성될 응답 음성 워드의 길이함수로서 결정되는 것을 특징으로 하는 전자 장치.
  5. 제4항에 있어서, 상기 전자 장치는 합성을 위해 상기 워드 인식 템플리트를 데이타 확장하여, 확장된 워드 인식 템플리트를 제공하는 데이타 확장 수단과, 음성 응답 신호를 합성하기 위해 상기 확장된 워드 인식 템플리트를 사용하여 상기 합성하기 위한 수단을 더 포함하는 것을 특징으로 하는 전자 장치.
  6. 사용자 구두 명령 워드의 발생에 따라 전자 장치의 작동 파라미터를 제어하고, 전자 장치의 작동 상태에 대해서 사용자에 가청 궤한을 발생하는 사용자 대화식 제어 시스템을 제공하기 위한 방법에 있어서, 제1사용자 구두 입력 음성 신호로부터 음향 특성을 추출하여, 워드 특성 신호를 발생하기 위한 단계와, 워드 특성 신호를 축소하여, 제어 시스템의 트레이닝 모드에서 워드 인식 템플리트를 발생하고, 상기 워드 인식 템플리트를 메모리에 기억시키는 단계와, 상기 기억된 워드 템플리트 및 제2사용자 구두 입력 신호에 제어 시스템이 인식 모드에 있을때 전자 장치의 제어 데이타를 발생시키기 위해 사용자 구두 명령 워드를 인식하기 위한 단계와, 상기 제어 데이타에 응답하여, 전자 장치의 작동 파라미터를 제어하기 위한 단계와, 사용자에 대한 응답 음성을 합성하기 위한 단계를 포함하고, 응답 음성을 합성하기 위한 상기 단계는 상기 기억된 워드 템플리트로부터 상기 응답 음성을 합성하는 것을 특징으로 하는 사용자 대화식 제어 시스템을 제공하기 위한 방법.
  7. 제6항에 있어서, 음성 명령에 의해 다수의 전화번호를 기억하는 단계를 더 포함하고 그 기억은 다수의 작동 파라미터중 하나로 이루어지는 것을 특징으로 하는 사용자 대화식 제어 시스템을 제공하기 위한 방법.
  8. 제6항에 있어서, 워드 특성 신호(word feature signal)를 데이타 축소시키는 단계는 상기 워드 특성 신호로부터 잔류 피치 정보를 제거하는 단계를 더 포함하는 것을 특징으로 하는 사용자 제어 시스템을 제공하기 위한 방법.
  9. 제6항에 있어서, 상기 응답 음성을 합성하는 단계는 일정한 평균 출력 가변율(power variable rate)을 갖는 피치 펄스(pitch pulse)를 발생시키는 단계를 더 포함하고, 그 가변 비율은 합성될 응답 음성 워드의 길이 함수로서 결정되고, 상기 데이타 축소 단계는, 워드 특성 신호의 에너지 데이타(energy data)를 정규화 하는 단계와, 워드 특성 신호를 세그먼트하는 단계와, 세그먼트의 클러스터를 형성하기 위해 선택된 세그먼트를 조합하는 단계와, 워드 특성 신호를 차동 엔코딩하는 단계를 더 포함하는 것을 특징으로 하는 사용자 대화식 제어 시스템을 제공하기 위한 방법.
KR1019870700798A 1986-01-03 1986-12-22 장치 작동 파라미터를 제어하는 사용자대화식 제어 시스템을 구비한 전자 장치 및 그 방법 Expired - Lifetime KR950007858B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US81616286A 1986-01-03 1986-01-03
US816,162 1986-01-03
PCT/US1986/002810 WO1987004292A1 (en) 1986-01-03 1986-12-22 Method and apparatus for synthesizing speech from speech recognition templates

Publications (2)

Publication Number Publication Date
KR880700988A KR880700988A (ko) 1988-04-13
KR950007858B1 true KR950007858B1 (ko) 1995-07-20

Family

ID=25219839

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870700798A Expired - Lifetime KR950007858B1 (ko) 1986-01-03 1986-12-22 장치 작동 파라미터를 제어하는 사용자대화식 제어 시스템을 구비한 전자 장치 및 그 방법

Country Status (6)

Country Link
EP (1) EP0255523B1 (ko)
JP (1) JP2759267B2 (ko)
KR (1) KR950007858B1 (ko)
CA (1) CA1321425C (ko)
DE (1) DE3650015D1 (ko)
WO (1) WO1987004292A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2642882B1 (fr) * 1989-02-07 1991-08-02 Ripoll Jean Louis Appareil de traitement de la parole
US5689547A (en) * 1995-11-02 1997-11-18 Ericsson Inc. Network directory methods and systems for a cellular radiotelephone
FI101333B1 (fi) * 1996-09-02 1998-05-29 Nokia Mobile Phones Ltd Puhekomennoilla ohjattava telepäätelaite
DE19751123C1 (de) * 1997-11-19 1999-06-17 Deutsche Telekom Ag Vorrichtung und Verfahren zur sprecherunabhängigen Sprachnamenwahl für Telekommunikations-Endeinrichtungen
US6310833B1 (en) * 1999-11-30 2001-10-30 Salton, Inc. Interactive voice recognition digital clock
US7340392B2 (en) 2002-06-06 2008-03-04 International Business Machines Corporation Multiple sound fragments processing and load balancing
US7788097B2 (en) 2002-06-06 2010-08-31 Nuance Communications, Inc. Multiple sound fragments processing and load balancing
KR20040035515A (ko) 2002-10-22 2004-04-29 엘지전자 주식회사 핸즈프리 기능을 구비한 이동통신 단말기와 그의 제어 방법
TWI372384B (en) 2007-11-21 2012-09-11 Ind Tech Res Inst Modifying method for speech model and modifying module thereof
TWI525532B (zh) * 2015-03-30 2016-03-11 Yu-Wei Chen Set the name of the person to wake up the name for voice manipulation
US10515632B2 (en) 2016-11-15 2019-12-24 At&T Intellectual Property I, L.P. Asynchronous virtual assistant
US11929058B2 (en) 2019-08-21 2024-03-12 Dolby Laboratories Licensing Corporation Systems and methods for adapting human speaker embeddings in speech synthesis

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4277644A (en) * 1979-07-16 1981-07-07 Bell Telephone Laboratories, Incorporated Syntactic continuous speech recognizer
EP0041195A1 (en) * 1980-05-30 1981-12-09 General Electric Company Improved paging arrangement
US4415767A (en) * 1981-10-19 1983-11-15 Votan Method and apparatus for speech recognition and reproduction
US4462080A (en) * 1981-11-27 1984-07-24 Kearney & Trecker Corporation Voice actuated machine control
US4426733A (en) * 1982-01-28 1984-01-17 General Electric Company Voice-controlled operator-interacting radio transceiver

Also Published As

Publication number Publication date
EP0255523A4 (en) 1988-06-23
EP0255523B1 (en) 1994-08-03
JP2759267B2 (ja) 1998-05-28
DE3650015D1 (de) 1994-09-08
EP0255523A1 (en) 1988-02-10
WO1987004292A1 (en) 1987-07-16
JPS63502146A (ja) 1988-08-18
CA1321425C (en) 1993-08-17
KR880700988A (ko) 1988-04-13

Similar Documents

Publication Publication Date Title
KR950008540B1 (ko) 음성 인식 시스템에서 음성 정보 처리 방법 및 장치
KR950008539B1 (ko) 음성 인식 시스템에서 데이타 축소 방법 및 장치
KR950007859B1 (ko) 음성화 혹은 핏치정보 없이 음성을 합성하는 방법 및 장치
US6411926B1 (en) Distributed voice recognition system
KR100391287B1 (ko) 압축된 음성 데이터를 이용하는 음성인식방법 및 시스템과 그 시스템을 이용한 디지탈 셀룰러 전화
US7162415B2 (en) Ultra-narrow bandwidth voice coding
KR950007858B1 (ko) 장치 작동 파라미터를 제어하는 사용자대화식 제어 시스템을 구비한 전자 장치 및 그 방법
US5680506A (en) Apparatus and method for speech signal analysis
WO2000041164A1 (en) System and method for segmentation and recognition of speech signals
Li et al. An auditory system-based feature for robust speech recognition.

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19870902

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19911219

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 19870902

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 19941122

Patent event code: PE09021S01D

G160 Decision to publish patent application
PG1605 Publication of application before grant of patent

Comment text: Decision on Publication of Application

Patent event code: PG16051S01I

Patent event date: 19950623

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: 19950929

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 19951025

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 19951025

End annual number: 3

Start annual number: 1

PR1001 Payment of annual fee

Payment date: 19980629

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 19990630

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20000629

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20010707

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20020708

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20030701

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20041021

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20050630

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20060630

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20060630

Start annual number: 12

End annual number: 12

EXPY Expiration of term
PC1801 Expiration of term