KR20070076765A - 유럽형 이동통신 시스템의 보코더 서브시스템에서 펄스코드변조 코덱 샘플의 보정 방법 및 장치 - Google Patents

유럽형 이동통신 시스템의 보코더 서브시스템에서 펄스코드변조 코덱 샘플의 보정 방법 및 장치 Download PDF

Info

Publication number
KR20070076765A
KR20070076765A KR1020060006029A KR20060006029A KR20070076765A KR 20070076765 A KR20070076765 A KR 20070076765A KR 1020060006029 A KR1020060006029 A KR 1020060006029A KR 20060006029 A KR20060006029 A KR 20060006029A KR 20070076765 A KR20070076765 A KR 20070076765A
Authority
KR
South Korea
Prior art keywords
pcm
buffer
gsm
samples
codec
Prior art date
Application number
KR1020060006029A
Other languages
English (en)
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 KR1020060006029A priority Critical patent/KR20070076765A/ko
Publication of KR20070076765A publication Critical patent/KR20070076765A/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05DHINGES OR SUSPENSION DEVICES FOR DOORS, WINDOWS OR WINGS
    • E05D15/00Suspension arrangements for wings
    • E05D15/48Suspension arrangements for wings allowing alternative movements
    • E05D15/52Suspension arrangements for wings allowing alternative movements for opening about a vertical as well as a horizontal axis
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06BFIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
    • E06B3/00Window sashes, door leaves, or like elements for closing wall or like openings; Layout of fixed or moving closures, e.g. windows in wall or like openings; Features of rigidly-mounted outer frames relating to the mounting of wing frames
    • E06B3/32Arrangements of wings characterised by the manner of movement; Arrangements of movable wings in openings; Features of wings or frames relating solely to the manner of movement of the wing
    • E06B3/34Arrangements of wings characterised by the manner of movement; Arrangements of movable wings in openings; Features of wings or frames relating solely to the manner of movement of the wing with only one kind of movement
    • E06B3/341Tilt-and-turn wings
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05YINDEXING SCHEME ASSOCIATED WITH SUBCLASSES E05D AND E05F, RELATING TO CONSTRUCTION ELEMENTS, ELECTRIC CONTROL, POWER SUPPLY, POWER SIGNAL OR TRANSMISSION, USER INTERFACES, MOUNTING OR COUPLING, DETAILS, ACCESSORIES, AUXILIARY OPERATIONS NOT OTHERWISE PROVIDED FOR, APPLICATION THEREOF
    • E05Y2600/00Mounting or coupling arrangements for elements provided for in this subclass
    • E05Y2600/10Adjustable
    • E05Y2600/14Adjustable with position retaining means
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05YINDEXING SCHEME ASSOCIATED WITH SUBCLASSES E05D AND E05F, RELATING TO CONSTRUCTION ELEMENTS, ELECTRIC CONTROL, POWER SUPPLY, POWER SIGNAL OR TRANSMISSION, USER INTERFACES, MOUNTING OR COUPLING, DETAILS, ACCESSORIES, AUXILIARY OPERATIONS NOT OTHERWISE PROVIDED FOR, APPLICATION THEREOF
    • E05Y2600/00Mounting or coupling arrangements for elements provided for in this subclass
    • E05Y2600/50Mounting methods; Positioning
    • E05Y2600/51Screwing or bolting
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05YINDEXING SCHEME ASSOCIATED WITH SUBCLASSES E05D AND E05F, RELATING TO CONSTRUCTION ELEMENTS, ELECTRIC CONTROL, POWER SUPPLY, POWER SIGNAL OR TRANSMISSION, USER INTERFACES, MOUNTING OR COUPLING, DETAILS, ACCESSORIES, AUXILIARY OPERATIONS NOT OTHERWISE PROVIDED FOR, APPLICATION THEREOF
    • E05Y2900/00Application of doors, windows, wings or fittings thereof
    • E05Y2900/10Application of doors, windows, wings or fittings thereof for buildings or parts thereof
    • E05Y2900/13Type of wing
    • E05Y2900/148Windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은, 유럽형 이동통신 시스템의 보코더 서브시스템에서 펄스 코드변조 코덱 샘플의 보정 방법 및 장치에 있어서, 상기 방법은, 일정한 유럽형 이동통신 시스템(GSM) 프레임 단위로 음성을 인코딩하여 GSM 모뎀으로 패킷을 전달하는 GSM 보코더 서브시스템에서 펄스 코드변조(PCM) 코덱 샘플의 보정 방법에 있어서, 상기 GSM 프레임 단위를 기준으로, PCM코덱 샘플을 인코딩하기 위하여, 업링크의 경우 버퍼에 일정시간마다 코덱으로부터의 PCM샘플을 버퍼에 저장하는 과정과, 상기 프레임 단위시간만큼의 샘플들이 버퍼에 채워지면, 상기 샘플들로 인코딩을 수행하여 GSM모뎀으로 전달하는 과정과, 다운링크의 경우 상기 GSM 모뎀으로부터 전달받은 패킷을 디코딩하여 생성된 PCM 샘플들을 버퍼에 저장한 후, 상기 일정시간을 주기로 포인터를 증가 시키며 한 샘플씩 PCM 코덱으로 출력하는 과정을 포함하는 것을 특징으로 한다.
