Les Codecs VLC et les Chaînes de Blocs

Prise en Compte des Chaînes de Blocs (Blockchains en Anglais)

Cet article a pour but de montrer comment on peut utiliser les codecs audio VLC pour construire des chaînes de blocs avec les objets connectés. Ces chaînes peuvent être indépendantes ou reliées à un réseau de chaîne de blocs classique par l'intermédiaire d'un bloc de liaison (chaîne latérale ou sidechain en Anglais). L'utilisation d'un filigrane numérique (tatouage numérique ou encore digital watermark en Anglais), en liaison avec ces chaînes de bocs, permet de monétiser les données en évitant des piratages à grande échelle, ou encore de valider la provenance des données.

Pour plus d'informations sur les codecs VLC, voir aux adresses suivantes:
   - Algorithmes
   - Page d'Accueil

Pour plus d'informations sur l'utilisation des codecs VLC avec les objets connectés, voir à l'adresse suivante:
   - IoT / M2M

Pour une introduction rapide aux chaînes de blocs, voir à l'adresse suivante:
   - Blockchain

On s'intéresse aux données des objets connectés pouvant supporter la compression avec perte. Les données sont régulièrement espacées dans le temps, du genre une donnée toutes les demi-secondes, toutes les secondes, toutes les deux secondes, etc. Si les données ne sont pas régulièrement espacées, il faut faire des interpolations pour qu'elles le soient.
Si on a des données toutes les secondes, au bout de 10 minutes, on obtient 600 points. On pourra prendre des tampons FFT (Transformation de Fourier Rapide, ou Fast Fourier Transform en Anglais) de 600 à 1024 points. Il y aura émission d'une trame FFT toutes les dix minutes.
Les fréquences élevées ou très élevées ( 48 kHz, 96 kHz, 192 kHz, ...) sont également concernées.

Les codecs VLC sont basés sur FFT et considèrent deux plans: l'avant plan constitué des plus grands points (points de plus grande magnitude) et l'arrière plan constitué des bandes les plus énergétiques (une partie du reste des points, organisée en bandes). Il est possible et rapide d'inclure une zone contigüe de points ou tout le reste des points dans l'arrière plan (pas de tri pour choisir les bandes les plus énergétiques, pas de transmission des positions des bandes).
L'arrière plan est codé avec une précision moindre que l'avant plan, notamment, on peut ne pas mettre de phase pour les points, ou juste prendre le signe de la phase. Cette propriété permet d'augmenter les taux de compression sans perte significative de qualité.

On conserve les propriétés des chaînes de blocs classiques, notamment le bloc courant (bloc N) contient le hash du bloc précédent (bloc N-1). Pour les trames FFT de petite taille, les transactions sont remplacées par les données du codec (les trames FFT compressées). Pour les trames FFT de grande taille, une transaction est remplacée par un pointeur vers une trame (ou l'URL d'une trame) ainsi que le hash de la trame.



Données provenant des Objets Connectés et Filigranes

Les blocs validés sont publics et non modifiables. Cependant dans le cadre d'une utilisation commerciale, il est très difficile de faire valoir ses droits sur les données sans le tatouage numérique. Si on est intéressé par cet aspect des choses, la trame compressée inclue dans un bloc ne doit pas être la trame compressée du signal d'origine seul, mais la trame compressée du signal d'origine avec un filigrane numérique.
Le filigrane est appliqué sur les amplitudes des points de l'avant plan (amplitudes des sinus et des cosinus), ceci a une incidence sur les magnitudes et les phases de ce plan.
Un signal modifié profondément à l'extérieur efface les filigranes, mais ne peut pas être validé par la chaîne de blocs et entraîne des données totalement erronées. Un signal non modifié est validé par la chaîne de blocs et entraîne la préservation des filigranes numériques. Un signal légèrement modifié à l'extérieur ne peut pas être validé mais conserve les filigranes.
Nous préconisons l'utilisation d'une méthode appelée schéma NEC (NEC Scheme en Anglais), issue d'une méthode plus globale appelée Tatouage Perceptuel (Perceptual Watermarking en Anglais), laquelle fait partie de la famille des Tatouages par Etalement de Spectre (Spread Spectrum Watermarking en Anglais).

Pour plus d'informations sur le Tatouage par Etalement de Spectre, voir à l'adresse suivante (en Anglais):
   - Watermarking



DApp (Application Décentralisée ou Decentralized App en Anglais)

Une DApp est une application qui fonctionne sur un réseau décentralisé de machines.
Il est prévu de développer une DApp permettant de compresser et de décompresser les données compatibles provenant des objets connectés, et, à la demande, d'insérer ou de vérifier des filigranes numériques.

Notes

- Le premier bloc de la chaîne peut être relié à un système classique en utilisant la technologie de la chaîne latérale. Un point d'ancrage unique permet de minimiser les coûts d'insertion des blocs et d'utiliser la monnaie virtuelle du système parent.
- La méthode présentée est compatible avec le recouvrement partiel des trames (à 50% ou moins) qui est souvent utilisé pour éliminer les effets de bord engendrés par la compression.
- Si on utilise le logarithme pour encoder les magnitudes, il faut utiliser une précision adaptée au problème. De même, les phases de l'avant plan doivent être encodées avec une précision suffisante.
- Les codecs VLC n'utilisent pas la psycho-acoustique pour améliorer les taux de compression, ces notions n'étant pas valables avec les données des objets connectés.
- Les méthodes de compression et de décompression utilisées pour l'audio sont utilisées, les fréquences d'échantillonnage et le nombre de trame(s) par seconde ne sont plus les mêmes.
- La compression permet de réduire les coûts de stockage, de transmission et de traitement.
- La méthode présentée est compatible avec le cryptage des données. Le cryptage des données est cependant une solution incomplète. Les données provenant des objets connectés sont souvent anonymes ou rendues anonymes. Une fois décryptées, ces données peuvent être distribuées sans modification ou après de légères modifications.
- En plus de compresser efficacement les données provenant de certains objets connectés et des séries temporelles, les codecs VLC peuvent être utilisés pour créer des chaînes de blocs contenant des données compressées, sans ou avec des filigranes numériques.