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.
L'Immersive Audio (IAB) possède une structure de données commune définie dans les normes suivantes :
La base :
SMPTE 429-19 - DCP Operational Constraints for Immersive Audio
SMPTE 2098-2 - Immersive Audio Bitstream Specification : la plus importante, elle décrit le format IAB.
SMPTE 2098-5 - Immersive Audio Channels and Soundfield Groups
SMPTE RDD 57 - Immersive Audio Bitstream & Packaging Constraints - IAB Application Profile 1
Les addons :
SMPTE 430-1 Addendum 2019 – Immersive Audio KDM : Ajout pour l'intégration de l'IAB dans les KDM.
SMPTE RDD-52 - DCP Bv2.1 Application Profile
SMPTE 430-12 - FSK Synchronization Signal
SMPTE 2067-201 - Immersive Audio Bitstream Level 0 Plug-in
SMPTE EG-2098-3 - Immersive Audio Renderer Expectations & Testing Recommendations
ISDCF #15: SMPTE 2098-2 Immersive Audio Bitstream Constraints - IAB Appplication Profile 1
Vous pouvez également utiliser un moteur de recherche avec le mot-clef SMPTE Immersive Audio pour découvrir d'éventuelles nouvelles publications.
La norme IAB Constraint [SMPTE:2098-2] donne ses contraintes techniques :
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 :
Vous retrouverez un FSK Sync Signal 8 (signal de synchronisation) sur la piste 14, il servira pour la synchronisation sonore avec le matériel audio externe (exemple, matériel Atmos ou DTS-X)
Les autres canaux sonores ne sont pas utilisés (seulement pour les données annexes comme les pistes Sounds et Mal-Entendants (HI, VIN et SLV), le Motion Data (qui sera utilisé par DBOX par exemple)
Toutes les Reels qui contiennent une piste Immersive Audio doivent contenir un signal FSK Sync dans l'un des canaux audio dans le MXF MainSound.
Le MXF MainSound ne peut contenir aucune donnée Immersive Audio Bitstream. Les principaux canaux sonores sont vidés de toutes données audios et ne peuvent contenir aucune donnée audio sonore PCM, à l'exception des données pour les canaux HI, VIN et Motion Data. Il n'existe donc aucun système de "fallback" audio si l'Immersive Audio ne fonctionne pas correctement. Le MainSound ne servira qu'à stocker des données annexes (ex: canaux pour sourds et malentendants, DBOX, Sync Signal).
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]
.
.
.
(....)
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.
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
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).
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 ↩
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.
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 |
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 ↩
64: Maximum number of audio beds -- Dolby Atmos Master ADM Profile ↩
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 ↩
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 ↩
SMPTE 430-12 - D-Cinema Operations - FSK Synchronization Signal ↩