EP3639521A1 - Insertion dynamique de flux multimédia à partir de sources multiples - Google Patents

Insertion dynamique de flux multimédia à partir de sources multiples

Info

Publication number
EP3639521A1
EP3639521A1 EP18732591.5A EP18732591A EP3639521A1 EP 3639521 A1 EP3639521 A1 EP 3639521A1 EP 18732591 A EP18732591 A EP 18732591A EP 3639521 A1 EP3639521 A1 EP 3639521A1
Authority
EP
European Patent Office
Prior art keywords
multimedia
segment
stream
event
content
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.)
Ceased
Application number
EP18732591.5A
Other languages
German (de)
English (en)
Inventor
Matthew BRINKLEY
Meera Jindal
Khawaja Salman Shams
Alex Xiaoye Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/624,453 external-priority patent/US10848824B2/en
Priority claimed from US15/624,450 external-priority patent/US10880589B2/en
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Priority to EP22217420.3A priority Critical patent/EP4184920A1/fr
Publication of EP3639521A1 publication Critical patent/EP3639521A1/fr
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4756End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for rating content, e.g. scoring a recommended movie
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • FIG. 3 illustrates an environment in which an event-driven compute service may select from multiple event-driven functions based on the type of transcoding error detected
  • FIG. 4 illustrates a diagram in which insertion segments are selected
  • FIG. 6 illustrates a process for determining the compliance of an insertion segment based on customized compliance logic
  • the multimedia manipulation service may be utilized in several contexts, such as customizing the multimedia content served to multiple viewers based on the respective viewers' preferences. For example, consider the case in which the multimedia manipulation service receives requests from multiple viewers to watch a movie. In this example, the multimedia manipulation service also receives metadata about each user making the request, such as other movies that a particular user has rated, the type of movie (e.g., action, comedy, romance), etc., and uses the metadata to customize the movie based on each viewer's preferences. Continuing with the example - when the multimedia manipulation service receives the request to view the movie, the multimedia manipulation service receives a multimedia stream for the movie from the multimedia delivery platform. The movie stream is split into multimedia segments that include metadata such as an insertion marker.
  • a compliance routine may be utilized to determine whether the insertion segment provided by the multimedia selection service to the multimedia manipulation service should be used.
  • an event-driven compute service is utilized in connection with the compliance routine to receive metadata related to the multimedia input stream provided by the multimedia delivery platform, metadata related to the insertion segment provided by the multimedia selection service, and metadata about the request (e.g., metadata about the user requesting the media and/or playback device).
  • the compliance routine may determine whether the provided insertion segment meets one or more compliance criteria. For example, a compliance criteria may determine that the insertion segment includes content that is inappropriate for certain age groups (e.g., the insertion segment may include vulgar language that is not appropriate for younger viewers) and determine whether the requestor meets the criteria.
  • the multimedia selection service may be used to provide two or more insertion segments corresponding to advertisements that are inserted to a broadcast, and the compliance routine may be run to verify whether one or more compliance criteria are satisfied by the advertisement, either individually and/or in combination.
  • certain advertisements satisfy the compliance criteria individually during the broadcast but not in conjunction with each other— one such example would be a compliance requirement that if an advertisement for a first automobile manufacturer is shown during the broadcast, that advertisements for other automobile manufacturers should not be shown for the remainder of the broadcast.
  • metadata about the insertion segments may be used to determine compliance of the insertion segments based on which other insertion segments were selected.
  • a content provider provides a multimedia input source either indirectly
  • the multimedia manipulation service 102 may be configured to dynamically generate output customized multimedia output streams.
  • An insertion segment selected for a particular user may be dynamically inserted into a multimedia output stream that includes one or more segments of a multimedia input stream 114 as well as one or more insertion segments.
  • an insertion segment may be selected based at least in part on metadata relating to the requestor.
  • a multimedia output stream may include a first customized insertion segment 118 that was provided by the multimedia selection service 106 to the multimedia manipulation service 102.
  • the multimedia delivery platform 204 may provide a smartphone video that is at most 720p resolution if the viewer cannot tell the difference between 720p and 1080p video on the smaller-sized smartphone display. In this way, the multimedia delivery platform 204 may provide a viewer of the multimedia content the best available quality on a smartphone while at the same time reducing bandwidth costs and initial video starting delay due to buffering 720p video rather than 1080p video.
  • the event-driven compute service 210 may invoke the one or more obtained event-driven functions.
  • the event may be triggered by the multimedia manipulation service receiving an insertion segment in the form of a video file, a URL to a mezzanine- quality multimedia segment with metadata indicating a desired encoding format, and the like.
  • the event-driven compute service 210 may receive the event, select one or more event-driven functions that should be invoked in response to the event, and use the compliance routine 212 to invoke the event-driven functions that are appropriate in response to the event.
  • the multimedia manipulation service may make a request to a multimedia selection service requesting an insertion segment.
  • the request may include metadata such as metadata about a user requesting the media content, metadata about the multimedia input stream, and more.
  • the multimedia selection service may receive the request and select an insertion segment based at least in part on metadata provided (e.g., as part of the request).
  • the multimedia selection service queries a backend database that includes additional information that may be used to select an insertion segment.
  • the selected insertion segment, or a reference to the selected insertion segment (e.g., a URL to the segment) may be provided to fulfill the request made by the multimedia manipulation service.
  • the manifest and the associated segment may be received at different times. It should be noted the system may sometimes obtain 504 the manifest prior to and/or independent of obtaining the multimedia segment from the multimedia input stream, and that the ordering shown in FIG. 5 is merely illustrative of one of many example implementations.
  • a locale may have regulations prohibiting the depiction of skulls and skeletons.
  • An insertion segment may include, as metadata, a flag that indicates whether the scene depicts skulls and skeletons.
  • the compliance routine may check whether the viewer is from the applicable locale and check whether the flag of the selected insertion segment is set. In this way, the system may be used to verify that the multimedia output stream complies with local regulations.
  • a third multimedia stream provided to a third device 712C may also include the second insertion segment 716.
  • insertion segments need not be unique to a particular multimedia playback device.
  • the insertion segments may correspond to advertisements.
  • a multimedia selection service provides 706 insertion segments 710 to the multimedia manipulation service 702 and a multimedia delivery platform provides a multimedia input stream 708 to the multimedia manipulation service 702.
  • a multimedia output stream may include the multimedia input stream and one or more insertion segments (e.g., a stream of a television show with one or more dynamically selected advertisements).
  • Termination of a communication session that is used to transmit/receive a stream may indicate abandonment of the stream.
  • a recipient such as a multimedia playback device may continuously request segments of a broadcast as the broadcast is being consumed by the viewer and halt the issuance of requests for additional segments when the stream is abandoned.
  • the multimedia manipulation service may detect abandonment of stream.
  • a different component such as the multimedia delivery platform 704 may detect abandonment of the stream
  • abandonment may be attributed to insertion segments.
  • the multimedia input stream is a television program and the insertion segments are advertisements.
  • a quality control service may detect an abnormally high rate of abandonment in the television program after the second advertisement is shown but not when the first advertisement is shown.
  • the quality control service may indicate to the multimedia selection service that the second advertisement should not be served and/or not served in conjunction with the particular television program.
  • the multimedia manipulation service 802 receives a request for multimedia content from an entity and provides some but not all output segments to the requestor in response to the request.
  • the request may encode information that specifies the number of segments to provide. Additional requests may be made by the requestor indicating that additional segments of the output stream should be transmitted. In this way, a requestor may obtain a set of output segments, serve them to a viewer, and request additional segments while the viewer is watching the earlier segments, thereby creating a smooth streaming experience which reduces or eliminates buffering.
  • an embodiment may include a multimedia selection service, and the output stream provided to viewers may include one or more insertion segments such as one or more insertion segments that are consecutive to each other.
  • the system may monitor the transmission of multiple multimedia streams for multiple recipients as part of a larger environment (e.g., in the context of a multimedia service provider).
  • the system performing the process 900 may use hardware, software, or a combination thereof to perform the process.
  • the process may be performed in a distributed environment, such as on a virtual machine instance running on a server that is in a data center configured to fulfill requests from multiple requestors (e.g., clients of the data center or service provider).
  • the system detects a stream abandonment, in some embodiments it selects 906 an asynchronous workflow implemented as an event-driven function using an event-driven compute service as described above in connection with FIGS. 2-8.
  • the system may provide 908 metadata associated with the detected abandonment to an abandonment routine selected by the event-driven compute service.
  • the metadata may include information associated with the abandonment, such as identifier information regarding one or more transmitted segments.
  • transmitted segments may be from multiple input sources (e.g., a multimedia input stream and insertion segments).
  • a logging system such as those described in connection with FIGS. 7-8 may be used to record the metadata.
  • the system may further diagnose 910 the stream abandonment as part of the abandonment routine.
  • errors There are many different types of errors that may be detected, such as technical errors relating to an encoding format, technical errors relating to a network condition, and attribution of abandonment. Attribution of abandonment may be made as to the content of a segment (e.g., metadata tagged in a manifest associated with a segment), to the duration of certain types of segments, or the number of occurrences of a certain type of segment. For example, abandonment may be attributed to the insertion of too many consecutive advertisements.
  • the system may generate 912 an indication that includes an attribution of the abandonment.
  • the attribution of abandonment may indicate that a transcoding error is associated with one or more segments, and the indication may be provided to an upstream entity with instructions to re-transcode the affected segments.
  • the system may detect a technical error related to the connection of some users and run network connection diagnostics tools on those connections.
  • the system may use the attribution of abandonment to certain types of insertion segments to adjust the process of selecting insertion segments. For example, abandonment of a multimedia stream following an advertisement may be an indicator to a multimedia selection service to decrease or halt selection of the advertisement. In general, if notifying a system administrator, visual quality expert, developer, etc., would be helpful to mitigate the rate of abandonment, the system may broadcast a notification.
  • the application server may provide access control services in cooperation with the data store and is able to generate content including, but not limited to, text, graphics, audio, video and/or other content usable to be provided to the user, which may be served to the user by the web server in the form of Hyper Text Markup Language (“HTML”), Extensible Markup Language (“XML”), JavaScript, Cascading Style Sheets (“CSS”), JavaScript Object Notation (JSON), and/or another appropriate client-side structured language.
  • Content transferred to a client device may be processed by the client device to provide the content in one or more forms including, but not limited to, forms that are perceptible to the user audibly, visually and/or through other senses.
  • the data store 1010 is operable, through logic associated therewith, to receive instructions from the application server 1008 and obtain, update or otherwise process data in response thereto.
  • the application server 1008 may provide static, dynamic, or a combination of static and dynamic data in response to the received instructions.
  • Dynamic data such as data used in web logs (blogs), shopping applications, news services, and other such applications may be generated by server-side structured languages as described herein or may be provided by a content management system ("CMS”) operating on, or under the control of, the application server.
  • CMS content management system
  • a user through a device operated by the user, might submit a search request for a certain type of item.
  • the data store might access the user information to verify the identity of the user and can access the catalog detail information to obtain information about items of that type.
  • the information then can be returned to the user, such as in a results listing on a web page that the user is able to view via a browser on the user device 1002.
  • Information for a particular item of interest can be viewed in a dedicated page or window of the browser. It should be noted, however, that embodiments of the present disclosure are not necessarily limited to the context of web pages, but may be more generally applicable to processing requests in general, where the requests are not necessarily requests for content.
  • memory that stores computer-executable instructions that, if executed, cause the system to:
  • determining that the multimedia segment satisfies a compliance requirement comprises determining the video resolution matches an expected video resolution.
  • the metadata associated with the multimedia segment comprises an indication of an audio or visual depiction included in the multimedia segment
  • the first abandoned stream comprises a first multimedia segment and a second multimedia segment, wherein:
  • the abandonment metadata indicates a second multimedia segment is associated with abandonment of a second abandoned stream of the plurality of abandoned streams
  • the event-driven function further causes the event-driven compute service to perform a network connectivity test to recipients from the common location.
  • a computer-implemented method comprising:
  • the first abandoned stream comprises a first multimedia segment and a second multimedia segment, wherein:
  • a determination to transmit the second multimedia segment as part of the first abandoned stream is made based at least in part on the indication
  • the one or more multimedia segments associated with abandonment of the first abandoned stream comprises the second multimedia segment.
  • the set of abandonment metadata comprises a second abandonment metadata, wherein the second abandonment metadata indicates the second multimedia segment is associated with abandonment of a second abandoned stream;
  • the second abandoned stream comprises the second multimedia segment; the second multimedia segment is transmitted as part of the second abandoned stream based at least in part on a second indication to insert a multimedia segment to the second abandoned stream;
  • the first abandoned stream and the second abandoned stream have different multimedia content.
  • a second abandoned stream of the set is associated with a second requestor, wherein the first requestor and the second requestor are different requestors.
  • the one or more multimedia segments associated with abandonment of the first abandoned stream comprises the second multimedia segment.
  • the second multimedia segment is transmitted as part of the second abandoned stream based at least in part on a second indication to insert a multimedia segment to the second abandoned stream;
  • the first abandoned stream and the second abandoned stream have different multimedia content.
  • a first multimedia segment associated with a first abandonment metadata of the set indicates the content type
  • a second multimedia segment associated with a second abandonment metadata of the set indicates the content type
  • the first multimedia segment and the second multimedia segment include different multimedia content.
  • the various embodiments further can be implemented in a wide variety of operating environments, which in some cases can include one or more user computers, computing devices or processing devices which can be used to operate any of a number of applications.
  • User or client devices can include any of a number of computers, such as desktop, laptop or tablet computers running a standard operating system, as well as cellular, wireless and handheld devices running mobile software and capable of supporting a number of networking and messaging protocols.
  • Such a system also can include a number of workstations running any of a variety of commercially-available operating systems and other known applications for purposes such as development and database management.
  • These devices also can include other electronic devices, such as dummy terminals, thin-clients, gaming systems and other devices capable of communicating via a network.
  • connection-oriented protocols may be used to communicate between network endpoints.
  • Connection-oriented protocols (sometimes called connection-based protocols) are capable of transmitting data in an ordered stream.
  • Connection-oriented protocols can be reliable or unreliable.
  • TCP protocol is a reliable connection-oriented protocol.
  • ATM Asynchronous Transfer Mode
  • Frame Relay is unreliable connection-oriented protocols.
  • Connection-oriented protocols are in contrast to packet-oriented protocols such as UDP that transmit packets without a guaranteed ordering.
  • the server(s) may also include database servers, including without limitation those commercially available from Oracle®, Microsoft®, Sybase®, and IBM® as well as open-source servers such as MySQL, Postgres, SQLite, MongoDB, and any other server capable of storing, retrieving, and accessing structured or unstructured data.
  • Database servers may include table-based servers, document-based servers, unstructured servers, relational servers, non-relational servers, or combinations of these and/or other database servers.
  • the environment can include a variety of data stores and other memory and storage media as discussed above. These can reside in a variety of locations, such as on a storage medium local to (and/or resident in) one or more of the computers or remote from any or all of the computers across the network. In a particular set of embodiments, the information may reside in a storage-area network ("SAN") familiar to those skilled in the art. Similarly, any necessary files for performing the functions attributed to the computers, servers or other network devices may be stored locally and/or remotely, as appropriate.
  • SAN storage-area network
  • each such device can include hardware elements that may be electrically coupled via a bus, the elements including, for example, at least one central processing unit (“CPU” or “processor”), at least one input device (e.g., a mouse, keyboard, controller, touch screen, or keypad) and at least one output device (e.g., a display device, printer, or speaker).
  • CPU central processing unit
  • input device e.g., a mouse, keyboard, controller, touch screen, or keypad
  • output device e.g., a display device, printer, or speaker
  • Such a system may also include one or more storage devices, such as disk drives, optical storage devices, and solid-state storage devices such as random access memory (“RAM”) or read-only memory (“ROM”), as well as removable media devices, memory cards, flash cards, etc.
  • RAM random access memory
  • ROM read-only memory
  • Such devices can include a computer-readable storage media reader, a communications device (e.g., a modem, a network card (wireless or wired), an infrared communication device, etc.), and working memory as described above.
  • a communications device e.g., a modem, a network card (wireless or wired), an infrared communication device, etc.
  • working memory as described above.
  • Storage media and computer readable media for containing code, or portions of code can include any appropriate media known or used in the art, including storage media and communication media, such as, but not limited to, volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage and/or transmission of information such as computer readable instructions, data structures, program modules or other data, including RAM, ROM, Electrically Erasable Programmable
  • containing are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted.
  • the term "connected,” when unmodified and referring to physical connections, is to be construed as partly or wholly contained within, attached to, or joined together, even if there is something intervening. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein and each separate value is incorporated into the specification as if it were individually recited herein.
  • the use of the term “set” (e.g., “a set of items”) or “subset” unless otherwise noted or contradicted by context, is to be construed as a nonempty collection comprising one or more members.
  • the conjunctive phrases "at least one of A, B, and C” and “at least one of A, B and C” refer to any of the following sets: ⁇ A ⁇ , ⁇ B ⁇ , ⁇ C ⁇ , ⁇ A, B ⁇ , ⁇ A, C ⁇ , ⁇ B, C ⁇ , ⁇ A, B, C ⁇ .
  • such conjunctive language is not generally intended to imply that certain embodiments require at least one of A, at least one of B and at least one of C each to be present.
  • the term "plurality” indicates a state of being plural (e.g., "a plurality of items” indicates multiple items). The number of items in a plurality is at least two, but can be more when so indicated either explicitly or by context.
  • different components of a computer system may have separate processors and different processors may execute different subsets of the instructions.
  • computer systems are configured to implement one or more services that singly or collectively perform operations of processes described herein.
  • Such computer systems may, for instance, be configured with applicable hardware and/or software that enable the performance of the operations.
  • computer systems that implement various embodiments of the present disclosure may, in some examples, be single devices and, in other examples, be distributed computer systems comprising multiple devices that operate differently such that the distributed computer system performs the operations described herein and such that a single device may not perform all operations.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Astronomy & Astrophysics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

