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 was popularized by Digital Cinema Initiatives, LLC in its original recommendation for packaging DC contents. However, the industry tends to apply the term to the structure more formally known as the composition.  ("You PLAY a composition, You do NOT play a Digital Cinema Package".) A DCP is a “packing crate” for compositions, a hierarchical file structure that represents a title version. The DCP may carry a partial composition (e.g. not a complete set of files), a single complete composition, or multiple and complete compositions.

The composition consists of a Composition Playlist (in XML format) that defines the playback sequence of a set of Track Files. Track Files carry the essence, which is wrapped using Material eXchange Format (MXF). Two track files at a minimum must be present in every composition (see SMPTE ST429-2 D-Cinema Packaging – DCP Constraints, or Cinepedia):  a track file carrying picture essence, and a track file carrying audio essence. The composition, consisting of a Composition Playlist and associated track files, are distributed as a Digital Cinema Package (DCP).  It must be underscored that a composition is a complete representation of a title version, while the DCP need not carry a full composition.  However, as already noted, it is commonplace in the industry to discuss the title in terms of a DCP, as that is the deliverable to the cinema.

The Picture Track File essence is compressed using JPEG 2000 and the Audio Track File carries a 24-bit linear PCM uncompressed multichannel WAV file. Encryption may optionally be applied to the essence of a track file to protect it from unauthorized use. The encryption used is AES 128-bit in CBC mode.

In practice, there are two versions of composition in use.  The original version is called Interop DCP.  In 2009, a specification was published by SMPTE (SMPTE ST 429-2 Digital Cinema Packaging – DCP Constraints) for what is commonly referred to as SMPTE DCP.  SMPTE DCP is similar but not backwards compatible with Interop DCP, resulting in an uphill effort to transition the industry from Interop DCP to SMPTE DCP. SMPTE DCP requires significant constraints to ensure success in the field, as shown by ISDCF. While legacy support for Interop DCP is necessary for commercial products, new productions are encouraged to distribute in SMPTE DCP.

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.

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
 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 (~1.78:1) (although not specifically defined in the DCI specification, this resolution is DCI compliant per section 8.4.3.2).
 Full (2048 × 1080 or 4096 × 2160) (~1.9:1 aspect ratio, official name by DCI is Full Container. Not widely accepted in cinemas.)
 MXF Interop (MPEG-2) – Deprecated
 Full Frame (1920 × 1080)
 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 per second)

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 16 independent channels.

Asset map file 
List of all files included in the DCP, in XML format.

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>

Packing list file or PKL package key list 
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

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.

3D DCP 
The DCP format is also used to store stereoscopic (3D) contents. In this case, 48 frames exist for every second – 24 frames for the left eye, 24 frames for the right.

Depending on the projection system used, the left eye and right eye pictures are either shown alternately (double or triple flash systems) at 48 fps or, on 4k systems, both left and right eye pictures are shown simultaneously, one above the other, at 24 fps.
In triple flash systems, active shutter glasses are required whereas optical filtering such as circular polarisation is used in conjunction with passive glasses on polarized systems.

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.

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 color spaces. For this reason, the encoding facility needs to have extensive knowledge in color 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 colorists, directors, sound mixers and other personnel to check for correct picture and sound reproduction in the finished DCP.

Encryption 
The distributor can choose to encrypt the media (MXF) files with AES encryption to stop unauthorised access. The symmetric AES keys used to encrypt the content essence must be carefully protected, so they are never distributed directly. Instead the AES keys are themselves encrypted using asymmetric 2048 bit RSA. Each playback system has its own unique public/private key pair. The private key is never shared and is buried in the playback systems within secure hardware meeting FIPS-140 security standards. The matching public key is shared with the distributor, who can then create Key Delivery Messages (KDMs) which control access to the encrypted content for each playback system. KDMs are XML files containing the RSA encrypted AES keys that can be decrypted only by the private key within the destination device. A KDM is associated to the particular compositions (CPLs) which may include multiple encrypted picture, sound and subtitle assets, and each playback system requires a uniquely generated KDM. KDMs also provide the ability to define date/time windows within which the KDM is valid. Playback systems will not allow playback outside of this validity window, allowing distributors to ensure that content cannot be unlocked prior to release date and to enforce the rental agreement period agreed with the exhibitor.

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 disk drives are usually formatted with the Linux ext2 or ext3 file system as D-Cinema servers are typically Linux-based and are required to have read support for these file systems. Usually the inode size is set to 128 bytes to avoid compatibility issues with some servers. NTFS and FAT32 are also occasionally used. 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 methods adopt a full digital delivery, using either dedicated satellite links or high-speed Internet connections.

For example, theaters received Cats before opening day, Friday 20 December 2019. When the film received poor reviews after its world premiere on 16 December, Universal notified theaters on 20 December that an updated version of the film with "some improved visual effects" would be available for download on 22 December and on hard drive by 24 December.

Creation tools

Software DCP players

Notes

External links 
 Digital Cinema Initiatives
 Digital Cinema Naming Convention
 Inter-Society Digital Cinema Forum (ISDCF)
 Cinepedia

Digital media
Film and video technology
SMPTE standards