GIF 파일 구조 및 헤더 분석 (What’s In A GIF)
Source
Evernote/Technote scraps/3MF Project What's In A GIF - Bit by Byte.md
Summary
이 문서는 W3C GIF89a 사양을 기반으로 GIF 파일의 내부 구조를 바이트 단위에서 설명합니다. GIF 파일은 헤더, 로직 스크린 디스크립터, 글로벌 컬러 테이블, 이미지 데이터 등 여러 블록으로 구성됩니다. 특히 헤더 블록은 ‘GIF’ 시그니처와 버전(89a)을 포함하며, 로직 스크린 디스크립터는 캔버스 너비/높이(리틀 엔디안), 글로벌 컬러 테이블 유무, 색상 해상도, 정렬 플래그, 컬러 테이블 크기 등의 정보를 패킹 바이트 형태로 저장합니다.
Key Points
- GIF 파일은 Header, Logical Screen Descriptor, Global Color Table, Image Data 등 다양한 블록으로 구성됨
- Header 블록: 첫 6바이트로, ‘GIF’ 시그니처와 버전(주로 89a)을 포함
- Logical Screen Descriptor: 7바이트로, 캔버스 너비/높이(16비트 리틀 엔디안) 및 패킹 바이트 포함
- 패킹 바이트: 글로벌 컬러 테이블 플래그, 색상 해상도, 정렬 플래그, 컬러 테이블 크기 정보를 비트 단위로 저장
- 데이터 저장 방식: 정수는 리틀 엔디안(LSB first)으로 저장됨