Comprendre DIRAC (.drc) : le format vidéo à ondelettes open source expliqué
Dans le paysage en évolution du multimédia numérique, les codecs de compression modernes tels que H.264, HEVC et AV1 dominent nos expériences de streaming quotidiennes. Cependant, l’histoire de l’encodage vidéo open source comporte des innovations révolutionnaires qui ont posé les bases essentielles pour des normes de diffusion libres de redevances. L’une des étapes les plus remarquables est le codec vidéo DIRAC, généralement associé à l’extension de fichier .drc.
Développé par l’équipe de Recherche et Développement de la British Broadcasting Corporation (BBC), le DIRAC a été conçu pour remettre en cause les schémas de compression traditionnels basés sur les blocs en exploitant la puissance des transformations en ondelettes.
Qu’est-ce qu’un fichier DIRAC (.drc) ?
Un fichier .drc est un conteneur ou un flux élémentaire stockant une vidéo numérique compressée à l’aide du codec vidéo DIRAC. Nommé en l’honneur du physicien théoricien britannique Paul Dirac, ce format a été conçu comme une alternative open source et libre de redevances aux formats vidéo propriétaires tels que MPEG-4 Part 10 (H.264) et VC-1.
Alors que les flux Dirac terminés étaient souvent multiplexés dans des conteneurs multimédias polyvalents tels que Ogg (.ogg/.ogv), Matroska (.mkv) ou MP4, les séquences vidéo brutes ou les flux de test autonomes étaient historiquement étiquetés avec l’extension .drc.
Fonctionnalités principales du format DIRAC
DIRAC s’est éloigné des paradigmes standard de compression vidéo grâce à plusieurs caractéristiques techniques distinctes :
1. Noyau de la transformation en ondelettes discrètes (DWT)
La plupart des codecs grand public (comme MPEG-2 et H.264) reposent sur la Transformée en Cosinus Discrète (DCT) qui agit sur des macroblocs carrés ($8\times 8$ ou $16\times 16$ pixels). À des ratios de compression plus élevés, la DCT a tendance à produire des artefacts de "blocking" perceptibles. En revanche, DIRAC utilise les Transformées en Ondelettes Discrètes (DWT), compressant les images sur des sous-bandes de fréquence continues. Cela élimine les frontières de blocs et produit une dégradation plus lisse et plus naturelle sous forte compression.
2. Évolutivité de la résolution et du taux de rafraîchissement
DIRAC a été conçu pour être indépendant de la résolution. Il peut compresser tout, depuis la vidéo mobile basse résolution (QCIF) jusqu’aux définitions de diffusion standard (SD, 720p, 1080i/p), jusqu’à la 4K et le cinéma numérique Ultra Haute Définition.
3. Compensation de mouvement avec Compensation de Bloc Chevauchée (OBMC)
Pour compléter le filtrage spatial en ondelettes, DIRAC utilise la compensation de mouvement par blocs chevauchés en parallèle de l’estimation hiérarchique du mouvement. L’OBMC lisse les transitions entre les vecteurs de mouvement, empêchant les bords artificiels qui perturberaient autrement les passes d’ondelettes ultérieures.
4. Modes opérationnels sans perte et avec perte
La spécification Dirac prend en charge à la fois la compression intra-image mathématiquement sans perte (idéale pour la post‑production en studio et l’archivage) et la compression inter-image avec perte efficace, conçue pour la transmission sur Internet et la diffusion en direct.
5. Dirac Pro (SMPTE VC-2)
Un sous‑ensemble à faible complexité, uniquement intra-image, de Dirac a été standardisé sous le nom SMPTE 2042 (VC-2). Connu sous le nom « Dirac Pro », ce profil offre une latence ultra‑faible, le rendant particulièrement efficace dans les chaînes de production de diffusion télévisuelle en temps réel.
Caractéristiques clés du format DIRAC (.drc)
| Caractéristique | Spécification / Détails |
|---|---|
| Développeur | BBC Recherche & Développement |
| Version initiale | 2004 (Spécification finalisée en 2008) |
| Algorithme de compression | Transformation en ondelettes discrète (DWT) avec OBMC |
| Licence | Open source, libre de redevances |
| Sous-profil standardisé | SMPTE 2042 (Dirac Pro / VC-2) |
| Extension de fichier typique | .drc (brut/élémentaire), .ogv, .mkv |
| Type MIME | video/x-dirac |
| Cas d’utilisation ciblés | Contribution à la diffusion, archivage, diffusion haute définition |
Comment ouvrir et lire les fichiers .drc
Comme l’industrie s’est largement consolidée autour des codecs basés sur la DCT (tels que H.264 et AV1), la lecture native directe des fichiers bruts .drc est devenue rare dans les lecteurs par défaut des systèmes d’exploitation. Cependant, plusieurs outils polyvalents peuvent les décoder et les lire :
1. FFmpeg & FFplay (multiplateforme)
Le framework multimédia open source FFmpeg conserve un support intégré pour le décodage des flux élémentaires Dirac. Vous pouvez inspecter et lire un fichier .drc directement via la ligne de commande :
ffplay input_video.drc
2. File Viewer Plus / Utilitaires de fichiers dédiés (Windows)
Sur les environnements de bureau, des applications d’inspection de formats universelles comme File Viewer Plus ou des utilitaires web tels que FileHelper peuvent lire et lire les flux vidéo .drc hérités.
3. VLC Media Player hérité ou versions personnalisées
Alors que les versions modernes grand public de VLC se sont orientées vers les normes actives, les anciennes versions de VLC ou les installations compilées avec libschroedinger ou libdirac peuvent décoder les flux .drc.
Comment créer et convertir une vidéo .drc
Créer ou convertir des vidéos vers et depuis la spécification Dirac se fait généralement via des encodeurs en ligne de commande utilisant les bibliothèques Dirac (Schroedinger ou libdirac).
Encodage vers DIRAC via FFmpeg
Si votre binaire FFmpeg est compilé avec le support Dirac/VC-2, vous pouvez encoder des séquences vidéo dans ce format :
# Encode an MP4 into a Dirac-encoded stream
ffmpeg -i source.mp4 -c:v vc2 -b:v 5000k output.drc
Conversion du .drc en format moderne (MP4 / H.264)
Pour garantir une large compatibilité sur les appareils mobiles, les navigateurs web et les centres multimédias, il est fortement recommandé de transcoder le fichier .drc en H.264/AAC standard :
ffmpeg -i input_video.drc -c:v libx264 -crf 20 -c:a aac output_compatible.mp4
Foire aux questions (FAQ)
**Q1: Qu’est‑ce qu’un fichier .drc ?
Un fichier .drc est un fichier vidéo contenant des données vidéo compressées à l’aide du codec BBC DIRAC, open‑source et libre de redevances.
**Q2: Pourquoi le codec DIRAC n’est‑il pas largement utilisé dans le streaming web moderne aujourd’hui ? L’accélération matérielle et le soutien de l’industrie se sont concentrés sur H.264/H.265 et AV1, limitant l’adoption du Dirac à usage général en dehors de la production de diffusion (SMPTE VC‑2).
**Q3: Le lecteur VLC moderne peut‑il ouvrir les fichiers .drc bruts ?
La plupart des versions modernes par défaut de VLC ont abandonné l’analyse native du conteneur .drc, faisant de FFmpeg ou des convertisseurs dédiés l’option privilégiée.
**Q4: Quelle est la différence entre Dirac et Dirac Pro ? Dirac est un codec à ondelettes inter‑images pour le streaming et la diffusion généraux, tandis que Dirac Pro (SMPTE VC-2) est un codec à faible latence, uniquement intra‑image, conçu spécifiquement pour la production et la contribution en diffusion.
**Q5: DIRAC est‑il totalement exempt de frais de licence ? Oui, la BBC a développé DIRAC comme une spécification ouverte, sans redevance, sous licences open source afin d’éviter les pools de brevets restrictifs.
Références et lectures complémentaires
- FileInfo.com : Aperçu de l’extension de fichier DRC
- BBC R&D : Recherche et publications sur la compression vidéo Dirac
- Normes SMPTE : SMPTE ST 2042-1 (Norme de compression vidéo VC-2)
- Documentation du projet FFmpeg : Prise en charge des codecs Dirac et VC-2 par FFmpeg