[go: up one dir, main page]

WO2007066361A1 - Process, apparatus and system for executing mhp applications - Google Patents

Process, apparatus and system for executing mhp applications Download PDF

Info

Publication number
WO2007066361A1
WO2007066361A1 PCT/IT2005/000719 IT2005000719W WO2007066361A1 WO 2007066361 A1 WO2007066361 A1 WO 2007066361A1 IT 2005000719 W IT2005000719 W IT 2005000719W WO 2007066361 A1 WO2007066361 A1 WO 2007066361A1
Authority
WO
WIPO (PCT)
Prior art keywords
mhp
man
stream
mal
stb
Prior art date
Application number
PCT/IT2005/000719
Other languages
French (fr)
Inventor
Stefano Flamia
Francesco Ciacca
Giovanni Trevisti
Original Assignee
Fastweb S.P.A.
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 Fastweb S.P.A. filed Critical Fastweb S.P.A.
Priority to PCT/IT2005/000719 priority Critical patent/WO2007066361A1/en
Publication of WO2007066361A1 publication Critical patent/WO2007066361A1/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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25816Management of client data involving client authentication
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/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
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • 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
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • 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
    • H04N21/4437Implementing a Virtual Machine [VM]
    • 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/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6433Digital Storage Media - Command and Control Protocol [DSM-CC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game

Definitions

  • the present invention relates to a process for executing MHP (Multimedia Home Platform) applications, in particular MHP applications transmitted over an IP (Internet Protocol) network.
  • MHP Multimedia Home Platform
  • IP Internet Protocol
  • the present invention also relates to an apparatus and a system which carry out said process.
  • a first widespread technology consists of the transmissions with the DVB (Digital
  • Video Broadcast standard which include interactive applications based on standard platforms such as MHP (Multimedia Home Platform) and OCAP (OpenCable Application Platform), or based on specific languages such as OpenTV.
  • MHP Multimedia Home Platform
  • OCAP OpenCable Application Platform
  • the interactivity offered to the users by the apparatuses, known also with the name of "set top box", based on the DVB standard is however limited by the peculiar features of the broadcast transmissions, which cannot be personalized for the single user since they are performed in a substantially unidirectional manner, for example via antenna, satellite or cable.
  • the DVB apparatuses provided with MHP applications allow a high interaction between the same applications and the multimedia content of the transmissions as regards to graphics (overlapping and transparency of the application images on the screen), contents (the application can know and select the different TV services currently transmitted) and synchronization (the application can recognize determined transmitted events for synchronizing their behavior with the images shown on the screen).
  • the IPTV Internet Protocol Television
  • IPTV Internet Protocol Television
  • DVB streams with MHP applications over an IP network is certainly possible, this kind of transmission is however unidirectional and suffers the same limitations of the broadcast transmissions in terms of customization.
  • native applications typically web browsers
  • PIP Picture In Picture
  • the process according to the present invention allows to exploit in an IPTV environment the advantages of the interactivity and the standardization of the MHP platform, so as to offer to the users innovative interactive services, wherein the MHP applications can interact with the whole IPTV system in a bidirectional transmission context.
  • the systems making up the backend of the IPTV system Video Server, Accounting, Billing, etc.
  • providing the multimedia contents can dialog with the MHP applications of the users' apparatuses, even by modifying, as a consequence of this interaction, the transmitted multimedia content, in particular the A/V (Audio/Video) streams.
  • This process can thus employ applications which allow on the one hand a high interactivity with the user and the transmitted multimedia content, on the other hand a wide integration with the services offered by the IPTV system.
  • the IPTV system can therefore offer services in which an application active in the apparatus allows the backend systems to change the A/V streams according to commands transmitted by the user. For example, the user may jump to a determined scene or extra contents of a transmitted film, as it happens with the DVDs, or buy and watch a film after he has previewed the relevant trailer.
  • the process according to the present invention allows to obtain not only economies of scale thanks to the easy availability on the market of the relevant resources, but also new services and therefore new sources of revenues with respect to the IPTV environment.
  • the apparatus can also comprise a DVB receiver, so as to obtain with relatively low costs a multi-platform device, suitable for executing MHP applications transmitted not only over an IP network, but also through the normal unidirectional broadcast channels, for example antenna, satellite or cable.
  • a DVB receiver so as to obtain with relatively low costs a multi-platform device, suitable for executing MHP applications transmitted not only over an IP network, but also through the normal unidirectional broadcast channels, for example antenna, satellite or cable.
  • FIG. 1 shows a scheme of the system and the apparatus according to the present invention
  • figure 2 shows the scheme of figure 1 during the execution of the process according to a first embodiment of the invention.
  • figure 3 shows the scheme of figure 1 during the execution of the process according to a second embodiment of the invention.
  • the apparatus or set top box STB comprises in a known way at least one electronic control unit CU, for example a microprocessor, connected to a plurality of hardware devices HW and to one or more digital memories DM, for example volatile, permanent and/or mass memories, for carrying out one or more applications.
  • the hardware devices HW comprise a network interface NI for the connection to an IP network, for example Internet, one or more input interfaces IN 1,...,INn for the connection to external peripherals, for example a remote control RC and a keyboard KB 5 as well as an audio/video interface VI for the connection to at least one audio/video unit TV provided with a screen S.
  • an operating system OS 5 for example Linux
  • a hardware abstraction layer HAL is executed for controlling the hardware devices HW of apparatus STB in a manner independent from their peculiar features.
  • the hardware abstraction layer HAL can be implemented in a known and/or obvious manner according to the technical specifications of the hardware devices HW of apparatus STB.
  • apparatus STB automatically loads into a digital memory DM at least one MHP stack ST for carrying out one or more MHP applications MAl,..., MAn, known also as Xlet applications, which are transmitted by backend systems BS in a data stream DS through the IP network to apparatus STB 5 in particular to a stream daemon SD suitable for transmitting from the video interface VI the multimedia contents MC included in the data stream DS received by apparatus STB.
  • MHP applications MAl,..., MAn known also as Xlet applications
  • the multimedia contents MC in particular in a DVB format, transmitted by the video interface VI, for example to the audio/video unit TV, can comprise an audio/video stream AV, for example in a MPEG-2 format, and/or an information data stream ID which can be shown on screen S and also be generated by the MHP applications MAl,..., MAn.
  • the MHP applications MAl,..., MAn executed by the MHP stack ST in turn generate the information data ID according to service information contained in the data stream DS transmitted through the IP network and/or according to commands sent by a user through the input interfaces INl,..., INn.
  • the latter commands are transmitted through an event manager EM, in particular a Xwindow manager of a known kind loaded into a digital memory DM, and a set-top-box manager SM, i.e. an application module which handles the processes in apparatus STB.
  • the set-top-box manager SM implements the startup/recovery and watchdog logics of the different processes of the applications executed in apparatus STB, in particular of the MHP applications MAl,..., MAn executed by the MHP stack ST.
  • the set-top-box manager SM further handles the commands sent by the user through the input interfaces INl,..., INn and sorts them to the appropriate modules, among which in particular a web browser WB and the same MHP stack ST.
  • the web browser WB also of a known kind, shows in the audio/video unit TV the information data ID, for example the EPG (Electronic Program Guide) user interface for the channel selection, and is based on a software platform SP with GUI (Graphical User Interface) libraries, for example a Xwindow Xl 1 platform, which can exchange data with the stream daemon SD.
  • the execution, the stop and/or the suspension of the MHP applications MAl,..., MAn executed by the MHP stack ST are controlled in a known way by the set-top-box manager SM by means of an API (Application Program Interface). Furthermore, the set-top-box manager SM can also add or remove one or more MHP applications MAl,..., MAn from the MHP stack ST according to the received commands.
  • API Application Program Interface
  • the stream daemon SD is connected to a tuner/demux module TD belonging to the hardware abstraction layer HAL for controlling the services offered by the multimedia contents MC, in particular the DVB services. Furthermore, the tuner/demux module TD supplies the functionalities for carrying out the scan and the search of channels in a determined frequency band such as the reception of the list of services, of video and audio components, the decoding of subtitles and teletext, the decoding of the information on the MHP applications MAl,..., MAn present in the MHP stack ST and of all the service information contained in the data stream DS.
  • the stream daemon SD is also connected to an audio/video driver VD, also of a known kind, which received the data from the stream daemon SD, in particular the multimedia contents MC and other information to be shown on screen S, for example OSD (On Screen Display) information, and converts them for the transmission through the audio/video interface VI.
  • VD Audio/video driver
  • apparatus STB also comprises a DVB receiver DT, for example connected to an antenna A, which decodes and directly sends the received data stream to the tuner/demux module TD, while the similar data stream DS received by the network interface NI passes first through the- stream daemon SD which adapts it for the tuner/demux module TD.
  • Said data streams may include multiple audio tracks, subtitles and teletext.
  • the MHP stack ST can receive callback information from the stream daemon SD in correspondence with events relating to the signaling in the data stream DS of MHP applications MAl 3 ..., MAn through AIT (Application Information Table) tables, i.e. tables multiplexed in the data stream DS and describing MHP applications associated with a transmitted program, with events relating to DSM-CC (Digital Storage Media Command and Control) tables, i.e. tables implementing control channels connected with MPEG data streams, and/or with events in correspondence with a channel and/or service change.
  • AIT Application Information Table
  • the MHP stack ST can control the filtering of the DSM-CC tables so as to carry out the download of the MHP application MAl,..., MAn and of the relevant data, as well as it can change the service or the single streams currently selected in apparatus STB, since the MHP applications MAl,..., MAn generally have this capability.
  • the MHP stack ST can also control the graphic output, video mixing and video resizing functionalities with which it can implement the graphic interface of the MHP applications MAl,..., MAn on screen S of the audio/video unit TV.
  • Apparatus STB can comprise an agent client module AC, also of a known kind, which implements the secure communication channel with the backend systems BS sending the data stream DS.
  • the agent client module AC authenticates itself with the backend systems BS by employing asymmetric key algorithms, with which the identity of both apparatus STB and the backend servers BS is ascertained.
  • the agent client module AC communicates with the backend systems BS through a bidirectional and encrypted control channel CC, for example a SSL (Secure Socket Layer) channel which becomes the only channel employed for all the communications between apparatus STB and the backend systems BS, except for the data stream DS and the accessory communications without sensible data.
  • SSL Secure Socket Layer
  • the MHP stack ST for carrying out the above functions, invokes JNI (Java Native Interface) interfaces, which allow the Java code to invoke native functionalities.
  • JNI Java Native Interface
  • the MHP stack ST employs the process known as "Shared Stubs", described at chapter 9 of "The JavaTM Native Interface - Programmer's Guide and Specification" of Sheng Liang for Sun Microsystem Inc.
  • shares Stubs described at chapter 9 of "The JavaTM Native Interface - Programmer's Guide and Specification" of Sheng Liang for Sun Microsystem Inc.
  • a user can directly buy a video file, for example a film, corresponding to a trailer displayed on screen S.
  • the standard MHP functionalities such as the overlay display of information on screen S and the synchronization with the audio/video stream AV displayed on screen S allow to show the details of the film presented through its trailer.
  • the user can decide the purchase of the film, in which case the MHP application will open, through a JNI invocation carried out in the above described way, the web browser WB at the web page containing the purchase form of the film chosen by the user.
  • the audio/video stream AV of the trailer is stored in one or more storage systems SS of the backend systems BS.
  • a continuous multicast stream MS is generated by a video processor VP by cyclically reproducing the audio/video stream AV of the trailer.
  • the multicast stream MS is then multiplexed in a known way by a multiplexer MX with the DSM-CC data containing the "trailer display" MHP application MA and table AIT containing the relevant signal for obtaining a data stream DS transmitted by a video server VS.
  • Multiplexer MX also multiplexes a further DSM-CC data set containing time references on the events present in the audio/video stream AV.
  • These data SE corresponding to stream events are generated in a known way by a stream event generator SEG which allows to synchronize the stream events SE with events present in the audio/video stream AV.
  • the stream events SE contain events in correspondence with each trailer change, which are provided with information such as an univocal flag of the particular trailer which is going to start.
  • the transmitted output of multiplexer MX which is stored in the video server VS 5 i.e. the data stream DS 5 in particular a SPTS (Single Program Transport Stream) stream, is therefore one of the channels which can be selected by the user in apparatus STB.
  • apparatus STB When apparatus STB is turned on, its agent client AC establishes a control channel CC in the IP network with a control server CS of the backend systems BS. From this moment, through the control channel CC established by the agent client AC, each activity of apparatus STB is controlled by the control server CS of the backend systems BS and can be considered secure.
  • the stream daemon SD displays on screen S the currently selected channel in a PIP (Picture In Picture) frame. If the user selects from the EPG the channel corresponding to the above mentioned multicast stream MS transmitted in a multicast IP mode, this content is displayed on the whole screen S.
  • the stream daemon SD receives from the network interface NI the data stream DS and separates therefrom table AIT 5 the DSM-CC data stream containing the MHP application MA and the multicast stream MS, which is transmitted to the audio/video driver VD.
  • the stream daemon SD detects the presence of table AIT, notifies the content of the latter to the MHP stack ST and obtains from table AIT the descriptors of the MHP application MA and all its references for carrying out its download from the DSM-CC data contained in the data stream DS.
  • the MHP stack ST updates the list of the available MHP applications by adding the "trailer display” MHP application MA and notifies this update to the set-top-box manager SM, which applies its execution logic with the MHP applications available in the MHP stack ST, in particular by invoking the automatic execution of all the MHP applications signaled as to be auto-started with the "xlet autostart on” mode, including for example the "trailer display” MHP application MA.
  • the MHP stack ST 3 after the reception from the set-top-box manager SM of the execution command of the MHP application MA 5 configures the stream daemon SD so that the latter returns to it the data contained in the DSM-CC tables relating to the MHP application MA.
  • the MHP stack ST reconstructs from this data the filesystem of the classes and the data forming the MHP application MA. Once the download of the MHP application MA is ended, the MHP stack ST starts its execution.
  • the executed MHP application MA can show its graphic output on screen S in an overlay mode, carried out by the MHP stack ST through an indirect interfacing, mediated by the stream daemon SD with the audio/video interface VI.
  • the MHP application MA requests the MHP stack ST to receive a notification of stream events SE in the DSM-CC data associated thereto.
  • the MHP stack ST by means of table AIT identifies the DSM-CC data with the stream events SE to be notified to the MHP application MA, and requests in turn the stream daemon SD to return the content of table AIT, after which it waits to receive the stream events SE present in this table.
  • the MHP stack ST notifies them to the MHP application MA, which updates the information data ID shown on screen S, for example title, actors, director and other information of the film currently advertised by the trailer displayed in the audio/video stream AV on screen S.
  • the process according to the present embodiment of the invention allows the user to immediately access the web page from which he can complete the purchase of the currently advertised film.
  • the MHP application MA invokes the function of the set-top-box manager SM which causes the stop of the stream daemon SD, the display on screen S of the output signal of the web browser WB and the opening of the latter from the URL (Uniform Resource Locator) of the control server CS containing the web page for purchasing the film.
  • This function being a native call not present in the MHP API standard, is invoked by adopting the JNI "Shared Stubs" process, i.e.
  • the MHP application MA specifies the name of the dynamic library with the function to be invoked together with the name of this function.
  • the Java code layer (called “Bridge JNI") which carries out the JNI "Shared Stubs" process is supplied as an extension of the MHP stack ST, since the single MHP applications transmitted through the network interface NI or the DVB receiver DT cannot directly invoke native functionalities via JNI.
  • apparatus STB is also protected from possible noxious MHP applications, since the "Bridge JNI" can verify if the MHP applications MHP invoking them are authorized to do so.
  • the set-top-box manager SM can start in a known manner its display on screen S through the stream daemon SD.
  • the system according to the present invention can also carry out an interactive VoD process of a multimedia content MC, for example a film, in which the MHP application MA shows in overlay on screen S, on a user's request, the list of the film scenes to which he can directly jump, is a manner similar to the navigation of the content of a DVD.
  • a multimedia content MC transmitted in a unicast IP mode.
  • a portion of the backend activities are performed off-line in the backend systems
  • the backend systems can include a control server CS which contains one or more web pages through which, by means of the web browser WB of an apparatus STB, a user can select and purchase the film in a VoD mode. If the user purchases the film, the video server VS retrieves the video file VF selected by the user and prepares to its reproduction.
  • a control server CS which contains one or more web pages through which, by means of the web browser WB of an apparatus STB, a user can select and purchase the film in a VoD mode. If the user purchases the film, the video server VS retrieves the video file VF selected by the user and prepares to its reproduction.
  • the video file VF can be transmitted by the video server VS to apparatus STB through an encoding server ES, which encodes it according to a key received from the control server CS or from another server accessible from apparatus STB through the IP network.
  • the video server VS waits for control commands CC, if any, coming from apparatus STB, in particular Start, Pause, Stop, Rewind and Fast Forward commands of video file VF.
  • apparatus STB authenticates itself and requests the control of the backend systems BS through the agent client AC in the above described way, so that through the secure control channel CC established by the agent client AC each activity of apparatus STB is subject to the control of the backend systems BS and can be considered secure.
  • the user can then consult a control server CS by using the web browser WB of apparatus STB for purchasing and reproducing a video file VF.
  • the control server CS coordinates the functions of the video server VS, of the encoding server ES and of apparatus STB, to which the control server CS transmits the URL of the video server VS containing the video file VF and the decoding key, which is communicated also to the encoding server ES.
  • the stream daemon SD of apparatus STB receives from the network interface NI the SPTS stream of the video file VF transmitted in unicast IP mode by the video server VS and separates therefrom the multimedia content MC, which is transmitted to the audio/video driver VD, table AIT and the DSM-CC data stream containing the MHP application MA.
  • the stream daemon SD detects the presence of table AIT, notifies the content of the latter to the MHP stack ST and obtains from table AIT the descriptors of the MHP application MA and all its references for carrying out its download from the DSM-CC data contained in the video file VF.
  • the MHP stack ST updates the list of the available MHP applications by adding the "interactive VoD" MHP application MA and notifies this update to the set-top-box manager SM, which applies its execution logic with the MHP applications available in the MHP stack ST, in particular by invoking the automatic execution of all the MHP applications signaled as to be auto-started with the "xlet autostart on” mode, including for example the "interactive VoD" MHP application MA.
  • the MHP stack ST after the reception from the set-top-box manager SM of the execution command of the MHP application MA, configures the stream daemon SD so that the latter returns to it the data contained in the DSM-CC tables relating to the MHP application MA.
  • the MHP stack ST reconstructs from this data the filesystem of the classes and the data forming the MHP application MA. Once the download of the MHP application MA is ended, the MHP stack ST starts its execution.
  • the executed MHP application MA can show its graphic output on screen S in an overlay mode, carried out by the MHP stack ST through an indirect interfacing, mediated by the stream daemon SD with the audio/video interface VI.
  • the MHP application MA allows the user to select, at any time, the scene from which the reproduction of the video file VF can be started, by displaying, in an overlay mode on screen S, a representative image for each scene from which the reproduction can be started.
  • the MHP application MA starts the reproduction of the video file VF from the indicated scene, by invoking the function of the set-top-box manager SM which causes the seek request to the video server VS, in a mode similar to the implementation of the Start, Pause, Stop, Rewind and Fast Forward commands of the video file VF, however with the difference that the desired time position is specified as an argument. Also this function, being a native call not present in the MHP API standard, is carried out with the
  • JNI Shared Stubs
  • the MHP application MA specifies the name of the dynamic library with the function to be invoked together with the name of this function.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Process for carrying out MHP applications (MA1, …, MAn; MA), which comprises the following operating steps: one or more backend systems (BS) transmit one or more MHP applications (MA1, …, MAn; MA) in data stream (DS; VF) through an IP network (IP); at least one apparatus (STB) comprising an electronic control unit (CU) connected to a plurality of hardware devices (HW) loads into at least one digital memory (DM) at least one MHP stack (ST) suitable for invoking JNI (Java Native Interface) interfaces; said apparatus (STB) receives one or more MHP applications (MA1, …, MAn; MA) through a network interface (NI) connected to said IP network (IP); said MHP stack (ST) executes one or more of said MHP applications (MA1, …, MAn; MA) received through said network interface (NI). The MHP applications (MA1, …, MAn; MA) interact through JNI interfaces with said hardware devices (HW) and/or said backend systems (BS) for modifying the content of said data stream (DS; VF). The present invention also relates to an apparatus and a system which carry out said process.

Description

PROCESS, APPARATUS AND SYSTEM FOR EXECUTING MHP
APPLICATIONS
The present invention relates to a process for executing MHP (Multimedia Home Platform) applications, in particular MHP applications transmitted over an IP (Internet Protocol) network. The present invention also relates to an apparatus and a system which carry out said process.
Two different technologies are currently employed for the interactive digital television.
A first widespread technology consists of the transmissions with the DVB (Digital
Video Broadcast) standard which include interactive applications based on standard platforms such as MHP (Multimedia Home Platform) and OCAP (OpenCable Application Platform), or based on specific languages such as OpenTV. The interactivity offered to the users by the apparatuses, known also with the name of "set top box", based on the DVB standard is however limited by the peculiar features of the broadcast transmissions, which cannot be personalized for the single user since they are performed in a substantially unidirectional manner, for example via antenna, satellite or cable. Notwithstanding this limitation, the DVB apparatuses provided with MHP applications allow a high interaction between the same applications and the multimedia content of the transmissions as regards to graphics (overlapping and transparency of the application images on the screen), contents (the application can know and select the different TV services currently transmitted) and synchronization (the application can recognize determined transmitted events for synchronizing their behavior with the images shown on the screen).
For overcoming the limit of the unidirectional transmissions, the content of which cannot be modified according to the requests of a single user, the IPTV (Internet Protocol Television) technology allows to transmit in a bidirectional manner a digital television signal through an IP network with a high bandwidth connection. Though the transmission of DVB streams with MHP applications over an IP network is certainly possible, this kind of transmission is however unidirectional and suffers the same limitations of the broadcast transmissions in terms of customization. In the IPTV context however there is no solution which allows the interactivity between applications and multimedia contents. Until now the available solutions are not standardized and do not go beyond the use of native applications (typically web browsers) which show the multimedia content received from the IPTV stream in a PIP (Picture In Picture) mode. For improving the functionality of the IPTV technology it is therefore necessary to develop a new standard which allows to exploit the bidirectionality of the transmissions, so that it is possible to modify for each user the multimedia content, for example for carrying out VoD (Video on Demand) interactive services. However, on the one hand the development of a new standard and of the relevant new applications requires considerable resources, on the other hand the MHP applications cannot be reused in an IPTV environment, since they have been developed for unidirectional transmissions.
It is therefore an object of the present invention to obtain a technology which overcomes these disadvantages, i.e. which allows to extend in a simple and effective manner the MHP applications with functions exploiting the bidirectional transmission modes offered by the IP networks. Said object is achieved with a process, an apparatus and a system, the main features of which are disclosed in claims 1, 18 and 35, respectively, while other features are disclosed in the remaining claims.
The process according to the present invention allows to exploit in an IPTV environment the advantages of the interactivity and the standardization of the MHP platform, so as to offer to the users innovative interactive services, wherein the MHP applications can interact with the whole IPTV system in a bidirectional transmission context. This means in particular that the systems making up the backend of the IPTV system (Video Server, Accounting, Billing, etc.) and providing the multimedia contents can dialog with the MHP applications of the users' apparatuses, even by modifying, as a consequence of this interaction, the transmitted multimedia content, in particular the A/V (Audio/Video) streams.
This process can thus employ applications which allow on the one hand a high interactivity with the user and the transmitted multimedia content, on the other hand a wide integration with the services offered by the IPTV system. The IPTV system can therefore offer services in which an application active in the apparatus allows the backend systems to change the A/V streams according to commands transmitted by the user. For example, the user may jump to a determined scene or extra contents of a transmitted film, as it happens with the DVDs, or buy and watch a film after he has previewed the relevant trailer.
Furthermore, the process according to the present invention, by reusing MHP applications, allows to obtain not only economies of scale thanks to the easy availability on the market of the relevant resources, but also new services and therefore new sources of revenues with respect to the IPTV environment.
The wide availability on the market of MHP applications and the multi-platform nature of Java, i.e. the language on which the MHP platform is based, make the process, the system and the apparatus according to the present invention advantageous in terms of protection of the investments in the IPTV environment with respect to proprietary solutions.
According to a particular aspect of the invention, the apparatus can also comprise a DVB receiver, so as to obtain with relatively low costs a multi-platform device, suitable for executing MHP applications transmitted not only over an IP network, but also through the normal unidirectional broadcast channels, for example antenna, satellite or cable.
Further advantages and features of the process, the apparatus and the system according to the present invention will become clear to those skilled in the art from the following detailed and non-limiting description of some embodiments thereof with reference to the attached drawings, wherein:
- figure 1 shows a scheme of the system and the apparatus according to the present invention;
- figure 2 shows the scheme of figure 1 during the execution of the process according to a first embodiment of the invention; and
- figure 3 shows the scheme of figure 1 during the execution of the process according to a second embodiment of the invention.
Referring to figure 1, it is seen that the apparatus or set top box STB according to the present invention comprises in a known way at least one electronic control unit CU, for example a microprocessor, connected to a plurality of hardware devices HW and to one or more digital memories DM, for example volatile, permanent and/or mass memories, for carrying out one or more applications. The hardware devices HW comprise a network interface NI for the connection to an IP network, for example Internet, one or more input interfaces IN 1,...,INn for the connection to external peripherals, for example a remote control RC and a keyboard KB5 as well as an audio/video interface VI for the connection to at least one audio/video unit TV provided with a screen S.
When apparatus STB is turned on, an operating system OS5 for example Linux, is loaded into a digital memory DM and executed by the control unit CU. In the same way a hardware abstraction layer HAL is executed for controlling the hardware devices HW of apparatus STB in a manner independent from their peculiar features. The hardware abstraction layer HAL can be implemented in a known and/or obvious manner according to the technical specifications of the hardware devices HW of apparatus STB.
According to the invention, apparatus STB automatically loads into a digital memory DM at least one MHP stack ST for carrying out one or more MHP applications MAl,..., MAn, known also as Xlet applications, which are transmitted by backend systems BS in a data stream DS through the IP network to apparatus STB5 in particular to a stream daemon SD suitable for transmitting from the video interface VI the multimedia contents MC included in the data stream DS received by apparatus STB. The multimedia contents MC, in particular in a DVB format, transmitted by the video interface VI, for example to the audio/video unit TV, can comprise an audio/video stream AV, for example in a MPEG-2 format, and/or an information data stream ID which can be shown on screen S and also be generated by the MHP applications MAl,..., MAn.
The MHP applications MAl,..., MAn executed by the MHP stack ST in turn generate the information data ID according to service information contained in the data stream DS transmitted through the IP network and/or according to commands sent by a user through the input interfaces INl,..., INn. The latter commands are transmitted through an event manager EM, in particular a Xwindow manager of a known kind loaded into a digital memory DM, and a set-top-box manager SM, i.e. an application module which handles the processes in apparatus STB. The set-top-box manager SM implements the startup/recovery and watchdog logics of the different processes of the applications executed in apparatus STB, in particular of the MHP applications MAl,..., MAn executed by the MHP stack ST. The set-top-box manager SM further handles the commands sent by the user through the input interfaces INl,..., INn and sorts them to the appropriate modules, among which in particular a web browser WB and the same MHP stack ST. The web browser WB, also of a known kind, shows in the audio/video unit TV the information data ID, for example the EPG (Electronic Program Guide) user interface for the channel selection, and is based on a software platform SP with GUI (Graphical User Interface) libraries, for example a Xwindow Xl 1 platform, which can exchange data with the stream daemon SD. The execution, the stop and/or the suspension of the MHP applications MAl,..., MAn executed by the MHP stack ST are controlled in a known way by the set-top-box manager SM by means of an API (Application Program Interface). Furthermore, the set-top-box manager SM can also add or remove one or more MHP applications MAl,..., MAn from the MHP stack ST according to the received commands.
The stream daemon SD is connected to a tuner/demux module TD belonging to the hardware abstraction layer HAL for controlling the services offered by the multimedia contents MC, in particular the DVB services. Furthermore, the tuner/demux module TD supplies the functionalities for carrying out the scan and the search of channels in a determined frequency band such as the reception of the list of services, of video and audio components, the decoding of subtitles and teletext, the decoding of the information on the MHP applications MAl,..., MAn present in the MHP stack ST and of all the service information contained in the data stream DS.
The stream daemon SD is also connected to an audio/video driver VD, also of a known kind, which received the data from the stream daemon SD, in particular the multimedia contents MC and other information to be shown on screen S, for example OSD (On Screen Display) information, and converts them for the transmission through the audio/video interface VI.
In the present embodiment of the invention, apparatus STB also comprises a DVB receiver DT, for example connected to an antenna A, which decodes and directly sends the received data stream to the tuner/demux module TD, while the similar data stream DS received by the network interface NI passes first through the- stream daemon SD which adapts it for the tuner/demux module TD. Said data streams may include multiple audio tracks, subtitles and teletext.
The MHP stack ST can receive callback information from the stream daemon SD in correspondence with events relating to the signaling in the data stream DS of MHP applications MAl3..., MAn through AIT (Application Information Table) tables, i.e. tables multiplexed in the data stream DS and describing MHP applications associated with a transmitted program, with events relating to DSM-CC (Digital Storage Media Command and Control) tables, i.e. tables implementing control channels connected with MPEG data streams, and/or with events in correspondence with a channel and/or service change. Besides receiving this information contained in the data stream DS processed by the stream daemon SD, the MHP stack ST can control the filtering of the DSM-CC tables so as to carry out the download of the MHP application MAl,..., MAn and of the relevant data, as well as it can change the service or the single streams currently selected in apparatus STB, since the MHP applications MAl,..., MAn generally have this capability. The MHP stack ST can also control the graphic output, video mixing and video resizing functionalities with which it can implement the graphic interface of the MHP applications MAl,..., MAn on screen S of the audio/video unit TV.
Apparatus STB can comprise an agent client module AC, also of a known kind, which implements the secure communication channel with the backend systems BS sending the data stream DS. The agent client module AC authenticates itself with the backend systems BS by employing asymmetric key algorithms, with which the identity of both apparatus STB and the backend servers BS is ascertained. Once authenticated, the agent client module AC communicates with the backend systems BS through a bidirectional and encrypted control channel CC, for example a SSL (Secure Socket Layer) channel which becomes the only channel employed for all the communications between apparatus STB and the backend systems BS, except for the data stream DS and the accessory communications without sensible data.
In detail, the MHP stack ST, for carrying out the above functions, invokes JNI (Java Native Interface) interfaces, which allow the Java code to invoke native functionalities. The bidirectional nature of the transmissions through the IP network can thus fully exploited. For invoking the Java Native Interface (JNI) interfaces, the MHP stack ST employs the process known as "Shared Stubs", described at chapter 9 of "The Java™ Native Interface - Programmer's Guide and Specification" of Sheng Liang for Sun Microsystem Inc. By means of this known process always the same code can be reused for invoking functions of native libraries from Java code: only the strings which identify the name of the function and the path of the library change among the different MHP applications. With this arrangement, the developer of each MHP application must not necessarily implement fully the semantic of the JNI invocation (for example by creating stubs starting from the C headers of the native functions), since it is sufficient for him to indicate the above mentioned strings as arguments of the MHP applications. As a matter of fact, the semantic of the JNI invocation is implemented with the "Shared Stubs" once and for all in the suitable library, which is added to the known libraries of the MHP stack ST. A "Shared Stub" is a native function, invoked via JNI, which in turn invokes other native functions according to the name of the function and of the dynamic library which contains it, thereby autonomously providing for the type conversions of the variables necessary for the calls.
Referring to figure 2, it is seen that in an "interactive trailer" process, a user can directly buy a video file, for example a film, corresponding to a trailer displayed on screen S. The standard MHP functionalities such as the overlay display of information on screen S and the synchronization with the audio/video stream AV displayed on screen S allow to show the details of the film presented through its trailer. Through the same MHP application the user can decide the purchase of the film, in which case the MHP application will open, through a JNI invocation carried out in the above described way, the web browser WB at the web page containing the purchase form of the film chosen by the user.
For carrying out this process, the audio/video stream AV of the trailer is stored in one or more storage systems SS of the backend systems BS. A continuous multicast stream MS is generated by a video processor VP by cyclically reproducing the audio/video stream AV of the trailer. The multicast stream MS is then multiplexed in a known way by a multiplexer MX with the DSM-CC data containing the "trailer display" MHP application MA and table AIT containing the relevant signal for obtaining a data stream DS transmitted by a video server VS. Multiplexer MX also multiplexes a further DSM-CC data set containing time references on the events present in the audio/video stream AV. These data SE corresponding to stream events are generated in a known way by a stream event generator SEG which allows to synchronize the stream events SE with events present in the audio/video stream AV. For example, in the present process, the stream events SE contain events in correspondence with each trailer change, which are provided with information such as an univocal flag of the particular trailer which is going to start. The transmitted output of multiplexer MX which is stored in the video server VS5 i.e. the data stream DS5 in particular a SPTS (Single Program Transport Stream) stream, is therefore one of the channels which can be selected by the user in apparatus STB.
When apparatus STB is turned on, its agent client AC establishes a control channel CC in the IP network with a control server CS of the backend systems BS. From this moment, through the control channel CC established by the agent client AC, each activity of apparatus STB is controlled by the control server CS of the backend systems BS and can be considered secure.
The user can then consult the EPG by using the web browser WB of apparatus STB. During this phase, the stream daemon SD displays on screen S the currently selected channel in a PIP (Picture In Picture) frame. If the user selects from the EPG the channel corresponding to the above mentioned multicast stream MS transmitted in a multicast IP mode, this content is displayed on the whole screen S. During this phase the stream daemon SD receives from the network interface NI the data stream DS and separates therefrom table AIT5 the DSM-CC data stream containing the MHP application MA and the multicast stream MS, which is transmitted to the audio/video driver VD. The stream daemon SD detects the presence of table AIT, notifies the content of the latter to the MHP stack ST and obtains from table AIT the descriptors of the MHP application MA and all its references for carrying out its download from the DSM-CC data contained in the data stream DS.
The MHP stack ST updates the list of the available MHP applications by adding the "trailer display" MHP application MA and notifies this update to the set-top-box manager SM, which applies its execution logic with the MHP applications available in the MHP stack ST, in particular by invoking the automatic execution of all the MHP applications signaled as to be auto-started with the "xlet autostart on" mode, including for example the "trailer display" MHP application MA. The MHP stack ST3 after the reception from the set-top-box manager SM of the execution command of the MHP application MA5 configures the stream daemon SD so that the latter returns to it the data contained in the DSM-CC tables relating to the MHP application MA. The MHP stack ST reconstructs from this data the filesystem of the classes and the data forming the MHP application MA. Once the download of the MHP application MA is ended, the MHP stack ST starts its execution.
The executed MHP application MA can show its graphic output on screen S in an overlay mode, carried out by the MHP stack ST through an indirect interfacing, mediated by the stream daemon SD with the audio/video interface VI. At the start, the MHP application MA requests the MHP stack ST to receive a notification of stream events SE in the DSM-CC data associated thereto. The MHP stack ST by means of table AIT identifies the DSM-CC data with the stream events SE to be notified to the MHP application MA, and requests in turn the stream daemon SD to return the content of table AIT, after which it waits to receive the stream events SE present in this table. When the stream events SE are received, the MHP stack ST notifies them to the MHP application MA, which updates the information data ID shown on screen S, for example title, actors, director and other information of the film currently advertised by the trailer displayed in the audio/video stream AV on screen S.
If the user selects, for example with the remote control RC, the function "buy" shown among the information data ID on screen S, the process according to the present embodiment of the invention allows the user to immediately access the web page from which he can complete the purchase of the currently advertised film. For this purpose, the MHP application MA invokes the function of the set-top-box manager SM which causes the stop of the stream daemon SD, the display on screen S of the output signal of the web browser WB and the opening of the latter from the URL (Uniform Resource Locator) of the control server CS containing the web page for purchasing the film. This function, being a native call not present in the MHP API standard, is invoked by adopting the JNI "Shared Stubs" process, i.e. the MHP application MA specifies the name of the dynamic library with the function to be invoked together with the name of this function. The Java code layer (called "Bridge JNI") which carries out the JNI "Shared Stubs" process is supplied as an extension of the MHP stack ST, since the single MHP applications transmitted through the network interface NI or the DVB receiver DT cannot directly invoke native functionalities via JNI. Thus, apparatus STB is also protected from possible noxious MHP applications, since the "Bridge JNI" can verify if the MHP applications MHP invoking them are authorized to do so. When the user has purchased the film, the set-top-box manager SM can start in a known manner its display on screen S through the stream daemon SD.
Referring to figure 3, it is seen that the system according to the present invention can also carry out an interactive VoD process of a multimedia content MC, for example a film, in which the MHP application MA shows in overlay on screen S, on a user's request, the list of the film scenes to which he can directly jump, is a manner similar to the navigation of the content of a DVD. In this case it is a multimedia content MC transmitted in a unicast IP mode.
A portion of the backend activities are performed off-line in the backend systems
BS by storing into a video server VS a video file VF in a TS (Transport Stream) format obtained by multiplexing with multiplexer MX the audio/video stream AV of the film with the stream events SE, with the DSM-CC data set containing the "interactive VoD" MHP application MA and with the relevant table AIT. The backend systems can include a control server CS which contains one or more web pages through which, by means of the web browser WB of an apparatus STB, a user can select and purchase the film in a VoD mode. If the user purchases the film, the video server VS retrieves the video file VF selected by the user and prepares to its reproduction. The video file VF can be transmitted by the video server VS to apparatus STB through an encoding server ES, which encodes it according to a key received from the control server CS or from another server accessible from apparatus STB through the IP network. The video server VS waits for control commands CC, if any, coming from apparatus STB, in particular Start, Pause, Stop, Rewind and Fast Forward commands of video file VF.
At the start, apparatus STB authenticates itself and requests the control of the backend systems BS through the agent client AC in the above described way, so that through the secure control channel CC established by the agent client AC each activity of apparatus STB is subject to the control of the backend systems BS and can be considered secure. The user can then consult a control server CS by using the web browser WB of apparatus STB for purchasing and reproducing a video file VF. For this activity, the control server CS coordinates the functions of the video server VS, of the encoding server ES and of apparatus STB, to which the control server CS transmits the URL of the video server VS containing the video file VF and the decoding key, which is communicated also to the encoding server ES. During this phase the stream daemon SD of apparatus STB receives from the network interface NI the SPTS stream of the video file VF transmitted in unicast IP mode by the video server VS and separates therefrom the multimedia content MC, which is transmitted to the audio/video driver VD, table AIT and the DSM-CC data stream containing the MHP application MA. The stream daemon SD detects the presence of table AIT, notifies the content of the latter to the MHP stack ST and obtains from table AIT the descriptors of the MHP application MA and all its references for carrying out its download from the DSM-CC data contained in the video file VF.
The MHP stack ST updates the list of the available MHP applications by adding the "interactive VoD" MHP application MA and notifies this update to the set-top-box manager SM, which applies its execution logic with the MHP applications available in the MHP stack ST, in particular by invoking the automatic execution of all the MHP applications signaled as to be auto-started with the "xlet autostart on" mode, including for example the "interactive VoD" MHP application MA. The MHP stack ST, after the reception from the set-top-box manager SM of the execution command of the MHP application MA, configures the stream daemon SD so that the latter returns to it the data contained in the DSM-CC tables relating to the MHP application MA. The MHP stack ST reconstructs from this data the filesystem of the classes and the data forming the MHP application MA. Once the download of the MHP application MA is ended, the MHP stack ST starts its execution.
The executed MHP application MA can show its graphic output on screen S in an overlay mode, carried out by the MHP stack ST through an indirect interfacing, mediated by the stream daemon SD with the audio/video interface VI. The MHP application MA allows the user to select, at any time, the scene from which the reproduction of the video file VF can be started, by displaying, in an overlay mode on screen S, a representative image for each scene from which the reproduction can be started.
If the user selects the button "Go" for one of the scenes displayed on screen S, the MHP application MA starts the reproduction of the video file VF from the indicated scene, by invoking the function of the set-top-box manager SM which causes the seek request to the video server VS, in a mode similar to the implementation of the Start, Pause, Stop, Rewind and Fast Forward commands of the video file VF, however with the difference that the desired time position is specified as an argument. Also this function, being a native call not present in the MHP API standard, is carried out with the
JNI "Shared Stubs" process, i.e. the MHP application MA specifies the name of the dynamic library with the function to be invoked together with the name of this function.
Further modifications and/or additions may be made by those skilled in the art to the embodiments of the invention hereinabove described and illustrated while remaining within the scope of the following claims.

Claims

1. Process for carrying out MHP applications (MAl, ..., MAn; MA), characterized in that it comprises the following operating steps:
- one or more backend systems (BS) transmit one or more MHP applications
(MAl,..., MAn; MA) in a data stream (DS; VF) through an IP network (IP);
at least one apparatus (STB) comprising an electronic control unit (CU) connected to a plurality of hardware devices (HW) loads into at least one digital memory
(DM) at least one MHP stack (ST) suitable for invoking JNI (Java Native Interface) interfaces;
said apparatus (STB) receives one or more MHP applications (MAl,..., MAn;
MA) through a network interface (NI) connected to said IP network (IP);
said MHP stack (ST) executes one or more of said MHP applications (MAl,...,
MAn; MA) received through said network interface (NI).
2. Process according to the previous claim, characterized in that the MHP applications (MAl,..., MAn; MA) interact through JNI interfaces with said hardware devices (HW) and/or said backend systems (BS).
3. Process according to one of the previous claims, characterized in that said MHP stack (ST) invokes the JNI interfaces by means of the "Shared Stubs" process.
4. Process according to one of the previous claims, characterized in that said apparatus (STB) comprises a set-top-box manager (SM) suitable for handling the processes of the MHP applications (MAl,..., MAn; MA) executed by the MHP stack (ST).
5. Process according to one of the previous claims, characterized in that said MHP applications (MAl,..., MAn; MA) are transmitted to a stream daemon (SD) suitable for transmitting from a video interface (VI) of said apparatus (STB) multimedia contents (MC) included in the data stream (DS; VF).
6. Process according to the previous claim, characterized in that said multimedia contents (MC) comprise an audio/video stream (AV) and/or an information data stream (ID) generated by the MHP applications (MAl,..., MAn; MA) executed by the MHP stack (ST).
7. Process according to the previous claim, characterized in that the MHP applications (MAl,..., MAn; MA) executed by the MHP stack (ST) generate said information data (ID) according to service information contained in the data stream (DS; VF).
8. Process according to claim 6 or 7, characterized in that the MHP applications (MAl,..., MAn; MA) executed by the MHP stack (ST) generate said information data (ID) according to commands sent by a user through input interfaces (INl,..., INn) of said apparatus (STB).
9. Process according to one of claims 5 to 8, characterized in that the stream daemon (SD) is connected to a tuner/demux module (TD) suitable for decoding information on the MHP applications (MAl,..., MAn; MA) present in the MHP stack (ST) and the service information contained in the data stream (DS; VF).
10. Process according to one of claims 5 to 9, characterized in that the stream daemon (SD) is connected to an audio/video driver (VD) suitable for converting the data received by the stream daemon (SD) for the transmission through an audio/video interface (VI) of said apparatus (STB).
11. Process according to one of the previous claims, characterized in that the MHP applications (MAl,..., MAn; MA) executed by the MHP stack (ST) are transmitted to said apparatus (STB) through a DVB receiver (DT).
12. Process according to one of the previous claims, characterized in that the MHP stack (ST) receives callback information from the stream daemon (SD) in correspondence with events relating to the signaling in the data stream (DS; VF) of MHP applications (MAl,..., MAn) through tables (AIT) which describe MHP applications.
13. Process according to one of the previous claims, characterized in that the MHP stack (ST) receives callback information from the stream daemon (SD) in correspondence with events contained in DSM-CC tables in the data stream (DS; VF).
14. Process according to claim 12 or 13, characterized in that said tables (AIT) are multiplexed in the data stream (DS; VF).
15. Process according to one of the previous claims, characterized in that the data stream (DS; VF) comprises at least one audio/video stream (AV) multiplexed with the MHP applications (MAl3..., MAn).
16. Process according to the previous claim, characterized in that the data stream (DS; VF) comprises stream events (SE) synchronized with events present in the audio/video stream (AV).
17. Process according to one of the previous claims, characterized in that said apparatus (STB) communicates with one or more backend systems (BS; CS) by means of a bidirectional control channel (CC) through the IP network (IP).
18. Apparatus (STB) for executing MHP applications (MAl, ..., MAn; MA), which comprises an electronic control unit (CU) connected to a plurality of hardware devices (HW) and to at least one digital memory (DM), characterized in that at least one MHP stack (ST) suitable for invoking JNI (Java Native Interface) interfaces can be loaded into a digital memory (DM) for executing one or more MHP applications (MAl,..., MAn; MA) contained in a data stream (DS; VF) received from an IP network (IP) through a network interface (NI).
19. Apparatus (STB) according to the previous claim, characterized in that the MHP applications (MAl,..., MAn; MA) interact through JNI interfaces with said hardware devices (HW) and/or with backend systems (BS).
20. Apparatus (STB) according to claim 18 or 19, characterized in that said MHP stack (ST) invokes the JNI interfaces by means of the "Shared Stubs" process.
21. Apparatus (STB) according to one of claims 18 to 20, characterized in that it comprises a set-top-box manager (SM) suitable for handling the processes of the MHP applications (MAl,..., MAn; MA) executed by the MHP stack (ST).
22. Apparatus (STB) according to one of claims 18 to 21, characterized in that it comprises a stream daemon (SD) suitable for receiving said MHP applications
(MAl,..., MAn; MA) and for transmitting from a video interface (VI) multimedia contents (MC) included in the data stream (DS; VF).
23. Apparatus (STB) according to the previous claim, characterized in that said multimedia contents (MC) comprise an audio/video stream (AV) and/or an information data stream (ID) generated by the MHP applications (MAl,..., MAn; MA) executed by the MHP stack (ST).
24. Apparatus (STB) according to the previous claim, characterized in that the MHP applications (MAl,..., MAn; MA) executed by the MHP stack (ST) generate said information data (ID) according to service information contained in said data stream (DS; VF).
25. Apparatus (STB) according to claim 23 or 24, characterized in that the
MHP applications (MAl,..., MAn; MA) executed by the MHP stack (ST) generate said information data (ID) according to commands sent by a user through input interfaces (INl,..., INn).
26. Apparatus (STB) according to one of claims 22 to 25, characterized in that the stream daemon (SD) is connected to a tuner/demux module (TD) suitable for decoding information on the MHP applications (MAl,..., MAn; MA) present in the MHP stack (ST) and the service information contained in the data stream (DS; VF).
27. Apparatus (STB) according to one of claims 22 to 26, characterized in that the stream daemon (SD) is connected to an audio/video driver (VD) suitable for converting the data received by the stream daemon (SD) for the transmission through an audio/video interface (VI).
28. Apparatus (STB) according to one of claims 18 to 27, characterized in that it comprises a DVB receiver (DT) suitable for receiving the MHP applications (MAl,..., MAn; MA) to be executed by the MHP stack (ST).
29. Apparatus (STB) according to one of claims 18 to 28, characterized in that the MHP stack (ST) receives callback information from the stream daemon (SD) in correspondence with events relating to the signaling in the data stream (DS; VF) of MHP applications (MAl,..., MAn) through tables (AIT) which describe MHP applications.
30. Apparatus (STB) according to one of claims 18 to 29, characterized in that the MHP stack (ST) receives callback information from the stream daemon (SD) in correspondence with events contained in DSM-CC tables in the data stream (DS; VF).
31. Apparatus (STB) according to claim 29 or 30, characterized in that said tables (AIT) are multiplexed in the data stream (DS; VF).
32. Apparatus (STB) according to one of claims 18 to 31, characterized in that the data stream (DS; VF) comprises at least one audio/video stream (AV) multiplexed with the MHP applications (MAl,..., MAn).
33. Apparatus (STB) according to the previous claim, characterized in that the data stream (DS; VF) comprises stream events (SE) synchronized with events present in the audio/video stream (AV).
34. Apparatus (STB) according to one of claims 18 to 33, characterized in that it comprises means (AC) suitable for communicating with one or more backend systems (BS; CS) by means of a bidirectional control channel (CC) through the IP network (IP).
35. System (BS) for executing MHP applications (MAl5 ..., MAn; MA), characterized in that it comprises means (VS) suitable for transmitting through an IP network (IP) one or more MHP applications (MAl,..., MAn; MA) in a data stream (DS; VF) comprising at least one audio/video stream (AV).
36. System (BS) according to the previous claim, characterized in that it comprises means (MX) suitable for multiplexing the MHP applications (MAl,..., MAn; MA) in the data stream (DS; VF) with the audio/video stream (AV).
37. System (BS) according to claim 35 or 36, characterized in that it comprises means (MX) suitable for multiplexing stream events (SE) synchronized with events present in the audio/video stream (AV).
38. System (BS) according to one of claims 35 to 37, characterized in that it comprises means (MX) suitable for multiplexing tables (AIT) which describe the MHP applications (MAl,..., MAn; MA) present in the data stream (DS; VF).
39. System (BS) according to one of claims 35 to 38, characterized in that it comprises at least one control server (CS) suitable for communicating with one or more apparatuses according to one of claims 17 to 32 by means of a bidirectional control channel (CC) through the IP network (IP).
PCT/IT2005/000719 2005-12-07 2005-12-07 Process, apparatus and system for executing mhp applications WO2007066361A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IT2005/000719 WO2007066361A1 (en) 2005-12-07 2005-12-07 Process, apparatus and system for executing mhp applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IT2005/000719 WO2007066361A1 (en) 2005-12-07 2005-12-07 Process, apparatus and system for executing mhp applications

Publications (1)

Publication Number Publication Date
WO2007066361A1 true WO2007066361A1 (en) 2007-06-14

Family

ID=36729250

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IT2005/000719 WO2007066361A1 (en) 2005-12-07 2005-12-07 Process, apparatus and system for executing mhp applications

Country Status (1)

Country Link
WO (1) WO2007066361A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2475165A4 (en) * 2009-08-31 2013-05-01 Lg Electronics Inc Image display apparatus and operation method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003024107A1 (en) * 2001-09-12 2003-03-20 Icareus Oy Method and service paltform for a digital television system
WO2003056828A1 (en) * 2001-12-28 2003-07-10 Koninklijke Philips Electronics N.V. Transparent access of stb mhp digital tv middleware to ip video content
WO2005074252A1 (en) * 2004-01-28 2005-08-11 Koninklijke Philips Electronics N.V. Digital broadcasting terminal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003024107A1 (en) * 2001-09-12 2003-03-20 Icareus Oy Method and service paltform for a digital television system
WO2003056828A1 (en) * 2001-12-28 2003-07-10 Koninklijke Philips Electronics N.V. Transparent access of stb mhp digital tv middleware to ip video content
WO2005074252A1 (en) * 2004-01-28 2005-08-11 Koninklijke Philips Electronics N.V. Digital broadcasting terminal

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
C. PENG, P. CESAR, P. VUORIMAA: "Integration of Applications into Digital Television Environment", 26 September 2001 (2001-09-26), XP002394419, Retrieved from the Internet <URL:http://lib.tkk.fi/Diss/2002/isbn9512261723/article7.pdf> [retrieved on 20060801] *
EDWARD M. SCHWALB: "ITV Handbook: Technologies and Standards (Chapters 2-4 and pages 609-620)", 2004, PRENTICE HALL, ISBN: 0131003127, XP002394424 *
EVAIN J-P: "THE MULTIMEDIA HOME PLATFORM", EBU REVIEW- TECHNICAL, EUROPEAN BROADCASTING UNION. BRUSSELS, BE, no. 275, 21 March 1998 (1998-03-21), pages 4 - 10, XP000767493, ISSN: 0251-0936 *
ROP PULLES, PAVEL SASNO: "A Set Top Box combining MHP and MPEG-4 interactivity", EUSAI 2004, 8 November 2004 (2004-11-08), XP002394418 *
STEVEN MORRIS, ANTHONY SMITH-CHAIGNEAU: "Interactive TV Standards: A Guide to MHP, OCAP, and JavaTV (Chapters 3 and 4)", 21 April 2005, FOCAL PRESS, ISBN: 0240806662, XP002394425 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2475165A4 (en) * 2009-08-31 2013-05-01 Lg Electronics Inc Image display apparatus and operation method thereof
US8552975B2 (en) 2009-08-31 2013-10-08 Lg Electronics Inc. Image display apparatus and method for operating the same

Similar Documents

Publication Publication Date Title
US8225367B2 (en) Systems and methods for dynamic conversion of web content to an interactive walled garden program
JP5738469B2 (en) Smart set top box for providing smart service and digital TV service using basic media player included in single operating system and driving method thereof
US9819997B2 (en) Method for providing previous watch list of contents provided by different sources, and display device which performs same
US20070261090A1 (en) Interactive television application distribution, control, and communication system and methods
US20030009769A1 (en) Trusted application level resource advisor
KR20050088414A (en) Interactive television system with partial character set generator
US11265600B2 (en) Reception apparatus, reception method, transmission apparatus, and transmission method for flexible simulcast operation
US9621370B2 (en) Apparatus and method for providing interactive service to device using different digital broadcast middleware standards
EP3029932B1 (en) Multimedia device and method for controlling the same
US8250615B2 (en) Head-end system for providing two-way VOD service and service method thereof
EP1152619A2 (en) Method, device and system for digital communication
CN103503443A (en) Method for accessing a service, in particular a web portal, by a terminal for replaying a multimedia stream
KR20050078960A (en) The system and method for interactive data processing on cable based data broadcasting
US8990879B2 (en) Method for providing data application of digital broadcasting
CN112004125A (en) Media resource playing method and display equipment
CN111182339A (en) Method for playing media item and display equipment
WO2007066361A1 (en) Process, apparatus and system for executing mhp applications
CN111757176B (en) Streaming media file safe playing method and display equipment
WO2008115032A1 (en) Method of providing digital tv application and computer-readable medium having thereon program performing function embodying the same
KR20090004186A (en) Hybrid service processing method and hybrid digital cable receiver
KR20220091423A (en) System and method for terrestrial uhd broadcaster application re-transmission
Lugmayr et al. World of Digital Interactive TV
KR101549008B1 (en) METHOD AND APPARATUS FOR MANAGING STATUS OF I /
JP2025104727A (en) Receiving device, broadcasting system, receiving method, and program
Kar et al. Architecture for a retail set-top box for multimedia delivery

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05850975

Country of ref document: EP

Kind code of ref document: A1