음성압축,,

호호아가씨의 이미지

마이크를 통해 음성을 넣으면 그 음성의 크기를 줄이는 것이 인코더 이고 코덱을 통해서 전송되어 받는쪽에서 줄인 음성의 크기를 본래대로 되돌리는 것이 디코더 인가요??
여러가지 자료를 찾아보니 인코딩 이나 코덱 그리고 디코딩의 소스는 인터넷에 오픈되어 있는거 같은뎅,,
그런 소스는 어디로 가면 받을수 있나요??
만약 소스를 찾으면 제가 하고자 하는 목적에 맞게 바꾸어서 그냥 포팅만 시키면 음성이 저절로 압축이 되고 전송되고 다시 풀어서 상대방의 귀에까지 들리게 되는것인가요??
sip 나 h.323이란 기술은 음성을 전송하는데 사용이 되고 있는거 같은뎅,,그럼 인코딩||코덱||디코딩 시에 이런 기술이 사용이 되게 되는것인가요??
머가 먼지,,
대충 자료를 찾아봐도 감이 잘 잡히지를 않는군요,,
음성을 전송하는 것을 개발하여야 하는뎅,,
워낙 기반 지식이 없다보니,,여러가지로 어렵네요,,
아는것이 없으니 자료를 찾아도 잘 모르겠고,,
부탁드립니다,,이번프로젝트가 중요한거라서,,
좋은 답변 기다리겠습니다~

익명 사용자의 이미지

인코딩: PCM 데이터를 코딩(압축)하여 데이터를 만듬.

디코딩: 코딩(압축)된 데이터를 디코딩(압축 해제)하여 PCM 데이터를 만듬.

코덱: (en)COder + DECoder

전송: 별도의 프로토콜로 구현, 여기서 문제는 QoS(Quality of Service)가 되겠지요.

dreamer의 이미지

codec에서 co는 인코딩을 의미 하고 dec는 디코딩을 의미 합니다.
인코딩은 데이타를 압축 하는 것이 맞고요, 디코딩은 압축을 풀어서 원래 데이타를 복원 하는 것입니다.

인코딩은 데이타의 이미지에 따라 다양 한 방식이 적용 됩니다.
여기에는 데이타의 특성이 중요 합니다.
전화 음성 같은 경우에는 음질 보다는 속도가(?) 더 중요 시 됩니다.
전통적으로 g.711, g.729등 pcm 압축을 합니다.
정지 영상은 jpeg
동영상은 mpeg
음악은 mp3
등등 인코딩 방식은 다양 합니다.

대부분의 코딩 방식의 소스는 공개 되있습니다.
물론 라이센스를 요구 하는 것도 있고요..
s/w방식으로 할경우의 소스 코드는 좀더 구글링을 하시면 알 수 있을 것입니다.

그리고 sip, h.323같은 경우는 엄밀하게는 코덱과는 상관 없다고 할 수 있습니다.
이런것은 프로토콜이라고 하고, 이 프로토콜중에서 코덱을 선택 하는 부분이 있는 것입니다.
즉 sip같은 경우는 ip전화라고 볼 수 있는데, 이것 역시 음성을 압축 해야 하고 그 방식은 g.7xx에서 선택 가능 합니다.
그리고 이 압축 방식을 상대방에게 전달 해주면 상대방도 같은 방식으로 디코딩을 하면 음성을 들을 수 있는 것입니다.

Necromancer의 이미지

mp3의 경우 lame이라는게 있는 걸로 압니다.

그리고 mplayer가 요구하는 라이브러리들을 찾아보면
다양한 vidio/audio 압축코덱들을 볼 수 있을 듯 합니다.

Written By the Black Knight of Destruction

Prentice의 이미지

음악이 아니라 목소리를 압축하는 것을 찾으시는 건가요?

speex에 대해 검색해보세요. http://www.speex.org/

pcharley의 이미지

제가 생각나는 방법으로는 mp3 형식으로 인코딩하는 것이 가장
편할듯하네요...
리눅스에서도 lame 을 사용하면 인코딩, 디코딩 모두 가능하고요...
기본적으로 웬만하면 누구나 재생플레이어를 가지고 있을테고요...
실시간 전송이 필요하면 mp3 스트리밍 서비스 할 수 있는 방법은
문서도 많이 있는걸로 아는데요...

by P.C.Harley

Prentice의 이미지

mp3로 인코딩하시는 것보다 speex등의 vocodec을 사용하시는 것이 비트레이트도 적게 들고 음질도 좋습니다.

샘플: http://www.speex.org/samples.html

Narrowband가 영 아니다 싶으시면 wideband 설정을 쓰셔도 됩니다. Ultra-wideband라고 해서 32kHz 인풋을 사용하실 수도 있습니다. (44.1kHz 인풋도 사용이 가능했던 것으로 기억합니다.)

OpenH323, GnomeMeeting 등에서도 speex를 쓰는 것으로 알고 있습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.