EP3443751A1 - Seamless switching from a linear to a personalized video stream - Google Patents

Seamless switching from a linear to a personalized video stream

Info

Publication number
EP3443751A1
EP3443751A1 EP16716562.0A EP16716562A EP3443751A1 EP 3443751 A1 EP3443751 A1 EP 3443751A1 EP 16716562 A EP16716562 A EP 16716562A EP 3443751 A1 EP3443751 A1 EP 3443751A1
Authority
EP
European Patent Office
Prior art keywords
video
client device
videos
stream
linear
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP16716562.0A
Other languages
German (de)
French (fr)
Inventor
Pieter Dirk VAN ZESSEN
Lucas Jules ANGELO
Nikita KOVALCHUK
Roman Ivanov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xite Networks Ip BV
Original Assignee
Xite Networks Ip BV
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 Xite Networks Ip BV filed Critical Xite Networks Ip BV
Publication of EP3443751A1 publication Critical patent/EP3443751A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/64Addressing
    • H04N21/6408Unicasting
    • 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/26258Content 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 generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication 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/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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4756End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for rating content, e.g. scoring a recommended movie
    • 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/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • 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/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
    • 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/64Addressing
    • H04N21/6405Multicasting
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • the present invention relates to video streaming. More specifically, the invention relates to a method for receiving video streams from a video server in a client device, a method for transmitting a personalized video stream from a video server to a client device, a client device, a video server, a video distribution system, and a computer program product.
  • Watching television typically involves linear streaming of a video stream from a head end system to a television set. To the end user this is a passive video viewing experience, meaning that the video content is received in the television set when turned on and no user interaction, other than changing channels, is possible. Receiving linear video streams is not restricted to television sets.
  • different kinds of network connected client devices such as television sets, smart phones, tablets, phablets, set-top boxes, notebooks and computers are capable of receiving linear video streams from a video server.
  • a linear video stream is broadcast and received by many client devices at the same time.
  • Video on-demand enables an interactive way of watching videos.
  • the end user chooses the videos to watch through a user interface.
  • a single video may be selected and received or multiple videos may be selected and streamed one after the other to the client device.
  • the kind of client devices can be the same as with linear streaming.
  • a smart television or a set-top box capable of running software applications may be used.
  • the present invention enables a client device to switch from a linear video stream to a personalized video stream such that the switch is seamless. I.e, the end user does not notice that the linear stream switches to the personalized stream, resulting in a consistent and good user experience while
  • a method for receiving video streams from a video server in a client device.
  • the video streams can comprise a sequence of videos in a binary data format.
  • the method can comprise receiving a linear video stream from the video server in the client device.
  • the method can further comprise receiving a switching signal from the video server in the client device.
  • the method can further comprise, in response to the switching signal, switching from receiving the linear video stream to receiving a personalized video stream from the video server in the client device.
  • the last video is a video that is being received in the linear video stream when the switching signal is received in the client device.
  • a seamless switch can be made from the linear video stream to the personalized video stream.
  • Client devices that do not support the personalized video stream may continue watch the linear video stream.
  • the embodiment of claim 2 advantageously enables optimal bandwidth usage through the networks involved in the transmission of the video streams.
  • the embodiment of claim 3 advantageously helps the client device to determine when to switch such that the switch is seamless .
  • the embodiment of claim 4 advantageously enables the data pattern to be detectable with minimal required
  • the embodiment of claim 5 advantageously enables the data pattern to be detectable without modifying the linear video stream.
  • the embodiment of claim 6 advantageously enables the switching moment to be determined more accurately.
  • the embodiment of claim 7 advantageously enables the switching moment to be determined even more accurately.
  • claims 8-10 advantageously enable the personalized video stream capabilities to be started only when potentially needed. Quickly changing between linear video streams (e.g. , zapping' using a remote control) will thus not result in the personalized video stream capabilities to start.
  • the embodiment of claim 11 advantageously enables remote control interaction for personalizing the personalized video stream.
  • the embodiment of claim 12 advantageously enables the selection of videos in the personalized video stream to be dependent on the user input.
  • a method for transmitting a personalized video stream from a video server to a client device.
  • the personalized video stream can comprise a sequence of videos in a binary data format.
  • the sequence of videos scheduled for transmission can be stored at the video server as a playlist .
  • the method can comprise
  • the method can further comprise changing one or more videos in the playlist in response to the video related user input and based on the scoring.
  • the indication of the video related user input can comprise one or more of: an indication of the user pressing a like button resulting in a higher scoring; an indication of the user pressing a x skip to next video' button within a predefined amount of time from the beginning of the video resulting in a lower scoring depending on the amount of time; and an indication of the user pressing a volume button resulting in a higher scoring m case of a volume up or a lower scoring m case of a volume down .
  • the embodiment of claim 14 advantageously enables a scoring not based on user input .
  • claims 15 and 17 advantageously enable a real time or near real time (i.e. before the current video finishes) updating of the playlist.
  • the embodiment of claim 16 advantageously enables a sophisticated ranking of videos and selection of videos based on this ranking.
  • the embodiment of claim 18 advantageously enables particular videos to be forced to watch.
  • a client device a video server and a video distribution system are proposed having one or more of the above described features.
  • a computer program product is proposed for performing the method as described above for the video server.
  • Fig. 1 shows a time sequence diagram of an exemplary embodiment of the invention
  • Fig. 2 shows a linear video stream of an exemplary embodiment of the invention
  • Fig. 3 shows a personalized video stream of an exemplary embodiment of the invention
  • Fig. 4 shows a time sequence diagram of an exemplary embodiment of the invention
  • Fig. 5 shows a time sequence diagram of an exemplary embodiment of the invention
  • Fig. 6 shows a network architecture of an exemplary embodiment of the invention
  • Fig. 7 shows a network architecture of an exemplary embodiment of the invention.
  • Personalized video streaming a video stream is streamed to the client device, as in linear streaming, but user interaction is possible to influence what videos are part of the video stream. Alternatively or additionally the end user may select videos as in video on-demand services, which videos will then be included in the personalized video stream.
  • Personalized video streams are typically unicast from a video server to a client device.
  • Personalized video streaming requires that the client device is capable of processing user input for selecting or influencing the videos in the personalized video stream. As not all client devices will be capable of such user interaction, the present invention enables receiving of a linear video stream first and only if the client device is capable of receiving personalized video streams the client device will switch to this mode of operation.
  • the older set-top boxes may be capable of receiving linear video streams only, while the newer set-top boxes are also capable of user interaction.
  • the end user will be able to watch a linear video stream and change channels to switch to other linear video streams, if applicable.
  • a newer set-top box initially operates as an older set-top box, i.e. it starts receiving the linear video stream. If a personalized video stream is available for the channel being watched, the set-top box can switch to the personalized video stream. According to the invention this switch is made seamless, i.e. there is no abrupt switch from the linear feed to the personalized feed but instead the video in the linear feed is received until it finishes and only then the switch is made. An end user watching the video stream may not even notice that the switch has been made.
  • Fig. 1 shows an exemplary embodiment of the invention wherein a seamless switch is made from a linear video stream to a personalized video stream.
  • Fig. 1 shows a time-sequence diagram with data being transmitted between a video server 10 and a client device 20. Initially the linear video stream ⁇ 1001 ⁇ is received in the client device 20, denoted as 101. The video server 10 in the backend controls the switching to the
  • a switching signal ⁇ 1002 ⁇ is transmitted to the client device 20, which is received as denoted 102.
  • the switching signal ⁇ 1002 ⁇ contains information that is used by the client device 20 to determine 103 when the last video to be displayed from the linear video stream
  • personalized video stream is received in the client device 20.
  • a data pattern may be included in the linear video stream.
  • the data pattern may be embedded in a video of the video stream, e.g. as a watermark within a video frame of a video channel or within an audio channel of the video.
  • An embedded data pattern requires the video server to be capable of inserting the data pattern into the video and the client device to extract the data pattern from the video again, which requires relatively high
  • the data pattern is transmitted as a data pattern P in between two videos of the video stream, as shown in Fig. 2.
  • the data pattern is invisible to the end user while the linear video stream is being displayed.
  • the boundaries may be detected through pattern recognition.
  • the video server 10 analyzed the videos, e.g. at predefined intervals of 1 or 2 seconds, for specific characteristics like saturation, black levels, volume levels, or any other characteristics that can be obtained from each video, and stores these characteristics as characteristics data prior to transmission of the video in the linear video stream.
  • the client device 20 also analyzes the linear video stream as it is received to generate received characteristics data.
  • the pattern data is defined to be the characteristic elements within the video that are obtainable through analyzing the video.
  • the characteristics data stored at the video server and the received characteristics data from the client device are then compared and matched to determine if the video has been received in the client device 20.
  • the comparison and matching is typically performed at the video server, possibly in a computer connected to the video server.
  • characteristics data is transmitted from the client device 20 to the video server 10.
  • FIG. 2 an exemplary linear video stream 1001 is shown containing a sequence of videos ⁇ V Ll , ... , V L] , ... , V Lk , ... ⁇ .
  • a data pattern P is included before video V L] , which will be the last video to be displayed on the client device. Note that after the switch the linear video stream continues to be broadcast and possibly received by other client devices.
  • the linear video stream may include a switching signal in the form of a data pattern before each video in the linear video stream.
  • the client device 20 may trigger the video server 10 that it can receive a personalized video stream.
  • the client device 20 detects the data pattern, e.g. the data pattern P shown in Fig. 2 or the characteristic elements within the video.
  • the client device 20 transmits a trigger signal ⁇ 2001 ⁇ to the video server 10, as denoted 107, which triggers the video server 10 to generate and transmit the switching signal ⁇ 1002 ⁇ to the client device 20.
  • the switching signal ⁇ 1002 ⁇ may be in any format, such as a binary coded message, XML message, HTTP request or json message.
  • the switching signal ⁇ 1002 ⁇ may include timing data indicative of when the last video V L] finishes. Examples of timing data are an absolute time at which to switch or a timer value which has to lapse before switching.
  • Timers for acquiring the current time in the video server 10 and in the client device 20 may be out of sync, in which case the timing data as described above may result in an incorrect moment of switching to the linear video stream ⁇ 1003 ⁇ .
  • the client device 20 may include a time stamp in the trigger signal ⁇ 2001 ⁇ indicative of the time of receipt of the data pattern in the client device 20, thus indicative of the start time of the last video V L] at the client device 20.
  • the trigger signal ⁇ 2001 ⁇ includes the received characteristics data as obtained in the client device 20, from which the video server 10 can derive the start time of the last video V L] at the client device 20.
  • the video server 10 knows the start time of the last video as transmitted to the client device 20 and compares this start time with the start time as received from the client device 10 to determine a time offset. Furthermore, any delays caused by the transmission path in between the video server 10 and client device 20 are accounted for in the time offset.
  • the processing of the switching signal ⁇ 1002 ⁇ , the capability of receiving the personalized video stream ⁇ 1003 ⁇ and the detection of the data pattern P are typically implemented in a software application, computer program or app running on the client device. This software application may be started
  • the software application may be started in response to an instruction thereto from the end user, denoted 109, e.g. by pressing a button on the client device 20 or on a remote control 30 controlling the client device 20.
  • An important feature of personalized video streaming is the capability of receiving user input that influence which videos are included in the personalized video stream.
  • User interaction may be enabled directly on the client device, e.g. through buttons, keyboard or touch screen, and/or using a remote control device.
  • an exemplary remote control device 30 is used to give video related user input ⁇ 3001 ⁇ to the client device 20.
  • Video related user input ⁇ 3001 ⁇ is user input that is related to the current video being received and displayed.
  • Fig. 3 shows an exemplary personalized video stream 1003 containing a sequence of videos ⁇ V Pl , ... , V P] , ... , V Pk , ... ⁇ .
  • video V P] is the current video being received.
  • the end user may indicate whether he or she likes the current video or not.
  • the user may operate a like button.
  • buttons such as the like button may be physical buttons or a software implemented buttons displayed on a display.
  • the user pressing a x skip to next video' button within a predefined amount of time from the beginning of the video can be indicative of not liking the video.
  • the user pressing a volume button can be indicative of liking the video in case of a volume up or disliking the video in case of a volume down .
  • the video related user input ⁇ 3001 ⁇ is received in the client device, as denoted 110 in Fig. 4.
  • An indication ⁇ 2002 ⁇ of the video related user input e.g. in the form of a binary coded, XML, HTTP or json message, is transmitted to the video server in step 111.
  • the video server 10 changes one or more videos in the personalized video stream and
  • FIG. 6 and Fig. 7 show an exemplary, simplified video distribution system 40, wherein a video server 10 broadcasts a linear video stream ⁇ 1001 ⁇ to a plurality of client devices 20- 21 via a data network 40. Note that there can many client devices, possibly millions. After switching to the personalized video stream ⁇ 1003 ⁇ , client device 20 only receives the
  • the video server 10 selects the videos in the personalized video stream based on the video related user input.
  • the available videos at the video server are scored, which means that ranking points are assigned to the videos for each user.
  • the video server 10 may be implemented as a cluster of servers and/or a plurality of servers with different functions. One or more of the servers may be implemented in a cloud environment.
  • the videos in the personalized video stream are typically prepared in the video server 10 as playlists.
  • the user interaction indicative of liking or disliking of videos results in the videos getting a different score.
  • the selection and changing of the videos in the playlist is based on the scoring of the videos for the current user. For example: the indication of the user pressing a like button typically results in a higher scoring; an indication of the user pressing a x skip to next video' button within a predefined amount of time from the beginning of the video typically results in a lower scoring depending on the amount of time; and an indication of the user pressing a volume button typically results in a higher scoring in case of a volume up or a lower scoring in case of a volume down.
  • all available videos at the video server 10 are be ranked.
  • the ranking typically takes into account the scores and weight factors assigned to the videos.
  • the weight factors are used to give particular videos a higher or lower ranking, e.g. based on general popularity of a video.
  • the weight factors can be related to specific meta data to enable successive videos in the playlist to have commonalities based on the meta data by taking into account the weight factors.
  • the scoring that is stored with each song for the current user may be multiplied or added with the weight factors, depending on the logic, to determine the ranking of each video.
  • One or more of the highest ranked videos can then be selected for inclusion in the playlist.
  • Separation rules may be applied to videos, e.g.
  • videos can be separated by a predefined amount of time depending on the user interaction and depending on meta data fields.
  • Groups of related videos may be defined. These videos may be related based on any meta data or other rules. For these related videos a specific rule may be applied re the selection of videos for the playlist. An end user may be forced to watch at least one of the related videos until the end before seeing another video. Hereto, a user interaction resulting in a negative scoring will result in the next video on the playlist being selected from the group of related videos.
  • the scoring and ranking is preferably performed in real time, which means that during the transmission of the current video all the calculations and the updating of the playlist finishes, enabling the next video after the current video to be from the updated playlist .
  • Fig. 5 shows an exemplary embodiment of how the video server 10 may process the scoring information and perform the ranking for updating the playlist in real time.
  • a dedicated JobActor created which manages computational flow.
  • Rest API creates a new JobActor and sends ASK (synchronous Akka request) JobRequest to the JobActor.
  • JobActor then performs the following tasks in async and parallel way: (1) JobActor spawns MappingActor and gives it MusicVideo which is being processed now. MappingActor sends back to
  • JobActor 11 ids batches which correspond to all videos relevant current by its parameters; (2) on each of the 11
  • BatchRankingRequest ( ids , weight ) , JobActor updates current ranking; (3) JobActor sends SearchRequest to SearchActor to get the list of ids which will be used to select top ranking video. This list is formed from either filtered of filter is defined for player or for all music videos and removed all ids which are in player separation list; (4) when SearchResult arrived,
  • JobActor stored it and checks if all updates are already made. If yes, top ranking is calculated for SearchResult; (5) after top ranked video is found, response is sent immediately to Rest API and, in background, ranking list and player is saved to the cache. Note that the whole flow of Fig. 5 can be done in
  • One embodiment of the invention may be implemented as a program product for use with a computer system, such as a television set, smart phone, tablet, phablet, set-top box, notebook or computer.
  • the program (s) of the program product define functions of the embodiments (including the methods described herein) and can be contained on a variety of computer- readable storage media.
  • Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solid-state non-volatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., hard-disk drive or any type of solid-state random- access semiconductor memory or flash memory) on which alterable information is stored.
  • non-writable storage media e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solid-state non-volatile semiconductor memory
  • writable storage media e.g., hard-disk drive or any type of solid-state random- access semiconductor memory or flash memory

