Methods and systems for digital file distribution to theaters

Systems and methods for efficiently distributing digital cinema files from a server to a theater are disclosed. The systems and methods may comply with DCI requirements. A server updates an original composition playlist, updates a track file associated with the updated composition playlist, and distributes the updated composition playlist and updated track file to one or more theaters over a communications network. The theater is configured to store the updated track file at a storage containing copies of all track files associated with the updated composition playlist and update the theater's original composition playlist to the updated composition playlist. The server may have a database configured to track the composition playlists and associated track files present in each theater in the system.

TECHNICAL FIELD

The present disclosure relates generally to digital file distribution techniques and more particularly, some embodiments relate to methods and systems for automating digital cinema file distribution to theaters.

DESCRIPTION OF THE RELATED ART

Recent technological developments that have enabled the digital playback and display of feature films at a high resolution have led to the increasing adoption of digital systems that play back digital cinema content. Digital Cinema Initiatives, LLC (DCI) is an entity created by the motion picture studios in recognition of the benefits of adopting industry-wide specifications for digital cinema. DCI has defined industry-wide specifications and requirements for the mastering of, distribution of, and theatrical playback of digital cinema content.

BRIEF SUMMARY OF THE DISCLOSURE

According to various implementations of the disclosed methods and systems, digital cinema files are distributed from a server to a theater. In one implementation, a server receives a request for component parts of a digital content package; the component parts of the digital content package are stored at the server; the component parts of the digital content package are assembled; and the assembled digital content package is encrypted.

In another implementation, a server updates an original composition playlist, updates a track file associated with the updated composition playlist, and automatically distributes the updated composition playlist and updated track file to one or more theaters over a communications network. The theater is configured to store the updated track file at a storage containing copies of all track files associated with the updated composition playlist, and updates the theater's original composition playlist to the updated composition playlist.

In one implementation, the updated composition playlist and updated track file are distributed to a theater only if the theater is geographically located in a region associated with the composition playlist. In another implementation, the server comprises a database of theater information that tracks the current composition playlists associated with all theaters in the server-theater digital cinema distribution system.

In one implementation, a theater initiates a request to receive an updated track file from the server. The server authenticates the theater, determines the theater's current composition playlist and associated track files, and transmits the updated track file and associated updated composition playlist to the theater over a communications network. In another implementation, the server determines the theater's current composition playlist and associated track files by reference to a database of theater information stored in a storage unit communicatively coupled to the server.

Other features and aspects of the disclosed method and system will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate, by way of example, the features in accordance with embodiments of the disclosure. The summary is not intended to limit the scope of the claimed disclosure, which is defined solely by the claims attached hereto.

DETAILED DESCRIPTION OF THE EMBODIMENTS OF THE DISCLOSURE

Given the large file size of high-resolution coded digital cinema files, methods and systems for the efficient distribution of Digital Cinema files in accordance with DCI are desired. Currently, digital movies may be delivered to theaters via physical hard drives or by satellite transmission. These delivery methods present two problems. First, incremental updates to movies (e.g., regional changes in sound tracks, audio and visual formats such as 2D, 3D, Dolby Sound, and ethnic customizations) are limited to manual deliveries, localized to individual theaters. Second, Digital Content Packages (DCPs) may become bloated with various options for trailers, languages, sound formats, image choices, and other technological changes that cause a large permutation of distribution DCPs. This requires the pre-packaging, quality controlling, and sending of multiple DCPs, which creates logistical issues and expenses for DCPs containing content that is not used in a particular location.

Various implementations of the disclosure illustrate systems and methods for automating the distribution of digital cinema updates to theaters by discretely delivering track file updates after delivering an initial master file to all theaters. Moreover, implementations illustrate systems and methods for the on-demand assembly of digital content packages.

FIG. 1illustrates a system for distributing digital cinema files in accordance with the present disclosure. In distribution system100, a server140may distribute digital cinema track files134stored in storage130to a plurality of theaters110over communications network120. Digital cinema files may be automatically pushed (step150) from server140to theaters110in response to server-side track file134updates. In addition to or instead of pushing digital cinema files, digital cinema files may be pulled (160) by theaters110from server140in response to a request for a cinema track file update (step114) initiated at a theater110.

