1、 Copyright 2014 by THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 3 Barker Avenue, White Plains, NY 10601 (914) 761-1100 Approved August 16, 2014 re ARRIRAW Image File Structure and Interpretation Supporting Deferred Demosaicing to a Logarithmic Encoding The attached document is a Registered
2、 Disclosure Document prepared by the proponent identified below. It has been examined by the appropriate SMPTE Technology Committee and is believed to contain adequate information to satisfy the objectives defined in the Scope, and to be technically consistent. This document is NOT a Standard, Recom
3、mended Practice or Engineering Guideline, and does NOT imply a finding or representation of the Society. Errors in this document should be reported to the proponent identified below, with a copy to engsmpte.org. This document is intended to support the development of applications that read and proce
4、ss ARRIRAW image files. It is not intended to support the development of hardware or software applications that create ARRIRAW image files, and creation of such files is reserved to individuals and organizations that have entered into agreements with the proponent identified below for such file crea
5、tion. All inquiries in respect of this document (other than reporting of errors in the document, which should be handled as described in the prior paragraph), including inquiries as to intellectual property requirements that may be attached to use of the disclosed technology, should be addressed to
6、the proponent identified below. Proponent contact information: Joseph Goldstone Arnold value is 0x49525241. Ordered from least to most significant byte within this 32-bit unsigned integer, these bytes have UTF-8 character interpretations A, R, R and I. 4 U32 1 Byte Order Verifies little-endianness o
7、f header; value is 0x78563412. 8 U32 1 Header Size Length of aggregate header; value is 4096. 12 U32 1 Header Version Version of aggregate header; value is 3. 6.1.2 Image Data Information Subheader Structure The Image Data Information Subheader Structure is 68 bytes long, with 60 bytes currently bei
8、ng defined as detailed in this section. Offset Data Type Count Name Content 0 U32 1 Subheader Defined Content Length Length of the defined content of this subheader in bytes, including this length field. 4 U32 1 Width Total horizontal pixel count of the stored photosite data 8 U32 1 Height Total ver
9、tical pixel count of the stored photosite data. 12 U32 1 Subheader Version Indicator of version of Image Data Information subheader; value is 1. 16 U32 1 Data Space Indicator of encoding function used to store 16-bit photosite data as 12-bit raw Bayer pattern data in image area; value is 1 for data
10、encoded as described in Section 6.2.2. 20 SA 1 Active Image Area Rectangle defined on stored photosite data, representing the area that, after RGB reconstructions, is passed to downstream processing. Any image resizing requested by downstream consumers is done solely using the reconstructed RGB pixe
11、ls indicated by this Active Image Area. 36 SA 1 Full Image Area Rectangle defined on stored photosite data, representing the union of the area that is passed downstream (the Active Image Area) and any extra photosite data that might be useful in reconstructing RGB pixels within the Active Image Area
12、. Photosites that are within the rectangle defined by the Width and Height fields but which are outside the Full Image Area are not supported by any in-camera dead pixel correction. The Full Image Area is always a proper superset of the Active Image Area. 52 U32 1 Image Data Offset Offset from start
13、 of file to stored photosite data. 56 U32 1 Image Data Size Size in bytes of stored photosite data. 60 U32 2 Reserved Reserved for future use. SMPTE RDD 30:2014 Page 8 of 25 pages There are two ways in which a photosites value might be used. Firstly, the photosites value might be used to create a pi
14、xel that is accessible by downstream image consumers. Secondly, the photosites value might be used to create a pixel that is accessible by downstream image consumers, but the pixel that is in register with the photosite might not itself be so accessible. An example would be a photosite inside the Fu
15、ll Image Area, outside the Active Image Area, but close enough to the Active Image Area so that it contributed to the RGB reconstruction of a pixel within the Active Image Area. 6.1.2.1 Sensor Area (SA) Subsubheader Structure The two structure elements Active Image Area and Full Image Area above are
16、 subsubheader structures representing sensor area; their data type is shown as SA. The content of sensor area subsubheader structures is as indicated below. 6.1.3 Image Content Information Subheader Structure The Image Content Information Subheader Structure is 268 bytes long, with 224 bytes current
17、ly being defined as detailed in this section. Without loss of generality, the Image Content Information Subheader Structure is intended to support a processing algorithm containing the following steps, from image acquisition to image display: Linearization of the logarithmically-encoded photosite da
18、ta. CCT- and tint-specific white balance factor application to photosite data, with different factors being applied to red, green and blue photosite data. Demosaicing of white-balanced photosite data to produce reconstructed sensor RGB values. Conversion of sensor RGB values to an alternative RGB re
19、presentation with defined primaries and white point, those primaries encompassing significantly more of the CIE uv chromaticity diagram at typical luminances than would the primaries associated with an ITU-R BT.709 or DCI-P3 encoding (a wide-gamut RGB encoding). Logarithmic encoding of the wide-gamu
20、t RGB data in an exposure-index-dependent manner. Optional offsetting of the logarithmically encoded wide-gamut RGB data. Offset Data Type Count Name Content 0 U32 1 Left 0-based coordinate, in stored photosite data array, designating the first column index into that data array that can be used to a
21、ccess a photosite within the desired rectangular area of sensor data. The range of valid column indices is Left, Left + Width). 4 U32 1 Top 0-based coordinate, in stored photosite data array, designating the first row index into that data array that can be used to access a photosite within the desir
22、ed rectangular area of sensor data. The range of valid row indices is Top, Top + Height). 8 U32 1 Width Width, in photosites, of a rectangular area defined on the stored photosite data array. 12 U32 1 Height Height, in photosites, of a rectangular area defined on the stored photosite data array. SMP
23、TE RDD 30:2014 Page 9 of 25 pages Application of a 1D LUT to implement a tonemapping operator, either using a default tonemapping 1D LUT provided by the processing model or an optional user-provided tonemapping 1D LUT. Conversion of the tonemapped RGB data for display using a different set of RGB pr
24、imaries (and possibly white point) using a 3x3 matrix, with provision for optional adjustment of saturation as part of the conversion. Application of a 1D LUT to compensate for the presumed gamma of the viewing display. Optional application of ASC CDL slope, offset and power operations, in that orde
25、r, to the display-ready data. In the remainder of this document this will be referred to as the nominal processing algorithm. The presence of fields in this subheader that record parameter values that could be used in the nominal processing algorithm described above does not preclude the effective u
26、se of the image data in other processing algorithms. A consumer of the image data could, for example, ignore all of the fields in this subheader and process the photosite data from start to finish in an ACES workflow if they so chose. Offset Data Type Count Name Content 0 U32 1 Subheader Defined Con
27、tent Length Length of the defined content of this subheader in bytes, including this length field. 4 U32 1 Color Processing Version Version number of color processing algorithm intended to be applied to image data, with value 4 for all images whose layout and semantics are as described by this docum
28、ent and with value less than 4 for prior versions not described in this document. 8 U32 1 White Balance CCT Correlated color temperature selected on camera at time of image capture, in degrees Kelvin of a blackbody radiator or CIE daylight simulator assumed to be the illuminant, for the purposes of
29、white balance factor and color matrix calculations. 12 R32 1 Green/Magenta Tint Tint factor expressing deviation from blackbody radiator or CIE daylight simulator loci, as selected on camera at time of image capture. Values range from -12.0 to +12.0. The units of green/magenta tint do not correspond
30、 to any SI standard. A unit increment of green/magenta tint, however, is approximately equivalent to the color shift produced by a Rosco 1/8 green filter, or by a Kodak CC035 green or magenta filter. 16 R32 1 White Balance Red Factor Factor by which red photosite data are multiplied prior to applica
31、tion of demosaicing algorithm. 20 R32 1 White Balance Green Factor Factor by which green photosite data are multiplied prior to application of demosaicing algorithm. The value of this field is always 1.0. 24 R32 1 White Balance Blue Factor Factor by which blue photosite data are multiplied prior to
32、application of demosaicing algorithm. SMPTE RDD 30:2014 Page 10 of 25 pages Offset Data Type Count Name Content 28 U32 1 White Balance Baking Indicator that stored image photosite data values have been multiplied by the white balance factors prior to storage in the image data area. Value Interpretat
33、ion 0 indicates that no such multiplication has yet been done to the image data. 1 indicates that the image data have been so multiplied. The value of this field is 0 for all images whose layout and semantics are as described by this document. 32 U32 1 Exposure Index Effective exposure index selecte
34、d on camera at time of image data capture. 36 U32 1 Black Level In prior versions of this header, code value corresponding to black level. Obsolete and unset. 40 U32 1 White Level In prior versions of this header, code value corresponding to white level. Obsolete and unset. 44 R32 12 Color Matrix 3
35、x 4 matrix by which, in the nominal processing algorithm, RGB values resulting from demosaicing are multiplied. The matrix is applied to the left of a 4-element column vector whose values are the red, green and blue results of the demosaicing algorithm along with a unity value placed in the bottom r
36、ow of the column vector. The contents of the 3 rows are stored in top-to-bottom order, with the contents of each row stored in left-to-right order; the last column of the matrix represents an offset. 92 R32 1 Color Matrix Desaturation Gain Gain value of the color matrix desaturation range. Obsolete.
37、 96 R32 1 Color Matrix Desaturation Offset Offset value of the color matrix desaturation range. Obsolete. 100 U32 1 Highlight Desaturation Indicator of an obsolete form of highlight desaturation processing not described in this document. 104 U32 1 Target Color Space Indicator of the color space into
38、 which, by default, this image data will be transformed when the nominal processing algorithm is used. Value Interpretation 0 indicates an output-referred color space with the same primary chromaticity coordinates and white point as ITU-R BT.709 and a presumed display device EOTF matching that descr
39、ibed in ITU-R BT.1886. 1 indicates an output-referred color space with the same primary chromaticity coordinates and white point as that specified by SMPTE RP 431-2. 2 indicates the wide-gamut color space produced after the CCT-dependent matrix multiplication and subsequent logarithmic encoding. 3 i
40、ndicates the reconstructed camera RGB values prior to the application of the CCT-dependent matrix but subsequently processed by the usual post-matrix logarithmic encoder. 4 indicates a color space approximating the printing densities that would be produced by optimally capturing the scene on OCN sto
41、ck, optimally processing that material and optimally scanning the resulting OCN on an ARRISCAN scanner. SMPTE RDD 30:2014 Page 11 of 25 pages Offset Data Type Count Name Content 108 U32 1 Sharpness Indicator of the amount of sharpening to be applied to the image data in the nominal processing algori
42、thm. The value is between 0 and 300 inclusive. There is neither a metric for sharpening strength nor any guarantee of perceptual linearity in perceived sharpness across the value range. The strength of sharpening between 0 and 300 does, however, increase monotonically. Value Interpretation 0 indicat
43、es no sharpening. 100 the default level of sharpening. 300 maximal sharpening. 112 R32 1 Pixel Aspect Ratio Factor by which reconstructed pixel data need to be stretched horizontally to compensate for anamorphic distortion and restore, within the limitations of the design of the anamorphic lens, a r
44、ectilinear relationship between objects in the scene and the image of the scene in reconstructed RGB pixels. 116 U32 1 Flip or Flop Indicator of any top-to-bottom reversals (flips) or left-to-right reversals (flops) that are performed on image data for evaluative viewing. Value Interpretation 0 indi
45、cates no flipping or flopping is desired. 1 indicates any displayed image are flopped (horizontally reversed relative to original scene). 2 indicates any displayed image are flipped (vertically reversed relative to original scene). 3 indicates any displayed image are rotated 180 (that is, vertically
46、 and horizontally reversed relative to original scene). 120 NFSTS 32 Look File Name Name of the Look File. When the nominal processing algorithm is used, if the Look File Name is set to None, then processing is performed as if any Look File field was set to its default value, regardless of the actua
47、l value stored in that position in the image header. 152 U32 1 Look File Curve Type Indicator as to presence or absence of user-supplied Look File Curve. Value Interpretation 0 indicates no Look File Curve present. 1 indicates Look File Curve is present. 156 U32 1 Look File Curve Offset Offset from
48、start of file to Look File Curve data. 160 U32 1 Look File Curve Size Size, in bytes, of Look File Curve data. 164 U32 1 Look File Curve CRC In prior versions of this header, code value corresponding to checksum of look file curve. Obsolete and unset. SMPTE RDD 30:2014 Page 12 of 25 pages Offset Dat
49、a Type Count Name Content 168 R32 1 Saturation Factor by which the saturation of the image is altered in its conversion to the target color space, when the nominal color processing algorithm is used. The factor indicates a linear interpolation of matrix coefficients, between a black-and-white conversion matrix on the one hand and the normal target color space conversion matrix on the other. Value Interpretation 2.0 not allowed. Values between 0.0 and 1.0 linearly interpolate matrix coefficients between that of a completely desaturating m