Abstract

Method for receiving video streams (1001, 1003, 1004) from a video server (10) in a client device (20), the video streams comprising a sequence of videos in a binary data format, the method comprising: receiving (101) a linear video stream (1001) from the video server in the client device; receiving (102) a switching signal (1002) from the video server in the client device; and in response to the switching signal, switching (104) from receiving the linear video stream to receiving (105) a personalized video stream (1003) from the video server in the client device, wherein a last video finishes (103) before switching to the personalized video stream, wherein the last video is a video that is being received in the linear video stream when the switching signal is received in the client device.

Description

SEAMLESS SWITCHING FROM A LINEAR TO A PERSONALIZED VIDEO STREAM FIELD OF THE INVENTION
The present invention relates to video streaming. More specifically, the invention relates to a method for receiving video streams from a video server in a client device, a method for transmitting a personalized video stream from a video server to a client device, a client device, a video server, a video distribution system, and a computer program product.
BACKGROUND
Watching television typically involves linear streaming of a video stream from a head end system to a television set. To the end user this is a passive video viewing experience, meaning that the video content is received in the television set when turned on and no user interaction, other than changing channels, is possible. Receiving linear video streams is not restricted to television sets. Nowadays different kinds of network connected client devices, such as television sets, smart phones, tablets, phablets, set-top boxes, notebooks and computers are capable of receiving linear video streams from a video server. Typically, a linear video stream is broadcast and received by many client devices at the same time.
Video on-demand enables an interactive way of watching videos. With video on-demand the end user chooses the videos to watch through a user interface. A single video may be selected and received or multiple videos may be selected and streamed one after the other to the client device. The kind of client devices can be the same as with linear streaming. To enable an end user to interact with the video server in case of a television set, a smart television or a set-top box capable of running software applications may be used.
There is a need for a hybrid mode of watching video streams, wherein the video stream is received as if a linear video stream, but with the possibility to personalize the linear video stream. Furthermore, if personalization is not possible, e.g. due to capability restriction in the client device, it should still be possible to receive the linear video stream. Ideally, the end user does not see a difference in watching the linear video stream with or without the personalization.
SUMMARY OF THE INVENTION
The present invention enables a client device to switch from a linear video stream to a personalized video stream such that the switch is seamless. I.e, the end user does not notice that the linear stream switches to the personalized stream, resulting in a consistent and good user experience while
watching the video streams.
In an aspect of the invention a method is proposed for receiving video streams from a video server in a client device. The video streams can comprise a sequence of videos in a binary data format. The method can comprise receiving a linear video stream from the video server in the client device. The method can further comprise receiving a switching signal from the video server in the client device. The method can further comprise, in response to the switching signal, switching from receiving the linear video stream to receiving a personalized video stream from the video server in the client device. A last video
finishes before switching to the personalized video stream, wherein the last video is a video that is being received in the linear video stream when the switching signal is received in the client device.
Thus, advantageously a seamless switch can be made from the linear video stream to the personalized video stream. Client devices that do not support the personalized video stream may continue watch the linear video stream.
The embodiment of claim 2 advantageously enables optimal bandwidth usage through the networks involved in the transmission of the video streams.
The embodiment of claim 3 advantageously helps the client device to determine when to switch such that the switch is seamless .
The embodiment of claim 4 advantageously enables the data pattern to be detectable with minimal required
computational power at the video server and at the client device . The embodiment of claim 5 advantageously enables the data pattern to be detectable without modifying the linear video stream.
The embodiment of claim 6 advantageously enables the switching moment to be determined more accurately.
The embodiment of claim 7 advantageously enables the switching moment to be determined even more accurately.
The embodiments of claims 8-10 advantageously enable the personalized video stream capabilities to be started only when potentially needed. Quickly changing between linear video streams (e.g. ,zapping' using a remote control) will thus not result in the personalized video stream capabilities to start.
The embodiment of claim 11 advantageously enables remote control interaction for personalizing the personalized video stream.
The embodiment of claim 12 advantageously enables the selection of videos in the personalized video stream to be dependent on the user input.
According to an aspect of the invention a method is proposed for transmitting a personalized video stream from a video server to a client device. The personalized video stream can comprise a sequence of videos in a binary data format. The sequence of videos scheduled for transmission can be stored at the video server as a playlist . The method can comprise
receiving an indication of a video related user input from the client device, wherein the video related user input can be related to a current video in the personalized video stream and received in the client device via a user interaction with the client device. The indication of the video related user input can result in a scoring of the current video. The method can further comprise changing one or more videos in the playlist in response to the video related user input and based on the scoring. The indication of the video related user input can comprise one or more of: an indication of the user pressing a like button resulting in a higher scoring; an indication of the user pressing a xskip to next video' button within a predefined amount of time from the beginning of the video resulting in a lower scoring depending on the amount of time; and an indication of the user pressing a volume button resulting in a higher scoring m case of a volume up or a lower scoring m case of a volume down .
The embodiment of claim 14 advantageously enables a scoring not based on user input .
The embodiments of claims 15 and 17 advantageously enable a real time or near real time (i.e. before the current video finishes) updating of the playlist.
The embodiment of claim 16 advantageously enables a sophisticated ranking of videos and selection of videos based on this ranking.
The embodiment of claim 18 advantageously enables particular videos to be forced to watch.
According to other aspects of the invention a client device, a video server and a video distribution system are proposed having one or more of the above described features.
According to an aspect of the invention a computer program product is proposed for performing the method as described above for the video server.
Hereinafter, embodiments of the invention will be described in further detail. It should be appreciated, however, that these embodiments may not be construed as limiting the scope of protection for the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Aspects of the invention will be explained in greater detail by reference to the drawings, in which:
Fig. 1 shows a time sequence diagram of an exemplary embodiment of the invention;
Fig. 2 shows a linear video stream of an exemplary embodiment of the invention;
Fig. 3 shows a personalized video stream of an exemplary embodiment of the invention;
Fig. 4 shows a time sequence diagram of an exemplary embodiment of the invention;
Fig. 5 shows a time sequence diagram of an exemplary embodiment of the invention;
Fig. 6 shows a network architecture of an exemplary embodiment of the invention; and Fig. 7 shows a network architecture of an exemplary embodiment of the invention.
DETAILED DESCRIPTION
In between the linear video streaming experience on the one hand and the video on-demand on the other hand, in the present invention a personalized video streaming is made
possible. With personalized video streaming a video stream is streamed to the client device, as in linear streaming, but user interaction is possible to influence what videos are part of the video stream. Alternatively or additionally the end user may select videos as in video on-demand services, which videos will then be included in the personalized video stream. Personalized video streams are typically unicast from a video server to a client device.
Personalized video streaming requires that the client device is capable of processing user input for selecting or influencing the videos in the personalized video stream. As not all client devices will be capable of such user interaction, the present invention enables receiving of a linear video stream first and only if the client device is capable of receiving personalized video streams the client device will switch to this mode of operation.
For example, in case of a television service provider having a client base with a mix of older and newer versions or models of set-top boxes, the older set-top boxes may be capable of receiving linear video streams only, while the newer set-top boxes are also capable of user interaction. Using the older set- top box the end user will be able to watch a linear video stream and change channels to switch to other linear video streams, if applicable. A newer set-top box initially operates as an older set-top box, i.e. it starts receiving the linear video stream. If a personalized video stream is available for the channel being watched, the set-top box can switch to the personalized video stream. According to the invention this switch is made seamless, i.e. there is no abrupt switch from the linear feed to the personalized feed but instead the video in the linear feed is received until it finishes and only then the switch is made. An end user watching the video stream may not even notice that the switch has been made.
Fig. 1 shows an exemplary embodiment of the invention wherein a seamless switch is made from a linear video stream to a personalized video stream. Fig. 1 shows a time-sequence diagram with data being transmitted between a video server 10 and a client device 20. Initially the linear video stream {1001} is received in the client device 20, denoted as 101. The video server 10 in the backend controls the switching to the
personalized stream. Hereto, a switching signal {1002} is transmitted to the client device 20, which is received as denoted 102. The switching signal {1002} contains information that is used by the client device 20 to determine 103 when the last video to be displayed from the linear video stream
finishes, thus when the seamless switch 104 to the personalized video stream can be made. When the switch is made, the
personalized video stream is received in the client device 20.
To determine the boundaries of the videos, a data pattern may be included in the linear video stream. The data pattern may be embedded in a video of the video stream, e.g. as a watermark within a video frame of a video channel or within an audio channel of the video. An embedded data pattern requires the video server to be capable of inserting the data pattern into the video and the client device to extract the data pattern from the video again, which requires relatively high
computational power. Therefore, preferably the data pattern is transmitted as a data pattern P in between two videos of the video stream, as shown in Fig. 2. Preferably, the data pattern is invisible to the end user while the linear video stream is being displayed.
Alternatively, the boundaries may be detected through pattern recognition. The video server 10 analyzed the videos, e.g. at predefined intervals of 1 or 2 seconds, for specific characteristics like saturation, black levels, volume levels, or any other characteristics that can be obtained from each video, and stores these characteristics as characteristics data prior to transmission of the video in the linear video stream. The client device 20 also analyzes the linear video stream as it is received to generate received characteristics data. In this case the pattern data is defined to be the characteristic elements within the video that are obtainable through analyzing the video. The characteristics data stored at the video server and the received characteristics data from the client device are then compared and matched to determine if the video has been received in the client device 20. The comparison and matching is typically performed at the video server, possibly in a computer connected to the video server. Hereto the received
characteristics data is transmitted from the client device 20 to the video server 10.
In Fig. 2 an exemplary linear video stream 1001 is shown containing a sequence of videos {VLl, ... , VL], ... , VLk, ... } . A data pattern P is included before video VL], which will be the last video to be displayed on the client device. Note that after the switch the linear video stream continues to be broadcast and possibly received by other client devices. The linear video stream may include a switching signal in the form of a data pattern before each video in the linear video stream.
In the exemplary embodiment of Fig. 4 the steps of Fig. 1 are included and additional optional operations are shown. As indicated above, the client device 20 may trigger the video server 10 that it can receive a personalized video stream. In step 106 the client device 20 detects the data pattern, e.g. the data pattern P shown in Fig. 2 or the characteristic elements within the video. In response, the client device 20 transmits a trigger signal {2001} to the video server 10, as denoted 107, which triggers the video server 10 to generate and transmit the switching signal {1002} to the client device 20. The switching signal {1002} may be in any format, such as a binary coded message, XML message, HTTP request or json message.
In order to have a seamless switch from the linear video stream {1001} to the personalized video stream {1003}, the switching signal {1002} may include timing data indicative of when the last video VL] finishes. Examples of timing data are an absolute time at which to switch or a timer value which has to lapse before switching.
Timers for acquiring the current time in the video server 10 and in the client device 20 may be out of sync, in which case the timing data as described above may result in an incorrect moment of switching to the linear video stream {1003}. To overcome this problem, the client device 20 may include a time stamp in the trigger signal {2001} indicative of the time of receipt of the data pattern in the client device 20, thus indicative of the start time of the last video VL] at the client device 20. Alternatively or additionally, the trigger signal {2001} includes the received characteristics data as obtained in the client device 20, from which the video server 10 can derive the start time of the last video VL] at the client device 20.
The video server 10 knows the start time of the last video as transmitted to the client device 20 and compares this start time with the start time as received from the client device 10 to determine a time offset. Furthermore, any delays caused by the transmission path in between the video server 10 and client device 20 are accounted for in the time offset. The switching signal {1002} then includes a time at which the client device 20 is to switch to the personalized video stream, which is set at the start time of transmission of the last video to the client device added with the duration of the last video as known in the video server and added with the time offset. Or mathematically : tl = server time of start of last video;
t2 = client time of start of last video (P detection) ; time offset = tl - t2;
switch time = tl + duration last video + time offset
The processing of the switching signal {1002}, the capability of receiving the personalized video stream {1003} and the detection of the data pattern P are typically implemented in a software application, computer program or app running on the client device. This software application may be started
automatically, denoted 108 in Fig. 4, when the linear video stream is received, typically after a predefined amount of time after tuning in to the channel of the linear video stream.
Alternatively, the software application may be started in response to an instruction thereto from the end user, denoted 109, e.g. by pressing a button on the client device 20 or on a remote control 30 controlling the client device 20. An important feature of personalized video streaming is the capability of receiving user input that influence which videos are included in the personalized video stream. User interaction may be enabled directly on the client device, e.g. through buttons, keyboard or touch screen, and/or using a remote control device. In Fig. 4 an exemplary remote control device 30 is used to give video related user input {3001} to the client device 20.
Video related user input {3001} is user input that is related to the current video being received and displayed. Fig. 3 shows an exemplary personalized video stream 1003 containing a sequence of videos { VPl, ... , VP], ... , VPk, ... } . In the present example video VP] is the current video being received. While watching the current video VP], the end user may indicate whether he or she likes the current video or not. Hereto, the user may operate a like button. Note that buttons such as the like button may be physical buttons or a software implemented buttons displayed on a display. The user pressing a xskip to next video' button within a predefined amount of time from the beginning of the video can be indicative of not liking the video. The user pressing a volume button can be indicative of liking the video in case of a volume up or disliking the video in case of a volume down .
The video related user input {3001} is received in the client device, as denoted 110 in Fig. 4. An indication {2002} of the video related user input, e.g. in the form of a binary coded, XML, HTTP or json message, is transmitted to the video server in step 111.
Based on the user input, the video server 10 changes one or more videos in the personalized video stream and
continues to transmit the personalized video stream {1004} containing the newly selected videos.
Another indication of the end user liking a video can be the current video being received and displayed in its entirety. This may be detected in the video server 10 or in the client device 20 and reported to the video server 10, and influence the selection of future videos in the personalized video stream. Fig. 6 and Fig. 7 show an exemplary, simplified video distribution system 40, wherein a video server 10 broadcasts a linear video stream {1001} to a plurality of client devices 20- 21 via a data network 40. Note that there can many client devices, possibly millions. After switching to the personalized video stream {1003}, client device 20 only receives the
personalized video stream {1001} while the other devices 21, 22 keep receiving the linear video stream {1001}.
As described above, the video server 10 selects the videos in the personalized video stream based on the video related user input. Hereto the available videos at the video server are scored, which means that ranking points are assigned to the videos for each user.
Typically, the actual videos are stored separately from the scoring information. Videos can be stored at mass storage locations with high bandwidth capabilities, while scoring information and other information like meta data of the videos can be stored in databases at other locations. The video server 10 may be implemented as a cluster of servers and/or a plurality of servers with different functions. One or more of the servers may be implemented in a cloud environment.
The videos in the personalized video stream are typically prepared in the video server 10 as playlists. The user interaction indicative of liking or disliking of videos results in the videos getting a different score. The selection and changing of the videos in the playlist is based on the scoring of the videos for the current user. For example: the indication of the user pressing a like button typically results in a higher scoring; an indication of the user pressing a xskip to next video' button within a predefined amount of time from the beginning of the video typically results in a lower scoring depending on the amount of time; and an indication of the user pressing a volume button typically results in a higher scoring in case of a volume up or a lower scoring in case of a volume down.
When a score of the current video is changed as a result of the user input, then all available videos at the video server 10 are be ranked. The ranking typically takes into account the scores and weight factors assigned to the videos. The weight factors are used to give particular videos a higher or lower ranking, e.g. based on general popularity of a video. Alternatively or additionally the weight factors can be related to specific meta data to enable successive videos in the playlist to have commonalities based on the meta data by taking into account the weight factors.
For example, assume that the following meta data have the following weight factors: Artist name: weight=15;
Related artist link: weight=13;
Era: weight=3;
Energy: weight=8;
Genre: weight=12.
In the selection of a subsequent video in the playlist the artist name thus has the highest weight factor, increasing the chance that the next video will be from the same artist. Similarly the other meta data will be processed.
The scoring that is stored with each song for the current user may be multiplied or added with the weight factors, depending on the logic, to determine the ranking of each video. One or more of the highest ranked videos can then be selected for inclusion in the playlist.
Separation rules may be applied to videos, e.g.
defining that a user interaction being a skip results in the artist of the current video not to be selected for 1800 seconds in the playlist. Thus, videos can be separated by a predefined amount of time depending on the user interaction and depending on meta data fields.
Groups of related videos may be defined. These videos may be related based on any meta data or other rules. For these related videos a specific rule may be applied re the selection of videos for the playlist. An end user may be forced to watch at least one of the related videos until the end before seeing another video. Hereto, a user interaction resulting in a negative scoring will result in the next video on the playlist being selected from the group of related videos. The scoring and ranking is preferably performed in real time, which means that during the transmission of the current video all the calculations and the updating of the playlist finishes, enabling the next video after the current video to be from the updated playlist .
Fig. 5 shows an exemplary embodiment of how the video server 10 may process the scoring information and perform the ranking for updating the playlist in real time. On every Action Request there is a dedicated JobActor created which manages computational flow. Rest API creates a new JobActor and sends ASK (synchronous Akka request) JobRequest to the JobActor.
JobActor then performs the following tasks in async and parallel way: (1) JobActor spawns MappingActor and gives it MusicVideo which is being processed now. MappingActor sends back to
JobActor 11 ids batches which correspond to all videos relevant current by its parameters; (2) on each of the 11
BatchRankingRequest ( ids , weight ) , JobActor updates current ranking; (3) JobActor sends SearchRequest to SearchActor to get the list of ids which will be used to select top ranking video. This list is formed from either filtered of filter is defined for player or for all music videos and removed all ids which are in player separation list; (4) when SearchResult arrived,
JobActor stored it and checks if all updates are already made. If yes, top ranking is calculated for SearchResult; (5) after top ranked video is found, response is sent immediately to Rest API and, in background, ranking list and player is saved to the cache. Note that the whole flow of Fig. 5 can be done in
parallel and may only check when all required data is present to do the operation.
One embodiment of the invention may be implemented as a program product for use with a computer system, such as a television set, smart phone, tablet, phablet, set-top box, notebook or computer. The program (s) of the program product define functions of the embodiments (including the methods described herein) and can be contained on a variety of computer- readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solid-state non-volatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., hard-disk drive or any type of solid-state random- access semiconductor memory or flash memory) on which alterable information is stored. Moreover, the invention is not limited to the embodiments described above, which may be varied within the scope of the accompanying claims.

