2011-02-01 3 views
3

샘플링 속도와 프레임 크기가 어떻게 관련이 있다고 할 수 있습니까?누구나 샘플링 속도와 프레임 크기가 어떻게 실현되는지 말할 수 있습니까?

샘플링 속도 10kHz 및 16 비트에서 wav로 spx 파일을 디코딩했습니다. 디코딩 프로세스 중에 적용된 프레임 크기는 640입니다. 디코딩 된 파일은 vlc에서 재생할 수 있습니다. 하지만 Flex에서 그 파일을 재생하고 싶습니다.

Flex는 44.1 kHz, 22.5 kHz 및 11.2 kHz의 속도만을 지원합니다. 디코딩 프로세스 중에 샘플링 속도를 높이고 싶습니다. 코드에서 그렇게하는 방법을 알고 있지만 프레임 크기를 늘려야한다고 생각합니다. 나는이 두 가지 사이의 의존성을 모른다. 누구든지 도와 줄 수 있습니까?

+1

http://tools.ietf.org/html/rfc5574에 따르면 Speex 코덱은 10kHz를 지원하지 않습니다. – unwind

답변

3

프레임 크기와 샘플링 속도는 일반적으로 직교 개념입니다. 특정 형식에서 요구하지 않는 한 서로에게 영향을 줄 필요가 없습니다.

PCM .wav의 경우 프레임 크기는 항상 비트/채널 * 채널입니다. 귀하의 경우, 모노는 16 비트, 스테레오는 32 비트입니다.

또한 나중에 리샘플링을 적용하기 때문에 디코딩 프레임 크기를 변경할 필요가 없습니다.

+0

'비트/채널 * 채널'이 같은 비트가 아닌가? –

+0

그가 비트/채널 * numchannels – chrisvarnz

+0

당신은'bitsPerChannel * numChannels'을 의미한다고 생각하십니까? – nafg

0

프레임 크기는 원본 데이터를 압축하는 데 사용되는 코덱에 따라 다릅니다. 그것은 정수 샘플 (이 경우에는 320)을 포함합니다.

나는 생생한 오디오의 샘플 크기가 프레임 크기와 같다고 생각합니다. 그러나 일부 코덱은 다양한 범위의 샘플에 대해 압축을 수행합니다. 일반적으로 프레임 크기가 클수록 데이터를 압축하는 데 더 많은 메모리가 필요하지만 잠재적으로 더 우수한 압축을 얻을 수 있습니다.

디코딩 중에 샘플링 속도를 높일 수는 없지만 디코딩 된 오디오를 다시 샘플링 할 수는 있습니다. 아마 실제로 데이터를 다시 인코딩하여 Flex로 보낼 것입니까? 코드를 바꾸는 데 사용중인 코덱을 살펴 봐야합니다. 어떤 코덱을 사용하고 있습니까?

1

두 가지 독립적 인 작업 인 스펠 디코딩 및 리샘플링을 혼합합니다. 언급 된 프레임 크기는 PCM 샘플을 포함하는 버퍼로만 고려해야합니다. 리 샘플러에 전달해야하는 PCM 샘플 (예 : SSRC : http://shibatch.sourceforge.net/).

0

채널 수와 관계없이 프레임 속도와 샘플링 속도는 동일합니다. 이 TDM의 목적이기 때문입니다. 새 채널은 두 개의 연속 샘플 사이에 남겨진 갭에 도입됩니다. 채널 수가 증가함에 따라 각 채널에 할당 된 시간은 각 비트가 차지하는 시간이 단축됩니다. 그러나 임의 채널의 연속 샘플 사이의 길이 차이는 일정하게 유지되며 총 프레임 시간과 같습니다. 즉, 샘플들 간의 시간 간격 = 프레임 시간이므로, 프레임 레이트는 샘플 레이트와 동일하다.

관련 문제