ITTO20110272A1 - PROCEDURE FOR REMOTE CONTROL OF A SET TOP BOX - Google Patents

PROCEDURE FOR REMOTE CONTROL OF A SET TOP BOX Download PDF

Info

Publication number
ITTO20110272A1
ITTO20110272A1 IT000272A ITTO20110272A ITTO20110272A1 IT TO20110272 A1 ITTO20110272 A1 IT TO20110272A1 IT 000272 A IT000272 A IT 000272A IT TO20110272 A ITTO20110272 A IT TO20110272A IT TO20110272 A1 ITTO20110272 A1 IT TO20110272A1
Authority
IT
Italy
Prior art keywords
set top
top box
application
mhp
channel
Prior art date
Application number
IT000272A
Other languages
Italian (it)
Inventor
Marco Gavelli
Nadir Raimondo
Original Assignee
Istituto Superiore Mario Boella Sul Le Tecnologie
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
Application filed by Istituto Superiore Mario Boella Sul Le Tecnologie filed Critical Istituto Superiore Mario Boella Sul Le Tecnologie
Priority to IT000272A priority Critical patent/ITTO20110272A1/en
Publication of ITTO20110272A1 publication Critical patent/ITTO20110272A1/en

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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream decryption
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB

Description

“Procedimento per il controllo remoto di un set top box†⠀ œProcedure for remote control of a set top boxâ €

TESTO DELLA DESCRIZIONE TEXT OF THE DESCRIPTION

La presente invenzione si riferisce a un procedimento per il controllo remoto di un set top box atto a ricevere da un trasmettitore broadcast, su un rispettivo canale di comunicazione broadcast, un insieme di servizi formati da flussi multimedia, in particolare audio, video, dati e applicazioni conformi allo standard MHP (Multimedia Home Platform), detto set top box comprendendo un canale per una connessione a una rete locale. The present invention relates to a method for the remote control of a set top box suitable for receiving from a broadcast transmitter, on a respective broadcast communication channel, a set of services formed by multimedia streams, in particular audio, video, data and applications conforming to the MHP standard (Multimedia Home Platform), called set top box including a channel for a connection to a local network.

Negli ambienti domestici aumenta in modo crescente la presenza di dispositivi elettronici controllabili remotamente dall’utente. Fra tali dispositivi importanza preminente assumono i cosiddetti set top box, apparecchi elettronici televisivi non portatili destinati ad aggiungere funzionalità multimediali ad un televisore, un monitor o un videoproiettore. Fra tali set top box sono molto diffusi ad esempio i set top box per il digitale terrestre e satellitare. In domestic environments, the presence of electronic devices that can be controlled remotely by the user is increasing. Among these devices, the so-called set top boxes, non-portable television electronic devices intended to add multimedia functions to a television, monitor or video projector, assume pre-eminent importance. Among these set top boxes, for example, set top boxes for digital terrestrial and satellite are very popular.

Tali set top box sono controllati usualmente, e spesso unicamente, a mezzo di corrispondenti telecomandi, ma non à ̈ in generale possibile operarli tramite altri mezzi di controllo remoto, in particolare mezzi di controllo remoto che siano già disponibili all’utente. Such set top boxes are usually controlled, and often only, by means of corresponding remote controls, but it is generally not possible to operate them through other remote control means, in particular remote control means that are already available to the user.

Sono note soluzioni, quali ad esempio Google TV, che prevedono di interagire con un set top box o apparato televisivo tramite un telecomando simulato da un’applicazione software eseguita su un terminale utente quale uno smartphone, che interagisce tramite un canale Wi- Fi con il set top box. Tuttavia tali soluzioni si riferiscono a sistemi chiusi, nel quale il set top box integra una specifica applicazione proprietaria per il controllo da smartphone. Solutions are known, such as for example Google TV, which involve interacting with a set top box or television apparatus via a remote control simulated by a software application run on a user terminal such as a smartphone, which interacts via a Wi-Fi channel with the set top box. However, these solutions refer to closed systems, in which the set top box integrates a specific proprietary application for smartphone control.

La presente invenzione si prefigge lo scopo di realizzare un procedimento di controllo remoto che risolva gli inconvenienti dell’arte nota, permettendo di controllare un set top box generico operante con la piattaforma MHP, tramite mezzi di controllo remoto usualmente già disponibili all’utente per altri scopi, senza predisporre da fabbrica tale set top box per tale controllo remoto. The present invention has the purpose of realizing a remote control process that solves the drawbacks of the prior art, allowing to control a generic set top box operating with the MHP platform, by means of remote control usually already available to the user. for other purposes, without pre-setting this set top box for such remote control at the factory.

Secondo la presente invenzione, tale scopo viene raggiunto grazie ad un procedimento avente le caratteristiche richiamate in modo specifico nelle rivendicazioni che seguono. L’invenzione riguarda anche un corrispondente sistema. According to the present invention, this object is achieved thanks to a process having the characteristics referred to specifically in the following claims. The invention also relates to a corresponding system.

Ulteriori caratteristiche e vantaggi dell’invenzione risulteranno dalla descrizione che segue con riferimento ai disegni annessi, forniti a puro titolo di esempio non limitativo, in cui: Further characteristics and advantages of the invention will emerge from the following description with reference to the attached drawings, provided purely by way of non-limiting example, in which:

- la figura 1 rappresenta uno schema di principio di un sistema implementante il procedimento secondo l’invenzione; - figure 1 represents a basic diagram of a system implementing the process according to the invention;

- la figura 2 mostra un diagramma di flusso rappresentativo di operazioni del procedimento secondo l’invenzione; - figure 2 shows a flowchart representative of operations of the process according to the invention;

- la figura 3 mostra un diagramma di flusso rappresentativo di passi del procedimento secondo l’invenzione eseguiti a un terminale utente; Figure 3 shows a flow chart representative of steps of the method according to the invention performed at a user terminal;

- le figure 4a e 4b mostrano un diagramma di flusso rappresentativo di passi del procedimento secondo l’invenzione eseguiti al set top box. - Figures 4a and 4b show a flow chart representative of the steps of the process according to the invention carried out on the set top box.

In breve, il procedimento per operare il controllo remoto di un set top box secondo l’invenzione prevede di inviare comandi a tale set top box da un terminale mobile atto a comunicare con una rete locale alla quale detto set top box à ̈ connesso, detto set top box essendo predisposto per operare in risposta a tali comandi dal terminale mobile attraverso un’applicazione MHP ivi caricata, ricevuta almeno in parte attraverso un flusso di trasporto broadcast DVB (Digital Video Broadcasting), e atta a interpretare tali comandi dal terminale remoto, che viene caricata in una memoria di tale set top box, accessibile ad esempio da un microprocessore. Ciò avviene in particolare al fine di implementare comandi per il cambio canale e altre funzionalità replicanti un insieme di funzionalità del telecomando convenzionale del set top box. In short, the procedure for operating the remote control of a set top box according to the invention provides for sending commands to this set top box from a mobile terminal capable of communicating with a local network to which said set top box is connected, said set top box being designed to operate in response to these commands from the mobile terminal through an MHP application loaded therein, received at least in part through a DVB (Digital Video Broadcasting) broadcast transport stream, and capable of interpreting these commands from the terminal remote, which is loaded into a memory of this set top box, accessible for example by a microprocessor. This occurs in particular in order to implement commands for channel switching and other functions replicating a set of functionalities of the conventional remote control of the set top box.

In figura 1 à ̈ descritto un sistema implementante il procedimento secondo l’invenzione, indicato nel complesso con il riferimento numerico 10. Figure 1 describes a system implementing the process according to the invention, indicated as a whole with the numerical reference 10.

Nel sistema 10 à ̈ previsto un set top box 20, ad esempio per la ricezione di segnale televisivo digitale terrestre, mentre con 30 à ̈ indicato un telecomando convenzionale di tale set top box 20, ossia un telecomando configurato per controllare le operazioni del set top box inviando segnali di comando C, in modo di per sé noto, ad esempio tramite segnali infrarossi a un’interfaccia dedicata per il controllo da telecomando. Con il riferimento 50 à ̈ indicato un centro radiodiffusore, o broadcaster di servizi. Tali servizi corrispondono a entità logiche che raggruppano un insieme di stream audio SA, video SV e dati SD, ad esempio tipicamente un canale televisivo, che vengono trasmessi in un flusso di trasporto 54 via etere, su un canale broadcast 53, ossia radiodiffusi, verso dei corrispondenti ricevitori, in generale set top box quali il set top box 20. Il set top box 20 à ̈ del tipo configurato per supportare lo standard MHP (Media Home Platform) fornendo il middleware che opera da interfaccia software fra applicazioni interattive digitali e lo hardware del set top box 20 dove esse vengono caricate e/o installate. Per quanto esposto qui e nel seguito riguardo allo standard MHP, si fa riferimento alla pubblicazione “Digital Video Broadcasting (DVB); Multimedia Home Platform (MHP) Specification 1.1.3†, che à ̈ disponibile all’URL http://www.mhp.org/specs/a068r3_mhp11.zip. System 10 includes a set top box 20, for example for the reception of digital terrestrial television signals, while 30 indicates a conventional remote control of this set top box 20, i.e. a remote control configured to control the operations of the set top box by sending command signals C, in a per se known way, for example via infrared signals to a dedicated interface for remote control control. Reference 50 indicates a broadcasting center, or service broadcaster. These services correspond to logical entities that group together a set of SA audio streams, SV video and SD data, for example typically a television channel, which are transmitted in a transport stream 54 over the air, on a broadcast channel 53, i.e. broadcast, towards of the corresponding receivers, in general set top boxes such as the set top box 20. The set top box 20 is of the type configured to support the MHP (Media Home Platform) standard providing the middleware which acts as a software interface between digital interactive applications and the hardware of the set top box 20 where they are loaded and / or installed. For what is explained here and in the following regarding the MHP standard, reference is made to the publication â € œDigital Video Broadcasting (DVB); Multimedia Home Platform (MHP) Specification 1.1.3â €, which is available at the URL http://www.mhp.org/specs/a068r3_mhp11.zip.