L'invention concerne un flux multimédia qui peut comprendre une indication d'insertion d'un contenu multimédia dans le flux multimédia. Un segment d'insertion peut être sélectionné parmi de multiples segments de telle sorte que le segment d'insertion est sélectionné en se basant en partie sur des métadonnées telles que des métadonnées associées au destinataire du flux multimédia. Des métadonnées associées au segment d'insertion peuvent être obtenues. La satisfaction d'une exigence de conformité peut être déterminée sur la base de diverses informations, telles que des métadonnées associées au destinataire et des métadonnées associées au segment d'insertion. Le segment d'insertion peut être rendu disponible en tant que partie du flux multimédia.
EP18732591.5A 2017-06-15 2018-05-30 Insertion dynamique de flux multimédia à partir de sources multiples Ceased EP3639521A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP22217420.3A EP4184920A1 (fr) 2017-06-15 2018-05-30 Insertion dynamique de flux multimédia à partir de sources multiples

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/624,453 US10848824B2 (en) 2017-06-15 2017-06-15 Dynamic detection and mitigation of multimedia stream abandonment
US15/624,450 US10880589B2 (en) 2017-06-15 2017-06-15 Dynamic multimedia stream insertion from multiple sources
PCT/US2018/035211 WO2018231527A1 (fr) 2017-06-15 2018-05-30 Insertion dynamique de flux multimédia à partir de sources multiples

