Abstract:
The invention concerns a service browser process and a system for controlling navigation events between a plurality of services and/or channels of a digital interactive Radio-Broadcasting system ( 1 ). The process proposes the services to a user and enables the navigation to other services or channels through control means ( 15 ). The broadcasted applications being categorised into at least two types including a first type termed Surfer application designed for controlling navigation and having knowledge of services, the process comprises the steps of identifying ( 21 ) Surfer applications from other types of applications, selecting ( 33 ) a particular Surfer application, downloading ( 27, 35 ) such selected Surfer application within a dedicated part ( 22 ) of the Decoder memory ( 20 ), called Surfer Cache, and executing ( 36 ) the selected Surfer application from the Surfer Cache, whereby the Decoder is under control of the Surfer application.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to a service browser process and the corresponding system. 
         [0002]    A service browser process is a process for controlling navigation between a plurality of services and/or channels in a digital Integrated Receiver Decoder (IRD) that provides links to other services within a radio-broadcasting or TV environment, or across TV networks, and allows the viewer to tune to those services. 
         [0003]    Services are regular TV or radio services, or any application or communication data channel as for instance indicated in the DVB service descriptor of the MPEG-2 standard. 
         [0004]    A service consists of one or more components or tracks transmitting video, audio or application data. 
       BACKGROUND OF THE INVENTION 
       [0005]    The process of changing from one TV channel to another is often called &lt;&lt;channel zapping&gt;&gt; or &lt;&lt;channel surfing&gt;&gt;. This particular type of browser application will be referred to hereafter indifferently as &lt;&lt;Surfer application&gt;&gt; or &lt;&lt;Surfer&gt;&gt;. 
         [0006]    A Surfer logically can be seen as a gate to a selection of services or list of services. 
         [0007]    In other words, Surfer is used as a general term describing a broadcasted application that is designed to handle the presentation of a list of services and will react to particular events like remote control key messages, but is not related to a specific application. It is also already observed that a Surfer is one level above the other applications hereafter referred to as normal applications or EPG applications as defined in the DVB standard. 
         [0008]    The invention is more particularly but not exclusively related to a process and a system implemented within the digital interactive TV environment. 
         [0009]    In digital TV Broadcast environment any interactive decoder is decoding video, audio and data streams, regardless of the fact that it is connected to a cable, satellite or terrestrial network. 
         [0010]    For instance, [1] ETS 300 468 Specification for Service Information (SI) in Digital Video Broadcasting (DVB) systems, and [2] ISO/IEC DIS 13818-1, Generic coding of moving pictures and associated audio information; Part 1 Systems, describe ways to include multiplex and retrieve single data streams into different broadcast environments. 
         [0011]    More generally it is observed that applications are transmitted in data streams and processed in the decoder&#39;s memory. 
         [0012]    The Surfer of the prior art is not broadcasted and consists of a built-in application, called Banner, stored in the decoder in order to allow a user to navigate or surf through all available services. 
         [0013]    This built-in software presents all services to the viewer and enables the channel changing process. In other words the Banner handles all channel-changing processes inside the decoder. 
         [0014]    More particularly apart from internal set-up menus, the Banners of known IRD incorporates an embedded way presenting one or more lists of services to the TV viewer, for instance one TV list and one radio list. These lists and all navigation functions within these lists, are controlled by the manufacturer&#39;s navigation software. 
         [0015]    For such control of the navigation software, the relevant network operator has previously provided the needed instruction to the manufacturers of the IRD. 
         [0016]    This is for instance the case of PayTV networks, renting their decoder platform. 
         [0017]    However, the built-in Banner involves two main disadvantages in the channel navigation concept, i.e. the navigation interface looks different on each type of decoder, and competing broadcasters or service providers that share the decoder platform do not have any control on promoting their own channels or services. 
       SUMMARY OF THE PRESENT INVENTION 
       [0018]    The present invention aims at solving these drawbacks and disadvantages. 
         [0019]    For this it is a main object of the present invention to provide a process and a system which render possible to download within the decoder the Surfer corresponding to the selected application, and to display such Surfer on a real-time basis, therefore providing to the user the required look and feel and services corresponding to the relevant provider, while maintaining reception of the selected service and authorising reception of other services coming from other sources (transponders) different from the one of the Surfer. 
         [0020]    It is another object of the invention to provide navigation control functions to a broadcasted Surfer application, to allow running the same browser on different IRDs from different manufacturers. 
         [0021]    This guarantees the same user interface and behaviour across various decoders, while embedded browsers come with their individual look and feel different from the built-in software. 
         [0022]    It is another object of the invention to provide an incorporated and cost saving process and system for perfect surfing. 
         [0023]    Specifically, the invention proposes a service browser process for controlling navigation events between a plurality of services and/or channels of a digital interactive Radio-Broadcasting system including at least one digital interactive decoder, said system broadcasting applications to be received by said decoder, wherein the process proposes said services to a user of said decoder and enables the navigation to other services or channels through control means activated by said user, characterised in that 
         [0000]    the applications being categorised into at least two types of applications including a first type termed Surfer application designed for controlling said navigation and having knowledge of said services,
 