GSM, Vocoder Speech Sub-system, PCM Codec, System Clock

Description

유럽형 이동통신 시스템의 보코더 서브시스템에서 펄스 코드변조 코덱 샘플의 보정 방법 및 장치{Method and apparatus for PCM Codec sample Calibration of GSM Vocoder Sybsystem in a mobile communication system}
도 1은 GSM 보코더 서브시스템의 동작 절차를 도시한 도면.
도 2는 본 발명의 바람직한 제 1실시예에 따른 GSM 프레임 및 PCM 버퍼의 구조를 도시한 도면.
도 3a 내지 3c는 본 발명의 바람직한 제 2실시예에 따른 인터럽트 서비스 루틴에서의 PCM 포인터 보정 절차를 도시한 흐름도.
본 발명은 이동통신 시스템에 관한 것으로서, 특히 GSM(Global System for Mobile communication)시스템 단말기에서 펄스 코드 변조(Pulse Code Modulation, 이하 “PCM”이라 칭함) 코덱 샘플 개수의 보정으로 보코더가 정상동작을 수행하여 음질저하를 방지하는 방법 및 장치에 관한 것이다.
상기 GSM 시스템 단말기에서 음성을 처리하기 위한 보코더 서브-시스템(Vocoder Speech Subsystem)은 8kHz로 샘플링된 PCM 샘플을 20ms동안 160 샘플단위로 입력 받아 처리하게 된다. 여기에서 두 가지 구현 문제가 있을 수 있다.
하나는 20ms 보코더 프레임과 약 4.615ms인 GSM 프레임의 단위가 달라 PCM 샘플 버퍼링을 하기 위한 적절한 조치가 필요하다. 또한 다른 하나는 일반적으로 GSM 모뎀과 RF(Radio Frequency)는 공중 인터페이스(Air interface)와 동기를 맞춰 수행하기 때문에 같은 시스템 클럭(system clock)으로 동작하게 되고, 자동 주파수 제어(Automatic frequency control, 이하 “AFC”라 칭함)가 가능한 TCXO(Temperature Compensated Crystal Oscillator)를 사용하는 반면, 아날로그 음성신호를 샘플링하는 PCM 코덱은 GSM 시스템 클럭 소스와 다른 AFC에 대한 보정이 불가능한 Xtal(crystal oscillator)과 같은 클럭으로 동작 하도록 설계 될 수 있다.
상기된 바와 같이 동작하는 종래 기술에 의한 GSM 시스템 단말기에 있어서는, PCM 코덱과 GSM 시스템이 다른 클럭으로 동작하기 때문에 GSM 프레임 주기와 PCM 샘플링 주기에 오차가 발생 할 수 있고, 이로 인해 보코더가 수행하는 주기 동안 처리해야 하는 샘플보다 많거나 부족할 수 있는 문제가 발생 할 수 있다. 이렇게 되면 보코더는 해당 프레임에 정상적인 수행을 하지 못 할 수 있고 이는 음질에 큰 영향을 끼치게 되는 문제점이 있었다.
따라서 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명은, GSM시스템 단말기에서 GSM 시스템 프레임을 기준으로 펄스 코드 변조(PCM) 코덱 샘플 개수를 보정하여 보코더가 정상동작을 수행하여 음질저하를 방지하는 방법 및 장치를 제공한다.
본 발명은, GSM시스템 단말기에서 GSM 시스템 프레임을 기준으로 펄스 코드 변조(PCM) 코덱 샘플 개수를 2중 버퍼에 저장하여 보정함으로써 보코더가 정상동작을 수행하여 음질저하를 방지하는 방법 및 장치를 제공한다.
본 발명의 실시예는, 일정한 유럽형 이동통신 시스템(GSM) 프레임 단위로 음성을 인코딩하여 GSM 모뎀으로 패킷을 전달하는 GSM 보코더 서브시스템에서 펄스 코드변조(PCM) 코덱 샘플의 보정 방법에 있어서, 상기 GSM 프레임 단위를 기준으로, PCM코덱 샘플을 인코딩하기 위하여, 업링크의 경우 버퍼에 일정시간마다 코덱으로부터의 PCM샘플을 버퍼에 저장하는 과정과, 상기 프레임 단위시간만큼의 샘플들이 버퍼에 채워지면, 상기 샘플들로 인코딩을 수행하여 GSM모뎀으로 전달하는 과정과, 다운링크의 경우 상기 GSM 모뎀으로부터 전달받은 패킷을 디코딩하여 생성된 PCM 샘플들을 버퍼에 저장한 후, 상기 일정시간을 주기로 포인터를 증가 시키며 한 샘플씩 PCM 코덱으로 출력하는 과정을 포함하는 것을 특징으로 한다.
본 발명의 다른 실시예는, 유럽형 이동통신 시스템의 보코더 서브시스템에서 펄스 코드변조 코덱 샘플의 보정 방법에 있어서, 유럽형 이동통신 시스템(GSM)의 클럭 소스와 펄스 코드변조(PCM) 코덱의 클럭 소스가 다른 구조인 경우, GSM 프레 임의 주기로 PCM 샘플 버퍼의 위치를 보정하기 위하여 프레임의 인코딩 단위마다 보정 동기 신호를 발생시키는 과정과, 이전에 발생한 보정 동기 신호로부터 상기 보정 동기 신호가 발생한 시간동안의 PCM 샘플과, 상기 GSM 프레임 주기의 PCM 샘플과의 오차를 계산하여 상기 오차만큼의 PCM샘플을 불연속으로 송신하는 과정을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예는, 일정한 유럽형 이동통신 시스템(GSM) 프레임 단위로 음성을 인코딩하여 GSM 모뎀으로 패킷을 전달하는 GSM 보코더 서브시스템에서 펄스 코드변조(PCM) 코덱 샘플의 보정 장치에 있어서, 수신된 음성 신호를 PCM코덱 샘플로 변환하고, 전달받은 PCM샘플들을 아날로그로 변환하여 스피커로 출력하는 PCM코덱부와, 상기 GSM 프레임 단위를 기준으로, PCM코덱 샘플을 인코딩하기 위하여, 업링크의 경우 버퍼에 일정시간마다 코덱으로부터의 PCM샘플을 버퍼에 저장하고, 상기 프레임 단위시간만큼의 샘플들이 버퍼에 채워지면, 상기 샘플들로 인코딩을 수행하여 GSM모뎀으로 전달하고, 다운링크의 경우 상기 GSM 모뎀으로부터 전달받은 패킷을 디코딩하여 생성된 PCM 샘플들을 버퍼에 저장한 후, 상기 일정시간을 주기로 포인터를 증가 시키며, 한 샘플씩 PCM 코덱으로 출력하는 트랜스 코더를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예는, 유럽형 이동통신 시스템의 보코더 서브시스템에서 펄스 코드변조 코덱 샘플의 보정 장치에 있어서, 유럽형 이동통신 시스템(GSM)의 클럭 소스와 펄스 코드변조(PCM) 코덱의 클럭 소스가 다른 구조인 경우, GSM 프레임의 주기로 PCM 샘플 버퍼의 위치를 보정하기 위하여 프레임의 인코딩 단 위마다 보정 동기 신호를 발생시키는 보코더 서브시스템과, 이전에 발생한 보정동기 신호로부터 상기 보정 동기 신호가 발생한 시간동안의 PCM 샘플과, 상기 GSM 프레임 주기의 PCM 샘플과의 오차를 계산하여 상기 오차만큼의 PCM 샘플을 불연속으로 송신하는 인터럽트 서비스 루틴(ISR)을 포함하는 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐를 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명에서는 GSM 시스템 단말기에서 보코더 프레임과 GSM 프레임의 단위가 달라 발생되는 문제점을 해소하기 위해, PCM 샘플 버퍼링의 수행 시 GSM 보코더와 PCM 버퍼의 동작에 관한 실시예와, 클럭 소스 오차로 인해 발생되는 문제점을 해소하기 위해 PCM 샘플 차이를 보정하는 실시예를 나타낸다.
<<제 1실시예>>
상기 제 1실시예에서는 GSM 보코더에서 PCM 버퍼의 동작 절차를 설명하도록 한다.
도 1은 GSM 보코더 서브시스템의 동작 절차를 도시한 도면이다.
상기 도 1을 참조하면, GSM 보코더 서브시스템(Vocoder SubSystem)은 마이크(105)로부터 입력된 아날로그 음성 신호를 아날로그 프로세싱부의 프로세싱을 통하여 출력하고, 상기 출력된 신호를 필터가 포함된 아날로그 디지털 컨버터(ADC:Analog Digital Conveter)(120)에서 아날로그 신호를 디지털로 변환하며, 8kHz로 샘플링하여 PCM 샘플 데이터로 출력하는 (A)부분과, 상기 A부분에서 샘플링된 PCM샘플을 에코제어가 포함된 트랜스코더와 감지부(135)에서 상기 PCM 160 샘플을 기준으로 한 보코더 프레임(Vocoder frame)마다 인코딩과 디코딩을 수행하며, 수신되는 PCM샘플이 없는 시간동안은 불연속 송신부(DTX:Discontinuous Transmission)(130)의 제어에 의해 GSM모뎀(140)으로 PCM샘플을 불연속 송신하는 (B)부분으로 구성된다.
즉, 상기 (A)부분은 PCM 코덱이 될 수 있으며, 125us 주기로 마이크(105)로부터의 입력과 스피커(110)로의 출력이 이루어지고, (B)부분은 20ms 주기로 상기 트랜스코더와 감지부(135)에서 8kHz로 샘플링된 PCM샘플을 160 샘플단위로 입력 받아 상기 GSM 모뎀(140)으로 전송할 패킷으로 만드는 인코딩을 수행하거나, 상기 GSM 모뎀(140)에서 전송 받은 패킷을 PCM 160샘플로 디코딩하는 기능을 수행한다. 여기서 상기 (A)부분과 (B)부분사이에는 버퍼메모리가 사용된다.
도 2는 본 발명의 바람직한 제 1실시예에 따른 GSM 프레임 및 PCM 버퍼의 구 조를 도시한 도면이다.
상기 도 2를 참조하면, 보코더 프레임과 달리 GSM 프레임은, 'L1'과 같이 약 4.615ms를 한 프레임 주기로 60ms 동안 13 프레임이 수행 된다. 상기 13번째 프레임은 제어(Control)와 아이들 프레임이 13 프레임주기로 반복된다. GSM 모뎀은 송수신할 데이터를 공중 인터페이스 상(Air Interface)의 버스트 사이즈(Burst size)에 맞게 4개의 프레임에 나누어 처리하게 된다. 음성을 전송할 경우 인코더 패킷은 4프레임 단위로 동작하는 GSM 모뎀의 기준 동작 시점 이전에 완료 되어야 하며, 상기 'L1'에서 GSM 모뎀의 기준 위치는 '가', '나', '다', '라', ‘마’, ‘바’, ‘사’이고, 각각 4, 4, 5, 4, 4, 5의 프레임 주기임을 볼 수 있다.
여기서 보코더가 처리되는 프레임은 'L2'이며, 상기‘L2'에서 인코딩를 수행하기 위한 PCM 160 샘플이 버퍼에 채워지는 20ms 주기와 GSM 프레임 시작 시점사이에 갭(Gab)이 있음을 알 수 있다. 즉, GSM의 모든 동작은 GSM 프레임 기준으로 시작이 되는데, 상기 보코더가 시작되어야 하는 '나' 위치에서 인코더가 처리해야 하는 160 샘플이 아직 버퍼에 채워 지지 않음을 볼 수 있다. 마찬가지로 '다' 위치에서도 인코더가 수행 되어야 하나 버퍼가 채워지는 시점은 'c' 이므로 보코더 수행을 할 수 없다. 반면 '다' 와 '라' 사이는 제어 프레임 및 아이들 프레임이 있는 주기 이므로 5 프레임이 되어 (4.615*5)-20 ms로서, 3.075ms 동안 버퍼에 PCM 샘플이 더 쌓이게 된다.
상기 GSM 프레임과 보코더 프레임의 주기 차이로 발생하는 위와 같은 문제를 160*2 샘플개의 2중 버퍼 메모리를 사용하여 처리할 수 있다. 업링크의 경우 320개의 버퍼를 두고 매 125us 마다 코덱의 PCM을 버퍼에 저장한다. 버퍼 포인터(Buf_Ptr_u)의 위치는 이때마다 1씩 증가하게 된다. 인코더가 사용하는 버퍼는 320 샘플개의 2중 버퍼에서 1~160번을 UPPER_BOUND, 161~320번을 LOW_BOUND라 할 경우, 상기 버퍼 포인터가 LOW_BOUND에 위치 하게 될 때 버퍼 포인터가 위치하지 않는 즉, UPPER_BOUND의 데이터를 사용한다. 이는 버퍼 포인터와 인코더가 사용하는 버퍼의 중첩을 방지하기 위해서이다.
상기 도 2의 'UQ1' 에서와 같이 인코더의 경우 인코더 샘플 지연(Encoder sample delay)을 최소한으로 줄이면서 버퍼 포인터와 인코더 입력 버퍼의 중첩을 피하기 위한 '가' 위치에서의 상기 버퍼 포인터의 초기 조건은 다음과 같다.
- 최대 버퍼 사이즈(MAX_BUFFER_SIZE) = 320 sample
- GSM 프레임 타임(GSM_FRAME_TIME) = 4.615ms
- 샘플 주기(SAMPLE_DURATION) = 0.125ms
- 설정된 버퍼 위치(INIT_BUFFER_POSITION) = (MAX_BUFFER_SIZE/2) +
((GSM_FRAME_TIME/SAMPLE_DURATION)/3) * 2 ≒ 185 sample
그러므로 초기 버퍼 포인터의 위치는 2중 버퍼상에서 LOW_BOUND의 185 번이 된다.
상기 초기 버퍼 포인터의 위치를 위와 같이 결정하게 되면, 4 프레임 후의 ' 나' 위치에서 'UQ2' 상에서의 버퍼 포인터 위치는
Buf_Ptr_u = INIT_BUFFER_POSITION + (GSM_FRAME_TIME*4)/SAMPLE_DURATION ≒ 333 % 320 = 13 sample 이므로, UPPER_BOUND의 13번이다.
또한, '다'에서 'UQ3'의 buffer pointer 위치는,
Buf_Ptr_u = 13 + (GSM_FRAME_TIME*4)/SAMPLE_DURATION ≒ 161이므로, LOW_BOUND의 161 번이다.
그리고, '라' 에서 'UQ4'의 buffer pointer 위치는,
Buf_Ptr_u = 161 + (GSM_FRAME_TIME*5)/SAMPLE_DURATION ≒ 345 % 320 = 15이므로, UPPER_BOUND의 15번으로 결정되고 이는 GSM 프레임과 보코더 프레임의 공통 주기인 60ms 마다 반복된다. 따라서 PCM 샘플의 누락과 불연속 없이 인코더 동작이 가능하다.
다운링크의 경우 GSM 모뎀에서 전송 받은 패킷을 디코딩하게 되면, 160개의 PCM 샘플이 생성 되는데, 이를 버퍼에 저장한 후 125us 주기로 포인터를 증가 시키면서 한 샘플씩 PCM 코덱으로 출력하는 동작을 한다. 이는 상기 도 2의 '가' 시점에서 다운링크를 위한 2중 버퍼의 첫번째 위치에 버퍼 포인터를 위치시키면, 상기 도 2의 DQ에서 보여지는 것과 같이 포인 위치와 디코딩된 PCM 샘플 160개의 위치가 순환 반복 되므로 문제없이 수행 될 수 있다.
<<제 2실시예>>
상기 제 2실시예는 클럭 소스 오차로 인한 PCM 샘플 차이의 보정 절차에 대해 설명하도록 한다.
GSM 시스템을 설계할 때 상기 도 1의 (A)부분인 PCM 코덱의 클럭 소스와 (B)의 GSM 모뎀의 클럭 소스가 다르게 설계 될 수 있다. 이 경우 두 클럭 소스간의 미묘한 오차 때문에 시간이 경과함에 따라 다른 클럭으로 동작하는 모듈간의 타이밍이 변할 수 있다. 상기 도 2 'L1'에서 설명하면 일정 시간이 경과한 후 GSM 모뎀 타임인 '가'에서 '나' 시간과 PCM 코덕 타임인 'L2'의 'a'에서 'd'까지의 시간간에 발생하는 차이 문제이다.
가령 코덱 클럭 소스가 모뎀 클럭소스보다 60ms에 1샘플 타임만큼 느리게 진행 된다면, 특정 시간 경과 후에는 버퍼 포인터가 인코더가 사용할 버퍼 경계(buffer boundary)를 침범하게 되어 버퍼 손상(buffer corruption)이 발생하게 되고, 이는 음질에 큰 영향을 미치게 된다. 계속되는 버퍼 손상을 방지하기 위해서 버퍼 포인터를 다시 초기화 하더라도 한 프레임 전체가 깨지게 되어 주기적인 음질 문제가 반복된다.
이와 같은 문제를 해결하기 위해 다음과 같은 방법을 사용한다.
60ms 주기로 13개의 GSM 프레임이 시작되는 위치 즉, 상기 도 2 'L1'의 '가', '라', '사'에서 보정 동기 신호(Calibration Sync Signal)을 발생시키고 125us마다 PCM 샘플을 처리하는 인터럽트 서비스 루틴(Interrupt Service Routine, 이하 “ISR”이라 칭함)에서 상기 보정 동기 신호가 감지되면, 이전에 발생한 신호로부 터 60ms 동안 발생해야 하는 PCM 샘플 480개와의 오차를 계산하여 오차만큼 버퍼 포인터를 증감 시킨다. 이렇게 하면 문제가 발생한 버퍼 160 샘플 모두를 사용하지 못하는 대신 1~2 샘플정도의 불연속만 발생하여 음질에 큰 영향을 주지 않게 된다.
도 3a 내지 3c는 본 발명의 바람직한 제 2실시예에 따른 PCM 샘플을 처리하기 위해 125us 마다 수행되는 인터럽트 서비스 루틴에서의 처리 절차를 도시한 흐름도이다.
305단계에서 호를 설정할 때, PCM 샘플을 처리하는 ISR을 125us 마다 수행하여, 310단계에서 호 연결(Call Connection)이 이루어지면, 315단계의 상태 1(State 1)로 진입한다. 상기 상태 1에 진입하고, 320단계로 진행하여 보정 동기(Cal_Sync)신호가 감지(detection)되면, 325단계에서 샘플 카운터(Sample_Cntr)와 오차변수(Diff_Cntr)를 초기화 하고, 상태 변수를 2로 변경한다. 또한 Cal_Sync를 클리어한다.
이후 도 3B의 330단계의 상태 2에 진입하여, 335단계에서 Cal_Sync가 발생하였으므로, 상기 340단계로 진행하여 상태 변수를 3으로 변경시키고, Cal_Sync를 클리어한 후, Sample_Cntr를 동작한다.
상기 상태 2는 Sample_Cntr를 시작하는 첫 프레임이다. 여기서 상태 1에서 곧바로 샘플 카운팅을 시작 하지 않는 이유는, 예를 들어, 상기 도 2의 '다'와' 라'사이에서 코덱 ISR이 시작 될 경우 'a'에서 발생 했을지 모르는 Cal_Sync로 인해 Sample_Cntr가 시작될 수 있고, 이는 60ms 시작 시간에 오류를 가져 올 수 있기 때 문에 'B'가 발생하는 시점, 다시 말해 상기 상태 2를 카운터 기준 시점으로 잡은 것이다.
이후 도 3c의 345단계의 상태 3에서 347단계의 Cal_Sync가 발생하면, 350단계로 진행하여 다음 Cal_Sync가 발생할 때 까지 Sample_Cntr를 계속 증가 시킨다. 총 60ms 경과 후에 355단계에서 Cal_Sync가 발생하면 360단계로 진행하여 480샘플과의 오차인 Diff_Cntr을 계산하여 포인터를 보정하고, Sample_Cntr을 클리어한다.
이후, 365단계에서 버퍼 포인터(buffer pointer)의 위치를 Diff_Cntr만큼 변경하고, 상기 Diff_Cntr를 클리어 시켜 다음 Cal_Sync가 발생하여 Diff_Cntr이 계산될 때까지 0으로 유지 시킨다. 이후 370단계에서 코덱으로부터 PCM 읽기를 수행하여, 보정된 포인터를 포함하는 PCM 업링크 버퍼로 쓰기를 수행하거나, 보정된 포인터를 포함하는 다운링크 버퍼로부터 PCM 읽기를 수행하여, 코덱으로 쓰기를 수행한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발 명 중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은, GSM시스템 단말기에서 GSM 시스템 프레임을 기준으로 펄스 코드 변조(PCM) 코덱 샘플 개수를 보정하여 보코더가 정상동작을 수행하여 음질저하를 방지함으로써, 상기 GSM 시스템 단말기의 음질을 개선할 수 있는 효과가 있다.

