Brevet FR3002717A1 — publié le 20140829

TITRE PROCEDE DE DECROCHAGE POUR FLUX EMBROUILLES L'objet de l'invention concerne un procédé et un système permettant 5 d'effectuer du décrochage local plus connu sous le terme anglo-saxon « splicing » sur des flux embrouillés ou « scrambling stream » sans avoir à exécuter un décodage ou désembrouillage du flux en fonctionnement normal. Les systèmes de diffusion de programmes permettent aux fournisseurs de service d'insérer des programmes publicitaires ou des programmes courts dans les programmes distribués nationalement, avant d'être transmis aux usagers. Dans la pratique connue, les systèmes et procédés pour réaliser le processus de « splicing » utilisent un premier équipement pour désembrouiller le premier flux national, un deuxième équipement pour réaliser le « splicing » et un 15 troisième équipement pour embrouiller le deuxième flux de sortie après splicing et diffuser les programmes au niveau local. L'utilisation de plusieurs équipements conduit notamment à augmenter les coûts d'installation, de maintenance, la latence dans la diffusion des programmes. 20 Dans la suite de la description, les acronymes suivants sont utilisés : CW : mot de contrôle ou « control word », ECM : message de contrôle qui contient des critères d'accès à un service et une clé ou mot de contrôle, ou « entitlement control message », ECMG : un gestionnaire de message de contrôle, 25 EMM : message qui contient des informations d'accès à un service, ou « entitlement management message », CP : désigne une crypto-période, SI/PSI : Information Service/Information Spécifique de Programmeou « Service Information/Program Specific Information ». 30 L'idée de la présente invention repose notamment sur la mise en oeuvre d'un procédé de décrochage ou « splicing » sur des flux embrouillés qui ne nécessite pas à avoir à désembrouiller/réembrouiller les flux intervenants dans l'opération. L'invention concerne un procédé pour réaliser le décrochage ou « splicing » à un premier instant TSF dans un système diffusant au moins un premier flux embrouillé Fie au moyen d'un premier mot de contrôle CW1 et au moins un deuxième flux embrouillé F2e par un mot de contrôle CW2 caractérisé en ce qu'il utilise une même valeur CW de mot de contrôle fixe pour embrouiller simultanément et pendant la durée du splicing, au moins partiellement le premier flux Fi et au moins partiellement le deuxième flux F2, le mot de contrôle CW étant fixe pendant la durée du décrochage du premier flux vers le deuxième flux et en ce que, dans un délai donné après l'instant de décrochage Ts1, on diffuse les messages ECM2 associés au deuxième flux F2. La valeur du mot de contrôle CW est, par exemple, déterminée au moyen d'un algorithme commun au dispositif d'embrouillage du premier flux F1 et au dispositif d'embrouillage du deuxième flux F2. Selon un autre mode de réalisation, la valeur CW du mot de contrôle est 15 déterminée à partir d'une table mémorisant pour un instant donné, une valeur de mot de contrôle, le générateur du mot de contrôle utilisant ladite table M pour embrouiller partiellement le premier flux F1 et pour embrouiller partiellement le deuxième flux F2, pour le splicing. Le procédé peut être utilisé pour le décrochage d'un premier flux Fi vers 20 un deuxième flux F2 et le procédé est caractérisé en ce qu'il comporte au moins les étapes suivantes : - embrouiller au moins partiellement les paquets du premier flux F1 à diffuser, à l'aide d'un premier mot de contrôle CW1, - déterminer un premier point de décrochage à l'instant de décrochage Tel et 25 déclencher Ti secondes avant ce point, un mode d'embrouillage utilisant un mot de contrôle fixe CW, afin d'embrouiller partiellement le premier flux Fi, - transmettre l'information de point de décrochage à l'instant de décrochage T81 au deuxième flux F2, - T2 secondes avant de point de décrochage à l'instant de décrochage TSF, 30 embrouiller au moins partiellement le flux F2 avec le mot de contrôle fixe CW calculé, - après le point de décrochage à l'instant de décrochage T81, arrêter la diffusion des messages de contrôle ECM1 associés au premier flux Fi et diffuser les messages ECM2 associés au deuxième flux F2 en utilisant le même indicateur de paquets PID que l'indicateur utilisé pour les messages ECM1 du premier flux Fi. Le point de décrochage T81 est, par exemple, déterminé à partir de tables 5 SCTE35 diffusées avec le premier flux Fi vers le dispositif générant le deuxième flux F2. Le premier flux Fi est, par exemple, un flux national, le deuxième flux F2 est un flux comprenant un programme local ou un programme publicitaire. Le procédé va choisir pour T81, des valeurs entières de crypto-périodes. 10 Selon un mode de réalisation, le premier flux et le deuxième flux étant des flux audio/vidéo, on réalise le décrochage sur les paquets contenant les débuts d'images et de trames audio. L'invention concerne aussi un système pour réaliser le décrochage lors de la diffusion d'un premier flux embrouillé Fie au moyen d'un premier mot de contrôle 15 CW1 et un premier embrouilleur vers un deuxième flux embrouillé F2e par un deuxième mot de contrôle CW2 et un deuxième embrouilleur, le système est caractérisé en ce qu'il comporte au moins les éléments suivants : - un moyen de gestion adapté à faire passer un mode de calcul aléatoire de mot de contrôle CW vers un mode de calcul fixe de mot de contrôle CW et 20 réciproquement, sur réception d'un paramètre, - un moyen adapté à générer un mot de contrôle fixe CW pendant une durée de splicing Ts, simultanément pour le premier flux Fi et pour le deuxième flux F2, - un splicer adapté à gérer les messages ECM1 associés au premier flux F1 et les messages ECM2 associés au deuxième flux F2. 25 Le système selon l'invention peut comprendre un algorithme adapté à générer un ou plusieurs même(s) mot(s) de contrôle fixe CW pour embrouiller le premier flux F1 et pour embrouiller le deuxième flux F2 pendant une durée correspondant à la durée de splice. Le système peut être équipé d'une table M mémorisant des couples 30 formés de la valeur d'un mot de contrôle CW et d'un instant de splice Ts. D'autres caractéristiques et avantages du dispositif selon l'invention apparaîtront mieux à la lecture de la description qui suit d'un exemple de réalisation donné à titre illustratif et nullement limitatif annexé des figures représentant : - La figure 1 un exemple d'architecture du système selon l'invention, - La figure 2, un diagramme schématisant pour deux flux, les étapes appliquées par le procédé lors du splicing. La description qui suit est donnée dans le cas d'un flux national embrouillé dans lequel un fournisseur souhaite insérer des programmes de publicité locaux. Il est clair que l'invention peut aussi être utilisée dans tout système comprenant un premier flux embrouillé dans lequel on souhaite insérer des programmes de publicité ou des programmes courts sans avoir à désembrouiller les flux. Du côté du système national, le dispositif 1 comprend une source de signaux vidéo 2 qui vont être transmis à un équipement d'embrouillage 3. Ce dernier fonctionne, par exemple, sur la base d'un signal dit « séquence d'embrouillage » qui détermine comment l'embrouillage est réalisé, avec un premier mot de contrôle CW1. Les signaux embrouillés, premier flux national, sont diffusés via un réseau 4 vers un équipement local 10. L'embrouilleur national 3 est en liaison avec un des tables SI/PSI, 5, un générateur 6 de mots de contrôle CW, un générateur 7 de messages ECM de Fi. La séquence d'embrouillage du flux national Fi est générée et fournie par un générateur de séquence d'embrouillage qui comprend notamment un générateur pseudo-aléatoire initialisé par un premier mot de contrôle CW1, selon un procédé connu de l'Homme du métier qui ne sera pas explicité dans la présente description. L'équipement local 10 est équipé d'un dispositif d'embrouillage 11 adapté à réaliser l'embrouillage du flux local F2 par une séquence d'embrouillage, en utilisant un deuxième mot de contrôle CW2. Le dispositif d'embrouillage 11 est en liaison avec des tables SI/PSI, 12, un générateur 13 de mot de contrôle CW2, un générateur 14 de messages ECM de F2. Le flux embrouillé F2e est transmis à un « décrocheur » ou « splicer » 15 qui reçoit aussi le flux embrouillé Fie. En sortie du splicer, on a, par exemple, en début de décrochage ou « splice », le flux Fie et les messages ECM1 de Fie, puis le flux F2e avec les messages ECM2, puis en fin de splice le flux Fie et les 30 messages associés ECMi. La séquence d'embrouillage du flux local F2 est générée et fournie par un générateur de séquence d'embrouillage qui comprend notamment un générateur pseudo-aléatoire initialisé par un deuxième mot de contrôle CW2. Les deux mots de contrôle aléatoires CW1 et CW2 ne sont pas synchronisés. Ils sont générés, par exemple, toutes les n secondes afin de faire varier la clé ou mot de contrôle et ils sont transmis vers le décodeur permettant l'accès au programme national en dehors du décrochage local et au programme local pendant ce décrochage avant que ce dernier n'en ait besoin de façon à ce qu'un utilisateur puisse regarder l'émission. L'idée mise en oeuvre par le procédé selon l'invention repose notamment sur l'utilisation d'un mot de contrôle CW qui va être fixe pendant une durée donnée correspondant à la durée Ts de splicing et qui va être identique pour embrouiller le premier flux F1 national et pour embrouiller le deuxième flux F2 local. Ainsi, avant d'exécuter l'étape de splicing les deux flux sont embrouillés avec la même clé ou mot de contrôle CW. L'embrouilleur au niveau national et l'embrouilleur au niveau local sont équipés d'un même algorithme de génération de mots de contrôle fixes pendant la 15 durée du splicing. De manière similaire à l'équipement national, selon un premier mode de réalisation, l'embrouilleur va être équipé d'un algorithme de génération de mot de contrôle fixe pendant la durée du splicing. Selon un autre mode de réalisation, le dispositif d'embrouillage va comporter des tables mémorisant pour un instant donné 20 de splice Ts, un mot de contrôle fixe à utiliser, le générateur de mot de contrôle allant chercher cette information, lorsqu'il reçoit un paramètre donné l'avertissant d'un instant de décrochage. Pour la mise en oeuvre du procédé selon l'invention, le système demande, par exemple, comme pré requis, l'embrouillage de certains paquets audio/vidéo 25 uniquement (une majorité d'entre eux tout de même) au niveau de l'embrouillage national afin de préserver les en-têtes d'images/trames audio nécessaires pour le splicing local selon des techniques connues de l'Homme du métier. Les paquets audio/vidéo à ne pas embrouiller sont, par exemple, les paquets transports contenant : 30 - Un en-tête PES ou Packetized Elementary Stream (avec ou sans indicateurs PTS packet transport stream/DTS....) - Des en-têtes du standard MPEG-2 vidéo : o Séquence en-tête et extension « header and extension » o L'en-tête du groupe d'images ou « GOP header » o L'en-tête de l'image et de son extension « Picture header and extension » o Les données utilisateurs ou « User data » (pour le splicing de l'affichage en bas d'écran ou en anglo-saxon » closed caption ») Des en-têtes du standard H.264 vidéo : o SPS (sequence parameter set) o PPS (picture parameter set) o AUD o SEI supplemental enhanced information (pour le splicing des closed caption) o En-tête de slice ou Slice header Des en-têtes des standards audio (MPEG-1 layer 2, AAC, DD/DD+) de l'ordre de 7 octets. Une manière de procéder pour exécuter les étapes du procédé selon l'invention est d'équiper le dispositif d'embrouillage du premier flux national et le dispositif de splicing/embrouillage local d'un algorithme commun entre ces deux équipements, l'algorithme étant adapté à générer 2 mêmes mot de contrôle, un pair et un impair. La valeur de ces 2 mots de contrôle CWs est fixe pendant la durée Ts du splicing et varie pour chaque splicing. L'algorithme de calcul prend en entrée un paramètre choisi de façon à assurer la synchronisation des calculs des mots de contrôle effectués par les deux équipements. Ainsi, le paramètre utilisé pour déclencher le calcul du mot de contrôle peut être la donnée liée à l'horodatage du splice qui est contenue dans les tables SCTE35 et donc accessible aux deux équipements. Dans ce cas, la synchronisation du passage du calcul des CWs du mode aléatoire au mode « CW calculable » est réalisée via la diffusion des tables SCTE35. Le procédé va ensuite exécuter, par exemple, les étapes suivantes : - au niveau de l'embrouilleur national, le procédé va dérouler les étapes suivantes : la diffusion des tables SCTE35, puis le basculement de l'embrouillage du flux national F1, du mode « CW aléatoire » au mode « CW calculable ». Par exemple, le basculement entre modes peut être réalisé X cryptopériodes CP précédant le point de splicing correspondant à Tsi, afin de s'assurer que l'ECM courant au moment du splice transporte la valeur prédéfinie CW pour le mot de contrôle CWsp pair et la valeur prédéfinie pour le mot de contrôle CWsi impair, et ainsi permet de masquer l'utilisation d'un CW fixe pendant plusieurs crypto-périodes CPs correspondant à la durée du splice. La durée globale du mode « CW calculable », est, par exemple, de N secondes qui sont réparties avant et après le point de splice Ps à l'instant TSF. Une possibilité est de prendre N égal à 3 crypto-périodes CP. Ces étapes s'appliquent aussi dans le cas où l'on utilise la même valeur pour le mot de contrôle pair et le mot de contrôle impair. - au niveau du splicer-embrouilleur local, le procédé exécute, par exemple, les étapes suivantes : X CP avant le point de slicing repéré, on passe l'embrouillage du flux local en mode « CW calculable », avec X=2, par exemple, on embrouille les paquets ES avec le mot de contrôle CW calculé (en respectant le basculement de parité à chaque changement de cryptopériode), on génère au niveau du flux local des ECM2 transportant le mot de contrôle CW prédéfini, on exécute l'étape de décrochage du flux national vers le flux local, puis on filtre les ECM1 du flux national F1 et on diffuse les ECM2 du flux local F2 sur le même identificateur de paquets PID que les ECM1 du flux national, puis, à la crypto-période CP+1 suivante, on passe en mode « CW aléatoire » afin de chiffrer le flux local F2 pour la suite de sa diffusion. Pour gérer le retour sur le flux national, le procédé va exécuter les étapes suivantes : - au niveau de l'embrouilleur national : la diffusion des tables SCTE35, dans cet exemple de mise en oeuvre ou encore de tout moyen permettant de repérer le point de splicing, Ts2, le basculement de l'embrouillage du mode « CW aléatoire » au mode « CW calculable » selon une durée identique à celui du splice (on utilise le mode « CW calculable » sur la durée du splice), après 3 CP (par exemple) en mode « CW calculable », on bascule en mode « CW aléatoire » afin de chiffrer le flux national selon une méthode connue et poursuivre la diffusion de ce flux chiffré ; - au niveau du splicer-embrouilleur local : 2 CP avant le point de splicing repéré Ts2, par exemple via les tables SCTE35 du flux national, ou par tout autre moyen, on passe de l'embrouillage du flux local du mode « CW aléatoire » au mode « CW calculable », on continue à diffuser les ECM locaux, et on continue à filtrer les ECM du flux national, puis, après le splice, on arrête le filtrage des ECM du flux national et on arrête la diffusion des ECM locaux. Deux splicings sont réalisés dans le procédé selon l'invention. Le premier splicing concerne le splicing audio/vidéo qui est réalisé sur les paquets contenant les débuts d'images et de trames audio. Il consiste, notamment, à : - supprimer certaines trames audio ou images ou en anglo-saxon « Access Unit » et par là-même les paquets transports associés. - modifier les PTS/DTS et PCR des paquets pour assurer une continuité d'horloge malgré le splicing, tout en prenant en compte la dérive des horloges d'entrée. modifier les PIDs audio/vidéo du local pour qu'ils soient les mêmes que ceux du national. - modifier les headers des paquets vidéo à la transition pour assurer une continuité dans le décodage => ceci impliquera parfois de devoir créer des paquets si la taille des headers est augmentée. Cette méthode ne fonctionnera pas dans le cas particulier du CAVLC en H.264 (cas peu utilisé en H.264). Le deuxième splicing est celui des ECM et des EMM. Le flux local étant embrouillé, on bascule du PID ECM du national à celui du local en « remappant » le PID de sortie pour faire en sorte qu'il y ait un seul PID ECM en sortie du splicer ; dans ce cas également les descripteurs des conditions d'accessibilité ou en anglo-saxon « CA_descriptors » sont donc toujours présents et inchangés dans la signalisation (PMT abrégé anglo saxon de program map table). Si le flux national F1 transporte des EMMs, le splicer les laisse passer; la 5 CAT est inchangée (présence des CA_descriptors référençant les EMM). Le procédé selon l'invention permet avantageusement de travailler sur des flux embrouillés et de ne pas avoir à les décoder en fonctionnement normal du procédé. REVENDICATIONS1 - Procédé pour réaliser le décrochage ou « splicing » à un premier instant Tsi dans un système diffusant au moins un premier flux embrouillé Fie au moyen d'un premier mot de contrôle CWi et au moins un deuxième flux embrouillé F2e par un mot de contrôle CW2 caractérisé en ce qu'il utilise une même valeur CW de mot de contrôle fixe pour embrouiller simultanément et pendant la durée du splicing, au moins partiellement le premier flux Fi et au moins partiellement le deuxième flux F2, le mot de contrôle CW étant fixe pendant la durée du décrochage Ts du premier flux vers le io deuxième flux et en ce que dans un délai donné après l'instant de décrochage Tsi on diffuse les messages ECM2 associés au deuxième flux F2. 2 - Procédé selon la revendication 1 caractérisé en ce que la valeur du mot de contrôle CW est déterminée au moyen d'un algorithme commun au dispositif 15 d'embrouillage du premier flux Fi et au dispositif d'embrouillage du deuxième flux F2. 3 - Procédé selon la revendication 1 caractérisé en ce que la valeur CW du mot de contrôle est déterminée à partir d'une table mémorisant pour un instant donné, une valeur de mot de contrôle, le générateur du mot de contrôle utilisant ladite table M 20 pour embrouiller partiellement le premier flux Fi et pour embrouiller partiellement le deuxième flux F2, pour le splicing. 4 - Procédé selon la revendication 1 pour le décrochage d'un premier flux Fi vers un deuxième flux F2 caractérisé en ce qu'il comporte au moins les étapes suivantes : 25 - embrouiller au moins partiellement les paquets du premier flux Fi à diffuser, à l'aide d'une première clé CW i, - déterminer un premier point de décrochage à l'instant de décrochage Tel et déclencher Ti secondes avant ce point un mode d'embrouillage utilisant un mot de contrôle fixe CW, afin d'embrouiller partiellement le premier flux F1, 30 - transmettre l'information de point de décrochage à l'instant de décrochage T si au deuxième flux F2, - T2 secondes avant de point de décrochage à l'instant de décrochage Tsi, embrouiller au moins partiellement le flux F2 avec le mot de contrôle fixe CW calculé,après le point de décrochage à l'instant de décrochage Tsi, arrêter la diffusion des messages de contrôle ECM1 associés au premier flux Fi et diffuser les messages ECM2 associés au deuxième flux F2 en utilisant le même indicateur de paquets PID que l'indicateur utilisé pour les messages ECM1 du premier flux Fi. 5 - Procédé selon la revendication 4 caractérisé en ce que le point de décrochage TSF est déterminé à partir de tables SCTE35 diffusées avec le premier flux Fi vers le dispositif générant le deuxième flux F2. 6 - Procédé selon l'une des revendications 4 et 5 caractérisé en ce que le premier flux Fi est un flux national, le deuxième flux F2 est un flux comprenant un programme local ou un programme publicitaire. 7 - Procédé selon l'une des revendications 4 à 6 caractérisé en ce que l'on choisit pour Tsé des valeurs entières de crypto-périodes. 8 - Procédé selon l'une des revendications 4 à 6 caractérisé en ce que le premier flux et le deuxième flux étant des flux audio/vidéo, on réalise le décrochage sur les paquets contenant les débuts d'images et de trames audio. 9 - Système pour réaliser le décrochage ou « splicing » à un premier instant TSF dans un système diffusant au moins un premier flux embrouillé Fie au moyen d'un premier mot de contrôle CW1 et un premier embrouilleur (3) et au moins un deuxième flux embrouillé F2e par un deuxième mot de contrôle CW2 et un deuxième embrouilleur (10) caractérisé en ce qu'il comporte au moins les éléments suivants : - un moyen de gestion adapté à faire passer un mode de calcul aléatoire de mot de contrôle CW vers un mode de calcul fixe de mot de contrôle CW et réciproquement, sur réception d'un paramètre, - un moyen adapté à générer un mot de contrôle fixe CW pendant une durée de splicing Ts, simultanément pour le premier flux F1 et pour le deuxième flux F2, - un contrôleur (15) adapté à gérer les messages ECM1 associés au premier flux F1 et ECM2 associés au deuxième flux F2. 10 - Système selon la revendication 9 caractérisé en ce qu'il comprend un algorithme adapté à générer un ou plusieurs même(s) mot(s) de contrôle fixe CW pour embrouiller le premier flux F1 et pour embrouiller le deuxième flux F2 pendant une durée correspondant à la durée de splice. 11 - Système selon la revendication 9 caractérisé en ce qu'il comprend une table M mémorisant des couples formés de la valeur d'un mot de contrôle et d'un instant de splice Ts. 10