Immersive Audio Bitstream (IAB) : Le parent du son spatialisé

Préface

L'Immersive Audio Bitstream (surnommé IAB) est une norme pour les technologiques de sons spatialisés.

Elle se veut être le tronc commun pour toutes les technologiques de sons spatialisés. Cette norme permet d'éviter de développer plusieurs normes distinctes et incompatibles entre elles et que chaque constructeur devra maintenir sur le temps. Elle se veut "future proof".

Les technologies de sons spatialisés se reposant sur la norme IAB :

Par exemple, la norme Atmos va s'appuyer sur la norme IAB et ajouter ses propres règles par dessus pour en faire le Dolby Atmos compatible IAB. Pour en savoir plus, reportez-vous au chapitre Dolby Atmos.

Pour en savoir plus sur Barco Auro et DTS-X, reportez-vous aux chapitres respectifs Barco Auro & DTS-X (pour l'instant un peu vide)

Le but principal de la norme IAB étant que des assets IAB peuvent être joués sur n'importe quel matériel supportant l'IAB. Ainsi, un asset Dolby Atmos pourrait en théorie être joué sur du matériel Barco Auro ou DTS-X (et inversement).

Cela évite également de devoir distribuer différentes versions du même film en plus : imaginez devoir faire les différentes versions de MXF pour Atmos, Auro et DTS-X (voire même plus si d'autres constructeurs s'y mettent) et en plus de toutes les autres fonctionnalités DCP... Ici, nous aurons qu'une version IAB, le matériel en salle adaptera la lecture sur ses propres capacités.

Cette norme est relativement jeune (initiée en 2013, publiée en 2018) dont voici les premières documentations :

Tous les matériels peuvent ne pas comprendre l'Immersive Audio Bitstream, cependant toute l'industrie pousse pour une large adhésion et une pleine migration vers ce nouveau format audio.

Normes et spécifications techniques

L'Immersive Audio (IAB) possède une structure de données commune définie dans les normes suivantes :

Vous pouvez également utiliser un moteur de recherche avec le mot-clef SMPTE Immersive Audio pour découvrir d'éventuelles nouvelles publications.

Spécifications techniques de l'IAB

La norme IAB Constraint [SMPTE:2098-2] donne ses contraintes techniques :

MXF

Le MXF Dolby Atmos utilisant la norme Immersive Audio Bitstream, retrouverez une analyse de l'IAB dans le chapitre Dolby Atmos avec son chapitre MXF Dolby Atmos.

Concernant le MXF audio principal (MainSound), si votre DCP contient un MXF Immersive Audio :

Analyse du MXF

Vous trouverez dans MXF Dolby Atmos une analyse complète de l'implémentation IAB avec les directives Dolby Atmos.

Vous avez également un parseur d'Immersive Audio Bitstream disponible ici, à tester avec les assets IAB disponible ici.

Pour l'utiliser, il suffit d'exécuter iab-analyzer.py sur une frame IAB (par exemple celle-ci) ou directement sur un répertoire contenant plusieurs IAB :

+++ atmos-stresstest-64objects.iab//00016524-060e2b34010201050e09060100000001-ImmersiveAudioDataElement.value.bin
┌────────────────────────────────────────────────────────────────────────────────────────────────────
│▐━━━━ IABitstream Frame ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━▐  [1]
│───── Preamble ────────────────────────────────────────────────────────────────────────  [1]
│      PreambuleTag : 0x01
│      PreambuleLength : 1603 bytes
│      PreambuleValue : 11010effffffffffffffffffffffffff(...1571 bytes...)ffffffffffffffffffffffffffffffff
│───── IAFrame ─────────────────────────────────────────────────────────────────────────  [1]
│      IAFrameTag : 0x02
│      IAFrameLength : 44501 bytes
│      IAFrameValue : 08ffadd10110529bff0200ff020e6402(...44469 bytes...)0173ffc1bfffc0300000200000000500
│───── IAElement ───────────────────────────────────────────────────────────────────────  [1]
.
.
.     
(....)

CPL

Au niveau de la CPL, le ContentTitle doit intégrer le code IAB dans son champ AudioType.
Voir le chapitre Digital Cinema Naming Convention.

L'IAB va réutiliser le concept et la syntaxe de l'AssetType AuxData avec un DataType spécifique pour l'Immersive Audio (Immersive Audio Data Essence Coding):

<!-- Universal Label for Immersive Audio Data Essence Coding -->
<DataType>urn:smpte:ul:060e2b34.04010105.0e090604.00000000</DataType>

Et ajout (non obligatoire) d'une ExtensionMetadata IAB dans la partie CompositionMetaDataAsset dans le sous-bloc ExtensionMetadataList :

<CompositionMetadataAsset>
    <!-- (...) -->
    <ExtensionMetadataList>

        <ExtensionMetadata scope="http://isdcf.com/ns/cplmd/app">
            <Name>Application</Name>
            <PropertyList>
                <Property>
                    <Name>IAB Profile</Name>
                    <Value>SMPTE-ST-2098-2:2019-P1</Value>
                </Property>
            </PropertyList>
        </ExtensionMetadata>

    </ExtensionMetadataList>
    <!-- (...) -->
</CompositionMetadataAsset>

Par défaut, si on a de l'IAB, sans ExtensionMetadata IAB, alors on considère que c'est un IAB Profile 1.

KDM

Pour les besoins de l'IAB, la norme SMPTE 430-1 KDM a été agrémentée d'un Addendum en 2019 pour intégrer l'Immersive Audio.

La documentation Dolby indique que les IAB doivent être chiffrés avec une clef type MDEK, initialement utilisée pour désigner une AuxData Essence Key et utilisé maintenant pour désigner également une Immersive Audio Essence Key.

Pour d'anciens players, vous devrez probablement utiliser les ForensicMarkFlag pour désactiver tout watermark sur les canaux audios 12 et supérieurs (DBOX canal 13, Atmos canal 14) :

<ForensicMarkFlag>http://www.dcimovies.com/430-1/2006/KDM#mrkflg-audio-disable-above-channel-12</ForensicMarkFlag>

Voir carrément désactiver tout watermak sur les pistes audios (déconseillé) :

<ForensicMarkFlag>http://www.smpte-ra.org/430-1/2006/KDM#mrkflg-audio-disable</ForensicMarkFlag>

Vous retrouverez d'autres informations au chapitre KDM - Authenticated Public, paragraphes KeyType et ForensicMarkFlag

KDM : Gestion multi-matériel

Il se peut qu'il faille produire des KDM pour la gestion multiple de matériels : afin de permettre au player DCP de gérer sa partie (Picture, Sound, Subtitle) et permettre au matériel audio compatible IAB de gérer sa partie (AuxData-IAB).

Par exemple, dans le cas où un player DCP est un Dolby/Doremi et le matériel sonore, un DTS-X, les deux ne sont pas dans le même bloc technique mais peuvent communiquer entre eux.

Le player va lire tous les clefs de type MDIK (Image), MDAK (Audio), MDSK (Subtitle) et ignorer les clefs de type MDEK (AuxData/IAB). Et inversement, le matériel audio va ignorer toutes les clefs sauf les clefs de type MDEK (AuxData/IAB).

Références

Notes


  1. The value of all instances of Sample Rate, as defined by SMPTE ST 2098-2, shall be 48 kHz -- SMPTE.RDD.57-2020 - Immersive Audio Bitstream and Packaging Constraints - IAB Application Profile 1 

  2. Le support et les contraintes du 48 kHz / 96 kHz : 

    • The compression system supports both 48 kHz and 96 kHz sample rates. -- SMPTE 2098-2:2018 - Immersive Audio Bitstream Specification

    • AudioDataDLC Element : The AudioDataDLC element supports sample rates of 48 kHz or 96 kHz with 24-bit resolution. -- SMPTE RDD-29:2019 - Dolby Atmos Bitstream.

    • ST 2098-2 Bitstream Constraints : Sample Rate : The value of all instances of Sample Rate, as defined by SMPTE ST 2098-2, shall be 48 kHz. -- SMPTE RDD-57:2021 - Immersive Audio Bitstream and Packaging Constraints - IAB Application Profile 1

    Ces contraintes sont probablement dues de par le matériel qui doit supporter du 48 kHz et pourrait supporter du 96 kHz.

  3. The only values that shall be used for IAFrame Rate, as defined in SMPTE ST 2098-2, are: 24/1, 25/1, 30/1, 48/1, 50/1, or 60/1. -- SMPTE RDD.57-2021 - Immersive Audio Bitstream and Packaging Constraints - IAB Application Profile 1 

    Avec un Maximum Frame Size pour chaque frame IAB selon l'EditRate :

    EditRate Taille maximale
    24 781.250 octets
    25 750.000 octets
    30 625.000 octets
    48 390.625 octets
    50 375.000 octets
    60 312.500 octets
    96 195.313 octets
    100 187.500 octets
    120 156.250 octets
  4. The maximum number of bed channels, as defined in SMPTE ST 2098-2, shall be 10 -- SMPTE.RDD.57-2020 - Immersive Audio Bitstream and Packaging Constraints - IAB Application Profile 1 

  5. 64: Maximum number of audio beds -- Dolby Atmos Master ADM Profile 

  6. The maximum number of objects, as defined in SMPTE ST 2098-2, shall be 118 -- SMPTE.RDD.57-2020 - Immersive Audio Bitstream and Packaging Constraints - IAB Application Profile 1 

  7. The MaxRendered field (which is the sum of objects and bed channels) of the IAFrame, both as defined in SMPTE ST 2098-2, shall have a value of 128 or less. -- SMPTE.RDD.57-2020 - Immersive Audio Bitstream and Packaging Constraints - IAB Application Profile 1 

  8. SMPTE 430-12 - D-Cinema Operations - FSK Synchronization Signal