Il set top box 20 mostrato in figura 1 possiede anche un interfaccia per la connessione di un canale broadband 70, ad esempio un canale ADSL, attraverso il quale può ricevere dati e comandi. The set top box 20 shown in Figure 1 also has an interface for connecting a broadband channel 70, for example an ADSL channel, through which it can receive data and commands.

Tale set top box 20 à ̈ connesso ad esempio a un apparecchio televisivo o a un display o a un proiettore, non mostrati in figura 1, inviando loro segnali e dati ad esempio attraverso un cavo SCART. Inoltre, tale set top box 20 comprende, in modo di per sé noto, un canale di ritorno 20a. Il middleware MHP impiegato nei set top box à ̈ infatti in generale in grado di utilizzare diversi tipi di canale di ritorno (ad esempio PSTN, ADSL, GSM, GPRS, UMTS, Ethernet e altri) purché la connessione supporti lo stack di protocolli TCP/IP. Il canale di ritorno 20 impiegato dalla soluzione qui descritta deve essere di tipo adatto a permettere la connessione a una rete locale (Local Area Network), in particolare a una LAN di tipo domestico, supportando lo standard TCP/IP, ad esempio preferibilmente à ̈ un canale di tipo Ethernet. Tale canale di ritorno 20a à ̈ connesso a una rete locale 60, di tipo cablato o wireless. This set top box 20 is connected, for example, to a television set or to a display or projector, not shown in figure 1, by sending them signals and data, for example through a SCART cable. Furthermore, said set top box 20 comprises, in a per se known manner, a return channel 20a. The MHP middleware used in the set top boxes is in fact generally able to use different types of return channel (for example PSTN, ADSL, GSM, GPRS, UMTS, Ethernet and others) as long as the connection supports the TCP protocol stack / IP. The return channel 20 used by the solution described here must be of a type suitable for allowing connection to a local network (Local Area Network), in particular to a domestic LAN, supporting the TCP / IP standard, for example preferably à ̈ an Ethernet type channel. This return channel 20a is connected to a local network 60, of the wired or wireless type.

Secondo una versione preferita, la rete locale 60 comprende o comunica con un router 60a di rete cui à ̈ connesso anche il canale di ritorno 20a. According to a preferred version, the local network 60 comprises or communicates with a network router 60a to which the return channel 20a is also connected.

Anche il canale broadband 70 preferibilmente non à ̈ connesso direttamente al set top box 20 ma à ̈ connesso a tale router 60a, o a un altro router, cui à ̈ connesso il canale di ritorno 20a, sicché tramite il router 60° vengono convogliati sul canale di ritorno 20 sia i segnali broadband sul canale 70 che i segnali scambiati con la rete locale 60. Also the broadband channel 70 is preferably not connected directly to the set top box 20 but is connected to this router 60a, or to another router, to which the return channel 20a is connected, so that through the router 60 ° they are conveyed to the return channel 20 both the broadband signals on channel 70 and the signals exchanged with the local network 60.

E’ previsto inoltre un terminale mobile utente 40, ad esempio uno smartphone quale un iPhone Apple®, che à ̈ in grado di scambiare segnali su un canale 40a, preferibilmente un canale con protocollo wireless Wi-Fi, con detta rete locale 60. Per smartphone si intende in generale un terminale di comunicazione mobile munito di un sistema operativo che permette l’installazione successiva di applicazioni software. A mobile user terminal 40 is also provided, for example a smartphone such as an Apple® iPhone, which is capable of exchanging signals on a channel 40a, preferably a channel with Wi-Fi wireless protocol, with said local network 60. A smartphone generally refers to a mobile communication terminal equipped with an operating system that allows the subsequent installation of software applications.

Il sistema 10 di figura 1 Ã ̈ dunque rappresentativo di un contesto integrato broadband-broadcast in cui il set-top box 20 riceve via etere, sintonizzandosi su di una determinata frequenza, il transport stream 54 e riceve segnali anche dalla rete locale 60 ed eventualmente dal canale 70 di tipo ADSL. The system 10 of figure 1 is therefore representative of an integrated broadband-broadcast context in which the set-top box 20 receives over the air, tuning on a specific frequency, the transport stream 54 and also receives signals from the local network 60 and possibly from channel 70 of the ADSL type.

Il transport stream 54 à ̈ ad esempio uno stream MPEG2 ottenuto multiplando stream elementari audio, video, dati (applicazioni) e tabelle di controllo. In altre parole il transport stream 54 contiene vari servizi; ogni servizio à ̈ composto da flussi elementari, o elementary stream, audio SA, video SV e dati SD (applicazioni, sottotitoli, ecc.). Transport stream 54 is for example an MPEG2 stream obtained by multiplexing elementary streams audio, video, data (applications) and control tables. In other words the transport stream 54 contains various services; each service is composed of elementary streams, SA audio, SV video and SD data (applications, subtitles, etc.).

In figura 1 nel broadcaster 50 Ã ̈ mostrato un cosiddetto multiplex 51, che rappresenta un gruppo di servizi televisivi combinati insieme per la trasmissione OTA (On The Air) e un rispettivo trasmettitore 52 per trasmettere i servizi televisivi combinati sul canale broadcast 53 nel transport stream 54. In figure 1 in the broadcaster 50 a so-called multiplex 51 is shown, which represents a group of television services combined together for the OTA (On The Air) transmission and a respective transmitter 52 for transmitting the combined television services on the broadcast channel 53 in the transport stream 54.

Il procedimento secondo l’invenzione, con riferimento anche al diagramma di flusso di figura 2, comprende in generale un’operazione G100 di predisposizione di tale set top box 20 a interpretare segnali di evento E inviati dal terminale 40 per controllare operazioni del set top box 20, tramite una xlet RC che consente il controllo remoto del set top box 20, con xlet intendendo un’applicazione adatta a operare nella piattaforma MHP, caricata dal set top box 20 almeno in parte attraverso tale canale di comunicazione broadcast 53. Tale applicazione, o xlet, RC non à ̈ quindi pre-installata da fabbrica, ma ricevuta dal set top box 20, in parte o interamente, tramite il transport stream 54 sul canale di comunicazione broadcast 53. The method according to the invention, with reference also to the flow diagram of Figure 2, generally comprises an operation G100 for preparing this set top box 20 to interpret event signals E sent by the terminal 40 to control operations of the set top box 20, by means of a xlet RC which allows remote control of the set top box 20, with xlet meaning an application suitable for operating on the MHP platform, loaded from the set top box 20 at least in part through this broadcast communication channel 53. This application, or xlet, RC is therefore not pre-installed by the factory, but received by the set top box 20, in part or entirely, via the transport stream 54 on the broadcast communication channel 53.

E’ previsto quindi, in generale, di eseguire un’operazione G200 di avvio di tale xlet RC, operando ad esempio sul telecomando convenzionale 30 inviando comandi C per l’attivazione della xlet RC e il trasferimento del controllo al terminale mobile 40. It is therefore envisaged, in general, to perform a G200 operation to start this xlet RC, for example by operating on the conventional remote control 30 by sending commands C for the activation of the xlet RC and transferring control to the mobile terminal 40 .