Claims

1. Method for receiving video streams (1001, 1003, 1004) from a video server (10) in a client device (20), the video streams comprising a sequence of videos in a binary data format, the method comprising:
receiving (101) a linear video stream (1001) from the video server in the client device;
receiving (102) a switching signal (1002) from the video server in the client device; and
in response to the switching signal, switching (104) from receiving the linear video stream to receiving (105) a personalized video stream (1003) from the video server in the client device,
wherein a last video (VL]) finishes (103) before switching to the personalized video stream, wherein the last video is a video that is being received in the linear video stream when the switching signal is received in the client device.
2. The method according to claim 1, wherein the linear stream is broadcast to a plurality of client devices (20-22) including said client device (20), and wherein the personalized video stream is unicast to said client device (20) .
3. The method according to any one of the preceding claims, wherein the linear video stream comprises a data pattern (P), and wherein the data pattern is detected and used by the client device to determine when the last video finishes.
4. The method according to claim 3, wherein the data pattern is transmitted in between two videos in the linear video stream, wherein preferably the data pattern is humanly
unperceivable, and wherein preferably the data pattern is transmitted in a video channel or an audio channel in the linear video stream.
5. The method according to claim 3, wherein the data pattern comprises characteristic elements within the video that are obtainable through analyzing the video.
6. The method according to any one of the claims 3-5, wherein the client device transmits a trigger signal (2001) to the video server in response to detection (106) of the data pattern, wherein the switching signal is received in response to the trigger signal, and wherein the switching signal comprises timing data indicative of when the last video in the linear video stream finishes.
7. The method according to claim 6, wherein the trigger signal comprises :
a first time stamp indicative of a time of receipt of the data pattern in the client device; and/or
characteristics data indicative of characteristic elements within the video from which the first time stamp is derivable at the video server,
and wherein the timing data is generated in the video server using the first time stamp, a second time stamp indicative of a time of transmission of the data pattern from the video server and a duration of the last video in the linear video stream.
8. The method according to any one of the preceding claims, wherein the switching signal and the personalized stream are processed by a computer program running on a processor in the client device, and wherein the client device receives the linear stream before starting the computer program.
9. The method according to claim 8, wherein the computer program is started (108) automatically at a predefined amount of time after first receiving the linear stream.
10. The method according to claim 8, wherein the computer program is started (109) upon receiving a user input in the client device.
11. The method according to claim 10, wherein the user input is received from a remote control device (30) for
controlling the client device.
12. The method according to any one of the claims 8- 11, further comprising: receiving (110) a video related user input (3001), the video related user input being related to a current video (VP]), wherein the current video is a video that is being received in the personalized video stream when receiving the video related user input;
transmitting (111) an indication (2002) of the video related user input to the video server; and
receiving (112) the personalized video stream (1004) from the video server, wherein one or more videos in the
personalized video stream are selected by the video server based on the video related user input.
13. Method for transmitting a personalized video stream (1003, 1004) from a video server (10) to a client device (20), the personalized video stream comprising a sequence of videos in a binary data format, wherein the sequence of videos scheduled for transmission are stored at the video server as a playlist (1010), the method comprising:
receiving (201) an indication (2002) of a video related user input from the client device, wherein the video related user input is related to a current video (VP]) in the
personalized video stream and received in the client device via a user interaction with the client device, the indication of the video related user input resulting in a scoring (202) of the current video; and
changing (203) one or more videos in the playlist in response to the video related user input and based on the scoring,
wherein the indication of the video related user input comprises at least one of :
an indication of the user pressing a like button resulting in a higher scoring;
an indication of the user pressing a xskip to next video' button within a predefined amount of time from the beginning of the video resulting in a lower scoring depending on the amount of time; and
an indication of the user pressing a volume button resulting in a higher scoring in case of a volume up or a lower scoring in case of a volume down.
14. The method according to claim 13, the method further comprising changing one or more videos in the playlist in case of :
a detection of the current video being displayed in its entirety on the client device resulting in a higher scoring.
15. The method according to claim 13 or 14, wherein the one or more videos in the playlist are changed during the transmission of the current video.
16. The method according to any one of the claims 13- 15, wherein the videos in the playlist are selected from a set of available videos based on video related meta data stored in a database, wherein the available videos are ranked based on weight factors stored with the meta data and the scoring, and wherein the changing of the videos in the playlist is based on the ranking of the available videos.
17. The method according to claim 16, further comprising updating (204) the ranking of the available videos based on the scoring of the current video, wherein the updating of the ranking is performed during the transmission of the current video .
18. The method according to claim 16 or 17, wherein the set of available videos comprises a group of related videos, and wherein a negative scoring results in changing of the one or more videos in the playlist such that the next video after the current video is selected from the group of related videos.
19. A client device (20) configured for carrying out the method according to any one of the claims 1-12.
20. A video server (10) configured for carrying out the method according to any one of the claims 13-18.
21. A video distribution system (40) comprising one more client devices (20-22) according to claim 19 and a video server (10) according to claim 20.
22. A computer program product having instructions which, when executed by a computer, cause the computer to perform the method according to any one of the claims 13-18.
EP16716562.0A 2016-04-14 2016-04-14 Seamless switching from a linear to a personalized video stream Withdrawn EP3443751A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2016/058291 WO2017178058A1 (en) 2016-04-14 2016-04-14 Seamless switching from a linear to a personalized video stream

