Brevet FR2880221A1 — publié le 20060630

Procédé et dispositif d'analyse de signaux discrets, notamment d'estampilles terporelles. L'invention concerne un procédé et un dispositif d'analyse de signaux discrets. En particulier, l'invention s'applique à l'analyse des données temporelles, appelées estampilles temporelles, réparties dans les flux numériques à la norme MPEG-2. Dans la norme MPEG-2, utilisée notamment dans le domaine de la télévision numérique, les flux transport: sont définis pour des applications de transmission en temps réel entre un codeur et un décodeur. Ces flux sont insérés dans des paquets transport. L'en-tête des paquets transport comporte notamment un champ, contenant des données temporelles. Ce champ, appelé estampille temporelle ou Program Clock Reference (PCR) en anglais, a pour vocation de participer à la synchronisation complète du codeur et du décodeur. Les sources d'erreurs et d'imprécisions dans le contenu des estampilles et dans leur répartition sont introduites, notamment par les procédés connus d'encodage, par les moyens de transmission ou encore par les multiplexeurs traitant les différents flux avant leur diffusion. Ces erreurs peuvent engendrer des problèmes de décodage allant jusqu'à l'impossibilité de décoder les flux. Afin de juger de la qualité des flux reçus, les analyseurs actuels de flux MPEG-2, établissent des statistiques relatives aux estampilles temporelles. Les mesures servant de base à ces analyses sont: - la précision intrinsèque instantanée, ou point-to-point accuracy en anglais, qui résulte à un instant donné de la différence entre, d'une part un signal temporel de référence généré à partir du débit théorique du flux, et d'autre part un signal temporel reconstitué à partir de la mesure du temps présent dans les estampilles temporelles; de la gigue instantanée, ou point-to-point jitter en anglais qui résulte à un instant donné de la différence entre, d'une part un signal temporel de référence reçu d'une horloge externe, et d'autre part un signal temporel reconstitué à partir de la mesure du temps présent dans les estampilles temporelles. Pour effectuer ces deux mesures, les analyseurs MPEG-2 utilisent l'hypothèse communément admise d'un intervalle de temps constant entre deux estampilles consécutives. Or, dans la pratique, cette hypothèse n'est pas toujours vérifiée, puisque le temps s'écoulant entre deux estampilles consécutives peut varier entre 0 et 100 ms, tout en respectant les recommandations de la norme MPEG-2. II en découle que dans un certain nombre de cas les résultats indiqués par les analyseurs MPEG-2 relatifs à la précision intrinsèque instantanée et à la gigue instantanée sont erronés. L'invention a notamment pour but de pallier cet inconvénient. A cet effet, l'invention a pour objet un procédé d'analyse de signaux temporels discrets issus d'un flux de données. Ce procédé comporte au moins les opérations suivantes: la génération à partir du flux cle données et d'une horloge externe: 20 É d'un signal temporel TS(t) calculé par rapport au débit du flux de données; É d'un signal temporel externe TE(t) acquis à partir de l'horloge externe; - la génération, à partir du flux de données et des signaux temporels 25 de référence Ts(t) et TE(t) issus du module de génération des signaux de référence: É d'un signal continu de précision intrinsèque instantanée des données temporelles contenues dans des estampilles temporelles incluses dans le flux de données et, É d'un signal continu de gigue intrinsèque instantanée des données temporelles contenues dans les estampilles temporelles incluses dans le flux de données; la génération de statistiques concernant les données temporelles contenues dans les estampilles temporelles du flux de données à 35 partir des signaux temporels die référence, du signal continu de précision intrinsèque instantanée et du signal de gigue intrinsèque instantanée. L'étape de génération des signaux de référence calcule le signal temporel TS(t) pour un flux de données donné dont le débit est connu, en divisant la taille des données reçues à un instant donné par le débit du flux de données. Le pré-traitement des données temporelles issues d'un flux de données 1 o comporte: au moins une étape d'acquisition et d'horodatage qui extrait à un instant t d'un flux de données la valeur des données temporelles contenue dans les estampilles temporelles, et qui mémorise pour chaque donnée ainsi acquise la valeur, à cet instant t, des signaux de référence issue du module de génération de signaux temporels de référence; au moins une étape d'interpolation qui génère des signaux continus par interpolation à partir des valeurs mémorisées par le module d'acquisition et d'horodatage; au moins une étape d'échantillonnage et de filtrage qui sur-échantillonne puis traite par un filtre anti- recouvrement paramétré pour limiter le signal sur la bande d'étude définie selon l'application les signaux issus du module d'interpolation; au moins une étape de translation, qui soustraie aux signaux issus 25 du module d'échantillonnage et de filtrage les signaux de référence issus du module de génération de signaux temporels de référence. Par exemple, l'étape d'interpolation utilise une interpolation par pallier d'ordre 0, utilisant localement toute l'information disponible. L'étape 30 d'échantillonnage et de filtrage peut utiliser un filtre de hamming d'ordre 10. L'invention a également pour objet un dispositif mettant en oeuvre ce procédé d'analyse de signaux temporels discrets. 2880221 4 L'invention a notamment pour avantage qu'elle permet la comparaison des résultats d'analyse temporelle entre plusieurs flux issus de divers encodeurs ayant chacun une stratégie d'estampillage temporelle différente. L'invention propose une solution robuste vis à vis des flux dont l'estampillage est libre de toute contrainte en dehors d'une limite haute en fréquence (par exemple 25Hz ou 100Hz selon les cas). De plus, l'invention permet notamment d'optimiser les temps de calcul. D"autres caractéristiques et avantages de l'invention apparaîtront à 10 l'aide de la description qui suit faite en regard des dessins annexés qui représente: - la figure 1, l'hypothèse de distribution des estampilles dans les analyseurs MPEG-2; la figure 2, la distribution des estampilles telle que l'autorisent les 15 recommandations de la norme MPEG-2; la figure 3, un découpage fonctionnel du procédé selon l'invention; - la figure 4, un nuage de point représentant des données acquises et horodatées; la figure 5, une courbe représentant le signal résultant de 20 l'interpolation d'ordre 0 par palliers à partir des données temporelles issues des estampilles; la figure 6, une courbe présentant le résultat du sur-échantillonnage et du lissage du signal interpolé; - la figure 7, une courbe représentant le signal de précision 25 instantanée par rapport au signal de référence. La figure 1 présente l'hypothèse de distribution des estampilles temporelles utilisées jusqu'alors dans les analyseurs MPEG-2 selon l'art antérieur pour les calculs de la précision intrinsèque instantanée et de la gigue instantanée, déduits des estampilles temporelles. Dans cette hypothèse on considère que les estampilles sont séparées par des intervalles de temps égaux. On désigne par AT12 l'intervalle de temps entre une première estampille E1 et une seconde estampille E2 et par OT23 l'intervalle de temps entre les estampilles E2 et l'estampille suivante E3. Ainsi on considère que AT12 et AT23 sont égaux, et inférieurs à 100 ms. Il en est de même pour tous les intervalles de temps entre deux estampilles consécutives. La figure 2 montre un exemple de distribution des estampilles autorisée par les recommandations de la norme MPEG-2. Dans ce cas, les intervalles ne sonit pas nécessairement égaux. On désigne par AT12 l'intervalle de temps entre une première estampille E1 et une seconde estampille E2 et par AT23 l'intervalle de temps entre les estampilles E2 et l'estampille suivante E3. Ici AT12 et AT23 ne sont pas nécessairement égaux. AT12 et AT23 peuvent toutefois être compris entre 0 ms et 100 ms. Le procédé selon l'invention permet notamment de déterminer la précision intrinsèque instantanée et la gigue intrinsèque instantanée à partir des estampilles temporelles sans tenir compte des hypothèses simplificatrices exposées sur la figure 1. c'est à dire en se plaçant notamment dans le cas de la figure 2. Pour déterminer la précision intrinsèque instantanée et la gigue intrinsèque instantanée, un analyseur MPEG-2 doit disposer de signaux 20 temporels de référence. On peut notamment citer: - Un signal temporel, noté Ts(t). Ce signal temporel est propre à chaque flux F dont le débit théorique D exprimé par exemple en octets par unité de temps est connu. Etant donné que la taille Tp des paquets transport MPEG-2 exprimée par exemple en octets est fixe et que l'analyseur connaît à chaque instant le nombre n(t) de paquets transport qu'il a reçus, le signal Ts(t) est obtenu grâce à la formule suivante: Ts(t) = n(t) x Tp I) - Un signal temporel, noté TE(t), dit temps externe, acquis à partir d'une horloge externe. La figure 3 montre un exemple de mise en oeuvre du procédé selon l'invention. On distingue notamment: 2880221 6 Un module de génération cle signaux de référence 2 ayant en entrée au moins un signal temporel délivré par une horloge externe 1 et au moins un flux de données F contenant des estampilles temporelles. Le module de génération 2 délivre notamment en sortie les signaux temporels cle référence T5(t) et TE(t) ; Un module de pré-traitement 3 ayant en entrée le flux de données F et les signaux temporels de référence Ts(t) et TE(t). Le module de pré- traitement 3 comporte notamment un module d'acquisition et d'horodatage des estampilles 31, un module d'interpolation 32, un module 33 d'échantillonnage et de filtrage et un module de translation 34; - Un analyseur 4 utilisant notamment les signaux de sortie délivrés par le module de pré-traitement 3 et les signaux Ts(t) et TE(t) issus du module de génération de signaux de référence 2. L'analyseur 4 livre en sortie S un ensemble de statistiques. Le module de génération de signaux de référence 2 a notamment pour fonction: - de générer le signal temporel Ts(t) pour chaque flux de données F; - d'acquérir le signal temporel TE(t) à partir de l'horloge externe 1; de délivrer les signaux Ts(t) et TE(t) au module de prétraitement 3 et à l'analyseur 4. Le module de pré-traitement 3 a pour vocation de mettre en forme les informations temporelles contenues dans les estampilles de telle sorte que l'analyseur 4 puisse fournir des statistiques temporelles fiables indépendamment de la distribution des estampilles dans le flux. Les opérations conduites au niveau du module de pré-traitement 3 débute par l'acquisition des données temporelles contenues dans les estampilles au niveau du module d'acquisition et d'horodatage 31. A l'instant t où une estampille est extraite du flux F pour être lue, le module d'acquisition et d'horodatage 31 mémorise notamment pour chaque estampille les valeurs Ts(t) el: TE(t) reçues du module de génération de signaux de référence 2. 2880221 7' La figure 4 présente, sur un diagramme en nuage de points 41, un exemple des données temporelles acquises grâce aux estampilles. Ainsi les points, ont pour coordonnées: en abscisse, la valeur du temps de référence Ts(t) ou TE(t) à 5 l'instant où l'estampille temporelle est lue par l'analyseur 4; en ordonnée, la valeur temporelle contenue dans l'estampille. Le signal discret et apériodique construit par le module d'acquisition et d'horoclatage 31 ne permet pas la mesure de la précision intrinsèque instantanée ni de la gigue intrinsèque instantanée. Ce signal est ensuite transmis au module d'interpolation 32 qui se charge de générer un signal continu, noté Sc(t), par interpolation. Afin d'optimiser les ressources en terme de puissance de calcul, une interpolation par pallier d'ordre 0 peut être utilisée. Toutes les informations localement disponibles au moment de l'interpolation peuvent alors être utilisées. La figure 5 représente un exemple de courbe 51 obtenue avec en abscisse la valeur du temps de référence Ts(t) ou TE(t) et en ordonnée le signal interpolé Sc(t). Au niveau du module d'échantillonnage et de filtrage 33, le signal Sc(t) est sur-échantillonné puis traité par un filtre anti-recouvrement paramétré pour limiter le signal sur la bande d'étude définie selon l'application. Par exemple, dans le cas d'un flux DVB, la bande d'intérêt se situe entre 0 et 100Hz alors que pour un flux MPEG-2 elle se situe entre 0 et 25Hz. II peut notamrnent être fait usage d'un filtre de Hamming d'ordre 10. On obtient alors un signal SF(t). La figure 6 montre par une courbe 61 un exemple de signal suréchantilloné et lissé SF(t) obtenue avec en abscisse la valeur du temps de référence Ts(t) ou TE(t) et en ordonnée la valeur à un instant t du signal SF(t). Le module de translation 34 réceptionne le signal SF(t) puis délivre à l'analyseur 4 la précision intrinsèque instantanée et la gigue intrinsèque instantanée. Pour cela, comme l'illustre la courbe 71 de la figure 7, le module de translation 34, soustrait du signal SF:(t) : 2880221 8 la valeur du temps de référence TS(t), pour obtenir la précision intrinsèque instantanée; - la valeur du temps de référence TE(t) , pour obtenir la gigue intrinsèque instantanée. Une fois les signaux de référence générés et le pré-traitement des estampilles temporelles effectué tel qu'indiqué précédemment, l'analyseur 4 met en oeuvre des chaînes d'analyse temporelle classique pour le signal numérique issu du module de pré-traitement 3. L'analyseur 4 délivre en sortie un ensemble de statistique S concernant les données temporelles des flux, comme par exemple: - la précision, déduite de la précision intrinsèque instantanée; - la gigue globale, le décalage fréquentiel et le taux de dérive à partir de la gigue intrinsèque instantanée. Selon un mode de réalisation, le module de génération de signaux de référence 2, le module de pré-traitement 3 et l'analyseur 4 peuvent être colocalisés sur un même dispositif, par exemple un calculateur. L'horloge externe 1 peut être incluse dans le module de génération de signaux de référence 2. Selon un autre mode de réalisation, l'horloge externe 1, le module de génération de signaux de référence 2, le module de pré-traitement 3 et l'analyseur 4 peuvent être implémentés par des modules logiciels exécutés par au moins un ordinateur. 2880221 9 REVENDICATIONS 1. Procédé d'analyse de signaux temporels discrets issus d'un flux de données (F) caractérisé en ce qu'il comporte au moins les opérations suivantes: la génération (2) à partir du flux de données (F) et d'une horloge externe (1) : É d'un signal temporel Ts(t) calculé par rapport au débit du flux de données (F) ; É d'un signal temporel externe TE(t) acquis à partir de l'horloge externe (1) ; la génération (3), à partir du flux de données (F) et des signaux temporels de référence Ts(t) et TE(t) issus du module de génération des signaux de référence (2) É d'un signal continu de précision intrinsèque instantanée des données temporelles contenues dans des estampilles temporelles ( El, E2, E3) incluses dans le flux de données (F) et, É d'un signal continu de gigue intrinsèque instantanée des données temporelles contenues dans les estampilles temporelles ( El, E2, E3) incluses dans le flux de données (F) , la génération de statistiques (S) concernant les données temporelles contenues dans les estampilles temporelles ( El, E2, E3) du flux de données (F) à partir des signaux temporels de référence, du signal continu cle précision intrinsèque instantanée et du signal de gigue intrinsèque instantanée. 2. Procédé selon la revendication 1 caractérisé en ce que la génération des signaux de référence (2) calcule le signal temporel Ts(t) pour un flux de données (F) donné dont le débit (D) est connu, en divisant la taille des données reçues à un instant donné (t) par le débit du flux de données. 3. Procédé selon la revendication 1 caractérisé en ce que le prétraitement (3) des données temporelles issues d'un flux de données comporte: 2880221 1 iD au moins une étape d'acquisition et d'horodatage (31) qui extrait à un instant t d'un flux de données (F) la valeur des données temporelles contenue dans les estampilles temporelles (El, E2, E3) , et qui mémorise pour chaque donnée ainsi acquise la valeur, à cet instant t, des signaux de référence issue du module de génération de signaux temporels de référence (2); - au moins une étape d'interpolation (32) qui génère des signaux continus par interpolation à partir des valeurs mémorisées par le module d'acquisition et d'horodatage (31) ; au moins une étape d'échantillonnage et de filtrage (33) qui suréchantillonne puis traite par un filtre anti-recouvrement paramétré pour limiter le signal sur la bande d'étude définie selon l'application les signaux issus du module d'interpolation (32); - au moins une étape de translation (34), qui soustraie aux signaux issus du module d'échantillonnage et de filtrage (33) les signaux de référence issus du module de génération de signaux temporels de référence (2). 4. Procédé selon la revendication 3 caractérisé en ce que l'étape 20 d'interpolation (32) utilise une interpolation par pallier d'ordre 0, utilisant localement toute l'information disponible. 5. Procédé selon la revendication 3 caractérisé en ce que l'étape d'échantillonnage et de filtrage (33) utilise un filtre de hamming d'ordre 10. 6. Dispositif d'analyse de signaux temporels discrets issus d'un flux de données (F) caractérisé en ce qu'il comporte: au moins un module de génération de signaux de référence (2), comportant au moins une entrée de flux de données (F) et au moins une entrée d'un signal temporel issu d'une horloge externe (1), délivrant en sortie: É un signal temporel Ts(t) calculé par rapport au débit du flux de données (F) ; É un signal temporel externe TE(t) acquis à partir de l'horloge externe (1) ; 2880221 11 au moins un module de pré-traitement (3) recevant en entrée le flux de données (F) et les signaux temporels de référence Ts(t) et TE(t) issus du module de génération des signaux de référence (2) et délivrant en sortie: É au moins un signal continu de précision intrinsèque instantanée des données temporelles contenues dans les estampilles temporelles ( El, E2, E3) incluses dans le flux de données (F) et/ou, É au moins un signal continu de gigue intrinsèque instantanée des données temporelles contenues dans les estampilles temporelles ( El, E2, E3) incluses dans le flux de données (F) ; au moins un analyseur (4) de données temporelles contenues dans les estampilles temporelles ( El, E2, E3) du flux de données (F) recevant en entrée: É les signaux temporels de référence issus du module de génération des signaux de référence (2), É le signal continu de précision intrinsèque instantanée et/ou le signal de gigue intrinsèque instantanée issus du module de pré-traitement (3). 7. Dispositif selon la revendication 6 caractérisé en ce que le module de génération des signaux de référence (2) calcule le signal temporel Ts(t) pour un flux de données (F) donné dont le clébit (D) est connu, en divisant la taille des données reçues à un instant donné (t) par le débit du flux de données. 8. Dispositif selon la revendication 6 caractérisé en ce que le module de pré-traitement (3) des données temporelles issues d'un flux de données comporte: au moins un module d'acquisition et d'horodatage (31) qui extrait à un instant t d'un flux de données (F) la valeur des données temporelles contenue dans les estampilles temporelles (El, E2, E3), et qui mémorise pour chaque donnée ainsi acquise la valeur, à cet instant t, des signaux de référence issue du module de génération de signaux temporels de référence (2); 2880221 12 au moins un module d'interpolation (32) qui génère des signaux continus par interpolation à partir des valeurs mémorisées par le module d'acquisition et d'horodatage (31) ; -au moins un module d'échantillonnage et de filtrage (33) qui sur- échantillonne puis traite par un filtre anti-recouvrement paramétré pour limiter le signal sur la bande d'étude définie selon l'application les signaux issus du module d'interpolation (32); au moins un module de translation (34), qui soustraie aux signaux issus du module d'échantillonnage et de filtrage (33) les signaux de référence issus du module de génération de signaux temporels de référence (2). 9. Dispositif selon la revendication 8 caractérisé en ce que le module d'interpolation (32) utilise une interpolation par pallier d'ordre 0, utilisant 15 localement toute l'information disponible. 10. Dispositif selon la revendication 8 caractérisé en ce que le module d'échantillonnage et de filtrage (33) utilise un filtre de hamming d'ordre 10. 11. Dispositif selon l'une des revendications 6 à 10 caractérisé en ce que le module de génération de signaux de référence (2), le module de pré-traitement (3) et l'analyseur (4) peuvent être co-localisés dans un même dispositif. 12. Dispositif selon l'une des revendications 6 à 10 caractérisé en ce que l'horloge externe (1), le module de génération de signaux de référence (2), le module de pré-traitement (3) et l'analyseur (4) peuvent être implémentés par des modules logiciels exécutés par au moins un ordinateur.