E’ quindi prevista un’operazione G300 di controllo remoto del set top box 20 da parte di un terminale utente 40 tramite l’invio di segnali di evento E dal terminale utente 40 a detta xlet MHP RC caricata nel set top box 20. Tali segnali di evento E interpretati dall’xlet RC originano controlli, indicati con A in figura 1, di operazioni eseguibili dal set top box 20. In figura 1 tali controlli A sono indicati come inviati attraverso il middleware a titolo di esempio a un microcontrollore MC del set top box 20 che attua le operazioni richieste da tali controlli A originati sulla base degli eventi E dal terminale utente 40. Tali eventi E e controlli A determinano l’esecuzione di un’operazione di cambio di canale, ma eventualmente anche di altre funzioni, quali accesso a menu o guide. Tali segnali di evento E sono scambiati attraverso la rete locale 60 cui il set top box 20 à ̈ connesso tramite il canale di ritorno 20a, eventualmente, come accennato, attraverso un router di rete, mentre il terminale utente 40 vi à ̈ connesso a mezzo, come detto, ad esempio, di un canale di comunicazione 40a radio Wi-Fi. A G300 remote control operation of the set top box 20 by a user terminal 40 is therefore envisaged by sending event signals E from the user terminal 40 to said MHP RC xlet loaded in the set top box 20 . These event signals E interpreted by the xlet RC originate controls, indicated with A in figure 1, of operations that can be performed by the set top box 20. In figure 1 these controls A are indicated as sent through the middleware by way of example to a microcontroller MC of the set top box 20 which carries out the operations required by these controls A originating on the basis of the events E from the user terminal 40. These events E and controls A determine the execution of a channel change operation, but possibly also of other functions, such as access to menus or guides. These event signals E are exchanged through the local network 60 to which the set top box 20 is connected through the return channel 20a, possibly, as mentioned, through a network router, while the user terminal 40 is connected to it by means of , as mentioned, for example, of a Wi-Fi radio communication channel 40a.

Dunque, il terminale utente 40 comprende installato un rispettivo modulo software, ad esempio un app di iPhone®, indicato con IRC in figura 1. Therefore, the user terminal 40 comprises installed a respective software module, for example an iPhone® app, indicated with IRC in Figure 1.

Tale modulo software IRC à ̈ configurato per eseguire attraverso il terminale utente 40 operazioni, indicate complessivamente con T100 in figura 3, che comprendono un’operazione T110 di individuazione, o discovery di tale xlet MHP RC attiva in uno o più set top box 20 connessi alla rete locale 60. Dopo la selezione del modulo software IRC da parte dell'utente, il terminale utente 40 provvede ad eseguire una fase di discovery per individuare i set-top box controllabili. Tale controllo di un set-top box 20 da parte di un terminale utente 40 può essere mutualmente esclusivo, come meglio dettagliato nel seguito con riferimento al diagramma di flusso di figura 4. This IRC software module is configured to perform 40 operations through the user terminal, indicated as a whole with T100 in figure 3, which include a T110 identification or discovery operation of this MHP RC xlet active in one or more set top boxes 20 connected to the local network 60. After the user has selected the IRC software module, the user terminal 40 performs a discovery step to identify the controllable set-top boxes. This control of a set-top box 20 by a user terminal 40 can be mutually exclusive, as better detailed below with reference to the flow diagram of Figure 4.

La comunicazione fra terminale utente 40, visto come un elaboratore client in un protocollo di comunicazione client/server, e il set top box 20, visto come un elaboratore server, Ã ̈ basata su un protocollo richiesta/risposta. Il client invia una richiesta al server. Il server risponde con un messaggio di successo o con un codice di errore seguito da dati di risposta. La comunicazione client/server si basa sul protocollo HTTP. The communication between the user terminal 40, seen as a client computer in a client / server communication protocol, and the set top box 20, seen as a server computer, is based on a request / response protocol. The client sends a request to the server. The server responds with a success message or an error code followed by response data. Client / server communication is based on the HTTP protocol.

Nella forma realizzativa d’esempio, che prevede di impiega uno smartphone iPhone® quale terminale utente, à ̈ previsto di impiegare il protocollo Apple Bonjour per individuare i set top box 20 disponibili sulla rete locale. In the exemplary embodiment, which envisages using an iPhone® smartphone as a user terminal, the Apple Bonjour protocol is used to identify the set top boxes 20 available on the local network.

Tale protocollo Apple Bonjour opera in base a tre operazioni principali, ciascuna delle quali à ̈ una parte necessaria di servizi di rete a zero configurazione: This Apple Bonjour protocol operates on three main operations, each of which is a necessary part of zero-configuration network services:

un’ operazione di pubblicazione del servizio da parte del set top box 20, indicata con S115 in figura 4; an operation of publication of the service by the set top box 20, indicated with S115 in figure 4;

l’operazione T110 di individuazione o discovery, in cui si acquisiscono i servizi disponibili; un’operazione T120 di risoluzione, in cui si traducono il nome del servizio selezionato e i numeri di porta per l’uso. the T110 identification or discovery operation, in which the available services are acquired; a T120 resolution operation, which translates the name of the selected service and the port numbers for use.

E’ previsto ad esempio che il server, ossia il set top box 20, operi in particolare da risponditore o responder Multicast DNS e debba pubblicare il servizio relativo all’xlet RC, una stringa che nella sintassi del protocollo Bonjour à ̈ nella forma _imediaremote._tcp. Il protocollo d’applicazione “imediaremote†deve venire registrato a un cosiddetto DNS-SD Web Site (come definito nella specifica RFC2782). For example, it is envisaged that the server, that is the set top box 20, operates in particular as a Multicast DNS responder and must publish the service relating to the xlet RC, a string that in the Bonjour protocol syntax is in the form _mediatemote._tcp. The application protocol â € œmediaremoteâ € must be registered to a so-called DNS-SD Web Site (as defined in the RFC2782 specification).

L’operazione di individuazione T110 comprende che il terminale utente 40 ricerchi record PTR (pointer) che corrispondano al tipo di servizio ricercato. I risponditori Multicast DNS che operano in ciascun dispositivo set top box 20 restituiscono i rispettivi record PTR con i nomi delle istanze dei servizi. The detection operation T110 comprises that the user terminal 40 searches for PTR (pointer) records corresponding to the type of service sought. The DNS Multicast Responders operating in each set top box device 20 return their respective PTR records with the names of the service instances.

L’operazione di risoluzione del servizio T120 prevede in particolare che il terminale utente 40, che opera da client, esegua un’operazione di DNS lookup relativa a un record SRV (record di servizio) con il nome del servizio. Il risponditore Multicast DNS risponde con il record SRV che contiene l’informazione corrente. The resolution operation of the T120 service provides in particular that the user terminal 40, which operates as a client, performs a DNS lookup operation relating to an SRV record (service record) with the name of the service. The Multicast DNS responder replies with the SRV record which contains the current information.

Inoltre tale modulo software IRC Ã ̈ configurato per eseguire operazioni T130 di invio, tramite una rispettiva interfaccia utente IU i segnali di evento E per controllare remotamente detto set top box 20. Furthermore, this IRC software module is configured to perform T130 sending operations, through a respective user interface IU, the event signals E to remotely control said set top box 20.

Per quanto riguarda la sintassi dell’operazione T130 di invio segnali di evento E, il modulo software T100 sul terminale utente 40 invia richieste HTTP a un indirizzo host ottenuto durante l’operazione T110 di discovery e T120 di risoluzione DNS, nonché a una porta data port, che usualmente ha il valore 6666. As regards the syntax of the T130 operation for sending event signals E, the T100 software module on the user terminal 40 sends HTTP requests to a host address obtained during the T110 discovery and T120 DNS resolution operation, as well as to a data port, which usually has the value 6666.

Il formato di richiesta HTTP di detti segnali di evento E Ã ̈ ad esempio: The HTTP request format of said event signals E is for example:

http://host:port/imr?command=<command> http: // host: port / imr? command = <command>

Ad esempio il segnale di evento E per un comando per impostare il volume (SetVolume) può essere: For example, the event signal E for a command to set the volume (SetVolume) can be:

http://host:port/imr?command=SetVolume&volume=50 http: // host: port / imr? command = SetVolume & volume = 50

Il server, cioà ̈ il set top box 20, invia repliche X che sono preferibilmente in formato XML format con codifica UTF-16 ad esempio del tipo: The server, that is the set top box 20, sends X replicas which are preferably in XML format with UTF-16 encoding for example of the type:

<?xml version=†1.0†encoding="UTF-16"?> <? xml version = ⠀ 1.0⠀ encoding = "UTF-16"?>

<response> <response>

<code>0</code> <code> 0 </code>

<reason>Success</reason> <reason> Success </reason>

<results>Results</results> <results> Results </results>

</response> </response>

La risposta X della xlet RC contiene ad esempio: The response X of the xlet RC contains for example:

campo codice (code)(obbligatorio), che definisce il codice di risposta; code field (code) (mandatory), which defines the response code;

campo ragione (reason) (opzionale), che riporta un messaggio in chiaro che descrive il codice di risposta; reason field (optional), which reports a clear message describing the response code;

• campo risultati (results) (opzionale), che può contenere dati diversi a seconda della richiesta. â € ¢ results field (optional), which can contain different data depending on the request.

I campi codice e ragione della replica X con una descrizione sono elencati qui di seguito: The code and reason fields of the X replica with a description are listed below:

0 SUCCESS: operazione riuscita 0 SUCCESS: successful operation

1 ERROR: operazione fallita; il server specifica un messaggio di errore 1 ERROR: operation failed; the server specifies an error message

2 DOPAIRING: si deve effettuare l’accoppiamento 2 DOPAIRING: the coupling must be carried out