Publications (1)

Publication Number Publication Date
EP3443751A1 true EP3443751A1 (en) 2019-02-20

Family

ID=55754287

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16716562.0A Withdrawn EP3443751A1 (en) 2016-04-14 2016-04-14 Seamless switching from a linear to a personalized video stream

Country Status (3)

Country Link
US (1) US10979775B2 (en)
EP (1) EP3443751A1 (en)
WO (1) WO2017178058A1 (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9190110B2 (en) 2009-05-12 2015-11-17 JBF Interlude 2009 LTD System and method for assembling a recorded composition
US11232458B2 (en) 2010-02-17 2022-01-25 JBF Interlude 2009 LTD System and method for data mining within interactive multimedia
US9653115B2 (en) 2014-04-10 2017-05-16 JBF Interlude 2009 LTD Systems and methods for creating linear video from branched video
US9792957B2 (en) 2014-10-08 2017-10-17 JBF Interlude 2009 LTD Systems and methods for dynamic video bookmarking
US11412276B2 (en) 2014-10-10 2022-08-09 JBF Interlude 2009 LTD Systems and methods for parallel track transitions
US10460765B2 (en) 2015-08-26 2019-10-29 JBF Interlude 2009 LTD Systems and methods for adaptive and responsive video
US11128853B2 (en) 2015-12-22 2021-09-21 JBF Interlude 2009 LTD Seamless transitions in large-scale video
US11164548B2 (en) 2015-12-22 2021-11-02 JBF Interlude 2009 LTD Intelligent buffering of large-scale video
US11856271B2 (en) 2016-04-12 2023-12-26 JBF Interlude 2009 LTD Symbiotic interactive video
US11050809B2 (en) 2016-12-30 2021-06-29 JBF Interlude 2009 LTD Systems and methods for dynamic weighting of branched video paths
US10798446B2 (en) * 2018-01-04 2020-10-06 International Business Machines Corporation Content narrowing of a live feed based on cognitive profiling
US10257578B1 (en) 2018-01-05 2019-04-09 JBF Interlude 2009 LTD Dynamic library display for interactive videos
US11601721B2 (en) 2018-06-04 2023-03-07 JBF Interlude 2009 LTD Interactive video dynamic adaptation and user profiling
US11399208B2 (en) * 2019-09-24 2022-07-26 International Business Machines Corporation Packet priority for visual content
US11490047B2 (en) 2019-10-02 2022-11-01 JBF Interlude 2009 LTD Systems and methods for dynamically adjusting video aspect ratios
US11245961B2 (en) 2020-02-18 2022-02-08 JBF Interlude 2009 LTD System and methods for detecting anomalous activities for interactive videos
CN112532896A (en) * 2020-10-28 2021-03-19 北京达佳互联信息技术有限公司 Video production method, video production device, electronic device and storage medium
US11882337B2 (en) 2021-05-28 2024-01-23 JBF Interlude 2009 LTD Automated platform for generating interactive videos
US11934477B2 (en) 2021-09-24 2024-03-19 JBF Interlude 2009 LTD Video player integration within websites

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129374A1 (en) * 1991-11-25 2002-09-12 Michael J. Freeman Compressed digital-data seamless video switching system
US7490344B2 (en) * 2000-09-29 2009-02-10 Visible World, Inc. System and method for seamless switching
US7627824B2 (en) 2004-07-12 2009-12-01 Alcatel Lucent Personalized video entertainment system
US9686500B2 (en) * 2008-02-14 2017-06-20 At&T Intellectual Property I, L.P. System and method for presenting advertising data based on end user trick-play trend data
US8650602B2 (en) * 2009-02-27 2014-02-11 Akamai Technologies, Inc. Input queued content switching using a playlist
US9066121B2 (en) * 2011-08-09 2015-06-23 Google Technology Holdings LLC Addressable advertising switch by decoupling decoding from service acquisitions
US8978060B2 (en) * 2013-03-15 2015-03-10 Google Inc. Systems, methods, and media for presenting advertisements
US9990115B1 (en) * 2014-06-12 2018-06-05 Cox Communications, Inc. User interface for providing additional content
US20160066038A1 (en) 2014-08-28 2016-03-03 Dozo LLP Clip List Generation

Also Published As

Publication number Publication date
US20190075367A1 (en) 2019-03-07
US10979775B2 (en) 2021-04-13
WO2017178058A1 (en) 2017-10-19

Similar Documents

Publication Publication Date Title
US10979775B2 (en) Seamless switching from a linear to a personalized video stream
US20200014979A1 (en) Methods and systems for providing relevant supplemental content to a user device
US11445254B2 (en) Systems and methods for multi-device content recommendations
KR102044647B1 (en) Transmission device and method, reception device and method, and transmission and reception system
US20210209149A1 (en) Systems and methods for enhancing search results by way of updating search indices
US9948997B2 (en) Providing interactivity options for television broadcast content
US20130173765A1 (en) Systems and methods for assigning roles between user devices
CN109688475B (en) Video playing skipping method and system and computer readable storage medium
CN103229515A (en) System and method for providing content-associated information associated with broadcast content
CN105516742A (en) Set top box user interface recommendation method and related equipment
KR20190039986A (en) System and method for storing rescheduled media assets for transmission from different sources
CN105379291B (en) Content providing method and apparatus
CN102547434A (en) Display method and device of program information
CN103918277A (en) System and method for determining a level of confidence that a media item is being presented
KR102512404B1 (en) Apparatus and method for providing information recommendation service
US20230334082A1 (en) System and method for providing additional information based on multimedia content being viewed
CN101888515A (en) Method and system for playing subscribed digital television programs
US10924780B2 (en) Server and program
US9712583B2 (en) Video display device and method of controlling the device
CN108924655B (en) Video client navigation generation method and device
US20190379920A1 (en) Method and system for creating a customized video associated with an advertisement
WO2023073943A1 (en) Distribution system, distribution method, and distribution control device
US10477152B2 (en) Media device and interface
WO2023246157A1 (en) Display device and channel processing method

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17P Request for examination filed

Effective date: 20181113

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

17Q First examination report despatched

Effective date: 20190206

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20210304