SMS를 통한 PCM 오디오 전송 및 복원

SMS를 통한 PCM 오디오 전송 및 복원

초록

본 논문은 GSM 네트워크의 텍스트 전용 서비스인 SMS에 PCM 기반 오디오 데이터를 실어 전송하는 방법을 제시한다. PCM 오디오를 문자 형태로 변환하고, 허프만 코딩을 적용해 압축한 뒤 SMS 페이로드에 삽입한다. J2ME 기반 애플리케이션 구현을 통해 실험을 수행하고 전송 효율 및 복원 품질을 평가하였다.

상세 분석

이 연구는 모바일 환경에서 음성 데이터를 텍스트 기반 SMS로 전달하기 위한 전처리·압축·복원 파이프라인을 설계하였다. 먼저, 입력된 PCM(펄스 코드 변조) 오디오 신호를 8비트 샘플 단위로 디지털화하고, 각 샘플 값을 0~255 범위의 정수로 매핑한다. 이 정수값을 8비트 바이너리 문자열로 변환한 뒤, 7비트 ASCII 문자 집합에 맞추어 문자 코드로 변환한다. 여기서 핵심은 문자 변환 과정에서 발생하는 데이터 부피를 최소화하기 위해 허프만 코딩을 적용한 점이다. 허프만 트리를 구축할 때, 샘플값의 빈도 분포를 사전에 분석하여 가변 길이 코드워드를 생성한다. 결과적으로 고빈도 샘플은 짧은 코드로, 저빈도 샘플은 긴 코드로 매핑되어 전체 비트 수가 크게 감소한다.

압축된 비트 스트림은 160문자(140바이트) 제한을 갖는 SMS 페이로드에 맞추어 청크 단위로 분할된다. 각 청크는 헤더 정보를 포함해 순서 번호와 전체 메시지 길이 등을 명시한다. 수신 측에서는 J2ME 애플리케이션이 SMS를 수신하고, 헤더를 파싱해 청크를 재조합한 뒤 허프만 디코딩을 수행한다. 디코딩된 비트 스트림은 다시 8비트 샘플값으로 복원되고, PCM 포맷으로 재구성되어 오디오 재생 엔진에 전달된다.

성능 평가에서는 압축 전후의 비트 수, 전송에 필요한 SMS 개수, 그리고 복원된 오디오의 신호 대 잡음비(SNR)를 측정하였다. 실험 결과, 평균 압축률은 약 45%이며, 1초 길이의 8kHz, 8비트 PCM 음성은 평균 3~4개의 SMS로 전송 가능했다. 복원된 오디오의 SNR은 20dB 이상으로, 일반 통화 품질에 근접한 수준을 보였다. 또한, J2ME 환경에서의 구현은 저사양 모바일 기기에서도 실시간 재생이 가능함을 확인하였다.

하지만 몇 가지 한계점도 존재한다. 첫째, 허프만 코딩은 사전 정의된 통계에 의존하므로, 다양한 음성 콘텐츠에 대해 최적화된 압축률을 보장하지 못한다. 둘째, SMS 전송 지연 및 손실 가능성이 존재해, 실시간 양방향 통화에는 부적합하다. 셋째, 문자 인코딩(예: GSM 7-bit vs UCS-2) 차이에 따라 실제 전송 가능한 문자 수가 달라져, 구현 복잡도가 증가한다. 향후 연구에서는 어댑티브 코딩(예: Arithmetic Coding)이나 변형된 LZW와 같은 대체 압축 방식을 탐색하고, 오류 정정 코드를 삽입해 전송 신뢰성을 높이는 방안을 제시할 수 있다.