3 PAIRINGUNDERWAY: il processo di accoppiamento à ̈ in corso 3 PAIRINGUNDERWAY: the pairing process is in progress

4 DOCONNECT: il client deve connettersi prima di inviare comandi 4 DOCONNECT: Client must connect before sending commands

5 LOCKED: un altro client à ̈ già connesso al server 5 LOCKED: Another client is already connected to the server

Nell’elenco precedente ci si riferisce ad operazioni opzionali di accoppiamento (pairing) fra il terminale 40 e il set top box 20, ossia operazioni in cui i due dispositivi si accordano per comunicare l’uno con l’altro e stabilire una connessione. Per tale operazione di accoppiamento usualmente viene scambiata una password o The previous list refers to optional pairing operations between the terminal 40 and the set top box 20, i.e. operations in which the two devices agree to communicate with each other and establish a connection. For this pairing operation a password or is usually exchanged

passkey. passkey.

La comunicazione può supportare comandi come: The communication can support commands such as:

Connect per stabilire la sessione di controllo; Connect to establish the control session;

Disconnect per terminare la sessione di controllo; Disconnect to end the control session;

Pairing per accoppiare client a server; Pairing to pair client to server;

SessionKeepAlive per evitare che la sessione spiri. SessionKeepAlive to prevent the session from expiring.

Gli eventi E che il terminale 40 può inviare per determinare attraverso l’applicazione RC di corrispondenti controlli A equivalenti ai controlli del telecomando 30, possono comprendere a titolo di esempio uno o più dei seguenti eventi E: The events E that the terminal 40 can send to determine through the RC application of corresponding controls A equivalent to the controls of the remote control 30, may include, by way of example, one or more of the following events E:

Back Tasto posteriore Back Back button

BlueKey Tasto blu BlueKey Blue button

Enter Tasto Ok Enter Ok key

Exit Tasto Uscita o Exit dall’azione corrente Exit Exit key or Exit from the current action

GetPercentage Ottiene la posizione corrente di riproduzione come percentuale della lunghezza del media in riproduzione GetPercentage Gets the current playback position as a percentage of the length of the media being played

GetPlaySpeed Ottiene la velocità di riproduzione corrente GetPlaySpeed Gets the current playback speed

GetVolume Ottiene l’impostazione corrente del volume (come percentuale del valore massimo possible) GetVolume Gets the current volume setting (as a percentage of the maximum possible value)

GreenKey Tasto verde GreenKey Green button

Mute Attiva/disattiva il sonoro Mute Turns the sound on / off

MoveDown Tasto Giù MoveDown Down Button

MoveLeft Tasto Sinistra MoveLeft Left Button

MoveRight Tasto Destra MoveRight Right Button

MoveUp – Tasto Su MoveUp - Up key

NumericKey Tasti numerici da 0 a 9. NumericKey Numeric keys from 0 to 9.

Pause Pausa della riproduzione Pause Pause playback

Play Riproduzione del media corrente Play Play the current media

PlayNext Prossimo programma PlayNext Next program

PlayPrev Precedente programma PlayPrev Previous program

RedKey Tasto rosso RedKey Red button

SeekPercentage Imposta la posizione di riproduzione del media corrente come percentuale della lunghezza del media SeekPercentage Sets the playback position of the current media as a percentage of the media length

SeekPercentageRelative somma/sottrae la percentuale corrente sulla posizione corrente del media SeekPercentageRelative adds / subtracts the current percentage of the current position of the media

SendText Invia testo al server SendText Sends text to the server

SelectServiceByNum Seleziona un servizio DTT secondo il numero SelectServiceByNum Selects a DTT service by number

SetPlaySpeed Imposta la velocità di riproduzione a un valore intero SetPlaySpeed Sets the playback speed to an integer value

SetVolume Imposta il volume come percentuale del massimo possibile SetVolume Sets the volume as a percentage of the maximum possible

ShowApps Mostra le applicazioni disponibili ShowApps Shows the available applications

ShowGuide Mostra la guida ShowGuide Shows the guide

ShowInfo Mostra informazioni su eventi DTT ShowInfo Shows information about DTT events

ShowList Mostra la lista canali ShowList Shows the channel list

ShowMenu Mostra il menu ShowMenu Shows the menu

ShowTeletext Mostra il teletext ShowTeletext Shows the teletext

Shutdown Provoca lo Shutdown Shutdown Causes Shutdown

Stop Arresta il media correntemente riprodotto Stop Stops the currently playing media

YellowKey tasto giallo. YellowKey yellow key.

Al caricamento del modulo IRC sul terminale 40 viene preferibilmente effettuata una richiesta dei servizi televisivi fruibili sul set top box 20; dopo questa fase per l'utente sarà possibile inviare eventi E dal terminale 40 a cui la xlet RC nel set top box 20, che à ̈ in particolare un xlet Java, reagirà cambiando servizio. Se il servizio individuato non à ̈ disponibile, perché ad esempio non à ̈ più presente oppure l'antenna non à ̈ connessa, verrà visualizzato un messaggio di errore sull'interfaccia del televisore associato. When the IRC module is loaded onto the terminal 40, a request for the television services available on the set top box 20 is preferably made; after this phase it will be possible for the user to send events E from terminal 40 to which the xlet RC in the set top box 20, which is in particular a Java xlet, will react by changing service. If the detected service is not available, for example because it is no longer present or the antenna is not connected, an error message will be displayed on the interface of the associated TV.

E’ previsto di inviare attraverso la rete locale 60 inoltre cosiddetti segnali di “heartbeat†, con un processo simile a quello di invio dei beacon frame nello standard wireless 802.11, periodici per consentire alla xlet di rendersi nuovamente disponibile in caso di terminazione non corretta della sessione. It is also planned to send through the local network 60 so-called â € œheartbeatâ € signals, with a process similar to that of sending beacon frames in the 802.11 wireless standard, periodic to allow the xlet to become available again in case of non-termination. correct session.

La xlet RC descritta resta attiva fino a quando l'utente non la termina oppure non cambia canale utilizzando il telecomando 30 del set-top box 20. The described RC xlet remains active until the user terminates it or changes channel using the remote control 30 of the set-top box 20.

Al momento della selezione del servizio da parte dell’utente la xlet RC MHP viene lanciata in modo automatico e diventa disponibile all’uso da parte di terminali 40 che sono in grado di individuarla in maniera trasparente, attraverso l’operazione T110 di individuazione o discovery. Dopo le operazioni T110 e T120 il terminale utente 40 conosce l’indirizzo IP host e la porta port del set top box 20 da usare per inviare i segnali di evento E, ossia i comandi per l’emulazione del telecomando 30. When the user selects the service, the RC MHP xlet is launched automatically and becomes available for use by 40 terminals that are able to identify it transparently, through the T110 operation of detection or discovery. After the operations T110 and T120, the user terminal 40 knows the host IP address and the port port of the set top box 20 to be used to send the event signals E, ie the commands for emulation of the remote control 30.

Con riferimento all’operazione G300 di controllo remoto del set top box 20 viene ora dettagliato come venga eseguita l’operazione di cambio canale tramite l’applicazione RC. With reference to the G300 remote control operation of the set top box 20, it is now detailed how the channel change operation is performed using the RC application.

Tale operazione G300 prevede preferibilmente che l’applicazione RC che ricorre per il cambio canale utilizzi le API Java Media Framework. This G300 operation preferably requires that the RC application that uses the channel change uses the Java Media Framework API.

In tale ambito, l’operazione G300 prevede inoltre quando necessario di utilizzare per il cambio frequenza il network controller definito nelle API DAVIC (Digital Audio-VIsual Council). In this context, the G300 operation also provides, when necessary, to use the network controller defined in the API DAVIC (Digital Audio-VIsual Council) for the frequency change.