the process comprises the steps of:
 
         [0024]    (i) identifying Surfer applications from other types of applications, 
         [0025]    (ii) selecting a particular Surfer application, 
         [0026]    (iii) downloading such selected Surfer application within a dedicated part of the decoder memory, called Surfer Cache, and 
         [0027]    (iv) executing said selected Surfer application from said Surfer Cache, whereby the decoder is under control of said Surfer application. 
         [0028]    When a Surfer is started, it allows the user to tune to another channel while still remaining active. 
         [0029]    In an advantageous embodiment, the decoder comprising a built-in application for presenting the services, termed the built-in Banner, and once a Surfer application is stored within said Surfer Cache, for any navigation event, the process comprises the steps of:
       checking if said navigation event has to be forwarded to the built-in Banner or to the Surfer application, and   in case the decoder is controlled by said Surfer application, routing said navigation event to the Surfer application while the built-in Banner is disabled.       
 
         [0032]    By navigation event one should understand any event of navigation between services such as for instance channel up or channel down. 
         [0033]    Advantageously, the Surfer application is stopped when an application different from a Surfer application, termed normal application, is displayed, and the Surfer application is re-launched from its Surfer Cache when said normal application is finished or a navigational event occurs. 
         [0034]    Equally advantageously a, plurality of Surfer applications being possible, it comprises the step of:
       presenting an interface using a list of services that allows the user to select one particular Surfer application among said list and to come back to said list after selection, if wanted.       
 
         [0036]    In a preferred embodiment, the process is implemented in a DVB environment, the Surfer applications being signalled in Bouquet Association Tables (BAT). 
         [0037]    A bouquet is a broadcasted service list. 
         [0038]    Advantageously, and in order to reduce switching time between several bouquets (i.e. service lists) containing Surfer applications, the process includes the step of downloading a plurality of Surfer applications, within corresponding Surfer Caches. Several Surfers can therefore be prefetched into these different caching areas inside the decoder&#39;s memory, and are launched when or after the viewer has requested a certain bouquet or service list. 
         [0039]    Advantageously, a unique identifier is provided to attach a Surfer application to a bouquet or service list in order to retrieve the proper Surfer application on viewer&#39;s bouquet selection. 
         [0040]    The system is then able to tune directly to one of the bouquet&#39;s service and bring up the Surfer from its Cache. 
         [0041]    This allows a quicker service as it is not necessary to download the relevant Surfer when needed. 
         [0042]    The invention also provides a system for implementing the process as described above. 
         [0043]    More particularly, the invention also provides a digital Interactive Radio-Broadcasting system for controlling navigation events between a plurality of services and/or channels, including at least one digital interactive decoder, said system broadcasting applications to be received by said decoder, wherein the system proposes said services to a user of said decoder and enables the navigation to other services or channels through control means activated by said user, characterised in that 
         [0000]    the applications being categorised into at least two types of applications including a first type termed Surfer application designed for controlling said navigation and having knowledge of said services,
 
