dpx_spec
TRANSCRIPT
���������
� ���This standard defines a file format for the
exchange of digital moving pictures on a varietyof media between computer-based systems. Itdoes not define the characteristics of input oroutput devices or displays. This format will beknown as the SMPTE digital picture exchangeformat version 1.0, or DPX in short form. The fileextension will be .dpx.
� ���This flexible, resolution-independent file for-
mat describes pixel-based (raster) images withattributes defined in the binary file header. Eachfile represents a single image with up to eightimage elements. Image elements are defined asa single component (e.g. luminance) or multiplecomponents (e.g. red, green, and blue) as de-fined by table 1.
� ���Image data is packed for efficient storage
with the option to pad to 32-bit word boundaries.Multibyte quantities may be stored with eitherthe most significant byte first or the least signifi-cant byte first, where first means in the locationwith the lowest address, or the first byte insequence from a byte-serial data channel. Bothbyte-order conventions are supported. The‘‘magic number’’ in field 1 of the file informationsection is used to distinguish the byte order(annex A provides an historical perspective forthe existence of the two byte-order conventions).
����������������� !�" #$%�"%&� '
The following standards contain provisions which,through reference in this text, constitute provisions ofthis standard. At the time of publication, the editions
indicated were valid. All standards are subject torevision, and parties to agreements based on thisstandard are encouraged to investigate the possibilityof applying the most recent edition of the standardsindicated below.
ANSI X3.4-1986 (R1992), Information Processing ----Coded Character Set ---- 7-Bit American NationalStandard Code for Information Interchange (7-Bit AS-CII)
ANSI/IEEE 754-1985 (R1991), Binary Floating-PointArithmetic
ANSI/SMPTE 12M-1986, Television ---- Time andControl Code ---- Video and Audio Tape for 525-Line/60-Field Systems
ANSI/SMPTE 125M-1992, Television ---- ComponentVideo Signal 4:2:2 ---- Bit-Parallel Digital Interface
ANSI/SMPTE 254-1992, Motion-Picture Film (35-mm)---- Manufacturer-Printed, Latent Image IdentificationInformation
SMPTE 240M-1988, Television ---- Signal Parameters---- 1125/60 High-Definition Production System
CCIR Recommendation 601-2, Encoding Parametersof Digital Television for Studios
CCIR Recommendation 709-1, Basic ParameterValues for the HDTV Standard for the Studio and forInternational Programme Exchange
(*)+�-,�
� ���The file contains four sections:
for File Format for Digital Moving-Picture Exchange (DPX)
CAUTION NOTICE: This Standard may be revised or withdrawn at any time. The procedures of the Standard Developer require that action be taken to reaffirm, revise,or withdraw this standard no later than five years from the date of publication. Purchasers of standards may receive current information on all standards by calling orwriting the Standard Developer. Printed in USA.
.0/2143+576�895;:+<$/01�30=
ApprovedFebruary 18, 1994
Copyright © 1994 by THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS595 W. Hartsdale Ave., White Plains, NY 10607(914) 761-1100
Value Components (and order in unpacked stream)
0 User defined (or unspecified single component)
1 Red (R)
2 Green (G)
3 Blue (B)
4 Alpha (matte)
6 Luminance (Y)
7 Chrominance (CB, CR, subsampled by two)
8 Depth (Z)
9 Composite video
10--49 Reserved for future single components
50 R,G,B
51 R,G,B, alpha
52 Alpha, B, G, R
53--99 Reserved for future RGB ++ formats
100 CB, Y, CR, Y (4:2:2) ---- based on SMPTE 125M
101 CB, Y, a, CR, Y, a (4:2:2:4)
102 CB, Y, CR (4:4:4)
103 CB, Y, CR, a (4:4:4:4)
104--149 Reserved for future CBYCR ++ formats
150 User-defined 2-component element
151 User-defined 3-component element
152 User-defined 4-component element
153 User-defined 5-component element
154 User-defined 6-component element
155 User-defined 7-component element
156 User-defined 8-component element
157--254 Reserved for future formats
NOTES
1 These values describe the components that make up an image element and their order. A pixel consists of 1-8 components as specified by field 21.6. All components in an image element have the same number of bits and the same data metric. I t is anticipated that th is table wi l l be expan d e d as addi t ional component types and inter leaves become common practice.
2 For any of the subsampled CB , Y , CR formats, a pixel for the purposes of run- length encoding and component packing is really two picture elements. The pixels per l ine specif ied in f ield 19 refer to the number of picture elements in the original image and must be an even number.
>@?BA@C DFE�G�G9H�I�?BJKDLDBC DBI�DNMPORQKDBS�TBUWV�XKO-YZUWS
[\^]@_ ` ]@a�b0c9d�e0f2gPa7hji;k2k2l
b0m2n4o�e�p4q i;l+rsm2n4o2t
Generic file information, image information, dataformat, and image origination information (fixedlength);
Motion-picture and television industry-specificinformation (fixed length);
User-defined information. This section provides anextended area for customized information neededby some users. The format of this section is notdefined by the standard. This section is variablelength with a maximum length of 1 Mbyte. It may beof zero length;
Image data.
u v�wEach field in the file header contains data of
specified types. The valid types (and undefinedvalues) for each field are:
Type
U8 unsigned 8-bit integerU16 unsigned 16-bit integerU32 unsigned 32-bit integerR32 32-bit real number (IEEE floating point)ASCII
Undefined value
FF hexFFFF hexFFFFFFFF hex
0xFFFFFFFF hex0 h e x ( N U L Lcharacter)
uKvxuTo provide a streamlined path for imple-men-
tation and testing, a core set of fields has beenidentified with a ‘‘C’’ in the field designation ta-ble. This core set contains:
The minimum amount of information that a readerneeds to read and interpret a file;
A core-compliant reader must read the core fields,but need not read the others;
A core-compliant writer must fill the core fields withvalid values (undefined values are not permitted).Non-core fields must be filled with UNDEFINEDvalues if the correct value is not known.
u v yUnless stated otherwise, all references in
this standard to binary data, sizes, offsets, andlengths are in units of bytes. Positions within thefile are specified in terms of the number of bytesfrom the beginning of the file, with the first bytedesignated as byte 0. Offsets to individual fieldsare specified from the first byte.
u v�zAll ASCII character strings are terminated by
a NULL (zero) byte.
{*|�} ~��-�������x����
The reference field number from clauses 5 and 6 isindicated in brackets at the end of the definition:
yBv������N�@� �F�@�@���P�N�"�Indicates the start of the im-
age file and is used to determine byte order. Thefile format allows machines to create files ineither of the two most common byte orders,whichever is easier for that machine. Byte-ordertranslation is only required for machines readingfiles that were created on a machine with reversebyte order. Programs creating DPX files shouldwrite the magic number with the ASCII value of‘‘SDPX’’ (0x53445058 hex). Programs readingDPX files should use the first four bytes to deter-mine the byte order of the file. The first four byteswill be S, D, P, X if the byte order is mostsignificant byte first, or X, P, D, S if the byteorder is least significant byte first. [1]
yBv�w��@� �-�-����� �B�Indicates that all fields are the
same as the previous frame in the sequenceexcept for fields related to the frame number (48,50, 58, 61). Also, the offsets to the image data(21.12) will change if run-length encoding isused. The ditto key is a read-time shortcut only,and the other fields in the header must still befilled in when the file is created. [5]
yBv�u��B����� �s� �R���K� �-�����$�����B�Is defined as YYYY:MM:
DD:HH:MM:SS:LTZ. [10]
yBv y��B�K�B���B K�$� �Z�������B�Indicates that the image
data is encrypted to prevent unauthorized use.The default is FFFFFFFF for no encryption. Anyother value indicates that the image data is en-crypted and this value can be used as the en-cryption key. Note that the header data is notencrypted. [15]
yBv�z������N�K�L�R�"� �B�K�-���s� �R�@�Indicates the orientation
of the image data required for display. Thepossible orientations are listed in table 2. Thestandard orientation for core set images (code0) is left to right (line direction) and top to bottom(frame direction). [17]
A data structure (group of fields) is repeated for eachimage element. An image element can contain a
¡�¢4£@¤ ¥ £@¦�§0̈ © ª2«2¬P¦®°̄;±0±2²
§0³2́4µ+¶7·�̧9̄;²+¹$³0́�µ0º
single component or multiple components, as definedin table 1. All components in an image element havethe same number of bits, transfer function, and col-orimetric specification. [21]
»½¼ ¾À¿�ÁPÂÃÁ½¿�Á®Ä̂ ÅÆÁÈÇ É9ÊÌË4ÍPÎÃÍÏÅPÉË4ÁÏÐPÍ®ÇÒÑ4Á½ÓDefines the mini-
mum expected code value for image data. Forprinting density, the default value is 0. For CCIR601-2 luminance, the default value is 16. [21.2]
»B¼�ÔÕ¿ÖÁ Â×ÁN¿ÖÁNÄKÅ�ÁFÇ É@ÊÙØ@ÑKÍBÄKÎsÚ Î-ÛF¿ÖÁNܽ¿�ÁBÝ�ÁBÄKÎ-ÁBË@ÓDefines
the corresponding signal level or measuredvalue to the reference low data code value.For printing density, the default is a density of0.00. For CCIR 601-2, the luminance default is0 mV. [21.3]
»B¼�Þ�¿�Á�Â-ÁB¿ÖÁBÄKÅ�ÁFß@Ú�à@ß�ËPÍ Î×ÍÈÅ�ÉZËKÁLÐ�ÍNÇ�ÑKÁBÓDefines the
maximum expected code value for image data.For 10-bit printing density, the default codevalue is 1023. For CCIR 601-2 luminance, thedefault value is 235. [21.4]
»á¼�âã¿ÃÁKÂ×Á@¿ÃÁáÄÆÅKÁäß®Úxà®ßÈØ®ÑÆÍáÄÆÎWÚÎ�Ûä¿ÃÁ@Ü®¿ÃÁáÝ0ÁáÄÆÎ�ÁáË®ÓDefines
the corresponding signal level or measuredvalue to the reference high data code value.For printing density, the default is a density of2.047. For CCIR 601-2 luminance, the defaultis 700 mV. [21.5]
»B¼�å�æçËKÁBÝ�ÅN¿"Ú�ÜKÎ-ÉR¿7Â-ÉR¿�Ú�è�ÍNàPÁÈÁBÇÁNè�ÁNÄKÎZÄ@ÓD e f i n e s
the components that make up an image elementand their pixel-packing order. The valid compo-nents are listed in table 1. [21.6]
»B¼�å�å�Îs¿ÖÍNÄ@Ý�Â-ÁB¿7ÅNßPÍN¿ÖÍ Å�Î-ÁN¿"Ú�Ý�ÎsÚÅNÓDefines the ampli-
tude transfer function used to transform the datafrom a linear original. The inverse of the transferfunction is needed to recreate a linear imageelement (see table 5A). [21.7]
»B¼�å éêÅ7ÉëÇ Éë¿ìÚÖèÈÁ7Î2¿ìÚ ÅíÝ®Ü Á7Å�Ú ÂîÚ Å7Í7Î2Ú ÉëÄBÓD e f i n e s t h e
appropriate color reference primaries (for additivecolor systems like television) or color responses(for printing density) (see table 5B). [21.8]
»@¼xåKïñð®Ú ÎÝKÚxò$Á@ÓDefines the number of bits for each
component in the image element. All componentsmust have the same bit size. Valid bit sizes are 1-, 8-,10-, 12-, and 16-bit integer, and 32- and 64-bitIEEE floating point (see table 3A). [21.9]
»B¼�å�»óÜKÍ ÅBô�Ú�Ä@à@ÓFor image element n, defines the
data-packing mode. The valid options are listedin table 3B. [21.10]
»9¼ å^õÈÁ7ÄöÅ^ÉBË�Ú Ä�à�ÓFor image element n, defines whether
or not the element is run-length encoded. Thevalid options are listed in table 3C. [21.11]
Code Line direction Frame direction
01) Left to right Top to bottom
1 Right to left Top to bottom
2 Left to right Bottom to top
3 Right to left Bottom to top
4 Top to bottom Left to right
5 Top to bottom Right to left
6 Bottom to top Left to right
7 Bottom to top Right to left
8--254 Reserved for future use
1)Orientation 0 is the only one supported in the core set file format.
÷@ÍBð@Ç ÁFé�ø�ø9ù�è�ÍNàPÁLÉR¿"Ú ÁBÄPÎ-Í�ÎsÚ ÉRÄ�Å ÉZËKÁ
úû^ü@ý þ ü@ÿ�����������Pÿ� �����
������������������������
1 integer
8 integer
10 integer
12 integer
16 integer
32 IEEE floating point (R32)
64 IEEE floating point (R64)
��� ��!#"%$'&)(*(�+,� !.-./0��-#1324-.56" 287:9<;=-.>?� @�"A" !#" >?" B�1�2
0 Packed into 32-bit words1)
1 Filled to 32-bit words2)
2--7 Reserved for future use
NOTE -- This table contains the values for field 21.10, component data packing. Note that all components in a pixel (including the run-length f l ag i f used) a re the same b i t s i ze (a d iagram i l l us t ra t ing the packing of 8-, 10-, 12-, and 16-bit channels into 32-bit words is included in annex B).
1)For 1-bit components, the component pixels are first packed into bytes wi th the left-most (f irst) pixel bit in the least signif icant bit of the byte. The bytes are then sequenced according to the order speci f ied by f ie ld 21.10 and packed into 32-bit words in the same manner as 32-bit data.
2)1-, 8-, and 16-bit data never needs filling; therefore, the corresponding states are not needed.
��� ��!#"%$4CD(E(GF 9�>IH�9<B�"JB�13/��41:�%H��4K L4-.B�@M>?"41�N�9</
0 No encoding applied
1 Run-length encoded1)
2--7 Reserved for future use
NOTE -- This table contains the values for f ield 21.11, component data encoding. Only run-length e n c o d i n g i s spec i f ied a t th is t ime, bu t there i s p rov is ion fo r fu tu re expans ion .
1)With run-length encoding, the components of consecutive pixels are grouped into ‘‘runs’’ which are preceded by a run-length flag. The RL flag has the same size as each com- ponent. Once again, the resulting data stream is packed as specified by field 21.10.
The least significant bit of the run-length flag signals a run of pixels which are all the same if set, and a run of pixels which are all different if clear. The remaining bits indi- cate the number of pixels in the run. In the case of a run of all the same pixels, the flag word is followed by a single pixel which is to be replicated to fill out the run. In the case of a run of all different pixels, the flag is followed by a run-length of pixels.
Runs will always break at scan-line boundaries. Packing will always break to the next 32-bit word at scan-line boundaries.
��� ��!#"O$4FD(E(PF 9�>QH�9�B�" B�1R/��41:�S" B�K49�/�-.B�@M>?"41�N�9�/
T�U�VXW Y VXZ�[�\�]J^_`'Zbadc�e�ef
[�gh�i�j�kml�c�f�nog�hmi�p
qsrutwvyxbz{z}|6~w�}�To data for image element n, defines
the offset in bytes to the image data for elementn from the beginning of the file. [21.12]
qPr*t���~P�X�X�uxXzo���*����~����G�X�4�*�X�X�Specifies the number
of padded bytes at the end of each line. Thedefault is 0 (no padding). [21.13]
qXr�t��M~s�b�b� xbz}�{�u���s��~����X�b�b���b�b�Specifies the number
of padded bytes at the end of each image ele-ment. The default is 0 (no padding). [21.14]
qPr�t����QxXz�z�|�~����Defines the line offset (in pixels)
f rom the f i rst p ixel in the or ig inal image.The default is 0. This is useful if an image iscropped and the user wishes to specify its loca-tion with respect to the original contiguous im-age. [30]
qPr��m���QxXz�z�|�~����Defines the frame offset (in lines)
from the first line in the original contiguous im-age. The default is 0. [31]
qPr*��t�����~P����~P }�Defines the X image center in
pixel units (floating point). [32]
qPr*��������~P����~P }�Defines the Y image center in line
units (floating point). [33]
qPr*��¡���x¢ :�*�4�*�'�G��|��*£�~G�Defines the number of pix-
els per line in the original image. [34]
qPr*��q���x¢ :�*�4�*�'�G��|��*£�~G�Defines the number of lines
per image in the original image. [35]
qPr*��¤¥|mx¢¦X §��~S�*�¨�G��~©zo�*� ~P���G�¨~G�Defines the source
image from which this image was extracted orprocessed. [36]
qPr*��v�|�x¢¦X §��~S���ª�P��~S������~�«������ª~P�Defines the crea-
tion time of the source image from which theimage was extracted or processed. [37]
q4ru�'�O¬x� �~X �®��4�u�#��� �§¯4�Defines the region of an im-
age that is eroded due to edge-sensitive filteringoperations. The X-left, X-right, Y-top, and Y-bot-tom value defines the width of the eroded border.The default is 0,0,0,0 in pixel units (no erosion). [40]
qPr����¥�X� °�~P���P|���~���� {����� x¢�Is specified as the ratio
of a horizontal integer and a vertical integer. Forexample, a SMPTE 240M signal has a pixelaspect ratio of approximately 0.9583, whichis 1920 active pixels and 1035 active lines ina 16:9 frame, and is specified as 16560:17280or 23:24. [41]
qPr�����z� §�P�ª~S��x¢|�� ��� x¢�±�*�±|�~G²X¦'~G����~P�D e f i n e s t h e
frame number in the image sequence. [50]
qPr�¡��³|�~P²X¦�~P����~S� ~G�4����´X�Defines the total number
of frames in the image sequence. [51]
qPr�¡�tD´�~P�*�¨��x¢¦X���o�Specifies how many sequential
frames for which to hold the current frame. Inanimation, it is often desirable to hold identicalframes. [52]
qPr*¡��¥|�´X¦�����~P ��P�X�X� ~G�Defines the shutter angle in
degrees of the motion-picture camera. Thisspecifies the temporal sampling aperture. [54]
qPr*¡�¡�z� §�G�ª~��*��~P����� z�� ������� x¢�4�A user-defined field
that labels select frames as key frames or wedgeframes, etc. [55]
qPr*¡�q)|�� ����~S����z�x¢ }�ª����� x¢�X�A user-def ined ASCII
field for recording production information fromthe camera slates. [56]
qPr*¡�¤�z�� ~G���±�X¦X�µ¬�~G :�Of the f i rs t f ie ld in the
file, may be 1 or 2 for component video, 1 to 4for NTSC or component video decoded fromNTSC, or 1 to 12 for PAL or component videodecoded from PAL. Color f rame sequenceinformation is useful when decoding and sub-sequently re-encoding component video. Thefield number is set to 0 where field designationis inappropriate. [61]
qPr*¡�vO®G����~�xy|��*�4���G�w|m���P�X���P }�X�Defines the video
source. Video signal standards are listed intable 4. [62]
qPr�¡��¶���*�¨~�xXz�zo|m~��,z� §x¢�·|m¯P���Q��x%z��� }|��¨�X�°�~P�J¸.�µ� �P §x¢�|�~���x¢�X�4|�¹��
Defines the edge of the digital imagewith respect to sync and the sampling phasewhich is necessary to reconstruct a composite
º�»¼X½ ¾ ¼X¿�À�Á�Â�Ã�ÄÅ'¿�Æ Ç�ÈÈÉ
À�ÊË�Ì�Ä�Í�Î�Ç�É�Ï�ÊË�ÌÐ
image. The sync reference is the reference edgeof horizontal sync. [67]
ÑPÒ*Ó�Ô�Õ�ÖP׵תÖPØDefines the power law expo-
nent tha t represents the gamma correctionappl ied to a video image. In the expressionY = X1/gamma, the default gamma for NTSC is2.2. [68]
ÑPÒ*Ó�Ù¥ÚXÛ Ö�ÜPÝ©Û Þ�ß�ÞPÛ�Ü�à¢á�Þ©ß�ÖPÛ*â�ÞPØDefines the digital
code value representing reference black (cam-era lens capped, RGB signal set to 0 mV). ForCCIR 601-2, the default black level code valueis 16. [69]
ÑPÒ Ñ�ãäÚXÛ Ö�ÜGÝ©Õ�ÖPå�æXØDefines the linear gain applied
to signals below the breakpoint (this is 4.0 forSMPTE 240M). [70]
ÑPÒ ÑGç¥ÚXè{Þ�ÖPÝ�é�à å*æ�ê�ØDefines the signal level above
which the gamma law is applied (this is 0.0228of full scale for SMPTE 240M). [71]
ÑPÒ ÑGë¥è{Þ�ì�ÞPè{ÞPæ�Ü�Þ©í?îXå ê�ÞSÛ Þ�ß�ÞPÛ�Ü�à¢á�Þ©ß�ÖPÛ*â�ÞPØD e f i n e s
the digital code value representing referencewhite (90% reflectance white card, RGB signalset to 700 mV). For CCIR 601-2, the defaultreference white level code value is 235. [72]
Code Signal standard
0 Undefined1)
1 NTSC
2 PAL
3 PAL-M
4 SECAM
5--49 Reserved for composite video
50 YCBCR CCIR 601-2 525-line, 2:1 interlace, 4:3 aspect ratio
51 YCBCR CCIR 601-2 625-line, 2:1 interlace, 4:3 aspect ratio
52--99 Reserved for component video
100 YCBCR CCIR 601-2 525-line, 2:1 interlace, 16:9 aspect ratio
101 YCBCR CCIR 601-2 625-line, 2:1 interlace, 16:9 aspect ratio
102--149 Reserved for future widescreen
150 YCBCR 1050-line, 2:1 interlace, 16:9 aspect ratio
151 YCBCR 1125-line, 2:1 interlace, 16:9 aspect ratio (SMPTE 240M)
152 YCBCR 1250-line, 2:1 interlace, 16:9 aspect ratio
153--199 Reserved for future high-definition interlace
200 YCBCR 525-line, 1:1 progressive, 16:9 aspect ratio
201 YCBCR 625-line, 1:1 progressive, 16:9 aspect ratio
202 YCBCR 787.5-line, 1:1 progressive, 16:9 aspect ratio
203--254 Reserved for future high-definition progressive
1) For the undefined video signal standard, it is necessary to specify the following fields that would otherwise be fully specified by selecting one of the video signal standards:
68 Gamma 69 Black level code value 70 Black gain 71 Breakpoint 72 Reference white level code value
ïXÖPÚXÛ Þ©ÑSð�ðmñòå�á�Þ�àyó�å�ÕXæ�ÖGÛwómê�ÖPæXá�ÖPè}á
ô�õ�öX÷ ø öXù�ú�û�üJýþÿ'ù����������
ú����� ����������������
�����������! #"$ &%('*)+�-,+'/.�'
021436587:9 ;<7:=?>&@BADCFE2GH7 @I=
Field Offset Length Type Core Content
1 0 4 U32 C Magic number (SDPX ASCII) 2 4 4 U32 C Offset to image data in bytes 3 8 8 ASCII C Version number of header format (V1.0) 4 16 4 U32 C Total image file size in bytes 5 20 4 U32 Ditto key (0 = same as previous frame; 1 = new) 6 24 4 U32 Generic section header length in bytes 7 28 4 U32 Industry specific header length in bytes 8 32 4 U32 User-defined header length in bytes 9 36 100 ASCII Image filename10 136 24 ASCII Creation date/time: YYYY:MM:DD:HH:MM:SS:LTZ12 160 100 ASCII Creator13 260 200 ASCII Project name14 460 200 ASCII Right to use or copyright statement15 660 4 U32 Encryption key (FFFFFFFF unencrypted)16 664 104 TBD Reserved for future use
0J1:KML:CFEON?;P7:=?>&@IADCFE2GH7 @I=
Field Offset Length Type Core Content
17 768 2 U16 C Image orientation (see table 2)18 770 2 U16 C Number of image elements (1-8)19 772 4 U32 C Pixels per line20 776 4 U32 C Lines per image element
21 Data structure for each image element:21.1 780 4 U32 C Data sign (0 = unsigned; 1 = signed)
Core set images are unsigned.21.2 784 4 U32 Reference low data code value21.3 788 4 R32 Reference low quantity represented21.4 792 4 U32 Reference high data code value21.5 796 4 R32 Reference high quantity represented21.6 800 1 U8 C Descriptor for image element 1 (see table 1)21.7 801 1 U8 C Transfer characteristic for image element 1 (see table 5A)21.8 802 1 U8 C Colorimetric specification for image element 1 (see table 5B)21.9 803 1 U8 C Bit size for image element 1 (see table 3A)21.10 804 2 U16 C Packing for image element 1 (see table 3B)21.11 806 2 U16 C Encoding for image element 1 (see table 3C)21.12 808 4 U32 C Offset to data for image element 121.13 812 4 U32 End-of-line padding for image element 121.14 816 4 U32 End-of-image padding for image element 121.15 820 32 ASCII Description of image element 1
Q�RTS8U V S8W/X�Y�Z/[�\�]^W�_a`�b�b�c
X�d�e�f/]/g�hJ`�c�iHd�e�f�j
kJl:mMn:oFpOq?rPs:t?u&vIwDoFp2xHs vIt(continued)
Field Offset Length Type Content
22 852 72 Structure Image element 2
23 924 72 Structure Image element 3
24 996 72 Structure Image element 4
25 1068 72 Structure Image element 5
26 1140 72 Structure Image element 6
27 1212 72 Structure Image element 7
28 1284 72 Structure Image element 8
29 1356 52 TBD Reserved for future use
kJl:yMn4oFpOq?rzvIw{s rOt?x&p2xHs vIt|s:t?u&vIwDoFp2xHs vIt
Field Offset Length Type Content
30 1408 4 U32 X offset
31 1412 4 U32 Y offset
32 1416 4 R32 X center
33 1420 4 R32 Y center
34 1424 4 U32 X original size
35 1428 4 U32 Y original size
36 1432 100 ASCII Source image filename
37 1532 24 ASCII Source image date/time: YYYY:MM:DD:HH:MM:SS:LTZ
38 1556 32 ASCII Input device name
39 1588 32 ASCII Input device serial number
40 1620 8 U16*4 Border validity: XL, XR, YT, YB border
41 1628 8 U32*2 Pixel aspect ratio (horizontal:vertical)
42 1636 28 TBD Reserved for future use
}/~��8� � �8�/���J�*�����^�����������
�������/�/�����������������
Code Transfer characteristic
0 User defined
1 Printing density
2 Linear
3 Logarithmic
4 Unspecified video
5 SMPTE 240M
6 CCIR 709-1
7 CCIR 601-2 system B or G (625)
8 CCIR 601-2 system M (525)
9 Composite video (NTSC); see SMPTE 170M
10 Composite video (PAL); see CCIR 624-4
11 Z (depth) -- linear
12 Z (depth) -- homogeneous (distance to screen and angleof view must also be specified in user-defined section)
13-254 Reserved for future use
������� �������:�!�I ¡��¢8£!¤&�� �¥O¦?�� §�2¥J¨&�O D©:£�¨H©¥
Code1) Colorimetric specification
0 User defined
1 Printing density
2 Not applicable
3 Not applicable
4 Unspecified video
5 SMPTE 240M
6 CCIR 709-1
7 CCIR 601-2 system B or G (625)
8 CCIR 601-2 system M (525)
9 Composite video (NTSC); see SMPTE 170M
10 Composite video (PAL); see CCIR 624-4
11 Not applicable
12 Not applicable
13-254 Reserved for future use
1)The codes are assigned to correspond to those in table 5A, except where there is no appropriate colorimetric specification.
�8�O�8� �P�2ª-�«��¬�I� I {©:®F�2¨H D© ¥<£2¯?�2¥�© ¤H© ¥2�2¨H© I¢
°�±T²8³ ´ ²8µ/¶�·�¸/¹�º�»^µ�¼a½�¾�¾�¿
¶�À�Á�Â�½ÄÃ/Å�Æ�½�¿�ÇHÀ�Á�Â�È
É�Ê&Ë�ÌFÍ�Î*Ï�Ð{Ñ*ÒDÎ�Ó�Ô*Õ�Ö#×�Ö#Õ-Ì+Ø*ÏDØ
ÙJÚ:ÛÝÜ�Þ8ß�à ÞIá�â&ã8à äJßHå�æ§çzèHà4é:êëà:á?è&ÞIæ{êFìJß�à ÞIá
Field Offset Length Type Content
43 1664 2 ASCII Film mfg. ID code (2 digits from film edge code)
44 1666 2 ASCII Film type (2 digits from film edge code)
45 1668 2 ASCII Offset in perfs (2 digits from film edge code)
47 1670 6 ASCII Prefix (6 digits from film edge code)
48 1676 4 ASCII Count (4 digits from film edge code)
49 1680 32 ASCII Format -- e.g. Academy
50 1712 4 U32 Frame position in sequence
51 1716 4 U32 Sequence length (frames)
52 1720 4 U32 Held count (1 = default)
53 1724 4 R32 Frame rate of original (frames/s)
54 1728 4 R32 Shutter angle of camera in degrees
55 1732 32 ASCII Frame identification -- e.g. keyframe
56 1764 100 ASCII Slate information
57 1864 56 TBD Reserved for future use
Ù2Ú4íïî8çOé ç2ðOà:ñJà ÞIáòà:á?è&ÞBæDêFì2ßHà ÞIá
Field Offset Length Type Content
58 1920 4 U32 SMPTE time code
59 1924 4 U32 SMPTE user bits
60 1928 1 U8 Interlace (0 = noninterlaced; 1 = 2:1 interlace)
61 1929 1 U8 Field number
62 1930 1 U8 Video signal standard (see table 4)
63 1931 1 U8 Zero (for byte alignment)
64 1932 4 R32 Horizontal sampling rate (Hz)
65 1936 4 R32 Vertical sampling rate (Hz)
66 1940 4 R32 Temporal sampling rate or frame rate (Hz)
67 1944 4 R32 Time offset from sync to first pixel (µs)
68 1948 4 R32 Gamma
69 1952 4 R32 Black level code value
70 1956 4 R32 Black gain
71 1960 4 R32 Breakpoint
72 1964 4 R32 Reference white level code value
73 1968 4 R32 Integration time (s)
74 1972 76 TBD Reserved for future use
ó/ô�õ8ö ÷ õ8ø/ù�úJû*ü�ý�þ^ø�ÿ��������
ù�������� ����������������
��� �����������! #"%$&��� '(�)���+*)��,D e f i n e s t h e t e m p o r a l
sampling aperture of the television camera; mostuseful for CCD cameras. [73]
-.�/�0�&12-(informative)3!4��5�!67'("980�!"�:�'(�0;&�!����� '(�/<
Digital computers save information in a form commonlyknown as bits. For convenient (and fast) information manipu-lation, most computers manipulate more than one bit at atime. They manipulate multiple bits as a symbol, the mostcommon of which is a byte (8 bits). A further extension ofthis concept is to manipulate more than one byte at a time,working with multibyte words. The word size is built into thecomputer hardware and cannot be altered by software.
As computers were developed, there was no standardizationbetween different types of computers and data format. Twodifferent orderings of bytes in words were developed in
parallel. Early on, there were arguments for standardizationof byte order. However, the arguing proponents becameentrenched and now there is an equal number of both typesof systems in use.
When one generates files on one type of computer for ex-change with another, the receiver of the file must know whattype of computer generated it in order to interpret it properly.The most common automatic method for doing this is tocreate a magic number. The magic number is a multibyteword with the largest number of bytes per word that the filewill contain. Each byte of the magic number is different from
=?>A@CBEDGF�BIHJ�KLBCFMFONCPQN
Field Offset Length Type Content
75 2048 32 ASCII User identification
76 2080 xx TBD User defined ---- Postage stamp, processing logs, etc.
Length is variable with maximum length of 1 Mbyte.
RTS�U NCVOBWFONIPQN
Field Offset Length Type Content
77 xx xx ArrayU8*4
Image data should start at block boundary (8-K blocks arerecommended for efficient use of tape-storage devices).
XLY[Z/\ ] Z/^I_�`baIc�d�e�^ fhg�i�i�j
_�k�lm�gncIopbg�j�q�k�l�m�r
all others and the magic number is published with the fileformat specification. This magic number is then coded intothe file reader software so that the reader can define thebyte order of the computer generating the file. If the file-reading computer sees the magic number in its correctformat, then it has the same byte order as the file-generatingcomputer. If not, the reading computer must convert all themultibyte words in the file into its own byte order before itcan use the data.
8-bit component(s):bytes: bits:
| 3 3 2 2 2 2 2 2 | 2 2 2 2 1 1 1 1 | 1 1 1 1 1 1 0 0 | 0 0 0 0 0 0 0 0 || 1 0 9 8 7 6 5 4 | 3 2 1 0 9 8 7 6 | 5 4 3 2 1 0 9 8 | 7 6 5 4 3 2 1 0 |
0 datum 3 datum 2 datum 1 datum 0 |4 datum 7 datum 6 datum 5 datum 4 |
10-bit component(s):bytes: bits:
| 3 3 2 2 2 2 2 2 | 2 2 2 2 1 1 1 1 | 1 1 1 1 1 1 0 0 | 0 0 0 0 0 0 0 0 || 1 0 9 8 7 6 5 4 | 3 2 1 0 9 8 7 6 | 5 4 3 2 1 0 9 8 | 7 6 5 4 3 2 1 0 |
0 | d3 | datum 2 | datum 1 | datum 0 |4 | d6 | datum 5 | datum 4 | datum 3 |8 | d9 | datum 8 | datum 7 | datum 6 |12 | ...
10-bit component(s) filled to 32-bit word boundaries:bytes: bits:
| 3 3 2 2 2 2 2 2 | 2 2 2 2 1 1 1 1 | 1 1 1 1 1 1 0 0 | 0 0 0 0 0 0 0 0 || 1 0 9 8 7 6 5 4 | 3 2 1 0 9 8 7 6 | 5 4 3 2 1 0 9 8 | 7 6 5 4 3 2 1 0 |
0 | 0 0| datum 2 | datum 1 | datum 0 |4 | 0 0| datum 5 | datum 4 | datum 3 |
|12-bit component(s):bytes: bits:
| 3 3 2 2 2 2 2 2 | 2 2 2 2 1 1 1 1 | 1 1 1 1 1 1 0 0 | 0 0 0 0 0 0 0 0 || 1 0 9 8 7 6 5 4 | 3 2 1 0 9 8 7 6 | 5 4 3 2 1 0 9 8 | 7 6 5 4 3 2 1 0 |
0 | datum 2 | datum 1 | datum 0 |4 | d5 | datum 4 | datum 3 | d2 |8 | datum 7 | datum 6 | datum 5 |
12-bit component(s) filled to 16-bit word boundaries:bytes: bits:
| 3 3 2 2 2 2 2 2 | 2 2 2 2 1 1 1 1 | 1 1 1 1 1 1 0 0 | 0 0 0 0 0 0 0 0 || 1 0 9 8 7 6 5 4 | 3 2 1 0 9 8 7 6 | 5 4 3 2 1 0 9 8 | 7 6 5 4 3 2 1 0 |
0 | 0 0 0 0 | datum 1 | 0 0 0 0 | datum 0 |4 | 0 0 0 0 | datum 3 | 0 0 0 0 | datum 2 |
NOTE -- This does not follow the precedent of the 10-bit filled case, but this form can be handled efficiently bymost machines as an array of short words. It costs nothing, as the same number of bits/word are wasted.
sIt�u/v w u/xIy�z�{C|�}�~�x����������
y��������� �����������������
The reason that most file formats (including SMPTE DPX)do not dictate a particular byte order is that it unfairly bur-dens one-half of the computers in use. These computers,
even when communicating between themselves exclusively,would have to convert all of the multibyte words when cre-ating a file and convert them back when reading a file.
�.�/�0�&���(informative)�!���5�!���0�&�!�&�+�/���/� ���/�%���
�b ¡£¢�¤�¥�¦�§ �̈©
This diagram illustrates the packing of 8-, 10-, 12-, and16-bit components into 32-bit words, using the most-signifi-cant-byte-first convention.
�b ª¬« �®�¯�°±³²Q´��±µ®+°µ¥�°b¨Q´�®�¶%²�¥�®®+¤�·�¸
For the nonfilled formats, the zero datum (component) isplaced in the least significant n bits of the first 32-bit word.The next datum is placed in the next most significant n bits.
When a datum no longer fits in the remaining bits of a 32-bitword, it is broken, with as many least significant bits as willfit placed in the first 32-bit word, and the remaining bitsplaced in the low-order bits of the next 32-bit word.
Any bits in the last word of a scan line left over will be filledwith zeroes. That is to say that the packing is broken onscan-line boundaries.
�.�/�0�&�º¹ (informative)�»�+¼/½+� ¾(�#�%���/¿0À
ANSI/SMPTE 96-1992, Television ---- 35- and 16-mm Mo-tion-Picture Film and 2x2-in Slides ---- Scanned Area andPhotographic Image Area for 4:3 Aspect Ratio
SMPTE 170M, Television ---- Composite Analog Video Sig-nal ---- NTSC for Studio Applications
CCIR Report 624-4 (MOD F), Characteristics of TelevisionSystems
Tag Image File Format Specification, Revision 5.0, copy-right 1987, 1988, Aldus Corporation
16-bit component(s):bytes: bits:
| 3 3 2 2 2 2 2 2 | 2 2 2 2 1 1 1 1 | 1 1 1 1 1 1 0 0 | 0 0 0 0 0 0 0 0 || 1 0 9 8 7 6 5 4 | 3 2 1 0 9 8 7 6 | 5 4 3 2 1 0 9 8 | 7 6 5 4 3 2 1 0 |
0 | datum 1 | datum 0 |4 | datum 3 | datum 2 |
ÁLÂ[Ã/Ä Å Ã/«I¢�ÆbÇIª�È�É�« Êh¡�Ë�Ë�Ì
¢�¤�©�¡nÌI°Íb¡�Ì�Î�¤�©��´