WO2013119133A1 - Method and apparatus for allowing channels to be changed - Google Patents

Method and apparatus for allowing channels to be changed Download PDF

Info

Publication number
WO2013119133A1
WO2013119133A1 PCT/PT2013/000007 PT2013000007W WO2013119133A1 WO 2013119133 A1 WO2013119133 A1 WO 2013119133A1 PT 2013000007 W PT2013000007 W PT 2013000007W WO 2013119133 A1 WO2013119133 A1 WO 2013119133A1
Authority
WO
WIPO (PCT)
Prior art keywords
item
channel
information
played
message
Prior art date
Application number
PCT/PT2013/000007
Other languages
French (fr)
Inventor
Celso Manuel BATISTA MARTINHO
Original Assignee
Portugal Telecom Inovação, S.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 Portugal Telecom Inovação, S.A. filed Critical Portugal Telecom Inovação, S.A.
Priority to BR112014019746A priority Critical patent/BR112014019746A8/en
Priority to EP13709592.3A priority patent/EP2813085A1/en
Publication of WO2013119133A1 publication Critical patent/WO2013119133A1/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/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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26291Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H40/00Arrangements specially adapted for receiving broadcast information
    • H04H40/09Arrangements for receiving desired information automatically according to timetables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/25Arrangements for updating broadcast information or broadcast-related information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/68Systems specially adapted for using specific information, e.g. geographical or meteorological information
    • H04H60/72Systems specially adapted for using specific information, e.g. geographical or meteorological information using electronic programme guides [EPG]
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26283Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for associating distribution time parameters to content, e.g. to generate electronic program guide data
    • 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/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • H04N21/42208Display device provided on the remote control
    • H04N21/42209Display device provided on the remote control for displaying non-command information, e.g. electronic program guide [EPG], e-mail, messages or a second television channel
    • 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/488Data services, e.g. news ticker
    • H04N21/4882Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders

Definitions

  • Embodiments of the present invention relate to a method and apparatus and in particular but not exclusively for allowing channels to be changed.
  • TV Television
  • converged communication systems in the home have the TV as the main network device for integrated content searches, delivery and consumption. Online content from the Internet is delivered to the TV.
  • TV users can search, tune, choose and consume Internet content using a TV, a remote control and a set top box.
  • a method comprising: receiving information on a change to an item of a channel; and determining if an item on said channel which is changed is being played by one or more user devices to determine if action is to be taken in response to said information.
  • the method may comprise determining if one or more user devices are playing said channel.
  • a channel may be played by viewing visual content and/or listening to audio content.
  • the channel may be a broadcast channel or a channel available via the Internet.
  • the method may comprise causing a message to be sent to said at least one or more user devices.
  • the message may comprise time information to cause said at least one user device to start playing a new item in said channel in accordance with said time information, where said new item replaces a currently viewed asset.
  • the new item may be different to the item being viewed, may be an updated version of the item which is being played or may be an insertion to the current played item.
  • the insertion may be an advertisement or a message.
  • the time information may comprise time offset information .
  • the information may comprise identity information associated with said new item.
  • the message may comprise information indicating that the currently viewed item is not available.
  • the message may indicate that said currently played item has been removed.
  • the method may comprise, if a changed or deleted item on said channel is after the currently played item, processing said received information such that updated playlist information is stored.
  • the method may comprise responsive to receiving said information, deleting or invalidating currently stored playlist information for said channel.
  • the method may comprise responsive to receiving said channel change information, updating or storing playlist information.
  • the method may comprise comparing a time associated with said change with a current viewing time to determine if said item which is being changed is being played by one or more user devices.
  • the method may be performed in one or more service provider entities.
  • the service provider entities may comprise one or more servers.
  • the method may be performed by an apparatus which is provided in one or more service provider entities.
  • the apparatus may comprise one or more data processors which operate in conjunction with one or more memories .
  • a method comprising: causing an item on a channel to be played; and receiving a notification with new channel item information, said new channel item to replace said currently played item and time information to control playing of said new item.
  • a method comprising: causing an item on a channel to be played; and receiving a notification that said item is not longer available.
  • the method may be performed in one or more user devices.
  • the method may be performed by an apparatus which is provided in one or more user devices.
  • the apparatus may comprise one or more data processors which operate in conjunction with one or more memories
  • a computer program comprising computer executable instructions which when run cause any of the methods above to be performed.
  • an apparatus comprising: means for receiving information on a change to an item of a channel; and means for -determining if an item on said channel which is changed is being played by one or more user devices to determine if action is to be taken in response to said information
  • One or more service provider entities may comprise the apparatus.
  • One or more service provider entities may comprise a server.
  • an apparatus comprising: means for causing a channel to be played; and means for receiving a notification, said notification comprising a new channel item information and time information to control playing of said new item or information indicating a channel item is no longer available.
  • a user device may comprise the apparatus.
  • a method comprising: receiving information on a change to an item of a channel; and determining if the item is being played by one or more user devices; and if said item is being played by one or more user devices, causing a message to be sent to said at least one or more user devices, the message comprising one of: identity information associated with said new item; and information indicating that the currently viewed item is not available.
  • Causing the message to be sent may comprise pushing a notification to the at least one or more user devices .
  • Receiving the information may comprise receiving a push notification from an electronic program guide server.
  • the push notification from the electronic program guide server may be received in response to an author of the channel changing the item of the channel.
  • a method comprising: causing an item on a channel to be played; and receiving a message comprising one of: identity information associated with a new item to replace the currently played item; and information indicating that the currently played item is not available.
  • an apparatus comprising: means for receiving information on a change to an item of a channel; and means for determining if an item on said channel which is changed is being played by one or more user devices; and if said item is being played by one or more user devices, means for causing a message to be sent to said at least one or more user devices, the message comprising one of: identity information associated with said new item; and information indicating that the currently viewed item is not available.
  • an apparatus comprising: means for causing a channel to be played; and means for receiving a message comprising one of: identity information associated with a new item to replace the currently played item; and information indicating that the currently played item is not available.
  • Figure 1 shows an architecture in which embodiments may be provided
  • Figure 2 shows a method flow for channel creation
  • Figure 3 shows a method flow for channel viewing
  • FIG. 4 shows a method for updating an electronic program guide (EPG) ;
  • Figure 5 shows a visual representation of a channel time line
  • Figure 6 schematically illustrates initial play back from a specific time offset
  • Figure 7 shows schematically the components for updating the EPG when the program being updated is viewed.
  • Figure 8 shows a schematically the components for updating the EPG when the program being updated is after a current viewing time.
  • Embodiments may allow the creation, managing and/or sharing of personal content in a TV experience.
  • a method is provided to allow subscribers for example of a TV service to create a play list with their contents (assets) organise them and share them with other subscribers and/or with a community.
  • Some features of this trend are personalised viewing, content portability, consumption that combines broadcast, personal and web content, new image distribution solutions and networks and a growing role of the device as the placement of content is aggregated.
  • one technically complex problem relates to the distribution of content.
  • TV clients are able to bring web contents such as photo and video contents stored locally on the network to the TV.
  • the video and photos may be visualised as different programs in a TV. This content will be referred to as "assets”.
  • content or assets may be added by individual users or commercial providers of content or any other suitable provider.
  • the content which may be put into a channel may take any suitable form such as photo, video, films, advertisements or the like. There may some ability to fast forward or rewind a channel.
  • Figure 1 shows an architecture in which embodiments may be provided.
  • a user domain is referenced 18.
  • the user is provided with a display 20.
  • This display will display an electronic program guide for ⁇ one or more channels.
  • the channels may be broadcast channels or channels which are available via the Internet or the like.
  • a set top box 22 Associated with the display is a set top box 22.
  • the set top box and display may be integrated.
  • the set top box 22 may be configured to receive both broadcast channels and channels which are available via the Internet or the like.
  • the set top box may be omitted and a user will view programs via the Internet or the like.
  • Some embodiments use a TV set (or display) and a Set-Top Box connected to a DSL or fibre network that is able to carry the service. It should be noted that the service itself may run on any kind of suitable data connection and with any kind of electronic device (or set of electronic devices) able to display digital video.
  • a remote control 23 is provided.
  • the remote control is able to control the set top box to control the content displayed by the display.
  • a user may have a computer 2 .
  • the computer may be any suitable device, such as PC, laptop, note book, tablet or even a communications device such as mobile phone, smart phone or personal digital assistant.
  • the user may use the computer to create a channel and/or update a channel. This will be described in more detail later.
  • the computer 24 may additionally or alternatively provide the functionality of the set top box.
  • the computer 24 may in some embodiments also be connected to the display.
  • the computer 24 may provide at least some of the channels which are available via the Internet or the like.
  • a communications network 25 may be provided.
  • the communications network may be the Internet. However, alternatively or additionally, the communications network may take any other suitable form.
  • the communications network may be at least partially wireless .
  • the communications network 25 provides communication between the user domain 18 (comprising the display 20, remote control 23, set top box 22 and computer 24) on the one hand and a service provider domain 16 on the other hand.
  • the service provider domain will be described in more detail below.
  • the service provider domain comprises an Electronic Program Guide EPG entity 28.
  • the EPG entity may comprise one or more servers.
  • the EPG stores the EPG for a plurality of channels. This EPG will store an EPG for a channel produced by a user, in some embodiments, more than one EPG server is provided, with different servers having EPGs for different groups of channels.
  • the groups of channels may be distinct or may overlap at least partially.
  • a subscriber database server 28 stores subscriber information such as which channels the subscriber is permitted to view and/or modify.
  • At least one media storage server 30 is provided to store user content which in the following is referred to as "asset”.
  • This user content or asset may comprise videos, photos are the like.
  • this media storage server stores multiple representations of the same asset which are generated and stored in pre-rendered formats for each device category (desktop PC, mobile, set top box, etc.).
  • the representations are identified by a unique identifier that references the representations as a unified set derived from the same original asset.
  • representations are spread across the a plurality of media storage servers using a set of hashing techniques, in combination with a set of caching algorithms that speed up access to more "popular" media.
  • the media storage server may be accessible via a standards-based API (application programming interface) that is independent of the assets, their pre- rendered representations, and the end devices onto which those representations are to be viewed.
  • At least one media transcoder 32 is provided.
  • the media transcoder has software arranged in a pluggable architecture with open-ended support for multiple audio and video media formats.
  • the transcoding may be invoked automatically by the media storage server 30 to pre-render multiple representations of an asset or dynamically by a front-end server 26 in order to provide a dynamically updated, real-time conversion of an asset as a live stream.
  • At least one temporary data server 34 is provided for storing assets or content down loaded by a user, prior to the transcoding of that data and storing of the transcoded data in the media storage server.
  • the media transcoder 32 may have one or more the following features:
  • Codec-agnostic transcoding support to allow for conversion between any current and future media formats that are enabled.
  • a media catalogue functionality may be provided by one or more controller servers 40. This functionality is a metadata overlay that matches each subscriber to the assets they uploaded to the media storage data store and provides the core data model that defines the relationships between users, assets and channels.
  • the media catalogue functionality may have one or more of the following features: Open-ended schema to support flexible metadata.
  • Real-time indexing of all the assets related to a channel and their respective metadata Support for live queries to support real-time propagation of EPG changes to customers.
  • Scalable distributed architecture to support asset tracking and retrieval in the range of millions of instances and tens of millions of inter-entity relationships .
  • the media catalogue is directly tied to the front-end components and provides most of the services associated with both EPG editing and channel viewing on any kind of end-user device.
  • At least one front end server 26 is provided to store a cached version of at least a part of an EPG for one or more users.
  • At least one streaming server 36 is configured to stream a channel to one or more users.
  • each entity may alternatively be implemented by two or more servers.
  • two or more of the entities may be provided by common server functionality in the form of one or more servers.
  • one or more servers may be provided by any other suitable functionality.
  • step SI an author uploads media assets to the temporary data store server 34 from the computer 24 via the communications network 25.
  • step S2 the media assets are automatically converted by the transcoding server 32 into a set of standard representations using appropriate codecs for supporting the most common devices supported by the system. Multiple representations of each asset are stored as a single set in the media storage server 30.
  • the channel author creates a channel.
  • the channel may be created by obtaining a channel number and providing a human readable representation of the channel using text and static images. This may be using the computer 24 via for example a website.
  • the subscribers choose to create a channel with pin (private) or a public channel (any client can view it) .
  • the channel name and number will be defined.
  • a user may choose a channel logo, insert a description, tags and the category (for example lifestyle, sport, health, corporate or the like) .
  • step S4 the channel author will then schedule the media assets on a real-time electronic program guide EPG by manipulating a visual representation of the channel time line on his/her computer.
  • the real time EPG may be hosted by a website.
  • One example of such a visual representation is shown in Figure 5.
  • a view of the screen 50 displayed is shown.
  • the visual representation of the channel time line may be rendered inside a web browser using for example HTML technology.
  • the author may manipulate the assets by dragging and dropping them from a catalogue view 52 into the time line 54 itself.
  • step S5 the insertion of an asset into the time line creates an entry in a real-time dynamic database.
  • the realtime dynamic database is the real-time EPG server 28 which is available to the entire platform and stored in the EPG server.
  • the timeline editor is a visual component that provides interactive real-time manipulation of a channel timeline with automatic arrangement of visual blocks depicting assets.
  • the channel timeline editor may provide a dynamically zoomable grid that allows a user to view a timeline in arbitrary scaling factors that correspond to temporal resolution (e.g. seconds, hours, etc.).
  • the time line editor may allow for arbitrary placement of visual representations of assets onto the grid. These visual representations consist of arbitrarily shaped blocks (usually simplified into rectangles, but not limited to such) that accurately depict the asset's duration into the current scaling factor.
  • the time line editor may allow for optional rendering of still image thumbnails of assets inside their main representations, as well as arbitrary metadata (name, duration, category, etc.). This extra information may be automatically displayed or hidden depending on available space at the current scaling factor to improve the user experience.
  • An asset manager (provided by for example the EPG server) may provide a visual component that provides graphical management of uploaded assets and associated metadata. Using the asset manager, authors can do one or more of the following:
  • the asset manager is an HTML web site that adds the following distinguishing characteristics:
  • step S6 the channel author then publishes the channel. This makes it viewable via other subscribers or the like.
  • the channel author can announce the channel availability through any suitable mechanism such as conventional or social media.
  • authors can create, amend or delete their channels and set access levels and the effect is propagated to viewers in real time (i.e., a channel will be published, removed or renamed instantly to all users) .
  • the authors may edit channel metadata and imagery (logo, keywords, adult rating, privacy settings, etc.).
  • the channel may be published on social networks by automatically publishing a precis of the channel information and/or EPG data.
  • An author may set a PIN code to restrict access to a channel (to all users or to a designated subset of viewers) .
  • Viewers may be invited to watch a channel (via social networks, e-mail or SMS) by sending them a short description of how to access the channel and the PIN code' Alternatively or additionally this information may be provided on a website.
  • a "Click-to- Call" number may be provided via which a channel author can be reached. It should be appreciated that alternatively or additionally there may be other controllers of the channel, other than the author which are able to make changes to the channel.
  • figure 3 shows the method flow for viewing of a channel.
  • a subscriber accesses a service by pressing for example a dedicated button on his or her set top box remote control 24. This displays an on-screen prompt or menu. The user will then input or select the desired channel making the client device tune into a channel.
  • the client device can be any suitable receiver such as a set top box 22 or television device with inbuilt receiver. Alternatively the user may access a channel via the Internet or the like.
  • step T2 the client device tunes into a channel by issuing play list requests to one or more front end servers 26 via the communications network.
  • Each request will contain a device ID (the ID of the device making the request) , the ID associated with the subscriber and the requested channel ID or channel number.
  • the channel In the case of the channel being accessed via the Internet, the channel will be selected by the user and a request will be sent to the one or more front end servers .
  • step T3 the front end server 26 validates the subscriber ID against the subscriber database server and uses the channel ID to query the ' real-time electronic program device in order to obtain a play list for the channel .
  • step T4 the real-time EPG returns the current channel information which is then cached locally on the front end servers.
  • Each play list contains a full description of the assets that it comprises. The information comprises for example the asset identity, the asset duration and human readable metadata (for example a title and/or description) . There is also a time base for synchronising the client devices.
  • each client device parses the play list for the channel it is "tuned to" and contacts the streaming server 36 to start play back of the first asset ID from the current time offset.
  • the playback request may contain the asset ID to be played.
  • each play back request also contains the device ID. This is for the selection of suitable video stream.
  • the play back request also comprises the subscriber ID for access control. This request is returned to the streaming server 36.
  • a validator of the streaming server validates the asset ID (against the media storage) , the channel ID (against the EPG) and the subscriber ID (against the subscriber database) and hands over the request to streaming worker of the streaming server.
  • the streaming worker takes the device ID and asset ID and selects from the asset catalogue of the media storage server 30 a suitable video stream format for the client. In some embodiments, if there is no suitable representation, the streaming worker selects the closest video format and splices a transcoding sub-process to render the stream in real-time and signals the media storage server to store the new format.
  • Step T8 if a client device wishes to initial play back from a specific time offset, the streaming worker then analyses the raw video data stream, computes the difference between the time offset and the actual length of the asset, splices the raw video stream at the video key frame that is nearest to the required offset and synthesises a video stream header that represents the stream from that point onwards.
  • the original video stream is shown referenced 14 with an original header 17. 19 represents the desired time offset.
  • Reference 15 shows the video key frame that is nearest to the required offset referenced 19. This is used to synthesise a new header referenced 12 which represents the stream from that point onwards.
  • Some embodiments may provide non-sequential random access to a channel based on arbitrary time offsets. This allows viewers to "tune in” to a scheduled programming channel and accurately simulate simultaneous viewing of the same channel by multiple viewers.
  • the dynamic splicing technique discussed previously computes the equivalent frame number inside the asset to be viewed immediately as part of the "tuning in” process and synthesizes a valid video header. This header is then dynamically inserted into the digital video stream sent to the user device, simulating a standard video file that would start at the time offset the viewer "tuned in”. This approach may allow emulation of full random access (skipping, forward, rewind, etc.) for any type of device, regardless of the device's degree of streaming support.
  • Some embodiments may employ time offsets with a per-second granularity to match human interaction requirements, but can attain frame-level precision (l/25 th of a second for PAL standard video) .
  • the streaming worker then sends a synthesised video stream header to the client device and follows seamlessly with the video stream from the spliced point onwards.
  • the splicing technique described previously may be used to enable dynamic, profiled insertion of video advertising at arbitrary points while viewing the stream.
  • FIG 4 shows a method for real-time EPG updates whilst a program is being viewed.
  • Figure 4 should be considered in conjunction with Figures 7 and 8.
  • An author may decide to update a channel's EPG 50 while it is being viewed by any number of client devices.
  • the author inserts or removes the media asset 70 from the "current" time in a channel.
  • the user selects an option to have the changes instantly applied to all viewers. This may be for example clicking on an apply button. This may be done via the web hosted time line editor which is provided by the EPG server.
  • the time line editor (at the EPG server) analyses the visual representation of the time line and synthesises an update of the changes to the real-time EPG on the EPG server.
  • the real-time EPG server sends a channel update event 72 to all front end servers 26.
  • the channel updated event 72 may be a push notification to the front end servers.
  • step A4 all front end servers check if any of the currently connected client devices are affected by it. In other words, a front end server will check if the changed selections in the EPG are being played by a device. The front end servers will also invalidate the cached play lists .
  • step A5 if there was a deletion with a new asset to replace the deletion.
  • the front end servers then push to each client a notification packet 74 (see Figure 7) containing the new asset ID and a time offset at which to begin playing it from the current moment onwards. This may use the splicing technique described previously.
  • a user device may be made aware of a new asset ID prior to or at the same time as becoming aware that the currently played asset is invalid due to the changes to the channel.
  • the user device may provide a request to the streaming sever 36 with the new asset ID and/or time information. In this manner, in some embodiments, the user device may seamlessly move from playing the old asset to the new asset. It will be appreciated that the playlist information cached at the front end server is updated accordingly.
  • step A6 the front end servers push a test card image and/or text message and/or any other suitable notification to the client devices to indicate that the asset has been removed and that viewing will resume at a particular time (optionally of the next asset) .
  • the form of this message may be a visual message and/or an audio message.
  • a user device may be made aware of the notification prior to or at the same time as becoming aware that the currently played asset is invalid due to the changes to the channel.
  • the notification may then be displayed to a user immediately without the user device having to request an updated playlist from the EPG server in response to detecting that the currently viewed asset is invalid. It will be appreciated that the playlist information cached at the front end server is updated accordingly.
  • step A7 In the case that the real-time EPG is updated by inserted assets after the current viewing time the next step will be step A7. (Shown in Figure 8) In this method, the viewing experience is not disturbed and updates are still reliably delivered to the player when required.
  • step A7 if no connected client devices are affected at the present time, the front end servers process the update from the real-time EPG and refresh the play list caches 75 accordingly.
  • step 7A8 a few fractions of a second before each asset finishes playing, the client device queries the front end server 26 to check if the next asset in still valid .
  • step A9 the front end server then checks its cache 75 and responds with the next asset ID 76 in that channel play list within a fraction of the time a full play list request will take.
  • step ⁇ 10 the client device then requests the next asset ID from the streaming servers and continues playing the channel.
  • the caching intervals and "read ahead" checks on the channel play list are measured in hundreds of milliseconds thus ensuring uninterrupted viewing .
  • the channels are listed in an EPG on for example a set top box which displays channel listings or on a computer.
  • a viewable has. direct access to a channel by using a remote control and for example a channel number.
  • the user can click in the fast- forward/backward buttons to go to the next /previous programs .
  • Channel producers may be individual users or distance customers and may have different service levels in terms of content length etc.
  • the channel producers can assemble an EPG out of uploaded or preloaded media and promote their channel on for example social networks or in any other suitable way.
  • channels can be accessed by viewers.
  • a subscriber in some embodiments may be an author and/or a viewer.
  • an asset can be any piece of content.
  • an asset may be still image, accompanying video or video or any suitable piece of content.
  • a channel comprises a set of access published by for example a subscriber.
  • the channels can be dynamic play lists or schedule programming.
  • the channel may have a dynamic set of visual and textual data metadata associated with it.
  • a dynamic set of visual and textual data metadata may comprise one or more of a name, short name, description, contact information for the author, tags- keyword for classification, channel logo which may be high resolution and/or lower resolution.
  • Both types of channels may be editable in realtime.
  • a dynamic play list will, by default, be watched from the very beginning regardless of the time a viewer tunes in.
  • a channel with scheduled programming will display the current assets starting at the correct so as to emulate the experience of simultaneous viewing typical of a standard TV.
  • At least some of the functions of the methods may be provided by one or more computer executable instructions which when run on one more processor or the like carry out one or more of the method steps shown.
  • the required data processing apparatus and functions of the various devices shown may be provided by means of one or more data processors.
  • the described functions may be provided by separate processors or by an integrated processor.
  • the data processors may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) , application specific integrated circuits (ASIC) , gate level circuits and processors based on multi core processor architecture, as non limiting examples.
  • the data processing may be distributed across several data processing modules.
  • a data processor may be provided by means of, for example, at least one chip. Appropriate memory capacity can also be provided in the relevant devices.
  • the memory or memories may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory.
  • the various embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the invention is not limited thereto. While various aspects of the invention may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
  • the software may be stored on such physical media as memory chips, or memory blocks implemented within the processor, magnetic media such as hard disk or floppy disks, and optical media such as for example DVD and the data variants thereof, CD.

Abstract

A method and apparatus are provided in which information on a change to an item of a channel is received. It is determined whether the item is being played by one or more user devices. If said item is being played by one or more user devices a message is caused to be sent to said at least one or more user devices. The message comprises one of: identity information associated with said new item; and information indicating that the currently viewed item is not available.

Description

DESCRIPTION
METHOD AND APPARATUS FOR ALLOWING CHANNELS TO BE CHANGED Embodiments of the present invention relate to a method and apparatus and in particular but not exclusively for allowing channels to be changed.
Television (TV) services are moving toward a convergence between traditional television and the Internet. In particular, converged communication systems in the home have the TV as the main network device for integrated content searches, delivery and consumption. Online content from the Internet is delivered to the TV. Thus, TV users can search, tune, choose and consume Internet content using a TV, a remote control and a set top box.
According to an aspect, there is provided a method comprising: receiving information on a change to an item of a channel; and determining if an item on said channel which is changed is being played by one or more user devices to determine if action is to be taken in response to said information.
The method may comprise determining if one or more user devices are playing said channel. A channel may be played by viewing visual content and/or listening to audio content.
The channel may be a broadcast channel or a channel available via the Internet.
If said item which is being changed is being played by one or more user devices, the method may comprise causing a message to be sent to said at least one or more user devices.
The message may comprise time information to cause said at least one user device to start playing a new item in said channel in accordance with said time information, where said new item replaces a currently viewed asset.
The new item may be different to the item being viewed, may be an updated version of the item which is being played or may be an insertion to the current played item. The insertion may be an advertisement or a message.
The time information may comprise time offset information .
The information may comprise identity information associated with said new item. The message may comprise information indicating that the currently viewed item is not available.
The message may indicate that said currently played item has been removed.
The method may comprise, if a changed or deleted item on said channel is after the currently played item, processing said received information such that updated playlist information is stored.
The method may comprise responsive to receiving said information, deleting or invalidating currently stored playlist information for said channel.
The method may comprise responsive to receiving said channel change information, updating or storing playlist information. The method may comprise comparing a time associated with said change with a current viewing time to determine if said item which is being changed is being played by one or more user devices. The method may be performed in one or more service provider entities. The service provider entities may comprise one or more servers. The method may be performed by an apparatus which is provided in one or more service provider entities. The apparatus may comprise one or more data processors which operate in conjunction with one or more memories .
According to another aspect, there is provided a method comprising: causing an item on a channel to be played; and receiving a notification with new channel item information, said new channel item to replace said currently played item and time information to control playing of said new item.
According to another aspect, there is provided a method comprising: causing an item on a channel to be played; and receiving a notification that said item is not longer available.
The method may be performed in one or more user devices. The method may be performed by an apparatus which is provided in one or more user devices. The apparatus may comprise one or more data processors which operate in conjunction with one or more memories
According to another aspect, there is provided a computer program comprising computer executable instructions which when run cause any of the methods above to be performed.
According to another aspect, there is provided an apparatus comprising: means for receiving information on a change to an item of a channel; and means for -determining if an item on said channel which is changed is being played by one or more user devices to determine if action is to be taken in response to said information One or more service provider entities may comprise the apparatus. One or more service provider entities may comprise a server.
According to another aspect, there is provided an apparatus comprising: means for causing a channel to be played; and means for receiving a notification, said notification comprising a new channel item information and time information to control playing of said new item or information indicating a channel item is no longer available.
A user device may comprise the apparatus.
According to a further aspect, there is provided a method comprising: receiving information on a change to an item of a channel; and determining if the item is being played by one or more user devices; and if said item is being played by one or more user devices, causing a message to be sent to said at least one or more user devices, the message comprising one of: identity information associated with said new item; and information indicating that the currently viewed item is not available. Causing the message to be sent may comprise pushing a notification to the at least one or more user devices . Receiving the information may comprise receiving a push notification from an electronic program guide server.
The push notification from the electronic program guide server may be received in response to an author of the channel changing the item of the channel.
According to a further aspect, there is provided a method comprising: causing an item on a channel to be played; and receiving a message comprising one of: identity information associated with a new item to replace the currently played item; and information indicating that the currently played item is not available. According to a further aspect, there is provided an apparatus comprising: means for receiving information on a change to an item of a channel; and means for determining if an item on said channel which is changed is being played by one or more user devices; and if said item is being played by one or more user devices, means for causing a message to be sent to said at least one or more user devices, the message comprising one of: identity information associated with said new item; and information indicating that the currently viewed item is not available. According to a further aspect, there is provided an apparatus comprising: means for causing a channel to be played; and means for receiving a message comprising one of: identity information associated with a new item to replace the currently played item; and information indicating that the currently played item is not available. Some embodiments will now be described by way of example only and with reference to the accompanying drawings in which :
Figure 1 shows an architecture in which embodiments may be provided;
Figure 2 shows a method flow for channel creation;
Figure 3 shows a method flow for channel viewing:
Figure 4 shows a method for updating an electronic program guide (EPG) ;
Figure 5 shows a visual representation of a channel time line;
Figure 6 schematically illustrates initial play back from a specific time offset;
Figure 7 shows schematically the components for updating the EPG when the program being updated is viewed; and
Figure 8 shows a schematically the components for updating the EPG when the program being updated is after a current viewing time.
Embodiments may allow the creation, managing and/or sharing of personal content in a TV experience. In~~ some embodiments, a method is provided to allow subscribers for example of a TV service to create a play list with their contents (assets) organise them and share them with other subscribers and/or with a community. Generally, there is a long term trend towards convergence between traditional TV services and the Internet. Some features of this trend are personalised viewing, content portability, consumption that combines broadcast, personal and web content, new image distribution solutions and networks and a growing role of the device as the placement of content is aggregated.
In particular, one technically complex problem relates to the distribution of content.
In some embodiments, TV clients are able to bring web contents such as photo and video contents stored locally on the network to the TV. The video and photos may be visualised as different programs in a TV. This content will be referred to as "assets".
It should be appreciated that the content or assets may be added by individual users or commercial providers of content or any other suitable provider.
The content which may be put into a channel may take any suitable form such as photo, video, films, advertisements or the like. There may some ability to fast forward or rewind a channel. Reference is now made to Figure 1 which shows an architecture in which embodiments may be provided.
A user domain is referenced 18. The user is provided with a display 20. This display will display an electronic program guide for ■ one or more channels. The channels may be broadcast channels or channels which are available via the Internet or the like.
Associated with the display is a set top box 22. In some embodiments, the set top box and display may be integrated. In some embodiments, the set top box 22 may be configured to receive both broadcast channels and channels which are available via the Internet or the like. In some embodiments, the set top box may be omitted and a user will view programs via the Internet or the like. Some embodiments use a TV set (or display) and a Set-Top Box connected to a DSL or fibre network that is able to carry the service. It should be noted that the service itself may run on any kind of suitable data connection and with any kind of electronic device (or set of electronic devices) able to display digital video.
A remote control 23 is provided. The remote control is able to control the set top box to control the content displayed by the display.
A user may have a computer 2 . The computer may be any suitable device, such as PC, laptop, note book, tablet or even a communications device such as mobile phone, smart phone or personal digital assistant.
The user may use the computer to create a channel and/or update a channel. This will be described in more detail later.
The computer 24 may additionally or alternatively provide the functionality of the set top box.
The computer 24 may in some embodiments also be connected to the display.
In some embodiments the computer 24 may provide at least some of the channels which are available via the Internet or the like.
A communications network 25 may be provided. In some embodiments, the communications network may be the Internet. However, alternatively or additionally, the communications network may take any other suitable form. The communications network may be at least partially wireless . The communications network 25 provides communication between the user domain 18 (comprising the display 20, remote control 23, set top box 22 and computer 24) on the one hand and a service provider domain 16 on the other hand. The service provider domain will be described in more detail below.
The service provider domain comprises an Electronic Program Guide EPG entity 28. The EPG entity may comprise one or more servers. The EPG stores the EPG for a plurality of channels. This EPG will store an EPG for a channel produced by a user, in some embodiments, more than one EPG server is provided, with different servers having EPGs for different groups of channels. The groups of channels may be distinct or may overlap at least partially.
A subscriber database server 28 stores subscriber information such as which channels the subscriber is permitted to view and/or modify.
At least one media storage server 30 is provided to store user content which in the following is referred to as "asset". This user content or asset may comprise videos, photos are the like. As will be described in more detail later, this media storage server stores multiple representations of the same asset which are generated and stored in pre-rendered formats for each device category (desktop PC, mobile, set top box, etc.). The representations are identified by a unique identifier that references the representations as a unified set derived from the same original asset. In some embodiments, to ensure uniform load across the system, representations are spread across the a plurality of media storage servers using a set of hashing techniques, in combination with a set of caching algorithms that speed up access to more "popular" media. The media storage server may be accessible via a standards-based API (application programming interface) that is independent of the assets, their pre- rendered representations, and the end devices onto which those representations are to be viewed.
At least one media transcoder 32 is provided. The media transcoder has software arranged in a pluggable architecture with open-ended support for multiple audio and video media formats. The transcoding may be invoked automatically by the media storage server 30 to pre-render multiple representations of an asset or dynamically by a front-end server 26 in order to provide a dynamically updated, real-time conversion of an asset as a live stream.
At least one temporary data server 34 is provided for storing assets or content down loaded by a user, prior to the transcoding of that data and storing of the transcoded data in the media storage server.
In some embodiment to provide flexible, open- ended support for a variety of end-user devices, the media transcoder 32 may have one or more the following features:
Codec-agnostic transcoding support, to allow for conversion between any current and future media formats that are enabled. Support for an unlimited number of encoding profile templates for broad device classes.
Support for multiple encoding queues, to allow for parallel processing of transcoding jobs.
Support for distribution of current jobs across an arbitrary number of servers. Support for "pinning" specific queues or jobs to specific servers, to allow for distinct turnaround times and classes of service for distinct customers.
Ability to override encoding profiles on a per- device, per-user and/or per-job basis, allowing for the creation of short-lived virtual encoding queues targeting specific cases.
Automatic testing and re-queuing of "bad" input files until they can be transcoded into a valid profile via down sampling or changing other video attributes.
Ability to prioritize assets in a queue, providing distinct turnaround times and classes of service to distinct customers by transcoding some assets faster than others .
Support for automated batch transcoding of assets into multiple pre-defined formats. Support for streaming of "virtual" assets in a point-to-multipoint configuration in real time over several digital video transport technologies (e.g. HTTP (hypertext transfer protocol) atop IP (Internet protocol) unicast, RTSP (real time streaming protocol) , IP multicast) .
Ability to do adaptive real-time transcoding of assets according to available end-user bandwidth, to allow for unreliable connections.
A media catalogue functionality may be provided by one or more controller servers 40. This functionality is a metadata overlay that matches each subscriber to the assets they uploaded to the media storage data store and provides the core data model that defines the relationships between users, assets and channels. In some embodiment, the media catalogue functionality may have one or more of the following features: Open-ended schema to support flexible metadata.
Real-time indexing of all the assets related to a channel and their respective metadata. Support for live queries to support real-time propagation of EPG changes to customers.
Scalable, distributed architecture to support asset tracking and retrieval in the range of millions of instances and tens of millions of inter-entity relationships .
Non-blocking live insertions and updates to allow for real-time publishing of EPG changes via a standards- compliant API.
Media and device-agnostic.
The media catalogue is directly tied to the front-end components and provides most of the services associated with both EPG editing and channel viewing on any kind of end-user device.
At least one front end server 26 is provided to store a cached version of at least a part of an EPG for one or more users.
At least one streaming server 36 is configured to stream a channel to one or more users.
It should be appreciated that various entities have been described as servers. It should be appreciated that in some embodiments, each entity may alternatively be implemented by two or more servers. In some embodiments, two or more of the entities may be provided by common server functionality in the form of one or more servers. In some embodiments, one or more servers may be provided by any other suitable functionality.
Channel creation is now described with reference to the method flow of figure 2. In step SI, an author uploads media assets to the temporary data store server 34 from the computer 24 via the communications network 25.
In step S2, the media assets are automatically converted by the transcoding server 32 into a set of standard representations using appropriate codecs for supporting the most common devices supported by the system. Multiple representations of each asset are stored as a single set in the media storage server 30.
In step S3, the channel author creates a channel. The channel may be created by obtaining a channel number and providing a human readable representation of the channel using text and static images. This may be using the computer 24 via for example a website. The subscribers choose to create a channel with pin (private) or a public channel (any client can view it) . The channel name and number will be defined. A user may choose a channel logo, insert a description, tags and the category (for example lifestyle, sport, health, corporate or the like) .
In step S4, the channel author will then schedule the media assets on a real-time electronic program guide EPG by manipulating a visual representation of the channel time line on his/her computer. The real time EPG may be hosted by a website. One example of such a visual representation is shown in Figure 5. A view of the screen 50 displayed is shown. In one embodiment, the visual representation of the channel time line may be rendered inside a web browser using for example HTML technology. The author may manipulate the assets by dragging and dropping them from a catalogue view 52 into the time line 54 itself. In step S5, the insertion of an asset into the time line creates an entry in a real-time dynamic database. The realtime dynamic database is the real-time EPG server 28 which is available to the entire platform and stored in the EPG server. The timeline editor is a visual component that provides interactive real-time manipulation of a channel timeline with automatic arrangement of visual blocks depicting assets. The channel timeline editor may provide a dynamically zoomable grid that allows a user to view a timeline in arbitrary scaling factors that correspond to temporal resolution (e.g. seconds, hours, etc.). The time line editor may allow for arbitrary placement of visual representations of assets onto the grid. These visual representations consist of arbitrarily shaped blocks (usually simplified into rectangles, but not limited to such) that accurately depict the asset's duration into the current scaling factor. The time line editor may allow for optional rendering of still image thumbnails of assets inside their main representations, as well as arbitrary metadata (name, duration, category, etc.). This extra information may be automatically displayed or hidden depending on available space at the current scaling factor to improve the user experience.
An asset manager (provided by for example the EPG server) may provide a visual component that provides graphical management of uploaded assets and associated metadata. Using the asset manager, authors can do one or more of the following:
Upload multiple photo or video assets.
Import multiple photo or video assets from external services
Edit arbitrary metadata for assets (name, tags, etc. ) .
Group assets into ordered or unordered sets to ease the task of publishing them onto a channel or creating a slideshow.
Preview transcoded assets in the format (s) that will be rendered by viewing devices to end-users.
View the status of assets current undergoing conversion or rendering (such as large files that require significant amounts of post-processing or photo slideshows) . In some embodiments, the asset manager is an HTML web site that adds the following distinguishing characteristics:
Standards-based display and interaction that will work seamlessly on any desktop browser.
Queued upload of assets for users on low- bandwidth connections . Instant removal of deleted assets from all channels that use it (and for example replacing it temporarily with a video loop mimicking a "test signal" that acts as a placeholder) . In step S6, the channel author then publishes the channel. This makes it viewable via other subscribers or the like. The channel author can announce the channel availability through any suitable mechanism such as conventional or social media.
In some embodiments, authors can create, amend or delete their channels and set access levels and the effect is propagated to viewers in real time (i.e., a channel will be published, removed or renamed instantly to all users) . The authors may edit channel metadata and imagery (logo, keywords, adult rating, privacy settings, etc.). The channel may be published on social networks by automatically publishing a precis of the channel information and/or EPG data. An author may set a PIN code to restrict access to a channel (to all users or to a designated subset of viewers) . Viewers may be invited to watch a channel (via social networks, e-mail or SMS) by sending them a short description of how to access the channel and the PIN code' Alternatively or additionally this information may be provided on a website. A "Click-to- Call" number may be provided via which a channel author can be reached. It should be appreciated that alternatively or additionally there may be other controllers of the channel, other than the author which are able to make changes to the channel.
Reference is made to figure 3 which shows the method flow for viewing of a channel.
In step Tl, a subscriber accesses a service by pressing for example a dedicated button on his or her set top box remote control 24. This displays an on-screen prompt or menu. The user will then input or select the desired channel making the client device tune into a channel. The client device can be any suitable receiver such as a set top box 22 or television device with inbuilt receiver. Alternatively the user may access a channel via the Internet or the like.
In step T2, the client device tunes into a channel by issuing play list requests to one or more front end servers 26 via the communications network. Each request will contain a device ID (the ID of the device making the request) , the ID associated with the subscriber and the requested channel ID or channel number. In the case of the channel being accessed via the Internet, the channel will be selected by the user and a request will be sent to the one or more front end servers .
In step T3, the front end server 26 validates the subscriber ID against the subscriber database server and uses the channel ID to query the' real-time electronic program device in order to obtain a play list for the channel .
In step T4, the real-time EPG returns the current channel information which is then cached locally on the front end servers. This makes is possible to format the list as for example an XML extensible markup language (or any other format) play list and return the data to the client devices within milliseconds. Each play list contains a full description of the assets that it comprises. The information comprises for example the asset identity, the asset duration and human readable metadata (for example a title and/or description) . There is also a time base for synchronising the client devices. In step T5, each client device then parses the play list for the channel it is "tuned to" and contacts the streaming server 36 to start play back of the first asset ID from the current time offset. The playback request may contain the asset ID to be played. Among other identifying data, each play back request also contains the device ID. This is for the selection of suitable video stream. The play back request also comprises the subscriber ID for access control. This request is returned to the streaming server 36.
In step T6, a validator of the streaming server validates the asset ID (against the media storage) , the channel ID (against the EPG) and the subscriber ID (against the subscriber database) and hands over the request to streaming worker of the streaming server.
In step T7, the streaming worker takes the device ID and asset ID and selects from the asset catalogue of the media storage server 30 a suitable video stream format for the client. In some embodiments, if there is no suitable representation, the streaming worker selects the closest video format and splices a transcoding sub-process to render the stream in real-time and signals the media storage server to store the new format.
In Step T8, if a client device wishes to initial play back from a specific time offset, the streaming worker then analyses the raw video data stream, computes the difference between the time offset and the actual length of the asset, splices the raw video stream at the video key frame that is nearest to the required offset and synthesises a video stream header that represents the stream from that point onwards. This can be seen in more detail in figure 6. The original video stream is shown referenced 14 with an original header 17. 19 represents the desired time offset. The difference between the time offset and the actual length of the asset referenced 13 is computed. Reference 15 shows the video key frame that is nearest to the required offset referenced 19. This is used to synthesise a new header referenced 12 which represents the stream from that point onwards. Some embodiments may provide non-sequential random access to a channel based on arbitrary time offsets. This allows viewers to "tune in" to a scheduled programming channel and accurately simulate simultaneous viewing of the same channel by multiple viewers. The dynamic splicing technique discussed previously computes the equivalent frame number inside the asset to be viewed immediately as part of the "tuning in" process and synthesizes a valid video header. This header is then dynamically inserted into the digital video stream sent to the user device, simulating a standard video file that would start at the time offset the viewer "tuned in". This approach may allow emulation of full random access (skipping, forward, rewind, etc.) for any type of device, regardless of the device's degree of streaming support. Some embodiments may employ time offsets with a per-second granularity to match human interaction requirements, but can attain frame-level precision (l/25th of a second for PAL standard video) . Returning to figure 3, in step T9, the streaming worker then sends a synthesised video stream header to the client device and follows seamlessly with the video stream from the spliced point onwards.
In some embodiments, the splicing technique described previously may be used to enable dynamic, profiled insertion of video advertising at arbitrary points while viewing the stream.
Reference is now made to figure 4 which shows a method for real-time EPG updates whilst a program is being viewed. Figure 4 should be considered in conjunction with Figures 7 and 8.
An author may decide to update a channel's EPG 50 while it is being viewed by any number of client devices. In step Al, the author inserts or removes the media asset 70 from the "current" time in a channel. The user selects an option to have the changes instantly applied to all viewers. This may be for example clicking on an apply button. This may be done via the web hosted time line editor which is provided by the EPG server. In step A2, the time line editor (at the EPG server) analyses the visual representation of the time line and synthesises an update of the changes to the real-time EPG on the EPG server. In step A3, the real-time EPG server sends a channel update event 72 to all front end servers 26. The channel updated event 72 may be a push notification to the front end servers.
In step A4, all front end servers check if any of the currently connected client devices are affected by it. In other words, a front end server will check if the changed selections in the EPG are being played by a device. The front end servers will also invalidate the cached play lists .
The next step is step A5, if there was a deletion with a new asset to replace the deletion. Depending of the capability of the client devices, the front end servers then push to each client a notification packet 74 (see Figure 7) containing the new asset ID and a time offset at which to begin playing it from the current moment onwards. This may use the splicing technique described previously.
In this case, a user device may be made aware of a new asset ID prior to or at the same time as becoming aware that the currently played asset is invalid due to the changes to the channel. In some embodiments, the user device may provide a request to the streaming sever 36 with the new asset ID and/or time information. In this manner, in some embodiments, the user device may seamlessly move from playing the old asset to the new asset. It will be appreciated that the playlist information cached at the front end server is updated accordingly.
If there is no replacement asset, then the next step is step A6. In this step, the front end servers push a test card image and/or text message and/or any other suitable notification to the client devices to indicate that the asset has been removed and that viewing will resume at a particular time (optionally of the next asset) . The form of this message may be a visual message and/or an audio message.
In this case, a user device may be made aware of the notification prior to or at the same time as becoming aware that the currently played asset is invalid due to the changes to the channel. The notification may then be displayed to a user immediately without the user device having to request an updated playlist from the EPG server in response to detecting that the currently viewed asset is invalid. It will be appreciated that the playlist information cached at the front end server is updated accordingly.
In the case that the real-time EPG is updated by inserted assets after the current viewing time the next step will be step A7. (Shown in Figure 8) In this method, the viewing experience is not disturbed and updates are still reliably delivered to the player when required. In step A7, if no connected client devices are affected at the present time, the front end servers process the update from the real-time EPG and refresh the play list caches 75 accordingly. In step 7A8, a few fractions of a second before each asset finishes playing, the client device queries the front end server 26 to check if the next asset in still valid . In step A9, the front end server then checks its cache 75 and responds with the next asset ID 76 in that channel play list within a fraction of the time a full play list request will take. In step Ά10, the client device then requests the next asset ID from the streaming servers and continues playing the channel.
In some embodiments, the caching intervals and "read ahead" checks on the channel play list are measured in hundreds of milliseconds thus ensuring uninterrupted viewing .
Hosted on a storage infrastructure which is managed by a web interface, the channels are listed in an EPG on for example a set top box which displays channel listings or on a computer. In some embodiments, a viewable has. direct access to a channel by using a remote control and for example a channel number. In some embodiments, where the channel is organised as a play list, the user can click in the fast- forward/backward buttons to go to the next /previous programs .
In embodiments, there are channel producers. Channel producers may be individual users or distance customers and may have different service levels in terms of content length etc. The channel producers can assemble an EPG out of uploaded or preloaded media and promote their channel on for example social networks or in any other suitable way.
These channels can be accessed by viewers. A subscriber in some embodiments may be an author and/or a viewer. In some embodiments, an asset can be any piece of content. For example, an asset may be still image, accompanying video or video or any suitable piece of content. A channel comprises a set of access published by for example a subscriber. In preferred embodiments, the channels can be dynamic play lists or schedule programming.
The channel may have a dynamic set of visual and textual data metadata associated with it. By way of example only, that may comprise one or more of a name, short name, description, contact information for the author, tags- keyword for classification, channel logo which may be high resolution and/or lower resolution. Both types of channels may be editable in realtime. A dynamic play list will, by default, be watched from the very beginning regardless of the time a viewer tunes in. A channel with scheduled programming will display the current assets starting at the correct so as to emulate the experience of simultaneous viewing typical of a standard TV.
In some embodiments, at least some of the functions of the methods may be provided by one or more computer executable instructions which when run on one more processor or the like carry out one or more of the method steps shown.
The required data processing apparatus and functions of the various devices shown may be provided by means of one or more data processors. The described functions may be provided by separate processors or by an integrated processor. The data processors may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) , application specific integrated circuits (ASIC) , gate level circuits and processors based on multi core processor architecture, as non limiting examples. The data processing may be distributed across several data processing modules. A data processor may be provided by means of, for example, at least one chip. Appropriate memory capacity can also be provided in the relevant devices. The memory or memories may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory.
In general, the various embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the invention is not limited thereto. While various aspects of the invention may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof. The software may be stored on such physical media as memory chips, or memory blocks implemented within the processor, magnetic media such as hard disk or floppy disks, and optical media such as for example DVD and the data variants thereof, CD.
The foregoing description has provided by way of exemplary and non-limiting examples a full and informative description of the exemplary embodiments of this invention. However, various modifications and adaptations may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings and the appended claims. However, all such and similar modifications of the teachings of this invention will still fall within the scope of this invention as defined in the appended claims.

Claims

1. A method comprising:
receiving information on a change to an item of a channel; and
determining if the item is being played by one or more user devices; andif said item is being played by one or more user devices, causing a message to be sent to said at least one or more user devices, the message comprising one of:
identity information associated with said new item; and
information indicating that the currently viewed item is not available.
2. The method of claim 1 wherein causing the message to be sent comprising pushing a notification to the at least one or more user devices.
3. The method of claim 1 wherein receiving the information comprises receiving a push notification from a electronic program guide server.
4. The method of claim 3 wherein push notification from the electronic program guide server is receiving in response to an author of the channel changing the item of the channel.
5. A method as claimed in claim 1, wherein said message further comprises time information to cause said at least one user device to start playing a new item in said channel in accordance with said time information, where said new item replaces a currently viewed asset.
6. A method as claimed in claim 5, wherein said time information comprise time offset information.
7. A method as claimed in claim 1, wherein if a changed or deleted item on said channel is after the currently played item, processing said received information such that updated playlist information is stored.
8. A method as claimed in any preceding claim, comprising responsive to receiving said information, deleting or invalidating currently stored playlist information for said channel .
9. A method as claimed in any preceding claim comprising responsive to receiving said channel change information, updating or storing playlist information.
10. A method as claimed in any preceding claim, comprising comparing a time associated with said change with a current viewing time to determine if said item which is being changed is being played by one or more user devices.
11. A method comprising: causing an item on a channel to be played; and receiving a message comprising one of:
identity information associated with a new item to replace the currently played item; and
information indicating that the currently played item is not available.
12. A computer program comprising computer executable instructions which when run cause the method of any one of the preceding claims to be performed.
13. An apparatus comprising:
means for receiving information on a change to an item of a channel; and
means for determining if an item on said channel which is changed is being played by one or more user devices; and if said item is being played by one or more user devices, means for causing a message to be sent to said at least one or more user devices, the message comprising one of:
identity information associated with said new item; and
information indicating that the currently viewed item is not available.
14. An apparatus comprising:
means for causing a channel to be played; and means for receiving a message comprising one of:
identity information associated with a new item to replace the currently played item; and
information indicating that the currently played item is not available.
PCT/PT2013/000007 2012-02-09 2013-02-08 Method and apparatus for allowing channels to be changed WO2013119133A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
BR112014019746A BR112014019746A8 (en) 2012-02-09 2013-02-08 METHOD AND APPARATUS FOR ALLOWING CHANNELS TO BE CHANGED
EP13709592.3A EP2813085A1 (en) 2012-02-09 2013-02-08 Method and apparatus for allowing channels to be changed

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PT106140A PT106140A (en) 2012-02-09 2012-02-09 PROCESS AND DEVICE
PT106140 2012-02-09

Publications (1)

Publication Number Publication Date
WO2013119133A1 true WO2013119133A1 (en) 2013-08-15

Family

ID=47884480

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/PT2013/000007 WO2013119133A1 (en) 2012-02-09 2013-02-08 Method and apparatus for allowing channels to be changed

Country Status (3)

Country Link
BR (1) BR112014019746A8 (en)
PT (1) PT106140A (en)
WO (1) WO2013119133A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015999A1 (en) * 2002-05-03 2004-01-22 Carlucci John B. Program storage, retrieval and management based on segmentation messages
EP1564995A2 (en) * 1999-11-23 2005-08-17 United Video Properties, Inc. Interactive television targeted message system
US20060174271A1 (en) * 2004-07-20 2006-08-03 Chen An M Methods and apparatus for providing program guide state information to a device
US20110055866A1 (en) * 2009-08-31 2011-03-03 At&T Intellectual Property I, Lp. Updating electronic programming guides with blackout data
EP2398249A2 (en) * 2006-01-16 2011-12-21 Nds Limited Management of dynamic program changes in DVB system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2056597A3 (en) * 2000-06-26 2009-07-08 NDS Limited Time shifted interactive television
US8111694B2 (en) * 2005-03-23 2012-02-07 Nokia Corporation Implicit signaling for split-toi for service guide
CN1946173A (en) * 2006-10-10 2007-04-11 华为技术有限公司 IPTV direct broadcast service control method, system and device
CN101127960B (en) * 2007-09-20 2011-05-11 中兴通讯股份有限公司 A system and method for differential update of electronic service guidance
US20100199341A1 (en) * 2009-02-02 2010-08-05 Telefonaktiebolaget Lm Ericsson (Publ) Methods, Subscriber Server, and User Equipment for Facilitating Service Provision

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1564995A2 (en) * 1999-11-23 2005-08-17 United Video Properties, Inc. Interactive television targeted message system
US20040015999A1 (en) * 2002-05-03 2004-01-22 Carlucci John B. Program storage, retrieval and management based on segmentation messages
US20060174271A1 (en) * 2004-07-20 2006-08-03 Chen An M Methods and apparatus for providing program guide state information to a device
EP2398249A2 (en) * 2006-01-16 2011-12-21 Nds Limited Management of dynamic program changes in DVB system
US20110055866A1 (en) * 2009-08-31 2011-03-03 At&T Intellectual Property I, Lp. Updating electronic programming guides with blackout data

Also Published As

Publication number Publication date
BR112014019746A2 (en) 2017-06-20
PT106140A (en) 2013-08-09
BR112014019746A8 (en) 2017-07-11

Similar Documents

Publication Publication Date Title
US11671645B2 (en) System and method for creating customized, multi-platform video programming
US9804668B2 (en) Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution
US10591984B2 (en) Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution
US10452250B2 (en) Method for associating media files with additional content
KR101635876B1 (en) Singular, collective and automated creation of a media guide for online content
US8713618B1 (en) Segmenting video based on timestamps in comments
US8825809B2 (en) Asset resolvable bookmarks
US20120070125A1 (en) Method and Apparatus for Scrub Preview Services
WO2018236451A1 (en) Dynamically adjustable electronic program guide
US11729434B2 (en) Methods and systems for dynamic routing of content using a static playlist manifest
JP2015527816A (en) Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocols
US9374630B1 (en) Linking additional content to a being-consumed video content item
WO2015160622A1 (en) Displaying content between loops of a looping media item
US10897643B2 (en) Content streaming platform with dynamically arranged media content
EP2813085A1 (en) Method and apparatus for allowing channels to be changed
WO2013119133A1 (en) Method and apparatus for allowing channels to be changed
KR101805302B1 (en) Apparatus and method for displaying multimedia contents
GB2479925A (en) System for providing metadata relating to media content
Verwaest et al. Television on a tablet: how tv will look like in the future and how to deal with professionally produced content

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13709592

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2013709592

Country of ref document: EP

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112014019746

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112014019746

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20140808