FR 3057732 A1 20180420 FR 1660097 A 20161018 1 Procédé de production automatique d'un plan de services Domaine de l'invention L'invention a pour objet un procédé de production automatique d'un plan de services. Le domaine de l'invention est celui des boîtiers décodeur de télévision aussi appelés des « set top box » ou des simplement des « box ». Un tel boîtier est un dispositif intermédiaire entre une diffusion de programme et une restitution dudit programme sous forme d'une vidéo, c'est-à-dire entre le diffuseur et l'écran. Dans la pratique il peut être intégré au téléviseur. Plus particulièrement le domaine de l'invention est celui de la configuration automatique de tels dispositifs. Etat de la technique Le problème décrit ici correspond au cas d'un dispositif de réception de signaux de télé/radiodiffusion numérique à voies multiples, sans connaissance a priori de la répartition des fréquences et des services qui y sont associés. Dans ce contexte, il est habituel de tester, à l'aveugle, chaque sous-bande de la bande de fréquence utilisable disponible afin de détecter la présence d'un signal offrant des services de télé/radiodiffusion. Une fois un signal détecté et ses paramètres de couche physique identifiés, il convient ensuite de récupérer les informations du flux binaire donnant les services offerts par le canal. Ces détection et récupérations séquentielle permet d'obtenir un plan de services global (i.e. la liste des services) associé à chaque canal fréquentiel découvert lors du balayage. Le balayage s'effectue donc service par service ce qui prend énormément de temps et donne l'impression d'un dispositif de réception de signaux bloqué. L'attente dure plusieurs dizaines de minutes. La seule solution existante et l'affichage d'une barre de patience pour montrer à un utilisateur que l'appareil est en train d'effectuer une tâche longue. Ce problème est d'autant plus important que ce balayage doit être effectué à chaque apparition d'un nouveau service. Exposé de l'invention 3057732 2 L'invention vise à remédier à tout ou partie des inconvénients de l'état de la technique identifiés ci-dessus, et notamment à proposer des moyens pour permettre d'améliorer l'expérience utilisateur. Afin de réduire le temps de balayage, l'invention enseigne un procédé qui : 5 - dissocie les étapes de découverte des canaux fréquentiels et les étapes de récupération des services associés, et - exécute la découverte et la récupération en parallèle. Le but est de pouvoir accélérer le balayage complet et le renseignement du plan des services. 10 Cette approche exploite au maximum les récepteurs (aussi appelé « front-end ») que comporte les dispositifs boîtier décodeur. Dans ce dessein, un aspect de l'invention se rapporte à un procédé de production automatique d'un plan de services d'un dispositif boitier décodeur, ledit dispositif boitier 15 décodeur comportant une pluralité de récepteurs et enregistrant le plan de services produit dans une mémoire de configuration après la mise en oeuvre des étapes suivantes : - répartition des récepteurs dans deux groupes, chaque groupe étant dédié à une tâche : 20 - un premier groupe de récepteurs est dédié à une tâche d'exploration d'une bande de fréquence à explorer, bande dont on connait la borne inférieure et la borne supérieure, une instance de tâche d'exploration alimente une liste de fréquences porteuses de services, les instances de tâches d'explorations se synchronisent via un premier sémaphore protégeant une 25 valeur de prochaine fréquence à explorer, une instance de tâche d'exploration s'arrête si la valeur de prochaine fréquence à explorer est supérieure à la borne supérieure de la bande de fréquence à explorer; - un deuxième groupe de récepteurs est dédié à une tâche d'analyse des fréquences de la liste de fréquences porteuses de services, une instance 30 de tâche d'analyse alimente une table de services, les instances de tâches d'analyse se synchronisent via un deuxième sémaphore protégeant un identifiant d'une prochaine fréquence à analyser, une instance de tâche d'analyse s'arrête si la liste de fréquences porteuses de services est vide et 3057732 3 si la valeur de prochaine fréquence à explorer est supérieure à la borne supérieure de la bande de fréquence ; - création d'instances de tâches selon la répartition des récepteurs, chaque récepteur réparti étant associé à une tâche selon son groupe, les instances de 5 tâches sont exécutées en parallèle ; - mise à disposition de la table des services produite pour la mise à jour de la mémoire de configuration. Outre les caractéristiques principales qui viennent d'être mentionnées dans le 10 paragraphe précédent, le procédé selon l'invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon les combinaisons techniquement possibles: - une instance de tâche d'exploration comporte les étapes suivantes : 15 - prise du premier sémaphore, - assignation d'une fréquence à explorer courante de l'instance de la tâche par la valeur de la prochaine fréquence à explorer, - mise à jour de la valeur de la prochaine fréquence à explorer en fonction de la valeur de la fréquence à explorer courante, 20 - libération du premier sémaphore, - évaluation de la condition d'arrêt d'une tâche d'exploration, - exploration de la fréquence à explorer courante, - si la fréquence à explorer courante comporte un service alors mise à jour de la table des fréquences à analyser. 25 - une instance d'une tâche d'analyse comporte les étapes suivantes : - évaluation de la condition d'arrêt d'une tâche d'analyse, - prise du deuxième sémaphore, - assignation d'une fréquence à analyser courante de l'instance de la tâche par 30 la valeur de la prochaine fréquence à analyser, - mise à jour de la valeur de la prochaine fréquence à analyser en fonction de la valeur de la fréquence à analyser courante, - libération du deuxième sémaphore, - si il y a une fréquence à analyser : 3057732 4 - analyse de la fréquence à analyser courante, - mise à jour de la table des services. - une fréquence explorée est considérée comme dépourvue de service si l'exploration 5 dure plus d'un délai d'attente de fin d'exploration prédéterminée. - le délai d'attente de fin d'exploration vaut le double du temps permettant la détection d'un service en cas de présence d'un service. 113 - lorsque l'exploration est terminée, les récepteurs de premier groupe sont attribués au deuxième groupe et des instances de tâche d'analyse leur sont attribuées. - le dispositif boîtier décodeur comportant K récepteurs, le premier groupe comporte K / 2 récepteurs, le deuxième groupe comporte K / 2 récepteurs. 15 - le dispositif boîtier décodeur comportant K récepteurs, le premier groupe comportant N récepteurs et le deuxième groupe comportant M récepteurs avec M = K - N, et (I, * tE + P * tO) N = K * 2 * L * tE + L * tA + P * tO avec : 20 L : le nombre estimé de fréquences porteuses de services P : le nombre estimé de fréquences non porteuses de services tE : le temps d'exploration d'une fréquence porteuse de services tO : le temps d'exploration d'une fréquence non porteuse de services tA : le temps d'analyse d'une fréquence. 25 L'invention a également pour objet un dispositif de production automatique d'un plan de services ledit dispositif comportant une pluralité de récepteurs et enregistrant le plan de services produit dans une mémoire de configuration, le dispositif de production comportant des moyens de traitements et de mémorisation, lesdits moyens étant 30 adaptés pour : - répartir des récepteurs de la pluralité de récepteurs dans deux groupes, chaque groupe étant dédié à une tâche : 3057732 5 - un premier groupe de récepteurs est dédié à une tâche d'exploration d'une bande de fréquence à explorer, bande dont on connaît la borne inférieurs et le borne supérieure, une instance de tâche d'exploration alimente une liste de fréquences porteuses de services, les instances de tâches 5 d'explorations se synchronisent via un premier sémaphore protégeant une valeur de prochaine fréquence à explorer, une instance de tâche d'exploration s'arrête si la valeur de prochaine fréquence à explorer est supérieure à la borne supérieure de la bande de fréquence à explorer ; - un deuxième groupe de récepteurs est dédié à une tâche d'analyse des 10 fréquences de la liste de fréquences porteuses de services, une instance de tâche d'analyse alimente une table de services, les instances de tâches d'analyse se synchronisent via un deuxième sémaphore protégeant un identifiant d'une prochaine fréquence à analyser, une instance de tâche d'analyse s'arrête si la liste de fréquences porteuse de services est vide et 15 si la valeur de prochaine fréquence à explorer est supérieure à la borne supérieure de la bande de fréquence ; - créer des instances de tâches selon la répartition des récepteurs, chaque récepteur réparti étant associé à une tâche selon son groupe, les instances de tâches sont exécutées en parallèle ; 20 - mettre à disposition de la table des services produite pour la mise à jour de la mémoire de configuration. Brève description des figures D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la 25 description qui suit, en référence aux figures annexées, qui illustrent : - la figure 1, une représentation schématique de moyens matériels permettant la mise en oeuvre du procédé selon l'invention ; - la figure 2, une illustration d'étapes du procédé selon l'invention. 30 Pour plus de clarté, les éléments identiques ou similaires sont repérés par des signes de référence identiques sur l'ensemble des figures. L'invention sera mieux comprise la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Celles-ci sont présentées à titre indicatif et nullement limitatif de l'invention. 3057732 6 Description détaillée La figure 1 montre un dispositif boîtier 100 décodeur. Le boîtier 100 décodeur comporte 5 - un microprocesseur 110. Il s'agit de moyens de traitement représentés de manière simplifié. Il est possible qu'un boîtier décodeur comporte plusieurs microprocesseur, avec par exemple un microprocesseur dédié au traitement d'image (décompression principalement); - des moyens de stockage 120, par exemple un disque dur qu'il soir local ou 10 distant, qu'il soit simple ou en grille (par exemple RAID), ou une puce mémoire; - une pluralité de récepteurs 130.X. Un récepteur est, par exemple, un ensemble de moyens adaptés pour traiter un signal analogique reçu via une antenne. Pour la description on considère que le boîtier décodeur 100 comporte K récepteur et que K est supérieure ou égale à deux. 15 Des moyens adaptés pour traiter un signal analogique sont, par exemple, un circuit démodulateur produisant une trame de bits, le circuit démodulateur étant suivi d'un circuit de décodage pour le traitement de la trame. Un tel circuit de décodage est, par exemple, un décodeur MPEG. Dans le domaine un tel récepteur est appelé un Front-End. On parle aussi de tuner. 20 La figure 1 montre que le microprocesseur 110 du boîtier décodeur, les moyens 120 de stockage du boîtier décodeur et les récepteurs 130.X sont interconnectés par un bus 170. La figure 1 montre que les moyens 120 de stockage comportent plusieurs zones. La 25 figure 1 montre que les moyens 120 de stockage comportent : - une zone 120.1 comportant des codes instructions pour la mise en oeuvre du procédé selon l'invention ; - une zone 120.2 comportant une description d'une bande de fréquences à explorer ; 30 - une zone 120.3 prochaine exploration comportant une valeur de la prochaine fréquence à explorer ; 3057732 7 - une zone 120.4 comportant une liste de fréquences à analyser. Une liste est une structure en mémoire qui permet d'enregistrer une pluralité de données de même nature. La structure de la liste elle-même n'est pas importante, ici ce qui importe c'est qu'elle permet d'effectuer un tampon entre un processus de 5 remplissage de la liste, et un processus de vidage de la liste. Le remplissage est le résultat d'une exploration de la bande de fréquences. Le vidage est le résultat d'une analyse des fréquences détectées. - une zone 120.5 comportant une valeur de la prochaine fréquence à analyser ; - une zone 120.6 comportant une table de services découverts. Une table est une 10 structure en mémoire. Celle-ci sert de structure intermédiaire entre le procédé selon l'invention un dispositif boîtier décodeur mettant en oeuvre ledit procédé. Sa structure n'est pas importante. Une telle table est cependant agencée pour être compatible avec les métadonnées transportées par des flux audio/vidéo de type MPEG. Ces métadonnées sont des informations spécifiques à un 15 programme. En particulier une telle table permet d'enregistrer des données correspondant à une table d'association de program (aussi appelée table PAT) telle que définie par la norme MPEG. Cette table n'est qu'un exemple. Les principes de l'invention reste valable avec d'autres structures de tables de services ; 20 - une zone 120.7 comportant des valeurs pour des paramètres de configurations du procédé selon l'invention, par exemple une valeur pour un délai d'attente (on parle aussi de timeout) à partir duquel on considère qu'une exploration n'aboutira pas, c'est-à-dire qu'il n'y a pas de service sur la fréquence explorée ; - une zone 120.8 comportant le plan de services du dispositif boîtier décodeur. 25 Lorsque l'on prête une action à un dispositif celle-ci est en fait effectuée par un microprocesseur du dispositif commandé par des codes instructions enregistrés dans une mémoire du dispositif. Si l'on prête une action à une application, celle-ci est en fait effectuée par un microprocesseur du dispositif dans une mémoire duquel les codes 30 instructions correspondant à l'application sont enregistrés. Lorsqu'un dispositif, ou une application émet ou reçoit un message, ce message est émis ou reçu via une interface de communication dudit dispositif ou de la dite application. 3057732 8 La figure 2 montre une étape 1000 préliminaire dans laquelle un utilisateur du boîtier décodeur 100 utilise une interface homme machine du boîtier décodeur 100 pour déclencher un balayage de fréquence. Dans l'étape 1000 préliminaire le boîtier décodeur configure le procédé selon l'invention et effectuant les sous étapes 5 suivantes : - répartition 1010 des K récepteurs en deux groupes : - un premier groupe comportant N récepteurs, - un deuxième groupe comportant M récepteurs, - écriture 1020 de la prochaine fréquence à explorer, cette valeur étant lue dans 10 la zone 120.2 de description de la bande de fréquences à explorer. En particulier on utilise la borne inférieure de la bande de fréquences pour initialiser la valeur de la prochaine fréquence à explorer. - création 1030 d'instances de tâche d'exploration, une instance pour chaque récepteur du premier groupe, 15 - création 1040 d'instances de tâche d'analyse, une instance pour chaque récepteur du deuxième groupe. - attente 1050 que toutes les instances de tâches créées aient fini leur exécution. Dans la répartition en deux groupes, un récepteur ne pouvant appartenir qu'à un et un zo seul groupe, on a : N + M REVENDICATIONS1. Procédé de production automatique d'un plan de services d'un dispositif boitier décodeur (100), ledit dispositif boitier décodeur comportant une pluralité de récepteurs (130.X) et enregistrant le plan de services produit dans une mémoire de configuration après la mise en oeuvre des étapes suivantes : - répartition (1020) des récepteurs dans deux groupes, chaque groupe étant dédié à une tâche : - un premier groupe de récepteurs est dédié à une tâche d'exploration d'une bande de fréquence à explorer, bande dont on connait la borne inférieure et la borne supérieure, une instance de tâche d'exploration alimente une liste de fréquences porteuses de services, les instances de tâches d'explorations se synchronisent (2010) via un premier sémaphore protégeant une valeur de prochaine fréquence à explorer, une instance de tâche d'exploration s'arrête si la valeur de prochaine fréquence à explorer est supérieure à la borne supérieure de la bande de fréquence à explorer; - un deuxième groupe de récepteurs est dédié à une tâche d'analyse des fréquences de la liste de fréquences porteuses de services, une instance de tâche d'analyse alimente une table de services, les instances de tâches d'analyse se synchronisent via un deuxième sémaphore protégeant un identifiant d'une prochaine fréquence à analyser, une instance de tâche d'analyse s'arrête si la liste de fréquences porteuses de services est vide et si la valeur de prochaine fréquence à explorer est supérieure à la borne supérieure de la bande de fréquence ; - création (1030, 1040) d'instances de tâches selon la répartition des récepteurs, chaque récepteur réparti étant associé à une tâche selon son groupe, les instances de tâches sont exécutées en parallèle ; - mise à disposition (1060) de la table des services produite pour la mise à jour de la mémoire de configuration. 30 2. Procédé de production automatique d'un plan de services selon la revendication 1, caractérisé en ce qu'une instance de tâche d'exploration comporte les étapes suivantes : - prise (2020) du premier sémaphore, 3057732 16 - assignation (2030) d'une fréquence à explorer courante de l'instance de la tâche par la valeur de la prochaine fréquence à explorer, - mise à jour (2040) de la valeur de la prochaine fréquence à explorer en fonction de la valeur de la fréquence à explorer courante, 5 - libération (2050) du premier sémaphore, - évaluation (2100) de la condition d'arrêt d'une tâche d'exploration, - exploration (2110) de la fréquence à explorer courante, - si la fréquence à explorer courante comporte un service alors mise à jour (2120) de la table des fréquences à analyser. 10 3. Procédé de production automatique d'un plan de services selon l'une des revendications précédentes, caractérisé en ce qu'une instance d'une tâche d'analyse comporte les étapes suivantes : - évaluation (3010) de la condition d'arrêt d'une tâche d'analyse, 15 - prise (3030) du deuxième sémaphore, - assignation (3040) d'une fréquence à analyser courante de l'instance de la tâche par la valeur de la prochaine fréquence à analyser, - mise à jour (3050) de la valeur de la prochaine fréquence à analyser en fonction de la valeur de la fréquence à analyser courante, 20 - libération (3060) du deuxième sémaphore, - si il y a une fréquence à analyser : - analyse (3080) de la fréquence à analyser courante, - mise à jour (3090) de la table des services. 25 4. Procédé de production automatique d'un plan de services selon l'une des revendications précédentes, caractérisé en ce que une fréquence explorée est considérée comme dépourvue de service si l'exploration dure plus d'un délai d'attente de fin d'exploration prédéterminée. 5. Procédé de production automatique d'un plan de services selon la revendication 4, caractérisé en ce que le délai d'attente de fin d'exploration vaut le double du temps permettant la détection d'un service en cas de présence d'un service. 3057732 17 6. Procédé de production automatique d'un plan de services selon l'une des revendications précédentes, caractérisé en ce que lorsque l'exploration est terminée, les récepteurs de premier groupe sont attribués au deuxième groupe et des instances de tâche d'analyse leur sont attribuées. 7. Procédé de production automatique d'un plan de services selon l'une des revendications précédentes, caractérisé en ce que, le dispositif boîtier décodeur comportant K récepteurs, le premier groupe comporte K / 2 récepteurs, le deuxième groupe comporte K / 2 récepteurs. 8. Procédé de production automatique d'un plan de services selon l'une des revendications 1 à 6, caractérisé en ce que, le dispositif boîtier décodeur comportant K récepteurs, le premier groupe comportant N récepteurs et le deuxième groupe comportant M récepteurs avec M = K - N, et (L * tE + P * tO) avec : L : le nombre estimé de fréquences porteuses de services P : le nombre estimé de fréquences non porteuses de services tE : le temps d'exploration d'une fréquence porteuse de services 20 tO : le temps d'exploration d'une fréquence non porteuse de services tA : le temps d'analyse d'une fréquence. 9. Dispositif (100) de production automatique d'un plan de services ledit dispositif comportant une pluralité (130.X) de récepteurs et enregistrant le plan de services 25 produit dans une mémoire de configuration, le dispositif de production comportant des moyens de traitements (110) et de mémorisation (120), lesdits moyens étant adaptés pour : - répartir (1020) des récepteurs de la pluralité de récepteurs dans deux groupes, chaque groupe étant dédié à une tâche : 30 - un premier groupe de récepteurs est dédié à une tâche d'exploration d'une bande de fréquence à explorer, bande dont on connaît la borne inférieurs et le borne supérieure, une instance de tâche d'exploration alimente une liste de fréquences porteuses de services, les instances de tâches 5 10 15 N = K * 2 * L * tE + L * tA + P * tO 3057732 18 d'explorations se synchronisent (2010) via un premier sémaphore protégeant une valeur de prochaine fréquence à explorer, une instance de tâche d'exploration s'arrête si la valeur de prochaine fréquence à explorer est supérieure à la borne supérieure de la bande de fréquence à explorer ; 5 - un deuxième groupe de récepteurs est dédié à une tâche d'analyse des fréquences de la liste de fréquences porteuses de services, une instance de tâche d'analyse alimente une table de services, les instances de tâches d'analyse se synchronisent via un deuxième sémaphore protégeant un identifiant d'une prochaine fréquence à analyser, une instance de tâche 10 d'analyse s'arrête si la liste de fréquences porteuse de services est vide et si la valeur de prochaine fréquence à explorer est supérieure à la borne supérieure de la bande de fréquence ; - créer (1030 ; 1040) des instances de tâches selon la répartition des récepteurs, chaque récepteur réparti étant associé à une tâche selon son groupe, les 15 instances de tâches sont exécutées en parallèle ; - mettre à disposition (1060) de la table des services produite pour la mise à jour de la mémoire de configuration. 10. Dispositif selon la revendication 9, caractérisé en ce qu'il est un boîtier décodeur. 20