I set top box che operano in accordo allo standard MHP non sono costruiti per un multitasking reale e il cambio di canale comporta l'istantanea terminazione di tutte le applicazioni presenti nel vecchio servizio a meno che non siano segnalate anche nella tabella AIT del nuovo servizio. Lo standard MHP comprende fra le proprie librerie di procedure o package, le cosiddette API (Application Program Interface) la JavaTV service selection API, che consente di effettuare il cambio servizio in maniera programmatica, tuttavia con il cambio canale l'applicazione che ha effettuato l'operazione solitamente termina. E’ previsto secondo l’invenzione perciò di far uso nella xlet RC di un differente modulo dello standard MHP, che permette di presentare differenti stream audio/video senza necessariamente selezionare un nuovo servizio. Il middleware MHP per controllare come i contenuti audio e video sono decodificati e visualizzati si appoggia infatti sul Java Media Framework definito dalla Sun Microsystems; le applicazioni possono utilizzare tale framework anche per la visualizzazione di stream provenienti da altri servizi presenti nel transport stream sintonizzato. Al Java Media Framework non à ̈ consentito il cambio frequenza, ma qualora ciò si renda necessario la xlet RC può utilizzare il network controller definito nelle API DAVIC (Digital Audio-VIsual Council) per effettuare questa operazione. Il cambio frequenza mediante le API DAVIC non costituisce un cambio di servizio per cui nessuna applicazione del tran sport stream di destinazione potrà essere caricata e lanciata sia dal terminale che dalle applicazioni MHP. Il cambio di frequenza ovviamente rende impossibile accedere al carosello del servizio di partenza. The set top boxes that operate in accordance with the MHP standard are not built for real multitasking and the channel change involves the instant termination of all the applications present in the old service unless they are also reported in the AIT table of the new service. The MHP standard includes among its libraries of procedures or packages, the so-called API (Application Program Interface), the JavaTV service selection API, which allows you to change the service programmatically, however with the change of channel the application that made the the operation usually ends. It is foreseen according to the invention therefore to make use in the xlet RC of a different module of the MHP standard, which allows to present different audio / video streams without necessarily selecting a new service. The MHP middleware relies on the Java Media Framework defined by Sun Microsystems to control how audio and video contents are decoded and displayed; applications can also use this framework for viewing streams from other services present in the tuned transport stream. The Java Media Framework is not allowed to change frequency, but if this is necessary, the xlet RC can use the network controller defined in the API DAVIC (Digital Audio-VIsual Council) to carry out this operation. The change of frequency through the DAVIC API does not constitute a change of service for which no application of the destination tran sport stream can be loaded and launched both from the terminal and from the MHP applications. The frequency change obviously makes it impossible to access the departure service carousel.

Dunque, à ̈ previsto che l’operazione di controllo G300 per il cambio canale impieghi il Java Media Framework. Java Media Framework permette la visualizzazione di uno stream audio e video di un altro servizio ma non essendoci stato un effettivo cambio di canale da telecomando verranno mantenuti i dati del servizio originale. Therefore, the G300 control operation for channel switching is expected to use the Java Media Framework. Java Media Framework allows the visualization of an audio and video stream of another service but since there has not been an actual change of channel from the remote control, the data of the original service will be maintained.

Il procedimento proposto, a tal riguardo, prevede che con la ricezione di eventi E dal terminale utente 40 la xlet RC ottenga, in modo trasparente all'utente, le informazioni relative al canale scelto, ossia un locator che specifica per il servizio selezionato: In this regard, the proposed procedure provides that with the reception of events E from the user terminal 40 the xlet RC obtains, in a transparent way to the user, the information relating to the chosen channel, i.e. a locator that specifies for the selected service:

- transport stream identifier tsid, - transport stream identifier tsid,

- original network identifier onid, - original network identifier onid,

- service identifier sid. - service identifier sid.

Se il transport stream identifier tsid ricevuto negli eventi E Ã ̈ differente da quello correntemente utilizzato la xlet RC provvede a cambiare frequenza tramite le API DAVIC sintonizzandosi sulla frequenza richiesta. In seguito la xlet RC via Java Media Framework seleziona le componenti del servizio richiesto visualizzandole sulla televisione. If the transport stream identifier tsid received in the events E is different from the one currently used, the xlet RC proceeds to change frequency through the DAVIC API, tuning to the requested frequency. Then the RC xlet via Java Media Framework selects the required service components and displays them on the television.

Nel diagramma di figura 3 Ã ̈ indicato appunto come esempio che gli eventi E dal terminale utente 40 generati nella operazione T130 di invio segnali di evento E contengono il locator, ossia le informazioni tsid, onid, sid. In the diagram of Figure 3 it is indicated precisely as an example that the events E from the user terminal 40 generated in the operation T130 for sending event signals E contain the locator, that is the information tsid, onid, sid.

A titolo di esempio uno pseudocodice per eseguire tale operazioni può avere la seguente forma. As an example, a pseudocode to perform this operation can have the following form.

La procedura per eseguire il tuning utilizzando le API DAVIC può essere: The procedure for tuning using the DAVIC API can be:

public void tune(Locator locator) throws Exception{ public void tune (Locator locator) throws Exception {

try{ try {

//Il controller come risorsa scarsa viene riservato dall'applicazione controller.reserve(selected, notifyObj); // Controller as scarce resource is reserved by application controller.reserve (selected, notifyObj);

reserved=true; reserved = true;

// Viene eseguito il tune ad un locator con dati tsid e onid // Tune to a locator with tsid and onid data

controller.tune(locator); controller.tune (locator);

} }

catch (Exception e){ catch (Exception e) {

//Errore nella fase di tuning // Error in the tuning phase

} }

//Rilascio del tuner // Release of the tuner

controller.release(); controller.release ();

} }

La procedura per avviare un player per la visualizzazione di un servizio può essere: public void setSource(Locator l) throws Exception{ The procedure for starting a player to view a service can be: public void setSource (Locator l) throws Exception {

DataSource ds=null; DataSource ds = null;

try{ try {

//Si crea il locator alla risorsa (servizio) che si intende visualizzare (tsid, onid e sid) // Create the locator for the resource (service) you want to view (tsid, onid and sid)

ds=Manager.createDataSource(new ds = Manager.createDataSource (new

MediaLocator(l.toExternalForm())); MediaLocator (l.toExternalForm ()));

//Si crea il player con il data source richiesto p=Manager.createPlayer(ds); // Create the player with the required data source p = Manager.createPlayer (ds);

} }

catch (Exception e){ catch (Exception e) {

//Errore nell'avvio del player // Error starting the player

} }

p.start(); p.start ();

} }

Tale pseudocodice esemplifica comunque l’impiego in accordo a quanto descritto nello standard MHP. However, this pseudocode exemplifies the use in accordance with what is described in the MHP standard.

Come già accennato, tale operazione G300 di controllo prevede di utilizzare come canale di comunicazione il canale di ritorno 20a. Il middleware MHP per mezzo dei profili “interactive broadcast†e “internet access†include il supporto per l'utilizzo del canale di ritorno 20a del ricevitore. Come detto, il requisito del canale di ritorno à ̈ che la connessione deve supportare il protocollo TCP o UDP su IP. As already mentioned, this control operation G300 envisages using the return channel 20a as the communication channel. The MHP middleware by means of the â € œinteractive broadcastâ € and â € œinternet accessâ € profiles includes support for using the receiver's return channel 20a. As mentioned, the return channel requirement is that the connection must support TCP or UDP over IP.

Si noti che per gestire tali connessioni, il middleware MHP si appoggia sulle librerie java.net della Sun Microsystems. Data la necessità di mantenere sempre attiva la connessione à ̈ preferibile che il set-top box 40 supporti una connessione del tipo “alwayson†, ad esempio utilizzando un set top box Telesystem 7900 HD o ADB 3810T. Note that to manage these connections, the MHP middleware relies on the Sun Microsystems java.net libraries. Given the need to always keep the connection active, it is preferable that the set-top box 40 supports a connection of the â € œalwaysonâ € type, for example using a Telesystem 7900 HD or ADB 3810T set top box.

Nell'architettura prevista tali API di java.net vengono impiegate dalla xlet RC nella comunicazione con il set-top box 20 con i seguenti scopi: In the planned architecture, these java.net APIs are used by the xlet RC in communicating with the set-top box 20 with the following purposes:

• inviare informazioni di debug per verificare il funzionamento dell'applicazione RC; â € ¢ send debugging information to verify the operation of the RC application;

• ricevere eventi E dal terminale 40 per il cambio canale; â € ¢ receive E events from terminal 40 for channel change;

• gestire l'handshake iniziale. â € ¢ manage the initial handshake.

I comandi di handshake e controllo sono trasmessi sulla rete locale 60. The handshake and control commands are transmitted over the local network 60.

Con riferimento alle figure 4a e 4b à ̈ mostrato un diagramma di flusso rappresentativo di una possibile implementazione S300 di operazioni eseguite dal set top box 20 nell’ambito dell’operazione G300 di controllo remoto. With reference to figures 4a and 4b, a flow diagram is shown which is representative of a possible S300 implementation of operations performed by the set top box 20 in the context of the remote control operation G300.

In tale diagramma, con S105 Ã ̈ indicato un passo di inizio operazioni. In this diagram, S105 indicates an operation start step.

Con S110 à ̈ indicato un passo di avvio della xlet RC, che può avvenire tramite telecomando 30, come dettagliato anche in figura 5. S110 indicates a start-up step of the xlet RC, which can take place via remote control 30, as also detailed in figure 5.

Con S115 à ̈ indicato un passo di pubblicazione del servizio IMediaRemote relativo all’applicazione R. S115 indicates a publication step of the IMediaRemote service relating to the R application.

Successivamente a tale passo di pubblicazione S115 il set top box 20 rimane attivo per una procedura di rilevazione e esecuzione di eventi E ricevuti dal terminale utente 40. Following this publication step S115, the set top box 20 remains active for a procedure for detecting and executing events E received by the user terminal 40.

E’ previsto quindi un passo S120 per rilevare un eventuale cambio di canale sul telecomando 30. In caso affermativo si procede a un passo 210 di fine operazioni, in caso negativo si procede a un passo 125 nel quale viene valutato se sia stato ricevuto un evento E dal terminale utente 40. A step S120 is therefore envisaged to detect a possible change of channel on the remote control 30. In the affirmative one proceeds to a step 210 for the end of operations, in the negative case one proceeds to a step 125 in which it is evaluated whether a event E from user terminal 40.