Communications network120may include a cloud-based network, a satellite network, a cellular telephone network, an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), or any combination thereof. Communications network120may use a number of communication mediums. The communication medium may be a wireless network system such as a satellite network, a cellular network, a wireless personal area network, a wireless local area network, or other similar communication medium. The communication medium may alternatively be a wired system, such as a coaxial cable system, a fiber optic cable system, an Ethernet cable system, or other similar communication medium.

Server140may be operated by a digital cinema file distributor or digital content creator (for example, a movie studio). Server140may comprise a single computer unit or a distributed computer system that includes a combination of software and hardware to perform the cinema file distribution functions of distribution system100. For example, server140may include a processing module141, a transceiver module142for communicating over network120, a memory module143, a security module144, storage130, and a database139. These modules and components may be separated or integrated. These modules may be disposed within server140or communicatively attached to server140.

With reference now to storage130, Digital cinema files may be packaged on server140in compliance with DCI standards. Storage130may include one or more Digital Cinema Package (DCP) files132. Each DCP132is the collection of all files necessary for one digital cinema work such as a motion picture and its trailers.

In one implementation, a DCP132may be assembled on demand for a server140by storing all of DCP132parts in storage130. In another implementation, the DCP132parts may be stored within regional depots. The assembled DCP may be customized to a theater chain, territory or individual screen. In accordance with this implementation, an order for the specific components parts for DCP132may be fulfilled by a DCP system that operates on server140. This order may be fulfilled after the DCP132picked component parts are available within server140. The DCP may be assembled based on the picked component parts. The DCP system may validate that the DCP132is DCI compliant and it may generate an encryption key for the DCP132to ready it for delivery.

The assembled DCP132may be pushed (step160) by server140or pulled (step160) by an authorized theater110. During delivery of the DCP, a software based transfer manager (not pictured) may validate that the DCP132contains appropriately named files, keys, and all other information. The transfer manager may also track delivery of the DCP132. For example, it may monitor that the DCP132arrives at its destination without checksum errors, report progress during DCP132transit, and report if a DCP132was created but not sent.

In yet another implementation, the DCP system may be configured to provide an update on the status, configuration, and state of all DCP132orders, requests for supplemental material, and generated keys.

A single DCP132may have multiple Composition PlayLists (CPLs)133. For example, a DCP132may have three CPLs having a common set of track files134but separate dubbed set of sound track files for a movie in three languages (e.g., Chinese, German, and Spanish). Each CPL133is a textual list containing instructions on how the elements of a DCP, i.e., track files134, are played back. A CPL133has a time code index that specifies the order in which associated track files are played to present a digital cinema work such as a motion picture.

Track files134are the digital cinema files that are discretely distributed in accordance with system100. Each track file comprises metadata or essence135within a file body, and an associated file header and file footer. A track file is also required to have a time code137to allow for synchronization with associated track files.

A track file134may comprise image metadata135, sound metadata135, subtitle (timed text and/or subpicture) metadata or caption metadata. A track file134may comprise metadata containing, for example, French subtitles for the first ten minutes of a movie, an advertisement segment, a director's cut of a movie, a movie's alternate ending, a segment of a movie (e.g., first 5 minutes, different rated version scene, credits, etc . . . ), or the dubs for a movie segment. Each track file134has an associated time code137for synchronizing its playback with other related (i.e., part of the same cinema work) track files134. The CPL133uses a time code index to play associated track files (e.g., sequential image track files or synchronized image and sound track files)134in the correct order.

During the DCP132creation process, each track file134is encrypted and assigned a unique encryption key136. Each key136may be stored in storage130. During the delivery process (push150or pull160), each encryption key associated with a track file is delivered to allow for decryption on the receiving end. Key delivery messages may be used to wrap the encryption key in a file format (e.g., XML) that only allows specific trusted devices access to the key.

With reference now to the theater side of the file distribution system, each theater110may receive the same initial master file105from a content distributor for a cinematic work, comprising a CPL133and associated track files134. Master file105is associated with the cinematic work's initial release (e.g., the initial English theatrical version). Subsequent deliveries of an updated CPL with updated track files customized for a specific region or theater (e.g., subtitles or audio (dubs) track files for foreign theaters, image track files that add additional scenes) may then supplement the initial delivery. In this way, redelivery of the entire digital cinema file content (i.e., all track files) associated with a cinema work is not required during incremental updates such as advertisements, additional scenes, alternate endings, etc . . . .

Theaters110may have a storage111for storing all CPLs and associated track files for each cinema work played at the theater. Storage111may have a disk array, hard drive, server or other means for storing and organizing digital cinema content. Related track files134may be stored in the same folder or general location within storage111. A Theater Management System (TMS) or a Screen Management System (SMS) in accordance with DCI standards may manage theaters110and their associated storage111. For example, a TMS may have a theater manager controller that manages playback of all CPL and associated track files in each theater auditorium. The TMS may also manage the storage of all digital cinema content. An SMS may have a user interface to control the playback of a CPL and associated track files within a single theater auditorium. A TMS or SMS may be configured to update the theater's CPL and associated track files when new ones are received.

Server140may include a database139in storage130to manage the delivery of CPL and track file updates to theaters110within the file distribution system100. Database139may store the following data for each theater110: the theater's region or location, the theater's language, the theater's time zone, the theater's current CPL, associated track files (and encryption keys) for cinema works it is currently playing or has played in the past, the theater's history of CPL and track file updates, the theater's status, etc. Additionally, database139may include a set of all existing CPLs and associated track files. Each time CPL and track file updates are pushed or pulled from server140by a theater110, server140may refer to the applicable database entry. Database139may be configured to automatically update the stored data associated with a theater110each time server140transmits an updated CPL and updated track files to a theater110. In another implementation, a database entry for a theater may be manually updated via user input (e.g., keyboard and mouse).

FIG. 2illustrates an exemplary method200of pushing (step150) digital cinema file updates from a server140to theater110in accordance with the system ofFIG. 1. As a first step200, the content distributor or server140operator updates a server file (CPL and associated track file) corresponding to a cinema work (e.g., adds an additional track file corresponding to an advertisement, alternate ending, director's cut, new scene, new language release, new subtitles, or new scene with altered product placement). The server update may be stored in storage130. The update may comprise adding additional content via a new track file, replacing existing content (i.e., replacing a track file), or deleting content (i.e., deleting a track file) associated with an existing CPL. In some implementations, the update may comprise adding a new CPL and new associated track files (e.g., a new set of audio track files associated with a foreign release of a film). In other implementations, the update may comprise replacing or modifying an existing CPL. Theaters110corresponding to the updated CPL and associated track files may be tagged in database139. For example, if a server file update comprises adding a new CPL and associated track files for a new foreign release of a feature film, theaters in the applicable foreign country may be tagged for update in database139.

At step201server140determines if the updated CPL or updated track files have been previously transmitted to one or more corresponding theaters110. If they have not, server140may transmit in parallel the updated CPL205and updated track files204(steps202-203) along with track file encryption keys to theater110. The server may transmit only the updated track files that do not reside in storage111in theater110. The updated track files may be transmitted automatically or in response to user input at the server140. A packing list as required by DCI standards may also be transmitted. A checksum of the transmitted updated CPL205and updated track files204may be performed to detect errors during file transmission. If the checksum detects errors during transmission, the files may be retransmitted. After successful transmission, server140may update its database139to record the updated CPL and track files associated with theater110.

At step206, the updated track files204and updated CPL205are received at a theater110. Theater110may store the updated track file at storage111in the same folder or directory as all track files associated with the updated composition playlist. The corresponding theater CPL and associated track files are then updated. Updating the CPL may comprise overwriting the original CPL or rewriting the time code index in the original CPL to match the time code index in the updated CPL. Updating the track files may comprise deleting an original track file associated with the same time code as an updated track file. In other implementations, updating the track files may comprise adding the updated track files204to the theater110's original set of track files. In yet further implementations, updating the track files may comprise decrypting the track file with associated encryption keys that are delivered.

FIG. 3illustrates an exemplary method300of pulling (step160) digital cinema file updates from a server by a theater110in accordance with the system ofFIG. 1. As a first step301, theater110sends a request to a server to update its master file105(step301) associated with digital cinema content, i.e., its CPL and associated track files. Theater110may request a specific track file update (step114). For example, theater110may request track files and the corresponding CPL associated with a director's cut, an alternate ending, an advertisement, an added scene, a subtitle, or a dub. In some implementations, theater110may iteratively or periodically request updates. At step302, server140authenticates the requesting theater110before it permits it to pull any digital cinema content from its storage130. If theater110cannot be authenticated, the request is canceled (step303). The security module144of server140may perform authentication of the theater110. Security module144may use any number of authentication methods. For example, it may use password authentication, digital signature authentication, IP SEC authentication, Secure Sockets Layer (SSL) authentication, public-key cryptography authentication, etc.

If the theater is authenticated (step302), a parallel process to the one described above with respect to push method200may be performed. If the updated CPL or updated track files have been previously transmitted to theater110(step304), the theater request may be canceled (step303). If they have not, server140may transmit in parallel the updated CPL308and updated track file307(steps305-306) along with track file encryption keys to theater110. A packing list as required by DCI standards may also be transmitted. A checksum of the transmitted updated CPL308and updated track files307may be performed to detect errors during file transmission. If the checksum detects errors during transmission, the files may be retransmitted. After successful transmission, server140may update its database139to record the updated CPL and track files associated with theater110.

At step309the updated track files307and updated CPL308are received at a theater110. Theater110may store the updated track file at storage111in the same folder or directory as all track files associated with the updated composition playlist. The corresponding theater CPL and associated track files are then updated. Updating the CPL may comprise overwriting the original CPL or rewriting the time code index in the original CPL to match the time code index in the updated CPL. Updating the track files may comprise deleting an original track file associated with the same time code as an updated track file. In other implementations, updating the track files may comprise adding the updated track files307to the theater110's original set of track files. In yet further implementations, updating the track files may further comprise decrypting the track file with associated encryption keys that are delivered.

FIG. 4illustrates an example computing module that may be used to implement various features of the methods and apparatuses disclosed herein.

Computing module400might include, for example, one or more processors, controllers, control modules, or other processing devices, such as a processor404. Processor404might be implemented using a general-purpose or special-purpose processing engine such as, for example, a microprocessor, controller, or other control logic. In the illustrated example, processor404is connected to a bus602, although any communication medium can be used to facilitate interaction with other components of computing module400or to communicate externally.

Computing module400might also include one or more memory modules, simply referred to herein as main memory408. For example, preferably random access memory (RAM) or other dynamic memory, might be used for storing information and instructions to be executed by processor404. Main memory408might also be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor404. Computing module400might likewise include a read only memory (“ROM”) or other static storage device coupled to bus402for storing static information and instructions for processor404.

The computing module400might also include one or more various forms of information storage mechanism410, which might include, for example, a media drive412and a storage unit interface420. The media drive412might include a drive or other mechanism to support fixed or removable storage media414. For example, a hard disk drive, a floppy disk drive, a magnetic tape drive, an optical disk drive, a CD or DVD drive (R or RW), or other removable or fixed media drive might be provided. Accordingly, storage media414might include, for example, a hard disk, a floppy disk, magnetic tape, cartridge, optical disk, a CD or DVD, or other fixed or removable medium that is read by, written to or accessed by media drive412. As these examples illustrate, the storage media414can include a computer usable storage medium having stored therein computer software or data.

In alternative embodiments, information storage mechanism410might include other similar instrumentalities for allowing computer programs or other instructions or data to be loaded into computing module400. Such instrumentalities might include, for example, a fixed or removable storage unit422and an interface420. Examples of such storage units422and interfaces420can include a program cartridge and cartridge interface, a removable memory (for example, a flash memory or other removable memory module) and memory slot, a PCMCIA slot and card, and other fixed or removable storage units422and interfaces420that allow software and data to be transferred from the storage unit422to computing module600.

Computing module400might also include a communications interface424. Communications interface424might be used to allow software and data to be transferred between computing module400and external devices. Examples of communications interface424might include a modem or softmodem, a network interface (such as an Ethernet, network interface card, WiMedia, IEEE 802.XX or other interface), a communications port (such as for example, a USB port, IR port, RS232 port Bluetooth® interface, or other port), or other communications interface. Software and data transferred via communications interface424might typically be carried on signals, which can be electronic, electromagnetic (which includes optical) or other signals capable of being exchanged by a given communications interface424. These signals might be provided to communications interface424via a channel428. This channel428might carry signals and might be implemented using a wired or wireless communication medium. Some examples of a channel might include a phone line, a cellular link, an RF link, an optical link, a network interface, a local or wide area network, and other wired or wireless communications channels.