Related Child Applications (1)

Application Number Title Priority Date Filing Date
EP22217420.3A Division EP4184920A1 (fr) 2017-06-15 2018-05-30 Insertion dynamique de flux multimédia à partir de sources multiples

Publications (1)

Publication Number Publication Date
EP3639521A1 true EP3639521A1 (fr) 2020-04-22

Family

ID=62683484

Family Applications (2)

Application Number Title Priority Date Filing Date
EP22217420.3A Pending EP4184920A1 (fr) 2017-06-15 2018-05-30 Insertion dynamique de flux multimédia à partir de sources multiples
EP18732591.5A Ceased EP3639521A1 (fr) 2017-06-15 2018-05-30 Insertion dynamique de flux multimédia à partir de sources multiples

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP22217420.3A Pending EP4184920A1 (fr) 2017-06-15 2018-05-30 Insertion dynamique de flux multimédia à partir de sources multiples

Country Status (3)

Country Link
EP (2) EP4184920A1 (fr)
CN (2) CN110771172B (fr)
WO (1) WO2018231527A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220133939A (ko) * 2020-02-28 2022-10-05 훌루, 엘엘씨 동적 엘리먼트 대체를 위한 그룹에서의 엘리먼트들의 식별
EP3902276A1 (fr) * 2020-04-21 2021-10-27 THEO Technologies Commande de flux vidéo

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6698020B1 (en) * 1998-06-15 2004-02-24 Webtv Networks, Inc. Techniques for intelligent video ad insertion
US9124650B2 (en) * 2006-12-13 2015-09-01 Quickplay Media Inc. Digital rights management in a mobile environment
US8752087B2 (en) * 2008-11-07 2014-06-10 At&T Intellectual Property I, L.P. System and method for dynamically constructing personalized contextual video programs
US8909806B2 (en) * 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
CN101742554A (zh) * 2010-01-15 2010-06-16 南京邮电大学 无线多媒体传感器网络多路径传输机制的拥塞控制方法
US8752085B1 (en) * 2012-02-14 2014-06-10 Verizon Patent And Licensing Inc. Advertisement insertion into media content for streaming
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
US20140040026A1 (en) * 2012-05-04 2014-02-06 Adobe Systems Incorporated Systems and methods for including advertisements in streaming content
BR122015005210A2 (pt) * 2012-06-28 2019-08-20 Ericsson Ab Método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top
US8495675B1 (en) * 2012-07-30 2013-07-23 Mdialog Corporation Method and system for dynamically inserting content into streaming media
US8732745B2 (en) * 2012-10-22 2014-05-20 Sony Corporation Method and system for inserting an advertisement in a media stream
US10476923B2 (en) * 2013-04-05 2019-11-12 Arris Enterprises Llc Filtering content for adaptive streaming
US20140351871A1 (en) * 2013-05-22 2014-11-27 Microsoft Corporation Live media processing and streaming service
US20150325268A1 (en) * 2014-05-12 2015-11-12 Penthera Partners, Inc. Downloading videos with commercials to mobile devices
US20170238039A1 (en) * 2014-08-18 2017-08-17 Interdigital Patent Holdings, Inc. Injecting streaming media into a playlist

