리소스 교환 파일 형식
Resource Interchange File Format| 초기 릴리즈 | 8월, 전( |
|---|---|
| 포맷의 종류 | 컨테이너 형식 |
| 확장원 | 파일 형식 교환 |
| 확장처 | AVI, ANI, PAL, RDIB, RMIDI, RMMP, WAV |
| 오픈 포맷? | 네. |
| 프리 포맷? | 네, 그렇습니다[1]. |
RIFF(Resource Interchange File Format)는 태그가 달린 [2]청크로 데이터를 저장하기 위한 일반적인 파일 컨테이너 형식입니다.주로 사운드나 비디오와 같은 멀티미디어를 저장하는 데 사용되지만 임의의 [3]데이터를 저장하는 데도 사용될 수 있습니다.
Microsoft 의 실장은,[4] RIFF 를 기본으로 사용하는 AVI, ANI, WAV 등의 컨테이너 포맷에 의해서 대부분 알려져 있습니다.
역사
RIFF는 1991년 Microsoft와 IBM에 의해 도입되었으며 Microsoft에 의해 Windows 3.1 멀티미디어 파일의 기본 포맷으로 제시되었습니다.1985년 Commodore Amiga에 도입된 Electronic Arts의 Interchange File Format에 기반하고 있습니다. 유일한 차이점은 멀티바이트 정수가 IBM PC에 사용되는 80x86 프로세서 시리즈에 기본 제공되는 리틀 엔디안 형식이라는 것입니다.IFF 파일이 많이 사용되었습니다.빅 엔디안 형식을 사용하는 RIFX 형식도 도입되었습니다.
2010년 구글은 RIFF를 [5]컨테이너로 사용하는 WebP 사진 포맷을 선보였다.
설명.
RIFF 파일은 모두 "청크"로 구성됩니다.전체적인 형식은 앞에서 설명한 endianness 및 청크 이름의 다른 의미를 제외하고 IFF와 동일합니다.
모든 청크의 형식은 다음과 같습니다.
- 4 바이트: 이 청크의 ASCII 식별자(예: "fmt" 및 "data"). "fmt"의 공백을 확인합니다.
- 4바이트: 이 청크의 길이를 가진 부호 없는 리틀엔디안 32비트 정수(이 필드 자체 및 청크 식별자 제외).
- variable-size 필드: 이전 필드에 지정된 크기의 청크 데이터 자체.
- 패드 바이트(청크 길이가 짝수일 경우)
"RIFF"와 "LIST"라는 두 개의 청크 식별자는 하위 청크를 포함할 수 있는 청크를 도입합니다.RIFF 및 LIST 청크 데이터(식별자 및 길이 뒤에 표시됨)의 형식은 다음과 같습니다.
- 4 바이트: 이 특정 RIFF 또는 LIST 청크의 ASCII 식별자(일반적인 경우 RIFF의 경우 이 4 바이트는 "AVI " 또는 "WAVE" 등 파일 전체의 내용을 나타냅니다).
- 나머지 데이터: 서브청크.
파일 자체는 1개의 RIFF 청크로 구성됩니다.이 청크는 더 많은 서브 청크를 포함할 수 있습니다.따라서 올바르게 포맷된 RIFF 파일의 처음 4바이트에는 "R", "I", "F", "F"가 입력됩니다.
RIFF 포맷에 대한 자세한 내용은 Interchange File Format 기사를 참조하십시오.
RF64는 European Broadcasting Union에 의해 개발된 RIFF 사양에 근거한 멀티채널 파일 형식입니다.BWF와 호환되며 파일 크기가 4GB를 초과할 수 있습니다.64비트(8바이트) 크기의 "ds64" 청크를 제공하여 이를 실현합니다.
INFO 청크 사용
옵션의 INFO 청크를 사용하면, RIFF 파일에 「태그 부착」을 실시해, 저작권( 「ICOP」), 코멘트( 「ICMT」), 아티스트(「IART」) 등, 복수의 정의된 카테고리로 분류할 수 있습니다.이러한 자세한 내용은 나머지 파일 형식을 인식할 수 없는 경우에도 RIFF 파일에서 읽을 수 있습니다.표준에서는 사용자 정의 필드도 사용할 수 있습니다.비표준 필드를 사용하려는 프로그래머는 동일한 비표준 서브청크 ID가 다른 애플리케이션(및 잠재적으로 호환되지 않을 수 있음)에 의해 사용될 수 있다는 점에 유의해야 합니다.
호환성 문제
MIDI 파일의 초기 문제
사용방침에 따라.모든 Windows 3.1 "멀티미디어" 파일에 대한 RIFF는 전자 악기로 연주되는 노래 정보를 저장하는 데 사용되는 기존 MIDI 파일 형식에 대한 새로운 변형을 도입했습니다.마이크로소프트의 "새로운" MIDI 파일 형식은 RIFF "wrapper"로 둘러싸인 표준 MIDI 파일로 구성되었으며 파일 확장자는 다음과 같습니다.RMI. 기존 MIDI 파일 형식이 내장된 "태깅" 정보를 이미 지원했기 때문에 사용자에게 새로운 형식을 사용하는 것의 이점은 분명하지 않았습니다.
MIDI 제조업체 협회는 그 후 RIFF 기반의 MIDI 파일 형식을 채택하고 있으며, 이 형식을 "DLS" 형식의 계측기 데이터도 포함하는 "확장 중간 파일"의 기반으로 사용했습니다.RMI 파일
INFO 청크 배치 문제
카탈로그를 작성하기 위해 INFO 청크의 최적 위치는 파일 시작 부근입니다.그러나 INFO 청크는 옵션이기 때문에 개별 파일 형식의 세부 사양에서 누락되는 경우가 많아 파일 내에서 이 청크의 올바른 위치에 대한 혼란이 발생합니다.
대용량 미디어 파일을 처리할 때 태그 편집 중에 INFO 청크가 확장 또는 축소되면 파일의 다음 "데이터" 섹션을 읽고 새 헤더 크기에 맞게 디스크에 다시 써야 할 수 있습니다.미디어 파일의 사이즈는 기가바이트가 될 수 있기 때문에 디스크 부하가 높은 프로세스가 될 가능성이 있습니다.회피책 중 하나는 파일이 생성될 때 더미 데이터를 사용하여 선두의 INFO 청크를 "패드 아웃"하는 것입니다('더미 청크' 또는 '패드 청크'를 사용합니다.나중에 편집하면 파일 헤더의 전체 크기를 일정하게 유지하기 위해 "dummy" 필드를 확장하거나 축소할 수 있습니다. 인텔리전트하게 작성된 소프트웨어는 파일 본문을 변경하거나 이동하지 않고 데이터 태그 지정 시 파일 헤더만 덮어쓸 수 있습니다.
일부 프로그램에서는 파일 본문 뒤에 있는 미디어 파일 끝에 INFO 청크를 배치하여 문제를 해결하려고 합니다.이로 인해 청크 배치에 대한 두 가지 규칙이 생겨났고, 일부 소프트웨어 조합으로 인해 편집 중에 파일의 INFO 데이터가 무시되거나 영구적으로 덮어쓸 수 있습니다.보다 고도의 프로그램에서는, 파일내의 「예상치 않은」 청크 배치의 가능성을 고려해, 적절히 대응합니다.예를 들어 오디오 편집 프로그램 Audacity에서가 검출된 경우.마지막에 배치된 INFO 데이터가 포함된 WAV 파일은 데이터를 올바르게 식별하고 읽지만 저장 시 INFO 청크를 파일 헤더로 재배치합니다.
CorelDRAW 10은 명목상 RIFF 파일 구조를 사용하지만 프로그램의 초기 릴리스에서는 INFO 청크를 끝에 배치하여 임베디드 프리뷰 비트맵이 기본적으로 Windows의 파일 매니저에 표시되지 않도록 합니다.이 문제는 프로그램과 함께 제공되는 "패치" 유틸리티를 통해 해결됩니다.
RIFF 정보 태그
RIFF 정보 태그는, WAV 오디오 및 AVI 비디오 파일에 있습니다.Exif 2.2 사양의 일부인 태그(태그 ID의 선두는 「I」로 시작)에는, 이 메뉴얼의 HTML 버전에 밑줄이 그어져 있습니다.그 외의 태그는, Sony Vegas 비디오 편집 소프트웨어에 의해서 생성된 AVI 파일에 있습니다.
| 태그 ID | 태그명 | 기입 가능 | 값/주 |
|---|---|---|---|
| DTIM | Date Time Original(날짜 시간 원본) | N | ICC 프로파일 "dtim" 형식 값 |
| 테이프 | 테이프명 | N |
DTIM 시간을 일반 시간으로 변환
필드는 공백(0x20)으로 구분된2개의 값(v[0]및 v[1])으로 구성됩니다.샘플 코드:
// time in seconds - 날짜 및 시간 요소를 소수점 구분 기호로 "연결" Time In Seconds(초수) = (v[0] * (2^32) + v[1]) * 10^(-7); // 1601년 1월 1일부터 1970년 1월 1일까지의 Unix Epoch(369년 윤일)로의 이행 Unix Time Stamp = Time In Seconds(초수) - 134774 * 24 * 3600; 몇 가지 일반적인 RIFF 파일 형식
- WAV(Windows 오디오)
- AVI(Windows 오디오 비주얼)
- RMI (Windows "RIFF MIDI 파일")
- CDR(CorelDRAW 벡터 그래픽스 파일)
- ANI(애니메이션된 Windows 커서)
- PAL(팔레트)
- DLS(다운로드 가능한 사운드)
- WebP(Google이 개발한 이미지 형식)
- XMA (Microsoft Xbox 360 콘솔 오디오 포맷, WMA Pro 기반)
「 」를 참조해 주세요.
레퍼런스
- ^ RIFF (Resource Interchange File Format) (Full draft). Sustainability of Digital Formats. Washington, D.C.: Library of Congress. 16 September 2004. Retrieved 13 December 2021.
- ^ Multimedia Programming Interface and Data Specifications 1.0 (PDF). IBM / Microsoft. August 1991. pp. 10–11. Retrieved 2017-07-07.
- ^ "RIFF (Resource Interchange File Format)". Digital Preservation. Library of Congress. 2014-01-08. Retrieved 2014-03-11.
- ^ James D. Murray, William vanRyper (1996). "Encyclopedia of Graphics File Formats, Second Edition". O'Reilly. Microsoft RIFF. ISBN 1-56592-161-5. Archived from the original on November 28, 2005. Retrieved 2016-04-07.
{{cite web}}: CS1 maint: 작성자 파라미터 사용(링크) - ^ "RIFF Container". Google Code. Google. Retrieved 1 October 2010.