Se il passo S125 ha risposta negativa, il controllo à ̈ riportato a monte del passo S120. In caso positivo si procede a un passo S130 di verifica se sia richiesto un accesso univoco, ossia esclusivo da parte di un dato terminale utente 40. If step S125 has a negative response, the control is returned upstream of step S120. If this is the case, a step S130 is carried out to check whether a unique, i.e. exclusive access by a given user terminal 40 is required.

In caso di risposta positiva al passo S130, a un passo S135 viene verificato se il set top box 20 sia già stato riservato da un altro terminale utente 40. In caso positivo si passa a uno stato di accesso non consentito S140. In caso negativo si passa a uno stato S145 di blocco di eventi provenienti da altri terminali utenti 40. Sia dal passo S140 che dal passo S145 si procede quindi a un passo S150 di invio di risultati del relativo passo al terminale utente 40 e quindi il controllo à ̈ riportato a monte del passo S120 per ripetere la rilevazione e esecuzione di eventi E. In the event of a positive response to step S130, at a step S135 it is checked whether the set top box 20 has already been reserved by another user terminal 40. If this is the case, it passes to an access not allowed status S140. In the negative case, one passes to a block state S145 of events coming from other user terminals 40. Both from step S140 and from step S145 one then proceeds to a step S150 for sending the results of the relative step to the user terminal 40 and therefore the control It is reported upstream of step S120 to repeat the detection and execution of events E.

Dal passo S130, qualora non si sia nella condizione in cui à ̈ richiesto un accesso univoco oppure il dispositivo ha già ottenuto il suddetto accesso univoco, si procede a un passo S155 di verifica se sia richiesto un cambio volume tramite gli eventi E dal terminale utente 40. Se ciò à ̈ verificato, il cambio volume à ̈ eseguito in un passo 160 tramite le API JMF. From step S130, if one is not in the condition in which a unique access is required or the device has already obtained the aforementioned unique access, one proceeds to step S155 to verify whether a volume change is required through events E from the user terminal 40. If this is true, the volume change is performed in one step 160 via the JMF API.

Se non à ̈ richiesto un cambio volume, dal passo S155 si procede a un passo S165 di verifica se sia richiesto un cambio canale. If a volume change is not required, from step S155 one proceeds to step S165 to check whether a channel change is required.

In caso affermativo, in un passo S170 si verifica se viene richiesta una frequenza differente per tale cambio canale. In caso negativo viene direttamente operata in un passo S180 la visualizzazione dei nuovi componenti audio/video tramite le API JMF. In caso affermativo in un passo S175 viene invece operato il cambio di frequenza utilizzando le API/DAVIC e quindi si effettua il passo S180 dove viene operata la visualizzazione dei nuovi componenti audio/video con API JMF. Dal passo S180 si procede al passo S150 di invio dei risultati del relativo passo al terminale utente 40 e quindi il controllo à ̈ riportato al passo S120 per ripetere la rilevazione e esecuzione di eventi E. If so, in a step S170 it is checked whether a different frequency is requested for this channel change. If not, the visualization of the new audio / video components is performed directly in a step S180 via the JMF API. In the affirmative case in a step S175 the frequency change is made using the API / DAVIC and then step S180 is carried out where the display of the new audio / video components with API JMF is performed. From step S180 one proceeds to step S150 for sending the results of the relative step to the user terminal 40 and then the control is carried over to step S120 to repeat the detection and execution of events E.

Nel caso non sia richiesto un cambio canale dal passo S165 si passa a un passo S185 nel quale viene verificato se à ̈ l’evento E à ̈ relativo a un’operazione di heartbeat. If a channel change is not required from step S165, one passes to a step S185 in which it is checked whether the event E is related to a heartbeat operation.

In caso affermativo, in un passo S190 vengono aggiornati i dati relativi al terminale utente 40 corrispondente per evitare lo scadere della sessione ad esso relativa, ritornando quindi al passo S120. In the affirmative case, in a step S190 the data relating to the corresponding user terminal 40 are updated to avoid the expiration of the session relating thereto, thus returning to step S120.

Se non à ̈ stato ricevuto un evento di heartbeat, viene verificato in un passo S195 se si debba rilasciare il controllo univoco e, in caso affermativo, si permette l’accesso ad altri terminali utente, riportando il controllo all’inizio dei passi di cambio canale al passo 120, attraverso il passo di invio dei risultati S150. If a heartbeat event has not been received, it is checked in step S195 whether the unique control should be released and, if so, access to other user terminals is allowed, returning the control to the beginning of the steps channel change in step 120, through the step of sending the results S150.

Se anche la verifica al passo 195 à ̈ negativa, viene segnalata una condizione di evento non riconosciuto al passo S205, riportando il controllo all’inizio dei passi di cambio canale al passo S120, attraverso il passo S150, ricominciando la rilevazione e esecuzione di eventi E. If the verification at step 195 is also negative, an unrecognized event condition is signaled at step S205, returning the control to the beginning of the channel change steps at step S120, through step S150, restarting the detection and execution of events E.

Al telecomando 30 Ã ̈ previsto di operare ad esempio come segue, tramite i rispettivi comandi C, per trasferire il controllo alla xlet RC e al terminale 40: The remote control 30 is expected to operate as follows, for example, by means of the respective commands C, to transfer control to the xlet RC and to the terminal 40:

- azionare il telecomando 30 per selezionare un servizio o canale televisivo su cui à ̈ trasportata la xlet RC, ad esempio Canale 5 o RAI1, - operate the remote control 30 to select a television service or channel on which the xlet RC is carried, for example Channel 5 or RAI1,

- consultare le applicazioni fornite per tale canale nel transport stream, che possono comprendere in generale, oltre alla xlet RC, altre applicazioni, ad esempio l’Electronic Program Guide; - consult the applications provided for this channel in the transport stream, which may include in general, in addition to the xlet RC, other applications, for example the Electronic Program Guide;

- selezionare la xlet RC. - select the RC xlet.

In questo modo l’xlet RC viene attivata (passo S105) e il corrispondente servizio pubblicato (passo S115). In this way the RC xlet is activated (step S105) and the corresponding published service (step S115).

Nel seguito vengono dettagliate le diverse modalità con le quali può essere effettuata l’operazione di predisposizione G100. The various ways in which the G100 setup operation can be carried out are detailed below.

Tale operazione di predisposizione G100 prevede in generale che l’xlet RC venga trasportata al set-top box 20 mediante il carosello di uno dei servizi OTA nel transport stream 54. This G100 setup operation generally provides that the xlet RC is transported to the set-top box 20 by means of the carousel of one of the OTA services in transport stream 54.

Come accennato, la xlet RC viene caricata, almeno in parte, dal transport stream 54 per essere installata nel set top box 20. As mentioned, the xlet RC is loaded, at least in part, from the transport stream 54 to be installed in the set top box 20.

Infatti, le tabelle di controllo trasmesse nel transport stream 54 contengono tutte le informazioni che consentono al set top box 20 che le riceve di fruire dei contenuti trasmessi: In fact, the control tables transmitted in the transport stream 54 contain all the information that allows the set top box 20 that receives them to use the transmitted contents:

- AIT (Application Information Table) contenente i dati relativi alle applicazioni; la tabella AIT contiene in particolare un descrittore per ogni applicazione - AIT (Application Information Table) containing data relating to applications; the AIT table contains in particular a descriptor for each application

presente nel servizio. present in the service.

- PAT (Program Association Table), PMT (Program MapTable) per identificare gli stream elementari; - PAT (Program Association Table), PMT (Program MapTable) to identify elementary streams;

- ulteriori tabelle DVB - further DVB tables

E’ previsto quindi che la tabella AIT contenga un descrittore per l’xlet RC di controllo remoto; nel seguito della presente descrizione, si farà riferimento alla stringa iMediaRemote come nome dell’applicazione segnalata nel descrittore. The AIT table is therefore expected to contain a descriptor for the remote control RC xlet; in the remainder of this description, the string iMediaRemote will be referred to as the name of the application indicated in the descriptor.

La tabella AIT include inoltre i seguenti dati: The AIT table also includes the following data:

nome e identificativo dell’applicazione e dell’organizzazione che l’ha sviluppata; dati per il caricamento delle classi; name and identifier of the application and of the organization that developed it; data for loading classes;

argomenti necessari per il lancio dell’applicazione; arguments necessary for the launch of the application;

codici che identificano come l’applicazione deve essere lanciata (autoavvio o lanciata dall’utente) e quando. codes that identify how the application must be launched (auto-start or launched by the user) and when.

