스픽스
| 파일:Speex logo 2006.svg | |
| 파일 확장자 | .spx |
|---|---|
| 인터넷 미디어 타입 |
audio/x-speex, audio/speex, audio/ogg |
| 개발 | Xiph.Org 재단, Jean-Marc Valin |
| 포맷 종류 | 오디오 포맷 |
| 다음에 포함 | Ogg |
| 표준 | RFC 5574 |
| 웹사이트 | www |
| 개발자 | Xiph.Org 재단, Jean-Marc Valin[1] |
|---|---|
| 발표일 | 1.0 / 2003년 3월 |
| 안정화 버전 | 1.2.1[2]
/ 2022년 6월 16일 |
| 저장소 |
|
| 엔진 | |
| 운영 체제 | 크로스 플랫폼 |
| 종류 | 오디오 코덱, 참조 구현 |
| 라이선스 | BSD 스타일 라이선스[3][4] |
| 웹사이트 | Xiph.org 다운로드 |
스픽스(영어: Speex)는 Xiph에서 개발된 무특허 오디오 압축 포맷이며 VoIP 소프트웨어 및 팟캐스트에 사용되는 프리웨어 음성 코덱이다.[5] CELP 음성 코딩 알고리즘에 기초하고 있다.[6] 스픽스는 모든 특허 제한으로부터 자유로움을 추구하며, 개정된 (3절) BSD 라이선스 하에 허가를 받았다. Ogg 컨테이너 포맷과 함께 사용되거나 UDP/RTP를 통해 전송된다.
스픽스 개발자들은 이 프로젝트를 Vorbis 범용 오디오 압축 프로젝트와 상호 보완적인 것으로 본다. 스픽스는 파일 크기를 줄이기 위해 영구적으로 품질을 떨어뜨리는 손실 압축 포맷이다.
스픽스 프로젝트는 2002년 2월 13일에 시작되었다.[7] 스픽스의 첫 개발 버전은 LGPL 라이선스 하에 공개되었으나, 1.0 베타 버전과 마찬가지로 스픽스는 Xiph 재단의 개정 BSD 라이선스 하에 공개되었다.[8] 스픽스 1.0은 2003년 3월 24일에 공지되었다. 스픽스의 최종 버전 인코더와 디코더는 1.1.12이다.[2]
Xiph.Org 재단은 스픽스를 이전 버전으로 보고 있으며, 오푸스가 그것을 계승하고 있다고 본다.
설명
스픽스는 VoIP와 파일 기반 압축에 사용할 목적으로 개발되었다. 개발 목표는 높은 품질의 음성과 낮은 비트레이트에 최적화된 코덱을 개발하는 것이었다. 이 목표를 달성하기 위해 스픽스는 다중 비트레이트를 사용하며, 초광대역(32 kHz 샘플링 레이트), 광대역(16 kHz 샘플링 레이트), 협대역(전화 품질, 8 kHz 샘플링 레이트)을 지원한다. 스픽스는 휴대폰용이 아닌 VoIP용으로 만들어졌기 때문에 스픽스는 손실된 패킷에 강해야 한다. 이러한 이유로 인해 CELP가 스픽스를 위해 사용할 인코딩 기술로 채택되었다.[6] 가장 큰 이유 중 하나는 CELP가 낮은 비트레이트와 높은 비트레이트에서 작업을 잘 수행하고 크기를 잘 조정할 수 있다는 것이 오랫동안 증명됐다는 것이다.
주요 특징은 다음과 같다.
- 프리웨어/오픈 소스, 무특허, 무로열티
- 동일한 비트스트림에서 협대역과 광대역의 통합
- 광범위한 사용가능 비트레이트(2 kbit/s에서 44kbit/s)
- 동적 비트레이트 전환과 가변 비트레이트(VBR)
- 음성 활동 감지(Voice Activity Detection, VBR과 통합)(1.2 버전에서는 지원하지 않음)
- 가변 복잡성
- 32 kHz에서 초광대역 모드(48 kHz까지)
- 인텐시티 스테레오 인코딩 옵션
기능
- 샘플링 레이트
- 스픽스는 주로 3 가지 샘플링 레이트로 개발되었다. 8 kHz(전화용 샘플링 레이트와 같다), 16 kHz, 32 kHz. 이것들은 각각 협대역, 광대역, 초광대역을 가리킨다.
- 품질
- 스픽스 인코딩은 0부터 10까지 범위의 품질 매개변수에 대부분의 시간을 통제받는다. 고정 비트레이트(CBR) 작동에서는 품질 매개변수가 정수이며, 가변 비트레이트(VBR) 작동에서는 품질 매개변수가 실수(부동소수점)이다.
- 복잡도(가변)
- 스픽스로, 인코더에 허용된 복잡도를 변화시키는 것이 가능하다. 이는 gzip 압축의 -1에서 -9까지의 옵션과 비슷하게 1에서 10까지의 범위의 정수로 수행되는 검색 방식으로 조작된다. 일반적인 용도에서는 복잡도 1의 노이즈 레벨이 복잡도 10보다 1에서 2 dB 정도 높지만 복잡도 10의 CPU 요구조건은 복잡도 1보다 5배 높다. 실제적으로 최적의 균형은 2와 4 사이이다.[9]
- 가변 비트레이트(VBR)
- 가변 비트레이트(VBR)는 오디오를 인코딩하는 데에서 발생하는 어려움을 조절하기 위해 비트레이트를 동적으로 변화시킬 수 있다. 스픽스의 예를 살펴보면 모음 혹은 '높은 진폭과 짧은 지속시간을 갖는 음(high-energy transient)'은 좋은 품질을 가지기 위해 높은 비트레이트가 필요하지만, 마찰음은 더 낮은 비트레이트로도 충분하다. 이 때문에 VBR은 동일한 품질을 더 낮은 비트레이트에서 얻거나 어떤 비트레이트에서는 더 좋은 품질을 얻을 수도 있다. 이러한 이점에도 불구하고 VBR은 세 가지 문제점을 안고 있다. 첫째로 품질을 정해놓기 때문에 최종 평균 비트레이트에 대한 보장이 없다. 둘째로 음성 인터넷 프로토콜(VoIP) 같은 몇몇 실시간 소프트웨어에서는 통신 채널의 특성상 최대 비트레이트가 낮아야 하지만 그렇지 못하다. 셋째로 VBR로 인코딩한 음성을 암호화하는 것은 완전한 보안성을 유지하지 못한다.
- 평균 비트레이트(ABR)
- 평균 비트레이트는 특정 목표 비트레이트에 맞추기 위해 품질을 동적으로 조절하는 VBR의 문제를 해결하였다. 품질과 비트레이트의 비율이 실시간으로 조절되기 때문에 전체 품질이, 정확한 품질 설정을 한 VBR로 인코딩한 것보다 약간 낮다.
- 음성 활동 감지(VAD)
- 음성 활동 감지가 동작하면 오디오가 음성을 인코딩하고 있는지 혹은 무음이나 배경음을 인코딩하고 있는지를 감지할 수 있다. VAD는 VBR로 인코딩할 경우에 무조건적으로 활성화되므로 비VBR 작업에서만 작동여부를 선택할 수 있다. 이 기능이 활성화 됐을 경우 스픽스는 비음성 부분을 감지하고 배경음을 재구성하기 위해 충분한 비트로 그것들을 인코딩한다. 이것을 '안정 소음 발생'(CNG)라고 한다. VAD를 지원했던 마지막 버전은 1.1.12이며, v 1.2부터 Any Activity Detection으로 대체되었다.
- 불연속 전송(DTX)
- 불연속 전송은 VAD 및 VBR에 추가된 기능이다. 배경음이 정지 상태일 때 전송을 완전히 멈출 수 있게 한다. 한 파일에서 5비트는 사라진 각 프레임에 이용된다.(250 bit/s와 일치)
- 인식 강화(Perceptual enhancement)
- 인식 강화는 코딩/디코딩 과정에서 발생한 소음을 감소시키는 디코더의 한 부분이다. 많은 경우에 인식강화는 객관적으로 원음과의 차이를 발생시키지만 최종적으로는 여전히 괜찮은 소리이다.
- 알고리즘적 지연
- 모든 코덱은 전송할 때 지연이 발생한다. 스픽스는 이러한 지연이 프레임 크기와 같다. 협대역(8kHz)에서 지연 시간은 30ms, 광대역(16kHz)에서는 34ms이다. 이 값들은 프레임들을 인코딩하거나 디코딩하는데 걸리는 CPU시간을 차지하지 않는다.
같이 보기
참조
- ↑ Jean-Marc Valin (2009). “people.xiph.org - personal webspace of the xiphs - Jean-Marc Valin”. Xiph.Org. 2009년 9월 11일에 확인함.
- ↑ 가 나 “Speex News”. Xiph.Org Foundation. 2023년 4월 13일에 확인함.
- ↑ “The Speex Codec Manual - Speex License”. Xiph.Org Foundation. 2009년 9월 1일에 확인함.
- ↑ “Sample Xiph.Org Variant of the BSD License”. Xiph.Org Foundation. 2009년 8월 29일에 확인함.
- ↑ Xiph.Org Speex: A Free Codec For Free Speech, 2009-09-01에 확인
- ↑ 가 나 Xiph.Org Introduction to CELP Coding, 2009년 9월 1일에 확인
- ↑ Xiph.org Speex releases - pre-1.0 - NEWS and ChangeLog in speex-0.0.1.tar.gz, 2009년 9월 1일에 확인
- ↑ Xiph.Org (2003-03-24) Speex reaches 1.0; Xiph.Org now a 501(c)(3) Non-Profit Organization, 2009년 9월 1일에 확인
- ↑ Codec Description
외부 링크
- 모듈:Official_website 90번째 줄에서 Lua 오류: attempt to index field 'wikibase' (a nil value).
- 스크립트 오류가 있는 문서
- 잘못된 파일 링크가 포함된 문서
- 영어 표기를 포함한 문서
- Xiph.Org 프로젝트
- 위키데이터 속성 P18을 사용하는 문서
- 위키데이터 속성 P41을 사용하는 문서
- 위키데이터 속성 P94를 사용하는 문서
- 위키데이터 속성 P117을 사용하는 문서
- 위키데이터 속성 P154를 사용하는 문서
- 위키데이터 속성 P213을 사용하는 문서
- 위키데이터 속성 P227을 사용하는 문서
- 위키데이터 속성 P242를 사용하는 문서
- 위키데이터 속성 P244를 사용하는 문서
- 위키데이터 속성 P245를 사용하는 문서
- 위키데이터 속성 P268을 사용하는 문서
- 위키데이터 속성 P269를 사용하는 문서
- 위키데이터 속성 P271을 사용하는 문서
- 위키데이터 속성 P347을 사용하는 문서
- 위키데이터 속성 P349를 사용하는 문서
- 위키데이터 속성 P350을 사용하는 문서
- 위키데이터 속성 P373을 사용하는 문서
- 위키데이터 속성 P380을 사용하는 문서
- 위키데이터 속성 P396을 사용하는 문서
- 위키데이터 속성 P409를 사용하는 문서
- 위키데이터 속성 P428을 사용하는 문서
- 위키데이터 속성 P434를 사용하는 문서
- 위키데이터 속성 P435를 사용하는 문서
- 위키데이터 속성 P436을 사용하는 문서
- 위키데이터 속성 P454를 사용하는 문서
- 위키데이터 속성 P496을 사용하는 문서
- 위키데이터 속성 P549를 사용하는 문서
- 위키데이터 속성 P650을 사용하는 문서
- 위키데이터 속성 P651을 사용하는 문서
- 위키데이터 속성 P691을 사용하는 문서
- 위키데이터 속성 P716을 사용하는 문서
- 위키데이터 속성 P781을 사용하는 문서
- 위키데이터 속성 P791을 사용하는 문서
- 위키데이터 속성 P864를 사용하는 문서
- 위키데이터 속성 P865를 사용하는 문서
- 위키데이터 속성 P886을 사용하는 문서
- 위키데이터 속성 P902를 사용하는 문서
- 위키데이터 속성 P906을 사용하는 문서
- 위키데이터 속성 P947을 사용하는 문서
- 위키데이터 속성 P950을 사용하는 문서
- 위키데이터 속성 P966을 사용하는 문서
- 위키데이터 속성 P982를 사용하는 문서
- 위키데이터 속성 P1003을 사용하는 문서
- 위키데이터 속성 P1004를 사용하는 문서
- 위키데이터 속성 P1005를 사용하는 문서
- 위키데이터 속성 P1006을 사용하는 문서
- 위키데이터 속성 P1015를 사용하는 문서
- 위키데이터 속성 P1045를 사용하는 문서
- 위키데이터 속성 P1048을 사용하는 문서
- 위키데이터 속성 P1053을 사용하는 문서
- 위키데이터 속성 P1146을 사용하는 문서
- 위키데이터 속성 P1153을 사용하는 문서
- 위키데이터 속성 P1157을 사용하는 문서
- 위키데이터 속성 P1186을 사용하는 문서
- 위키데이터 속성 P1225를 사용하는 문서
- 위키데이터 속성 P1248을 사용하는 문서
- 위키데이터 속성 P1273을 사용하는 문서
- 위키데이터 속성 P1315를 사용하는 문서
- 위키데이터 속성 P1323을 사용하는 문서
- 위키데이터 속성 P1330을 사용하는 문서
- 위키데이터 속성 P1362를 사용하는 문서
- 위키데이터 속성 P1368을 사용하는 문서
- 위키데이터 속성 P1375를 사용하는 문서
- 위키데이터 속성 P1407을 사용하는 문서
- 위키데이터 속성 P1556을 사용하는 문서
- 위키데이터 속성 P1584를 사용하는 문서
- 위키데이터 속성 P1695를 사용하는 문서
- 위키데이터 속성 P1707을 사용하는 문서
- 위키데이터 속성 P1736을 사용하는 문서
- 위키데이터 속성 P1886을 사용하는 문서
- 위키데이터 속성 P1890을 사용하는 문서
- 위키데이터 속성 P1907을 사용하는 문서
- 위키데이터 속성 P1908을 사용하는 문서
- 위키데이터 속성 P1960을 사용하는 문서
- 위키데이터 속성 P1986을 사용하는 문서
- 위키데이터 속성 P2041을 사용하는 문서
- 위키데이터 속성 P2163을 사용하는 문서
- 위키데이터 속성 P2174를 사용하는 문서
- 위키데이터 속성 P2268을 사용하는 문서
- 위키데이터 속성 P2349를 사용하는 문서
- 위키데이터 속성 P2418을 사용하는 문서
- 위키데이터 속성 P2456을 사용하는 문서
- 위키데이터 속성 P2484를 사용하는 문서
- 위키데이터 속성 P2558을 사용하는 문서
- 위키데이터 속성 P2750을 사용하는 문서
- 위키데이터 속성 P2980을 사용하는 문서
- 위키데이터 속성 P3223을 사용하는 문서
- 위키데이터 속성 P3233을 사용하는 문서
- 위키데이터 속성 P3348을 사용하는 문서
- 위키데이터 속성 P3372를 사용하는 문서
- 위키데이터 속성 P3407을 사용하는 문서
- 위키데이터 속성 P3430을 사용하는 문서
- 위키데이터 속성 P3544를 사용하는 문서
- 위키데이터 속성 P3562를 사용하는 문서
- 위키데이터 속성 P3563을 사용하는 문서
- 위키데이터 속성 P3601을 사용하는 문서
- 위키데이터 속성 P3723을 사용하는 문서
- 위키데이터 속성 P3788을 사용하는 문서
- 위키데이터 속성 P3829를 사용하는 문서
- 위키데이터 속성 P3863을 사용하는 문서
- 위키데이터 속성 P3920을 사용하는 문서
- 위키데이터 속성 P3993을 사용하는 문서
- 위키데이터 속성 P4038을 사용하는 문서
- 위키데이터 속성 P4055를 사용하는 문서
- 위키데이터 속성 P4114를 사용하는 문서
- 위키데이터 속성 P4143을 사용하는 문서
- 위키데이터 속성 P4186을 사용하는 문서
- 위키데이터 속성 P4423을 사용하는 문서
- 위키데이터 속성 P4457을 사용하는 문서
- 위키데이터 속성 P4534를 사용하는 문서
- 위키데이터 속성 P4535를 사용하는 문서
- 위키데이터 속성 P4581을 사용하는 문서
- 위키데이터 속성 P4613을 사용하는 문서
- 위키데이터 속성 P4955를 사용하는 문서
- 위키데이터 속성 P5034를 사용하는 문서
- 위키데이터 속성 P5226을 사용하는 문서
- 위키데이터 속성 P5288을 사용하는 문서
- 위키데이터 속성 P5302를 사용하는 문서
- 위키데이터 속성 P5321을 사용하는 문서
- 위키데이터 속성 P5368을 사용하는 문서
- 위키데이터 속성 P5504를 사용하는 문서
- 위키데이터 속성 P5587을 사용하는 문서
- 위키데이터 속성 P5736을 사용하는 문서
- 위키데이터 속성 P5818을 사용하는 문서
- 위키데이터 속성 P6213을 사용하는 문서
- 위키데이터 속성 P6734를 사용하는 문서
- 위키데이터 속성 P6792를 사용하는 문서
- 위키데이터 속성 P6804를 사용하는 문서
- 위키데이터 속성 P6829를 사용하는 문서
- 위키데이터 속성 P7293을 사용하는 문서
- 위키데이터 속성 P7303을 사용하는 문서
- 위키데이터 속성 P7314를 사용하는 문서
- 위키데이터 속성 P7902를 사용하는 문서
- 위키데이터 속성 P8034를 사용하는 문서
- 위키데이터 속성 P8189를 사용하는 문서
- 위키데이터 속성 P8381을 사용하는 문서
- 위키데이터 속성 P8671을 사용하는 문서
- 위키데이터 속성 P8980을 사용하는 문서
- 위키데이터 속성 P9070을 사용하는 문서
- 위키데이터 속성 P9692를 사용하는 문서
- 위키데이터 속성 P9725를 사용하는 문서
- 위키데이터 속성 P9984를 사용하는 문서
- 위키데이터 속성 P10020을 사용하는 문서
- 위키데이터 속성 P10299를 사용하는 문서
- 위키데이터 속성 P10608을 사용하는 문서
- 위키데이터 속성 P10832를 사용하는 문서
- 위키데이터 속성 P11249를 사용하는 문서
- 위키데이터 속성 P11646을 사용하는 문서
- 위키데이터 속성 P11729를 사용하는 문서
- 위키데이터 속성 P12204를 사용하는 문서
- 위키데이터 속성 P12362를 사용하는 문서
- 위키데이터 속성 P12754를 사용하는 문서
- 위키데이터 속성 P13049를 사용하는 문서
- 오디오 코덱
- 오픈 포맷