Claims (14)

  1. 일정한 유럽형 이동통신 시스템(GSM) 프레임 단위로 음성을 인코딩하여 GSM 모뎀으로 패킷을 전달하는 GSM 보코더 서브시스템에서 펄스 코드변조(PCM) 코덱 샘플의 보정 방법에 있어서,
    상기 GSM 프레임 단위를 기준으로, PCM코덱 샘플을 인코딩하기 위하여, 업링크의 경우 버퍼에 일정시간마다 코덱으로부터의 PCM샘플을 버퍼에 저장하는 과정과,
    상기 프레임 단위시간만큼의 샘플들이 버퍼에 채워지면, 상기 샘플들로 인코딩을 수행하여 GSM모뎀으로 전달하는 과정과,
    다운링크의 경우 상기 GSM 모뎀으로부터 전달받은 패킷을 디코딩하여 생성된 PCM 샘플들을 버퍼에 저장한 후, 상기 일정시간을 주기로 포인터를 증가 시키며 한 샘플씩 PCM 코덱으로 출력하는 과정을 포함하는 것을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 방법.
  2. 제 1 항에 있어서, 상기 GSM 프레임은, 하나당 약 4.615ms의 프레임씩 4프레임 단위를 기준으로하여 총 13프레임을 한주기로 구성된 것임을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 방법.
  3. 제 1항에 있어서, 상기 PCM샘플들은 125us를 주기로 버퍼에 저장되는 것임을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 방법.
  4. 제 1항에 있어서, 상기 버퍼는,
    상기 인코딩 및 디코딩을 수행하는 버퍼와 같이 사용되며, 상기 인코딩 및 디코딩시 저장되는 데이터와의 중첩을 방지하기 위하여 상기 버퍼 영역을 둘로 나누어, 상기 125us를 주기로 PCM샘플이 버퍼에 저장될 때마다 버퍼 포인터의 위치를 증가시켜, 상기 버퍼 포인터가 위치하지 않는 곳의 영역에 PCM 샘플을 저장하는 것임을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 방법.
  5. 유럽형 이동통신 시스템의 보코더 서브시스템에서 펄스 코드변조 코덱 샘플의 보정 방법에 있어서,
    유럽형 이동통신 시스템(GSM)의 클럭 소스와 펄스 코드변조(PCM) 코덱의 클럭 소스가 다른 구조인 경우, GSM 프레임의 주기로 PCM 샘플 버퍼의 위치를 보정하기 위하여 프레임의 인코딩 단위마다 보정 동기 신호를 발생시키는 과정과,
    이전에 발생한 보정 동기 신호로부터 상기 보정 동기 신호가 발생한 시간동안의 PCM 샘플과, 상기 GSM 프레임 주기의 PCM 샘플과의 오차를 계산하여 상기 오 차만큼의 PCM샘플을 불연속으로 송신하는 과정을 포함하는 것을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 방법.
  6. 제 5항에 있어서, 상기 GSM 프레임의 한 프레임 주기는 13개의 프레임에 60ms 간격임을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 방법.
  7. 제 5항에 있어서, 상기 이전에 발생한 신호로부터 상기 보정 동기 신호가 발생한 시간동안의 PCM 샘플은 160개의 샘플에 20ms간격임을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 방법.
  8. 일정한 유럽형 이동통신 시스템(GSM) 프레임 단위로 음성을 인코딩하여 GSM 모뎀으로 패킷을 전달하는 GSM 보코더 서브시스템에서 펄스 코드변조(PCM) 코덱 샘플의 보정 장치에 있어서,
    수신된 음성 신호를 PCM코덱 샘플로 변환하고, 전달받은 PCM샘플들을 아날로그로 변환하여 스피커로 출력하는 PCM코덱부와,
    상기 GSM 프레임 단위를 기준으로, PCM코덱 샘플을 인코딩하기 위하여, 업링크의 경우 버퍼에 일정시간마다 코덱으로부터의 PCM샘플을 버퍼에 저장하고,
    상기 프레임 단위시간만큼의 샘플들이 버퍼에 채워지면, 상기 샘플들로 인코딩을 수행하여 GSM모뎀으로 전달하고,
    다운링크의 경우 상기 GSM 모뎀으로부터 전달받은 패킷을 디코딩하여 생성된 PCM 샘플들을 버퍼에 저장한 후, 상기 일정시간을 주기로 포인터를 증가 시키며, 한 샘플씩 PCM 코덱으로 출력하는 트랜스 코더를 포함하는 것을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 장치.
  9. 제 8 항에 있어서, 상기 GSM 프레임은, 하나당 약 4.615ms의 프레임씩 4프레임 단위를 기준으로하여 총 13프레임을 한주기로 구성된 것임을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 장치.
  10. 제 8항에 있어서, 상기 PCM샘플들은,
    125us를 주기로 버퍼에 저장되는 것임을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 장치.
  11. 제 8항에 있어서, 상기 버퍼는,
    상기 인코딩 및 디코딩을 수행하는 버퍼와 같이 사용되며, 상기 인코딩 및 디코딩시 저장되는 데이터와의 중첩을 방지하기 위하여 상기 버퍼 영역을 둘로 나누어, 상기 125us를 주기로 PCM샘플이 버퍼에 저장될 때마다 버퍼 포인터의 위치를 증가시켜, 상기 버퍼 포인터가 위치하지 않는 곳의 영역에 PCM 샘플을 저장하는 것임을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 장치.
  12. 유럽형 이동통신 시스템의 보코더 서브시스템에서 펄스 코드변조 코덱 샘플의 보정 장치에 있어서,
    유럽형 이동통신 시스템(GSM)의 클럭 소스와 펄스 코드변조(PCM) 코덱의 클럭 소스가 다른 구조인 경우, GSM 프레임의 주기로 PCM 샘플 버퍼의 위치를 보정하기 위하여 프레임의 인코딩 단위마다 보정 동기 신호를 발생시키는 보코더 서브시스템과,
    이전에 발생한 보정동기 신호로부터 상기 보정 동기 신호가 발생한 시간동안의 PCM 샘플과, 상기 GSM 프레임 주기의 PCM 샘플과의 오차를 계산하여 상기 오차만큼의 PCM 샘플을 불연속으로 송신하는 인터럽트 서비스 루틴(ISR)을 포함하는 것을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 장치.
  13. 제 12항에 있어서, 상기 GSM 프레임의 한 프레임 주기는 13개의 프레임에 60ms 간격임을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 장치.
  14. 제 12항에 있어서, 상기 이전에 발생한 신호로부터 상기 보정 동기 신호가 발생한 시간동안의 PCM 샘플은, 160개의 샘플에 20ms간격임을 특징으로 하는 펄스 코드변조 코덱 샘플의 보정 장치.