Alla ricezione della tabella AIT nel transport stream 54 il set top box 20, provvede dunque in modo automatico oppure a richiesta dell’utente tramite il rispettivo telecomando 30, ad avviare la xlet RC caricando le classi necessarie dal canale broadcast 53 dal quale proviene il transport stream 54 (carosello DSM-CC), caricando così quindi completamente l’applicazione RC tramite il tran sport stream 54, oppure tramite via canale broadband 70, ossia caricando così solo parte dell’applicazione RC tramite il transport stream 54. Upon receipt of the AIT table in the transport stream 54, the set top box 20, therefore, automatically or at the request of the user through the respective remote control 30, starts the xlet RC by loading the necessary classes from the broadcast channel 53 from which the transport stream 54 (DSM-CC carousel), thus loading the RC application completely via the tran sport stream 54, or via the broadband channel 70, i.e. loading only part of the RC application via the transport stream 54 .

Il procedimento comprende due possibili forme per la predisposizione: The procedure includes two possible forms for the preparation:

- l’applicazione RC viene caricata dal transport stream 54, quando viene ad esempio richiesta dall’utente tramite il telecomando 30; - the RC application is loaded from the transport stream 54, when, for example, it is requested by the user via the remote control 30;

- l’applicazione RC non à ̈ direttamente fruibile dall’utente ma mediante una seconda applicazione, eventualmente presentando all’utente un’interfaccia per consentire la registrazione e la visualizzazione di eventuali note legali, può venire pre-caricata e associata ad uno stored service creato appositamente. In generale, la seconda applicazione, che lancia l’applicazione RC, viene caricata sul set top box 20, proveniente ad esempio dal transport stream 54. L’xlet RC viene scaricata dal tran sport stream 54, quando ne à ̈ richiesto l’impiego, tramite la seconda applicazione di lancio, che crea lo stored service e l’associa all’applicazione RC. - the RC application is not directly usable by the user but through a second application, possibly presenting the user with an interface to allow the registration and display of any legal notes, it can be pre-loaded and associated to a specially created stored service. In general, the second application, which launches the RC application, is loaded on the set top box 20, coming for example from the transport stream 54. The xlet RC is downloaded from the tran sport stream 54, when it is required. Use, through the second launch application, which creates the stored service and associates it with the RC application.

Qualora si operi la seconda forma, al completamento dell'installazione sul set top box 20 della xlet RC, sarà presente sul set top box 20 un servizio immagazzinato, o stored service, atto a comparire nella lista dei servizi televisivi disponibili e al quale viene associata la xlet RC per consentire il controllo remoto in risposta agli specifici eventi E ricevuti dal terminale utente 40, in particolare il cambio canale. If the second form is operated, upon completion of the installation on the set top box 20 of the xlet RC, a stored service will be present on the set top box 20, capable of appearing in the list of available television services and to which it is associated the xlet RC to allow remote control in response to the specific events E received from the user terminal 40, in particular the channel change.

Il procedimento secondo l’invenzione prevede di creare stored service a cui vengono associate delle “stored application†come definite nello standard MHP, ossia normali applicazioni MHP che possono essere immagazzinate nel set top box 20 per un suo uso futuro. In particolare à ̈ previsto di associare ad uno stored service applicazioni stand-alone sul set top box 20, che possono essere lanciate indipendentemente da quanto viene trasmesso via broadcast. Ciò permette all'utente di selezionare lo stored service e quindi la corrispondente applicazione di cambio canale RC indipendentemente da ciò che viene trasmesso in broadcast in un dato momento. The procedure according to the invention provides for the creation of stored services to which â € œstored applicationsâ € are associated as defined in the MHP standard, ie normal MHP applications that can be stored in the set top box 20 for its future use. In particular, it is envisaged to associate stand-alone applications on the set top box 20 to a stored service, which can be launched regardless of what is transmitted via broadcast. This allows the user to select the stored service and thus the corresponding RC channel change application regardless of what is being broadcast at any given time.

Il ciclo vitale delle applicazioni stand alone, come quello delle applicazioni xlet comuni, prevede che al cambio di canale le applicazioni vengono terminate se non segnalate nella nuova tabella AIT The life cycle of stand alone applications, such as that of common xlet applications, requires that at the change of channel the applications are terminated if not reported in the new AIT table

Un’applicazione stand-alone non ha accesso al carosello e non essendo associata ad un servizio non ha un player per la gestione di audio e video; l'applicazione può però creare e avviare un proprio player Java Multimedia Framework per la visualizzazione di altri stream, e quindi eseguire le operazioni di cambio canale come indicato ad esempio con riferimento a figura 4. A stand-alone application does not have access to the carousel and, not being associated with a service, does not have a player for managing audio and video; the application can, however, create and start its own Java Multimedia Framework player for viewing other streams, and then perform the channel change operations as indicated for example with reference to figure 4.

Come richiesto dallo standard MHP, tale applicazione stand-alone per poter essere immagazzinata viene segnalata con un apposito descrittore detto “application storage descriptor†nella tabella AIT cui à ̈ associato ad un file ADF (application descriptor file). As required by the MHP standard, this stand-alone application in order to be stored is indicated with a special descriptor called â € œapplication storage descriptorâ € in the AIT table which is associated with an ADF file (application descriptor file).

Il procedimento proposto dunque vantaggiosamente permette di impiegare il terminale utente 40, in particolare uno smartphone, che à ̈ già equipaggiato sia per connettersi alla rete locale 60 che per eseguire applicazioni software, per simulare il telecomando del set top box, facendo pervenire i comandi, in sostanza, attraverso la rete locale. The proposed method therefore advantageously allows to use the user terminal 40, in particular a smartphone, which is already equipped both to connect to the local network 60 and to run software applications, to simulate the remote control of the set top box, sending the commands, essentially, through the local network.

Naturalmente, fermo restando il principio dell’invenzione, i particolari di costruzione e le forme di attuazione potranno ampiamente variare rispetto a quanto descritto ed illustrato a puro titolo di esempio, senza per questo uscire dall'ambito della presente invenzione. Naturally, the principle of the invention remaining the same, the details of construction and the embodiments may vary widely with respect to those described and illustrated purely by way of example, without thereby departing from the scope of the present invention.

Claims (13)

