.TIFF 파일이란?
TIFF 또는 TIF(Tagged Image File Format)는 이 파일 형식 표준을 준수하는 다양한 장치에서 사용하기 위한 래스터 이미지를 나타냅니다. 여러 색상 공간에서 이중 레벨, 회색조, 팔레트 색상 및 풀 컬러 이미지 데이터를 설명할 수 있습니다. 이 형식을 사용하는 응용 프로그램에 대해 공간과 시간 사이에서 선택하기 위해 손실 압축 방식과 무손실 압축 방식을 지원합니다. 형식은 시스템에 종속되지 않으며 프로세서, 운영 체제 또는 파일 시스템과 같은 범위에서 자유롭습니다.
TIFF 파일 형식의 간략한 역사
TIFF 파일 형식은 1986년 가을 Aldus Corporation에서 다양한 스캐너 제조업체 및 소프트웨어 개발자와의 일련의 회의를 거쳐 처음 만들었습니다. TIFF 파일 형식의 주요 목적은 모든 데스크톱 스캐너 공급업체에 공통 스캔 이미지 파일 형식을 제공하는 것이었습니다. 바이너리 이미지 형식만 지원하던 것을 시작으로 시간이 지남에 따라 회색조 및 컬러 이미지를 지원하는 형식으로 발전했습니다. TIFF 파일 형식 사양의 초기 버전은 두 개의 이전 초안 릴리스가 있었기 때문에 Reivision 3.0으로 레이블이 지정될 수 있습니다. 팔레트 컬러 이미지와 LZW 압축에 대한 지원을 추가한 주요 개정판 5.0이 1988년에 출판되었습니다. 그 후 1992년에 TIFF 파일 형식의 개정판 6.0이 게시되었습니다. 1994년 Adobe Systems는 Aldus를 인수했으며 사양은 현재 Adobe Systems에서 사용 가능하고 유지 관리합니다.
TIFF 파일 형식 사양
TIFF 파일 형식은 확장 가능하며 개인 정보 또는 특수 목적 정보를 무제한으로 포함할 수 있도록 여러 수정을 거쳤습니다. TIFF 파일은 8바이트 헤더로 시작하며 바이트는 0에서 N까지의 숫자입니다. 가능한 가장 큰 TIFF 파일은 길이가 2**32바이트입니다. 파일은 이미지 파일(IFD)을 직접 가리키는 8바이트 이미지 파일 헤더로 시작합니다. IFD에는 이미지에 대한 정보와 실제 이미지 데이터에 대한 포인터가 포함됩니다.
TIFF 파일 헤더
8바이트 TIFF 파일 헤더에는 다음 정보가 포함됩니다.
바이트 0-1: 파일 내에서 사용된 바이트 순서입니다. 유효한 값은 “II”(4949.H) “MM”(4D4D.H)입니다.
“II” 형식에서 바이트 순서는 16비트 및 32비트 정수 모두에 대해 항상 최하위 바이트에서 최상위 바이트입니다. 이를 리틀 엔디안 바이트 순서라고 합니다. “MM” 형식에서 바이트 순서는 16비트 및 32비트 정수 모두에 대해 항상 최상위에서 최하위 순입니다. 이를 빅 엔디안 바이트 순서라고 합니다.
바이트 2-3: 파일을 TIFF 파일로 추가로 식별하는 임의의 숫자(42)입니다. 바이트 순서는 바이트 0-1의 값에 따라 다릅니다.
바이트 4-7: 첫 번째 IFD의 오프셋(바이트)입니다. 디렉토리는 헤더 뒤의 파일 위치에 있을 수 있지만 단어 경계에서 시작해야 합니다. 특히, 이미지 파일 디렉토리는 설명하는 이미지 데이터를 따를 수 있습니다. 독자는 포인터가 이끄는 대로 따라가야 합니다. 이 문서에서 바이트 오프셋이라는 용어는 TIFF 파일의 시작 부분과 관련된 위치를 나타내기 위해 항상 사용됩니다. 파일의 첫 번째 바이트의 오프셋은 0입니다.
이미지 파일 디렉토리
IFD는 이미지에 대한 정보와 실제 이미지 데이터에 대한 포인터를 포함합니다. 2바이트 수의 디렉토리 항목 수(즉, 필드 수)와 12바이트 필드 항목 시퀀스로 구성됩니다. , 다음 IFD의 4바이트 오프셋(없으면 0)이 뒤따릅니다. TIFF 파일에는 최소한 1개의 IFD가 있어야 하고 각 IFD에는 최소한 하나의 항목이 있어야 합니다.
IFD 항목
각 12바이트 IFD 항목의 형식은 다음과 같습니다.
바이트 | 설명 |
---|---|
0-1 | 필드를 식별하는 태그 |
2-3 | 필드 유형 |
4-7 | 표시된 유형의 개수 |
8-11 | 값 오프셋, 필드에 대한 값의 파일 오프셋(바이트). 값은 단어 경계에서 시작해야 합니다. 따라서 해당 값 오프셋은 짝수가 됩니다. 이 파일 오프셋은 이미지 데이터 이후에도 파일의 아무 곳이나 가리킬 수 있습니다. |
TIFF 필드는 TIFF 태그와 그 값으로 구성된 논리적 개체이다. 이 논리적 개념은 IFD 항목으로 구현되며, IFD 항목의 마지막 4바이트인 값/오프셋 부분에 맞지 않는 경우 실제 값을 더합니다. TIFF 필드와 IFD 항목이라는 용어는 대부분의 상황에서 서로 바꿔 사용할 수 있습니다.
기준 TIFF
Baseline TIFF는 모든 주류 TIFF 개발자가 제품에서 지원해야 하는 필수 요소인 TIFF의 핵심입니다. TIFF 형식을 준수하려면 기준 TIFF 요구 사항을 준수해야 합니다. 이러한 요구 사항은 사양 문서 6.0에 잘 설명되어 있습니다.
파일당 여러 이미지
TIFF 파일에는 둘 이상의 IFD가 있을 수 있습니다. 각 IFD는 서브파일을 정의합니다. 서브파일의 한 가지 잠재적인 용도는 팩스 전송 페이지와 같은 관련 이미지를 설명하는 것입니다. Baseline TIFF 리더는 첫 번째 IFD 이외의 IFD를 읽는 데 필요하지 않습니다.
이미지 유형
기준 TIFF 이미지에는 다음과 같은 유형이 있습니다.
이중 레벨: 이중 레벨 이미지에는 흑백의 두 가지 색상이 있습니다. TIFF를 사용하면 응용 프로그램이 2단계 데이터를 흰색이 0이거나 검은색이 0인 형식으로 쓸 수 있습니다. 이 정보를 기록하는 필드를 PhotometricInterpretation이라고 합니다.
- RGB 풀 컬러
Bilevel 이미지에 대한 PhotometricInterpretation 정보는 다음과 같습니다.
태그 = 262(106.H) 유형 = SHORT 가치
값 | 설명 |
---|---|
0 | 이중 레벨 및 회색조 이미지의 경우: 0은 흰색으로 이미지화됩니다. 최대값은 검은색으로 이미지화됩니다. 이것은 Compression#2 |
1 | 블랙이즈제로. 이중 레벨 및 회색조 이미지의 경우: 0은 검은색으로 이미지화됩니다. 최대값은 흰색으로 이미지화됩니다. Compression#2에 대해 이 값을 지정하면 이미지가 반대로 표시되고 인쇄되어야 합니다. |
그레이스케일: 그레이스케일 이미지는 이중 레벨 이미지의 일반화입니다. Bilevel 이미지는 흑백 이미지 데이터만 저장할 수 있지만 회색조 이미지는 회색 음영도 저장할 수 있습니다. 이러한 이미지를 설명하려면 다음 필드를 추가하거나 변경해야 합니다. 다른 필수 필드는 이중 레벨 이미지에 필요한 필드와 동일합니다. 회색조 이미지의 경우 압축 # 1 또는 32773(PackBits)입니다. Baseline TIFF에서 회색조 이미지는 압축되지 않은 데이터로 저장되거나 PackBits 알고리즘으로 압축될 수 있습니다.
회색조 이미지에 대한 BitsPerSample 정보는 다음과 같습니다.
태그 = 258(102.H) 유형 = SHORT
구성 요소당 비트 수입니다. Baseline TIFF 회색조 이미지에 허용되는 값은 4와 8이며 16 또는 256개의 고유한 회색 음영을 허용합니다.
팔레트 색상: 팔레트 색상 이미지는 회색조 이미지와 유사합니다. 여전히 픽셀당 하나의 구성 요소가 있지만 구성 요소 값은 전체 RGB 조회 테이블에 대한 인덱스로 사용됩니다. 이러한 이미지를 설명하려면 다음 필드를 추가하거나 변경해야 합니다. 기타 필수 필드는 회색조 이미지의 필드와 동일합니다. Palette-Color 이미지에 대한 PhotometricInterpretation 정보는 다음과 같습니다.
PhotometricInterpretation = 3(팔레트 색상). ColorMapTag = 320(140.H) 유형 = SHORT N = 3 * (2 BitsPerSample)
이 필드는 팔레트 컬러 이미지에 대한 Red-Green-Blue 컬러 맵(룩업 테이블이라고도 함)을 정의합니다. 팔레트 색상 이미지에서 픽셀 값은 RGB 조회 테이블에 대한 색인을 작성하는 데 사용됩니다. 예를 들어, 값이 0인 팔레트 색상 픽셀은 0번째 빨강, 녹색, 파랑 삼중항에 따라 표시됩니다. TIFF ColorMap에서 모든 빨강 값이 먼저 오고 녹색 값이 오고 그 다음에 파랑 값이 옵니다. ColorMap에서 검정은 0,0,0으로 표시되고 흰색은 65535, 65535, 65535로 표시됩니다.
RGB 풀 컬러: RGB 이미지에서 각 픽셀은 빨강, 녹색 및 파랑의 세 가지 구성 요소로 구성됩니다. ColorMap이 없습니다. RGB 이미지를 설명하려면 다음 필드와 값을 추가하거나 변경해야 합니다. 다른 필수 필드는 팔레트 색상 이미지에 필요한 필드와 동일합니다.
BitsPerSample = 8,8,8. 각 구성 요소는 Baseline TIFF RGB 이미지에서 8비트 깊이입니다.
PhotometricInterpretation = 2(RGB)이고 ColorMap이 없습니다.
태그 = 277(115.H) 유형 = SHORT 픽셀당 구성 요소 수입니다. 이 숫자는 추가 샘플이 없는 한 RGB 이미지의 경우 3입니다.