Digital Cinema Package
A Digital Cinema Package (DCP) is a collection of digital files used to store and convey Digital cinema (DC) audio, image, and data streams.
The term has been defined[1] by Digital Cinema Initiatives, LLC in their recommendations for packaging of DC contents. General practice adopts a file structure that is organized into a number of usually multi-gigabyte size Material eXchange Format (MXF) files, which are separately used to store audio and video streams, and auxiliary index files in XML format.
The MXF files contain streams that are compressed, encoded, and encrypted, in order to reduce the huge amount of required storage and to protect from unauthorized use. The image part is JPEG 2000 compressed, whereas the audio part is linear PCM. The adopted (optional) encryption standard is AES 128 bit in CBC mode.
The newer SMPTE standards are used to conform the recommendations among different tool vendors and producers. Interop, the legacy DCP standard, is still required to be supported by DCP players.[2][3]
Contents |
[edit] Technical specifications
The DCP root folder (in the storage medium) contains a number of files, some used to store the image and audio contents, and some other used to organize and manage the whole playlist.[4]
[edit] Picture MXF files
Picture contents may be stored in one or more reels corresponding to one or more MXF files. Each reel contains pictures as MPEG-2 or JPEG 2000 essence, depending on the adopted codec. MPEG-2 is no longer compliant with the DCI specification. JPEG 2000 is the only accepted compression format.
- Supported frame rates are:
- SMPTE (JPEG 2000)
- 24, 25, 30, 48, 50, and 60 fps @ 2K
- 24, 25, and 30 fps @ 4K
- 24 and 48 fps @ 2K stereoscopic
- MXF Interop (JPEG 2000) – Deprecated
- 24 and 48 fps @ 2K (MXF Interop can be encoded at 25 frame/s but support is not guaranteed)
- 24 fps @ 4K
- 24 fps @ 2K stereoscopic
- MXF Interop (MPEG-2) – Deprecated
- 23.976 and 24 fps @ 1920×1080
- SMPTE (JPEG 2000)
- Maximum frame sizes are 2048×1080 for 2K DC, and 4096×2160 for 4K DC. Common formats are:
- SMPTE (JPEG 2000)
- Flat (1998×1080 or 3996×2160), ~1.85:1 aspect ratio
- Scope (2048×858 or 4096×1716), ~2.39:1 aspect ratio
- HDTV (1920×1080 or 3840×2160), 16:9 aspect ratio (although not specifically defined in the DCI specification, this resolution is DCI compliant per section 3.2.1.2).
- Full (2048×1080 or 4096×2160) (Official name by DCI is Full Container)
- MXF Interop (MPEG-2) – Deprecated
- Full Frame (1920×1080)
- SMPTE (JPEG 2000)
- 12 bits per pixel precision (36 bits total)
- XYZ colorspace
- Maximum bit rate is 250 Mbit/s (1.3 MBytes per frame at 24 frame/s)
[edit] Sound MXF files
Sound contents are stored in reels, too, corresponding to picture reels in number and duration. In case of multilingual features, separate reels are required to convey different languages. Each file contains linear PCM essence.
- Sampling rate is 48,000 or 96,000 samples per second
- Sample precision of 24 bits
- Linear mapping (no companding)
- Up to 12 independent channels.
- WAV container
[edit] Asset map file
List of all files included in the DCP, in XML format.
[edit] Composition playlist file
Defines the playback order during presentation. The order is saved in XML format in this file; each picture and sound reel is identified by its UUID. In the following example, a reel is composed by picture and sound:
<Reel>
<Id>urn:uuid:632437bc-73f9-49ca-b687-fdb3f98f430c</Id>
<AssetList>
<MainPicture>
<Id>urn:uuid:46afe8a3-50be-4986-b9c8-34f4ba69572f</Id>
<EditRate>24 1</EditRate>
<IntrinsicDuration>340</IntrinsicDuration>
<EntryPoint>0</EntryPoint>
<Duration>340</Duration>
<FrameRate>24 1</FrameRate>
<ScreenAspectRatio>2048 858</ScreenAspectRatio>
</MainPicture>
<MainSound>
<Id>urn:uuid:1fce0915-f8c7-48a7-b023-36e204a66ed1</Id>
<EditRate>24 1</EditRate>
<IntrinsicDuration>340</IntrinsicDuration>
<EntryPoint>0</EntryPoint>
<Duration>340</Duration>
</MainSound>
</AssetList>
</Reel>
[edit] Packing list file
All files in the composition are hashed and their hash is stored here, in XML format. This file is generally used during ingestion in a digital cinema server to verify if data have been corrupted or tampered with in some way. For example, an MXF picture reel is identified by the following <asset> element:
<Asset>
<Id>urn:uuid:46afe8a3-50be-4986-b9c8-34f4ba69572f</Id>
<Hash>iqZ3X7TdAjAqniOxT2/hj66VCUU=</Hash>
<Size>210598692</Size>
<Type>application/x-smpte-mxf;asdcpKind=Picture</Type>
</Asset>
The hash value is the Base64 encoding of the SHA-1 checksum. It can be calculated with the command
openssl sha1 -binary "FILE_NAME" | openssl base64
[edit] Volume index file
A single DCP may be stored in more than one medium (e.g., multiple hard disks). The xml file VOLINDEX is used to identify the volume order in the series.
[edit] 3D DCP
The DCP format is also used to store stereoscopic (3D) contents. In this case, 48 frames per second are used, with frames alternating for left eye and right eye pictures. Since the maximum bit rate is always 250 Mbit/s, this results in a net 125 Mbit/s for single frame, but the visual quality decrease is generally unnoticeable.
[edit] DCP creation
Most film producers and distributors rely on digital cinema encoding facilities to produce and quality control check a digital cinema package before release. Facilities follow strict guidelines set out in the DCI recommendations to ensure compatibility with all digital cinema equipment. For bigger studio release films, the facility will usually create a DCDM (Digital Cinema Distribution Master).
A DCDM is the post-production step prior to a DCP. The frames are in XYZ TIFF format and both sound and picture are not yet wrapped into MXF files. A DCP can be encoded directly from a DCDM. A DCDM is useful for archiving purposes and also facilities can share them for international re-versioning purposes. They can easily be turned into alternative version DCPs for foreign territories. For smaller release films, the facility will usually skip the creation of a DCDM and instead encode directly from the DSM (Digital Source Master) the original film supplied to the encoding facility. A DSM can be supplied in a multitude of formats and colour spaces. For this reason, the encoding facility needs to have extensive knowledge in colour space handling including, on occasion, the use of 3D LUTs to carefully match the look of the finished DCP to a celluloid film print. This can be a highly involved process in which the DCP and the film print are "butterflied" (shown side by side) in a highly calibrated cinema.
Less demanding DCPs are encoded from tape formats such as HDCAM SR. Quality control checks are always performed in calibrated cinemas and carefully checked for errors. QC checks are often attended by colourists, directors, sound mixers and other personnel to check for correct picture and sound reproduction in the finished DCP.
[edit] DCP encryption
The AES encryption is applied to all MXF files. The encryption keys are generated and transmitted via a KDM (Key Delivery Message) to the projection site. KDMs are XML files that can be opened only by the destination device. A KDM is associated to each playlist and defines the start and stop times of validity for the projection of that particular feature.
[edit] DCP delivery methods
The most common method uses a specialist hard disk (most commonly the CRU DX115) designed specifically for digital cinema servers to ingest from. These hard drives were originally designed for military use but have since been adopted by digital cinema for their hard wearing and reliable characteristics. The hard drives are usually formatted in the Linux EXT2 or EXT3 format. Usually the iNode is set to 128 bits to avoid compatibility issues with some servers. Also, NTFS and FAT32 are occasionally used but they are generally not considered flexible enough since some Linux based digital cinema servers (such as those made by Dolby and Sony) are unable to read these formats. Hard drive units are normally hired from a digital cinema encoding company, sometimes in quantities of thousands. Drives are commonly shipped in protective hard cases. The drives are delivered via express courier to the exhibition site. Other, less common methods adopt a full digital delivery, using either dedicated satellite links or high speed Internet connections.
[edit] DCP creation tools
| Name | GUI | CLI | JPEG 2000 | XYZ | MXF | XML | Frame size | 3D | Frame rate (frame/s) | Sampling rate (kHz) | Multi-threaded | Input formats | Notes | OS | License |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2DCP_GUI | Yes | Yes | Yes | Yes | Yes | Yes | 2K, 4K | Yes | 24, 48 | 48, 96 | Yes | Multiple | Picture scaling | Windows | Freeware |
| CineCert AS-DCP File Access Library | No | Yes | No | No | Yes | No | 2K, 4K | Yes | 24, 25, 30, 48, 50, 60 | 48, 96 | Yes[5] | J2K, WAV, XML | Needs separate codec | Windows, Mac OS X, Linux | BSD-like |
| Doremi CineAsset | Yes | No | Yes | Yes | Yes | Yes | 2K, 4K | Yes | 24, 48 | 48 | Multiple video formats,[6] TIFF, DPX, and others | Windows, Mac OS X | Commercial license | ||
| Cinemaslides | No | Yes | Yes[7] | Yes[8] | Yes[9] | Yes | 2K, 4K | No | 24, 48 | 48, 96 | No | All known image[8] and audio[10] formats | Encryption, KDM generation. Needs separate codec | Linux | GPLv3 |
| DVS Clipster | Yes | No | Yes | Yes | Yes | Yes | 2K, 4K | Yes | 24, 48 | 48 | Multiple formats | Windows | Commercial license | ||
| DCP Builder | Yes | Yes | Yes[7] | Yes | Yes[9] | Yes[11] | 2K, 4K | Yes | 24, 48 | 48, 96 | Yes | BMP, TIFF, DPX, PNG, SGI, TGA | No encryption, needs registration | Windows, Mac OS X, Linux | Freeware |
| DCPC – Digital Cinema Package Creator | Yes | No | Yes[7] | Yes[8] | Yes[9] | Yes | 2K, 4K | Yes | 24, 25, 30, 48, 50, 60 | 48 | Yes | Multiple formats | Needs separate codec | Windows | |
| Prism DCP Encoder | Yes | No | Yes[7] | Yes[8] | Yes[9] | Yes | 2K, 4K | Yes | 24, 48 | 48 | Yes | DPX, CIN, TIFF, PNG, BMP, TGA, JPG | Picture scaling presets | Windows | Commercial license |
| Inition DCP Pro | Yes | No | Yes | Yes | Yes | Yes | 2K | Yes | 24 | 48 | Multiple formats | Network encoding of JPEG 2000 files | Windows | Commercial license | |
| DCP Tool | Yes | No | Yes[12] | Yes | Yes | Yes | 2K, 4K | Yes | 24, 48 | 48 | Yes | TIFF, DPX, WAV, AIFF | Two separate tools | Windows | Commercial license |
| Dietrich | No | Yes | Yes | Yes | Yes | Yes | 2K, 4K | Yes | 24, 25, 30, 48, 50, 60 | 48, 96 | DCDM, DCP, MXF, XML | Encryption, key management, KDM generation, package validation, subtitles | Linux | ||
| YADE - DCP encoder | Yes | Yes | Yes | Yes | Yes | Yes | 2K, 4K | Yes | 24, 25, 30, 48, 50, 60 | 48, 96 | Yes | TIFF, PNG, BMP, DPX, J2K, XML, DCP, DCDM, MXF | Encryption; KDM and key management; Interop/SMPTE subtiltes; uses ultra fast, proprietary jpeg2000 codec (jade2k); highly scalable | Windows, Linux | Commercial license |
| Fraunhofer IIS easyDCP Creator | Yes | No | Yes[12] | Yes | Yes[9] | Yes | 2K, 4K | No | 24, 25, 30, 48, 50, 60 | 48 | Yes | DPX, TIFF, J2K, JPEG, GIF, PNG, BMP | Windows, Mac OS X | Commercial license | |
| Fraunhofer IIS easyDCP Creator+ | Yes | Yes | Yes[12] | Yes | Yes[9] | Yes | 2K, 4K | Yes | 24, 25, 30, 48, 50, 60 | 48 | Yes | DPX, TIFF, J2K, JPEG, GIF, PNG, BMP | Supports KDM and encryption with included easyDCP KDM Generator | Windows, Mac OS X | Commercial license |
| Magna Mana FinalDCP | Yes | No | Yes | Yes | Yes | Yes | 2K, 4K | Yes | 24, 48 | 48 | Yes | AVI, QuickTime, RED R3D, CineForm, DPC (DPX-C), JPEG2000, MXF | Network rendering engine | Windows, Mac OS X | Commercial license |
| Extron J2KENC | Yes | No | Yes | Yes | Yes | No | 2K | Yes | 24 | 48 | No | BMP, DPX, PNG, TGA, TIFF | Windows | Commercial license | |
| opencinematools | Yes | Yes | Yes[7] | No | Yes[9] | Yes | 2K, 4K | Yes | 24, 48 | 48 | No | TIFF | Windows, Mac OS X, Linux | BSD | |
| OpenCubeDCP | Yes | No | Yes | Yes | Yes | Yes | 2K, 4K | Yes | 24, 48 | 48 | DPX, CIN, TIFF, TGA, BMP, SGI, RAW, RGB, YUV, WAV | Rack mounted unit | Linux | Commercial license | |
| OpenDCP | Yes | Yes | Yes[7] | Yes | Yes[9] | Yes | 2K, 4K | Yes | 24, 25, 30, 48, 50, 60 | 48 , 96 | Yes | TIFF, DPX, CIN | XML file generation with digital signatures | Windows, Mac OSX, Linux | GPL |
| intoPIX PRISTINE J2K Accelerator | No | Yes | Yes | No | No | No | 2K, 4K | Yes | 24, 25, 30, 48, 50, 60 | Multiple formats | Up to 100 fps in 2K, up to 24 fps in 4K, PCIe board | Windows, Linux | Commercial license | ||
| QubeMaster Pro | Yes | No | Yes | Yes | Yes | Yes | 2K, 4K | Yes | 24, 25, 30, 48, 50, 60 | 48, 96 | Yes | Multiple formats DPX, CIN, TIFF, TGA, BMP, AVI, QT, ASF, AUD, WAV, TXT | Windows | Commercial license | |
| Dolby SCC2000 | Yes | No | Yes | Yes | Yes | Yes | 2K, 4K | Yes | 24, 25, 30, 48, 50, 60 | 48, 96 | All common D-Cinema master file formats | Standalone unit, render farm | Linux | Commercial license | |
| CineCert Wailua DCP Mastering System | No | Yes | Yes | Yes | Yes | Yes | 2K, 4K | Yes | 24, 25, 30, 48, 50, 60 | 48, 96 | Yes[13] | TIF, DPX, J2K, MXF, WAV, XML | DCP testing (individual assets and entire packages), Support for creating partial ("supplemental") DCPs, Encryption, KDM creation, Extensive Python API; Kii add-on module required for JP2K compression, colorspace conversion, and pixel array resizing | Mac OS X, Linux | Commercial License |
| QuVIS Wraptor | Yes | No | Yes | Yes | Yes | Yes | 2K | No | 24 | 48 | Multiple formats | Plugin for Compressor in Final Cut Studio. Works well with all versions of FCP and Compressor. | Mac OS X | Commercial license | |
| QubeMaster Xpress | Yes | No | Yes | Yes | Yes | Yes | 2K | No | 24 | 48 | Yes | Multiple formats | Windows | Commercial license | |
| QubeMaster Xport | Yes | No | Yes | Yes | Yes | Yes | 2K, 4K | Yes | 24, 25, 30, 48, 50, 60 | 48 | Yes | Multiple formats | Plugin for Compressor in Final Cut Studio. | Mac OS X | Commercial license |
[edit] Notes
- ^ http://www.dcimovies.com/DCIDigitalCinemaSystemSpecv1_2.pdf
- ^ http://mkpe.com/digital_cinema/isdcf/transition/2011-3-2-SMPTE-Interop-DCP-Guidelines-with-Accessibility.pdf
- ^ http://isdcf.com/papers/ISDCF-Doc2-DCP-TransitionReview.pdf
- ^ http://www.digitalpreservation.gov/formats/fdd/fdd000200.shtml
- ^ Is thread safe.
- ^ Using FFmpeg
- ^ a b c d e f Using OpenJPEG
- ^ a b c d Using ImageMagick
- ^ a b c d e f g h Using CineCert AS-DCP File Access Library
- ^ Using SoX
- ^ Using opencinematools
- ^ a b c Using Kakadu
- ^ Concurrent operations use OS / Interpreter threading