Blog post

DCP

September 15, 2017

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 track files contain image and audio essence that are compressed and encoded in order to reduce the huge amount of required storage. Encryption is an optional solution and is used to protect from unauthorized use. The image track file contains compressed JPEG 2000 essence and the audio is a wrapped 24-bit linear PCM multichannel WAV file. 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]

Technical specifications[edit]

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]

Picture MXF files[edit]

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/s)

Sound MXF files[edit]

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[edit]

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

Composition playlist file[edit]

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[edit]

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[edit]

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[edit]

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 alternatively (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.

DCP creation[edit]

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 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.

DCP encryption[edit]

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.

DCP delivery methods[edit]

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 is set to 128 bits 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.[5]

Leave a comment

Your email address will not be published. Required fields are marked *

Prev Post Next Post