throbber
TIFFT”
`
`Revision 6.0
`
`Final — June 3, 1992
`
`Adobe Developers Association
`
`Adobe Systems Incorporated
`1585 Charleston Road
`333;: $33 CA 94039_?900
`
`E-Mail: devsup-person@adobe.com
`
`A copy of this specification can be found in
`
`http:!iwww.adobe.com18u pporUTech Notes.htm|
`and
`ftpur'iftp.adCube.commubi'adobeiDevelopersupporbIr
`TechNoteslPDFfiles
`
`1
`
`APPLE1009
`
`1
`
`APPLE1009
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Copyright
`
`© 19864988, I992 by Adobe Systems Incorporated. Permission to cepy without
`fee all or part of this material is granted provided that the copies are not made or
`distributed for direct commercial advantage and the Adobe copyright notice ap-
`pears. If the majority of the document is copied or redistributed, it must be distrib-
`uted verbatim, without repagination or reformatting. To copy otherwise requires
`specific permission from the Adobe Systems Incorporated.
`
`Licenses and Trademarks
`
`PostScript is a trademark of Adobe Systems Incorporated. All instances of the
`name PostScript in the text are references to the PostScript language as defined by
`Adobe Systems Incorporated unless otherwise stated. The name PostScript also is
`used as a product trademark for Adobe Systems” implementation of the PostScript
`language interpreter.
`
`Any references to a “PostScript printer,” a “PostScript file,“ or a “PostScript
`driver” refer to printers, files, and driver programs (respective!y} which are writ-
`ten in or support the PostScript language. The sentences in this specification that
`use “PostScript language” as an adjective phrase are so constructed to reinforce
`that the name refers to the standard language definition as set forth by Adobe
`Systems Incorporated.
`
`PostScript, the PostScript logo, Display PostScript, Adobe, the Adobe logo,
`Adobe Illustrator, Aldus, PageMaker, TIFF, OPI, TrapWise, Tran-Script, Carta,
`and Sonata are trademarks of Adobe Systetns Incorporated or its subsidiaries, and
`may be registered in somejurisdictions.
`
`Apple, LaserWriter, and Macintosh are registered trademarks and Finder and
`System 7' are trademarks of Apple, Computer, Inc. Microsoft and MS-DOS are
`registered trademarks and Windows is a trademark of Microsoft Corporation.
`UNIX is a registered trademark of UNIX System Laboratories, Inc., a wholly
`owned subsidiary of Novell, Inc. All other trademarks are the property of their
`respective owners.
`
`Production Notes
`
`This document was created electronically using Adobe PageMaker” 6.0.
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Contents
`
`Introduction ..............
`
`...................................................................................................... 4
`
`About this Specification ...................................................................... 4
`
`Revision Notes ..................................................................................... 6
`
`TiFF Administration8
`
`information andSupport8
`Private Fieids and Vaioes
`8
`
`Submitting a Proposai ............................................................................ 9
`The TiFF Advisory Committee ............................................................... 9
`Other TiFF Extensions ........................................................................... 9
`
`Part 1: Baseline TIFF .................................................................................................... 11
`
`Section 1: Notation ............................................................................ 12
`
`Section 2: TiFF Structure .................................................................. 13
`
`Section 3: Biieirei images .................................................................. 17
`
`Section 4: Grayscaie images ............................................................ 22
`
`Section 5: Paiette-coior images ........................................................ 23
`
`Section 6: RGB Fuii Coior images
`
`Section 7: Additionai Baseiine TiFF Requirements
`
`24
`
`26
`
`Section 8: Baseline Fieid Reference Guide28
`
`Section 9: PackBits Compression 42
`
`Section 10: Modified Huffman Compression...................................43
`
`Part 2: TIFF Extensions .............................................................................................. 48
`
`Section 11: CCiTT BiieveiEncodings49
`
`Section 12: Document Storage and Retrievai
`
`55
`
`Section 13: LZW Compression57
`
`Section 14: Differencing Predictor
`
`64
`
`Section 15: Tiied images66
`
`Section 16: CMYK images
`Section 17: Haiftonei-iints
`
`Section 18: Associated Aipha Handiing
`
`Section 19: Data Sampie Format
`
`Section 20: R63 image Coiorimetry
`
`69
`72
`
`77
`
`80
`
`82
`
`Section 21: YCbCrimages89
`
`Section 22: JPEG Compression
`
`Section 23: CE L*a*b* images
`
`95
`
`110
`
`Part 3: Appendices .................................................................................................... 116
`
`Appendix A: TiFF Tags Sorted byNumber 117
`
`119
`Appendix 3: Operating System Considerations
`Index ............................................................................... 120
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Introduction
`
`About this Specification
`
`Ffishuy
`
`Scope
`
`This document describes TIFF , a tag-based file format for storing and interchang-
`ing raster images.
`
`The first version of the TIFF specification was published by Aldus Corporation in
`the fall of 1986, after a series of meetings with various scanner manufacturers and
`software developers. It did not have a revision number but should have been la-
`beled Revision 3.0 since there were two major earlier draft releases.
`
`Revision 4.0 contained mostly minor enhancements and was released in April
`198?. Revision 5.0, released in October 1988, added support for paiette color
`images and LZW compression.
`
`TIFF describes image data that typically comes from scanners. frame grabbers,
`and paint— and photo-retouching programs.
`
`TIFF is not a printer language or page description language. The purpose of TIFF
`is to describe and store raster image data.
`
`A primary goal ofTIFF is to provide a rich environment within which applica-
`tions can exchange image data. This richness is required to take advantage of the
`varying capabilities of scanners and other imaging devices.
`
`Though TIFF is a rich format, it can easily be used for simple scanners and appli-
`cations as well because the number of required fields is small.
`
`TIFF will be enhanced on a continuing basis as new imaging needs arise. A high
`priority has been given to structuring TIFF so that future enhancements can be
`added without causing unnecessary hardship to developers.
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`
`Features
`
`TIFF is capable of describing bileve], grayscale, palette-color, and fiill-color
`image data in several color spaces.
`
`TIFF includes a number of compression schemes that allow developers to
`choose the best space or time tradeoff for their applications.
`
`TIFF is not tied to specific scanners, printers, or computer display hardware.
`
`TIFF is portable. It does not favor particular operating systems, file systems,
`compilers, or processors.
`
`TIFF is designed to be extensible—to evolve gracefully as new needs arise.
`
`TIFF allows the inclusion of an unlimited amount of private or special-purpose
`information.
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Revision Notes
`
`Minor changes to TIFF 6.0, March 1995
`
`Updated contact information and TIFF administration poiicies. since Aides Cor-
`poration merged with Adobe Systems incorporated on September 1 . i 994.
`
`The fechnicai content and pagination are unchangedfi'om the originai J3me 3,
`I 992 release.
`
`TIFF 5.0 to TIFF 6.0
`
`This revision replaces TIFF Revision 5.0.
`
`In the main body of the document, paragraphs that contain new or substantially-
`changed information are shown in italics.
`
`New Features in Revision 6.0
`
`Major enhancements to TIFF 6.0 are described in Part 2. They include:
`
`CMYK image definition
`
`A revised RGB Colorimetry section.
`
`YCbCr image definition
`
`CEE L*a*b* image definition
`
`Tiled image definition
`
`JPEG compression
`
`
`Clarifications
`
`The LZW compression section more clearly explains when to switch the cod-
`ing bit length.
`
`The interaction between Compression=2 {CCITT Huffman) and
`Photometriclnterpretation was clarified.
`
`The data organization of uncompressed data (Compression=l ) when
`BitsPerSample is greater than 8 was clarified. See the Compression field de-
`scription.
`
`The discussion ofCClTT Group 3 and Group 4 bilevel image encodings was
`clarified and expanded, and Group30ptions and Group40ptions fields were
`renamed T40ptions and T60ptions. See Section 1 l.
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Organizational Changes
`
`0 To make the organization more consistent and expandable, appendices were
`transformed into numbered sections.
`
`0 The document was divided into two parts—Baseline and Extensions—to help
`developers make better and more consistent implementation choices. Part 1,
`the Baseline section, describes those features that all general-purpose TIFF
`readers should support. Part 2, the Extensions section, describes a number of
`features that can be used by special or advanced applications.
`' An index and table of contents were added.
`
`Changes in Requirements
`
`- To illustrate 3 Baseline TIFF file earlier in the document, the material from
`
`Appendix G (“TIFF Classes“) in Revision 5 was integrated into the main body
`of the specification . As part of this integration, the TIFF Classes terminology
`was replaced by the more monolithic Baseline TIFF terminology. The intent
`was to further encourage all mainstream TIFF readers to support the Baseline
`TIFF requirements for bilevel, grayscale, RGB, and palette-color images.
`
`0 Due to licensing issues, LZW compression support was moved out of the “Part
`1: Baseline TIFF” and into “Part 2: Extensions."
`
`- Baseline TIFF requirements for bit depths in palette~color images were weak—
`ened a bit.
`
`Changes in Terminology
`
`Compatibility
`
`In previous versions of the specification, the term "tag" reffered both to the identi-
`fying number ofa TIFF field and to the entire field. In this version, the term “tag"
`refers only to the identifying number. The term “field" refers to the entire field,
`including the value.
`
`Every attempt has been made to add functionality in such a way as to minimize
`compatibility probiems with files and software that were based on earlier versions
`of the TIFF specification. The goal is that TIFF files should never become obso-
`lete and that TIFF software should not have to be revised more frequently than
`absolutely necessary. In particular. Baseline TIFF 60 files will generally be read-
`able even by older applications that assume TIFF 5.0 or an earlier version ofthe
`specification.
`
`However, TIFF 6.0 files that use one of the major new extensions, such as a new
`compression scheme or color space, will not be successfully read by oider soft-
`ware. In such cases, the older applications must gracefully give up and refuse to
`import the image, providing the user with a reasonably informative message.
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`TIFF Administration
`
`Information and Support
`
`The most recent version oftlre TIFF specification is available in PDF format on
`the Adobe WWW and Ftp servers See the cover page of the specification for the
`required addresses.
`
`Because of the widespread use of TIFF for in many environments, Adobe is un-
`able to provide a general consulting service for TIFF implementors. TIFF devel-
`opers are encouraged to study sample Tl FF files, read TIFF documentation
`thoroughly, and work with developers of other products that are important to you.
`
`If your Tl FF question specifically concerns compatibility with an Adobe Systems
`product, please contact Adobe Developer Support at devsup-person@adobe.com.
`
`Most companies that use TIFF can answer questions about support for TIFF in
`their products. Contact the appropriate product manager or developer support
`service group.
`
`Private Fields and Values
`
`An organization might wish to store information meaningful to only that organi-
`zation in a TIFF file. Tags numbered 32 763 or higher, sometimes catled private
`tags, are reserved for that purpose.
`
`Upon request, the TIFF administrator (send email to dcvsup-person@adobe.com)
`will allocate and register one or more private tags for an organization, to avoid
`possible conflicts with other organizations. You do not need to tell the TIFF ad-
`ministrator what you plan to use them for, but giving us this information may help
`other developers to avoid some duplication ofet‘fort. We will likely make the tag
`database public at some point.
`
`Private enumerated values can be accommodated in a similar fashion. For ex~
`
`ample. you may wish to experiment with a new compression scheme within TIFF.
`Enumeration constants numbered 32768 or higher are reserved for private usage.
`Upon request, the administrator will allocate and register one or more enumerated
`values for a particular field (Compression, in our example), to avoid possible
`conflicts.
`
`Tags and values allocated in the private number range are not prohibited from
`being included in a fiJture revision of this specification. Several such instances
`exist in the current TIFF specification.
`
`Do not choose your own tag numbers. Doing so could cause serious compatibility
`problems in the future. However, if there is little or no chance that your TIFF files
`will escape your private environment, please consider using TIFF tags in the
`“reusable” 65000-65535 range. You do not need to contact Adobe when using
`numbers in this range.
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`If you need more than 10 tags, we suggest that you reserve a single private tag,
`define itas a LONG TIFF data type, and use its value as a pointer (offset) to a
`private [FD or other data structure of your choosing. Within that IFD, you can use
`whatever tags you want, since no one eISe will know that it is an IFD unless you
`tell them.
`
`Submitting a Proposal
`
`Any person or group that wants to propose a change or addition to the TIFF speci-
`fication should prepare a proposal that includes the following information:
`
`* Name of the person or group making the request, and your affiliation.
`
`° The reason for the request.
`
`* A list of changes exactly as you propose that they appear in the specification.
`Use inserts, callouts, or other obvious editorial techniques to indicate areas of
`change, and number each change.
`
`- Discussion of the potential impact on the installed base.
`
`' A list of contacts outside your company that support your position. lnclude
`their affiliation.
`
`Please send your proposal to devsup-person@adobe.com.
`
`The TIFF Advisory Committee
`
`The TIFF Advisory Committee is a working group of TIFF experts from a number
`of hardware and software manufacturers. It was formed in the spring of 1991 to
`provide a forum for debating and refining proposals for the 6.0 release of the TIFF
`specification.
`
`if you are a TIFF expert and think you have the time and interest to work on this
`committee, contact devsup-pcrson@adobe.com for further information. For the
`TIFF 6.0 release, the gmup met every two or three months, usually on the west
`coast of the US. Accessibility via Internet email is a requirement for membership,
`since that has proven to be an invaluable means for getting work done between
`meetings.
`
`Other TIFF Extensions
`
`WWW (new location is under
`construction; check the Adobe WWW home page (httpdiwwwadobecom) for
`future developements} will contain proposed TIFF extensions from other compa-
`nies that are not approved by Adobe as part of Baseline TIFF.
`
`These proposals typically represent specialized uses of TIFF that do not fall
`within the domain of publishing or general graphics or picture interchange. Gen-
`erally, these features will not be widely supported. If you do write files that incor-
`porate these extensions, be sure to either not call them TIFF files or mark them in
`some way so that they will not be confused with mainstream TIFF files.
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`If you have such a document, send it to devsup-person@adcbe.com. All submis-
`sions must be PDF documents or simple text. Be sure to include contact informa-
`tion—at least an email address.
`
`10
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Part 1: Baseline TIFF
`
`The TIFF specification is divided into two parts. Part 1 describes Baseline TJFF.
`Baseline TIFF is the core oleFF. the essentials that all mainstream TlFF devel—
`
`opers should support in their products.
`
`11
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Section 1: Notation
`
`Decimal and Hexadecimal
`
`Compliance
`
`Unless otherwise noted, all numeric values in this document are expressed in
`decimal. (“.H“ is appended to hexidecimal values.)
`
`Is and shaft indicate mandatory requirements. All compliant writers and readers
`must meet the specification.
`
`Shoaid indicates a recommendation.
`
`Ma]; indicates an option.
`
`Features designated 'nat reeommendecifbr general data interchange ' are consid—
`ered extensions to Baseiine TIFF. Fiies that use saeiifeatures shaii be designated
`"Extended TIFF 6. f) "flies. and the partieaiar extensions arsed shonid be dow-
`mented. A Baseiine TIFF 6. 0 reader is not required to Support any extensions.
`
`12
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Section 2: TIFF Structure
`
`TIFF is an image file format. In this docament, afii’e is defined to be a sequence of
`8-bit bytes, where the bytes are numbered from 0 to N. The largest possible TIFF
`file is 2**32 bytes in length.
`
`A TIFF file begins with an S-byte imagejii'e header that points to an imagefile
`directory (JPD). An image file directory contains information about the image, as
`well as pointers to the actual image data.
`
`The following paragraphs describe the image file header and [FD in more detail.
`
`See Figure l.
`
`Image File Header
`
`A TIFF file begins with an 8—bytc image file header, containing the following
`information:
`
`Bytes 0-] :
`
`The byte order used within the fiie. Legal values are:
`
`“11“
`
`(4949.H)
`
`“MM" (4D4D.H)
`
`lit the “11” format, byte order is always from the least significant byte to the most
`significant byte, for both 16-bit and 32-bit integers This is called Kittie-endion byte
`order. In the “MM" format, byte order is always from most significant to least
`significant, for both 16-bit and 32-bit integers. This is called big—citation byte
`Order.
`
`Bytes 2-3
`
`An arbitrary but carefully chosen number (42) that further identifies the file as a
`TIFF file.
`
`The byte order depends on the value of Bytes 0— l .
`
`Bytes 4-?
`
`The offset (in bytes) of the first IFD. The directory may be at any location in the
`file after the header but must begin on a word boundary. In particular, an Image
`File Directory may follow the image data it describes. Readers must follow the
`pointers wherever they may lead.
`
`The term byte offset is always used in this document to refer to a location with
`respect to the beginning of the TIFF file. The first byte of the file has an offset of
`0.
`
`13
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Figure 1
`
`Header
`
`Directory Entry
`
`0
`
`2
`
`4
`
`Byte Order
`
`42
`
`Offset of Dlh IFD
`
`X
`
`x+2
`
`X+4
`
`><+s
`
`Tag
`
`Type
`
`Counl
`
`Vatueor Offset
`
`|
`
`l
`
`V
`‘:| Value
`
`A
`B i—i
`l
`IFD
`8
`
`
`
`Number of Directory Entries
`Directory Entry0
`
`Directory Entry 1
`
`Directory Entry 2
`
`Offset of next IFD
`
`
`
`A
`A+2
`
`A+td
`
`A+26
`
`“2‘5" 1 2
`
`Image File Directory
`
`An Image Fife Directory (!FD) consists of a 2-byte count of the number of direc-
`tory entries (i.e., the number of fields}, followed by a sequence of lZ-byte field
`entries, followed by a 4—byte offset of the next IFD (or 0 if none). (Do not forget to
`write the 4 bytes of 0 after the last IFD.)
`
`There must be at least I IFD in a TIFF file and each IFD must have at least one
`
`entry.
`
`See Figure l.
`
`IFD Entry
`
`Each l2-byte [FD entry has the following format:
`
`Bytes 0-1
`
`The Tag that identifies the field.
`
`Bytes 2-3
`
`The field Type.
`
`Bytes 4-?
`
`The number of values, Count of the indicated Type.
`
`14
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Bytes 8-1]
`
`The Value Offset, the file offset (in bytes) ofthe Value for the field.
`The Value is expected to begin on a word boundary; the correspond-
`ing Value Offset will thus be an even number. This file offset may
`point anywhere in the file, even after the image data.
`
`iFD Terminology
`
`A TIFFfieid is a logical entity consisting of TIFF tag and its value. This logical
`concept is implemented as an [FD Entry, plus the actual value if it doesn’t fit into
`the valuefoffset part, the last 4 bytes of the IFD Entry. The terms TIFRfleid and
`JFD entry are interchangeable in most contexts.
`
`Sort Order
`
`The entries in an IFD must be sorted in ascending order by Tag. Note that this is
`not the order in which the fields are described in this document. The Values to
`
`which directory entries point need not be in any particular order in the fiie.
`
`Value/Offset
`
`To save time and space the Value Offset contains the Value instead of pointing to
`the Value if and only if the Value fits intg 4 bfies. If the Value is shorter than 4
`bytes, it is left-justified within the 4-byte Value Offset, i.e., stored in the lower-
`numbered bytes. Whether the Value fits within 4 bytes is determined by the Type
`and Count of the field.
`
`Count
`
`Count—called Length in previous versions of the specification—is the number of
`values. Note that Count is not the total number of bytes. For example, a single 16-
`bit word (SHORT) has a Count of 1; not 2.
`
`Types
`
`The field types and their sizes are:
`
`l = BYTE
`
`2 = ASCII
`
`8-bit unsigned integer.
`
`8-bit byte that contains a 7-bit ASCII code; the last byte
`must be NUL {binary zero).
`
`3 = SHORT
`
`16-bit (2-byte) unsigned integer.
`
`4 = LONG
`
`32—bit (4—byte) unsigned integer.
`
`5 = RATIONAL
`
`Two LONGs: the first represents the numerator of a
`fraction; the second, the denominator.
`
`The value ofthe Count part ofan ASCII field entry includes the NUL. pradding
`is necessary, the Count does not include the pad byte. Note that there is no initial
`“count byte" as in Pascal-style strings.
`
`15
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Any ASCllfield can contain multiple strings. each terminated with a NUL. A
`single string is preferred wheneverpossible. The Countfor multi-stringfields is
`the number ofbytes in all the strings in thatfieldplus their terminating NUL
`bytes. Only one NUL is allowed between strings. so that the stringsfbllowing the
`first string will often begin on an odd byte.
`
`The reader must check the type to verify that it contains an expected value. TIFF
`currently allows more than I valid type for some fields. For example, lmageWidth
`and lmageLength are usually specified as having type SHORT. But images with
`more than 64K rows or columns must use the LONG field type.
`
`TlFF readers should accept BYTE. SHORT, or LONG valuesfor any unsigned
`integerfield This allows a single procedure to retrieve any integer value, makes
`reading more robust. and saves disk space in some situations.
`
`In TlFF 6.0. some newfield types have been defined:
`
`6 = SBYTE
`
`An 8-bit signed (twos-eornplement) integer.
`
`”l = UNDEFINED
`
`An 8~bit byte that may contain anything, depending on
`the definition of the field.
`
`8 = SSHORT
`
`A 16-bit (2-byte) signed (Mos-complement) integer.
`
`9 = SLONG
`
`A 32—bit (4-byte) signed (mos—complement) integer.
`
`10 = SRATIONAL
`
`Two SLONG’s: the first represents the numerator of a
`fraction, the second the denominator.
`
`I l = FLOAT
`
`Single precision (4-byte) IEEE format.
`
`12 = DOUBLE
`
`Double precision (S-byte) IEEE format.
`
`These new.field types are also governed by the byte order (ll or MW in the TIFF
`header.
`
`Warning: It is possible that other TIFFfield types will be added in thefuture.
`Readers should skip overJfields containing an unetpectedfleld ape.
`
`Fields are arrays
`
`Each TlFFjield has an associated Count. This means that allfields are actually
`one-dimensional arrays, even though moslfields contain only asingle value.
`
`For example. to store a complicated data structure in a single privatefield. use
`the UNDEFlNEDfield type and set the Count to the number ofbytes required to
`hold the data structure.
`
`Multiple Images per TIFF File
`
`There may be more than one [PD in a TIFF file. Each IFD defines a subfile. One
`potential use of subfiles is to describe related images, such as the pages of a fac—
`simile transmission. A Baseline TIFF reader is not required to read any IFDs
`beyond the first one.
`
`16
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Section 3: Bilevel Images
`
`Now that the overall TIFF structure has been described, we can move on to filling
`the structure with actual fields (tags and values) that describe raster image data.
`
`To make all of this clearer. the discussion will be organized according to the four
`Baseline TIFF image types: bilevel, grayscale. palette-color, and full-color im-
`ages. This section describes bilevel images.
`
`Fields required to describe bilevel images are introduced and described briefly
`here. Full descriptions of each field can be found in Section 8.
`
`
`Color
`
`A bilcvel image contains two colors—black and white. TlFF allows an applica-
`tion to write out bilevel data in either a white-is—zero or black-is-zero format. The
`
`field that records this information is called Photometric]nterpretation.
`
`Photometriclnterpretation
`
`Tag
`
`=262 [106.H)
`
`Type =SHORT
`
`Values:
`
`WhitelsZero. For bilevel and grayscale images: 0 is imaged as white. The maxi-
`mum value is imaged as black. This is the normal value for Compression=2.
`
`BlacklsZero. For bilevel and grayscale images: 0 is imaged as black. The maxi-
`mum value is imaged as white. lfthis value is specified for Compression=2, the
`image should display and print reversed.
`
`
`Compression
`
`Data can be stored either compressed or uncompressed.
`
`Compression
`
`Tag
`
`=259(103.H)
`
`Type =SHORT
`
`Values:
`
`No compression. but pack data into bytes as tightly as possible, leaving no unused
`bits (except at the end of a row). The component values are stored as an array of
`type BYTE. Each scan line (row) is padded to the next BYTE boundary.
`
`[*3
`
`CCITT Group 3 l-Dimensional Modified Huffman run length encoding. See
`
`17
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Section IO for a description ofModified Huffman Compression.
`
`32773
`
`PackBits compression, a simple byte-oriented run length scheme. See the
`PaekBits section for details.
`
`Data compression applies only to raster image data. All other TIFF fields are
`unaffected.
`
`Baseline TlFF readers must handle all three compression schemes.
`
`Rows and Columns
`
`
`An image is organized as a rectangular array ofpixels. The dimensions ofthis
`array are stored in the following fields:
`
`lmageLength
`
`Tag
`
`= 257(10LH}
`
`Type = SHORT or LONG
`
`The number of rows (sometimes described as scanlines) in the image.
`
`image Width
`
`Tag
`
`= 256 (100.11)
`
`Type = SHORT or LONG
`
`The number ofcolumns in the image, i.e., the number ofpixels per scanline.
`
`Physical Dimensions
`
`Applications often want to know the size of the picture represented by an image.
`This information can be caiculated from lmageWidth and ImageLength given the
`following resolution data:
`
`Resolution Unit
`
`Tag
`
`= 296 (128.H)
`
`Type = SHORT
`
`Values:
`
`No absolute unit of measurement. Used for images that may have a non-square
`aspect ratio but no meaningful absolute dimensions.
`
`l‘-J
`
`Lin)
`
`Inch.
`
`Centimeter.
`
`Default = 2 (inch).
`
`18
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`XResqution
`
`Tag
`
`=282 (1 lA.l—l)
`
`Type =RATIONAL
`
`The number of pixels per ResolutionUnit in the lmachidth (typically, horizontal
`- see Orientation} direction.
`
`YRESOIution
`
`Tag
`
`=283 (l 1B.H)
`
`Type = RATIONAL
`
`The number of pixels per ResolutionUnit in the lmageLength (typically, vertical)
`direction.
`
`Location of the Data
`
`Compressed or uncompressed image data can be stored almost anywhere in a
`TlFF file. TIFF also supports breaking an image into separate strips for increased
`editing flexibility and efficient U0 buffering. The location and size of each strip is
`given by the following fields:
`
`RowsPerStn'p
`
`Tag
`
`= 2T8 (l l6.H)
`
`Type = SHORT or LONG
`
`The number of rows in each strip (except possibly the last strip.)
`
`For example, if lmageLength is 24, and RowsPerStrip is 10, then there are 3
`strips, with 10 rows in the first strip, 10 rows in the second strip, and 4 rows in the
`third strip. (The data in the last strip is not padded with 6 extra rows of dummy
`data.)
`
`StripOffsets
`
`Tag
`
`=2?3 (lll.H)
`
`Type = SHORT or LONG
`
`For each strip, the byte offset of that strip.
`
`StripByteCounts
`
`Tag
`
`= 2?9 (117.H)
`
`Type = SHORT or LONG
`
`For each strip, the number of bytes in that strip afiei' any compression.
`
`19
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Offset Description
`(hex)
`
`Header:
`
`0000
`0002
`
`0004
`
`IFD:
`
`0014
`001 6
`0022
`002 E
`003 A
`0046
`0052
`0053
`006A
`0076
`0082
`0083
`009A
`
`00A6
`
`Byte Order
`42
`
`1st IFD offset
`
`Number of Directory Entries
`NewSubfi ieType
`ImageW idth
`ImageLength
`Compression
`Photometric] nterpretation
`Stri pOffsets
`RowsPerStrip
`StripByteCounts
`XResolution
`YResolution
`Software
`DateTime
`
`Next IFD offset
`
`Values longer than 4‘ bytes:
`0036
`StripOffsets
`03A6
`StripByteCounts
`0696
`XResolution
`069E
`Y Resolution
`
`06A6
`0636
`
`Software
`DateTime
`
`Image Date:
`00000700
`XXXXXXXX
`XXXXXXXX
`XXXXXXXX
`
`End ofemmple
`
`Putting it all together (along with a couple ofless-important fields that are dis-
`cussed later), a sample bilevel image file might contain the following fields:
`
`A Sample Bilevei TIFF File
`
`Value
`
`(numeric values are expressed in hexadecimal notation)
`
`4D4D
`002A
`
`000 0001 4
`
`000C
`00FE
`0! 00
`0101
`0103
`0106
`0111
`0116
`011?
`011A
`0113
`0131
`0132
`
`0004
`0004
`0004
`0003
`0003
`0004
`0004
`0003
`0005
`0005
`0002
`0002
`
`00000001 00000000
`00000001 00000?D0
`00000001 00000338
`00000001 8005 0000
`00000001 00010000
`0000003C 00000036
`00000001 00000010
`0000003C 000003A6
`00000001 00000696
`00000001 0000069E
`00000003 000006A6
`00000014 00000636
`
`00000000
`
`OffsetO, Offset l, Offsetl 87
`CountO, Countl, CountiS?
`0000012C 00000001
`0000012C 00000001
`
`“PageMaker 40”
`“1988:02: 18 13:59:59"
`
`Cempressed data for strip 10
`Compressed data for strip 1'19
`
`Compressed data for strip 53
`Compressed data for strip 160
`
`20
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Comments on the Bilevel Image Example
`
`0 The IFD in this example starts at 14h. It could have started anywhere in the file
`providing the offset was an even number greater than or equal to 8 (since the
`TIFF header is always the first 8 bytes ofa TIFF file).
`
`0 With 16 rows per strip, there are 188 strips in all.
`
`0 The example uses a number of optional fields such as DateTime. TIFF readers
`must safely skip over these fields if they do not understand or do not wish to
`use the information. Baseline TIFF readers must not require that such fields be
`present.
`
`* To make a point, this example has highly-fragmented image data. The strips of
`the image are not in sequential order. The point of this example is to illustrate
`that strip offsets must not be ignored. Never assume that strip N+l follows
`strip N on disk. It is not required that the image data follow the IFD informa-
`tion.
`
`Required Fields for Bilevel Images
`
`Here is a list of required fields for Baseline TIFF bilevel images. The fields are
`listed in numerical order. as they would appear in the IFD. Note that the previous
`example omits some of these fields. This is pennined because the fields that were
`omitted each have a default and the default is appropriate for this file.
`
`Decimal Hex Type
`
`Value
`
`1, 2 or 32773
`
`0 or 1
`
`100
`
`101
`
`103
`
`106
`
`I
`
`I
`
`1
`
`l 16
`
`SHORT or LONG
`
`SHORT or LONG
`
`SHORT
`
`SHORT
`
`SHORT or LONG
`
`SHORT or LONG
`
`LONG or SHORT
`1 1 7'
`1 IA RATIONAL
`
`1113 RATIONAL
`
`128
`
`SHORT
`
`I, 2 or 3
`
`TagName
`
`ImageWidth
`
`ImageLength
`
`Compression
`
`256
`
`257r
`
`259
`
`Photometrielnterpretation 262
`
`StripOffsets
`
`RowsPerStrip
`
`StripByteCounts
`XResolution
`
`YResolution
`
`ResolutionUnit
`
`273
`
`278
`
`279
`282
`
`283
`
`296
`
`Baseline TIFF bilevel images were called TIFF Class B images in earlier versions
`ofthe TIFF specification.
`
`21
`
`

`

`TIFF 6.0 Specification
`
`Final—June 3, 1992
`
`Section 4: Grayscale Images
`
`Grayscale images are a generalization of bilevel images. Bilevel images can store
`only black and white image data, but grayscale images can also store shades of
`gray.
`
`To describe such images. you must add or change the following fields. The other
`required fields are the same as those required for biievel images.
`
`Differences from Bilevel Images
`
`Compression = l or 32773 (PaekBr'ts). In Baseline TIFF, grayscale images can
`either be stored as uncompressed data or compressed with the PaekBits algorithm.
`
`Caution: PackBits is often ineffective on continuous tone images, including many
`grayscale images. In such cases, it is better to leave the image uncompressed.
`
`BitsPerSample
`
`Tag
`
`= 258 (1021-1)
`
`Type = SHORT
`
`The number of bits per component.
`
`Allowable values f

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket