2014-04-22 3 views
1

Cocoa Audio Queue 문서를 공부할 때 오디오 코덱에서 여러 용어를 만났습니다. 구조는 AudioStreamBasicDescription으로 정의됩니다.
1. 샘플 속도
2. 패킷
3. 프레임
4 채널 내가 알고
오디오 코덱의 정의에 대한 정의

에 대한 sample ratechannel :

다음은 용어입니다. 내가 어떻게 다른 두 사람에게 혼란스러워했는지. 다른 두 용어는 무엇을 의미합니까?

또한이 질문에 답할 수 있습니다. 예를 들어, 샘플 속도가 44.1kHz 인 듀얼 채널 PCM-16 소스가 있는데 이는 초당 2 * 44100 = 88200 바이트 PCM 데이터가 있음을 의미합니다. 그러나 packetframe은 어떨까요?

미리 감사드립니다.

답변

5

이미 샘플 속도 정의에 익숙합니다. 샘플링 빈도 또는 샘플링 속도 fs는 1 초 (샘플/초)에서 얻은 샘플 수로 정의되므로 fs = 1/T입니다. 44100 Hz의 샘플링 속도의 경우 초당 44100 개의 샘플 (오디오 채널당)이 있습니다.

비디오의 초당 프레임 수는 오디오의 초당 샘플 수와 비슷한 개념입니다. 우리의 눈을위한 프레임, 귀를위한 샘플. 추가 정보 here.

깊이가 16 비트 인 스테레오 PCM이 있다면 16 * 44100 * 2 = 1411200 비트/초 ~> 172kB/초 => 약 10MB/분입니다. 애플 reworded terms의 정의에

:

Sample: a single number representing the value of one audio channel at one point in time. 
Frame: a group of one or more samples, with one sample for each channel, representing the audio on all channels at a single point on time. 
Packet: a group of one or more frames, representing the audio format's smallest encoding unit, and the audio for all channels across a short amount of time. 

오디오 및 비디오 프레임 개념 사이에 미묘한 차이가 볼 수 있듯이. 초당 44.1 kHz의 스테레오 오디오 : 88200 샘플, 따라서 44100 프레임.

MP3 및 AAC와 같은 압축 형식은 여러 프레임을 패킷으로 묶습니다. 이러한 비디오 패킷은 비디오 내용과 효율적으로 인터리브 될 수있는 MP4 파일에 기록 될 수 있습니다. 큰 패킷을 다루는 것이 더 나은 코딩 효율성을 위해 비트 패턴을 식별하는 데 도움이된다는 것을 알고 있습니다.

MP3는 MP3 스트림의 기본 원자 단위 인 1152 프레임의 패킷을 사용합니다. PCM 오디오는 일련의 샘플 일 뿐이므로 개별 프레임으로 나눌 수 있으며 패킷 크기가 전혀 없습니다.

AAC의 경우 패킷 당 1024 (또는 960) 개의 프레임을 가질 수 있습니다. 이 내용은 귀하가 참조한 Apple 설명서에 설명되어 있습니다.

오디오 데이터 패킷의 프레임 수입니다. 비 압축 오디오의 경우 값은 1입니다. 가변 비트 전송률 형식의 경우이 값은 AAC에 대해 1024와 같이 더 큰 고정 숫자입니다. Ogg Vorbis와 같이 패킷 당 프레임 수가 가변적 인 형식의 경우이 필드를 0으로 설정합니다.MPEG 기반 파일 포맷

는 패킷으로 지칭되는 데이터 프레임 (이전의 오디오 프레임 개념 섞인 되지 않는다) 등. 주제에 대한 자세한 정보는 Brad comment를 참조하십시오.

+2

+1하지만 눈보다 훨씬 더 높은 샘플 속도를 필요로하는 귀에 대한 것은 완전히 정확하지 않습니다. PCM을 사용하여 오디오를 인코딩 할 때 우리는 주파수를 재생하기에 충분한 빈도로 샘플링하는 시간 영역에 있습니다. 이미지를 볼 때 우리는 주파수 도메인에서 색 재현을합니다. 우리가 시간 영역에서 이미지를 만든다면, 우리는 광자를 샘플링 할 것입니다. 이제 일부 오디오 코덱은 MP3와 같은 주파수 도메인에서 오디오와 함께 작동하며, 프레임에 1152 개의 샘플 (44.1kHz)이 인코딩되어 오디오에 대해 ~ 40fps의 주파수 도메인 샘플 속도를 제공하는 경우는 드뭅니다. – Brad

+0

@Bad 흥미로운 설명. H264/AAC-stsz 상자가있는 샘플 [MP4 파일] (http://vjs.zencdn.net/v/oceans.mp4)을 보면 음성에 대한 2185의 sampleCount가 표시됩니다. 1116은 비디오 용입니다. 비디오 1 sampleCount 항목 = 1 비디오 프레임 (fps 23.976). 2185 ("오디오 프레임") * 1024 (한 프레임의 샘플) = 48000 (샘플 속도) * 46.613 (초 단위의 지속 시간). 그러나 프레임의 위의 정의를 무시하지 않을까요? (1 프레임 = n 샘플인데, n은 채널의 수입니다.) –

+2

"프레임"이라는 용어는 약간 일반적이고 의미가 약간 있습니다. PCM 프레임이 각 채널에 대한 단일 샘플이라는 것이 맞습니다. 44.1kHz의 스테레오에서 초당 44,100 프레임, 총 88,200 샘플/초 (각 채널 당 하나)가 있습니다. MPEG의 경우, 단일 * 데이터 프레임은 고정 된 시간 동안 PCM 프레임의 고정 세트로 디코딩하는 데 필요한 데이터를 포함합니다. 이 프레임은 대개 26ms입니다. 추가 정보 : http://www.mp3-converter.com/mp3codec/frames.htm – Brad

관련 문제