Recent from talks
Nothing was collected or created yet.
Digital Picture Exchange
View on Wikipedia| Digital Picture Exchange | |
|---|---|
| Filename extension | .dpx |
| Internet media type | image/dpx |
| Developed by | SMPTE |
| Initial release | 1.0 / 18 February 1994 |
| Latest release | 2.0HDR 2018 |
| Type of format | Image file formats |
| Extended from | Cineon |
| Standard | ST 268-1:2014,[1] ST 268-2:2018[2] |
| Open format? | non-free SMPTE standard, USD 175 |
| Website | www |
Digital Picture Exchange (DPX) is a common file format for digital intermediate and visual effects work and is a SMPTE standard (ST 268-1:2014). The file format is most commonly used to represent the density of each colour channel of a scanned negative film in an uncompressed "logarithmic" image where the gamma of the original camera negative is preserved as taken by a film scanner. For this reason, DPX is the worldwide-chosen format for still frames storage in most digital intermediate post-production facilities and film labs. Other common video formats are supported as well (see below), from video to purely digital ones, making DPX a file format suitable for almost any raster digital imaging applications. DPX provides, in fact, a great deal of flexibility in storing colour information, colour spaces and colour planes for exchange between production facilities. Multiple forms of packing and alignment are possible. The DPX specification allows for a wide variety of metadata to further clarify information stored (and storable) within each file.
The DPX file format was originally derived from the Kodak Cineon open file format (.cin file extension) used for digital images generated by Kodak's original film scanner. The original DPX (version 1.0) specifications are part of SMPTE 268M-1994.[3] The specification was later improved and published by SMPTE as ANSI/SMPTE 268M-2003. Academy Density Exchange (ADX) support for the Academy Color Encoding System are added in the current version of the standard SMPTE ST 268-1:2014. Extensions for high-dynamic-range video and wide color gamut are standardized in SMPTE ST 268-2:2018.
Metadata and standard flexibility
[edit]SMPTE specifications dictate a mild number of compulsory metadata, like image resolution, color space details (channel depth, colorimetric metric, etc.), number of planes/subimages, as well as original filename and creation date/time, creator's name, project name, copyright information, and so on.
Furthermore, a couple of industry-specific metadata areas are present: Motion-Picture and Television ones. They are either used only if the picture has enough embedded information relevant to that specific industry, otherwise are left "empty". For example, Motion-Picture-specific metadata includes perforation-exact film KeyKode (if the image comes from a film scan), camera shutter angle, slate information and frame positioning within a frame sequence. On the other side, Television metadata includes full SMPTE time code, video overscan and field information, and signal/colour level information.
A third, variable-size metadata area, which is user-definable, exists. Third-party applications/software occasionally use this area to store additional information; for example, when the DPX stores images with technical specifications far away from the original standard (like pictures coded in the CIE XYZ color space, or Bayer-patterned raw frames from specific digital cameras like the Arriflex D-21).
SMPTE ST 268-2:2018 defines a standards-based metadata section that supports Extensible Metadata Platform, XML, and KLV metadata representations.
Support
[edit]XnView can read FFmpeg pix_fmt=abgr DPX images. ImageMagick supports DPX.[4] The C++ source of a DPX library is available.[5] DjV,[6] and vooya[7] support DPX sequences. IrfanView also has support for DPX images through a plugin. [8]
Lasergraphics motion picture film scanning systems include support for output to DPX color/B&W 10/16-bit (conforms to SMPTE 268M for compatibility with graphics, compositing, and other post production systems).
See also
[edit]References
[edit]- ^ ST 268-1:2014 - SMPTE Standard - File Format for Digital Moving-Picture Exchange (DPX). SMPTE. doi:10.5594/SMPTE.ST268-1.2014. ISBN 978-1-68303-083-6.
- ^ ST 268-2:2018 - SMPTE Standard - Digital Moving-Picture Exchange (DPX) – Format Extensions for High Dynamic Range and Wide Color Gamut. SMPTE. doi:10.5594/SMPTE.ST268-2.2018. ISBN 978-1-68303-161-1. S2CID 252588275.
- ^ "Cineon Image File Format Draft". Cineon. Archived from the original on 2013-05-29. Retrieved 2014-03-01.
- ^ "ImageMagick Motion Picture Formats". ImageMagick. Archived from the original on 2007-06-26. Retrieved 2014-03-01.
- ^ Palmer, Patrick (2021-04-22), PatrickPalmer/dpx, retrieved 2021-05-19
- ^ "DJV". darbyjohnston.github.io. Archived from the original on 2021-06-07. Retrieved 2021-05-19.
- ^ "vooya YUV/RGB player". Off Minor. Archived from the original on 2013-06-03. Retrieved 2021-05-19.
- ^ Skiljan, Irfan. "IrfanView PlugIns". www.irfanview.com. Archived from the original on 10 January 2021. Retrieved 27 February 2023.
Digital Picture Exchange
View on GrokipediaIntroduction and History
Origins and Development
The Digital Picture Exchange (DPX) format was developed by Kodak in the early 1990s as an extension of their earlier Cineon system, which had been introduced in 1992 as a comprehensive digital film scanning and recording suite for post-production workflows.[3][1] Designed to address limitations in proprietary digital image handling, DPX emerged as a more versatile, open raster-based format derived from the Cineon (.CIN) structure, enabling broader interoperability across film industry tools and facilities.[3][4] The primary motivation behind DPX was to facilitate the lossless exchange of high-resolution scanned film frames, supporting the growing demands of digital intermediate processes in post-production, such as scanning 35mm film negatives into digital form for manipulation without quality degradation.[3][1] This was particularly driven by the needs of Hollywood filmmakers for advanced digital color grading, visual effects integration, and film restoration, as exemplified by early applications like the digital cleanup of Walt Disney's Snow White and the Seven Dwarfs (1937) using related Cineon technology.[3] Initial specifications for DPX began to take shape around 1994, reflecting the industry's shift toward digital workflows that could handle the substantial data volumes—up to 40 MB per 35mm frame—required for theatrical-quality imaging.[4][3] A key aspect of Kodak's release of DPX was its support for 10-bit logarithmic encoding, which accurately matched the density range of photographic film, allowing precise representation of tonal values from scanned negatives in a manner compatible with traditional film printing densities.[5][3] This encoding preserved the full dynamic range of original footage during digital transfers between telecine machines, workstations, and effects facilities, laying the groundwork for standardized adoption through organizations like SMPTE.[1]Standardization Process
The standardization of the Digital Picture Exchange (DPX) format was formalized by the Society of Motion Picture and Television Engineers (SMPTE) to ensure interoperability across digital imaging systems in the film industry. In 1994, SMPTE published the initial specification as ANSI/SMPTE 268M-1994, establishing Version 1.0 of the DPX standard, which defined the core file structure for exchanging high-resolution motion picture frames on various media.[1] This open standard was developed to promote seamless data transfer between computer-based systems, addressing the need for a vendor-neutral format in post-production workflows.[2] Building on foundational work by Kodak, SMPTE's Version 1.0 provided a robust baseline for 8- and 10-bit logarithmic and linear image data, with fixed header layouts to facilitate consistent parsing.[6] The standard's design emphasized exchange efficiency without specifying input/output device characteristics, allowing broad adoption while maintaining flexibility for evolving hardware.[2] In 2003, SMPTE revised the specification as SMPTE 268M-2003, introducing Version 2.0 to resolve implementation ambiguities and accommodate technological advancements.[1] This update maintained backward compatibility with Version 1.0 files through optional padding methods and expanded support for wider data ranges, including 1- to 16-bit integer formats and 32- or 64-bit IEEE floating-point options, enabling higher precision for visual effects and color grading.[2] Additionally, Version 2.0 incorporated industry-specific header enhancements, such as fields for orientation and scanning details, to better serve motion picture applications while reorganizing the document for improved clarity.[2] Subsequent updates further refined the standard. Amendment 1 to Version 2.0, published in 2012, added support for Academy Density Exchange Encoding (ADX), enhancing compatibility with the Academy Color Encoding System (ACES) for precise film density representation.[1] In 2014, SMPTE ST 268:2014 revised the core specification to correct significant errors identified in the 2003 version while preserving backward compatibility.[7] More recently, in 2023, SMPTE ST 268-2:2023 introduced extensions for high dynamic range (HDR) and wide color gamut (WCG) imaging, supporting advanced workflows in digital cinema and visual effects as of 2025.[8] These developments have solidified DPX as a versatile, enduring standard for digital image exchange.[6]Technical Specifications
File Structure Overview
The DPX file format employs a binary structure comprising a fixed 2,048-byte header section, followed by optional variable-length user-defined data (up to 1 MB) and the variable-length image data section. This layout ensures efficient storage and access for high-resolution raster images used in digital cinema workflows.[2][9] Each DPX file is dedicated to representing a single raster image frame, with no inherent support for sequence management or multi-frame encapsulation, requiring external tools for handling series of frames. The format accommodates 1 to 8 image elements per frame, such as RGB channels or logarithmic data, to support diverse color spaces and bit depths.[1][2] DPX supports both big-endian (default) and little-endian byte orders, determined by the magic number at file offset 0—"SDPX" (ASCII) for big-endian or "XPDS" for little-endian—allowing compatibility across hardware architectures. Offset pointers embedded in the header, such as the image data offset and per-element data offsets, facilitate precise navigation to the image elements without parsing the entire file. Metadata elements, including dimensions and color metrics, are stored within the header sections to describe the image content.[2][10] The total file size in bytes is computed as the sum of the fixed header size, any user-defined data length, and the image data size; the latter is derived from the image width in pixels, height in lines, number of elements, and bytes per element (e.g., 10 bits per component typically packed into 16-bit words with padding). This calculation ensures the file integrity field in the header matches the actual byte length for validation during read operations.[2][9]Header Components
The DPX file format organizes its header information into a series of fixed-length blocks totaling 2,048 bytes, which provide essential structural and descriptive data for the image file. These headers ensure interoperability by using a consistent layout, with fields defined at specific byte offsets to facilitate parsing. All headers employ NULL-terminated ASCII strings for identifiers, version numbers, and offset values, which helps prevent errors when handling variable-length data in subsequent sections.[2] The Generic File Information Header, occupying the first 768 bytes (offsets 0–767), serves as the foundational component, containing core file-level metadata such as the magic number ("SDPX" in ASCII at offset 0), version identifier ("V2.0" at offset 8), offset to the image data section (at offset 4), and total file size (at offset 16). It also includes creation date and time in ISO 8601 format (at offset 136), as well as the creator's name and copyright information, all stored as fixed-width ASCII fields to maintain parseability. This header's fixed structure ensures that essential file attributes are immediately accessible without variable parsing.[2][1] Following this, the Image Information Header spans 640 bytes (offsets 768–1,407) and details the image's structural properties, including orientation (a 2-byte code at offset 768 indicating left-to-right/top-to-bottom scanning), pixels per line (4 bytes at offset 770), and lines per element (4 bytes at offset 774). It further describes up to eight image elements, each with a 72-byte structure covering descriptors (e.g., RGB or luminance), bit depth, packing method (e.g., planar or interleaved, at offset 804 per element), and data offsets, enabling precise interpretation of the image layout. White point chromaticity and gamma encoding are also specified here in floating-point fields, providing colorimetric context without delving into pixel values.[2] The Image Source Information Header, fixed at 256 bytes (offsets 1,408–1,663), captures details about the original capture medium, such as X and Y offsets for the source image bounds (at offsets 1,408 and 1,412), film manufacturer ID and type (ASCII at offset 1,432), frame ID (at offset 1,532), and slate information (100-byte ASCII at offset 1,564). This header supports traceability in production workflows by including specifics like the source filename and scanned dimensions, using ASCII for textual identifiers to align with industry logging practices.[2] Industry-specific headers extend this with targeted data: the Film Information Header (256 bytes, offsets 1,664–1,919) addresses motion picture details, including edge code (ASCII at offset 1,696 for film identification), frame position in sequence (at offset 1,712), shutter angle (floating-point at offset 1,728), and prefix/suffix offsets for keykode tracking. The Television Information Header (128 bytes, offsets 1,920–2,047) handles video-specific elements like SMPTE timecode (at offset 1,920), field number, and horizontal/vertical sampling rates, ensuring compatibility with broadcast standards. These headers maintain fixed layouts with ASCII strings for codes and labels, such as film format identifiers, to avoid ambiguity in variable production environments. The Orientation Header is integrated into the Image Information Header, specifying pixel packing (e.g., user-defined bits for planar vs. interleaved arrangements) to guide data unpacking.[2][1]| Header Name | Byte Size | Offset Range | Primary Purpose |
|---|---|---|---|
| Generic File Information | 768 | 0–767 | File metadata (version, offsets, timestamps) |
| Image Information | 640 | 768–1,407 | Image structure (orientation, dimensions, elements) |
| Image Source Information | 256 | 1,408–1,663 | Source capture details (film type, frame ID) |
| Film Information | 256 | 1,664–1,919 | Motion picture specifics (edge code, shutter angle) |
| Television Information | 128 | 1,920–2,047 | Video timing and sampling (timecode, rates) |
