본문내용
RIFF 파일(Resource Interchange File Format) 의 개념
부모 Chunk ckid="RIFF"
cksize
fccType="WAVE"
Data Field 자식 Chunk Format Chunk Chunk ID="fmt"Chunk Size=16 byteFormat data
Data Chunk ckid="data"cksizeData
음성이나 비디오 같은 데이터들은 용량이 매우 큰 데이터이므로 이런 데이터를 저장할 때는 블록 단위로 저장하는 것이 편하다. 예를 들면 10가의 음성 데이터를 파일에 저장한다고 가정했을 때, 블럭 단위로 하지 않으면 데이터를 로드하는 데 10메가의 메모리가 필요하게 되므로, 로드하기도 힘들 뿐 아니라 로딩 시간이 매우 많이 걸린다. 10메가의 데이터를 0.5메가씩 블럭으로 나누어 저장한다면 20개의 블록이 될 것이고 다음 그림과 같이 될 것이다.
0.5메가 음성(블럭 1)
1메가 음성(블럭 2)
1.5메가 음성(블럭 3)
10메가 음성(블럭 20)
위와 같이 20개의 블럭으로 저장한 후 0.5메가씩 메모리에 로드한 후에 출력하고 메모리를 해제한 후 다시 다음 블럭을 로드하면 매우 편리할 것이다. 만약1024바이트씩을 한 블럭으로 하고 싶다면 자신이 원하는 형태로 블럭을 저장하도록 하면 된다. 그렇다면 헤더를 만들어 넣고 구조체를 바꾸어야 할 것이다.
블럭 사이즈 1024
1024바이트 음성(블럭 1)
2048바이트 음성(블럭 2)
마지막 음성(블럭 100)
이처럼 데이터 저장 블럭 앞에 블럭에 대한 크기를 넣으면 좋을 것이다. 또, 음성을 녹음했는데 전체 음성 중 약 10분 동안은 모노로 나오다가 10분 후에 스테레오로 나오고, 처음 데이터는 샘플링을 11kHz로 했는데 10분 후에는 22kHz로 했을 경우, 또는 처음 데이터는 8비트 사운드인데 나중 데이터는 16비트 사운드일 경우 이렇게 매우 복잡하게 데이터가 변할 수도 있기 때문에, 데이터 블럭 앞에 데이터에 대한 정보를 만들어 주는 게 좋을 것이다.
블록 사이즈 :1024 스테레오샘플링 : 11kHz 비트 16비트
1024 바이스 음성(블록 1)
블록 사이즈 : 1024 모노샘플링 : 22kHz 비트 16비트
1024 바이스 음성(블록 1)
위의 그림처럼 데이터 블럭과 데이터 블럭에 대한 정보를 하나의 쌍으로 저장하면 매우 편리하다. bmp 파일도 앞에 bmp 파일이라는 정보를 알려주기 위해 파일 맨 위에 “BM”라고 써 주듯이 본 데이터는 웨이브 파일이라고 헤더를 만들어야 할 것이다.
부모 Chunk ckid="RIFF"
cksize
fccType="WAVE"
Data Field 자식 Chunk Format Chunk Chunk ID="fmt"Chunk Size=16 byteFormat data
Data Chunk ckid="data"cksizeData
음성이나 비디오 같은 데이터들은 용량이 매우 큰 데이터이므로 이런 데이터를 저장할 때는 블록 단위로 저장하는 것이 편하다. 예를 들면 10가의 음성 데이터를 파일에 저장한다고 가정했을 때, 블럭 단위로 하지 않으면 데이터를 로드하는 데 10메가의 메모리가 필요하게 되므로, 로드하기도 힘들 뿐 아니라 로딩 시간이 매우 많이 걸린다. 10메가의 데이터를 0.5메가씩 블럭으로 나누어 저장한다면 20개의 블록이 될 것이고 다음 그림과 같이 될 것이다.
0.5메가 음성(블럭 1)
1메가 음성(블럭 2)
1.5메가 음성(블럭 3)
10메가 음성(블럭 20)
위와 같이 20개의 블럭으로 저장한 후 0.5메가씩 메모리에 로드한 후에 출력하고 메모리를 해제한 후 다시 다음 블럭을 로드하면 매우 편리할 것이다. 만약1024바이트씩을 한 블럭으로 하고 싶다면 자신이 원하는 형태로 블럭을 저장하도록 하면 된다. 그렇다면 헤더를 만들어 넣고 구조체를 바꾸어야 할 것이다.
블럭 사이즈 1024
1024바이트 음성(블럭 1)
2048바이트 음성(블럭 2)
마지막 음성(블럭 100)
이처럼 데이터 저장 블럭 앞에 블럭에 대한 크기를 넣으면 좋을 것이다. 또, 음성을 녹음했는데 전체 음성 중 약 10분 동안은 모노로 나오다가 10분 후에 스테레오로 나오고, 처음 데이터는 샘플링을 11kHz로 했는데 10분 후에는 22kHz로 했을 경우, 또는 처음 데이터는 8비트 사운드인데 나중 데이터는 16비트 사운드일 경우 이렇게 매우 복잡하게 데이터가 변할 수도 있기 때문에, 데이터 블럭 앞에 데이터에 대한 정보를 만들어 주는 게 좋을 것이다.
블록 사이즈 :1024 스테레오샘플링 : 11kHz 비트 16비트
1024 바이스 음성(블록 1)
블록 사이즈 : 1024 모노샘플링 : 22kHz 비트 16비트
1024 바이스 음성(블록 1)
위의 그림처럼 데이터 블럭과 데이터 블럭에 대한 정보를 하나의 쌍으로 저장하면 매우 편리하다. bmp 파일도 앞에 bmp 파일이라는 정보를 알려주기 위해 파일 맨 위에 “BM”라고 써 주듯이 본 데이터는 웨이브 파일이라고 헤더를 만들어야 할 것이다.
추천자료
데이터베이스와 파일체계
엑스파일 비평
[마이크로 프로세서] 마이크로 프로세서 Basic Computer 설계 최종보고서&PSPICE 파일
리눅스, 유닉스의 프로세스, 주기억장치, 파일관리
[C언어]허프만 알고리즘을 이용한 Text 파일 압축/해제 프로그램
[클라이언트/서버시스템]클라이언트/서버시스템의 특징, 클라이언트/서버시스템의 구조, 클라...
[FTP][FTP 정의][FTP 유용성][FTP 기본 명령어][FTP 파일 형태][익명 FTP사이트][FTP 실행]FT...
[하이퍼텍스트학습][하이퍼텍스트]하이퍼텍스트의 정의, 하이퍼텍스트의 기원, 하이퍼텍스트...
[MP3시장][MP3]MP3시장의 규모, MP3시장의 구조변화, MP3시장의 SWOT분석, MP3시장의 무료다...
[파일처리론] C 언어 파일 관련 함수 조사 정리
[이미지파일압축기술 JPEG]이미지파일압축기술 JPEG(제이펙)의 정의, 성립, 이미지파일압축기...
파일 헤더(file header) 정보에 대한 연구 - 파일 헤더 정리
기업 EC(전자상거래)의 정의, 특성, 기업 EC(전자상거래)의 선행연구, 기업 EC(전자상거래)의...
소개글