FR2752351A1 - METHOD FOR INDEXING DATA IN A DIGITAL TELEVISION TRANSMISSION SYSTEM - Google Patents

METHOD FOR INDEXING DATA IN A DIGITAL TELEVISION TRANSMISSION SYSTEM Download PDF

Info

Publication number
FR2752351A1
FR2752351A1 FR9610068A FR9610068A FR2752351A1 FR 2752351 A1 FR2752351 A1 FR 2752351A1 FR 9610068 A FR9610068 A FR 9610068A FR 9610068 A FR9610068 A FR 9610068A FR 2752351 A1 FR2752351 A1 FR 2752351A1
Authority
FR
France
Prior art keywords
list
data
sep
request
receiver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9610068A
Other languages
French (fr)
Other versions
FR2752351B1 (en
Inventor
Gilles Straub
Eric Deniau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Technicolor SA
Original Assignee
Thomson Multimedia SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=9494957&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=FR2752351(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Thomson Multimedia SA filed Critical Thomson Multimedia SA
Priority to FR9610068A priority Critical patent/FR2752351B1/en
Priority to PCT/EP1997/004327 priority patent/WO1998010583A2/en
Priority to EP97951132A priority patent/EP0917801B1/en
Priority to IDP972788A priority patent/ID18187A/en
Priority to CN97197036A priority patent/CN1129313C/en
Priority to PCT/EP1997/005901 priority patent/WO1998009430A2/en
Priority to JP51130698A priority patent/JP4156032B2/en
Priority to DE69708107T priority patent/DE69708107T2/en
Publication of FR2752351A1 publication Critical patent/FR2752351A1/en
Publication of FR2752351B1 publication Critical patent/FR2752351B1/en
Application granted granted Critical
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4332Content storage operation, e.g. storage operation in response to a pause request, caching operations by placing content in organized collections, e.g. local EPG data repository
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computer And Data Communications (AREA)

Abstract

Method for indexing data in a digital television transmission system, in particular DVB. The transmission system comprises at least one receiver, which performs the following steps: extracting from a transmitted digital data stream hierarchically organized lists of networks, channels, services, events or descriptors of the same type; creating for each extracted list an array comprising an address pointer for each element of said extracted list, each address pointer pointing towards a memory area of said receiver in which additional information concerning each element is stored; referring to a given element in a list using a logic key composed of the juxtaposition of the index of said given element in the array to which it belongs and indexes of elements above said given element in said hierarchy. The invention can be used in the field of digital television (DVB, DSS...)

Description

Procédé d'indexation de données dans un système de
transmission de télévision numérique
L'invention concerne un procédé d'indexation de données, notamment de données de service, dans un système de transmission de télévision numérique. L'invention s'applique au récepteur de telles transmissions.
Method of indexing data in a system of
digital television transmission
The invention relates to a method for indexing data, in particular service data, in a digital television transmission system. The invention applies to the receiver of such transmissions.

Certains systèmes de télévision numérique tels que le DVB (pour Direct Video Broadcasting en anglais) prévoient la transmission de données dites de services en multiplex avec les données vidéo et audio. ces données de services (données 'SI') comportent par exemple des informations sur l'organisation hiérarchique du flux numérique reçu ou d'un autre flux. Cette hiérarchie peut comprendre plusieurs réseaux de transmission, chaque réseau comportant plusieurs canaux, chaque canal comportant divers services, etc. Some digital television systems such as DVB (for Direct Video Broadcasting in English) provide for the transmission of data called multiplex services with video and audio data. these service data ('SI' data) comprise, for example, information on the hierarchical organization of the received digital stream or of another stream. This hierarchy can comprise several transmission networks, each network comprising several channels, each channel comprising various services, etc.

Un récepteur et décodeur de télévision numérique doit pouvoir connaître cette hiérarchie pour pouvoir accéder aux données transmises. Or, la gestion de cette hiérarchie pose des problèmes car elle est d'une part évolutive par nature, d'autre part soumise à des contraintes de standardisation qui peuvent ne pas être adaptées aux contraintes de produits grand public. Par exemple, chaque élément de la hiérarchie (réseaux, canaux, services, etc.) est identifié à l'aide d'un identificateur dont la longueur standardisée est relativement grande, ce qui peut poser des problèmes de stockage et de traitement de ces identificateurs. Pour identifier, par exemple, un service de manière unique, huit octets seraient théoriquement nécessaires. Ces huit octets devraient être utilisés à chaque référence au service et devraient ainsi être stockés de nombreuses fois par les applications du récepteur. A digital television receiver and decoder must be able to know this hierarchy in order to be able to access the transmitted data. However, the management of this hierarchy is problematic because it is on the one hand evolutionary by nature, on the other hand subject to standardization constraints that may not be adapted to the constraints of consumer products. For example, each element of the hierarchy (networks, channels, services, etc.) is identified using an identifier whose standardized length is relatively large, which can pose problems of storage and processing of these identifiers. . For example, to uniquely identify a service, eight bytes would be theoretically needed. These eight octets should be used for each reference to the service and should be stored many times by the receiver applications.

L'invention a pour objet un procédé d'indexation de données dans un système de transmission de télévision numérique à organisation hiérarchique comportant au moins un récepteur caractérisé en ce qu'il comprend, au niveau du récepteur, les étapes
- d'extraction du flux de données numérique transmis d'au moins une liste d'éléments parmi les listes de réseaux, de canaux pour un réseau donné, de services pour un canal donné ou d'événements pour un service donné,
- de mémorisation d'un tableau comportant un pointeur d'adresse par élément particulier de la liste, ce pointeur pointant vers une zone mémoire du récepteur comportant des informations supplémentaires relatives audit élément particulier,
- d'utilisation, par une application dudit récepteur, de l'index d'un élément particulier dans ledit tableau pour désigner ledit élément particulier.
The subject of the invention is a data indexing method in a hierarchical digital television transmission system comprising at least one receiver, characterized in that it comprises, at the level of the receiver, the steps
extracting the digital data stream transmitted from at least one list of elements from the lists of networks, channels for a given network, services for a given channel or events for a given service,
storing a table comprising an address pointer for each particular element of the list, this pointer pointing to a memory zone of the receiver comprising additional information relating to said particular element,
- Use, by an application of said receiver, the index of a particular element in said table to designate said particular element.

Le récepteur se constitue ainsi une image d'au moins une partie de la hiérarchie des données auxquelles il peut avoir accès. Les listes de réseaux, canaux, services, événements, ou d'ailleurs d'autres éléments (bouquets, etc.) sont mémorisées et indexées par le récepteur. L'indexation permet de réduire considérablement la place mémoire nécessaire pour stocker les identificateurs. Une fois établie la relation entre un index et un élément (ou la structure de données comportant les informations relatives à cet élément), ce seront les index qui seront employés pour faire référence à un élément. La nature hiérarchique des données permet de référencer de manière unique un élément, par exemple un service, en juxtaposant les index de réseau, de canal et de service. The receiver thus constitutes an image of at least a part of the hierarchy of the data to which it can have access. Lists of networks, channels, services, events, or other elements (bouquets, etc.) are stored and indexed by the receiver. Indexing significantly reduces the amount of memory needed to store identifiers. Once the relationship between an index and an element (or the data structure with information about that element) is established, the indexes will be used to refer to an element. The hierarchical nature of the data makes it possible to uniquely reference an element, for example a service, by juxtaposing the network, channel and service indexes.

L'utilisation de la "clé logique" constituée par les index diminue le temps d'exécution en évitant la recopie de la "clé physique" dans la pile du processeur à chaque appel de fonction et en réduisant les comparaisons nécessaires lors de parcours de la base de données interne lors d'une recherche de donnée. The use of the "logical key" constituted by the indexes decreases the execution time by avoiding the copying of the "physical key" into the processor stack at each function call and reducing the comparisons necessary during the route of the internal database during a data search.

Selon un mode de réalisation particulier, une liste d'éléments est répartie sur plusieurs tableaux de même dimension, le dernier pointeur d'adresse d'un tableau pointant vers le tableau suivant. According to a particular embodiment, a list of elements is distributed over several tables of the same dimension, the last address pointer of a table pointing to the following table.

Les listes d'éléments sont répartis sur plusieurs tableaux pour en faciliter la gestion. Les tableaux sont reliés par des pointeurs d'adresse pointant vers un éventuel tableau suivant.  The lists of elements are spread over several tables to facilitate management. The tables are linked by address pointers pointing to a possible following table.

Selon un mode de réalisation particulier, un tableau comporte un nombre de pointeurs d'adresse relatifs à un élément de liste égal à une puissance de deux. According to a particular embodiment, a table comprises a number of address pointers relating to a list item equal to a power of two.

L'utilisation d'une puissance de deux permet d'obtenir facilement le tableau contenant le pointeur d'un élément recherché en masquant le nombre de bits adéquats dans l'index de cet élément. The use of a power of two makes it easy to obtain the array containing the pointer of a searched element by masking the number of appropriate bits in the index of this element.

D'autres caractéristiques et avantages de l'invention apparaîtront à travers la description d'un exemple de réalisation particulier non limitatif, illustré par les figures jointes faisant partie intégrante de la présente description
- la figure 1 est un diagramme bloc d'un récepteur de télévision mettant en oeuvre le présent exemple de réalisation,
- les figures 2a à 2c sont des diagrammes temporels des échanges ayant lieu entre une application, le module de gestion de données et la source de données, conformément au présent exemple,
- la figure 3a, respectivement 3b est un diagramme d'état illustrant le fonctionnement d'une requête unique, respectivement permanente,
- la figure 4 est un schéma d'un écran d'une application, à savoir un guide de programmes électronique selon le présent exemple de réalisation,
- la figure 5 est un diagramme de la base de données maintenue par le module de gestion.
Other features and advantages of the invention will become apparent through the description of a particular nonlimiting exemplary embodiment, illustrated by the attached figures forming an integral part of the present description.
FIG. 1 is a block diagram of a television receiver embodying the present exemplary embodiment,
FIGS. 2a to 2c are time diagrams of the exchanges taking place between an application, the data management module and the data source, in accordance with the present example,
FIG. 3a and 3b respectively is a state diagram illustrating the operation of a single, respectively permanent request,
FIG. 4 is a diagram of a screen of an application, namely an electronic program guide according to the present exemplary embodiment,
- Figure 5 is a diagram of the database maintained by the management module.

On remarquera que pour de plus amples informations sur le format et le contenu des données de service, sections et tables MPEG et DVB, on se référera notamment aux trois documents suivants
(a) ETS 300 468 - Specification for Service Information (SI) in Digital Video Broadcast (DVB) systems - January 23, 1996,
(b) ISO/IEC 13818-1 (1994) Generic Coding of Moving
Pictures and Associated Audio - Recommendation H.220, aussi appelé "MPEG II Systems", et
(c) ETR 211 - Digital Broadcasting systems for television:
Implementation guidelines for the use of MPEG-2 systems; Guidelines on implementation and usage of service information.
Note that for further information on the format and content of service data, MPEG and DVB sections and tables, refer to the following three documents:
(a) ETS 300 468 - Specification for Service Information (SI) in Digital Video Broadcast (DVB) Systems - January 23, 1996,
(b) ISO / IEC 13818-1 (1994) Generic Coding of Moving
Pictures and Associated Audio - Recommendation H.220, also known as "MPEG II Systems", and
(c) ETR 211 - Digital Broadcasting Systems for Television:
Implementation guidelines for the use of MPEG-2 systems; Guidelines on implementation and use of service information.

La figure 1 est un diagramme bloc d'un décodeur-récepteur intégré de télévision digitale de type DVB (Digital Video Broadcasting en anglais). FIG. 1 is a block diagram of an integrated DVB digital video broadcasting decoder-receiver.

II est bien évident que l'invention ne se limite pas à cet environnement physique, mais peut être facilement adaptée à un autre type de transmission de données de service. It is obvious that the invention is not limited to this physical environment, but can be easily adapted to another type of service data transmission.

Le décodeur de la figure 1 est relié à une antenne 1, elle même reliée à un tuner 2 du décodeur. Le signal fourni par le tuner est démodulé par un démodulateur 3. Les données démodulées sont corrigées par un circuit correcteur 4 et transmises à un démultiplexeur 5. The decoder of FIG. 1 is connected to an antenna 1, itself connected to a tuner 2 of the decoder. The signal supplied by the tuner is demodulated by a demodulator 3. The demodulated data are corrected by a corrector circuit 4 and transmitted to a demultiplexer 5.

Ce dernier est par exemple un démultiplexeur similaire à celui décrit dans la demande de brevet francais 95 15767 déposée le 29 décembre 1995 au nom de THOMSON multimedia. Le démultiplexeur 5 comporte un certain nombre de filtres programmés par un microprocesseur 23 en fonction des diverses applications supportées par le décodeur. Pour la clarté du schéma, seules les connexions les plus importantes du microprocesseur 23 sont illustrées. The latter is for example a demultiplexer similar to that described in the French patent application 95 15767 filed December 29, 1995 in the name of THOMSON multimedia. The demultiplexer 5 comprises a certain number of filters programmed by a microprocessor 23 according to the various applications supported by the decoder. For the sake of clarity, only the most important connections of the microprocessor 23 are illustrated.

Les sections ou paquets audio ou vidéo filtrés par le démultiplexeur sont stockés dans des zones prédéfinies d'une mémoire tampon 6 à l'attention de ces applications. Si nécessaire, les informations sont tout d'abord décryptées par un circuit décrypteur 7 en fonction des droits de l'utilisateur, avant d'être stockées dans cette mémoire tampon 6. The audio or video sections or packets filtered by the demultiplexer are stored in predefined areas of a buffer memory 6 for the attention of these applications. If necessary, the information is first decrypted by a decryption circuit 7 according to the rights of the user, before being stored in this buffer memory 6.

Selon le présent exemple, les applications sont au nombre de cinq: un décodeur audio 16, un décodeur vidéo 17, un décodeur
Teletext 18, un ensemble de contrôle d'accès (comprenant le décrypteur 7, un microcontrôleur vérificateur 8 et une interface pour carte à microprocesseur 9 relié en mode de fonctionnement normal à une carte à microprocesseur 10), ainsi qu'un module de gestion des données de service.
According to the present example, the applications are five in number: an audio decoder 16, a video decoder 17, a decoder
Teletext 18, an access control assembly (comprising the decryptor 7, a microcontroller tester 8 and a microprocessor card interface 9 connected in normal operating mode to a microprocessor card 10), as well as a management module service data.

Le décodeur comporte également une interface infrarouge d'une télécommande 24, ladite interface étant également reliée au microprocesseur 23. Ce dernier est connecté à une mémoire 1 2 comportant le système d'exploitation ainsi que les programmes résidents ou téléchargés de mise en oeuvre des applications. The decoder also comprises an infrared interface of a remote control 24, said interface being also connected to the microprocessor 23. The latter is connected to a memory 1 2 comprising the operating system as well as the resident or downloaded programs for implementing the applications. .

Un modem 1 3 relié au réseau téléphonique commuté 1 4 est également commandé par le microprocesseur. A modem 1 3 connected to the switched telephone network 1 4 is also controlled by the microprocessor.

Un générateur de caractères 1 5 permet la génération de menus de commande ou de graphiques relatifs aux paramètres du décodeur ou à une application particulière. Le signal vidéo généré par ce générateur de caractères est multiplexé avec l'un des signaux vidéo en provenance du décodeur vidéo 1 7 ou du décodeur télétexte 1 8 vers une première prise Péritel (prise SCART en anglais) reliée à un téléviseur 22 ou une seconde prise Péritel reliée à un magnétoscope 21. Le circuit de multiplexage 20 est géré par le microprocesseur 23. A character generator 1 5 allows the generation of control menus or graphics relating to the parameters of the decoder or a particular application. The video signal generated by this character generator is multiplexed with one of the video signals from the video decoder 1 7 or the teletext decoder 1 8 to a first SCART socket (SCART socket in English) connected to a television 22 or a second Scart socket connected to a video recorder 21. The multiplexing circuit 20 is managed by the microprocessor 23.

L'invention concerne plus particulièrement le fonctionnement du module de gestion des données de service. Dans le cas présent, ce module est physiquement parlant un programme géré par le microprocesseur, bien que conceptuellement, il s'agisse d'une application traitant des paquets de données, au même titre qu'un décodeur audio ou vidéo, pour lesquels des circuits dédiés sont utilisés. The invention relates more particularly to the operation of the service data management module. In the present case, this module is physically a microprocessor-managed program, although conceptually it is an application processing data packets, just like an audio or video decoder, for which circuits dedicated are used.

Le module est une interface entre les données de service (sections et tables MPEG et DVB) et des applications clientes (guide de programmes, téléachat, jeux interactifs, etc.). II gère les requetes des applications clientes et maintient une base de données interne à partir des données de service reçues. The module is an interface between service data (MPEG and DVB sections and tables) and client applications (program guide, teleshopping, interactive games, etc.). It manages requests from client applications and maintains an internal database from the received service data.

Selon le présent exemple de réalisation, l'application cliente est un guide de programmes également géré par le microprocesseur. According to the present exemplary embodiment, the client application is a program guide also managed by the microprocessor.

Le module de gestion met à la disposition des applications clientes un certain nombre de fonctions destinées à formuler les requetes relatives aux informations dont les applications ont besoin. The management module provides client applications with a number of functions to formulate requests for information that applications require.

Les fonctions de requête ont un fonctionnement asynchrone. Query functions have asynchronous operation.

La réponse à une requête, si réponse il y a, est notifiée à une application par le module de gestion quand cette réponse est disponible. Ceci requiert la mise en oeuvre d'un mécanisme d'identification d'une fonction de requête. Dans ce but, un identifiant est choisi par l'application pour chaque requête émise et transmis avec cette requête. Cet identifiant est lié à la notification de réponse par le module de gestion.The response to a request, if any, is notified to an application by the management module when this response is available. This requires the implementation of a mechanism for identifying a request function. For this purpose, an identifier is chosen by the application for each request sent and transmitted with this request. This identifier is linked to the response notification by the management module.

Les figures 2a à 2c illustrent les trois cas d'échanges, suite à une requête, entre l'application cliente, le module de gestion des données de service et la source de ces données, à savoir l'ensemble démultiplexeur-mémoire tampon-microprocesseur. FIGS. 2a to 2c illustrate the three cases of exchanges, following a request, between the client application, the service data management module and the source of these data, namely the demultiplexer-buffer-microprocessor assembly .

La figure 2a concerne le cas où la base de données interne ("mémoire cache") comporte l'information requise par l'application cliente. La requête de cette dernière est suivie d'une notification de mise à disposition de cette information. L'information étant dans ce cas présente dans la base de données, la notification de réponse est quasi-immédiate. Dans ce cas, aucune donnée n'a à être transférée vers ou à partir de la source. Figure 2a is for the case where the internal database ("cache") contains the information required by the client application. The request of the latter is followed by a notification of the provision of this information. The information being in this case present in the database, the response notification is almost immediate. In this case, no data has to be transferred to or from the source.

La figure 2b illustre le cas où l'information demandée ne figure pas dans la base de données interne. Dans ce cas, la requête de l'application cliente est également suivie d'une notification par le module de gestion à l'application destinée à l'informer de l'indisponibilité temporaire de l'information, puis d'une commande adressée par le module de gestion à la source de données. Lorsque la ou les sections correspondant à l'information recherchée ont été trouvées dans le flux de données, démultiplexées et stockées dans la mémoire tampon, la source notifie le module SI que ces sections sont disponibles. Après lecture et reformattage des données des sections, le module de gestion notifie à son tour à l'application cliente que l'information recherchée est disponible. Le module écrit l'information recherchée (qui peut n'être qu'une partie des données de la section) dans une mémoire tampon allouée lors de sa requête initiale par l'application cliente. Cette notification arrive donc dans ce cas moins rapidement que dans le cas 2a. Figure 2b illustrates the case where the requested information does not appear in the internal database. In this case, the request of the client application is also followed by a notification by the management module to the application to inform it of the temporary unavailability of the information, and then an order sent by the client. management module at the data source. When the section or sections corresponding to the information sought are found in the data stream, demultiplexed and stored in the buffer memory, the source notifies the SI module that these sections are available. After reading and reformatting the section data, the management module in turn notifies the client application that the information sought is available. The module writes the information sought (which may be only part of the data of the section) into a buffer allocated during its initial request by the client application. This notification therefore arrives in this case less quickly than in the case 2a.

Selon une variante, le module de gestion ne procède pas à la notification de l'indisponibilité de l'information, mais accuse simplement réception de la requête. According to one variant, the management module does not notify the unavailability of the information, but simply acknowledges receipt of the request.

La figure 2c illustre le cas où la requête initiale telle que celle de la figure 2a spécifie que les changements de l'information recherchée doivent être signalés. Dans ce cas, les filtres de la source ayant permis d'extraire du flux de données le paquet de données contenant cette information sont maintenus aux valeurs précédentes au lieu d'être désactivés. Ce type de requête, dite requête permanente, sera décrite plus en détail ci-après. Figure 2c illustrates the case where the initial request such as that of Figure 2a specifies that changes in the information sought should be reported. In this case, the filters of the source which made it possible to extract from the data stream the data packet containing this information are maintained at the previous values instead of being deactivated. This type of request, called permanent request, will be described in more detail below.

Selon le présent exemple de réalisation, il existe quatre types de requête
(a) Requête unique
Lorsqu'une telle requête est adressée par l'application au module de gestion, celui-ci met à disposition ses ressources (filtre et mémoire) uniquement jusqu'au moment du transfert des données requises. Les ressources sont immédiatement libérées.
According to the present exemplary embodiment, there are four types of request
(a) Single request
When such a request is addressed by the application to the management module, the latter makes available its resources (filter and memory) only until the transfer of the required data. Resources are immediately released.

(b) Requête unique anticipée
Cette requête possède les caractéristiques de la requête unique, mais possède une priorité moindre. Le module de gestion maintient deux mémoires de type FIFO, I'une pour les requêtes anticipées, L'autre pour les requêtes non anticipées. Les requêtes anticipées en attente sont toujours traitées après les requêtes non anticipées.
(b) Single anticipated request
This query has the characteristics of the single query, but has a lower priority. The management module maintains two FIFO type memories, one for advance requests, the other for unanticipated requests. Expected pending requests are always processed after unanticipated requests.

(c) Requête permanente
Les ressources du module de gestion sont maintenues, même après démultiplexage et transfert des données requises. A chaque fois qu'un changement intervient dans ces données, une notification est transmise à l'application. Le module de gestion effectue donc une surveillance systématique, et ce jusqu'à ce que l'application envoie une commande d'interruption de cette surveillance.
(c) Standing request
The resources of the management module are maintained even after demultiplexing and transferring the required data. Whenever a change occurs in this data, a notification is sent to the application. The management module therefore performs systematic monitoring, until the application sends an interrupt command for this monitoring.

(d) Requête permanente anticipée
Cette requête est similaire à la requête permanente, mais avec un niveau de priorité inférieur.
(d) Advance permanent application
This request is similar to the permanent query, but with a lower priority level.

Les priorités fixées aux requêtes ne préjugent bien sûr en rien de l'ordre de réception véritable des données relatives à ces requêtes. Cet ordre dépend également de facteurs tels que la périodicité de chaque donnée et l'instant auquel la requête est formulée par rapport à cette période. The priorities set out in the requests do not of course prejudge the actual order of reception of the data relating to these requests. This order also depends on factors such as the periodicity of each datum and the time at which the request is made in relation to that period.

La figure 3a est un diagramme d'état d'une requête unique, tandis que la figure 3b est un diagramme d'état d'une requête permanente. Figure 3a is a state diagram of a single request, while Figure 3b is a state diagram of a permanent request.

A chaque fois qu'une application formule une requête, un type de requête doit lui être associée. Whenever an application makes a request, a request type must be associated with it.

Dans le cas d'une requête permanente, les données récupérées dans le flux sont d'autre part mémorisées dans la base de données interne du module de gestion. Ce n'est pas le cas pour les données extraites suite à une requête unique, pour laquelle aucune copie des données n'est conservée. Lorsqu'une nouvelle version d'une table contenant des données relatives à une requête permanente est détectée (c'est à dire lorsque le paramètre version~id de la table change), les données appropriées de cette table sont comparées aux données dans la base de données. Une notification de mise à jour n'est transmises que si au moins une de ces données a été modifiée. In the case of a permanent request, the data recovered in the stream are also stored in the internal database of the management module. This is not the case for the data extracted following a single request, for which no copy of the data is kept. When a new version of a table containing data relating to a permanent query is detected (that is, when the version ~ id parameter of the table changes), the appropriate data in this table are compared to the data in the database. of data. An update notification is only sent if at least one of these data has been modified.

L'identificateur de version de la table est en effet modifié quelque soit la modification intervenue dans la table, même si elle ne concerne que des données non demandées par une application. Ce mécanisme évite un transfert de données redondantes entre l'application et le module de gestion.The version identifier of the table is indeed modified whatever the modification occurred in the table, even if it concerns only data not requested by an application. This mechanism avoids redundant data transfer between the application and the management module.

Le choix du type de requête est laissé à l'application. A titre d'exemple de critère de décision d'une application quant au type de requête, la figure 4 est un schéma d'un écran de guide de programme. The choice of the type of request is left to the application. As an example of a decision criterion of an application as to the type of request, FIG. 4 is a diagram of a program guide screen.

L'écran comporte deux parties: une partie inférieure 40 donnant accès à des fonctions de commande grâce à une télécommande, ainsi qu'une partie supérieure 41, comportant une liste d'événements sélectionnés grâce auxdites commandes. Pour chacun des événements, le guide de programmes affiche le titre, le nom du service correspondant, I'heure de début et de fin.The screen has two parts: a lower part 40 giving access to control functions by means of a remote control, and an upper part 41, comprising a list of events selected by said commands. For each event, the program guide displays the title, the name of the corresponding service, the start and end time.

La partie supérieure 40 ne peut afficher qu'une partie de la liste des événements. Pour accéder aux autres événements,
I'utilisateur utilise des flèches de défilement de la télécommande.
The upper part 40 can display only part of the list of events. To access other events,
The user uses scrolling arrows on the remote control.

Lorsque l'application guide de programmes adresse au module de gestion les requêtes relatives aux informations des événements de la liste, les requêtes concernant les événements affichés en premier seront de type non-anticipé, c'est à dire prioritaire. When the program guide application sends the requests relating to the information of the events of the list to the management module, the requests concerning the events displayed first will be of the non-anticipated type, that is to say priority.

II s'agit là en effet d'informations devant obligatoirement être affichées. Les requêtes relatives aux autres événements de la liste seront de type anticipé, et traitées par le module de gestion après les requêtes non-anticipées. II n'est en effet pas sûr que l'application ait besoin des informations correspondantes, car il n'est pas certain que l'utilisateur fasse effectivement défiler les événements si le renseignement qu'il cherche se trouve parmi les événements affichés au départ. Dans le but d'accélérer l'affichage de ces données au cas où elles seraient requises, elles sont cependant préchargées. Lorsque les données en réponse à une requête anticipée ont été démultiplexées, le module de gestion notifie ce fait à l'application ayant lancé la requête. This is indeed information that must necessarily be displayed. The requests relating to the other events of the list will be of anticipated type, and processed by the management module after the non-anticipated requests. It is indeed not sure that the application needs the corresponding information, because it is not certain that the user actually scrolls events if the information he seeks is among the events displayed initially. In order to speed up the display of these data in case they are required, they are preloaded. When the data in response to an advance request has been demultiplexed, the management module notifies this fact to the application that launched the request.

Le transfert des données vers un buffer mis à disposition par l'application n'a cependant pas lieu tant que l'application ne demande pas ce transfert.The transfer of data to a buffer made available by the application, however, does not take place until the application requests this transfer.

L'un des rôles du module de gestion des données de service est de programmer les filtres du démultiplexeur. Pour remplir cette fonction et permettre un accès rapide aux données recherchées, il maintient conformément au présent exemple de réalisation une image de la structure physique du ou des réseaux (networks en anglais) auxquels il a accès. One of the roles of the service data management module is to program the demultiplexer filters. To fulfill this function and to allow rapid access to the desired data, it maintains in accordance with the present example embodiment an image of the physical structure of the network (networks in English) to which it has access.

Les documents a et b définissent dix tables donnant des informations sur la configuration du ou des réseaux, bouquets, services et événements transmis. Les tables sont identifiées par des valeurs particulières de PID (Packet Identification Data en anglais) et d'identificateurs de tables (table~id), dont les valeurs sont définies par lesdits documents. Chaque table contient un identificateur de version, permettant de déterminer si d'une transmission de la table à l'autre, le contenu de cette table a changé. Documents a and b define ten tables giving information on the configuration of the network or networks, bundles, services and events transmitted. The tables are identified by particular values of PID (Packet Identification Data in English) and table identifiers (table ~ id), whose values are defined by said documents. Each table contains a version identifier, to determine if a transmission from one table to another, the contents of this table has changed.

La table qui nous intéresse ici est la table appelée NIT (pour
Network Information Table en anglais). La table NIT comporte des informations sur un réseau de transmission donné, notamment la liste des services disponibles par canal de transmission (Transport Stream en anglais).
The table that interests us here is the table called NIT (for
Network Information Table). The NIT table includes information on a given transmission network, including the list of available services by transmission channel.

Le module de gestion de données construit une indexation interne des réseaux, canaux et services disponibles. Lors de la mise en route du décodeur ou lors d'une mise à jour de la table NIT, une clé logique est attribuée à chacun des services disponibles. Cette clé est l'index de ce service dans la base de données maintenue par le module. The data management module builds internal indexing of available networks, channels, and services. When the decoder is turned on or when the NIT table is updated, a logical key is assigned to each of the available services. This key is the index of this service in the database maintained by the module.

Dans un système DVB, un service est localisable de manière unique par le chemin comprenant les variables suivantes
- network~id (identifiant du réseau),
- couple (transport~stream~id ; original~network~id),
- service~id (identifiant du service proprement dit).
In a DVB system, a service is uniquely locatable by the path including the following variables
- network ~ id (network identifier),
- couple (transport ~ stream ~ id; original ~ network ~ id),
- service ~ id (service identifier itself).

Les trois variables sont des entiers naturels codés sur 1 6 bits. The three variables are natural numbers encoded on 1 6 bits.

Trois types de listes sont créés: une liste pour les réseaux, une liste de canaux pour chaque réseau et une liste de services pour chaque canal. Three types of lists are created: a list for networks, a list of channels for each network and a list of services for each channel.

Un élément de la liste des réseaux est créé chaque fois qu'une table NIT comportant un nouveau réseau est démultiplexée. An item in the network list is created each time an NIT table with a new network is demultiplexed.

Pour ce faire, les paquets de transport dont le PID est égal à Ox0010 sont filtrés. Ces paquets contiennent en effet les tables NIT, identifiées de plus par une variable table~id. Un code sur 4 bits est associé à chaque réseau, dans l'ordre du démultiplexage des tables correspondantes. Le code est l'index du pointeur adresse de la structure comportant les informations relatives à ce réseau.To do this, the transport packets whose PID is equal to Ox0010 are filtered. These packets indeed contain the NIT tables, further identified by a table variable ~ id. A 4-bit code is associated with each network, in the order of demultiplexing the corresponding tables. The code is the index of the address pointer of the structure containing the information relating to this network.

La table NIT comporte la liste des canaux pour ce réseau, ainsi que pour chaque canal la liste des services disponibles. The NIT table contains the list of channels for this network, as well as for each channel the list of available services.

Pour chaque réseau de la liste de réseaux, une liste de canaux est créée. Chaque élément d'une liste de canaux est indexé à l'aide de 5 bits. La liste contient les pointeurs d'adresse des structures comportant les données spécifiques à chaque canal. La clé logique pour identifier un canal dans la base de données se compose des 4 bits d'index du réseau, suivis des 5 bits de l'index du canal de ce réseau.  For each network in the network list, a channel list is created. Each element of a channel list is indexed using 5 bits. The list contains the address pointers of the structures containing the data specific to each channel. The logical key to identify a channel in the database consists of the 4 index bits of the network, followed by the 5 bits of the channel's index of that network.

Pour chaque canal, une liste de services est créé, comportant les identifiants des services décrits par la table NIT. For each channel, a list of services is created, including the service identifiers described by the NIT table.

Chaque service dans une liste est indexé sur 7 bits. La clé logique d'un service dans la base de données comporte donc en tout 16 bits: 4 bits d'index de réseau, 5 de canal et 7 de service.Each service in a list is indexed on 7 bits. The logical key of a service in the database thus comprises in all 16 bits: 4 network index bits, 5 channel and 7 service.

Un événement d'un service sera identifié à l'aide des 16 bits désignant cet événement (variable event~id de la table ), auxquels on ajoutera les 16 bits de clé logique du service associé. An event of a service will be identified using the 16 bits designating this event (event_id variable of the table), to which will be added the 16 logical key bits of the associated service.

La structure de la base de données (hors événements) est organisée selon les structures suivantes

Figure img00110001
The structure of the database (excluding events) is organized according to the following structures
Figure img00110001

<tb> <SEP> f3zlse <SEP> de <SEP> données
<tb> AdresseListeRéseaux
<tb> <SEP> ListeRéseaux
<tb> O <SEP> AdresseRéseau
<tb> 1 <SEP> AdresseRéseau
<tb> 2 <SEP> AdresseRéseau
<tb> 3 <SEP> AdresseRéseau
<tb> 4 <SEP> AdresseRéseau
<tb> 5 <SEP> AdresseRéseau
<tb> 6 <SEP> AdresseRéseau
<tb> 7 <SEP> AdresseRéseau
<tb> <SEP> AdresseProchainTableauRéseaux <SEP>
<tb> <SEP> Reseau
<tb> IdentificateurRéseau <SEP> ("network <SEP> id")
<tb> NomRéseau <SEP> ("network <SEP> name")
<tb> AdresseListeCanaux
<tb> <SEP> 77 <SEP> Liste(:anaux <SEP>
<tb>

Figure img00120001
<tb><SEP> f3zlse <SEP> of <SEP> Data
<tb> AddressListNetworks
<tb><SEP> NetworkList
<tb> O <SEP> NetworkAddress
<tb> 1 <SEP> NetworkAddress
<tb> 2 <SEP> NetworkAddress
<tb> 3 <SEP> NetworkAddress
<tb> 4 <SEP> NetworkAddress
<tb> 5 <SEP> NetworkAddress
<tb> 6 <SEP> NetworkAddress
<tb> 7 <SEP> NetworkAddress
<tb><SEP> AddressNextTableNetworks <SEP>
<tb><SEP> Network
<tb> NetworkID <SEP>("network<SEP>id")
<tb> NetworkName <SEP>("network<SEP>name")
<tb> ChannelListAddress
<tb><SEP> 77 <SEP> List (: anal <SEP>
<Tb>
Figure img00120001

<tb> O <SEP> AdresseCanal
<tb> i <SEP> AdresseCanal <SEP>
<tb> 2 <SEP> AdresseCanal
<tb> 3 <SEP> AdresseCanal
<tb> 4 <SEP> AdresseCanal
<tb> 5 <SEP> AdresseCanal
<tb> 6 <SEP> AdresseCanal
<tb> 7 <SEP> AdresseCanal
<tb> <SEP> AdresseProchainTableauCanaux <SEP>
<tb> <SEP> Canal
<tb> Identificateurcanal <SEP> ("TranportStream~id")
<tb> IdentificateurRéseauOrigine
<tb> (11OnginalNetwork <SEP> Id") <SEP>
<tb> AdresseListeServices
<tb> <SEP> ListeServices <SEP>
<tb> O <SEP> AdresseService <SEP>
<tb> 1 <SEP> AdresseService
<tb> 2 <SEP> AdresseService
<tb> 3 <SEP> AdresseService
<tb> 4 <SEP> AdresseService
<tb> 5 <SEP> AdresseService
<tb> 6 <SEP> AdresseService
<tb> 7 <SEP> AdresseService
<tb> <SEP> AdresseProchainTableauServices <SEP>
<tb> <SEP> Service
<tb> IdentificateurService <SEP> ("service~id")
<tb> NomService <SEP> ("service <SEP> name")
<tb> Etat <SEP> ("running~status")...
<tb>
<tb> O <SEP> ChannelAddress
<tb> i <SEP> ChannelAddress <SEP>
<tb> 2 <SEP> ChannelAddress
<tb> 3 <SEP> ChannelAddress
<tb> 4 <SEP> ChannelAddress
<tb> 5 <SEP> ChannelAddress
<tb> 6 <SEP> ChannelAddress
<tb> 7 <SEP> ChannelAddress
<tb><SEP> AddressNextChannelsCanal <SEP>
<tb><SEP> Channel
<tb> ChannelID <SEP>("TranportStream ~ id")
<tb> IdentifierNetworkOrigine
<tb> (11OnginalNetwork <SEP> Id) <SEP>
<tb> AddressListServices
<tb><SEP> ServiceList <SEP>
<tb> O <SEP> ServiceAddress <SEP>
<tb> 1 <SEP> ServiceAddress
<tb> 2 <SEP> ServiceAddress
<tb> 3 <SEP> ServiceAddress
<tb> 4 <SEP> ServiceAddress
<tb> 5 <SEP> ServiceAddress
<tb> 6 <SEP> ServiceAddress
<tb> 7 <SEP> ServiceAddress
<tb><SEP> AddressNextTableServices <SEP>
<tb><SEP> Service
<tb> ServiceIdentifier <SEP>("service ~ id")
<tb> ServiceName <SEP>("service<SEP>name")
<tb> Status <SEP>("running ~ status") ...
<Tb>

Les variables dont le nom contient le terme "Adresse" sont des pointeurs vers des zones mémoire correspondant au début d'une structure de données. Variables whose name contains the term "Address" are pointers to memory areas corresponding to the beginning of a data structure.

Les autres variables correspondent à des informations extraites du flux de données. Pour faciliter la compréhension, ces variables sont suivies entre parenthèses et guillemets de la dénomination utilisée dans le document (a). The other variables correspond to information extracted from the data stream. For ease of understanding, these variables are followed in parentheses and quotation marks of the denomination used in document (a).

On notera que les listes de réseaux, de canaux et de services sont chacune organisées en tableaux, chaque tableau étant composé de d'une part de huit pointeurs vers des structures de données de type réseau, canal ou service, et d'autre part d'un pointeur vers un éventuel tableau comportant la suite de la liste. Ce dernier pointeur est nul lorsqu'il n'existe pas d'autre tableau, c'est-à-dire lorsqu'un tableau comporte les derniers éléments d'une liste. Ce dernier pointeur n'est pas indexé. It should be noted that the lists of networks, channels and services are each organized in tables, each table being composed of, on the one hand, eight pointers to data structures of the network, channel or service type, and on the other hand, a pointer to a possible table with the rest of the list. This last pointer is null when there is no other table, that is to say when a table contains the last elements of a list. This last pointer is not indexed.

Les tableaux comportent huit éléments, ce qui correspond à une puissance de deux. Ceci permet de déterminer le tableau comportant un pointeur recherché en masquant, dans ce cas, les trois derniers bits de l'index de canal. The tables have eight elements, which corresponds to a power of two. This makes it possible to determine the array comprising a desired pointer by masking, in this case, the last three bits of the channel index.

Le tableau Base de données contient un pointeur vers le tableau contenant la première partie de la liste de réseaux. The Database table contains a pointer to the table containing the first part of the network list.

Le tableau ListeRéseaux comporte les pointeurs vers les huit premiers réseaux. Selon le présent exemple de réalisation, il y a au maximum deux tableaux Liste Réseaux, contenant la liste complète des réseaux. The NetworkList array has pointers to the top eight networks. According to the present exemplary embodiment, there are at most two tables List Networks, containing the complete list of networks.

Le tableau Réseau comporte les informations relatives à un réseau donné, ainsi qu'un pointeur vers le premier tableau de la liste des canaux associés à ce réseau. The Network table includes information about a given network, as well as a pointer to the first table in the list of channels associated with that network.

La structure des autres tableaux est similaire à ce qui vient d'être dit. II est d'autre part facile de l'étendre aux événements et à d'autres types de données. The structure of the other tables is similar to what has just been said. On the other hand, it is easy to extend it to events and other types of data.

Selon une variante de réalisation, les requêtes relatives aux données concernant la structure du réseau, des canaux et des services sont des requêtes de type permanent, ceci dans le but de maintenir constamment à jour l'image du réseau dans la base de données.  According to an alternative embodiment, queries relating to the data concerning the structure of the network, channels and services are queries of permanent type, with the aim of constantly updating the image of the network in the database.

Dans leurs échanges avec le module de gestion, les applications utilisent uniquement les clés logiques. Celles-ci sont traduites par le module en une adresse mémoire correspondant à l'endroit où est stockée l'information. In their exchanges with the management module, the applications use only the logical keys. These are translated by the module into a memory address corresponding to the place where the information is stored.

La figure 5 est un diagramme de la base de données du module de gestion dans le cas de l'existence d'un réseau, comportant deux canaux, chaque canal comportant lui-même deux services. FIG. 5 is a diagram of the database of the management module in the case of the existence of a network, comprising two channels, each channel comprising itself two services.

La table des requêtes applicatives donne la liste des requêtes en cours formulées par les applications. Selon le présent exemple, la seule requête en cours est une requête de type permanent destinée à récupérer la liste des services présents sur un réseau. The application request table gives a list of the current requests made by the applications. According to the present example, the only current request is a permanent type request to retrieve the list of services present on a network.

La table des requêtes du module de gestion comporte les requêtes primitives correspondant aux requêtes applicatives. Une requête primitive est dans le contexte présent une requête pouvant être traduite en un seul filtre au niveau du démultiplexeur. Dans le cas présent, étant donné que deux canaux existent dans le réseau, deux requêtes primitives sont nécessaires pour traduire la requête applicative: une requête primaire par liste de services ou encore par canal. C'est le module de gestion qui effectue la séparation des requêtes applicatives en requêtes primitives. The request table of the management module comprises the primitive requests corresponding to the application requests. In the present context, a primitive request is a query that can be translated into a single filter at the level of the demultiplexer. In the present case, since two channels exist in the network, two primitive requests are necessary to translate the application request: a primary request by list of services or by channel. It is the management module that separates application requests into primitive requests.

Sur la figure, les filtres correspondant à chaque requête primitive se trouvent à gauche de la table des requêtes du module de gestion. In the figure, the filters corresponding to each primitive request are to the left of the request table of the management module.

On suppose qu'à l'instant illustré par la figure 5, les listes de service ont été acquises une première fois. Etant donné la nature permanente de la requête applicative, les filtres correspondants, ainsi que le contenu de la base de données concernant cette requête sont maintenus. It is assumed that at the instant shown in Figure 5, the service lists were acquired a first time. Given the permanent nature of the application request, the corresponding filters, as well as the contents of the database concerning this request are maintained.

Les chiffres identifiant les branches reliant une liste et un élément dans cette liste correspondent à l'index (clé logique) de cet élément dans la liste. The numbers identifying the branches connecting a list and an item in this list correspond to the index (logical key) of this element in the list.

L'application cherche maintenant à obtenir la liste des événements en cours dans le réseau. II existe un événement en cours par service; ceci impose de filtrer la table 'EIT Present/Following' ("évent Information Table" en anglais) correspondante.  The application is now looking for a list of current events in the network. There is one event in progress per service; this requires filtering the corresponding table 'EIT Present / Following' ("Event Information Table").

La requête émise par l'application comporte, pour un service donné, les paramètres suivants
- un identificateur de requête,
- le type de la requête,
- la clé logique du service concerné,
- un ensemble de drapeaux indiquant quelles sont les données des descripteurs d'événement qui seront à stocker dans la base,
- une structure de données destinée à contenir d'une part l'heure de début de l'événement, sa durée, une information sur le contrôle d'accès et le nom de l'événement, et d'autre part un pointeur d'adresse vers l'adresse à partir de laquelle les données identifiées par les drapeaux seront stockées.
The request sent by the application includes, for a given service, the following parameters:
- a request identifier,
- the type of the request,
- the logical key of the service concerned,
a set of flags indicating which data of the event descriptors will be stored in the database,
a data structure intended to contain, on the one hand, the start time of the event, its duration, information on the access control and the name of the event, and on the other hand a pointer of address to the address from which the data identified by the flags will be stored.

Selon le présent exemple, on suppose que les requêtes relatives aux événements en cours du premier canal (TS id=7) sont non-anticipées, tandis que les requêtes relatives aux événements en cours du second canal (TS~id = 9) sont anticipées. Ceci peut par exemple être le cas lorsque seuls deux événements peuvent être affichés en même temps, et que les événements des services 1 (Service~id = 1) et 3 (Service~id = 3) sont affichés en premier à l'écran. According to the present example, it is assumed that the requests relating to the current events of the first channel (TS id = 7) are not anticipated, whereas the queries relating to the current events of the second channel (TS id = 9) are anticipated. . This can for example be the case when only two events can be displayed at the same time, and the events of services 1 (Service ~ id = 1) and 3 (Service ~ id = 3) are displayed first on the screen.

Pour obtenir les renseignements sur les événements en cours, I'application doit lancer quatre requêtes distinctes, qui sont déjà des requêtes primitives. On supposera dans ce qui suit que ces requêtes ne sont pas permanentes. Les données concernant les événements ne seront par conséquent pas stockées dans la base de données interne, une fois transférées vers l'application cliente. For information on current events, the application must launch four separate queries, which are already primitive queries. It will be assumed in the following that these requests are not permanent. Event data will therefore not be stored in the internal database once transferred to the client application.

Le module de gestion passe en revue les requêtes primitives et traite en priorité les requêtes non-anticipées. The management module reviews primitive requests and prioritizes non-anticipated requests.

Les clés logiques transmises par l'application seront respectivement
0.0.0
0.0.1 010
0.1.1
où le premier chiffre représente le réseau, le second le couple (canal, réseau d'origine) et le troisième le service.
The logical keys transmitted by the application will respectively
0.0.0
0.0.1 010
0.1.1
where the first digit represents the network, the second the pair (channel, home network) and the third the service.

Grâce aux listes maintenues par le module de gestion, les identificateurs réels peuvent être envoyés au démultiplexeur, en donnant priorité aux deux premières requêtes. La valeur du PID de la table EIT (PlD=0x0012) ainsi que l'identificateur de la table
ElT~present~following (table~id = 0x4E) sont définis par le document (a) et sont accessibles via une table de correspondance indexée par la fonction de requête.
Thanks to the lists maintained by the management module, the real identifiers can be sent to the demultiplexer, giving priority to the first two requests. The PID value of the EIT table (PlD = 0x0012) as well as the identifier of the table
ElT ~ present ~ following (table ~ id = 0x4E) are defined by the document (a) and are accessible via a correspondence table indexed by the query function.

A l'aide de ces informations, un des filtres du démultiplexeur peut être programmé. Using this information, one of the demultiplexer filters can be programmed.

Selon une variante de réalisation, en cas de mémoire insuffisante, au moins une partie des données stockées correspondant aux requêtes anticipées permanentes est effacée. According to an alternative embodiment, in the case of insufficient memory, at least a portion of the stored data corresponding to the permanent advance requests is erased.

Selon une variante de réalisation, le type d'une requête en cours peut être changé. Un exemple particulier envisagé consiste à changer une requête de type permanent non anticipé en une requête de type permanent anticipé. Une fonction spécifique pour un tel changement est disponible pour l'application cliente. According to an alternative embodiment, the type of a request in progress can be changed. A particular example envisaged consists in changing an unanticipated permanent type request into an anticipated permanent type request. A specific function for such a change is available for the client application.

Selon une variante, le module de gestion génère lui-même certaines requêtes relatives à la structure des réseaux (notamment la liste des réseaux et les listes de canaux associées) et les maintient de façon permanente. According to one variant, the management module itself generates certain requests relating to the network structure (in particular the list of networks and the associated channel lists) and maintains them permanently.

II est à noter que l'invention ne se limite pas à la seule transmission de données par voie satellitaire, hertzienne ou par câble, mais peut être mise en oeuvre dans tout système où des données ou paquets de données apparaissent périodiquement dans le flux de données. Ceci est notamment le cas pour des flux de données enregistrés et relus.  It should be noted that the invention is not limited to the only transmission of data by satellite, terrestrial or cable, but can be implemented in any system where data or data packets periodically appear in the data stream. . This is particularly the case for recorded and replayed data streams.

Claims (3)

REVENDICATIONS 1. Procédé d'indexation de données dans un système de transmissions de télévision numérique à organisation hiérarchique comportant au moins un récepteur caractérisé en ce qu'il comprend, au niveau du récepteur, les étapes  A method of indexing data in a digital television transmission system with hierarchical organization comprising at least one receiver characterized in that it comprises, at the receiver, the steps - d'extraction du flux de données numérique transmis d'au moins une liste d'éléments parmi les listes de réseaux, de canaux pour un réseau donné, de services pour un canal donné ou d'événements pour un service donné, extracting the digital data stream transmitted from at least one list of elements from the lists of networks, channels for a given network, services for a given channel or events for a given service, - de mémorisation d'un tableau comportant un pointeur d'adresse par élément particulier de la liste, ce pointeur pointant vers une zone mémoire du récepteur comportant des informations supplémentaires relatives audit élément particulier, storing a table comprising an address pointer for each particular element of the list, this pointer pointing to a memory zone of the receiver comprising additional information relating to said particular element, - d'utilisation, par une application dudit récepteur, de l'index d'un élément particulier dans ledit tableau pour désigner ledit élément particulier. - Use, by an application of said receiver, the index of a particular element in said table to designate said particular element. 2. Procédé selon la revendication 1, caractérisé en ce qu'une liste d'éléments est répartie sur plusieurs tableaux de même dimension, le dernier pointeur d'adresse d'un tableau pointant vers le tableau suivant. 2. Method according to claim 1, characterized in that a list of elements is distributed over several tables of the same dimension, the last address pointer of a table pointing to the following table. 3. Procédé selon la revendication 2, caractérisé en ce qu'un tableau comporte un nombre de pointeurs d'adresse relatifs à un élément de liste égal à une puissance de deux.  3. Method according to claim 2, characterized in that a table comprises a number of address pointers relating to a list item equal to a power of two.
FR9610068A 1996-08-09 1996-08-09 METHOD FOR INDEXING DATA IN A DIGITAL TELEVISION TRANSMISSION SYSTEM Expired - Fee Related FR2752351B1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
FR9610068A FR2752351B1 (en) 1996-08-09 1996-08-09 METHOD FOR INDEXING DATA IN A DIGITAL TELEVISION TRANSMISSION SYSTEM
PCT/EP1997/004327 WO1998010583A2 (en) 1996-08-09 1997-08-05 Method for indexing data in a digital television transmission system
CN97197036A CN1129313C (en) 1996-08-09 1997-08-11 Method for indexing data in a digital television transmission system
IDP972788A ID18187A (en) 1996-08-09 1997-08-11 METHODS FOR INDUCTING DATA IN A DIGITAL TELEVISION TRANSMISSION SYSTEM
EP97951132A EP0917801B1 (en) 1996-08-09 1997-08-11 Method for indexing data in a digital television transmission system
PCT/EP1997/005901 WO1998009430A2 (en) 1996-08-09 1997-08-11 Method for indexing data in a digital television transmission system
JP51130698A JP4156032B2 (en) 1996-08-09 1997-08-11 Data indexing method in digital television transmission system
DE69708107T DE69708107T2 (en) 1996-08-09 1997-08-11 METHOD FOR INDEXING DATA IN A DIGITAL TELEVISION TRANSMISSION SYSTEM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9610068A FR2752351B1 (en) 1996-08-09 1996-08-09 METHOD FOR INDEXING DATA IN A DIGITAL TELEVISION TRANSMISSION SYSTEM

Publications (2)

Publication Number Publication Date
FR2752351A1 true FR2752351A1 (en) 1998-02-13
FR2752351B1 FR2752351B1 (en) 2001-09-07

Family

ID=9494957

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9610068A Expired - Fee Related FR2752351B1 (en) 1996-08-09 1996-08-09 METHOD FOR INDEXING DATA IN A DIGITAL TELEVISION TRANSMISSION SYSTEM

Country Status (7)

Country Link
EP (1) EP0917801B1 (en)
JP (1) JP4156032B2 (en)
CN (1) CN1129313C (en)
DE (1) DE69708107T2 (en)
FR (1) FR2752351B1 (en)
ID (1) ID18187A (en)
WO (2) WO1998010583A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2780225A1 (en) * 1998-06-23 1999-12-24 Thomson Multimedia Sa System for acquisition and transmission of information about audience preferences of TV channels
FR2855352A1 (en) * 2003-05-20 2004-11-26 Thomson Licensing Sa Component e.g. digital TV service identifier, selecting method, involves identifying component adjacent to another component that does not appear in sub-list, and displaying another sub-list comprising highlighted components
WO2004105392A1 (en) * 2003-05-20 2004-12-02 Thomson Licensing Method for navigation in a list of elements and audiovisual receiver for the selection of elements in a list

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1001631A1 (en) 1998-11-09 2000-05-17 CANAL+ Société Anonyme Signalling of bouquet information in a digital transmission system
US6502243B1 (en) * 1998-11-10 2002-12-31 Lgerca, Inc. Method and system for locating a resource within a broadcasting environment
CN100438608C (en) * 2004-05-09 2008-11-26 意法半导体有限公司 A method for retrieving service information data
CN1756349B (en) * 2004-09-29 2010-04-21 松下电器产业株式会社 Method for transmitting instant television service on digital video broadcasting network
DE102010040923A1 (en) 2010-09-16 2012-03-22 Basf Se Process for the preparation of acrylic acid from ethanol and formaldehyde

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991000670A1 (en) * 1989-07-05 1991-01-10 The Superguide Corporation Method and apparatus for transmitting and receiving television program information
WO1994013102A1 (en) * 1992-11-27 1994-06-09 Io Research Pty. Limited Distributed database system and database receiver therefor
WO1994014284A1 (en) * 1992-12-09 1994-06-23 Discovery Communications, Inc. Reprogrammable terminal for suggesting programs offered on a television program delivery system
WO1995031069A1 (en) * 1994-05-04 1995-11-16 Starsight Telecast, Inc. Television schedule information transmission and utilization system and process
US5473609A (en) * 1994-05-26 1995-12-05 Thomson Consumer Electronics, Inc. Method and apparatus for processing a conditional access program guide as for a satellite TV service
WO1995034170A1 (en) * 1994-06-08 1995-12-14 Futurevision Of America Corp. Interactive broadband multimedia system
US5515106A (en) * 1994-01-05 1996-05-07 Thomson Consumer Electronics, Inc. Method and apparatus for transmitting/receiving a program guide for television services
WO1996037999A1 (en) * 1995-05-22 1996-11-28 Scientific-Atlanta, Inc. Logical and composite channel mapping in an mpeg network

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991000670A1 (en) * 1989-07-05 1991-01-10 The Superguide Corporation Method and apparatus for transmitting and receiving television program information
WO1994013102A1 (en) * 1992-11-27 1994-06-09 Io Research Pty. Limited Distributed database system and database receiver therefor
WO1994014284A1 (en) * 1992-12-09 1994-06-23 Discovery Communications, Inc. Reprogrammable terminal for suggesting programs offered on a television program delivery system
US5515106A (en) * 1994-01-05 1996-05-07 Thomson Consumer Electronics, Inc. Method and apparatus for transmitting/receiving a program guide for television services
WO1995031069A1 (en) * 1994-05-04 1995-11-16 Starsight Telecast, Inc. Television schedule information transmission and utilization system and process
US5473609A (en) * 1994-05-26 1995-12-05 Thomson Consumer Electronics, Inc. Method and apparatus for processing a conditional access program guide as for a satellite TV service
WO1995034170A1 (en) * 1994-06-08 1995-12-14 Futurevision Of America Corp. Interactive broadband multimedia system
WO1996037999A1 (en) * 1995-05-22 1996-11-28 Scientific-Atlanta, Inc. Logical and composite channel mapping in an mpeg network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2780225A1 (en) * 1998-06-23 1999-12-24 Thomson Multimedia Sa System for acquisition and transmission of information about audience preferences of TV channels
FR2855352A1 (en) * 2003-05-20 2004-11-26 Thomson Licensing Sa Component e.g. digital TV service identifier, selecting method, involves identifying component adjacent to another component that does not appear in sub-list, and displaying another sub-list comprising highlighted components
WO2004105392A1 (en) * 2003-05-20 2004-12-02 Thomson Licensing Method for navigation in a list of elements and audiovisual receiver for the selection of elements in a list

Also Published As

Publication number Publication date
CN1129313C (en) 2003-11-26
DE69708107D1 (en) 2001-12-13
EP0917801A2 (en) 1999-05-26
JP4156032B2 (en) 2008-09-24
FR2752351B1 (en) 2001-09-07
WO1998009430A3 (en) 1998-05-14
WO1998010583A2 (en) 1998-03-12
WO1998009430A2 (en) 1998-03-05
EP0917801B1 (en) 2001-11-07
CN1227691A (en) 1999-09-01
DE69708107T2 (en) 2002-06-06
JP2000516785A (en) 2000-12-12
ID18187A (en) 1998-03-12

Similar Documents

Publication Publication Date Title
FR2752350A1 (en) METHOD FOR EXTRACTING DATA IN A CYCLIC TRANSMISSION SYSTEM AND DEVICE FOR IMPLEMENTING SAID METHOD
EP2039159B1 (en) Method for displaying a mosaic image in a receiver for the selection of audiovisual programs, receivers and related servers
EP2761880B1 (en) Method for transmitting media data
US7340528B2 (en) Data referencing system
EP0694242B1 (en) Method and device for selecting video programs
FR2801464A1 (en) METHOD FOR RECORDING A SCRATCHED MPEG STREAM
EP1883239A1 (en) Method for storing and operating a broadcasted event
FR2806573A1 (en) METHOD FOR VIEWING BROADCASTED AND RECORDED BROADCASTS HAVING A COMMON CHARACTERISTIC AND ASSOCIATED DEVICE
RU2328088C2 (en) Advanced transfer of associate identifiers of content (crid) tv-anytime
FR2863127A1 (en) METHODS AND DEVICES FOR ASYNCHRONOUS DELIVERY OF DIGITAL DATA
FR2771884A1 (en) METHOD FOR MANAGING SERVICE INFORMATION IN A DIGITAL TELEVISION SYSTEM AND RECEIVER IMPLEMENTING SAID METHOD
FR2860935A1 (en) Digital data processing method for peer-to-peer computer network, involves storing data structure establishing link between each usable part of signal and single identifier of signal in communication apparatus
FR2752351A1 (en) METHOD FOR INDEXING DATA IN A DIGITAL TELEVISION TRANSMISSION SYSTEM
EP1258140B1 (en) Method for visual display of broadcast audio-visual programmes and associated visual display device
EP1537747A2 (en) Audiovisual program synchronization system and method
FR2800958A1 (en) PROCESS FOR TRANSMISSION AND PROCESSING OF SERVICE INFORMATION IN A TELEVISION SYSTEM, RECEIVER AND TRANSMITTER IN SUCH A SYSTEM
EP1119967B1 (en) Method and device for service data management in a television system
FR2818074A1 (en) optimized two decoder TV services list having individual lists extracted then combined whilst removing redundant services and producing/storing optimized final list.
FR2792154A1 (en) SERVICE DATA MANAGEMENT METHOD AND RECEIVER IN A DIGITAL TELEVISION SYSTEM
JP2006243986A (en) Data recording device
MXPA99004572A (en) Improved system and method for processing object-based audiovisual information.
JP3623719B2 (en) Method for generating program identifier for electronic program guide
FR3069996B1 (en) METHOD FOR READING A DIGITAL MULTIMEDIA STREAM WITH QUICK ACCESS TO THE CLEAR CONTENT AND USE DEVICE
FR2812160A1 (en) Digital television decoder multiple mosaic image service selection having decoder/receiver and module with unit selecting services and memory module memorising service selection digital words.
FR3015844A1 (en) METHOD FOR ACCESSING DIFFUSE CONTENT ON A POINT-TO-MULTIPOINT NETWORK, PREVIOUSLY OR FURTHER TO ITS BROADCAST, AND ASSOCIATED DECODER

Legal Events

Date Code Title Description
ST Notification of lapse