Also Published As

Publication number Publication date
CN110771172A (zh) 2020-02-07
CN115314756A (zh) 2022-11-08
CN115314756B (zh) 2024-05-10
EP4184920A1 (fr) 2023-05-24
CN110771172B (zh) 2022-08-09
WO2018231527A1 (fr) 2018-12-20

Similar Documents

Publication Publication Date Title
US10880589B2 (en) Dynamic multimedia stream insertion from multiple sources
US10848824B2 (en) Dynamic detection and mitigation of multimedia stream abandonment
US11490145B2 (en) Content insertion in streaming media content
US10911789B2 (en) Automatic failover for live video streaming
US10194199B2 (en) Methods, systems, and computer program products for categorizing/rating content uploaded to a network for broadcasting
US9344517B2 (en) Downloading and adaptive streaming of multimedia content to a device with cache assist
US10310928B1 (en) Dynamic selection of multimedia segments using input quality metrics
US10114689B1 (en) Dynamic playlist generation
US9602886B2 (en) Methods and systems for displaying contextually relevant information from a plurality of users in real-time regarding a media asset
US11212332B2 (en) Dynamic archiving of streaming content
US10778354B1 (en) Asynchronous enhancement of multimedia segments using input quality metrics
US10560215B1 (en) Quality control service using input quality metrics
US11722736B2 (en) Churn analysis and methods of intervention
US10643238B2 (en) Non-intrusive advertisement presentation
EP4184920A1 (fr) Insertion dynamique de flux multimédia à partir de sources multiples
Meyn Mobile Video Crawler: Implementing a video streaming Quality of Experience measurement system

Legal Events

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

Free format text: STATUS: UNKNOWN

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

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

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

Free format text: ORIGINAL CODE: 0009012

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

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20191114

AK Designated contracting states

Kind code of ref document: A1

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

AX Request for extension of the european patent

Extension state: BA ME

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

Free format text: STATUS: EXAMINATION IS IN PROGRESS

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20200918

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

Free format text: STATUS: EXAMINATION IS IN PROGRESS

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

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

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20220830