EP4002857A1 - Method and system for customized audio and/or video content delivery - Google Patents
Method and system for customized audio and/or video content delivery Download PDFInfo
- Publication number
- EP4002857A1 EP4002857A1 EP20306373.0A EP20306373A EP4002857A1 EP 4002857 A1 EP4002857 A1 EP 4002857A1 EP 20306373 A EP20306373 A EP 20306373A EP 4002857 A1 EP4002857 A1 EP 4002857A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- client
- audio
- segments
- customized
- server equipment
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000004891 communication Methods 0.000 claims abstract description 20
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 description 29
- 238000012545 processing Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- KNMAVSAGTYIFJF-UHFFFAOYSA-N 1-[2-[(2-hydroxy-3-phenoxypropyl)amino]ethylamino]-3-phenoxypropan-2-ol;dihydrochloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC=C1 KNMAVSAGTYIFJF-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/26616—Channel 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 for merging a unicast channel into a multicast channel, e.g. in a VOD application, when a client served by unicast channel catches up a multicast channel to save bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2668—Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/64—Addressing
- H04N21/6408—Unicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/812—Monomedia components thereof involving advertisement data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring 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 generally relates to delivering, from a server equipment to a client, an audio and/or video content including data customized to the client.
- HTTP-based streaming technologies are very convenient, as HTTP allows going through firewalls and guarantees data integrity by relying on TCP (" Transmission Control Protocol", as defined by the normative document RFC 793 ).
- HTTP-based streaming technologies are nowadays becoming widely used over the Internet for delivery audio and/or video contents, for example using adaptive bitrate (ABR) approach to ensure service continuity in varying network conditions and consequently provide enhanced end-user experience.
- ABR adaptive bitrate
- Accesses to audio and/or video contents are more and more performed on-demand.
- Content providers are more and more willing to address personalized additional content (such as targeted advertisements) to the users or terminals to which the audio and/or video content is delivered.
- personalized additional content such as targeted advertisements
- a watermark is a hidden mark inside the audio and/or video content, which is invisible to human perception when the audio and/or video content is being played.
- Such a watermark is typically persistent against copying and altering the audio and/or video content (using error correcting codes or traitor tracing codes such as Tardos codes) to cope with accidental or malicious modifications thereof.
- the watermark can be extracted therefrom and the leak can be traced back to the person who shared the copy of the audio and/or video content.
- the watermark i.e., a sequence of '0' and '1' binary codes
- audio and/or video content segments delivered to the user or terminal depend on an identifier of the user or terminal, or information uniquely derived from said identifier.
- Each segment is quoted from either a set A of first segments (e.g., marked with a '0' binary code) or a set B of second segments (e.g., marked with a '1' binary code) so that the watermark included in consecutive segments of the audio and/or video content form the identifier of the user or terminal, so as to be retrievable from the consecutive segments.
- the audio and/or video content delivered to the terminal is built from consecutive segments quoted from the sets A and B as follows: AAABBABABBA.
- AAABBABABBA This can easily be achieved by encoding and storing only two copies of the audio and/or video content segments (one for the set of segments A (e.g., marked with a '0' binary code) and one for the set of segments B (e.g., marked with a '1' binary code)) thus leading to optimized processing resources usage of encoders and storage resources usage of server equipment.
- content providers wish to provide customized advertisement content to each user or terminal.
- the content providers wish to deliver a same audio and/or video content to plural clients, and to further deliver at some points customized (per client) advertisement.
- HTTP HyperText Transfer Protocol
- a method for delivering customized audio and/or video streams from a server equipment to a plurality of clients in a content delivery network CDN the audio and/or video streams being segmented over time into data segments
- the method comprises: delivering common data segments via a multicast communication, common data segments being audio and/or video data segments intended to the plurality of clients; delivering customized data segments via unicast communications, customized data segments being audio and/or video data segments specifically intended for each client; and building, for each client according to an identifier of the client in question or information derived therefrom, one said customized audio and/or video stream from common data segments provided in multicast form by the server equipment and further including customized data segments provided in unicast form by the server equipment for customization to the client in question, wherein one or more customized data segments are interleaved between common data segments.
- per-client customization is achieved, while consumption of processing and bandwidth resources is enhanced by relying on multicast communications for common data segments.
- the clients are gathered by groups, the customized data segments are present at predefined timeslots in the audio and/or video streams, and at least some of the predefined timeslots happen at different point in time from one group to any other group.
- load of the server equipment is reduced by spraying over time unicast requests for obtaining the customized data segments used for per-client customization.
- predefined timeslots for customized data segments are common to all groups, while other predefined timeslots for customized data segments happen at different point in time from one group to any other group.
- unicast solicitations of the server equipment for obtaining customized data are spread over time, and thus less resources are needed to deliver the customized data.
- the server equipment transmits the customized data segments at lower throughput than the common data segments.
- peaks of processing resources consumption at the server equipment are lowered since lower throughput is enforced for unicast communications than for multicast communications.
- the customized data are watermark specific to the identifier of the client or to information derived therefrom.
- a quantity of plural versions Qv is available for each customized data segment, each customized data segment including only a portion of the identifier of the client or of the information derived therefrom, the quantity Qv being the quantity of watermark possible variants in each customized data segment.
- the clients are gathered by groups, the common data segments for each group are present at predefined timeslots in the audio and/or video stream, the common data are watermarked specifically to an identifier of the group to which the common data are intended, or to information derived therefrom, and a quantity of plural versions Q ' v is available for each common data segment, each common data segment including only a portion of the identifier of the group or of the information derived therefrom, the quantity Q'v being the quantity of watermark possible variants in each common data segment.
- watermarking can easily be achieved on a group basis with need of low quantity of versions for each segment.
- the customized data are advertisement data.
- per-client advertisement customization can be achieved while enhancing processing and network resources usage thanks to multicast communications.
- the audio and/or video stream is built by an agent in a device interconnecting a first network via which the at least one client in question is made accessible to the agent and a second network via which the server equipment is made accessible to the agent, the agent communicating with the at least one client in unicast form, the agent performing a multicast-to-unicast conversion of the common data received in multicast form from the server equipment.
- the multicast nature of transmissions of common data may be hidden to the clients, which means that the usage of multicast transmissions is transparently put in place for unicast-only clients, while still benefiting from the network resources consumption advantages of the multicast transmissions.
- the audio and/or video stream is built by the at least one client in question, the at least one client obtains the customized data from the server equipment and obtains the common data from an agent communicating with which the at least one client communicates in unicast form, the agent being embedded in a device interconnecting a first network via which the at least one client in question is made accessible to the agent and a second network via which the server equipment is made accessible to the agent, the agent performing a multicast-to-unicast conversion of the common data received in multicast form from the server equipment.
- the multicast nature of transmissions of common data may be hidden to the clients (in a different approach as above), which means that the usage of multicast transmissions is transparently put in place for unicast-only clients, while still benefiting from the network resources consumption advantages of the multicast transmissions.
- the server equipment delivers continuous segments in multicast form and the audio and/or video stream is built by replacing segments received in multicast form by customized data segments.
- multicast transmissions are easily managed.
- a content delivery network CDN configured for delivering a customized audio and/or video stream from a server equipment of the content delivery network CDN to a plurality of clients, the audio and/or video stream being segmented over time into segments
- the content delivery network CDN comprises electronics circuitry configured for: delivering common data segments via a multicast communication, common data segments being audio and/or video data segments intended to the plurality of clients; delivering customized data segments via unicast communications, customized data segments being audio and/or video data segments specifically intended for each client; building, for each client according to an identifier of the client in question or information derived therefrom, the customized audio and/or video stream from common data segments provided in multicast form by the server equipment and further including customized data segments provided in unicast form by the server equipment for customization to the client in question, wherein one or more customized data segments are interleaved between common data segments.
- the content delivery network CDN is arranged such that the customized data are watermark specific to the identifier of the client or to information derived therefrom.
- the content delivery network CDN is arranged such that the customized data are advertisement data.
- Fig. 1 schematically represents an audio and/or video content delivery system 100 comprising a server equipment 121 configured to deliver audio and/or video contents to clients 111, 112, 113, 114.
- the audio and/or video content delivery system 100 is dedicated to delivery of live audio and/or video contents (e.g., TV channel, sport event). Audio and/or video contents are divided into consecutive segments, which are numbered and/or time-referenced for identification purpose. Dividing into segments eases transmission and recovery over communication networks.
- the server equipment comprises a unicast server equipment part 121a and a multicast server equipment part 121b.
- the unicast server equipment part 121a and the multicast server equipment part 121b are jointly used, as detailed hereinafter, to deliver audio and/or video contents data as well as customized data to the clients 111, 112, 113, 114.
- the server equipment 121 may be a single server machine or a cluster of server machines. For instance, the unicast server equipment part 121a and multicast server equipment part 121b are located on distinct server machines.
- the client 111 may communicate with the server equipment 121 through a network interconnecting device 101a, such as a home gateway, configured to interconnect a first network 120, via which the server equipment 121 is made accessible to the network interconnecting device 101a, and a second network 110a, via which the client 111 is made accessible to the network interconnecting device 101a.
- a network interconnecting device 101a such as a home gateway
- the first network 120 is Wide Area Network (WAN), such as the Internet
- the second network is a Local Area Network (LAN), such as a wireless LAN according to the IEEE 80.11 set of standard specifications.
- WAN Wide Area Network
- LAN Local Area Network
- the clients 112, 113 may communicate with the server equipment 121 through a network interconnecting device 101b, such as a home gateway, configured to interconnect the first network 120 and another second network 110b, via which the clients 112, 113 are made accessible to the network interconnecting device 101b.
- a network interconnecting device 101b such as a home gateway
- the network interconnecting devices 101a, 101b respectively include multicast-to-unicast converter agents 102a, 102b.
- the multicast-to-unicast converter agents 102a, 102b receive audio and/or video segments from the server equipment 121 in multicast form and convert them into unicast form in order to permanently communicate with the clients 111, 112, 113 in unicast fashion for the delivery of audio and/or video data.
- RTP Real-time Transport Protocol
- UDP User Datagram Protocol
- the multicast-to-unicast converter agents 102a, 102b may complement the audio and/or video segments received from the server equipment 121 in multicast form with audio and/or video segments received from the server equipment 121 in unicast form.
- the client 114 may communicate with the server equipment 121 through a wireless access network 130 to which the first network 120 is connected.
- the wireless access network 130 is a cellular communications network according to the 3GPP Long Term Evolution (LTE) set of standard specifications.
- LTE Long Term Evolution
- the client 114 includes a unicast and multicast capable transmission interface.
- the client 114 may implement 3GPP Multimedia Broadcast Multicast Service (MBMS) features.
- MBMS 3GPP Multimedia Broadcast Multicast Service
- the client 114 is thus able to receive audio and/or video segments from the server equipment 121 in multicast form.
- the client 114 complements the audio and/or video segments received from the server equipment 121 in multicast form with audio and/or video segments received from the server equipment 121 in unicast form.
- MBMS 3GPP Multimedia Broadcast Multicast Service
- the clients 111, 112, 113, 114 are user terminals that include audio and/video players, such as smartphones, computers, laptops, tablets, personal music players, home entertainment media player, etc. As detailed hereinafter, the clients 111, 112, 113, 114 receive customized audio and/or video content from the server equipment 121 with common data issued by the multicast server equipment part 121b and customized data issued by the unicast server equipment part 121a.
- the delivery of audio and/or video contents thus benefits from bandwidth saving advantages of multicast transmissions and customized data can nevertheless be provided on a per-client basis.
- Various embodiments for building such customized audio and/or video contents are disclosed herein.
- Fig. 2 schematically represents an example of hardware architecture 200 usable in the scope of the audio and/or video content delivery system 100.
- the hardware architecture 200 may be part of the server equipment 121.
- the hardware architecture 200 may be part of the network interconnecting devices 101a, 101b implementing the multicast-to-unicast converter agents 102a, 102b.
- the hardware architecture 200 may be part of terminals implementing the clients 111, 112, 113, 114.
- the hardware architecture 200 comprises the following components interconnected by a communications bus 210: a processor, microprocessor, microcontroller or CPU (Central Processing Unit) 201; a RAM (Random-Access Memory) 202; a ROM (Read-Only Memory) 203, such as an EEPROM (Electrically Erasable Programmable ROM), for example a Flash memory; a HDD (Hard-Disk Drive) 204, or any other device adapted to read information stored on a storage medium, such an SD (Secure Digital) card reader; at least one communication interface COM 205.
- a processor central processing Unit
- RAM Random-Access Memory
- ROM Read-Only Memory
- EEPROM Electrically Erasable Programmable ROM
- HDD Hard-Disk Drive
- SD Secure Digital
- CPU 201 is capable of executing instructions loaded into RAM 202 from ROM 203 or from an external memory, such as HDD 204 or an SD card. After the hardware architecture 200 has been powered on, CPU 201 is capable of reading instructions from RAM 202 and executing these instructions.
- the instructions form one computer program that causes CPU 201 to execute the steps and behaviors disclosed herein with respect to the server equipment 121, the multicast-to-unicast converter agents 102a, 102b, and the clients 111, 112, 113, 114.
- the steps and algorithms described herein may be implemented in software form by execution of a set of instructions or program by a programmable computing machine, such as a PC, a DSP (Digital Signal Processor) or a processor; or else implemented in hardware form by a machine or a dedicated component, chip or chipset, such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit).
- a programmable computing machine such as a PC, a DSP (Digital Signal Processor) or a processor
- a dedicated component, chip or chipset such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit).
- the server equipment 121, the multicast-to-unicast converter agents 102a, 102b, and the clients 111, 112, 113, 114 comprise electronic circuitry configured to perform the steps and algorithms described herein with respect to the device or apparatus in question.
- Figs. 3A, 3B and 3C schematically represent various embodiments of transmission paths of data for building an audio and/or video content stream delivered to a client, such as the client 111 or 114, in the audio and/or video content delivery system 100.
- the client 111 receives first segments in unicast form from the multicast-to-unicast converter agent 102a. These first segments result from multicast-to-unicast conversion of segments received in multicast form from the multicast server equipment part 121b. Since the first segments are transmitted by the multicast server equipment part 121b in multicast form, they correspond to parts of the audio and/video streams which are common to all clients to which the multicast transmission is intended at the end.
- the client 111 further receives second segments in unicast form during unicast exchanges between the client 111 and the unicast server equipment part 121a. The second segments correspond to parts of the audio and/video streams which are customized per client.
- These unicast exchanges may occur through the network interconnecting devices 101a (e.g., for Network Address Translation (NAT) considerations), but out of operational framework of the multicast-to-unicast converter agent 102a.
- these exchanges occur via distinct network access, for example via another wireless access network such as a cellular communications network.
- the client 111 thus receives segments issued by the unicast server equipment part 121a, for customized data, and segments issued by the multicast server equipment part 121b, for common data.
- the client 111 receives all segments in unicast form from the multicast-to-unicast converter agent 102a.
- the multicast-to-unicast converter agent 102a receives first segments in multicast form from the multicast server equipment part 121b. These first segments correspond to parts of the audio and/video streams which are common to all clients to which the multicast transmission is intended at the end.
- the multicast-to-unicast converter agent 102a further receives second segments in unicast form from the unicast server equipment part 121a. The second segments correspond to parts of the audio and/video streams which are customized per client.
- the multicast-to-unicast converter agent 102a builds a stream of audio and/or video data issued from the second segments and audio and/or video data issued from multicast-to-unicast conversion of the first segments.
- the multicast-to-unicast converter agent 102a then transmits this stream in unicast form to the client 111.
- the client 111 thus receives segments issued by the unicast server equipment part 121a, for customized data, and segments issued by the multicast server equipment part 121b, for common data.
- the arrangement of Fig. 3B can be implemented elsewhere than in a network interconnecting device such as a home gateway.
- a trusted box such as a set top box, which interacts with the server equipment 121 and performs multicast-to-unicast conversion for the common data and ensure inclusion of customized data in the audio and/or video stream delivered to the client 111.
- the customized data are received via an intermediary device, namely the multicast-to-unicast converter agent 102a or the set top box, which rebuilds the audio and/or video stream on behalf of the server equipment 121 and the client 111, entrustment of the multicast-to-unicast converter agent 102a or set top box may be confirmed beforehand by authentication exchanges.
- the client 114 receives first segments in multicast form from the multicast server equipment part 121b. These first segments correspond to parts of the audio and/video streams which are common to all clients to which the multicast transmission is intended at the end.
- the client 114 further receives second segments in unicast form from the unicast server equipment part 121a.
- the second segments correspond to parts of the audio and/video streams which are customized per client.
- the client 111 thus receives segments issued by the unicast server equipment part 121a, for customized data, and segments issued by the multicast server equipment part 121b, for common data.
- the client 114 creates a stream of audio and/or video data issued from the second segments and audio and/or video data issued from multicast-to-unicast conversion of the first segments.
- Fig. 4 schematically represents candidate successions of segments for illustratively enabling building four per-client customized audio and/or video content streams.
- Fig. 4 illustratively considers 9 consecutive segment timeslots in an audio and/or video stream.
- the 3 first segment timeslots in sequence provide audio and/or video data coming from segments transmitted in multicast form. This part of the audio and/or video content delivered for being played corresponds to common data.
- the subsequent segment timeslot in sequence provides audio and/or video data coming from segments transmitted in unicast form. This part of the audio and/or video content delivered for being played corresponds to customized data.
- the 3 following segment timeslots in sequence provide audio and/or video data coming from segments transmitted in multicast form.
- This part of the audio and/or video content delivered for being played corresponds to common data.
- the subsequent segment timeslot in sequence provides audio and/or video data coming from segments transmitted in unicast form. This part of the audio and/or video content delivered for being played corresponds to customized data.
- the last segment timeslot in sequence provides audio and/or video data coming from segments transmitted in multicast form. This part of the audio and/or video content delivered for being played corresponds to common data.
- Fig. 4 shows principles of building four audio and/or video streams customized for four distinct clients. Let's consider that the four clients have been assigned distinct identifiers, represented here on 2 digits ('00','01','10','11').
- the server equipment 121 has some segments that contain data common to plural clients and that do not contain watermark and has some segments that contain data customized per client.
- the positions of the segments that contain common data (1 st , 2 nd , 3 rd , 5 th , 6 th , 7 th and 9 th positions in the sequence of Fig. 4 ) and of the segments that contain customized data (4 th and 8 th positions in the sequence of Fig. 4 ) are predetermined.
- Each timeslot intended for customized data is associated with one digit of the identifiers (in Fig. 4 , the 4 th position in the considered sequence is associated with the left digit of the identifier and the 8 th position in the considered sequence is associated with the right digit of the identifier).
- the client with identifier '00' is delivered a stream sequence with 9 consecutive segments, wherein the 3 first ones contain audio and/video data issued from the multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_0, the 3 next ones contain audio and/video data issued from the corresponding multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_0, and the last one contains audio and/video data issued from the corresponding multicast segment.
- the client with identifier '01' is delivered a stream sequence with 9 consecutive segments, wherein the 3 first ones contain audio and/video data issued from the multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_0, the 3 next ones contain audio and/video data issued from the corresponding multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_1, and the last one contains audio and/video data issued from the corresponding multicast segment.
- the client with identifier '10' is delivered a stream sequence with 9 consecutive segments, wherein the 3 first ones contain audio and/video data issued from the multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_1, the 3 next ones contain audio and/video data issued from the corresponding multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_0, and the last one contains audio and/video data issued from the corresponding multicast segment.
- the client with identifier '11' is delivered a stream sequence with 9 consecutive segments, wherein the 3 first ones contain audio and/video data issued from the multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_1, the 3 next ones contain audio and/video data issued from the corresponding multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_1, and the last one contains audio and/video data issued from the corresponding multicast segment.
- analysing consecutives sequence of segments enable retrieving the inserted watermarks at the predetermined timeslots dedicated to customized data and deduce therefrom from which client the copy originates.
- more than two versions of the segments exist for each segment timeslot intended for customized data.
- the quantity Qv of versions of eah segment is the quantity of watermark possible variants in each customized data segment.
- this particular embodiment enables increasing the quantity of clients that can be simultaneously managed while maintaining a reasonable time to acquire, from the audio and/or video data stream, watermark for a complete identifier.
- the benefits of multicast transmission are preserved, at the cost of extra processing and storage resources to generate and make available the various versions for each segment timeslot intended for customized data.
- one tenth of the segments may be issued by the unicast server equipment part 201a for each stream delivered to a client 111, 112, 113, 114. This is significantly advantageous in terms of bandwidth resources consumption, as well as of processing resources at the unicast server equipment part 201a.
- plural multicast streams may be available in parallels for the same representation (audio and/video quality), one multicast stream for each group of a predefined set of groups, each group having its own identifier.
- the same principle applies for the multicast segments as explained above for the customized unicast segments.
- Two versions of the segments exist for each timeslot intended for multicast data, one (M_0) with one watermark when the timeslot corresponds to a digit of the group identifier which equals to '0' and one (M_1) with one other watermark when the timeslot corresponds to a digit of the group identifier which equals to ' 1'.
- Such an approach enables managing more users without increasing too much recourse to unicast transmissions, considering that part of the user identifier is formed by the identifier of the group to which said user belongs.
- more than two versions of the common data segments may exist for each segment timeslot intended for watermarked common data.
- the quantity Qv of versions of eah segment is the quantity of watermark possible variants in each common data segment.
- plural segments timeslots intended for customized data are most likely to be consecutive in sequence, in order to allow enough display time for the customized data contained therein (e.g., for displaying an audio-visual commercial adapted to client's profile).
- the client with identifier '00' is delivered, at each segment timeslot intended for customized data, audio and/or video data segments that are specifically selected according to the corresponding client identifier, or information derived therefrom.
- the clients with other identifiers are delivered distinct audio and/or video segment content during these segments timeslots.
- more than two versions of the segments may exist for each segment timeslot intended for customized data in the scope of the advertisement context.
- the quantity of versions Qv represents the quantity of alternative advertisement programs concurrently available. For example, users are divided into a predefined set of profiles (e.g., according to users' age or interests), each one with a unique identifier, and the advertisement program to be delivered as customized data to such or such user depends on the profile to which said user has been affected.
- Fig. 5A schematically represents streams of segments for enabling per-client customization in different groups of clients, according to a first embodiment.
- clients of the audio and/or video content delivery system 100 are gathered by groups and one multicast stream is generated and transmitted per group.
- Groups of clients are for example formed by geographical (location, as revealed by IP addresses of the clients) grouping.
- the sequence of segment timeslots dedicated to common data and to customized data differs from one group to another.
- the positions of the segments that contain common data are the 1 st , 2 nd , 3 rd , 5 th , 6 th , 7 th and 9 th positions and those of the segments that contain customized data are the 4 th and 8 th positions.
- the positions of the segments that contain common data are the 1 st , 2 nd , 5 th , 6 th , 7 th , 8 th and 9 th positions and those of the segments that contain customized data are the 3 rd and 4 th positions.
- the positions of the segments that contain common data are the 1 st , 2 nd , 4 th , 6 th , 7 th , 8 th and 9 th positions and those of the segments that contain customized data are the 3 rd and 5 th positions. As shown in Fig. 5A , only some positions may be in common from one group to another group for placing customized data.
- the customized data segments are present at predefined timeslots in the audio and/or video stream, and at least some of the predefined timeslots happen at different point in time from one group to any other group. It enables ensuring that not all clients would solicit the unicast server equipment part at the same time (if all the segment timeslots dedicated to customized data are uniquely assigned to any group, only the clients of the same group simultaneously solicit the unicast server equipment part 201a), which thus smooths solicitation peaks for the unicast server equipment part 201a.
- a second embodiment is shown in Fig. 5B .
- the sequence of segment timeslots dedicated to common data and to customized data differs from one group to another.
- one or more segments timeslot in the sequence are dedicated to customized data for any and all group (at the 4 th position in Fig. 3B ).
- regularly one or more predefined timeslots for customized data segment are common to all groups, while other predefined timeslots for customized data segment happen at different point in time from one group to any other group.
- it creates a regular peak of solicitations toward the unicast server equipment part 201a, it ensures more particularly in the watermarking use case that a complete single audio and/or video stream cannot be rebuilt from plural streams addressed to respective clients.
- the scheme shown in Fig. 5A or 5B further enables identifying from which group a leak (copy) comes and the source of the leak within the group, which might facilitate investigations.
- the group in which a client belongs defines Uniform Resource Locator (URL) or Uniform Resource Indication (URI) path inserted in a manifest file delivered to said client for providing location information about the segments (distinct Uniform Resource Locator or Uniform Resource Indication path information from one group to another).
- URL Uniform Resource Locator
- URI Uniform Resource Indication
- the manifest file (also referred to as playlist file) describes how the audio and/or video stream is organized. It provides information about the audio and/or video content. It may for example indicate in which representations (qualities) the audio and/or video content is available in case of adaptive bitrate (ABR). It may for example provide addresses for joining such or such multicast communication related to the audio and/or video content in question or for contacting the unicast server equipment part 121a, also this information may be known by many other ways.
- ABR adaptive bitrate
- the manifest file may include URL or URI path information adapted according to the client (identifier), and possibly to the group to which the client belongs.
- the manifest file is thus specific to each client and points directly to the customized segment to be served. With this URL or URI path information, information to be retained by the unicast server equipment part 121a during audio and/or video content delivery sessions is limited.
- the manifest file is independent from the client requesting it.
- the server equipment 121 decides on its own which appropriate customized segment (e.g., whether segment in the version U_1 or U_0 should be delivered).
- the server equipment 121 uses a client identifier indication contained in each unicast request for customized data.
- the server equipment 121 knows therefrom and from knowledge of the segment timeslot concerned which appropriate customized data have to be transmitted in response.
- Fig. 6 schematically represents an algorithm for building an audio and/or video content stream including customized data.
- the algorithm of Fig. 6 is a method implemented by a device of the audio and/or video content delivery system 100 which receives data in multicast form as well as data in unicast form so as to rebuild a complete audio and/video stream to be displayed.
- the algorithm of Fig. 6 is implemented by the client 111.
- the algorithm of Fig. 6 is implemented by the multicast-to-unicast converter agent 102a.
- Fig. 3C the algorithm of Fig. 6 is implemented by the client 111.
- the method comprises obtaining a client identifier.
- the client identifier corresponds to the client to which the audio and/or video stream is intended.
- the multicast-to-unicast converter agent 102a obtains the client identifier from the unicast exchanges occurring with the client 111.
- the method may comprise obtaining information derived from the client identifier.
- the method preferably comprises generating a bitstream of successive repetitions of the client identifier or of the information derived therefrom, so that at least one digit (typically U_0 or U_1) of said bitstream can be associated with each unicast segment for customized data.
- the information derived from the client identifier may include predefined separators (predefined successions of digits specific to uniquely represent said separator and not used for client identification).
- predefined separators predefined successions of digits specific to uniquely represent said separator and not used for client identification.
- the method comprises getting common segments provided by the multicast server equipment part 201b.
- the method comprises obtaining the next digit(s) in the bitstream generated from the group identifier of the group which the client belongs which is(are) associated with each common segment to be obtained and the multicast server equipment part 201a transmits, for further delivery to the client in question, the common segments corresponding to said digit(s).
- the method comprises getting customized segments provided by the unicast server equipment part 201b.
- the customized segments depends on the client identifier, or on the information derived therefrom, obtained in the step 600, as already disclosed.
- the method comprises obtaining the next digit(s) in the bitstream generated from the client identifier which is(are) associated with each customized segment to be obtained and the unicast server equipment part 201b transmits, for further delivery to the client in question, the customized segments corresponding to said digit(s).
- the server equipment 121 transmits the customized data segments at lower throughput than the common data segments. It enables lowering peaks of uncast solicitations for obtaining customized data.
- the method comprises building an audio and/video stream from the segments provided by the unicast and multicast server equipment parts, so that the rebuilt audio and/video content is partly customized to the client in question.
- the method comprises replacing, at the segment timeslots dedicated to customized data, the multicast segment by the corresponding unicast segment containing the customized data (e.g., watermark).
- This operation has however to be performed by a trusted device, since the whole audio and/video content could be played only with the multicast data.
- Withdrawal of the common segments for further replacement by customized data may be forced by the multicast server equipment part 201a using group encryption schemes. Only a legitimate group of receivers is capable of decrypting the common segments using suitable decryption key(s).
- Transmitting to a receiver common segments that said receiver is not capable of decrypting makes said receiver forcibly delete or ignore the common data and request customized data instead.
- This arrangement is particularly suitable when multicast is performed using broadcast infrastructure (broadcast transmissions being a particular type of multicast transmissions).
- a trusted broadcast receiver replaces, whenever appropriate, common segments received via a broadcast (multicast) transmission by customized segments requested by the trusted broadcast receiver to the unicast server equipment part 201b.
- This arrangement also applies to a trusted box, such as a set-top box, interacting with the client and delivering the audio and/video content to the client.
- This arrangement also applies to a trusted module embedded in the client.
- segments are missing in the multicast stream transmitted by the multicast server equipment part 201b.
- the missing segments leave room for inserting the unicast segments including the customized data (e.g., watermark).
- Specific signaling may be used by the multicast server equipment part 201b to notify segments that are intentionally missing for further customized data insertion.
- the stream is made available for display.
- the client 111 builds and displays the audio and/or video stream. These two operations may be done by distinct modules, hardware and/or software, in the client 111.
- the multicast-to-unicast converter agent 102a builds the audio and/or video stream, and transmits it in unicast form to the client 111 for display.
- the client 114 builds and displays the audio and/or video stream. These two operations may be done by distinct modules, hardware and/or software, in the client 114.
- Fig. 7A schematically represents an algorithm for managing transmission of segments in a per-client customized audio and/or video content stream, in one embodiment.
- the algorithm of Fig. 7A is a method implemented by the unicast server equipment part 121b.
- the unicast server equipment part 121b receives a unicast segment request.
- the request thus targets customized data.
- the unicast server equipment part 121b determines for which client the targeted customized data are intended.
- the unicast server equipment part 121b obtains the identifier of the client in question. Typically, the identifier of the client is indicated in the request.
- the unicast server equipment part 121b checks whether or not the client is allowed to request the segment in question. For example, the unicast server equipment part 121b checks whether or not the requested segment corresponds to a segment timeslot in which customized data are planned to be transmitted. For example, the unicast server equipment part 121b checks whether or not the requested segment corresponds to a timeslot in which customized data are planned to be transmitted for a group of clients to which the client in question belongs. It can further be noted that signatures or the like may be applied or added to the request to ensure reliability of the origin of the request (trusted device).
- the result of the check is processed in a step 703: when the client is allowed to request the segment in question, a step 704 is performed; otherwise, a step 705 is performed.
- the unicast server equipment part 121b transmits a customized segment in response to the request.
- the unicast server equipment part 121b determines which version to transmit from the segment timeslot concerned and the identifier, and possibly the group, of the client in question.
- the request contains an indication (such as a dedicated URL or URI path) of the version to be provided.
- the unicast server equipment part 121b refuses the request, since the segment that is requested does not match the client identifier associated with the request.
- Fig. 7B schematically represents an algorithm for managing transmission of segments in a per-client customized audio and/or video content stream, in another embodiment.
- the algorithm of Fig. 7B is a method implemented by the unicast server equipment part 121b, which provides unicast data either for customized segments or for repairing segments. Repairing segments are unicast segments that are transmitted for repairing common (multicast) segments that have not been received or that have been received with errors.
- the unicast server equipment part 121b receives a unicast segment request.
- the unicast server equipment part 121b determines whether the request targets customized data or common data for repairing considerations. When the request targets customized data, a step 713 is performed; otherwise, a step 712 is performed.
- the unicast server equipment part 121b transmits a common data segment in response to the request for repairing considerations.
- the unicast server equipment part 121b determines for which client the targeted customized data are intended.
- the unicast server equipment part 121b obtains the identifier of the client in question. Typically, the identifier of the client is indicated in the request.
- the unicast server equipment part 121b checks whether or not the client is allowed to request the segment in question. For example, the unicast server equipment part 121b checks whether or not the requested segment corresponds to a segment timeslot in which customized data are planned to be transmitted. For example, the unicast server equipment part 121b checks whether or not the requested segment corresponds to a timeslot in which customized data are planned to be transmitted for a group of clients to which the client in question belongs. It can further be noted that signatures or the like may be applied or added to the request to ensure reliability of the origin of the request (trusted device).
- the result of the check is processed in a step 715: when the client is allowed to request the segment in question, a step 716 is performed; otherwise, a step 717 is performed.
- the unicast server equipment part 121b transmits a customized segment in response to the request.
- the unicast server equipment part 121b determines which version to transmit from the segment timeslot concerned and the identifier, and possibly the group, of the client in question.
- the request contains an indication (such as a dedicated URL or URI path) of the version to be provided.
- the unicast server equipment part 121b refuses the request, since the segment that is requested does not match the client identifier associated with the request.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
- The present invention generally relates to delivering, from a server equipment to a client, an audio and/or video content including data customized to the client.
- HTTP-based streaming technologies are very convenient, as HTTP allows going through firewalls and guarantees data integrity by relying on TCP ("Transmission Control Protocol", as defined by the normative document RFC 793). HTTP-based streaming technologies are nowadays becoming widely used over the Internet for delivery audio and/or video contents, for example using adaptive bitrate (ABR) approach to ensure service continuity in varying network conditions and consequently provide enhanced end-user experience.
- Accesses to audio and/or video contents are more and more performed on-demand. Content providers are more and more willing to address personalized additional content (such as targeted advertisements) to the users or terminals to which the audio and/or video content is delivered. As illustratively disclosed below with watermarking and personalized advertisement use cases, there are thus many situations in which it is desirable to enable providing customized data when delivering an audio and/or video content to a user or terminal.
- According to first use case, studios as well as audio and/or video content providers require that high-quality content streamed over the Internet is protected by a watermark, or the like, in order to help struggling against illegal or unsolicited copying of the audio and/or video content. Watermark is a hidden mark inside the audio and/or video content, which is invisible to human perception when the audio and/or video content is being played. Such a watermark is typically persistent against copying and altering the audio and/or video content (using error correcting codes or traitor tracing codes such as Tardos codes) to cope with accidental or malicious modifications thereof. In case of presence of copy, the watermark can be extracted therefrom and the leak can be traced back to the person who shared the copy of the audio and/or video content. To be efficient, the watermark (i.e., a sequence of '0' and '1' binary codes) shall be uniquely associated with the user or terminal to which the audio and/or video content is delivered.
- When using watermarking in online streaming, audio and/or video content segments delivered to the user or terminal depend on an identifier of the user or terminal, or information uniquely derived from said identifier. Each segment is quoted from either a set A of first segments (e.g., marked with a '0' binary code) or a set B of second segments (e.g., marked with a '1' binary code) so that the watermark included in consecutive segments of the audio and/or video content form the identifier of the user or terminal, so as to be retrievable from the consecutive segments. Considering a schematical example of an identifier that equals to '00011010110', the audio and/or video content delivered to the terminal is built from consecutive segments quoted from the sets A and B as follows: AAABBABABBA. This can easily be achieved by encoding and storing only two copies of the audio and/or video content segments (one for the set of segments A (e.g., marked with a '0' binary code) and one for the set of segments B (e.g., marked with a '1' binary code)) thus leading to optimized processing resources usage of encoders and storage resources usage of server equipment.
- According to second use case, content providers wish to provide customized advertisement content to each user or terminal. In this case, the content providers wish to deliver a same audio and/or video content to plural clients, and to further deliver at some points customized (per client) advertisement.
- The unicast nature of HTTP enables easily performed per-client customization. However, the unicast nature of HTTP is challenging for infrastructure seizing, since clients may massively solicit server equipment concurrently. It thus requires numerous server processing resources (machines...) to process clients requests, as well as high-bandwidth communications networks to interconnect numerous clients to the server equipment.
- In order to cope with consumption of processing and bandwidth resources, it is known to rely on multicast transmissions, as far as live streaming is concerned. However, multicast is contradictory to per-client customization.
- It is thus desirable to overcome the foregoing drawbacks of the prior art, and more particularly to provide a solution to enable per-client customization while delivering an audio and/or video content from a server equipment in a Content Delivery Network (CDN) to a plurality of clients, while enhancing consumption of processing and bandwidth resources. It is in particular desirable to provide a solution that operates for per-client watermarking considerations. It is in particular desirable to provide a solution that operates for per-client advertisement considerations. It is in particular desirable to provide a solution that is simple and cost-effective.
- To that end, it is disclosed herein a method for delivering customized audio and/or video streams from a server equipment to a plurality of clients in a content delivery network CDN, the audio and/or video streams being segmented over time into data segments, wherein the method comprises: delivering common data segments via a multicast communication, common data segments being audio and/or video data segments intended to the plurality of clients; delivering customized data segments via unicast communications, customized data segments being audio and/or video data segments specifically intended for each client; and building, for each client according to an identifier of the client in question or information derived therefrom, one said customized audio and/or video stream from common data segments provided in multicast form by the server equipment and further including customized data segments provided in unicast form by the server equipment for customization to the client in question, wherein one or more customized data segments are interleaved between common data segments. Thus, per-client customization is achieved, while consumption of processing and bandwidth resources is enhanced by relying on multicast communications for common data segments.
- According to a particular embodiment, the clients are gathered by groups, the customized data segments are present at predefined timeslots in the audio and/or video streams, and at least some of the predefined timeslots happen at different point in time from one group to any other group. Thus, load of the server equipment is reduced by spraying over time unicast requests for obtaining the customized data segments used for per-client customization.
- According to a particular embodiment, regularly one or more predefined timeslots for customized data segments are common to all groups, while other predefined timeslots for customized data segments happen at different point in time from one group to any other group. Thus, unicast solicitations of the server equipment for obtaining customized data are spread over time, and thus less resources are needed to deliver the customized data.
- According to a particular embodiment, the server equipment transmits the customized data segments at lower throughput than the common data segments. Thus, peaks of processing resources consumption at the server equipment are lowered since lower throughput is enforced for unicast communications than for multicast communications.
- According to a particular embodiment, the customized data are watermark specific to the identifier of the client or to information derived therefrom. Thus, retrieval of identification of a user from which a copy of the audio and/or video stream has leaked can be easily achieved although processing and network resources usage has been enhanced thanks to multicast communications.
- According to a particular embodiment, a quantity of plural versions Qv is available for each customized data segment, each customized data segment including only a portion of the identifier of the client or of the information derived therefrom, the quantity Qv being the quantity of watermark possible variants in each customized data segment. Thus, watermarking can easily be achieved.
- According to a particular embodiment, the clients are gathered by groups, the common data segments for each group are present at predefined timeslots in the audio and/or video stream, the common data are watermarked specifically to an identifier of the group to which the common data are intended, or to information derived therefrom, and a quantity of plural versions Q'v is available for each common data segment, each common data segment including only a portion of the identifier of the group or of the information derived therefrom, the quantity Q'v being the quantity of watermark possible variants in each common data segment. Thus, watermarking can easily be achieved on a group basis with need of low quantity of versions for each segment.
- According to a particular embodiment, the customized data are advertisement data. Thus, per-client advertisement customization can be achieved while enhancing processing and network resources usage thanks to multicast communications.
- According to a particular embodiment, for at least one client, the audio and/or video stream is built by an agent in a device interconnecting a first network via which the at least one client in question is made accessible to the agent and a second network via which the server equipment is made accessible to the agent, the agent communicating with the at least one client in unicast form, the agent performing a multicast-to-unicast conversion of the common data received in multicast form from the server equipment. Thus, the multicast nature of transmissions of common data may be hidden to the clients, which means that the usage of multicast transmissions is transparently put in place for unicast-only clients, while still benefiting from the network resources consumption advantages of the multicast transmissions.
- According to a particular embodiment, for at least one client, the audio and/or video stream is built by the at least one client in question, the at least one client obtains the customized data from the server equipment and obtains the common data from an agent communicating with which the at least one client communicates in unicast form, the agent being embedded in a device interconnecting a first network via which the at least one client in question is made accessible to the agent and a second network via which the server equipment is made accessible to the agent, the agent performing a multicast-to-unicast conversion of the common data received in multicast form from the server equipment. Thus, the multicast nature of transmissions of common data may be hidden to the clients (in a different approach as above), which means that the usage of multicast transmissions is transparently put in place for unicast-only clients, while still benefiting from the network resources consumption advantages of the multicast transmissions.
- According to a particular embodiment, the server equipment delivers continuous segments in multicast form and the audio and/or video stream is built by replacing segments received in multicast form by customized data segments. Thus, multicast transmissions are easily managed.
- It is further proposed a content delivery network CDN configured for delivering a customized audio and/or video stream from a server equipment of the content delivery network CDN to a plurality of clients, the audio and/or video stream being segmented over time into segments, wherein the content delivery network CDN comprises electronics circuitry configured for: delivering common data segments via a multicast communication, common data segments being audio and/or video data segments intended to the plurality of clients; delivering customized data segments via unicast communications, customized data segments being audio and/or video data segments specifically intended for each client; building, for each client according to an identifier of the client in question or information derived therefrom, the customized audio and/or video stream from common data segments provided in multicast form by the server equipment and further including customized data segments provided in unicast form by the server equipment for customization to the client in question, wherein one or more customized data segments are interleaved between common data segments.
- According to a particular embodiment, the content delivery network CDN is arranged such that the customized data are watermark specific to the identifier of the client or to information derived therefrom.
- According to a particular embodiment, the content delivery network CDN is arranged such that the customized data are advertisement data.
- The characteristics of the invention will emerge more clearly from a reading of the following description of at least one embodiment, said description being produced with reference to the accompanying drawings, among which:
-
Fig. 1 schematically represents an audio and/or video content delivery system in which the present invention may be implemented; -
Fig. 2 schematically represents an example of hardware architecture of a device usable in the scope of the audio and/or video content delivery system; -
Fig. 3A schematically represents transmission paths of data for building an audio and/or video content stream delivered to a client in the audio and/or video content delivery system, according to a first embodiment; -
Fig. 3B schematically represents transmission paths of data for building an audio and/or video content stream delivered to a client in the audio and/or video content delivery system, according to a second embodiment; -
Fig. 3C schematically represents transmission paths of data for building an audio and/or video content stream delivered to a client in the audio and/or video content delivery system, according to a third embodiment; -
Fig. 4 schematically represents candidate successions of segments for illustratively enabling building four per-client customized audio and/or video content streams; -
Fig. 5A schematically represents streams of segments for enabling per-client customization in different groups of clients, according to a first embodiment; -
Fig. 5B schematically represents streams of segments for enabling per-client customization in different groups of clients, according to a second embodiment; -
Fig. 6 schematically represents an algorithm for building an audio and/or video content stream including customized data; -
Fig. 7A schematically represents an algorithm for managing transmission of segments in a per-client customized audio and/or video content stream, in one embodiment.; and -
Fig. 7B schematically represents an algorithm for managing transmission of segments in a per-client customized audio and/or video content stream, in another embodiment. -
Fig. 1 schematically represents an audio and/or videocontent delivery system 100 comprising aserver equipment 121 configured to deliver audio and/or video contents toclients content delivery system 100 is dedicated to delivery of live audio and/or video contents (e.g., TV channel, sport event...). Audio and/or video contents are divided into consecutive segments, which are numbered and/or time-referenced for identification purpose. Dividing into segments eases transmission and recovery over communication networks. - The server equipment comprises a unicast
server equipment part 121a and a multicastserver equipment part 121b. The unicastserver equipment part 121a and the multicastserver equipment part 121b are jointly used, as detailed hereinafter, to deliver audio and/or video contents data as well as customized data to theclients server equipment 121 may be a single server machine or a cluster of server machines. For instance, the unicastserver equipment part 121a and multicastserver equipment part 121b are located on distinct server machines. - The
client 111 may communicate with theserver equipment 121 through anetwork interconnecting device 101a, such as a home gateway, configured to interconnect afirst network 120, via which theserver equipment 121 is made accessible to thenetwork interconnecting device 101a, and asecond network 110a, via which theclient 111 is made accessible to thenetwork interconnecting device 101a. For instance, thefirst network 120 is Wide Area Network (WAN), such as the Internet, and the second network is a Local Area Network (LAN), such as a wireless LAN according to the IEEE 80.11 set of standard specifications. - Identically, the
clients server equipment 121 through anetwork interconnecting device 101b, such as a home gateway, configured to interconnect thefirst network 120 and anothersecond network 110b, via which theclients network interconnecting device 101b. - The
network interconnecting devices unicast converter agents unicast converter agents server equipment 121 in multicast form and convert them into unicast form in order to permanently communicate with theclients server equipment 121 to thenetwork interconnecting devices unicast converter agents server equipment 121 in multicast form with audio and/or video segments received from theserver equipment 121 in unicast form. - The
client 114 may communicate with theserver equipment 121 through awireless access network 130 to which thefirst network 120 is connected. For instance, thewireless access network 130 is a cellular communications network according to the 3GPP Long Term Evolution (LTE) set of standard specifications. - The
client 114 includes a unicast and multicast capable transmission interface. For instance, theclient 114 may implement 3GPP Multimedia Broadcast Multicast Service (MBMS) features. Theclient 114 is thus able to receive audio and/or video segments from theserver equipment 121 in multicast form. Theclient 114 complements the audio and/or video segments received from theserver equipment 121 in multicast form with audio and/or video segments received from theserver equipment 121 in unicast form. - The
clients clients server equipment 121 with common data issued by the multicastserver equipment part 121b and customized data issued by the unicastserver equipment part 121a. The delivery of audio and/or video contents thus benefits from bandwidth saving advantages of multicast transmissions and customized data can nevertheless be provided on a per-client basis. Various embodiments for building such customized audio and/or video contents are disclosed herein. -
Fig. 2 schematically represents an example ofhardware architecture 200 usable in the scope of the audio and/or videocontent delivery system 100. Thehardware architecture 200 may be part of theserver equipment 121. Thehardware architecture 200 may be part of thenetwork interconnecting devices unicast converter agents hardware architecture 200 may be part of terminals implementing theclients - The
hardware architecture 200 comprises the following components interconnected by a communications bus 210: a processor, microprocessor, microcontroller or CPU (Central Processing Unit) 201; a RAM (Random-Access Memory) 202; a ROM (Read-Only Memory) 203, such as an EEPROM (Electrically Erasable Programmable ROM), for example a Flash memory; a HDD (Hard-Disk Drive) 204, or any other device adapted to read information stored on a storage medium, such an SD (Secure Digital) card reader; at least onecommunication interface COM 205. -
CPU 201 is capable of executing instructions loaded intoRAM 202 fromROM 203 or from an external memory, such asHDD 204 or an SD card. After thehardware architecture 200 has been powered on,CPU 201 is capable of reading instructions fromRAM 202 and executing these instructions. The instructions form one computer program that causesCPU 201 to execute the steps and behaviors disclosed herein with respect to theserver equipment 121, the multicast-to-unicast converter agents clients - Thus, the steps and algorithms described herein may be implemented in software form by execution of a set of instructions or program by a programmable computing machine, such as a PC, a DSP (Digital Signal Processor) or a processor; or else implemented in hardware form by a machine or a dedicated component, chip or chipset, such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit). More generally, the
server equipment 121, the multicast-to-unicast converter agents clients -
Figs. 3A, 3B and 3C schematically represent various embodiments of transmission paths of data for building an audio and/or video content stream delivered to a client, such as theclient content delivery system 100. - In
Fig. 3A , theclient 111 receives first segments in unicast form from the multicast-to-unicast converter agent 102a. These first segments result from multicast-to-unicast conversion of segments received in multicast form from the multicastserver equipment part 121b. Since the first segments are transmitted by the multicastserver equipment part 121b in multicast form, they correspond to parts of the audio and/video streams which are common to all clients to which the multicast transmission is intended at the end. Theclient 111 further receives second segments in unicast form during unicast exchanges between theclient 111 and the unicastserver equipment part 121a. The second segments correspond to parts of the audio and/video streams which are customized per client. These unicast exchanges may occur through thenetwork interconnecting devices 101a (e.g., for Network Address Translation (NAT) considerations), but out of operational framework of the multicast-to-unicast converter agent 102a. In a variant, these exchanges occur via distinct network access, for example via another wireless access network such as a cellular communications network. Theclient 111 thus receives segments issued by the unicastserver equipment part 121a, for customized data, and segments issued by the multicastserver equipment part 121b, for common data. - In
Fig. 3B , theclient 111 receives all segments in unicast form from the multicast-to-unicast converter agent 102a. The multicast-to-unicast converter agent 102a receives first segments in multicast form from the multicastserver equipment part 121b. These first segments correspond to parts of the audio and/video streams which are common to all clients to which the multicast transmission is intended at the end. The multicast-to-unicast converter agent 102a further receives second segments in unicast form from the unicastserver equipment part 121a. The second segments correspond to parts of the audio and/video streams which are customized per client. The multicast-to-unicast converter agent 102a builds a stream of audio and/or video data issued from the second segments and audio and/or video data issued from multicast-to-unicast conversion of the first segments. The multicast-to-unicast converter agent 102a then transmits this stream in unicast form to theclient 111. Theclient 111 thus receives segments issued by the unicastserver equipment part 121a, for customized data, and segments issued by the multicastserver equipment part 121b, for common data. It can be noted that the arrangement ofFig. 3B can be implemented elsewhere than in a network interconnecting device such as a home gateway. Indeed, it can be implemented in a trusted box, such as a set top box, which interacts with theserver equipment 121 and performs multicast-to-unicast conversion for the common data and ensure inclusion of customized data in the audio and/or video stream delivered to theclient 111. - Since in
Fig. 3B , the customized data are received via an intermediary device, namely the multicast-to-unicast converter agent 102a or the set top box, which rebuilds the audio and/or video stream on behalf of theserver equipment 121 and theclient 111, entrustment of the multicast-to-unicast converter agent 102a or set top box may be confirmed beforehand by authentication exchanges. - In
Fig. 3C , theclient 114 receives first segments in multicast form from the multicastserver equipment part 121b. These first segments correspond to parts of the audio and/video streams which are common to all clients to which the multicast transmission is intended at the end. Theclient 114 further receives second segments in unicast form from the unicastserver equipment part 121a. The second segments correspond to parts of the audio and/video streams which are customized per client. Theclient 111 thus receives segments issued by the unicastserver equipment part 121a, for customized data, and segments issued by the multicastserver equipment part 121b, for common data. Theclient 114 creates a stream of audio and/or video data issued from the second segments and audio and/or video data issued from multicast-to-unicast conversion of the first segments. -
Fig. 4 schematically represents candidate successions of segments for illustratively enabling building four per-client customized audio and/or video content streams.Fig. 4 illustratively considers 9 consecutive segment timeslots in an audio and/or video stream. In the 9 consecutive segment timeslots, the 3 first segment timeslots in sequence provide audio and/or video data coming from segments transmitted in multicast form. This part of the audio and/or video content delivered for being played corresponds to common data. The subsequent segment timeslot in sequence provides audio and/or video data coming from segments transmitted in unicast form. This part of the audio and/or video content delivered for being played corresponds to customized data. Then, the 3 following segment timeslots in sequence provide audio and/or video data coming from segments transmitted in multicast form. This part of the audio and/or video content delivered for being played corresponds to common data. Then, the subsequent segment timeslot in sequence provides audio and/or video data coming from segments transmitted in unicast form. This part of the audio and/or video content delivered for being played corresponds to customized data. Finally, the last segment timeslot in sequence provides audio and/or video data coming from segments transmitted in multicast form. This part of the audio and/or video content delivered for being played corresponds to common data. - Considering the particular embodiment of watermarking,
Fig. 4 shows principles of building four audio and/or video streams customized for four distinct clients. Let's consider that the four clients have been assigned distinct identifiers, represented here on 2 digits ('00','01','10','11'). Theserver equipment 121 has some segments that contain data common to plural clients and that do not contain watermark and has some segments that contain data customized per client. The positions of the segments that contain common data (1st, 2nd, 3rd, 5th, 6th, 7th and 9th positions in the sequence ofFig. 4 ) and of the segments that contain customized data (4th and 8th positions in the sequence ofFig. 4 ) are predetermined. - The customized data depend on the client identifier, or of information derived therefrom. Each timeslot intended for customized data is associated with one digit of the identifiers (in
Fig. 4 , the 4th position in the considered sequence is associated with the left digit of the identifier and the 8th position in the considered sequence is associated with the right digit of the identifier). Two versions of the segments exist for each timeslot intended for customized data, one (U_0) with one watermark when the timeslot corresponds to a digit of the client identifier, or of the information derived therefrom, which equals to '0' and one (U_1) with one other watermark when the timeslot corresponds to a digit of the client identifier, or of the information derived therefrom, which equals to '1'. - For example, the client with identifier '00' is delivered a stream sequence with 9 consecutive segments, wherein the 3 first ones contain audio and/video data issued from the multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_0, the 3 next ones contain audio and/video data issued from the corresponding multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_0, and the last one contains audio and/video data issued from the corresponding multicast segment. The client with identifier '01' is delivered a stream sequence with 9 consecutive segments, wherein the 3 first ones contain audio and/video data issued from the multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_0, the 3 next ones contain audio and/video data issued from the corresponding multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_1, and the last one contains audio and/video data issued from the corresponding multicast segment. The client with identifier '10' is delivered a stream sequence with 9 consecutive segments, wherein the 3 first ones contain audio and/video data issued from the multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_1, the 3 next ones contain audio and/video data issued from the corresponding multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_0, and the last one contains audio and/video data issued from the corresponding multicast segment. The client with identifier '11' is delivered a stream sequence with 9 consecutive segments, wherein the 3 first ones contain audio and/video data issued from the multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_1, the 3 next ones contain audio and/video data issued from the corresponding multicast segments, the next one contains audio and/video data issued from the corresponding segment in the version U_1, and the last one contains audio and/video data issued from the corresponding multicast segment. Thus, when a copy of the audio and/or video content is found, analysing consecutives sequence of segments enable retrieving the inserted watermarks at the predetermined timeslots dedicated to customized data and deduce therefrom from which client the copy originates.
- In a particular embodiment, more than two versions of the segments exist for each segment timeslot intended for customized data. The quantity Qv of versions of eah segment is the quantity of watermark possible variants in each customized data segment. For example, the quantity of versions Qv available depends on the quantity Qd of (binary) digits which are represented by the watermark in the customized data segment timeslot, with Qv = 2 Qd . Since the proportion of multicast segments (not customized) among all segments delivered to a
client client - It appears from the foregoing example that one tenth of the segments may be issued by the unicast server equipment part 201a for each stream delivered to a
client - In a particular embodiment, plural multicast streams may be available in parallels for the same representation (audio and/video quality), one multicast stream for each group of a predefined set of groups, each group having its own identifier. In this case, the same principle applies for the multicast segments as explained above for the customized unicast segments. Two versions of the segments exist for each timeslot intended for multicast data, one (M_0) with one watermark when the timeslot corresponds to a digit of the group identifier which equals to '0' and one (M_1) with one other watermark when the timeslot corresponds to a digit of the group identifier which equals to ' 1'. Such an approach enables managing more users without increasing too much recourse to unicast transmissions, considering that part of the user identifier is formed by the identifier of the group to which said user belongs. It can further be noted that more than two versions of the common data segments may exist for each segment timeslot intended for watermarked common data. The quantity Qv of versions of eah segment is the quantity of watermark possible variants in each common data segment. For example, the quantity of versions Q'v available depends on the quantity Q'd of (binary) digits which are represented by the watermark in the common data segment timeslot, with Q'v = 2 Q'd.
- Now considering the particular embodiment of advertisement, plural segments timeslots intended for customized data are most likely to be consecutive in sequence, in order to allow enough display time for the customized data contained therein (e.g., for displaying an audio-visual commercial adapted to client's profile). However, the principles of
Fig. 4 still apply. For example, the client with identifier '00' is delivered, at each segment timeslot intended for customized data, audio and/or video data segments that are specifically selected according to the corresponding client identifier, or information derived therefrom. The clients with other identifiers are delivered distinct audio and/or video segment content during these segments timeslots. - In another particular embodiment, more than two versions of the segments may exist for each segment timeslot intended for customized data in the scope of the advertisement context. The quantity of versions Qv represents the quantity of alternative advertisement programs concurrently available. For example, users are divided into a predefined set of profiles (e.g., according to users' age or interests), each one with a unique identifier, and the advertisement program to be delivered as customized data to such or such user depends on the profile to which said user has been affected.
-
Fig. 5A schematically represents streams of segments for enabling per-client customization in different groups of clients, according to a first embodiment. - In this embodiment, clients of the audio and/or video
content delivery system 100 are gathered by groups and one multicast stream is generated and transmitted per group. Groups of clients are for example formed by geographical (location, as revealed by IP addresses of the clients) grouping. The sequence of segment timeslots dedicated to common data and to customized data differs from one group to another. Illustratively, inFig. 5A for Group I, the positions of the segments that contain common data are the 1st, 2nd, 3rd, 5th, 6th, 7th and 9th positions and those of the segments that contain customized data are the 4th and 8th positions. And for Group II, the positions of the segments that contain common data are the 1st, 2nd, 5th, 6th, 7th, 8th and 9th positions and those of the segments that contain customized data are the 3rd and 4th positions. And for Group III, the positions of the segments that contain common data are the 1st, 2nd, 4th, 6th, 7th, 8th and 9th positions and those of the segments that contain customized data are the 3rd and 5th positions. As shown inFig. 5A , only some positions may be in common from one group to another group for placing customized data. In other words, considering that the clients are gathered by groups, the customized data segments are present at predefined timeslots in the audio and/or video stream, and at least some of the predefined timeslots happen at different point in time from one group to any other group. It enables ensuring that not all clients would solicit the unicast server equipment part at the same time (if all the segment timeslots dedicated to customized data are uniquely assigned to any group, only the clients of the same group simultaneously solicit the unicast server equipment part 201a), which thus smooths solicitation peaks for the unicast server equipment part 201a. - A second embodiment is shown in
Fig. 5B . Here still, the sequence of segment timeslots dedicated to common data and to customized data differs from one group to another. However, one or more segments timeslot in the sequence are dedicated to customized data for any and all group (at the 4th position inFig. 3B ). In other words, regularly one or more predefined timeslots for customized data segment are common to all groups, while other predefined timeslots for customized data segment happen at different point in time from one group to any other group. Despite it creates a regular peak of solicitations toward the unicast server equipment part 201a, it ensures more particularly in the watermarking use case that a complete single audio and/or video stream cannot be rebuilt from plural streams addressed to respective clients. - It can be noticed that, in the watermarking use case, the scheme shown in
Fig. 5A or 5B further enables identifying from which group a leak (copy) comes and the source of the leak within the group, which might facilitate investigations. - The group in which a client belongs defines Uniform Resource Locator (URL) or Uniform Resource Indication (URI) path inserted in a manifest file delivered to said client for providing location information about the segments (distinct Uniform Resource Locator or Uniform Resource Indication path information from one group to another).
- The manifest file (also referred to as playlist file) describes how the audio and/or video stream is organized. It provides information about the audio and/or video content. It may for example indicate in which representations (qualities) the audio and/or video content is available in case of adaptive bitrate (ABR). It may for example provide addresses for joining such or such multicast communication related to the audio and/or video content in question or for contacting the unicast
server equipment part 121a, also this information may be known by many other ways. - In order to ensure that the
clients unicast converter agent server equipment part 121a during audio and/or video content delivery sessions is limited. - In a variant, the manifest file is independent from the client requesting it. Thus, the
server equipment 121 decides on its own which appropriate customized segment (e.g., whether segment in the version U_1 or U_0 should be delivered). Theserver equipment 121 uses a client identifier indication contained in each unicast request for customized data. Theserver equipment 121 knows therefrom and from knowledge of the segment timeslot concerned which appropriate customized data have to be transmitted in response. -
Fig. 6 schematically represents an algorithm for building an audio and/or video content stream including customized data. The algorithm ofFig. 6 is a method implemented by a device of the audio and/or videocontent delivery system 100 which receives data in multicast form as well as data in unicast form so as to rebuild a complete audio and/video stream to be displayed. ConsideringFig. 3A , the algorithm ofFig. 6 is implemented by theclient 111. ConsideringFig. 3B , the algorithm ofFig. 6 is implemented by the multicast-to-unicast converter agent 102a. ConsideringFig. 3C , the algorithm ofFig. 6 is implemented by theclient 111. - In a step 600, the method comprises obtaining a client identifier. The client identifier corresponds to the client to which the audio and/or video stream is intended. In the case of
Fig. 3B , the multicast-to-unicast converter agent 102a obtains the client identifier from the unicast exchanges occurring with theclient 111. - The method may comprise obtaining information derived from the client identifier. The information derived from the client identifier may result from an error-correcting code (Reed-Solomon, Low-Density Parity-Check (LDPC) code....) applied to the client identifier, for example for obtaining a set of n = 4096 bits from a client identifier represented by k = 32 bits. The method preferably comprises generating a bitstream of successive repetitions of the client identifier or of the information derived therefrom, so that at least one digit (typically U_0 or U_1) of said bitstream can be associated with each unicast segment for customized data. The information derived from the client identifier may include predefined separators (predefined successions of digits specific to uniquely represent said separator and not used for client identification). The same process applies for multicast segments when identification of the group to which the client belongs is performed thanks to watermark data associated with the multicast segments (typically M_0 or M_1).
- In a
step 601, the method comprises getting common segments provided by the multicast server equipment part 201b. Preferably, when identification of the group to which the client belongs is performed thanks to watermark data associated with the multicast segments, the method comprises obtaining the next digit(s) in the bitstream generated from the group identifier of the group which the client belongs which is(are) associated with each common segment to be obtained and the multicast server equipment part 201a transmits, for further delivery to the client in question, the common segments corresponding to said digit(s). - In a
step 602, the method comprises getting customized segments provided by the unicast server equipment part 201b. The customized segments depends on the client identifier, or on the information derived therefrom, obtained in the step 600, as already disclosed. Preferably, the method comprises obtaining the next digit(s) in the bitstream generated from the client identifier which is(are) associated with each customized segment to be obtained and the unicast server equipment part 201b transmits, for further delivery to the client in question, the customized segments corresponding to said digit(s). - In a particular embodiment, the
server equipment 121 transmits the customized data segments at lower throughput than the common data segments. It enables lowering peaks of uncast solicitations for obtaining customized data. - In a step 603, the method comprises building an audio and/video stream from the segments provided by the unicast and multicast server equipment parts, so that the rebuilt audio and/video content is partly customized to the client in question.
- In a first embodiment, no segments are missing in the multicast stream transmitted by the multicast server equipment part 201b. In this case, for building the audio and/video stream, the method comprises replacing, at the segment timeslots dedicated to customized data, the multicast segment by the corresponding unicast segment containing the customized data (e.g., watermark). This operation has however to be performed by a trusted device, since the whole audio and/video content could be played only with the multicast data. Withdrawal of the common segments for further replacement by customized data may be forced by the multicast server equipment part 201a using group encryption schemes. Only a legitimate group of receivers is capable of decrypting the common segments using suitable decryption key(s). Transmitting to a receiver common segments that said receiver is not capable of decrypting makes said receiver forcibly delete or ignore the common data and request customized data instead. This arrangement is particularly suitable when multicast is performed using broadcast infrastructure (broadcast transmissions being a particular type of multicast transmissions). Thus, a trusted broadcast receiver replaces, whenever appropriate, common segments received via a broadcast (multicast) transmission by customized segments requested by the trusted broadcast receiver to the unicast server equipment part 201b. This arrangement also applies to a trusted box, such as a set-top box, interacting with the client and delivering the audio and/video content to the client. This arrangement also applies to a trusted module embedded in the client.
- In a second embodiment, segments are missing in the multicast stream transmitted by the multicast server equipment part 201b. The missing segments leave room for inserting the unicast segments including the customized data (e.g., watermark). Specific signaling may be used by the multicast server equipment part 201b to notify segments that are intentionally missing for further customized data insertion.
- Once the stream is built, the stream is made available for display. Considering
Fig. 3A , theclient 111 builds and displays the audio and/or video stream. These two operations may be done by distinct modules, hardware and/or software, in theclient 111. ConsideringFig. 3B , the multicast-to-unicast converter agent 102a builds the audio and/or video stream, and transmits it in unicast form to theclient 111 for display. ConsideringFig. 3C , theclient 114 builds and displays the audio and/or video stream. These two operations may be done by distinct modules, hardware and/or software, in theclient 114. -
Fig. 7A schematically represents an algorithm for managing transmission of segments in a per-client customized audio and/or video content stream, in one embodiment. The algorithm ofFig. 7A is a method implemented by the unicastserver equipment part 121b. - In a
step 700, the unicastserver equipment part 121b receives a unicast segment request. The request thus targets customized data. - In a
step 701, the unicastserver equipment part 121b determines for which client the targeted customized data are intended. The unicastserver equipment part 121b obtains the identifier of the client in question. Typically, the identifier of the client is indicated in the request. - In a
step 702, the unicastserver equipment part 121b checks whether or not the client is allowed to request the segment in question. For example, the unicastserver equipment part 121b checks whether or not the requested segment corresponds to a segment timeslot in which customized data are planned to be transmitted. For example, the unicastserver equipment part 121b checks whether or not the requested segment corresponds to a timeslot in which customized data are planned to be transmitted for a group of clients to which the client in question belongs. It can further be noted that signatures or the like may be applied or added to the request to ensure reliability of the origin of the request (trusted device). The result of the check is processed in a step 703: when the client is allowed to request the segment in question, astep 704 is performed; otherwise, astep 705 is performed. - In the
step 704, the unicastserver equipment part 121b transmits a customized segment in response to the request. In case of plural versions of customized data as already discussed, the unicastserver equipment part 121b determines which version to transmit from the segment timeslot concerned and the identifier, and possibly the group, of the client in question. In a variant, the request contains an indication (such as a dedicated URL or URI path) of the version to be provided. - In the
step 705, the unicastserver equipment part 121b refuses the request, since the segment that is requested does not match the client identifier associated with the request. -
Fig. 7B schematically represents an algorithm for managing transmission of segments in a per-client customized audio and/or video content stream, in another embodiment. The algorithm ofFig. 7B is a method implemented by the unicastserver equipment part 121b, which provides unicast data either for customized segments or for repairing segments. Repairing segments are unicast segments that are transmitted for repairing common (multicast) segments that have not been received or that have been received with errors. - In a step 710, the unicast
server equipment part 121b receives a unicast segment request. - In a
step 711, the unicastserver equipment part 121b determines whether the request targets customized data or common data for repairing considerations. When the request targets customized data, astep 713 is performed; otherwise, astep 712 is performed. - In the
step 712, the unicastserver equipment part 121b transmits a common data segment in response to the request for repairing considerations. - In the
step 713, the unicastserver equipment part 121b determines for which client the targeted customized data are intended. The unicastserver equipment part 121b obtains the identifier of the client in question. Typically, the identifier of the client is indicated in the request. - In a step 714, the unicast
server equipment part 121b checks whether or not the client is allowed to request the segment in question. For example, the unicastserver equipment part 121b checks whether or not the requested segment corresponds to a segment timeslot in which customized data are planned to be transmitted. For example, the unicastserver equipment part 121b checks whether or not the requested segment corresponds to a timeslot in which customized data are planned to be transmitted for a group of clients to which the client in question belongs. It can further be noted that signatures or the like may be applied or added to the request to ensure reliability of the origin of the request (trusted device). The result of the check is processed in a step 715: when the client is allowed to request the segment in question, astep 716 is performed; otherwise, astep 717 is performed. - In the
step 716, the unicastserver equipment part 121b transmits a customized segment in response to the request. In case of plural versions of customized data as already discussed, the unicastserver equipment part 121b determines which version to transmit from the segment timeslot concerned and the identifier, and possibly the group, of the client in question. In a variant, the request contains an indication (such as a dedicated URL or URI path) of the version to be provided. - In the
step 717, the unicastserver equipment part 121b refuses the request, since the segment that is requested does not match the client identifier associated with the request.
Claims (14)
- A method for delivering a customized audio and/or video stream from a server equipment to a plurality of clients in a content delivery network CDN, the audio and/or video stream being segmented over time into segments, wherein the method comprises:- delivering common data segments via a multicast communication, common data segments being audio and/or video data segments intended to the plurality of clients;- delivering customized data segments via unicast communications, customized data segments being audio and/or video data segments specifically intended for each client; and- building, for each client according to an identifier of the client in question or information derived therefrom, one said customized audio and/or video stream from common data segments provided in multicast form by the server equipment and further including customized data segments provided in unicast form by the server equipment for customization to the client in question, wherein one or more customized data segments are interleaved between common data segments.
- The method according to claim 1, wherein the clients are gathered by groups, the customized data segments are present at predefined timeslots in the audio and/or video stream, and at least some of the predefined timeslots happen at different points in time from one group to any other group.
- The method according to claim 2, wherein regularly one or more predefined timeslots for customized data segments are common to all groups, while other predefined timeslots for customized data segments happen at different point in time from one group to any other group.
- The method according to any one of claims 1 to 3, wherein the server equipment transmits the customized data segments at lower throughput than the common data segments.
- The method according to any one of claims 1 to 4, wherein the customized data are watermark specific to the identifier of the client or to information derived therefrom.
- The method according to claim 5, wherein a quantity Qv of plural versions is available for each customized data segment, each customized data segment including only a portion of the identifier or the client or of the information derived therefrom, the quantity Qv being the quantity of watermark possible variants in each customized data segment.
- The method according to claim 6, wherein the clients are gathered by groups, the common data segments for each group are present at predefined timeslots in the audio and/or video stream, the common data are watermarked specifically to an identifier of the group to which the common data are intended, or to information derived therefrom, and a quantity Q'v of plural versions is available for each common data segment, each common data segment including only a portion of the identifier or the group or of the information derived therefrom, the quantity Q'v being the quantity of watermark possible variants in each common data segment.
- The method according to any one of claims 1 to 4, wherein the customized data are advertisement data.
- The method according to any one of claims 1 to 8, wherein, for at least one client, the audio and/or video stream is built by an agent in a device interconnecting a first network via which the at least one client in question is made accessible to the agent and a second network via which the server equipment is made accessible to the agent, the agent communicating with the at least one client in unicast form, the agent performing a multicast-to-unicast conversion of the common data received in multicast form from the server equipment.
- The method according to any one of claims 1 to 8, wherein, for at least one client, the audio and/or video stream is built by the at least one client in question, the at least one client obtains the customized data from the server equipment and obtains the common data from an agent communicating with which the at least one client communicates in unicast form, the agent being embedded in a device interconnecting a first network via which the at least one client in question is made accessible to the agent and a second network via which the server equipment is made accessible to the agent, the agent performing a multicast-to-unicast conversion of the common data received in multicast form from the server equipment.
- The method according to any one of claims 1 to 8, wherein the server equipment delivers continuous segments in multicast form and the audio and/or video stream is built by replacing segments received in multicast form by customized data segments.
- A content delivery network CDN configured for delivering customized audio and/or video streams from a server equipment of the content delivery network CDN to a plurality of clients, the audio and/or video streams being segmented over time into segments, wherein the content delivery network CDN comprises electronics circuitry configured for:- delivering common data segments via a multicast communication, common data segments being audio and/or video data segments intended to the plurality of clients;- delivering customized data segments via unicast communications, customized data segments being audio and/or video data segments specifically intended for each client; and- building, for each client according to an identifier of the client in question or information derived therefrom, one said customized audio and/or video stream from common data segments provided in multicast form by the server equipment and further including customized data segments provided in unicast form by the server equipment for customization to the client in question, wherein one or more customized data segments are interleaved between common data segments.
- The content delivery network CDN according to claim 12, wherein the customized data are watermark specific to the identifier of the client or to information derived therefrom.
- The content delivery network CDN according to claim 12, wherein the customized data are advertisement data.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20306373.0A EP4002857A1 (en) | 2020-11-13 | 2020-11-13 | Method and system for customized audio and/or video content delivery |
KR1020237019438A KR20230104931A (en) | 2020-11-13 | 2021-11-10 | Methods and systems for delivering customized audio and/or video content |
JP2023528084A JP2023549779A (en) | 2020-11-13 | 2021-11-10 | METHODS AND SYSTEM FOR CUSTOMIZED AUDIO AND/OR VIDEO CONTENT DELIVERY |
CA3197993A CA3197993A1 (en) | 2020-11-13 | 2021-11-10 | Method and system for customized audio and/or video content delivery |
IL302711A IL302711A (en) | 2020-11-13 | 2021-11-10 | Method and system for customized audio and/or video content delivery |
PCT/EP2021/081192 WO2022101243A1 (en) | 2020-11-13 | 2021-11-10 | Method and system for customized audio and/or video content delivery |
MX2023005594A MX2023005594A (en) | 2020-11-13 | 2021-11-10 | Method and system for customized audio and/or video content delivery. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20306373.0A EP4002857A1 (en) | 2020-11-13 | 2020-11-13 | Method and system for customized audio and/or video content delivery |
Publications (1)
Publication Number | Publication Date |
---|---|
EP4002857A1 true EP4002857A1 (en) | 2022-05-25 |
Family
ID=73554392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP20306373.0A Pending EP4002857A1 (en) | 2020-11-13 | 2020-11-13 | Method and system for customized audio and/or video content delivery |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP4002857A1 (en) |
JP (1) | JP2023549779A (en) |
KR (1) | KR20230104931A (en) |
CA (1) | CA3197993A1 (en) |
IL (1) | IL302711A (en) |
MX (1) | MX2023005594A (en) |
WO (1) | WO2022101243A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7986702B1 (en) * | 2007-11-29 | 2011-07-26 | Bigband Networks Inc. | Method and system for streaming multimedia transmissions |
WO2012083462A1 (en) * | 2010-12-22 | 2012-06-28 | Ando Media Llc | Real-time media stream insertion method and apparatus |
US20120308071A1 (en) * | 2011-06-06 | 2012-12-06 | Scott Ramsdell | Methods and apparatus for watermarking and distributing watermarked content |
US20160080445A1 (en) * | 2014-09-15 | 2016-03-17 | Edgecast Networks, Inc. | Multi-Tenant Over-The-Top Multicast |
WO2020109834A1 (en) * | 2018-11-28 | 2020-06-04 | Broadpeak | Method and system for audio-visual live content delivery |
-
2020
- 2020-11-13 EP EP20306373.0A patent/EP4002857A1/en active Pending
-
2021
- 2021-11-10 IL IL302711A patent/IL302711A/en unknown
- 2021-11-10 JP JP2023528084A patent/JP2023549779A/en active Pending
- 2021-11-10 KR KR1020237019438A patent/KR20230104931A/en unknown
- 2021-11-10 WO PCT/EP2021/081192 patent/WO2022101243A1/en active Application Filing
- 2021-11-10 CA CA3197993A patent/CA3197993A1/en active Pending
- 2021-11-10 MX MX2023005594A patent/MX2023005594A/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7986702B1 (en) * | 2007-11-29 | 2011-07-26 | Bigband Networks Inc. | Method and system for streaming multimedia transmissions |
WO2012083462A1 (en) * | 2010-12-22 | 2012-06-28 | Ando Media Llc | Real-time media stream insertion method and apparatus |
US20120308071A1 (en) * | 2011-06-06 | 2012-12-06 | Scott Ramsdell | Methods and apparatus for watermarking and distributing watermarked content |
US20160080445A1 (en) * | 2014-09-15 | 2016-03-17 | Edgecast Networks, Inc. | Multi-Tenant Over-The-Top Multicast |
WO2020109834A1 (en) * | 2018-11-28 | 2020-06-04 | Broadpeak | Method and system for audio-visual live content delivery |
Also Published As
Publication number | Publication date |
---|---|
WO2022101243A4 (en) | 2022-07-07 |
WO2022101243A1 (en) | 2022-05-19 |
MX2023005594A (en) | 2023-07-18 |
KR20230104931A (en) | 2023-07-11 |
IL302711A (en) | 2023-07-01 |
JP2023549779A (en) | 2023-11-29 |
CA3197993A1 (en) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10057277B2 (en) | System and method for partial URL signing with applications to dynamic adaptive streaming | |
JP4619353B2 (en) | System for distributing multimedia content | |
EP2618534B1 (en) | Method, apparatus, and system for dynamic media content insertion based on http stream | |
JP5112333B2 (en) | Managing media container files | |
CN106797563B (en) | Certification and authorization message for adaptive stream media based on token signaling and interact | |
US9794240B2 (en) | System and method for signaling and verifying URL signatures for both URL authentication and URL-based content access authorization in adaptive streaming | |
US9015564B2 (en) | Content delivery system with allocation of source data and repair data among HTTP servers | |
JP5795446B2 (en) | Content delivery system with allocation of source data and repair data between HTTP servers | |
EP2704391A1 (en) | System and method for delivering an audio-visual content to a client device | |
CN104782147A (en) | Communication receiver | |
CN107222480A (en) | A kind of flow media playing method, terminal device and CDN server | |
CN107948762A (en) | The transmission method of live video, device and system | |
CN113287283A (en) | Method and system for audiovisual live content delivery | |
EP3269146A1 (en) | Permissions management for watermarked data in a broadcast environment | |
US20150052259A1 (en) | Method For Generating Media Information, Terminal, Server, and AHS System | |
EP2885905A1 (en) | Conveying state information for streaming media | |
US11647237B1 (en) | Method and apparatus for secure video manifest/playlist generation and playback | |
US10878076B2 (en) | Receiving apparatus, transmitting apparatus, and data processing method | |
CN113810781A (en) | Video processing method, video processing device, video tracking method, video tracking device and storage medium | |
EP4002857A1 (en) | Method and system for customized audio and/or video content delivery | |
EP3785444A1 (en) | Server-side insertion of media fragments | |
CN113810780B (en) | Video transmission method, device and storage medium | |
CN105744309A (en) | Method, device and system for generating and playing, and terminal | |
Ogawa et al. | P2P video streaming method with Copy protection based on SDN technology | |
Simpson | Audio and Video over IP Networks and Internet Broadcasting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: THE APPLICATION HAS BEEN PUBLISHED |
|
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 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20221125 |
|
RBV | Designated contracting states (corrected) |
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 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20240417 |