the decoder comprises:
 
         [0044]    (i) identifying means for identifying Surfer applications from other types of applications, 
         [0045]    (ii) selecting means for selecting a particular Surfer application, 
         [0046]    (iii) downloading means for downloading such selected Surfer application within a dedicated part of the decoder memory, called Surfer Cache, and 
         [0047]    (iv) calculating means for executing said selected Surfer application from said Surfer Cache, whereby the decoder is under control of said Surfer application. 
         [0048]    Advantageously, the decoder comprising a built-in application for presenting the services, termed the built-in Banner, once a Surfer application is stored within said Surfer Cache, for any navigation event, the system comprises:
       checking means for checking if said navigation event has to be forwarded to the built-in Banner or to the Surfer application,   routing means arranged for routing said navigation event to the Surfer application in case the decoder is controlled by said Surfer application, and   disabling means for disabling simultaneously the built-in Banner.       
 
         [0052]    Also advantageously, the system comprises stopping means for stopping the Surfer application when a normal application is displayed, and re-launching means for re-launching said Surfer application from the Surfer Cache when said normal application is finished. 
         [0053]    In an advantageous embodiment, a plurality of Surfer applications being possible, it comprises means for presenting an interface using a list of Surfers that allows the user to select one particular Surfer application among said list and to come back to said list after selection, if wanted. 
         [0054]    Preferably the system is implemented in a DVB environment, the Surfer applications being signalled in Bouquet Association Tables (BAT). 
         [0055]    Advantageously, there is a plurality of Surfer Caches. 
         [0056]    More categories can also be selected but what is important is to be able to identify Surfer applications. 
         [0057]    More generally, the Surfer applications have or may have the following properties:
       They must be stored in the decoder to control channel navigation.   A Surfer application is always running if there is no other normal application requesting to be executed.   Surfer applications are controlling all navigation events.   Surfer applications have knowledge on services, service order and service properties and Surfer applications are downloaded into the decoder each time the viewer selects a particular Surfer.       
 
         [0062]    In another embodiment, such downloading is not necessary at each time, as a plurality of Surfers may be simultaneously stored in the decoder and retrieved at demand. 
         [0063]    For this, Surfer controlled navigation requires an additional recognition process, physical memory for temporary caching the Surfers, and a built-in Surfer selection layer in the decoder&#39;s user interface.
       The recognition process is a software component in the system that is detecting a Surfer application.   This process has knowledge about normal and Surfer applications.       
 
         [0066]    According to the embodiment of the invention more particularly described here and while normal applications are directly loaded and executed into decoder&#39;s memory, a Surfer application will first be stored into the dedicated part of the decoder memory (Surfer Cache) and after it will be loaded and executed from its Cache. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0067]    The present invention will be better understood from reading the following description of particular embodiments given by way of non limiting examples, with reference to the accompanying drawings, wherein: 
           [0068]      FIG. 1  shows a schematic diagram figuring the a TV broadcasting system to be used with the invention. 
           [0069]      FIG. 1   bis  is a more detailed block diagrams of an Integrated Receiver Decoder (IRD) used with the invention. 
           [0070]      FIG. 2  shows a schematic view of the inside memory of a decoder of the prior art, with two examples of remote control key events accessing the system for navigation purpose 
           [0071]      FIG. 3  shows a schematic view of the inside memory of a decoder according to one embodiment of the invention, with an example of a simplified flowchart navigations events accessing the system. 
           [0072]      FIG. 4  is a flowchart highlighting the fact that a service is selected either using a Banner or a Surfer, according to an embodiment of the invention. 
           [0073]      FIG. 5  is a functional diagram illustrating the paths a user/viewer could choose according to an embodiment of the invention. 
           [0074]      FIG. 6  shows a flowchart figuring an example of Surfer implementation according to the invention. 
           [0075]      FIG. 7  is a flowchart giving an example of interactions between system, Surfer and normal applications according to the invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0076]      FIG. 1  shows a digital Interactive Radio-broadcasting system  1  comprising an interactive decoder  2  to be connected to a TV set  3 , receiving audio signals A, video signals V and data streams signals D from broadcasting networks, i.e. the cable Network C, the terrestrial Network T, and/or the satellite network S. 
         [0077]    The decoder  2  comprises (see  FIG. 1   bis ), in a manner known per se, a demultiplexer  4  connected to an Audio/Video Decoding process circuit  5 , a CPU  6  connected to a modem  7 , a ROM  8  for storing the operating system of the decoder, such as the Open TV operating system, and a read/write memory  9 , such as a RAM for storing the broadcasted applications. 
         [0078]      FIG. 2  shows a simplified view of the inside memory  9  of a decoder of the prior art. The memory  9 , typically a RAM of 2 Mbytes or more, includes a first part  10  storing some system applications of the decoder, and a built-in Banner  11 , or built-in navigator software, developed by the decoder manufacturer. The built-in Banner allows access to services. 
         [0079]    In the DVB environment described in ETS 300 468 [1] incorporated herein by reference, the list of services is referred to as a &lt;&lt;bouquet&gt;&gt;. 
         [0080]    As already mentioned a bouquet is a service list which is broadcasted within a DVB Bouquet Association Table-BAT. 
         [0081]    The memory  9  further includes a part  12  for storing a normal broadcasted application. 
         [0082]    In the remaining part of the text it will also be sometimes referred to elements mentioned in the MPEG-2 Standard, (system ISO/IEC 13818-1 of November 1994 [3]) also incorporated herein by reference. 
         [0083]      FIG. 2  shows in  14 , two examples of navigational events activated by a remote control device  15  (see  FIG. 1 ) of the prior art. 
         [0084]    By pressing remote control key P+ (key  16 ) or (key  53 , the user activates navigational events  18  &lt;&lt;next channel&gt;&gt; or  19  &lt;&lt;go to channel  53 &gt;&gt; which are forwarded to the built-in Banner application stored in  11 . 
         [0085]    The orders are followed by internal channel order which provides the change from the current channel to the next channel or to channel  53 . 
         [0086]      FIG. 3  shows the inside memory  20  of a decoder  2  according to the embodiment of the invention more particularly described here, corresponding to the Open TV environment in TV broadcasting. 
         [0087]    However, the invention shall of course not be considered as limited to such environment. 
         [0088]    The decoder&#39;s memory  20  includes within its system a recognition program  21  in order to identify Surfer application from normal applications or other applications such as an Electronic Program Guide (EPG) application. 
         [0089]    As already mentioned in the embodiment more particularly described here in a DVB environment, a Surfer is an application presenting all services, and for instance but not limitatively their current and following events of a particular bouquet. 
         [0090]    The Surfer is capable of running on top of any TV service and allows the viewer to tune from one channel to another within a bouquet. 
         [0091]    During such &lt;&lt;channel surfing&gt;&gt;, the broadcasted Surfer remains alive and active. 
         [0092]    For identifying and then retrieving a Surfer from the broadcasted signals, the Surfers are identified and transmitted in a particular service, through the Bouquet Association Table (BAT). 
         [0093]    Such service includes a component called “SURF” identified by a specific flag. 
         [0094]    According to the invention, the memory  20  comprises at least a Surfer Cache  22  which is dedicated for storing retrieved Surfers into the decoder. Once a Surfer is stored in decoder&#39;s memory, it will be re-launched from memory each time any other application is stopped. 
         [0095]    As mentioned the other applications are mainly Electronic Program Guide (EPG) applications that are being to transmitted in certain services, and normal applications. 
         [0096]    An EPG is structurally identical to a normal application and displays information on the contents of events, i.e. TV, Radio or Data events. 
         [0097]    It is reminded that an event is information data on a service, is only related to the content and for instance is not related to any frequency or transponder. 
         [0098]    It is also reminded that a service consists of video, audio or application data, or any combination of these three components. 
         [0099]    A plurality of video, audio or application data streams may generally occur within one service. 
         [0100]    All other broadcasted applications different from Surfer are defined as normal applications or EPG. 
         [0101]    They are transmitted as default applications component in any service. They are not privileged by authorisation flags, for instance for changing channel or for getting stored in the memory of the decoder. 
         [0102]    The memory  20  further includes a built-in Banner  23  as already described in reference to  FIG. 2 , and additional registers of memory  24 , for storing and processing a normal or EPG application. 
         [0103]    The interactive decoder according to the invention having knowledge about normal and Surfer applications, normal applications are directly loaded (arrows  26 ) and executed into decoder&#39;s memory  24 . 
         [0104]    On the contrary a Surfer application (arrow  27 ) is first stored into the Surfer Cache  22  and then executed from its Cache into the memory  24 . 
         [0105]    Once a Surfer is loaded in its Cache and running, the decoder is under control of this Surfer. 
         [0106]    Referring to the flowchart  28  of the lower part of  FIG. 3 , any navigation event, like channel up (Key P+ or change of channel to another channel (key  4  for instance), is first going through the recognition process (diamond  29  and  30 ) to find out if they need to get forwarded to the built-in Banner in  23  or to the downloaded Surfer in  22 , the keys pressed may then having another result. 
         [0107]    In case the decoder is Surfer controlled (arrows  31 ,  32 ) the navigation events are rerouted to the Surfer application and the built-in Banner is disabled. 
         [0108]    The look and feel of the request channel is therefore different from the built-in look and feel. 
         [0109]      FIG. 4  is a block diagram highlighting the selection layer as provided in the embodiment of the invention more particularly described here, showing that a service is selected either using a Banner or a Surfer. If a Surfer is detected (diamond ( 33 ), the system tune to the service with Surfer (step  34 ), load in the Cache (step  35 ), and start the Surfer (step  36 ) for running service (step  37 ). If not, the Banner is selected in  38 , the service list is displayed in  39 , and the service is selected (step  40 ) for service running (step  37 ). 
         [0110]    In an advantageous embodiment the Surfer which is running may be in a transparent mode by default. For instance, the Surfer may only process specific features (i.e. displaying an additional graphic) while the viewer is watching TV. 
         [0111]    In such case, a user can make a Surfer going from transparent mode, in a reversible fashion. 
         [0112]    The Surfer which is temporarily stored in the decoder RAM-memory, allows a fast access whenever it is requested. 
         [0113]    For this it is designed and implemented to fit in the decoder&#39;s dedicated Cache memory space (Surfer Cache) which may be, for instance of 64 to 128 kbites. 
         [0114]    Therefore storing in the Cache or &lt;&lt;caching&gt;&gt; the Surfer allows any bouquet operator to add channels of other transponders to his bouquet, which does not contain any Surfer application. 
         [0115]    In case the Surfer is requested to quit, it can be reloaded from memory although there is not anymore connection to any transponder carrying bouquets Surfer, which is one of the results of the invention. 
         [0116]    Generally there is only one application using the application memory at a time. This requires a reloading process of the Surfer from its Cache after the Surfer has to be stopped when a normal application is processed. 
         [0117]    When the displaying of normal applications are finished, the Surfer is re-launched from its Cache. 
         [0118]      FIG. 5  shows that several Surfers (Surfer  1 , Surfer  2 , . . . ) may be available in the environment. The decoder system  41  is then advantageously in charge of presenting an interface  42  using a list of services that allows a viewer to select one particular Surfer. 
         [0119]    The system will then reserve a key on the remote control device that leads the viewer back to the Surfer selection layer. 
         [0120]    It will now be described more precisely an embodiment of the process of the invention, involving a built-in Banner software, hereafter referred to as the Navigator, and wherein there are several bouquets, i.e. services lists broadcasted within several DVB Bouquet Association Tables (BAT). 
         [0121]    The user or viewer uses a remote control device having a keyboard, for instance according to the following table. 
         [0122]    List of Keys 
         [0000]    
       
         
               
             
               
               
             
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 Remote Control Buttons 
               
             
          
           
               
                 button 
                 Description 
               
               
                   
               
             
          
           
               
                 Navigator 
                 m 
                 It is used to launch or activate the 
               
               
                 or surfer 
                   
                 Navigator 
               
               
                 selection 
               
               
                 EPG or Surfer 
                 m 
                 It is used to launch a Surfer or an EPG 
               
               
                   
                   
                 application 
               
               
                 OK 
                 m 
                 It is used to confirm a selection and to 
               
               
                   
                   
                 activate a process 
               
               
                 Arrow Up 
                 m 
                 It is used for user interface 
               
               
                 Arrow Down 
                 m 
                 navigation. Any application can 
               
               
                 Arrow left 
                 m 
                 use it for its own purpose 
               
               
                 Arrow Right 
                 m 
               
               
                 Bookmark 
                 m 
                 It is designed to select bookmark-related 
               
               
                   
                   
                 features in the EPG or Surfer. It can 
               
               
                   
                   
                 furthermore be used by any application to 
               
               
                   
                   
                 mark or unmark a selection or for any other 
               
               
                   
                   
                 purposes. 
               
               
                 Channel Up 
                 o 
                 If it appears on a remote control it shall 
               
               
                 Channel Down 
                   
                 switch channels only within the currently 
               
               
                   
                   
                 active service list. 
               
               
                 Colour Red 
                 m 
                 Colours buttons can be used by 
               
               
                 Colour Green 
                 m 
                 any application for its own 
               
               
                 Colour Yellow 
                 m 
                 purpose 
               
               
                 Colour Blue 
                 m 
               
               
                 Numeric Keys 
                   
                 Numeric Keys (labelled from 0 to 9) can be 
               
               
                   
                   
                 used by any application for its own 
               
               
                   
                   
                 purposes. Furthermore they can be used by 
               
               
                   
                   
                 Navigator of Surfer to enter directly any 
               
               
                   
                   
                 channel/service number in the current 
               
               
                   
                   
                 service list. 
               
               
                 Exit 
                 o 
                 This key is used to finish any application. 
               
               
                   
                   
                 It is considered as “emergency halt” 
               
               
                   
                   
                 whenever the user does not want to continue 
               
               
                   
                   
                 an application. 
               
               
                   
               
               
                 m = mandatory and o = optional 
               
             
          
         
       
     
         [0123]    Whenever the viewer powers on the decoder, the Navigator is started. It will then display the Navigator first page or recover the last session before the decoder was turned off. The decoder may also be put on stand by in a way known per se. 
         [0124]    A bouquet is then selected form the built-in Navigator. 
         [0125]    After selecting a bouquet, the Navigator launches the bouquet&#39;s Surfer service, which is advantageously also the bouquet&#39;s default service, and finds the Bouquet&#39;s Surfer application indicated in the bouquets default service PMT (Program Map Table). 
         [0126]    PMT is defined in the MPEG-2 standard [3]. 
         [0127]    The Surfer application is then downloaded into the decoder and temporarily stored in the Surfer Cache of the decoder&#39;s RAM. This portion of memory is designed to hold a bouquet Surfer as long as the viewer stays in the bouquet. After downloading the Surfer, the Navigator will start the Surfer application. 
         [0128]    Following descriptors in BAT are for instance available: 
         [0000]    
       
         
               
             
               
               
               
             
           
               
                 TABLE 
               
             
             
               
                   
               
               
                 Linkage Descriptors in BAT 
               
             
          
           
               
                   
                 Linkage 
                   
               
               
                   
                 Type 
               
               
                   
                 (LT) 
                 Meaning 
               
               
                   
                   
               
               
                   
                 1 
                 bouquet carries a Surfer service ID in 
               
               
                   
                   
                 linkage descriptor is Surfer service 
               
               
                   
                   
                 (Surfer service = = default + surf-track) 
               
               
                   
                 2 
                 there is an EPG-Service in bouquet (no 
               
               
                   
                   
                 Surfer) service ID in linkage descriptor is 
               
               
                   
                   
                 EPG-service 
               
               
                   
                 5 
                 a bouquet-default-service exists service ID 
               
               
                   
                   
                 in linkage descriptor is default service 
               
               
                   
                   
               
             
          
         
       
     
         [0129]    This provides several type of linkage, i.e. for example: 
         [0130]    Linkage Type 1 
         [0131]    A linkage descriptor of linkage type 1 tells the Navigator that the bouquet associated with the BAT contains a broadcasted Surfer application. In order to load and launch the Surfer first, the Navigator must tune to the Surfer service. This service is indicated in the linkage descriptors service ID. The Navigator then will load the application that comes on the component called &lt;&lt;SURF&gt;&gt;. 
         [0132]    Linkage Type 2 
         [0133]    A linkage descriptor of linkage type 2 tells the Navigator, that the bouquet that is associated with the BAT does not contain a broadcasted Surfer application but a dedicated EPG application. The EPG button on the remote control is triggering the Navigator to tune to the dedicated EPG service and to launch the application that comes on the default track. 
         [0134]    Note: Since no Surfer is presenting the service list of this bouquet to the viewer, the manufacturers Navigator of the Built-in Banner is used to present the bouquets services on the TV screen. 
         [0135]    Linkage Type 5 
         [0136]    A linkage descriptor of linkage type 5 tells the Navigator that the bouquet does not contain any EPG or Surfer, but that one service is representing the bouquets default service. This service could be used by the Navigator as a first service to launch, in case the Navigator requires running video/audio in the background on bouquet entry. (this is only true, if Navigator&#39;s OnScreen display does not cover the whole screen and that some video needs to be playing in the background). 
         [0137]    Following the explanations above, one can identify five meaningful combinations of linkage descriptors which are summarised in Table 3—linkage type matrix. 
         [0000]    
       
         
               
             
               
               
               
               
             
               
               
               
               
               
               
             
           
               
                 TABLE 3 
               
             
             
               
                   
               
               
                 linkage type matrix 
               
             
          
           
               
                   
                 LT1 
                 LT2 
                 LT5 
               
               
                   
                   
               
             
          
           
               
                   
                 Navigator controlled 
                 I 
                 x 
                   
                   
               
               
                   
                 Navigator controlled 
                 II 
                   
                 x 
               
               
                   
                   
                 III 
                   
                   
                 x 
               
               
                   
                   
                 IV 
                   
                 x 
                 x 
               
               
                   
                   
                 V 
               
               
                   
                   
               
             
          
         
       
     
         [0138]    Case I: only linkage type 1 is indicated in the BAT. Using the service ID in the linkage service is also the default TV service. The Navigator will therefore turn on Video and Audio and then starts loading and launching the bouquets Surfer. The Surfer service is implicitly also the default service. 
         [0139]    Case II: only linkage type 2 is set in the BAT. The Navigator has to present the bouquets service list and offer surfing capabilities. As soon as the viewer presses the EPG button on the remote control, the navigator will tune to the service that is indicated in the linkage descriptors service ID and launch the default application. 
         [0140]    Case III: only the default service is indicated in the linkage descriptor of linkage type 5 in the BAT. If Navigator&#39;s user interface is covering the whole TV screen—no video is running in the background and therefore no video has to be turned on. But if the Navigator is transparent or only partially covering the TV screen then the Navigator shall first tune to the bouquets default service. 
         [0141]    Case IV: Linkage type 2 and linkage type 5 are both indicated in the BAT. This means that the Navigator first shall make use of the default service and whenever the user is about to press the EPG button the Navigator is launching the EPG application from the indicated service. 
         [0142]    Case V: No linkage descriptor is indicated in the BAT. The Navigator must present the service list coming from the BAT to the viewer. Furthermore the first service in the service list is the default service. No EPG or Surfer is available. The EPG button will release a message explaining that no EPG or Surfer is available for this bouquet. 
         [0143]    As mentioned, in the DVB environment, see also reference [1], a Surfer is supporting the understanding of bouquets and are signalled in bouquet association tables—BAT. 
         [0144]    A “private data specifier” in the first loop of the BAT indicates that further descriptors have a certain meaning, a following linkage descriptor type==1 containing a service ID, of the service that carries the Surfer application. 
         [0145]    This service has a track tag “SURF”, indicating that this component is carrying the Surfer application. 
         [0146]    For Surfers indicated in the DVB service type, an example of routine to build up decoder-internal knowledge of available Surfers and Bouquet Association Tables is given hereafter: 
         [0000]    
       
         
               
               
             
               
               
             
               
               
             
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 anzServices = Number of all available Services; 
               
             
          
           
               
                   
                 for n=1 to anzServices 
               
             
          
           
               
                   
                 if (Service_type of Service n) .eq. Surfertype 
               
               
                   
                 then store Surfer details in decoder&#39;s Surfer list 
               
             
          
           
               
                   
                 next n 
               
               
                   
                 end for 
               
               
                   
                   
               
             
          
         
       
     
         [0147]    For Surfers indicated in a DVB Bouquet Association Tables, an example of the following routine applies to build up internal knowledge of available Surfers: 
         [0000]    
       
         
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 nBAT = Number of available bouquet association tables 
               
               
                   
                 for n=1 to nBAT 
               
             
          
           
               
                   
                 if BouquetAssociationTable[nBAT] contains 
               
             
          
           
               
                   
                 Surfer_type indicator 
               
             
          
           
               
                   
                 then store Surfer details in decoder&#39;s Surfer list 
               
             
          
           
               
                   
                 next nBAT 
               
               
                   
                 end for 
               
               
                   
                   
               
             
          
         
       
     
         [0148]    Scanning for DVB bouquet association tables (BAT) or service description tables (SDT) is processed according to DVB SI standard, the disclosure of which is incorporated herein by reference. 
         [0149]    More specifically OpenTV applications are using flags to indicate application properties. The OpenTV inflash flag for applications and for each application module will here tell the recognition process in the system that a particular application is a Surfer application. 
         [0150]    The application flag is also used to avoid unexpected loading of Surfer applications. 
         [0151]    Diagrams of  FIGS. 6 and 7  illustrate the implementation of a Surfer according to the embodiment of the invention more particularly described here. 
         [0152]    In the diagrams, rectangles represent states, rectangles with right and left borders refer to other programs (not developed particularly), diamonds are yes/no test and diamonds containing circles refer to Remote Control button press/release events. 
         [0153]    Once a Surfer is downloaded, it can be started in  50 . 
         [0154]    A Surfer can start in transparent or in visible mode. It is up to the Surfer to find out if it needs to display anything on screen or if it is better to stay in transparent mode. 
         [0155]    Each time the Surfer is launched it will explore current service environment in order to guarantee proper service handling. 
         [0156]    Since in this embodiment of the invention, Surfer is a bouquets control-application, it is launched on bouquet entry and also on bouquet exit. Launching the Surfer on bouquet-exit provides a way of cleaning up the current bouquet session. 
         [0157]    The Surfer will then identify events in its message queue according to its status while launching. 
         [0158]    Diagram of  FIG. 6  illustrates, as a non limitative example, a Surfer behaviour model. 
         [0159]    Other Surfers might offer less or more functionalities but the Navigator needs to be implemented in order to interoperate with such described Surfer behaviour. 
         [0160]    A test  52  to quit the Message in queue is provided either to clean up in  53  and exit, or to restore the Service and test if the Surfer is still connected in  54 . 
         [0161]    If the Surfer is connected, the Surfer runs in visible mode (step  56 ). 
         [0162]    Then, pressing a Key among EPG 0, 1, . . . 9 P+ P− OK allows for selecting services (step  58 ) of for changing service (test  60 ) and/or exiting the visible mode. 
         [0000]    If the Surfer is connected, a test  55  on the Surfer Key in queue is provided, a display current service (test  57 ) is performed, and if it is a pure data service, a wait screen (step  59 ) is displayed before going to step  56  (i.e. running in visible mode and activating or not the EPG press button). 
         [0163]    If the test  55  (Surfer Key in queue) is negative, a test  61  (p+/p− Key in queue) is undertaken for either making the Surfer visible (step  62 ), perform the program select service (step  64 ) which will be described hereafter, and then eventually return to Transparent mode ( 67 ) or restore service environment (step  63 ), for instance if no connection at all tune to default service. 
         [0164]    Then a test  65  &lt;&lt;current service=pure data service&gt;&gt; is performed. 
         [0165]    Either a service is selected (step  66 ) and it is returned to step  56  for Surfer running in visible mode, or the Surfer is running in Transparent mode (step  67 ). 
         [0166]    Selected Key EPG, OK, P+, P− are then accessible either for making Surfer visible (step  68 , from EPG or OK Keys) or for keeping it transparent (P+, P− Keys). 
         [0167]      FIG. 7  provides an example of the re-launching of a Surfer according to an embodiment of the invention. 
         [0168]    In any Surfer controlled bouquet, decoder&#39;s Navigator has to re-launch the Surfer each time any broadcasted application dies. The Navigator then controls the Remote Control (RC) keys as indicated on  FIG. 7  and proceeds with appropriate actions, for instance requests any running application to quit and re-launch Surfer from memory. 
         [0169]    When a service is running (step  70 ), the viewer may use any of RC keys, i.e. Exit Key, p+/p− Key, Surfer Key, Surfer selection Key, Bookmark Key and performs a test  72  for checking if a Cached Surfer is available. 
         [0170]    If the viewer wishes to exit the application in  71 , then a test  73  on Surfer Running is performed. 
         [0171]    If the Surfer is not running, a test  75  on the availability of the Surfer is undertaken, and if the response is no (line  79 ), the application is shut in  81 . 
         [0172]    If a Cached Surfer is available (line  83 ), a test  85  on the fact that an application is or not running is performed. If it is the case, the application is shut down in  87 , if not, the Surfer is started in  89 . 
         [0173]    If the test  73  on the Surfer is positive, then the Surfer is shut in  72 , and it is returned to the Navigator  74 . 
         [0174]    An application crash test  76  can be provided, leading to a test  78  on the service. If the current service is pure data service, a step  80  avoiding black TV screen is performed before coming back to application in  82 . 
         [0175]    If p+/p− Key is pressed, a test to determine if, Cached Surfer is available is performed in  84 . 
         [0176]    If the response is positive, a step  86  starting the Surfer is provided, and Surfer is taking of request for service change. 
         [0177]    If no Cached Surfer is available, a test  88  to find out if an application is running is undertaken. 
         [0178]    If it is the case, the application is shut down in  92 , if not a service is selected in  92  with p+/p− Key. 
         [0179]    When the Surfer Key is pressed, a test  91  on the availability of a Cached Surfer is provided. 
         [0180]    If it is the case, the Surfer is started in  93  by pressing the EPG Key. 
         [0181]    If not, a test on the Bouquet Service List is made in  95 , and in case of positive response a test  97  on Surfer linkage is provided, which allows to select services (step  99 ) or goes to a test  101 , also related to the Bouquet Service list test  95 , for tracking the &lt;&lt;SURF&gt;&gt; features in  101 . 
         [0182]    If no &lt;&lt;SURF&gt;&gt; track is found, no Surfer is displayed. If a &lt;&lt;SURF&gt;&gt; track is found, a test  103  on inflash Flag=Surfer Application is performed. 
         [0183]    If not, a normal application is started in  105 . 
         [0184]    Otherwise, the Surfer is loaded in  107  and the Surfer is started in  109 . 
         [0185]    If the Surfer Selection Key is pressed, a test  94  on Cache Surfer availability is provided. 
         [0186]    If the response is positive, a test  96  on the running of a Surfer is performed and if it is the case, the Surfer is shut down in  98 . 
         [0187]    If it is a negative response on the running, then a test  100  on application running is provided. If the response is positive the application is shut in  102 . 
         [0188]    If the response is no, or after such stopping of the application, the Surfer is started in  104 , to be shut in  98 . 
         [0189]    Then the Surfer selection layer  106  is reached. 
         [0190]    The other path for reaching such layer goes through the negative response to test  94 . 
         [0191]    The test  108  &lt;&lt;Application running&gt;&gt; is then provided. 
         [0192]    If not, or if yes after shut down of application in  110 , the Surfer Selection layer is finally also reached. 
         [0193]    Depending on the type of service one is currently selecting, Navigator or Surfers need to perform similar actions. For instance the program &lt;&lt;Select Service&gt;&gt; in case of a data Service that carries an Open TV application, including video and audio components, should not get opened while any application is being downloadable into decoders memory and a wait-screen shall be displayed. Furthermore, any service containing Open TV components has a default Open TV component. Usually this Open TV component is a broadcasted application. In some services EPG\0 or SURF component is considered being service&#39;s default component or track. 
         [0194]    The specific program &lt;&lt;Select Service&gt;&gt; (not represented by a diagram here) then leads back to the process that is performing Channel changing. For instance a Surfer will keep control after changing services and staying visible in OSD, while Navigator might launch an application component after changing Services right away. 
         [0195]    In fact, the system remains in Surfer-control-state as long as the viewer is not requesting the built-in control level (the Banner). On this level the viewer can select other services or choose any other Surfer that is available in networks. 
         [0196]    The IRD system must guarantee that there is only one Surfer at a time and running, if the IRD is in Surfer-control-state. In system environments, where several applications can run at a time, a Surfer application is considered as a privileged application with a certain fixed set of system resources. The Surfer is not going to be edged out as long as the viewer does not request the decoder to return into the service selection layer. 
         [0197]    In system environments, where multiple concurrent applications are being managed by the system, Surfers are only privileged applications. 
         [0198]    In system environments, where only one application is allowed being executed at a time, Surfer must be re-launched after any ordinary application has been temporary launched and finished execution, as described hereabove. 
         [0199]    In Surfer-control state, Surfer shall be loaded and temporary stored into its dedicated part of IRD&#39;s memory or Cache, until the viewer returns to the built-in control state. Also, in Surfer-control state, the Surfer must be accessible in any case, since the Surfer is in charge of maintaining the System environment. Again, this allows the viewer to tune to other networks and re-launching the Surfer, even though there is temporary no physical connection to the network to which the Surfer was previously loaded from. 
         [0200]    Caching the Surfer into the IRD&#39;s memory will also accelerate Surfer start time on re-launch event. 
         [0201]    In the Surfer-controlled state, the decoder is either running the current Surfer or an ordinary application. As soon as an ordinary application is finished the Surfer will come up again. After the viewer requested the built-in state, the Surfer will need to run a clean up process in order to make a clean sweep. The IRD does not consider any Surfer in the built-in control-state for any navigation purposes. It is therefore unimportant if the Surfer application is physically erased. The decoder system will maintain the knowledge of being in either state. 
         [0202]    In one embodiment, in order to guarantee that only one Surfer is taking control of the decoder&#39;s navigation functions, decoder&#39;s Surfer resources are unique resources in the decoder system. A Surfer task or a Surfer memory slot exists only once. Moreover logical flags indicating the IRD&#39;s status are present in the decoders system only once. There is no knowledge of competing Surfers in the system. It is therefore at any time clear what part of the system is handling service navigation events. 
         [0203]    Apart from links to particular services the IRD built-in software will allow the viewer to select a Surfer from a list of Surfers. The IRD therefore need knowledge about existence and location of any Surfer applications. 
         [0204]    The way of advertising and indicating Surfer application is network specific and does not interfere with the service browser concept. Surfers could be indicated for instance as a particular service type, or a specific component tag within a channel or program. It is then the decoder&#39;s responsibility to find Surfers across the networks and to present links to those browser applications. 
         [0205]    Additional remarks are made concerning the decoder. In the prior art any application is allowed to take advantage of decoders&#39; resources. However some resources are limited and sensitive in terms of the proper behaviour and performance of any decoder. The decoders&#39; permanent memory in EEPROM or Flash is one of the most critical points. 
         [0206]    With the embodiment of the invention more particularly described here, it will now be defined the following; 
         [0207]    File System Policy 
         [0208]    Any application could allocate all remaining space in decoders File System for a very long time. Since there is no System administrator any other application has to wait for the expiration date of this file before it can make use of the decoders file system. In order to avoid one broadcaster or service provider blocking the decoder&#39;s File System memory to other applications, a producer based partitioning of the whole memory is recommended. Any broadcaster or service operator of the environment system of the invention, shall use a range of producer identifications. Only some producers ids are allowed to allocate memory in the File System. 
         [0209]    The consumer may select this producer Ids. Actually he is performing the partitioning of his decoders&#39; memory and therefore the consumer decides which broadcaster may take advantage of the decoders resources. 
         [0210]    Furthermore any service provider (producer) is in charge of “his” part of memory. This will lead to a careful use of memory allocation in File System. There is a minimum slot size a consumer might allocate for each broadcaster. 
         [0211]    Bouquets&#39; Slot Size 
         [0212]    In a embodiment of the invention, a minimum Slot Size of 32 kbytes shall be available in the decoders permanent memory for any bouquet operator that has been authorised by the consumer to allocate memory in the permanent File-System. 
         [0213]    Bouquet Memory Identification 
         [0214]    Any application will be identified by a producer ID and an application ID. The producer ID has to be a unique value. 
         [0215]    An open TV producer ID contains for example a DVB Bouquet ID in order to identify the Bouquet provider. This value is used to identify the path in the file system and application is allowed to store data. 
         [0216]    Slot Management Policy 
         [0217]    The decoder shall have 128 Kbytes available for Ram File System and 256 Kbytes of Flash memory available for Flash File System. 
         [0218]    Quota Management Policy applies for permanent part of the decoders File System, the Flash File System. 
         [0219]    Only application with appropriate authorisation flags are allowed to allocate space in the File System, Flash or Ram. Only applications with appropriate Producer ID and authorisation flags are allowed to use Flash File System. Manufacturer needs therefore to customise the file System usage. 
         [0220]    Therefore, the decoder needs to maintain a list of valid ProducerIDs, that are allowed to write into the Flash File System. Attached to this list there is a total value, which is currently allocated in each 32 Kbytes Slot in Flash File System. Any broadcasted application comes with a figure of how much memory it intends to allocate. In case this number exceeds the remaining space, it could be overwritten and lowered to the maximum left amount. Any further memory allocation is then handled by Open TV and allocation requests that exceeds this limit will be denied. 
         [0221]    It will now be described an example of functioning of a system according to an embodiment of the invention. 
         [0222]    From a Remote Control Key boards the viewer is selecting a list of Bouquets, i.e. five bouquets among which two include Surfers (Bouquet  1  and  2 ). 
         [0223]    Then one bouquet including a Surfer is selected by pressing the OK button, for instance Bouquet  1 . 
         [0224]    The decoder tunes to the default service of Bouquet  1  and download the Surfer in the Surfer Cache. 
         [0225]    The Surfer is then launched from the Surfer Cache on the TV screen while the decoder is simultaneously tuned to Bouquet  1 . 
         [0226]    Then the Surfer is displayed on part of the TV Screen, for instance on top of the running default audio-video service (the default channel of the Bouquet) in the form of a scrolling list mentioning all the channels of the Bouquet. 
         [0227]    Then a channel is selected on the list by pressing up and down buttons. 
         [0228]    When the right channel is reached, the viewer tunes the decoder to said selected channel by pressing the OK button. 
         [0229]    If a Bouquet deprived of a Surfer having a specific look and feel is selected, the viewer has access to normal application including EPG only through the Built-in Banner look and feel. 
         [0230]    In case of Surfer, instead of tuning to a regular TV channel (normal application), it is possible to tune to an EPG application which will provide events information on an interactive basis. 
         [0231]    Each time, another channel with an application (i.e. not only an audio or video service, but also an EPG application) is selected from the Surfer, the Surfer has to be relaunched from the Surfer Cache. 
         [0232]    Additional advantages and modifications will readily occur to those skilled in the art. Therefore the present invention in its broader aspects is not limited to the specific details, representative device and diagrams, and illustrated examples shown and described herein.