CPL : AssetType : PictureTrackFile

Préface

Le type d'asset PictureTrackFile est utilisé par MainPicture et MainStereoscopicPicture

Références SMPTE / DCI

Description

Exemple d'un Picture Track File (MainPicture) :

<MainPicture>
  <Id>urn:uuid:3bd3d849-117b-46b0-bc45-3d3228c987c6</Id>        -----.--- Generic
  <AnnotationText language="en">Picture 1</AnnotationText>           |
  <EditRate>24 1</EditRate>                                          |
  <IntrinsicDuration>24</IntrinsicDuration>                          |
  <EntryPoint>0</EntryPoint>                                         |
  <Duration>24</Duration>                                       -----'
  <KeyId>urn:uuid:cf2ab7c6-c00f-4d52-aae2-3c3396a89b93</KeyId>  -----.--- TrackFile
  <Hash>hnBSgENJXOvI6bfpat7GA1VImss=</Hash>                     -----'
  <FrameRate>24 1</FrameRate>                                   -----.--- PictureTrackFile
  <ScreenAspectRatio>4096 2160</ScreenAspectRatio>              -----'
</MainPicture>
Nom Format Exemples
FrameRate Rational Number 24 1 Obligatoire
ScreenAspectRatio Rational Number ou Integer/Float 4096 2160, 2.39 Obligtoire

Différences entre <MainPicture> et <MainStereoscopicPicture>

MainPicture et MainStereoscopicPicture 2 se basant sur le même AssetType (PictureTrackFile), il n'y a pas de différences fondamentales, les seules différences se porteront sur le nom du tag xml qui sera bien évidemment MainStereoscopicPicture et une spécificité entre EditRate et FrameRate.

Les autres parties qui changent sont l'EditRate et le FrameRate qui seront définis de la sorte :

Edit Rate et Sample Rate sont à récupérer dans le MXF à différents endroits :

Timeline Track                                          (UL:060e2b34.02530101.0d010101.01013b00)
(4B01) Edit Rate  =  24/1

Index Table Segment                                     (UL:060e2b34.02530101.0d010201.01100100)
(3F0B) Index Edit Rate  =  24/1
RGBA Essence Descriptor                                 (UL:060e2b34.02530101.0d010101.01012900)
(3001) Sample Rate  =  48/1

Ainsi une CPL pour un contenu stéréoscopique sera de la sorte :

<MainStereoscopicPicture xmlns="http://www.smpte-ra.org/schemas/429-10/2008/Main-Stereo-Picture-CPL">
  <Id>urn:uuid:279a3815-833e-49fe-adac-85ead8920c4e</Id>
  <EditRate>24 1</EditRate>                         <--------------+
  <IntrinsicDuration>192</IntrinsicDuration>                       |
  <FrameRate>48 1</FrameRate>                       <--------------+
  <ScreenAspectRatio>2048 858</ScreenAspectRatio>
</MainStereoscopicPicture>

A noter que si un MainPicture est présent dans un Reel en présence d'un MainStereoscopicPicture, ce dernier sera prépondérant, le MainPicture sera ignoré.

Et enfin, comme pour EditRate, tous les FrameRate et ScreenAspectRatio des assets MainPicture (ou MainStereoscopicPicture) d'une CPL doivent être identiques. Il n'est donc pas possible de faire une Reel en 24 en 2K, puis une Reel en 48 en 4K, etc... (adieu VFR)

Variable Frame Rate

Le Variable Frame Rate (VFR) permet de changer le nombre d'images par seconde qui seront projetées pendant la projection (par exemple, passer à 48 fps durant une courte séquence et revenir en 24 fps).

À l'heure actuelle, le Variable Frame Rate (VFR) n'est pas supporté. Tim Ryan a proposé une évolution avec son papier intitulé Variable Frame Rate Display for Cinematic Presentations (SMPTE Motion Imaging Journal, March 2019) pour permettre un VFR.

Pour compléter, une conférence à ce sujet est disponible à cette adresse :

Conclusion

PictureTrackFile est l'élément principal dans une CPL car contextualise MainPicture ou MainStereoscopicPicture, vous le trouverez toujours dans une CPL.

Chapitre annexes

Notes


  1. For stereoscopic images, the edit rate is equal to half the frame rate -- SMPTE 429-2:2013 - DCP Operational Constraints, Annex B - Additional Frame Rates 

  2. Vous pouvez vous retrouver avec un préfixe devant le tag MainStereopicPicture

    C'est un XML Namespace (xmlns) (accompagné d'une URI spécifique se trouvant après xmlns), dont voici quelques exemples piochés sur certaines CPL en activité :

    Sans namespace :
    <MainStereoscopicPicture xmlns="http://www.smpte-ra.org/schemas/429-10/2008/Main-Stereo-Picture-CPL">
    
    Avec le namespace msp-cpl (utilisé comme exemple dans la norme, vous en verrez donc beaucoup) :
    <msp-cpl:MainStereoscopicPicture xmlns:msp-cpl="http://www.smpte-ra.org/schemas/429-10/2008/Main-Stereo-Picture-CPL">
    
    Avec le namespace cpl3d :
    <cpl3d:MainStereoscopicPicture xmlns:cpl3d="http://www.smpte-ra.org/schemas/429-10/2008/Main-Stereo-Picture-CPL">
    
    Avec le namespace sicpl :
    <sicpl:MainStereoscopicPicture xmlns:sicpl="http://www.smpte-ra.org/schemas/429-10/2008/Main-Stereo-Picture-CPL">
    
    Avec le namespace nsX (X étant un chiffre) :
    <nsX:MainStereoscopicPicture xmlns:nsX="http://www.smpte-ra.org/schemas/429-10/2008/Main-Stereo-Picture-CPL">
    

    Tous sont équivalents, ils se différencient juste par différentes définitions d'un namespace. La norme SMPTE n'impose pas de namespace qualifier spécifique (exemple ms-cpl), vous pouvez définir votre propre namespace qualifier, il faudra juste que l'URI soit http://www.smpte-ra.org/schemas/429-10/2008/Main-Stereo-Picture-CPL.

    Un exemple parfaitement valide pour le fun :

    <dcpinside:MainStereoscopicPicture xmlns:dcpinside="http://www.smpte-ra.org/schemas/429-10/2008/Main-Stereo-Picture-CPL">
    

    Privilégiez le namespace qualifier ms-cpl cependant :)