RIVENDICAZIONI 1. Procedimento per il controllo remoto di un set top box (20) atto a ricevere da un trasmettitore broadcast (50) associato a un multiplexer di servizi multimediali (51), su un rispettivo canale di comunicazione broadcast (53), un insieme di servizi forniti attraverso flussi multimediali (54), in particolare audio, video, dati e applicazioni, conformi allo standard MHP (Multimedia Home Platform), detto set top box (20) comprendendo un canale per una connessione a una rete locale (60), caratterizzato dal fatto che comprende l’operazione di inviare (G300) segnali di evento (E) da un terminale utente (40) a una applicazione MHP (RC) suscettibile di interpretare tali segnali di evento (E) per controllare operazioni del set top box (20), detta applicazione MHP (RC) essendo caricata in detto set top box (20), detta applicazione MHP (RC) comprendendo almeno una parte di applicazione ricevuta attraverso detto canale di comunicazione broadcast (53), detti segnali di evento (E) essendo rappresentativi di un insieme di operazioni del set top box (S100) comandabili tramite un telecomando (30) del set top box (20), detto insieme di operazioni (S100) comprendendo in particolare un’operazione di cambio di canale (165), detti segnali di evento (E) essendo scambiati attraverso detta rete locale (60) cui detto set top box (20) e detto terminale utente (40) sono connessi. CLAIMS 1. Method for the remote control of a set top box (20) adapted to receive from a broadcast transmitter (50) associated with a multimedia services multiplexer (51), on a respective broadcast communication channel (53), a set of services provided through multimedia streams (54), in particular audio, video, data and applications, compliant with the MHP (Multimedia Home Platform) standard, called set top box (20) including a channel for a connection to a local network (60), characterized by the fact that includes the operation of sending (G300) event signals (E) from a user terminal (40) to an MHP application (RC) capable of interpreting these event signals (E) to control operations of the set top box (20) , said MHP (RC) application being loaded into said set top box (20), said MHP (RC) application comprising at least one application part received through said broadcast communication channel (53), said event signals (E) being representative of a set of operations of the set top box (S100) that can be controlled by means of a remote control (30) of the set top box (20), called set of operations (S100) including in particular a channel change operation (165), called event signals (E) being exchanged through said local network (60) to which said set top box (20) and said user terminal (40) are connected. 2. Procedimento secondo la rivendicazione 1, caratterizzato dal fatto che comprende di predisporre detto terminale utente (40), in particolare tramite installazione di un corrispondente modulo software, per: - individuare tale applicazione MHP (RC) installata in uno o più set top box (20) connessi a detta rete locale; - inviare tramite un’interfaccia utente (IU) di detto terminale utente (40) detti segnali evento (E) per controllare remotamente detto set top box (20). 2. Process according to claim 1, characterized in that it comprises preparing said user terminal (40), in particular by installing a corresponding software module, for: - identify this MHP (RC) application installed in one or more set top boxes (20) connected to said local network; - sending through a user interface (IU) of said user terminal (40) said event signals (E) to remotely control said set top box (20). 3. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che comprende di inviare detti segnali evento (E) per controllare remotamente detto set top box (20) dal terminale utente (40) tramite richieste HTTP inviate a un dato indirizzo (host) e valore di porta (port). Method according to claim 2, characterized in that it comprises sending said event signals (E) to remotely control said set top box (20) from the user terminal (40) through HTTP requests sent to a given address (host) and value of port (port). 4. Procedimento secondo la rivendicazione 3, caratterizzato dal fatto che comprende fornire dal set top box (20) una risposta (X) a detta richiesta HTTP di detto terminale utente (40), in particolare in formato XML, comprendente almeno un codice di risposta. 4. Method according to claim 3, characterized in that it comprises providing from the set top box (20) a response (X) to said HTTP request of said user terminal (40), in particular in XML format, comprising at least one response code . 5. Procedimento secondo una o più delle rivendicazioni precedenti da 2 a 4, caratterizzato dal fatto che comprende di ottenere detto dato indirizzo (host) e valore di porta (port) tramite un’operazione di risoluzione (T120) che traduce il nome di un servizio selezionato. 5. Process according to one or more of the preceding claims from 2 to 4, characterized in that it comprises obtaining said given address (host) and port value (port) by means of a resolution operation (T120) which translates the name of a selected service. 6. Procedimento secondo una delle rivendicazioni da 1 a 5, caratterizzato dal fatto che comprende di caricare interamente detta applicazione MHP (RC) in detto set top box (20) attraverso detto canale di comunicazione broadcast (53). Method according to one of claims 1 to 5, characterized in that it comprises fully loading said MHP (RC) application into said set top box (20) through said broadcast communication channel (53). 7. Procedimento secondo una delle rivendicazioni da 1 a 5, caratterizzato dal fatto che comprende di installare detta applicazione MHP (RC) nel set top box (20) come stored application associata ad uno stored service. Method according to one of claims 1 to 5, characterized in that it comprises installing said MHP (RC) application in the set top box (20) as a stored application associated with a stored service. 8. Procedimento secondo la rivendicazione 7, caratterizzato dal fatto che detta applicazione MHP (RC) à ̈ caricata nel set top box (20) come un’applicazione standalone immagazzinata in detto stored service. 8. Process according to claim 7, characterized in that said MHP (RC) application is loaded into the set top box (20) as a standalone application stored in said stored service. 9. Procedimento secondo una delle rivendicazioni precedenti, caratterizzato dal fatto che comprende di inviare segnali di evento (E) rappresentativi di un cambio canale. Method according to one of the preceding claims, characterized in that it comprises sending event signals (E) representative of a channel change. 10. Procedimento secondo la rivendicazione 9, caratterizzato dal fatto che in risposta a detta operazione di inviare segnali di evento (E) rappresentativi di un cambio canale, detta applicazione MHP (RC) opera (165) cambiando canale ricorrendo a Application Programming Interface di Java Media Framework. 10. Method according to claim 9, characterized in that in response to said operation of sending event signals (E) representative of a channel change, said MHP (RC) application operates (165) by changing channel using the Java Application Programming Interface Media Framework. 11. Procedimento secondo la rivendicazione 9 o 10, caratterizzato dal fatto che comprende utilizzare un network controller definito nelle Application Programming Interface DAVIC (Digital Audio-Visual Council) per effettuare un cambio frequenza, se richiesta dal cambio canale. Method according to claim 9 or 10, characterized in that it comprises using a network controller defined in the Application Programming Interfaces DAVIC (Digital Audio-Visual Council) to effect a frequency change, if required by the channel change. 12. Procedimento secondo la rivendicazione 11, caratterizzato dal fatto che comprende effettuare detto cambio frequenza se detti segnali di evento (E) rappresentativi di un cambio canale comprendono un transport stream identifier (tsid) differente da un transport stream identifier (tsid) correntemente utilizzato dal set top box (20). 12. A method according to claim 11, characterized in that it comprises carrying out said frequency change if said event signals (E) representative of a channel change comprise a transport stream identifier (tsid) different from a transport stream identifier (tsid) currently used by the set top box (20). 13. Sistema per il controllo remoto di un set top box, comprendente un trasmettitore broadcast (50) associato a un multiplexer di servizi multimediali (51), per trasmettere su un rispettivo canale di comunicazione broadcast (53) un insieme di servizi formati da flussi multimediali (54), in particolare audio, video, dati e applicazioni, conformi allo standard MHP (Multimedia Home Platform) verso un set top box (20) e un terminale remoto (40) suscettibile di essere connesso in comunicazione attraverso una rete locale (60) con detto set top box (20), caratterizzato dal fatto che à ̈ configurato per implementare le operazioni del procedimento secondo almeno una delle rivendicazioni da 1 a 12.13. System for the remote control of a set top box, comprising a broadcast transmitter (50) associated with a multiplexer of multimedia services (51), to transmit on a respective broadcast communication channel (53) a set of services formed by streams multimedia (54), in particular audio, video, data and applications, compliant with the MHP (Multimedia Home Platform) standard towards a set top box (20) and a remote terminal (40) capable of being communicated via a local network ( 60) with said set top box (20), characterized in that it is configured to implement the operations of the method according to at least one of claims 1 to 12.
IT000272A 2011-03-28 2011-03-28 PROCEDURE FOR REMOTE CONTROL OF A SET TOP BOX ITTO20110272A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
IT000272A ITTO20110272A1 (en) 2011-03-28 2011-03-28 PROCEDURE FOR REMOTE CONTROL OF A SET TOP BOX

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT000272A ITTO20110272A1 (en) 2011-03-28 2011-03-28 PROCEDURE FOR REMOTE CONTROL OF A SET TOP BOX

Publications (1)

Publication Number Publication Date
ITTO20110272A1 true ITTO20110272A1 (en) 2012-09-29

Family

ID=43977505

Family Applications (1)

Application Number Title Priority Date Filing Date
IT000272A ITTO20110272A1 (en) 2011-03-28 2011-03-28 PROCEDURE FOR REMOTE CONTROL OF A SET TOP BOX

Country Status (1)

Country Link
IT (1) ITTO20110272A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1718061A1 (en) * 2005-04-27 2006-11-02 C.I.D.P. Consulenza Informatica Dante Pedron Multimedia device
US20090300231A1 (en) * 2005-12-20 2009-12-03 Matsushita Electric Industrial Co., Ltd. Data output device, equipment control device, and multimedia delivery system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1718061A1 (en) * 2005-04-27 2006-11-02 C.I.D.P. Consulenza Informatica Dante Pedron Multimedia device
US20090300231A1 (en) * 2005-12-20 2009-12-03 Matsushita Electric Industrial Co., Ltd. Data output device, equipment control device, and multimedia delivery system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Digital Video Broadcasting (DVB); Multimedia Home Platform (MHP) Specification 1.2.2", June 2009 (2009-06-01), XP002662607, Retrieved from the Internet <URL:http://www.mhp.org/specs/a140_tm4242_MHP_122_refactored.pdf> [retrieved on 20111102] *

Similar Documents

Publication Publication Date Title
EP2910029B1 (en) Apparatus and method for processing an interactive service
US9038097B2 (en) Apparatus and method for processing an interactive service
US8244829B2 (en) Data transmitting apparatus, data receiving apparatus, data transmitting method and data receiving method
US8880695B2 (en) Information processing apparatus and information processing method
JP2014010842A (en) Method to discover application
JP5725242B1 (en) Transmitting apparatus, transmitting method, receiving apparatus, and receiving method
US9699830B2 (en) Communication apparatus, control method for the same and non-transitory computer-readable storage medium
JP2014241520A (en) Transmission system, information transmitting apparatus, platform apparatus, and receiving apparatus
WO2018006877A1 (en) Method and apparatus for controlling set top box
JP5909881B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION SYSTEM
KR102505302B1 (en) Method and device for transmitting/receiving information in a broadcasting system
JP2014131143A (en) Transmitter, transmitting method and program
US10080058B2 (en) Communication system, information processing device, and communication method
ITTO20110272A1 (en) PROCEDURE FOR REMOTE CONTROL OF A SET TOP BOX
WO2015098285A1 (en) Digital broadcast receiver and external terminal
WO2015111478A1 (en) External terminal and digital broadcast receiver
KR101857792B1 (en) Method and Apparatus for performing an operation by sharing a function of an external device
KR20140017427A (en) Method for initial cofigurating of apparatus and apparatus having function of initial configuration
JP2015115793A (en) Digital broadcast receiving apparatus, execution method, and recording medium
TWI571070B (en) Method of processing auxiliary downloadable object and broadcast receiver and computer-readable medium
De Oliveira et al. Methodology to Control IoT Smart Devices Driven by Digital TV Video Scene
US20050278772A1 (en) Program effect creating device, a receiving device, a program effect creating program, and a computer-readable recording medium
CN109661040B (en) Electronic equipment, wireless connection method thereof and device with storage function
EP3131305B1 (en) Communication system, information processing device, and communication method
JP5725252B1 (en) Transmitting apparatus, transmitting method, receiving apparatus, and receiving method