KR1020060006029A 2006-01-19 2006-01-19 유럽형 이동통신 시스템의 보코더 서브시스템에서 펄스코드변조 코덱 샘플의 보정 방법 및 장치 KR20070076765A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060006029A KR20070076765A (ko) 2006-01-19 2006-01-19 유럽형 이동통신 시스템의 보코더 서브시스템에서 펄스코드변조 코덱 샘플의 보정 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060006029A KR20070076765A (ko) 2006-01-19 2006-01-19 유럽형 이동통신 시스템의 보코더 서브시스템에서 펄스코드변조 코덱 샘플의 보정 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20070076765A true KR20070076765A (ko) 2007-07-25

Family

ID=38501530

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060006029A KR20070076765A (ko) 2006-01-19 2006-01-19 유럽형 이동통신 시스템의 보코더 서브시스템에서 펄스코드변조 코덱 샘플의 보정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20070076765A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011155761A3 (en) * 2010-06-08 2012-04-12 Samsung Electronics Co., Ltd. Method and system decoding audio data with selective power control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011155761A3 (en) * 2010-06-08 2012-04-12 Samsung Electronics Co., Ltd. Method and system decoding audio data with selective power control

Similar Documents

Publication Publication Date Title
US10454811B2 (en) Apparatus and method for de-jitter buffer delay adjustment
US10651976B2 (en) Method and apparatus for removing jitter in audio data transmission
US8243761B2 (en) Decoder synchronization adjustment
EP1423930B1 (en) Method and apparatus for reducing synchronization delay in packet-based voice terminals by resynchronizing during talk spurts
EP1894331B1 (en) Synchronizing a modem and vocoder of a mobile station
US8718452B2 (en) Stream data reception/reproduction device and stream data reception/reproduction method
US10735120B1 (en) Reducing end-to-end delay for audio communication
US20070263672A1 (en) Adaptive jitter management control in decoder
US20050094622A1 (en) Method and apparatus providing smooth adaptive management of packets containing time-ordered content at a receiving terminal
US7444281B2 (en) Method and communication apparatus generation packets after sample rate conversion of speech stream
US20120265522A1 (en) Time Scaling of Audio Frames to Adapt Audio Processing to Communications Network Timing
US20110257964A1 (en) Minimizing Speech Delay in Communication Devices
KR20070076765A (ko) 유럽형 이동통신 시스템의 보코더 서브시스템에서 펄스코드변조 코덱 샘플의 보정 방법 및 장치
KR101516113B1 (ko) 음성 복호 장치
US9257125B2 (en) Audio frame timing correction method and wireless device
JP2007228040A (ja) 受信パケット欠損対応pll装置
US20220286986A1 (en) Radio apparatus for communicating digital audio streams
JP5136141B2 (ja) 情報処理装置
JP3929830B2 (ja) 揺らぎ補正装置および揺らぎ補正方法
JPH1028138A (ja) パケット信号欠落補正回路

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination