A method for distributing personalized video content across networks

By using media players and controlling data on user devices, the method of creating personalized video locally, solving the problem of low efficiency, high cost and data privacy in existing technology, and realized high -efficiency and secure personalized video distribution Essence

CN115053530BActive Publication Date: 2025-01-28VML LAB LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080095341.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-12-11
Filing Date
2020-12-09
Publication Date
2025-01-28
Estimated Expiration
2040-12-09

AI Technical Summary

Technical Problem

The prior art is inefficient and costly when creating personalized videos on a large scale, and due to data privacy and security issues, it is difficult to achieve the distribution of personalized videos in real time.

Method used

By providing media players on user devices, using control data to be associated with video data, realizing video data and related control data from main data sources to user devices, and creating auxiliary data locally to avoid data from main data Direct exchange between sources and secondary data sources.

Benefits of technology

The ability to create personalized videos on the user's device has reduced the distribution time, cost and energy consumption, and ensuring data privacy and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115053530B_ABST
    Figure CN115053530B_ABST
Patent Text Reader

Abstract

A method for distributing video content across a network, the method comprising: providing video data to a primary data source, associating control data with the video data, propagating the video data and the associated control data from the primary data source across the network to one or more user devices, providing a media player on the respective user devices, the media player being operable in response to reading the control data while the media player is playing the video data, creating auxiliary data locally on the respective user devices, and creating the auxiliary data locally on the respective user devices while the media player is playing the video data locally on the respective user devices. The control data defines one or more elements of the auxiliary data to be created by the media player, including elements of the auxiliary data to be retrieved from the primary data source and the one or more secondary data sources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] More particularly, the present invention relates to a method and system for distributing video content across a network. Background Art

[0002] Personalized and contextualized videos have grown rapidly over the past few years. Many organizations specialize in personalized video creation and distribution. These organizations include some of the world's largest social media companies. Personalized and contextualized videos are created by incorporating personal information about the user into the video, thereby providing users with a personalized video experience.

[0003] To keep up with the massive demand for personalized videos, companies have created systems that enable templated videos to be combined with data and rendered in servers they control for subsequent distribution to users. This method of creating personalized videos is difficult to scale, is very inefficient, and because each personalized video must be submitted and stored on the company's servers before distribution, the cost and time increase exponentially as the number of users increases. In this case, to create 1 video for each user on the world's largest social media site, the company would need to create and store 1.6 billion unique video files. The cost, energy, time, and storage capacity required to meet this demand is enormous. As a result, it is difficult, if not impossible, for any company other than the world's largest to create personalized videos at any scale. For example, as the number of users increases, the time, cost, and energy required to produce personalized videos increase accordingly to meet the demand, such as in Figure 1A As shown in FIG. 1 , generally indicated by reference numeral 10A. As the number, size, and demand for personalized videos grow, these problems will increase. Therefore, due to these problems, there is an increasing need for the ability to quickly create personalized videos of any size in a more efficient and energy-efficient manner.

[0004] For every video created, all the information needed in the video must be pulled into the video rendering server in its entirety. This may include security information or personal information. In this case, to create personalized videos for all 1.6 billion users of the largest social media network, the personal data of 1.6 billion people must be retrieved and stored on the video rendering server in order to create the personalized video. In addition to the technical difficulties associated with this, there are potentially significant concerns about data privacy and security, especially in light of recent media and government focus on data privacy, as evidenced by recent changes in data privacy legislation, such as the General Data Protection Regulation (GDPR) regulations introduced in the European Union in 2018.

[0005] As a result of such recent privacy laws, it has become increasingly difficult for first-party services that wish to distribute videos containing personalized information, and furthermore it has become very difficult (if not impossible) to do so by incorporating personalized information about the user in real-time while being compliant with GPDR. This is because in order to accomplish this, the first-party service would have to retrieve data from one or more different third parties and / or first-party services.

[0006] As described above, current practices for creating personalized videos at scale typically include rendering / producing each personalized video file prior to distribution. Thus, to produce 100 personalized videos, 100 video files need to be produced and stored on a server, then propagated to user devices, and then stored in physical storage on the user devices. It would be desirable to provide methods for reducing the time, effort, and cost of distributing personalized video content.

[0007] The problem with current practice is that it is best to consider real-world applications. For example, let’s say a company wants to create a location-based video that shows the names of local pubs that serve a particular brand of beer during a rugby or football game. To do this, they must collect all the third-party data that contains the location and the name of the pub. From here, they must then render a separate, personalized video for each pub, which can be a very significant task if the location is particularly a major city such as London, New York, or Dublin. Each variation of the base video requires the creation of a completely new video that includes the third-party data. Using currently available technology, all videos must be rendered in the server before the user can watch them. This method of video distribution hinders scalability, time, and data relevance. Ultimately this means that existing methods limit the ability to provide truly personalized videos and / or videos with real-time information.

[0008] The present invention seeks to overcome the drawbacks highlighted above. Summary of the invention

[0009] Therefore, a first aspect of the present invention provides a method for distributing video content across a network, the method comprising: providing video data to a primary data source; associating control data with the video data; propagating the video data and the associated control data from the primary data source to one or more user devices through a network; providing a media player on each user device, and when the media player is playing the video data, the media player can operate in response to reading the control data to create auxiliary data locally on each user device; while the media player is playing the video data locally on each user device, the auxiliary data is created locally on each user device; wherein the control data defines one or more elements of the auxiliary data to be created by the media player, including elements of the auxiliary data to be retrieved from the primary data source and one or more secondary data sources, so that no data is directly exchanged between the primary data source and the secondary data source. Advantageously, the present invention therefore provides a method for creating auxiliary data superimposed on video data created locally on a user device, wherein the created auxiliary data can be based on information retrieved from either a primary data source and / or a secondary data source, and no direct data exchange occurs between the primary data source and the secondary data source, thereby ensuring that information related to the user of the user device (on which the video is played and on which the auxiliary data is created locally in real time) is private to the provider of the personal information, whether the primary data source or the secondary data source, who only knows what they provide to the media player.

[0010] A second aspect of the present invention provides a system for distributing video content across a network, the system comprising: a primary data source; one or more user devices; one or more secondary data sources; wherein the primary data source is configured to associate control data with video data provided to the primary data source; wherein the primary data source is configured to transmit video data and associated control data for receipt by one or more user devices; wherein the user device includes a media player disposed thereon, the media player being configured to create auxiliary data locally on the corresponding user device in response to reading the control data when playing a video on the user device; wherein the control data defines one or more elements of the auxiliary data created locally by the media player on the user device, including elements of the auxiliary data to be retrieved from the primary data source and the one or more secondary data sources.

[0011] Preferably, the control data comprises metadata, such as a data exchange format or a data storage format.

[0012] Ideally, the control data comprises a machine-readable markup language.

[0013] Preferably, the control data includes instructions defining elements of the auxiliary data, the elements of the auxiliary data including one or more of: the layout of the auxiliary data relative to the video data; the type of auxiliary data provided relative to the video data; a first location from which the auxiliary data is to be retrieved from a primary data source and / or a secondary data source; the time at which the auxiliary data is provided relative to the video data; and / or an action to be performed on the auxiliary data at the end of video playback.

[0014] Ideally, the action to be performed on the auxiliary data when playback of the video ends includes stopping rendering of the auxiliary data on the media player.

[0015] Preferably, wherein the control data further defines a second location, if the auxiliary data is not available at said first location, the auxiliary data is retrieved from the second location from the primary data source and / or the secondary data source.

[0016] Ideally, different types of auxiliary data are provided at different times during playback of the video data, typically as indicated by the control data.

[0017] Preferably, the different types of auxiliary data include: a customizable text overlay; or graphics; or sound; or secondary video data; or a real-time feed or display of special effects or information or any combination of the above.

[0018] Ideally, the assistance data comprises user specific data, wherein the user specific data comprises data about a user of the user device.

[0019] Preferably, the user specific data includes one or more of the following: user location; user age; user gender; user interests or hobbies; user language; user search history; user network history and / or any other suitable user-specific information.

[0020] Ideally, the user specific data is stored on one or more of the secondary data source and / or the primary data source and / or the user device and / or the media player.

[0021] Optionally, the secondary data source is determined based on one or more elements of the user specific data, and the media player is configured to retrieve one or more elements of the auxiliary data to be created by the media player from the secondary data source.

[0022] Preferably, before creating auxiliary data locally on each user device while the media player plays video data locally on each user device, the method also includes: authenticating the media player with a secondary data source to allow the media player to retrieve auxiliary data, preferably user-specific data, from the secondary data source.

[0023] Ideally, authenticating the media player with the secondary data source includes one or more elements requesting user permission for the media player to retrieve auxiliary data from the one or more secondary data sources.

[0024] Preferably, authenticating the media player with the secondary data source includes one or more elements of verifying that the user has previously granted permission for the media player to retrieve auxiliary data from one or more secondary data sources.

[0025] Ideally, the control data contains instructions defining the actions to be performed if user permission is not obtained or verified.

[0026] Preferably, the control data indicates that playback of the video on the user device is not to occur on the media player, or indicates that predefined auxiliary data is to be created during playback of the video on the media player.

[0027] Ideally, the type of predefined assistance data to be created is defined in the control data.

[0028] Preferably, the predefined secondary data is retrieved from the primary data source.

[0029] Ideally, the primary data source and / or the secondary data source include cloud and / or local server architecture and / or API service and / or any data storage format file and / or JSON file and / or computing device and / or any data storage format or other suitable data.

[0030] Preferably, the media player is configured to create the auxiliary data and synchronize it with the video data in real time while the video data is being played on the user device.

[0031] Ideally, the user device comprises a smartphone, tablet computer, laptop computer or any other suitable computing device. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] The present invention will now be described by way of example with reference to the accompanying drawings:

[0033] Figure 1A is a graph illustrating the time, cost, and energy usage of the prior art for generating personalized videos as the number of users increases;

[0034] Figure 1B is a graph illustrating the time, cost, and energy usage of the present invention for generating personalized videos as the number of users increases;

[0035] Figure 1 is a schematic diagram showing a system for distributing video content across a network; and

[0036] Figure 2 is a flow chart showing the authentication process of the system. DETAILED DESCRIPTION

[0037] The present guidance will now be described with reference to an exemplary video dissemination system. It should be understood that the exemplary dissemination system is provided to aid in understanding the present guidance and should not be construed as limiting in any way. In addition, modules or elements described with reference to any of the figures may be interchanged with modules or elements in other figures, or other equivalent elements, without departing from the spirit of the present guidance.

[0038] Referring now to the drawings, in particular to the Figure 1 , a system generally indicated by reference numeral 1 is shown, which embodies an aspect of the present invention for distributing video content across a network. The system includes a primary data source 3, and control data 5 on the primary data source 3 is typically associated with original video data for dissemination to one or more user devices 7. The original video data and related control data are typically disseminated over a network, wherein the network typically includes the Internet. The primary data source 3 may include a cloud and / or local server architecture and / or an API service and / or any data storage format file and / or a JSON file and / or a computing device and / or any data storage format or other suitable data source. Preferably, the primary data source 3 includes a server 13, and the server 13 has one or more databases 15, which are provided on the server 13 or otherwise accessed by the server 13. The user device 7 includes a media player 11 disposed thereon, which is operable in response to reading the control data 5 to locally create auxiliary data on the corresponding user device 7 while playing the video. The control data 5 contains information defining one or more elements of the auxiliary data, which are created or rendered on the user device 7 when the user device 7 plays the video. The user device 7 comprises a computing device; more preferably, the user device comprises a handheld computing device. To this end, the user device may comprise a smart phone, a tablet computer, a laptop or any other suitable computing device.

[0039] The system also includes one or more secondary data sources 9 with which the user device 7 (particularly the media player 11) is operable to communicate in order to retrieve information. To this end, the control data 5 typically determines what information is to be retrieved from the primary data source 3 and / or the secondary data source 9. The system has a number of advantages, the most pertinent of which is that from the perspective of the user (i.e. the user of the user device 7), there is no direct data exchange or communication between the primary data source 3 and the secondary data source 9, which means that the primary data source 3 is unaware of the data provided from the secondary data source 9 to the media player 11 of the user device 7, and the secondary data source 9 is in turn unaware of the data provided from the primary data source 3 to the media player 11 of the user device 7. This is particularly advantageous from a privacy perspective, as the data provided by any of the primary and secondary data sources 3, 9 may be personal data about the user himself that the user wishes to keep private. The secondary data source 9 typically includes a cloud and / or local server architecture and / or an API service and / or any data storage format file and / or a JSON file and / or a computing device and / or any data storage format or other suitable data resource.

[0040] Another aspect of the present invention provides a method for distributing video content across a network, the method comprising:

[0041] Providing video data to the primary data source 3;

[0042] associating control data 5 with the video data;

[0043] disseminating video data and associated control data 5 from a primary data source 3 to one or more user devices 7 across a network;

[0044] providing a media player 11 on the respective user device 7, the media player 11 being operable to create auxiliary data locally on the respective user device 7 in response to reading the control data 5 while the media player 11 is playing the video data;

[0045] While the media player plays the video data locally on each user device 7, auxiliary data is created locally on the corresponding user device 7;

[0046] Therein, the control data 5 defines one or more elements of auxiliary data to be created by the media player 11 , including elements of the auxiliary data to be retrieved from the primary data source 3 and one or more secondary data sources 9 .

[0047] like Figure 1 The system 1 shown is configured to implement a method for distributing video content across a network. Furthermore, the features of the system 1 described further herein are equally applicable to the method.

[0048] The control data 5 is typically associated with the video data at the primary data source 3. In an alternative embodiment, the system may further comprise a first device (not shown) operable to communicate with the primary data source 3 via wired and / or wireless transmission means. To this end, the first device is operable to broadcast data for receipt by the primary data source 3. The control data may be associated with the video data on the first device, typically by an operator of the first device, wherein the video data and the associated control data may then be broadcasted from the first device to the primary data source 3 simultaneously or separately, typically for onward distribution to a user device 7. Alternatively, where the video data has already been provided to the primary data source 3, i.e. where the first device comprises a copy of the video data already available to the primary data source 3, then only the associated control data may be broadcasted to the primary data source 3 for onward distribution. The first device comprises a computing device; more preferably, the first device comprises a handheld computing device. To this end, the first device may comprise a smartphone, a tablet, a laptop or any other suitable computing device. The first device may include an application resident thereon or the like, which a user may use to add specific auxiliary data to the original video data.

[0049] As previously described, the control data 5 includes information defining one or more elements of auxiliary data that will be created and applied to the original video data in real time during the playback of subsequent video data (typically on the user device 7 by the media player 11, which is installed on the user device 7 or otherwise accessible to it). To this end, the control data preferably includes metadata, such as a data exchange format and / or data storage format referred to herein as Video Markup Language (VML) or other machine-readable markup language. The control data 5 includes instructions defining one or more of the following: the layout of the auxiliary data relative to the video data; one or more types of auxiliary data provided relative to the video data; the time points at which the auxiliary data is provided relative to the video data; and / or the location from which the auxiliary data is to be retrieved, such as the primary data source 3 and / or one or more secondary data sources 9. The auxiliary data may include one or more of the following: a customizable text overlay, graphics, sound, secondary video data, special effects, a real-time feed or display of information, or any combination thereof. It should be understood that a real-time feed is intended to mean substantially instantaneous (i.e., real-time). The created auxiliary data is typically layered over or under the video to present a synchronized video, however it should be understood that within the video distribution system 1, the video remains as the original video independent of the generated auxiliary data, or in other words, as video data without additional graphics or special effects. When the user uses the user device 7 to watch the video, the media player 11 synchronously creates the correct auxiliary data, such as high-quality pictures, text and special effects. The auxiliary data is then superimposed on the original video by the media player 11 on each user device 7, thereby providing the end user with the appearance of a single high-quality video file. In order to layer the created auxiliary data over the video data, the video data can be defined as a plurality of different display segments, and the auxiliary data can be defined as one or more display segments including the video data. It should be understood that the auxiliary data is created or rendered on the media player 11 only when video playback is started on the media player 11, according to the order specified by the control data 5, and generally only continues to be created until the video playback stops appearing on the media player 11.

[0050] The control data 5 typically acts as a placeholder or template that defines the type of data to be inserted or layered on top of the video data and when this occurs, with different elements of the auxiliary data being inserted and removed at specific times. It should be understood that all auxiliary data is processed and created or rendered locally on the user device 7 for insertion by the media player 11 relative to the video data. For example, video data including an advertising video for a particular product or service may be provided to the primary data source 3, and the control data 5 associated with the video data may define the layout of the auxiliary data, i.e., where and when the created auxiliary data will appear relative to the video data. This may take the form of xy axis coordinate data and defined video data periods. For example:

[0051] At time x, insert text covering {user location} at grid position x=10, y=20 for 15 seconds; …

[0052] Typically, the control data 5 associated with the video data at the primary data source defines placeholders for subsequent information to be retrieved from the secondary data source 9 and / or the primary data source 3. To this end, the control data 5 may further indicate where the information of the placeholders can be obtained. As shown in the above statement, such as {user location}, the auxiliary data to be created can be customized to be user-specific. The primary data source 3 may be aware of the secondary data source 9 to which the user can provide relevant personal information; typically, such secondary data sources 9 may include one or more social media platforms, including one or more of the following: Facebook; Google Plus; Twitter; Instagram; Snapchat or any other suitable social media platform or API. Therefore, the control data 5 defines from which secondary data source 9 the user's location information can be obtained. This can be achieved by providing a general URL or the like, or providing further information similarly provided by the user device 7 (typically by the media player 11 thereon). Optionally, the control data 5 can be more specific in terms of where to obtain the information, which information can be based on information of the user of the user device (which is already accessible to the primary data source 3), for example:

[0053] INSERT INTO {userlocation} FROM https: / / facebook.com / usernumber12345 / locationdata.html;

[0054] After the control data is associated with the video data, the video data and control data 5 are broadcasted for receipt by a user device 7 having a media player 11 installed thereon or otherwise accessible thereto. The media player 11, upon reading the control data 5, is configured to retrieve user location information from one or more secondary data sources 9 and insert it into the grid position x=10, y=20 at time x for 15 seconds as described above. This may, for example, include {user location} indicating where the user is in London, displaying a text advertisement for a product or service located in London.

[0055] In addition to this, the control data 5 may also define what action to perform if the data is not available or accessible at a specified location. For example, the control data 5 indicates that an auxiliary data element (e.g., user location) is to be retrieved from a first location at the secondary data source 9, and the media player 11 attempts to retrieve said user location data from the first location, but there is an error and the information is not accessible at that location, the control data may indicate a second location (e.g., Instagram) from which the user location can be obtained, or indicate a stock location to provide if the information cannot be obtained from the second location, or the control data may simply indicate an alternative auxiliary data element to be inserted, such as a graphic, instead of the user location. This example expresses a key advantage of the system of the present invention in that the primary data source 3 does not actually provide the user location data, the primary data source knows the location from which it can be obtained, but the primary data source 3 itself cannot directly access the location data. The control data 5 acts as a pointer or placeholder to indicate what auxiliary data will be provided, when it will be provided, and where it will be provided.

[0056] As described above, the auxiliary data created by the user device 7 may be customized for its specific user. The auxiliary data may contain user specific data, such as: location; age; gender; interests or any other suitable user specific information. This user specific data may already be available to the primary data source 3 and / or the secondary data source 9, in which case the control data 5 may define a location on the primary data source 3 and / or the secondary data source 9 from which the user specific data may be retrieved, as previously described. Furthermore, the control data 5 may already include some information of the user specific data, such that the secondary data source is determined based on the user specific data, and the media player 11 is configured to retrieve one or more elements of the auxiliary data to be created by the media player 11 from the secondary data source. For example, the secondary data source associated with a specific user may be different based on the user's current location, age or any other user specific data, preferably, personal information about the user is stored in the secondary data source 9, which is not accessible to the primary data source 3. However, in order for the media player 11 to obtain this user specific data, the user may need to provide permission as to which of the primary data source 3 and / or the secondary data source 9 the information may be retrieved from and what personal information may be retrieved therefrom, for which end user authentication may be required so that this personal information may be retrieved from the primary data source 3 and / or the secondary data source 9. Accordingly, the user may be prompted to consent to the media player 11 retrieving one or more elements of the secondary data from the primary data source 3 and / or the secondary data source 9. Advantageously, this provides the user with a greater level of control over which data, particularly their personal data, may be accessed to generate the secondary data.

[0057] For example, where the user specific data includes location data, the control data 5 may indicate that this information may be retrieved from one of the secondary data sources 9, such as secondary data source (alpha) α 17 or secondary data source (beta) β 18 or secondary data source (gamma) γ 19. Upon accessing the media player 11, prior to playing the video on the user device 7, the user may be requested to consent to the media player 11 communicating and retrieving personal data (in this case location information) from the secondary data source α 17, wherein if the user consents, the location data may be retrieved from the secondary data source α 17 and location-related auxiliary data may be created by the media player for layered arrangement relative to the video data directly on the user device 7. Wherein, if the user indicates that they do not consent to the media player 11 retrieving their location information, the control data may indicate stock location or alternative auxiliary data to be created and rendered.

[0058] Reference now Figure 2 , which shows a flow chart illustrating an authentication process 100 that a user 101 may be prompted to perform when accessing a media player 11 to view video data and associated control data 5 on a user device 7. The user 101 starts or otherwise initiates a media player 103 on their user device 7 upon accessing their user device 7, and upon initialization or upon attempting to access a particular video, the user is prompted to provide their authentication 105. The user 101 is typically prompted to provide permission for the media player 11 to retrieve PPI about the user from one or more of the secondary data sources 9 and / or primary data sources 3, which may be in the form of a separate query or alternatively, the user 101 may be presented with a list of secondary data sources 9 or different types of personal information, such as age; gender; location; hobbies; brand preferences, etc., and they may then individually select the information that is permitted to be retrieved from one or more secondary data sources 9 and one or more types of personal information. If the user 101 fails to grant the media player 11 access to any secondary data source 9 and / or any type of personal information, the media player 11 may indicate a failure and therefore not play the video requested by the user 101. Subsequently, the user 101 may be prompted again to provide permission for the media player 11 to retrieve information from the secondary data source 9. Additionally or alternatively, when the user 101 is presented with a selection of secondary data sources 9 and / or different types of personal information and the user fails to provide their permission for the media player 11 to retrieve the information, when the user is prompted again for permission, the user 101 may be provided with a different selection of secondary data sources 9 and / or different types of personal information for them to grant permission to retrieve.

[0059] If the user 101 agrees that the media player 11 retrieves the PPI about the user from one or more of the secondary data source 9 and / or the primary data source 3, the media player 11 is configured to read the VML data 107 and retrieve the elements of the auxiliary data to be created from the primary VML data source 109 and the secondary VML data source 111. After receiving these, the video playback starts on the user device 7 and the auxiliary data 113 is created locally in real time on the user device 7. As can be seen from the foregoing, it is mentioned here that the elements of the auxiliary data to be created are "retrieved" or "obtained" from the primary VML data source 109 and the secondary VML data source 111, and the auxiliary data is usually in the form of metadata, and the media player 11 uses the metadata to render and create the auxiliary data locally on the user device 7.

[0060] Furthermore, the control data 5 typically indicates what happens to the generated auxiliary data when playback of the video ends, and in particular the control data 5 typically indicates that the generated auxiliary data and / or the original video data ceases to be rendered or created on the media player 11 of the user device 7, so that once the video ends, it is no longer visible on the user device 7. This is advantageously used to provide further privacy to the user, as the generated auxiliary data will not be visible to subsequent users of the user device 7, and the auxiliary data created based on the user's personal information is not stored on the user device 7. This is also very advantageous from a data storage perspective, as local storage on the user device 7 may be very limited and therefore needs to be saved carefully, because the auxiliary data is only created locally during playback of the video data, and once playback of the video data has stopped, the auxiliary data ceases to be rendered, so the memory used to create the auxiliary data is kept to a minimum, typically only temporary storage of the user device 7, such as cache memory, thereby freeing up local data storage for other tasks.

[0061] Advantageously, the disclosed arrangement, and in particular the independence of the data exchange between the primary data source 3 and the secondary data source 9, ensures that data compliance laws are maintained while providing for the creation of large numbers of personalized videos containing personally identifiable information (PII) and third-party data. Large numbers of videos can be created without having to render each video individually in a server, which avoids processing or storing PII from user-authenticated secondary data sources 9. The control data 5 tells the media player 11 how and where to retrieve data from the primary data source 3 and / or the secondary data source 9 and render them with the video locally on the user device 7 in real time. The control data 5 typically also includes an instruction file containing one or more algorithms or other suitable instruction means that are configured to retrieve or obtain data from the primary data source 3 and / or the secondary data source 9 and tell the media player 11 to seamlessly add the obtained data to the video. The control data 5 can only be read by the media player 11 and cannot be used outside of the media player 11. Once the user authenticates their access to the secondary data source 9 in their device 7, the data extracted from the secondary data source 9 is never sent to the primary data source 3, and the secondary data source 9 typically includes third-party API services such as, but not limited to, Facebook, LinkedIn, etc. The media player 11 is launched when the user begins watching a video. The data received from the different sources (primary data source 3 and / or secondary data source 9) is dynamically rendered into a single video. The dynamic data rendering occurs in the user's device 7 within the media player 11, and no PII or data from third-party sources is shared outside of the media player 11. In addition, the content within the media player 11 only exists while the user is watching the video. When the user has finished watching the video on their device and closes the player, the media player 11 and its contents are destroyed.

[0062] It should be understood that the auxiliary data created in connection with the user's personal data may not only be a visual representation of the personal data, but the data may be further utilized as a building block to obtain more relevant and targeted auxiliary data. Taking the personal data including location data as an example, the auxiliary data created based on the location data may take a variety of different forms. Starting from the user data indicating that their location is in France, the text overlay may be presented entirely in French and / or further in the case where the location data also indicates that their location is in Strasbourg, France, the auxiliary data may then include graphics and / or text containing advertisements for services and products available in their local area (i.e., Strasbourg). In addition, in the case where the location data indicates that the user is located in France, the auxiliary data may include real-time information feeds, such as, but not limited to, weather, news, sports, stock market information, etc. The real-time information fee is an invoice or other suitable presentation method overlaid on or below the original video data.

[0063] Advantageously, this demonstrates the versatility of the disclosed invention as not only are data privacy issues addressed, but from a business perspective, the systems and methods are operable to provide targeted and relevant information to users, which is highly beneficial to the primary data source 3 as well as the secondary data source 9 and the companies they represent in real-world applications.

[0064] Since the control data 5 typically includes metadata, no actual auxiliary data is propagated from the primary data source 3 or the secondary data source 9, the metadata defining the auxiliary data to be created locally on the user device 7 by the media player 11. This is particularly advantageous from a data storage and bandwidth perspective, since typically where auxiliary data is added to a video, this would involve rendering separate video files with the auxiliary data into a single file, which would then be propagated to the user device, and since the auxiliary data may contain a large amount of graphics, video and other forms of auxiliary data, these personalized video files would be of considerable size for propagation to the user device, and would therefore consume a large amount of bandwidth. Compared to the present invention, the original video data is propagated together with the associated control data 5 including metadata (whose file size is greatly reduced), making it more bandwidth efficient. Furthermore, it is also more advantageous from a data storage perspective, since the auxiliary data is only represented by metadata, but this acts as a pointer to create it locally on the user device 7, and therefore there is no need to store the auxiliary data in the primary data source 3 and / or the secondary data source 9. As previously mentioned, conventional methods of producing personalized digital videos involve a large amount of computing power, where each personalized adaptation of each video must be generated and stored for each user. Before a user can watch a video, the data required for the video personalization elements must be acquired, processed, and used to generate the video. The more users there are to provide personalized videos, the greater the cost, time, and energy usage required to generate and store all the video adaptations. The present invention is more advantageous in this regard because when only the video is desired to be viewed, all processing is done locally on the user device 7, which is much easier than the pre-distribution and storage methods commonly implemented in the accompanying drawings. Figure 1B This advantage is illustrated in , generally indicated by reference numeral 10B, which shows a graph illustrating how time, cost, and energy usage remain substantially constant as the number of users requiring personalized video increases.

[0065] Traditionally, computer programs are used to generate personalized videos using data related to the target user. This generation is usually done on one or more servers, which are expensive to set up, run, and maintain, and the more videos that need to be generated, the greater the financial burden of data storage on the servers. For a large number of users, if the video is generated for each user in a limited time, more servers may be required to split the generation work and run the tasks in parallel so that the total workload can be completed in this time frame. This in turn requires the introduction of more cost, time, and energy consumption. The time and energy usage required to generate a video is positively correlated with the file size of the main video file, the amount of data processed for personalization, the effects that need to be applied to the video, and the processing power of the computing environment. Each rendered video must be stored in a data store accessible by the server in order for the user to download or stream the personalized video, so the cost and energy usage continue to increase even after the video is generated. The storage and distribution of large numbers of videos will require the use of data centers, which are expensive to operate and procure, and also require a lot of energy.

[0066] Under normal circumstances, the server is always running and consuming electricity. For traditional methods of producing personalized videos, this results in the consumption of a large amount of energy. Since the production of the video is completed before the user is able to watch it, the video may not be watched at all, resulting in a waste of electricity and financial resources. In an era when energy conservation is more important than ever and companies are under constant scrutiny for their environmental practices, this traditional approach may prove to be problematic. The method and system proposed by the present invention solves these shortcomings of current practice because it allows personalized videos to be generated for users locally on the user device 7 in real time. This means that the video is only generated when the user tries to watch the video. The video is not physically stored anywhere on the user device 7, and all processing and rendering are performed on the user device 7, which saves money, energy, and does not require any rendering or processing in advance.

[0067] Advantageously, the methods and systems described herein provide a means by which videos can be created on a user device 7 that can take unconnected data from multiple sources and render them into one seamless video. For any user viewing the video, the video can be personalized based on their preferences, such as viewing time and viewing location, as well as any data from any service that may contain user data. With the present invention, the data and video are connected to each other and rendered in real time on the user's consumption device. This can create an unlimited amount of personalized videos with the potential to embed real-time information into the video. The video consumer has full control and understanding of what first-party and third-party data is used, while knowing that no data is shared between any connected services. In addition, the present invention is able to create an unlimited amount of personalized videos without having to create and store rendered videos for each iteration.

[0068] The media player 11 aggregates all the information collected from the primary data source 3 and the secondary data source 9, combines this information with the control data 5 originally propagated from the primary data source 3, which provides a template for the auxiliary data to be created relative to the original video data and renders the auxiliary data into a "personalized" video for the user. This process works by extracting and rendering real-time data at the point where it should be used, and as the user watches the video, the video is updated in real time as the data changes, while ensuring that the data can be / is personalized to the user as defined by the control data 5.

[0069] All data retrieval and processing occurs on the client usage device. No data is ever shared between the primary data source 3 and the secondary data source 9. This allows data compliance because no aggregate data is stored or additional data is created. Using the present invention, the first-party service, i.e., the primary data source 3, can provide personalized services based on the data available to the user at the point of use, which is known by the control data 5. As previously mentioned, the control data 5 knows at what point in the video the data should be retrieved, and also provides a means for enabling the media player 11 to make adjustments when it cannot access the retrieval location of the required data, i.e., the "negative input" situation. Such adjustments in the video can occur immediately. Adjustments include, but are not limited to, video adjustments, audio adjustments, data adjustments, and points of location use. This is facilitated by the feature of the control data 5 that is executed as a placeholder. At any point where data is requested, it is interlaced into the video by the control data 5, which defines all elements of the auxiliary data to be retrieved and created.

[0070] Using this approach, when the video is played locally on the user device 7, the media player 11 retrieves data from the primary data source 3 and the secondary data source 9 based on the control data 5 and renders the auxiliary data without creating redundant data. This process allows the primary data source 3 to provide a personalized and / or real-time video experience without processing or storing any information from the secondary data source 9 or storing them within the video itself. The personalized data displayed within the video at the time of use only exists when the user "watches" the video on their usage device 7. Within the user-side media player 11, the data is connected in real time within the media player 11. No data leaves the customer's usage device 7, so no external data or PII exists outside the user device 7. Data processing occurs on the client's user device 7, not on any server, especially not on the primary data source 3 or the secondary data source 9. Because the video and the generated auxiliary data come from unconnected sources, this enables the provision of videos containing personally identifiable information while ensuring that no third-party services (i.e., the secondary data sources 9) can view or process any data from services other than their own.

[0071] Due to the real-time nature of the invention, this enables us to retrieve and cancel content. This means that based on the control data 5 we can specify what happens when we are "done" with a stream, and what is defined as done, which is typically the end of the video playback. As mentioned above, this also means that we can cancel all generated auxiliary data after the video is completed. For example, this may include deleting the auxiliary data and / or video data from the user device 7 once the end of the video is reached, in the case where the video has been watched once; or deleting the auxiliary data and / or video data from the user device 7 whenever the session established between the user and the media player 11 ends (such as the web page is closed) in the case where the media player 11 is incorporated into a web page, etc. This advantageously adds an additional layer of security and control over the data that the secondary data source 9 can access.

[0072] It should be understood that what is described herein is an exemplary system for distributing video content. Although the present teachings have been described with reference to exemplary arrangements, it should be understood that this is not intended to limit the teachings to such arrangements, as modifications may be made without departing from the spirit and scope of the present teachings.

[0073] It should be understood that, although exemplary features of the distributed network system according to the present guidance have been described, this arrangement should not be interpreted as limiting the present invention to these features. The method of the present guidance can be implemented in software, firmware, hardware or a combination thereof. In one mode, the method is implemented as an executable program in software and is executed by one or more special or general-purpose digital computers, such as personal computers (PCs; IBM compatible, Apple compatible or other), personal digital assistants, workstations, minicomputers or mainframe computers. The steps of the method can be implemented by a server or computer where the software module resides or partially resides. In general, in terms of hardware architecture, as will be fully understood by those skilled in the art, such a computer will include a processor, a memory and one or more input and / or output (I / O) devices (or peripherals), which are communicatively coupled through a local interface. As known in the art, a local interface can be, for example, but not limited to, one or more buses or other wired or wireless connections. The local interface may have other elements, such as a controller, a buffer memory (cache), a driver, a repeater and a receiver, to enable communication. In addition, the local interface may include address, control and / or data connections to enable appropriate communication between other computer components. The processor can be programmed to perform the functions of the first, second, third and fourth modules as described above. The processor is a hardware device for executing software, especially software stored in a memory. The processor can be any custom or commercially available processor, a central processing unit (CPU), an auxiliary processor in a plurality of processors associated with a computer, a semiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, or any device generally used to execute software instructions.

[0074] The memory is associated with the processor and may include any one or a combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.) and non-volatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.). In addition, the memory may incorporate electronic, magnetic, optical and / or other types of storage media. The memory may have a distributed architecture in which various components are remote from each other but still accessed by the processor.

[0075] The software in the memory may include one or more separate programs. A separate program includes an ordered list of executable instructions for implementing logical functions so as to implement the functions of the module. In the examples described so far, the software in the memory includes one or more components of the method and the software can be executed on a suitable operating system (O / S).

[0076] The instructions may include components that are set up as source programs, executable programs (object code), scripts, or any other entity that includes a set of instructions to be executed. When it is a source program, the program needs to be translated by a compiler, assembler, interpreter, etc., which may or may not be contained in memory in order to operate properly with the O / S.

[0077] Furthermore, methods implemented according to the present teachings may be expressed in (a) an object-oriented programming language having classes for data and methods, or (b) a procedural programming language having routines, subroutines, and / or functions, such as, but not limited to, C, C++, Pascal, Basic, Fortran, Cobol, Perl, Java, Json, and Ada.

[0078] When the method is implemented in software, it should be noted that such software can be stored on any computer-readable medium for use by or in conjunction with any computer-related system or method. In the context of this guide, a computer-readable medium is an electronic, magnetic, optical or other physical device or apparatus that can contain or store a computer program for use by or in conjunction with a computer-related system or method. This arrangement can be embodied in any computer-readable medium for use by or in conjunction with an instruction execution system, device or apparatus, such as a computer-based system, a system containing a processor, or other system that can obtain process instructions from an instruction execution system, device or apparatus and execute these instructions. In the context of this document, a "computer-readable medium" can be any device that can store, communicate, propagate or transmit a program for use by or in conjunction with an instruction execution system, device or apparatus. A computer-readable medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, device, device or propagation medium. Any process description or block in the accompanying drawings should be understood to represent a module, segment or code portion, which includes one or more executable instructions for implementing a specific logical function or step in the process, as will be understood by a person of ordinary skill in the art.

[0079] It should be emphasized that the above embodiments of this guide, especially any "preferred" embodiments, are possible implementation examples, which are only described for a clear understanding of the principles. Many changes and modifications can be made to the above embodiments without substantially departing from the spirit and principles of this guide.

[0080] The invention is not limited to the embodiments described herein but may be modified or altered without departing from the scope of the invention.

Claims

1. A method for distributing video content across a network, the method comprising: Provide video data to primary data sources; associating control data with the video data; disseminating video data and associated control data from a primary data source to one or more user devices across a network; providing a media player on each user device, the media player being capable of creating auxiliary data locally on each user device in response to reading the control data while the media player is playing the video data; Creating auxiliary data locally on each user device while the media player plays the video data locally on each user device; wherein the control data defines one or more elements of auxiliary data to be created by the media player, the one or more elements comprising elements of the auxiliary data to be retrieved from the primary data source and the one or more secondary data sources, and Wherein, when the media player plays the video data locally on each user device, before creating auxiliary data locally on each user device, the method further includes: authenticating the media player with the secondary data source to allow the media player to retrieve the auxiliary data from the secondary data source. The method of claim 1 , wherein the control data comprises metadata.

3. The method according to claim 2, wherein the control data comprises a data exchange format and / or a data storage format.

4. The method of claim 1 , wherein the control data comprises instructions defining elements of auxiliary data, the elements of the auxiliary data comprising one or more of: the layout of the auxiliary data relative to the video data; one or more types of auxiliary data provided relative to the video data; at least a first location, retrieving secondary data from the first location from a primary data source and / or a secondary data source; the time at which the auxiliary data is provided relative to the video data; and / or Action to take on ancillary data when video playback ends. 5 . The method of claim 4 , wherein the action performed on the auxiliary data when video playback ends comprises stopping the creation of auxiliary data locally on the media player.

6. The method of claim 4, wherein the control data further defines a second location from which the auxiliary data is retrieved from the primary data source and / or the secondary data source if the auxiliary data is not available at the first location.

7. The method of claim 4, wherein one or more types of auxiliary data are provided at different times during playback of the video data.

8. The method of claim 4, wherein the one or more types of auxiliary data include one or more of the following: Customizable text overlays; Graphics; sound; Secondary video data; special effects; and / or A real-time feed or display of information.

9. The method of claim 1, wherein the assistance data comprises user specific data, wherein the user specific data comprises data about a user of the user device.

10. The method of claim 9, wherein the user-specific data comprises one or more of: user location; user age; user gender; user interests or hobbies; user language; user search history; user network history and / or any other suitable user-specific information.

11. A method according to claim 9 or 10, wherein user specific data is stored on one or more of a secondary data source and / or a primary data source and / or a user device and / or a media player.

12. A method according to claim 9 or 10, wherein the secondary data source is determined based on one or more elements of user specific data, and the media player is configured to retrieve one or more elements of auxiliary data to be created by the media player from the secondary data source.

13. The method of claim 1, wherein authenticating the media player with the secondary data source comprises requesting a user to provide permission for the media player to retrieve one or more elements of the auxiliary data from one or more secondary data sources.

14. The method of claim 1, wherein authenticating the media player with the secondary data source comprises verifying that a user has previously provided permission for the media player to retrieve one or more elements of the auxiliary data from one or more secondary data sources.

15. A method according to claim 13 or 14, wherein the control data comprises instructions defining actions to be performed if the user's consent is not obtained or verified.

16. The method of claim 15, wherein the control data indicates that playback of the video on the user device does not occur on the media player or indicates that predefined auxiliary data is created during playback of the video on the media player.

17. The method according to claim 16, wherein the type of predefined assistance data to be created is defined in the control data.

18. The method of claim 16, wherein the predefined secondary data is retrieved from a primary data source.

19. The method according to claim 1, wherein the primary data source and / or the secondary data source comprises a cloud and / or a local server architecture and / or an API service and / or any data storage format file and / or a JSON file and / or a computing device and / or any data storage format or other suitable data.

20. The method of claim 1, wherein the media player is configured to create the auxiliary data in real time while the video data is being played on the user device and synchronize the auxiliary data with the video data.

21. The method of claim 1, wherein the user device comprises a smartphone, a tablet computer, a laptop computer, or any other suitable computing device.

22. A system for distributing video content across a network, the system comprising: Primary data sources; one or more user devices; one or more secondary data sources; wherein the primary data source is configured to associate the control data with the video data provided to the primary data source; wherein the primary data source is configured to broadcast the video data and associated control data for receipt by one or more user devices; wherein the user device includes a media player disposed thereon, the media player being configured to create auxiliary data locally on the corresponding user device in response to reading the control data when playing the video on the user device; wherein the control data defines one or more elements of auxiliary data that the media player creates locally on the user device, the one or more elements comprising elements of the auxiliary data to be retrieved from the primary data source and the one or more secondary data sources; as well as Wherein, when the media player plays video data locally on each user device, before creating auxiliary data locally on each user device, the system further includes: authenticating the media player with the secondary data source to allow the media player to retrieve auxiliary data from the secondary data source.

Citation Information

Patent Citations

  • A video broadcast system and a method of disseminating video content

    CN105765990A