Cette étude n’a pas impliqué de participants humains, de sujets humains, d’animaux ou d’échantillons cliniques. Par conséquent, l’approbation éthique institutionnelle et le consentement éclairé n’étaient pas requis.
Matériaux et logiciels
L’environnement utilisé pour déployer le framework était Hyperledger Fabric version 2.4.8, CouchDB, Docker Containers, le déploiement Minifab, les applications de traitement multimédia FFmpeg et le langage de programmation Go. Hyperledger Fabric fournissait des services de gestion décentralisée du registre et d’exécution de contrats intelligents, tandis que CouchDB stockait et récupérait efficacement les informations sur le droit d’auteur via un stockage hors chaîne. FFmpeg était utilisé pour le prétraitement des vidéos et l’extraction des images vidéo, tandis que des algorithmes de hachage perceptuel étaient appliqués via des bibliothèques de hachage d’images dans le langage de programmation Go. Une liste de tous les outils et de leurs descriptions respectives est illustrée dans le Tableau des Matériaux.
Architecture du cadre
Le cadre proposé utilise des algorithmes de hachage perceptuel au sein du Hyperledger Fabric de la blockchain autorisée afin de permettre une approche décentralisée de la protection du droit d’auteur vidéo et de la validation de la propriété. Le cadre se compose de cinq composantes principales : le prétraitement vidéo, la génération perceptuelle de hachages, l’enregistrement des droits d’auteur basé sur la blockchain, et la vérification basée sur la similarité. Dans ce cadre, Hyperledger Fabric sert de couche de confiance, fournissant des enregistrements de propriété immuables, tandis que CouchDB fournit un stockage hors chaîne. L’architecture globale du cadre proposé est illustrée à la Figure 1.
Modèle du système de vérification du droit d’auteur
Un flux de travail détaillé du système étudié est présenté à la Figure 2. Cela commence par l’acquisition vidéo, suivie d’une extraction d’images à intervalles réguliers à l’aide de FFmpeg. Les trames extraites sont traitées dans l’environnement d’implémentation Hyperledger Fabric, qui inclut des actions telles que l’enregistrement de la propriété, l’administration des certificats, la communication entre pairs et la validation des transactions. Le hachage perceptuel est appliqué aux images extraites, suivi d’un calcul de distance de Hamming pour évaluer le degré de similarité. Si la distance de Hamming est inférieure au seuil, la trame est considérée comme authentique et similaire au contenu enregistré ; sinon, il est considéré comme du contenu modifié.
Acquisition vidéo, prétraitement et création de hachage perceptuel
Les échantillons vidéo utilisés dans l’expérience étaient des fichiers MP4 à la résolution 480p, d’une durée moyenne d’environ 26 secondes. Le jeu de données d’évaluation comprenait 15 échantillons vidéo, incluant une vidéo de référence originale et plusieurs versions modifiées. Ces modifications comprenaient des tâches d’édition courantes telles que modifier le taux d’images, insérer, supprimer ou remplacer des images, et appliquer des distorsions telles que le recadrage, l’échelle, la rotation et les effets de superposition. Le jeu de données comprenait également des ajouts de compression, de bruit, de texte et d’autocollants, des effets de glitch, et bien plus encore. Toutes les vidéos étaient au format MP4 en résolution 480p et subissaient les mêmes étapes de prétraitement et de génération d’empreintes digitales. Conçu pour tester la résilience du système, ce jeu de données couvre un large éventail de scénarios réels impliquant violation et manipulation. Avant d’être soumis à la détection et à la confirmation des droits d’auteur, les fichiers vidéo subissaient un prétraitement dans FFmpeg. Les images des fichiers vidéo étaient extraites à intervalles d’une seconde pour obtenir des résumés condensés sous forme de contenu visuel qui restaient peu coûteux à traiter en calcul. Ensuite, ces images ont été converties en niveaux de gris et normalisées pour minimiser les variations d’intensité des pixels dues aux conditions d’éclairage, à l’encodage et aux différences de compression.
Quatre fonctions de hachage perceptuel ont été utilisées pour produire des empreintes digitales vidéo sous forme de hachage moyen (aHash), hachage différentiel (dHash), hachage perceptuel (pHash) et hachage wavelet (wHash).
Pour la génération de hachages, les trames ont d’abord été converties en niveaux de gris puis redimensionnées en 8x8 pixels pour calculer aHash et dHash. Avec aHash, une empreinte digitale de 64 bits était générée en comparant chaque pixel à la valeur moyenne en niveaux de gris. L’algorithme dHash faisait quelque chose de similaire, créant également une empreinte digitale de 64 bits, mais il examinait comment les intensités horizontales adjacentes des pixels différaient. Pour pHash, les images ont été redimensionnées à 32x32 pixels, puis la transformée discrete du cosinus a été calculée. Pour générer l’empreinte perceptive de 64 bits, seuls les coefficients DCT basse fréquence 8x8 ont été utilisés. Quant à wHash, les images ont de nouveau été redimensionnées à 32x32 pixels, mais cette fois traitées avec une transformée en ondelette de Haar. Un hachage de 64 bits était généré à partir des coefficients d’ondelettes de la plus basse fréquence extraits. Tous ces paramètres visent à trouver un bon équilibre entre efficacité de calcul et solidité pour gérer les ajustements vidéo typiques.
Pour effectuer des calculs efficaces de la fonction de hachage, ces images ont été normalisées et redimensionnées. La méthode de hachage moyen fonctionne en comparant l’intensité des pixels à celle de la moyenne de l’image. Le hachage par différence fonctionne de manière similaire mais se concentre sur les gradients locaux en comparant l’intensité des pixels avec celle des pixels voisins. Le hachage perceptuel utilise des caractéristiques de Fourier résultant de la DCT, tandis que le hachage en ondettes repose sur les résultats de la transformation en ondelettes pour extraire les caractéristiques.
Enregistrement et vérification du droit d’auteur basés sur la blockchain
Les empreintes perceptuelles, les métadonnées de propriété, les horodatages et les détails de transaction obtenus sont transmis à la blockchain Hyperledger Fabric via le smart contract vitChain. La mise en œuvre de la blockchain comprend deux organisations, deux pairs, deux nœuds ordonnés, deux nœuds d’autorité de certification (CA) et des bases de données d’état CouchDB, tous reliés via un canal automatique. Le cadre blockchain autorisé facilite un traitement sécurisé, un accès restreint et un stockage inviolable des informations sur le droit d’auteur.
La procédure d’enregistrement des droits d’auteur commence une fois que le propriétaire du contenu télécharge la vidéo via l’interface utilisateur. Lorsqu’un utilisateur soumet une vidéo pour enregistrement de droits d’auteur, la couche application appelle le smart contract vitChain via le SDK Hyperledger Fabric. Cette inscription inclut un identifiant de transaction unique, des informations du propriétaire, un identifiant vidéo, un horodatage et quatre types de valeurs de hachage perceptuelles : aHash, dHash, pHash et wHash. Il y a aussi des métadonnées sur le contenu. L’application envoie la proposition de transaction aux pairs qui les ont endossés. Ces pairs exécutent ensuite la logique des contrats intelligents et s’assurent que la transaction respecte la politique d’endossement. Après validation réussie, la transaction passe au service de commande. Ici, les transactions vérifiées sont regroupées en blocs et envoyées à des nœuds pairs pour inclusion dans le registre. Pendant ce temps, les métadonnées associées sont intégrées à CouchDB. Ils se connectent aux enregistrements de la blockchain via l’ID de transaction, permettant des recherches faciles et maintenant des données on-chain et hors chaîne cohérentes.
Après le prétraitement et les calculs de hachage perceptuels, les empreintes digitales, ainsi que leurs métadonnées associées, sont assemblées en une transaction à exécuter par le contrat intelligent. La validation des transactions est réalisée par les pairs participants conformément à la politique d’endossement spécifiée. Après endossement, la transaction est transmise au service de commande pour être incluse dans un bloc du grand livre distribué. Pour un fonctionnement fiable, nous avons inclus la gestion des erreurs de base dans les processus d’enregistrement et de vérification. Avant qu’une transaction n’ait lieu, l’application vérifie les métadonnées obligatoires, les informations de propriété et les hachages perceptuels pour éviter les problèmes. Si les transactions ne respectent pas les règles d’endossage ou ont des paramètres invalides, les nœuds pairs les rejettent purement et simple. Lorsqu’il y a des problèmes tels que des défaillances de communication ou des erreurs de traitement, le système les enregistre et envoie une alerte administrative. Cela aide à prévenir les erreurs mineures de traitement qui ne se propagent dans le système. Lors des vérifications de droits d’auteur, les vidéos contenant des métadonnées invalides ou des valeurs de hachage corrompues sont exclues du processus de vérification. Les vidéos pour lesquelles la génération d’empreintes digitales échoue sont également exclues du processus de vérification. Dans l’ensemble, ces étapes maintiennent les données propres et renforcent la fiabilité du cadre. Les informations de propriété de la vidéo protégée par le droit d’auteur deviennent immuables et sont disponibles pour une récupération ultérieure.
Vérification
Le processus de vérification implique des étapes similaires de prétraitement et de calcul d’empreintes digitales, suivies d’une comparaison des empreintes digitales avec celles stockées dans la blockchain à l’aide d’une mesure de similarité basée sur la distance de Hamming. Sur la base de la mesure de similarité, le smart contract détermine les informations de copyright de la vidéo soumise. Le flux de travail d’interaction est représenté à la Figure 3.
Vérification du droit d’auteur basée sur la similarité
Le processus de vérification du droit d’auteur compare les empreintes digitales perceptuelles dérivées de la vidéo de requête avec celles précédemment stockées dans le système blockchain. Le même processus de prétraitement et de génération de valeur de hachage utilisé lors de l’enregistrement est répété lors de la phase de vérification pour maintenir la cohérence. La similarité est mesurée à l’aide de la distance de Hamming, qui compte le nombre de différences de bits entre deux valeurs de hachage. Des distances de Hamming plus petites indiquent une plus grande similarité entre les deux vidéos, tandis que des distances de Hamming plus élevées indiquent une manipulation du contenu. Pour vérifier si la vidéo de requête correspondait à la vidéo enregistrée, nous avons utilisé la distance de Hamming entre leurs valeurs de hachage perceptuelles. Sur la base d’expériences préliminaires, un seuil de distance de Hamming de 20 a été choisi afin d’offrir un équilibre approprié entre la robustesse aux opérations courantes de traitement vidéo et la sensibilité aux modifications non autorisées. Les vidéos avec une distance Hamming de 20 ou moins étaient considérées comme représentant le même contenu protégé par le droit d’auteur. Si c’était plus, cela montrerait de grands changements. Ce 20 a été choisi pour gérer les montages vidéo courants comme la compression, le filtrage, le transcodage et les changements de fréquence d’images, mais il détecte toujours des modifications non autorisées. Des mesures de similarité sont effectuées pour toutes les empreintes digitales collectées, puis agrégées pour aboutir à une conclusion de vérification du droit d’auteur. Les vidéos qui s’écartent du contenu enregistré sont signalées pour un examen approfondi.
Environnement de déploiement
L’environnement de banc d’essai a été créé à l’aide de conteneurs Docker et de l’outil d’orchestration Minifab. Un réseau blockchain basé sur la version 2.4.8 de Hyperledger Fabric a été déployé avec CouchDB comme base de données d’État et couche de stockage pour les données de contrats intelligents. Le smart contract vitChain a été implémenté dans Go et déployé en utilisant le cycle de vie du code chaîne Hyperledger Fabric. Les paramètres de déploiement sont résumés dans le tableau 2. Le réseau était composé de deux organisations participantes, à savoir le Content Creator et le Vidéaste. Pour garantir l’intégrité des transactions et prévenir l’enregistrement ou la modification non autorisée du droit d’auteur, une politique d’endossement multi-organisations a été mise en place, nécessitant l’approbation des deux organisations avant qu’une transaction puisse être inscrite au registre. Plus précisément, la politique d’approbation suivait une règle ET, exprimée en ET ('ContentCreatorMSP.peer', 'VideographerMSP.peer').