KR100439422B1 - 이동통신 단말기용 보코더의 동작 방법 - Google Patents

이동통신 단말기용 보코더의 동작 방법 Download PDF

Info

Publication number
KR100439422B1
KR100439422B1 KR10-2001-0081325A KR20010081325A KR100439422B1 KR 100439422 B1 KR100439422 B1 KR 100439422B1 KR 20010081325 A KR20010081325 A KR 20010081325A KR 100439422 B1 KR100439422 B1 KR 100439422B1
Authority
KR
South Korea
Prior art keywords
cnt
encoding
decoding
value
vocoder
Prior art date
Application number
KR10-2001-0081325A
Other languages
English (en)
Other versions
KR20030050803A (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 KR10-2001-0081325A priority Critical patent/KR100439422B1/ko
Publication of KR20030050803A publication Critical patent/KR20030050803A/ko
Application granted granted Critical
Publication of KR100439422B1 publication Critical patent/KR100439422B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (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)
  • Computer Networks & Wireless Communication (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 디지털 이동 통신 시스템에서 음성신호를 압축 및 복원하는 보코더의 동작 방법에 관한 것으로, 마이크로 프로세서에서 레지스터들의 옵셋 값을 지정하여 인코딩과 디코딩 시작 시점을 조정하고, 이러한 옵셋 값들을 사용하여 인코더의 입력 음성샘플 카운터와 디코더의 출력 음성샘플 카운터를 초기화하여 인코딩과 디코딩이 독립적으로 수행되도록 하므로써 실시간으로 양방향 음성 데이터 처리가 이루어져 처리 지연시간이 단축되고 보코더가 안정된 구간에서 동작된다.

Description

이동통신 단말기용 보코더의 동작 방법 {Method for operating a vocoder in a mobile phone}
본 발명은 디지털 이동 통신 시스템에서 음성신호를 압축 및 복원하는 보코더에 관한 것으로, 특히, 인코딩과 디코딩이 독립적으로 수행되도록 하여 실시간으로 양방향 음성 데이터 처리가 이루어지도록 한 이동통신 단말기용 보코더의 동작 방법에 관한 것이다.
디지털 이동통신 시스템에서는 저 전송률의 고품질 통신을 위하여 음성신호를 압축 및 복원하는 보코더(Vocoder)를 사용한다. 일반적으로 이동통신 시스템에 사용되는 보코더는 도 1과 같이 구성된다.
마이크(11)를 통해 입력되는 아날로그 음성신호는 음성코덱(12)에서 디지털 신호로 변환된다. 디지털 신호로 변환된 음성신호를 입력받은 인코더(13)는 인코딩 과정을 통해 음성신호를 압축한 후 압축된 신호를 시스템(14)으로 전송한다.
반대로, 수신된 디지털 데이터는 디코더(15)에서 디코딩 과정을 거치므로써 원래의 음성신호와 유사한 음성신호로 복원된다. 복원된 음성신호는 음성코덱(16)으로 전달되어 디지털 신호에서 아날로그 신호로 변환된 후 스피커(17)를 통해 청취할 수 있도록 출력된다.
일반적으로 현재까지 사용되고 있는 보코더에서는 8KHz의 샘플링 주파수를 사용하여 아날로그 신호를 디지털 신호로 변환한다. 보코더의 동작 방법은 선형분석을 위하여 음성신호가 수 십msec의 프레임 단위로 처리되도록 구성되며, 20msec의 프레임인 경우 160 샘플의 음성 데이터가 한 프레임 단위가 되어 인코딩 및 디코딩되도록 구성된다.
이동통신 단말기에 사용되는 보코더는 두명의 사용자가 통화할 경우 송수신이 동시에 이루어져야 하기 때문에 20msec의 프레임 단위마다 인코딩과 디코딩이 한번씩 실시간으로 처리되어야 한다. 이러한 실시간 처리를 위해 일반적으로 도 2에 도시된 바와 같이 순차적으로 인코딩 및 디코딩이 이루어지도록 하는 방법을 이용한다.
도 2를 참조하면, 프레임의 기준이 되는 신호 프레임 기준신호(FR_REF)를 입력받은 후 입력되는 음성샘플의 개수를 카운트하여 160 샘플이 버퍼에 차면 인코딩(구간 21)을 먼저 수행하여 인코딩된 음성 데이터를 전송하게 하고, 순차적으로 수신된 음성 데이터를 디코딩(구간 22)하여 복원된 음성신호를 출력버퍼에 저장한 후 남은 시간동안 아이들(구간 23) 상태로 있게 된다.
그러나 이러한 종래의 방법은 입력되는 음성샘플에만 의존하여 인코딩과 디코딩이 순차적으로 수행되기 때문에 단말기의 송수신이 독립적으로 이루어지는 상태에서 인코딩에만 동작시점을 맞추는 결과가 되므로 디코딩 출력이 많이지연되고, 디코딩할 시점을 사용자가 조정할 수 없는 문제점을 가진다.
따라서 본 발명은 양방향 음성통신이 실시간으로 처리되도록 하기 위해 인코딩 및 디코딩이 독립적으로 수행되도록 하므로써 상기한 단점을 해소할 수 있는 이동통신 단말기용 보코더의 동작 방법을 제공하는 데 그 목적이 있다.
상기한 목적을 달성하기 위한 본 발명은 시작 단계로부터 필요한 파라미터들을 초기화시키는 제 1 단계와, 시스템과의 타이밍을 맞추기 위하여 프레임 기준신호의 입력을 기다리는 제 2 단계와, 프레임 기준신호가 입력되면 미리 저장된 ENC_OFFSET, DEC_OFFSET, DEC_INT 레지스터의 값들을 읽고 시스템의 타이밍에 맞추어 동작할 수 있도록 IS_CNT 및 OS_CNT 값을 초기화시킨 후 상태를 변화시키는 제 3 단계와, 상태가 변화되면 OS_CNT 값을 검사하여 디코딩할 시점인 경우에는 디코딩을 시작하고, 디코딩할 시점이 아닌 경우에는 IS_CNT 값을 검사하여 인코딩할 시점인 경우 인코딩을 수행하는 제 4 단계와, 제 4 단계에서 OS_CNT 및 IS_CNT 값을 검사한 결과 디코딩 또는 인코딩할 시점이 아니면 아이들 상태로 천이하는 제 5 단계를 포함하여 이루어진 것을 특징으로 한다.
상기 제 3 단계에서 IS_CNT 값은 (ENC_OFFSET - 한 프레임의 샘플수)의 값으로 초기화되고, OS_CNT 값은 (DEC_OFFSET - 한 프레임의 샘플수)의 값으로 초기화되는 것을 특징으로 한다.
상기 제 4 단계의 디코딩은 DEC_PACKET 레지스터에 미리 저장된 디코딩할 음성 데이터를 읽어서 디코딩을 수행하는 단계와, 디코딩 과정을 통해 복원된 음성샘플을 출력버퍼에 저장하는 단계로 수행되는 것을 특징으로 한다.
상기 제 4 단계의 인코딩은 음성샘플 버퍼에 저장된 입력 음성샘플을 프로세싱 메모리로 복사한 후 인코딩하는 단계와, 인코딩 과정을 통해 압축된 음성 데이터를 마이크로프로세서로 전달하기 위하여 ENC_PACKET 레지스터에 저장하는 단계와, 인코딩 인터럽트를 발생하여 마이크로프로세서로 인코딩한 음성 데이터의 저장을 알리는 단계로 수행되는 것을 특징으로 한다.
상기 제 5 단계의 아이들 상태에서 음성샘플이 입력되면 아이들 상태에서 깨어나 인터럽트 처리 루틴을 수행하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
상기 인터럽트 처리 루틴은 음성샘플을 저장하고 IS_CNT 값을 하나 증가시킨 후 출력 음성샘플 한 개를 출력하는 단계와, OS_CNT 값을 하나 증가시키고 OS_CNT 값을 검사하여 디코딩 인터럽트를 발생시키는 단계와, 다음 프레임에 디코딩할 음성 데이터를 DEC_PACKET 레지스터에 저장하는 단계와, 하나씩 증가된 IS_CNT 및 OS_CNT 값을 가지고 다시 검사를 수행한 후 상기 과정을 반복 실시하는 단계로 이루어지는 것을 특징으로 한다.
상기 IS_CNT 값은 음성샘플이 입력될 때마다 하나씩 증가되고, OS_CNT 값은 음성샘플이 출력될 때마다 하나 증가되는 것을 특징으로 한다.
상기 제 4 단계의 인코딩 시작 시점에서 디코딩이 이미 진행 중이면 디코딩이 종료될 때까지 대기하는 단계와, 디코딩이 종료되면 IS_CNT 값을 초기화하고 입력버퍼의 포인터 값을 보정한 후 포인터 값에 따라 입력버퍼에서 프로세싱 메모리로 입력샘플을 복사하여 인코딩이 수행되도록 하는 단계를 더 포함하여 이루어진 것을 특징으로 한다.
상기 제 4 단계의 디코딩 시작 시점에서 인코딩이 진행 중이면 인코딩이 종료될 때까지 대기하는 단계와, 인코딩이 종료되면 OS_CNT의 값을 보정한 후 출력버퍼의 포인터 값을 보정하고 디코딩이 수행되도록 하는 단계를 더 포함하여 이루어진 것을 특징으로 한다.
도 1은 종래 보코더의 구성도.
도 2는 종래 보코더의 인코딩 및 디코딩 동작을 설명하기 위한 타이밍도.
도 3은 본 발명이 적용되는 보코더의 구성도.
도 4는 본 발명에 따른 보코더의 동작 방법을 설명하기 위한 흐름도.
도 5는 본 발명에 따른 보코더의 동작을 설명하기 위한 상태 천이 블록도.
도 6은 본 발명에 따른 보코더의 인코딩 및 디코딩 동작을 설명하기 위한 타이밍도.
도 7은 인코더의 입력 음성샘플 카운터(IS_CNT) 및 입력버퍼 포인터를 보정하는 과정을 설명하기 위한 흐름도.
도 8은 디코더의 출력 음성샘플 카운터(OS_CNT) 및 출력버퍼 포인터를 보정하는 과정을 설명하기 위한 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
11: 마이크 12 및 16: 음성코덱
13: 인코더 14: 시스템
15: 보코더 17: 스피커
31: 보코더 신호처리부 32: 음성코덱
33: 마이크로프로세서 34 내지 39: 레지스터
본 발명은 단말기의 마이크로 프로세서에서 보코더가 프레임 경계에 맞추어 동작시점을 결정할 수 있는 옵셋 값들을 보코더의 레지스터들을 통해서 알려주면, 보코더가 이러한 레지스터들에 저장된 값들을 읽어서 프레임 경계의 기준신호를 기점으로 인코딩 및 디코딩 시점을 결정하여 인코더의 입력 음성샘플 카운터(IS_CNT) 값과 디코더의 출력 음성샘플 카운터(OS_CNT) 값을 초기화한다. 인코딩 및 디코딩 동작은 IS_CNT 및 OS_CNT를 기준으로 처리되기 때문에 서로 독립적으로 이루어진다. 인코딩 및 디코딩이 독립적으로 수행되지만 두개의 과정이 동시에 일어나는 경우에도 실시간 처리에 오류가 생기지 않도록 하며, 상태 레지스터를 사용하여 보코더의 동작 상태를 외부에서 사용자가 손쉽게 확인할 수 있도록 한다.
그러면 이하, 첨부된 도면을 참조하여 본 발명을 보다 상세히 설명하기로 한다.
도 3은 본 발명이 적용되는 이동통신 단말기용 보코더의 구성도로서, 보코더와 주변장치 간의 인터페이스 상태가 도시된다.
보코더 신호처리부(Digital Signal Processor)(31)는 보코더의 인코딩 및 디코딩 작업을 수행한다. 음성코덱(32)은 마이크를 통해 입력된 아날로그 음성신호를 디지털 신호로 변환하여 상기 보코더 신호처리부(31)로 전달하거나, 디코딩 과정을 통해 복원된 음성신호를 아날로그 신호로 변환하여 스피커를 통해 출력한다. 마이크로프로세서(33)는 인코딩 오프세트(ENC_OFFSET)(34), 디코딩 오프세트(DEC_OFFSET)(35), 디코딩 인터럽트(DEC_INT)(36) 레지스터에 초기값을 저장하므로써 보코더가 동작 타이밍을 결정할 수 있도록 해 준다. 인코딩 패킷(ENC_PACKET)(37) 레지스터는 인코딩된 음성 데이터를 보코더로부터 전달받아 마이크로프로세서(33)로 넘겨주고, 디코딩 패킷(DEC_PACKET)(38) 레지스터는 마이크로프로세서(33)로부터 받은 디코딩할 음성 데이터를 보코더로 전달하는 역할을 수행한다. 또한, 보코더에서는 상태(VOC_ACK)(39) 레지스터에 보코더의 현재 동작 상태가 기록되도록 하여 외부에서 보코더의 동작 상태를 손쉽게 확인할 수 있게 한다.
이와 같이 하드웨어가 구성되면 도 4와 같이 본 발명에서 제안하는 양방향 실시간 동작을 위한 보코더를 구성할 수 있다.
보코더가 처음 동작을 시작하면 먼저, 필요한 파라미터들을 초기화시키고(단계 41), 시스템과의 타이밍을 맞추기 위하여 프레임 기준신호(FR_REF)를 기다리는 대기상태(단계 42)로 들어간다. 대기상태로 머무르던 보코더는 FR-REF 신호가 들어오면 첫번째 인터럽트 처리 루틴(단계 43)에서 마이크로프로세서(33)에 의해 미리 저장된 ENC_OFFSET(34), DEC_OFFSET(35), DEC_INT(36) 레지스터의 값들을 읽어서 보코더가 시스템의 타이밍에 맞추어 동작할 수 있도록 IS_CNT 및 OS_CNT 값을 초기화시킨 후 상태(state)를 1로 바꾸어 준다. 여기서 IS_CNT의 값은 (ENC_OFFSET - 한 프레임의 샘플수)의 값으로 초기화되고, OS_CNT의 값은 (DEC_OFFSET - 한 프레임의 샘플수)의 값으로 초기화된다.
보코더의 상태(state)가 1이 되면 먼저, OS_CNT 값을 검사하여(단계 44) 디코딩할 시점인 경우에는 디코딩 과정(단계 45)을 시작한다. 디코딩 과정(단계 45)에서는 마이크로프로세서(33)에 의해 DEC_PACKET(37) 레지스터에 미리 저장된 디코딩할 음성 데이터를 읽어서 디코딩을 수행하여 복원된 음성샘플 160개를 출력버퍼에 저장한다. 디코딩할 시점이 아닌 경우에는, 다음 단계로 진행한 후 IS_CNT 값을 검사하여(단계 46) 인코딩할 시점인 경우 인코딩 과정(단계 47)을 수행한다. 인코딩 과정(단계 47)이 시작되면 입력 음성샘플 버퍼에 저장된 입력 음성샘플 160개를 프로세싱 메모리로 복사한 후 인코딩 과정을 수행하여 압축된 음성 데이터를 만들어 마이크로프로세서(33)에 전달하기 위하여 ENC_PACKET(37) 레지스터에 저장한 후 인코딩 인터럽트를 발생하여 마이크로프로세서(33)에 음성 데이터의 저장을 알린다.
만일, OS_CNT 및 IS_CNT 값을 검사한 결과 위의 두가지 경우에 해당되지 않으면 보코더는 아이들 상태(단계 48)로 들어간다. 아이들 상태(단계 48)에서는 보코더의 동작이 중지되고 인터럽트 처리 루틴이 수행되는데, 음성샘플이 들어오면아이들 상태에서 깨어나 두번째 인터럽트 처리 루틴(단계 49)에서 음성코덱을 통해 들어온 입력 음성샘플을 저장하고 IS_CNT 값을 하나 증가시킨 후 출력 음성샘플 한 개를 음성코덱(32) 쪽으로 출력하고 OS_CNT 값도 1을 증가시킨다. 그리고 OS_CNT 값을 검사하여 디코딩 인터럽트(DEC_INT)를 발생시킬 시점이면 디코딩 인터럽트를 발생시키게 된다. 디코딩 인터럽트가 마이크로프로세서(33) 쪽으로 가해지면 마이크로프로세서(33)에서는 보코더가 다음 프레임에 디코딩할 음성 데이터를 DEC_PACKET(38) 레지스터에 저장한다. 인터럽트 루틴에서 1씩 증가된 IS_CNT 및 OS_CNT 값을 가지고 다시 검사를 수행하여 앞의 과정을 반복 수행하게 된다.
이러한 보코더의 동작을 상태도로 표시하면 도 5와 같다. 도 5를 참조하면, 상태(state)=1(51)은 FR_REF 신호가 들어오기를 기다리는 상태이고, 상태(state)=2(52)는 FR_REF 신호를 받은 후 보코더의 동작 시점을 결정하여 인코딩 또는 디코딩할 시점을 검사하면서 기다리는 상태, 상태(state)=3 및 4(53 및 54)는 인코딩 과정의 시작과 종료를 나타내는 상태이고, 상태(state)=5 및 6(54 및 55)은 디코딩 과정의 시작과 종료를 나타내는 상태이다. 이러한 각 동작 상태는 도 3에 도시된 VOC_ACK(39) 레지스터를 통해 외부에서 쉽게 관찰할 수 있다.
또한, 도 4와 같이 이루어지는 보코더의 동작을 도 6의 타이밍도를 참조하여 설명하면 다음과 같다. 도 6에 도시된 실시 예에서는 한 프레임의 길이를 20msec(160 샘플), 마이크로프로세서(33)가 ENC_OFFSET=0, DEC_OFFSET=40, DEC_INT=80의 값으로 레지스터 값들을 써 놓았을 경우를 가정한 것이다.
앞에서 설명된 바와 같이 IS_CNT의 값은 (ENC_OFFSET - 160)로 초기화되므로160이 되고, OS_CNT의 값은 (DEC_OFFSET - 160)로 초기화되므로 120이 된다. 그러므로 디코딩은 FR_REF 신호가 들어온 시점을 기준으로 120 샘플(15msec) 후에 시작되고(구간 61), 인코딩은 160 샘플(20msec) 후에 시작된다(구간 62). 그리고 인코딩과 디코딩 시간을 제외한 나머지 구간이 아이들(Idel) 구간(구간 63 및 64)이 된다. 인코딩 인터럽트(ENC_INT: 65)는 인코딩 과정이 끝나는 시점에서 발생되며, 디코딩 인터럽트(DEC_INT: 66)는 처음 발생시점이 DEC_INT(36) 레지스터의 값이 (OS_CNT + 160)의 값과 같아지는 시점이므로, 여기서는 OS_CNT의 초기값이 120이고, DEC_INT의 값이 80이므로 FR_REF 신호가 들어온 다음 40 샘플(5msec) 후에 처음 발생되고, 그 이후는 매 160 샘플(20msec)마다 발생된다.
이와 같이 보코더의 동작시점은 ENC_OFFSET(34), DEC_OFFSET(35), DEC_INT(36) 레지스터들의 값을 설정하여 쉽게 조정할 수 있으며, 인코딩과 디코딩 시점이 서로 충돌을 일으키지 않는 안정된 구간에서 동작할 수 있도록 사용자가 초기값을 설정하면 된다. 만약에 인코딩과 디코딩 과정에서 충돌이 일어나면 실시간 처리에 오류가 발생하게 되므로 이러한 오류를 방지하기 위한 다음과 같은 처리를 해 주어야 한다.
도 7 및 도 8은 상기와 같은 인코딩과 디코딩 과정에서 충돌이 발생될 경우 실시간 처리에서 오류가 생기지 않도록 음성샘플 카운터 값 및 버퍼 포인터를 보정해 주는 과정을 도시한 흐름도이다.
도 7을 참조하면, 인코딩의 시작이 정상적으로 이루어진 경우라면 IS_CNT의 값은 인코딩 시작 시점에서 160으로 초기화된다(단계 71). 하지만 인코딩을 시작해야 할 시점에서 디코딩이 이미 진행 중이라면 디코딩이 종료될 때까지 인코딩의 시작이 지연된다. 이렇게 인코딩이 지연된 시간 만큼 입력 샘플이 더 들어왔으므로 정확한 실시간 처리를 위해서는 IS_CNT의 값을 초기화할 때 지연된 것을 보정해 주어야 한다(단계 71). 그리고 입력버퍼의 포인터 in_buf_ptr의 값도 지연된 만큼 보정한 후(단계 72), 보정된 입력버퍼 포인터에 따라 입력버퍼에서 프로세싱 메모리로 입력샘플 160개를 복사하여(단계 73) 인코딩을 수행하여야 한다.
마찬가지로, 도 8은 디코딩의 경우를 도시한 것으로, 디코딩의 시작 단계에서 OS_CNT의 값을 보정하고(단계 81) 출력버퍼의 포인터 out_buf_ptr의 값을 보정한 후(단계 82) 디코딩을 수행하여 수신한 음성 데이터로부터 원래의 음성신호를 복원한다. 이렇게 복원된 음성샘플은 dec_out_buf의 메모리에 저장되어 있으며, 디코딩이 끝난 후 앞에서 보정된 출력버퍼의 포인터에 따라 dec_out_buf 메모리에서 출력버퍼로 160개의 복원된 출력샘플을 복사한다(단계 83).
상술한 바와 같이 본 발명에 따라 이동통신 시스템에서 사용되는 보코더를 구성하면 사용자가 마이크로 프로세서를 통해 보코더의 인코딩 및 디코딩 시점을 손쉽게 조정할 수 있으므로 인코딩과 디코딩 과정에서 충돌이 발생되지 않도록 할 수 있으며, 보코더를 안정된 구간에서 동작시킬 수 있다.
본 발명을 적용하면 시스템에서 수신한 음성 데이터를 원하는 시점에서 먼저 디코딩할 수 있어 그 시간 만큼 지연이 감소된다. 또한, 인코딩과 디코딩 과정에서충돌이 발생된 경우에도 정상적인 동작을 하도록 하여 실시간 동작의 오류 발생이 방지되도록 하며, 상태 레지스터를 통해 보코더의 현재 동작 상태를 외부에서 손쉽게 확인할 수 있다.

Claims (9)

  1. 시작 단계로부터 필요한 파라미터들을 초기화시키는 제 1 단계와,
    시스템과의 타이밍을 맞추기 위하여 프레임 기준신호의 입력을 기다리는 제 2 단계와,
    상기 프레임 기준신호가 입력되면 미리 저장된 ENC_OFFSET, DEC_OFFSET, DEC_INT 레지스터의 값들을 읽고 시스템의 타이밍에 맞추어 동작할 수 있도록 IS_CNT 및 OS_CNT 값을 초기화시킨 후 상태를 변화시키는 제 3 단계와,
    상기 상태가 변화되면 상기 OS_CNT 값을 검사하여 디코딩할 시점인 경우에는 디코딩을 시작하고, 디코딩할 시점이 아닌 경우에는 상기 IS_CNT 값을 검사하여 인코딩할 시점인 경우 인코딩을 수행하는 제 4 단계와,
    상기 제 4 단계에서 상기 OS_CNT 및 IS_CNT 값을 검사한 결과 디코딩 또는 인코딩할 시점이 아니면 아이들 상태로 천이하는 제 5 단계를 포함하여 이루어진 것을 특징으로 하는 이동통신 단말기용 보코더의 동작 방법.
  2. 제 1 항에 있어서,
    상기 제 3 단계에서 상기 IS_CNT 값은 (ENC_OFFSET - 한 프레임의 샘플수)의 값으로 초기화되고, 상기 OS_CNT 값은 (DEC_OFFSET - 한 프레임의 샘플수)의 값으로 초기화되는 것을 특징으로 하는 이동통신 단말기용 보코더의 동작 방법.
  3. 제 1 항에 있어서,
    상기 제 4 단계의 디코딩은 DEC_PACKET 레지스터에 미리 저장된 디코딩할 음성 데이터를 읽어서 디코딩을 수행하는 단계와,
    상기 디코딩 과정을 통해 복원된 음성샘플을 출력버퍼에 저장하는 단계로 수행되는 것을 특징으로 하는 이동통신 단말기용 보코더의 동작 방법.
  4. 제 1 항에 있어서,
    상기 제 4 단계의 인코딩은 음성샘플 버퍼에 저장된 입력 음성샘플을 프로세싱 메모리로 복사한 후 인코딩하는 단계와,
    상기 인코딩 과정을 통해 압축된 음성 데이터를 마이크로프로세서로 전달하기 위하여 ENC_PACKET 레지스터에 저장하는 단계와,
    인코딩 인터럽트를 발생하여 마이크로프로세서로 인코딩한 음성 데이터의 저장을 알리는 단계로 수행되는 것을 특징으로 하는 이동통신 단말기용 보코더의 동작 방법.
  5. 제 1 항에 있어서,
    상기 제 5 단계의 아이들 상태에서 음성샘플이 입력되면 아이들 상태에서 깨어나 인터럽트 처리 루틴을 수행하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 이동통신 단말기용 보코더의 동작 방법.
  6. 제 5 항에 있어서,
    상기 인터럽트 처리 루틴은 상기 음성샘플을 저장하고 상기 IS_CNT 값을 하나 증가시킨 후 출력 음성샘플 한 개를 출력하는 단계와,
    상기 OS_CNT 값을 하나 증가시키고 상기 OS_CNT 값을 검사하여 디코딩 인터럽트를 발생시키는 단계와,
    다음 프레임에 디코딩할 음성 데이터를 DEC_PACKET 레지스터에 저장하는 단계와,
    하나씩 증가된 상기 IS_CNT 및 OS_CNT 값을 가지고 다시 검사를 수행한 후 상기 과정을 반복 실시하는 단계로 이루어지는 것을 특징으로 하는 이동통신 단말기용 보코더의 동작 방법.
  7. 제 6 항에 있어서,
    상기 IS_CNT 값은 상기 음성샘플이 입력될 때마다 하나씩 증가되고, 상기 OS_CNT 값은 상기 음성샘플이 출력될 때마다 하나 증가되는 것을 특징으로 하는 이동통신 단말기용 보코더의 동작 방법.
  8. 제 1 항에 있어서,
    상기 제 4 단계의 인코딩 시작 시점에서 디코딩이 이미 진행 중이면 디코딩이 종료될 때까지 대기하는 단계와,
    상기 디코딩이 종료되면 상기 IS_CNT 값을 초기화하고 입력버퍼의 포인터 값을 보정한 후 상기 포인터 값에 따라 입력버퍼에서 프로세싱 메모리로 입력샘플을 복사하여 인코딩이 수행되도록 하는 단계를 더 포함하여 이루어진 것을 특징으로 하는 이동통신 단말기용 보코더의 동작 방법.
  9. 제 1 항에 있어서,
    상기 제 4 단계의 디코딩 시작 시점에서 인코딩이 진행 중이면 인코딩이 종료될 때까지 대기하는 단계와,
    상기 인코딩이 종료되면 상기 OS_CNT의 값을 보정한 후 출력버퍼의 포인터 값을 보정하고 디코딩이 수행되도록 하는 단계를 더 포함하여 이루어진 것을 특징으로 하는 이동통신 단말기용 보코더의 동작 방법.
KR10-2001-0081325A 2001-12-19 2001-12-19 이동통신 단말기용 보코더의 동작 방법 KR100439422B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0081325A KR100439422B1 (ko) 2001-12-19 2001-12-19 이동통신 단말기용 보코더의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0081325A KR100439422B1 (ko) 2001-12-19 2001-12-19 이동통신 단말기용 보코더의 동작 방법

Publications (2)

Publication Number Publication Date
KR20030050803A KR20030050803A (ko) 2003-06-25
KR100439422B1 true KR100439422B1 (ko) 2004-07-09

Family

ID=29576500

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0081325A KR100439422B1 (ko) 2001-12-19 2001-12-19 이동통신 단말기용 보코더의 동작 방법

Country Status (1)

Country Link
KR (1) KR100439422B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990060520A (ko) * 1997-12-31 1999-07-26 서평원 코드 분할 다중 접속 방식 이동 통신 시스템의보코더 체널 할당방법
EP0932265A2 (en) * 1998-01-21 1999-07-28 Globalstar L.P. Multiple vocoder mobile satellite telephone system
US20010044712A1 (en) * 2000-05-08 2001-11-22 Janne Vainio Method and arrangement for changing source signal bandwidth in a telecommunication connection with multiple bandwidth capability

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990060520A (ko) * 1997-12-31 1999-07-26 서평원 코드 분할 다중 접속 방식 이동 통신 시스템의보코더 체널 할당방법
EP0932265A2 (en) * 1998-01-21 1999-07-28 Globalstar L.P. Multiple vocoder mobile satellite telephone system
JPH11289286A (ja) * 1998-01-21 1999-10-19 Globalstar Lp 多重ボ―コ―ダ移動衛星電話装置
US20010044712A1 (en) * 2000-05-08 2001-11-22 Janne Vainio Method and arrangement for changing source signal bandwidth in a telecommunication connection with multiple bandwidth capability

Also Published As

Publication number Publication date
KR20030050803A (ko) 2003-06-25

Similar Documents

Publication Publication Date Title
KR100563293B1 (ko) 음성 복호화에서 음성 프레임 오류 은폐를 위한 방법 및시스템
EP0820052B1 (en) Voice-coding-and-transmission system
JP2002542518A5 (ko)
KR20040054736A (ko) 헤더를 포함하는 프레임에 배열된 코딩된 디지털 오디오신호를 디코딩하는 방법 및 장치
KR20040005860A (ko) 음성 통신에서의 위로 잡음 생성 방법 및 시스템
JPH02288520A (ja) 背景音再生機能付き音声符号復号方式
TW200917764A (en) System and method for providing AMR-WB DTX synchronization
JP3464371B2 (ja) 不連続伝送中に快適雑音を発生させる改善された方法
EP1617417A1 (en) Voice coding/decoding method and apparatus
KR100439422B1 (ko) 이동통신 단말기용 보코더의 동작 방법
JPH07334191A (ja) パケット音声復号方法
JP2001502440A (ja) 希望する可聴情報を通信媒体上で通信するためのシステム並びに方法
JP3487158B2 (ja) 音声符号化伝送システム
JP3225256B2 (ja) 擬似背景雑音生成方法
JPH10326100A (ja) 音声録音方法及び音声再生方法及び音声録音再生装置
TW569556B (en) Adaptive differential pulse-code modulation compression encoding/decoding method capable of fast recovery and apparatus thereof
JP3508850B2 (ja) 疑似背景雑音生成方法
JPH07334197A (ja) 音声符号化装置
KR100244217B1 (ko) 음성 및 데이터 동시 송수신 장치 및 방법
JP3249012B2 (ja) 音声符号化装置
WO2010000303A1 (en) Speech decoder with error concealment
WO2003067574A1 (en) Method and apparatus of packet loss concealment for cvsd coders
JPH07336311A (ja) 音声復号化装置
JP2000020097A (ja) 低消費電力型背景雑音生成方式
JPH1168578A (ja) 音声圧縮伸長方法及びその装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130527

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee