En la primera parte de nuestro tutorial sobre DCPs nos quedamos en una de las fases intermedias del proceso de generación del DCP, el DCDM (Digital Cinema Distribution Master). Este DCDM no es más que una sucesión de TIFFs a 16 bits de profundidad de color y en espacio de color XYZ, ya con las resoluciones 2K y 4K marcadas por la norma DCI.
Así pues, una vez que tenemos el material preparado podemos empezar con la fase de generación del DCP en si. Lo primero será comprimir todas los fotogramas a ficheros JPEG 2000 y con un bitrate de 250 Mbits/seg (lo que supone unos 1.3 MB por fotograma a 24fps).
Por su parte, el audio se comprime en PCM a 48.000 o 96.000 muestras por segundo, con muestreo a 24 bits, y hasta un máximo de 12 canales independientes.
Posteriormente, estos ficheros JPEG-2000 de imagen y PCM de audio deberán integrarse en un contenedor para su posterior distribución. Esto se logra encapsulándolos en ficheros con formato MXF. A este respecto es importante señalar que la norma DCI establece la obligación de dividir el material en Bobinas (reels), con una duración máxima de 20 Mins por bobina. De esta forma, tendremos un fichero MXF de imagen por cada bobina y tantos ficheros MXF de audio como bandas de audio tengamos; es decir, para con banda sonora en más de un idioma, un MXF por idioma y bobina.
Todo este material se copia en un carpeta junto a una serie de ficheros XML que se generan durante el proceso y que indexan todo el material que integra el DCP. Estos ficheros XML son la CPL (Composition PlayList), el ASSETMAP, el VOLINDEX y el Packing List.
El ASSETMAP no es más que un fichero XML con un listado de todos los ficheros que integran el DCP, sirve para que el servidor de cine digital sepa todo el material que tiene que transferir en su almacenamiento interno.
La CPL es un fichero XML que indica el orden en que deben reproducirse todos los contenidos, es una lista de reproducción, como las usadas por los reproductores multimedia. En ella se identifica cada bobina con un identificador único (UUID), para evitar cualquier posibilidad de error en el orden de reproducción.
A este respecto es interesante señalar que estos archivos XML son ficheros de texto fácilmente editables, con el riesgo que ello conlleva de posibles manipulaciones de los contenidos o reproducción del DCP.
Para evitarlo se genera otro fichero XML, el Packing List con un hash checksum, una operación matemática que genera una clave alfanumérica obtenida mediante la suma de valores de los datos en los ficheros, usando SHA-1 con base de codificación Base64. Este fichero se comprueba durante la ingesta del material en el servidor de cine digital para comprobar la integridad de los ficheros XML del DCP ante posibles manipulaciones o corrupciones accidentales.
Por último, el VOLINDEX permite que al distribuir el contenido del DCP entre diferentes medios (p.ej varios discos duros), se sepa el orden en que debe recogerse el material de dichos medios.
De esta manera ya tendríamos listo un DCP sin encriptación, sería una carpeta con varios MXF de audio y vídeo (uno por bobina). más los ficheros XML antes citados (CPL, ASSETMAP, VOLINDEX y Packing List). Así obtendríamos un DCP sin encriptación, con un uso principalmente no comercial; por ejemplo para publicidad, distribución de cortos para festivales, etc… En general cualquier material en el que la seguridad anti-copia no sea prioritaria.
No obstante, y tal y como comentamos en la primera parte, DCI tiene la seguridad como uno de sus objetivos prioritarios. De esta forma, si el nuestro es un proyecto comercial deberá tener encriptación, como de hecho sucede con todos los DCPs de películas que se distribuyen comercialmente para proyección digital. Los grandes estudios, las majors, imponen unos estándares de seguridad muy exigentes durante todo el proceso de distribución, doblaje, subtitulado, etc…, para evitar posibles fugas de un material que es un máster digital de alta calidad y, por lo tanto, susceptible de ser copiado y distribuído de forma fraudulenta a gran escala.
En el próximo capítulo explicaremos el proceso de encriptación y generación de claves de desencriptado (KDMs).