How to pair a stream with a user and the system
By embedding unique identifiers in OTT streams and receiving user inputs, the method effectively pairs users with display devices, ensuring personalized content delivery and enhancing user experience.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-14
- Publication Date
- 2026-03-25
AI Technical Summary
Conventional linear television broadcasts lack user personalization, and existing OTT streaming methods fail to reliably deliver personalized content to the intended user, especially when multiple display devices are involved.
A method and system for embedding unique identifiers in streams, associating them with display devices, and receiving user inputs to pair users with specific display devices, enabling personalized content delivery through a processor.
Ensures reliable pairing of users with display devices, allowing personalized content delivery, improving user experience and reducing computational load by minimizing unnecessary modifications to streams.
Smart Images

Figure 2026509857000001_ABST
Abstract
Description
Technical Field
[0001] This technology relates to the field of distribution technology. More specifically, this technology relates to over-the-top (OTT) distribution, and in particular, to user pairing methods and methods of personalizing content.
Background Art
[0002] Conventional linear television broadcasts follow a schedule set by content providers such as television broadcasters, and users cannot access personalized content. Therefore, broadcast content including advertisements is pre-programmed by the content provider for each channel and period without user input.
[0003] All users sharing conventional television broadcasts receive the same content at approximately the same time. For example, all users watching the same linear channel within a household receive the same content. To change the content, the user needs to change the selected channel to another channel with pre-programmed other content.
[0004] Due to the increasing demand and popularity of over-the-top (OTT) streaming, content providers have come to build their own OTT platforms. In over-the-top streaming, users can obtain content on demand without being restricted to content pre-programmed by the provider for a specific period.
[0005] Some OTT channels may be live, while others may be on-demand. For example, live and on-demand content can be delivered using Hypertext Transfer Protocol (HTTP) Live Streaming (HLS) technology. Personalizing content for specific users relies on user authentication information (such as account login) or connection data such as gateway IP address. However, this method does not guarantee that personalized content will be delivered to the intended user. [Overview of the Initiative] [Problems that the invention aims to solve]
[0006] Therefore, improvements are needed to the pairing method for connecting streams with users. Furthermore, a device-independent pairing method is needed that allows users to pair streams with various display devices, playback devices, and player software. [Means for solving the problem]
[0007] A broad first aspect provides a method for pairing a user with a display device in an over-the-top distribution system, the method being performed by a processor and comprising: embedding unique identifiers in a plurality of streams, each of which streams is associated with each of the plurality of display devices; transmitting the plurality of streams to the plurality of display devices, each of which streams is transmitted to each of the plurality of display devices; receiving a display of a specific unique identifier from the user device; obtaining a pairing between the user and a specific display device among the plurality of display devices by assigning the user to a specific display device among the plurality of display devices that is associated with a specific unique identifier; and outputting the pairing.
[0008] A broader second aspect provides a method for personalizing content delivery in an over-the-top delivery system, the method being performed by a processor, comprising: embedding unique identifiers in a plurality of streams, each of which streams is associated with each of the plurality of display devices; transmitting the plurality of streams to a plurality of display devices, each of which streams is transmitted to each of the plurality of display devices; receiving a display of a particular unique identifier from a user device; obtaining a pairing between the user and a particular display device from the plurality of display devices by assigning the user to a particular display device from the plurality of display devices that is associated with the particular unique identifier; generating personalized content for the user; obtaining a personalized stream by embedding the personalized content in a particular stream from the plurality of streams that is associated with the particular unique identifier; and transmitting the personalized stream to a particular display device from the plurality of display devices.
[0009] In some embodiments, the method further includes receiving a pairing request from a user device.
[0010] In some embodiments, the unique identifier includes one of a barcode, a QR code (registered trademark), an image, a number, an alphanumeric code, and a sound.
[0011] In some embodiments, the step of generating personalized content includes retrieving personalized content associated with a user from a database.
[0012] In some embodiments, the step of generating personalized content includes receiving a display from a user device of predetermined content to be embedded in one particular stream among several streams.
[0013] In some embodiments, the embedding step includes replacing at least a portion of the content of one particular stream among several streams with personalized content.
[0014] In some embodiments, at least a portion of the content is either a predetermined portion or an arbitrary portion.
[0015] In some embodiments, the embedding step includes inserting personalized content between at least two portions of the content of one particular stream among a plurality of streams.
[0016] In some embodiments, the method further includes generating a unique identifier.
[0017] In some embodiments, the method further includes retrieving a unique identifier from a database storing pre-generated unique identifiers.
[0018] In another broader embodiment, a method is provided for personalizing content delivery in an over-the-top delivery system, the method being performed by a processor, comprising: embedding unique identifiers in a plurality of streams such that each of the plurality of streams is associated with each of the plurality of display devices at a particular point in time; transmitting the plurality of streams such that each of the plurality of streams is transmitted to each of the plurality of display devices; receiving a display of a particular unique identifier from a user device; obtaining a pairing between a particular stream from the plurality of streams and a user by assigning a particular stream from the plurality of streams to a user, the stream corresponding to the particular unique identifier and the particular unique identifier at a particular point in time in which the stream was embedded in each of the plurality of streams; and outputting the pairing.
[0019] In some embodiments, the method further includes generating personalized content for a user, obtaining a personalized stream by embedding the personalized content in a specific stream among a plurality of streams, and transmitting the personalized stream to a specific display device among a plurality of display devices associated with a specific unique identifier.
[0020] In some embodiments, the method further includes receiving a pairing request from a user device.
[0021] In some embodiments, the unique identifier includes one of a barcode, QR code, image, number, alphanumeric code, and audio.
[0022] In some embodiments, the step of generating personalized content includes retrieving personalized content associated with a user from a database.
[0023] In some embodiments, the step of generating personalized content includes receiving, from a user device, a display of predetermined content embedded in a particular one of a plurality of streams.
[0024] In some embodiments, the embedding step includes replacing at least a portion of the content of a particular one of the plurality of streams with the personalized content.
[0025] In some embodiments, at least a portion of the content is either a predetermined portion or an arbitrary portion.
[0026] In some embodiments, the embedding step includes inserting the personalized content between at least two portions of the content of a particular one of the plurality of streams.
[0027] In some embodiments, the method further includes generating a unique identifier.
[0028] In some embodiments, the method further includes obtaining the unique identifier from a database storing pre-generated unique identifiers.
[0029] In a further broad aspect, a system for pairing a user with a display device in an over-the-top delivery system, the system comprising a processor and a non-transitory storage medium operatively connected to the processor, the non-transitory storage medium including computer-readable instructions, wherein when the processor executes the instructions, the processor embeds unique identifiers in a plurality of streams, each of the plurality of streams being associated with each of the unique identifiers and each of the plurality of display devices, and transmits the plurality of streams to the plurality of display devices, each of the plurality of streams being transmitted to each of the plurality of display devices, receives a display of a particular one of the unique identifiers from a user device, and obtains a pairing between the user and a particular one of the plurality of display devices by assigning to the user the particular one of the plurality of display devices associated with the particular one of the unique identifiers, and outputs the pairing.
[0030] In yet another broader embodiment, a system for personalizing content delivery in an over-the-top delivery system is provided, the system comprising: a processor; a non-temporary storage medium operably connected to the processor, the non-temporary storage medium containing computer-readable instructions, wherein the processor is configured to, when executing instructions, embed unique identifiers in a plurality of streams, each of which streams is associated with each of the plurality of display devices; transmit the plurality of streams to a plurality of display devices, each of which streams is transmitted to each of the plurality of display devices; receive a display of a particular unique identifier from a user device; obtain a pairing between the user and a particular display device among the plurality of display devices by assigning the user to a particular display device among the plurality of display devices associated with a particular unique identifier; generate personalized content for the user; obtain a personalized stream by embedding personalized content in a particular stream among the plurality of streams associated with a particular unique identifier; and transmit the personalized stream to a particular display device among the plurality of display devices.
[0031] In some embodiments, the processor is further configured to receive pairing requests from a user device.
[0032] In some embodiments, the unique identifier includes one of a barcode, QR code, image, number, alphanumeric code, and audio.
[0033] In some embodiments, the processor is configured to retrieve personalized content associated with the user from a database.
[0034] In some embodiments, the processor is configured to receive from a user device the display of predetermined content to be embedded in one particular stream among several streams.
[0035] In some embodiments, the processor is configured to replace at least a portion of the content of one particular stream among several streams with personalized content.
[0036] In some embodiments, at least a portion of the content is either a predetermined portion or an arbitrary portion.
[0037] In some embodiments, the processor is configured to insert personalized content between at least two portions of the content of a particular stream among a plurality of streams.
[0038] In some embodiments, the processor is further configured to generate a unique identifier.
[0039] In some embodiments, the processor is further configured to retrieve a unique identifier from a database that stores pre-generated unique identifiers.
[0040] In a more broad embodiment, a system for personalizing content delivery in an over-the-top delivery system is provided, the system comprising: a processor; a non-temporary storage medium operably connected to the processor, the non-temporary storage medium containing computer-readable instructions, wherein the processor is configured to, when executing instructions, embed unique identifiers in a plurality of streams, such that each of the plurality of streams is associated with each of the plurality of display devices at a particular point in time; transmit the plurality of streams, such that each of the plurality of streams is transmitted to each of the plurality of display devices; receive a display of a particular unique identifier from a user device; obtain a pairing between a particular stream from the plurality of streams and the user by assigning a particular stream from the plurality of streams to the user, which corresponds to a particular unique identifier and a particular point in time when the particular unique identifier was embedded in each of the plurality of streams; and output the pairing.
[0041] In some embodiments, the processor is configured to further generate personalized content for a user, obtain a personalized stream by embedding the personalized content into a specific stream among several streams, and transmit the personalized stream to a specific display device among several display devices associated with a specific unique identifier.
[0042] In some embodiments, the processor is further configured to receive pairing requests from a user device.
[0043] In some embodiments, the unique identifier includes one of a barcode, QR code, image, number, alphanumeric code, and audio.
[0044] In some embodiments, the processor is configured to retrieve personalized content associated with the user from a database.
[0045] In some embodiments, the processor is configured to receive from a user device the display of predetermined content to be embedded in one particular stream among several streams.
[0046] In some embodiments, the processor is configured to replace at least a portion of the content of one particular stream among several streams with personalized content.
[0047] In some embodiments, at least a portion of the content is either a predetermined portion or an arbitrary portion.
[0048] In some embodiments, the processor is configured to insert personalized content between at least two portions of the content of a particular stream among a plurality of streams.
[0049] In some embodiments, the processor is further configured to generate a unique identifier.
[0050] In some embodiments, the processor is further configured to retrieve a unique identifier from a database that stores pre-generated unique identifiers.
[0051] definition In the context of this specification, “server” means a computer program running on appropriate hardware that is capable of receiving requests (e.g., from electronic devices) via a network (e.g., a communication network), and executing or having those requests executed. The hardware may be a single physical computer or a single physical computer system, but for the purposes of this technology, it may not be either of these. In this context, the use of the term “server” does not mean that all tasks (such as received instructions or requests) or a particular task are received, executed, or made to be executed by the same server (i.e., the same software and / or hardware). It means that any number of software elements or hardware devices may be used to receive / transmit, execute, or have executed any task or request, or the results of any task or request. Furthermore, all of this software and hardware may be one server or multiple servers, both of which are included in the expressions “at least one server” and “one server.”
[0052] In the context of this specification, “User Device” means any device or hardware capable of running software suitable for the relevant task at hand. Therefore, some (non-exclusive) examples of user devices include general-purpose personal computers (desktops, laptops, netbooks, etc.), mobile computing devices, smartphones, and tablets. The use of the term “User Device” does not exclude the use of multiple devices in receiving / transmitting, performing, or causing to be performed a task or request, or the results of a task or request, or any step of any method described herein.
[0053] In the context of this specification, the expression “computer-readable storage medium” (also known as “storage medium,” “memory,” and “storage”) is intended to include all types and characteristics of non-temporary media, including but not limited to RAM, ROM, disks (CD-ROMs, DVDs, floppy disks, hard drives, etc.), USB keys, solid-state drives, tape drives, etc. Computer information storage mediums may be formed by combining multiple components, including two or more media components of the same type and / or two or more media components of different types.
[0054] In the context of this specification, “database” means any structured collection of data, regardless of whether it is a specific structure, database management software, or computer hardware on which the data is stored, implemented, or otherwise made available. A database may reside on the same hardware as the processes that store or use the information stored in it, or it may reside on separate hardware, such as a dedicated server or multiple servers.
[0055] In the context of this specification, the term "information" includes all types or characteristics of information that can be stored in a database. Therefore, information includes, but is not limited to, audiovisual works (images, films, audio recordings, presentations, etc.), data (location data, numerical data, user authentication information, user settings, etc.), text (opinions, comments, questions, messages, etc.), documents, spreadsheets, word lists, etc.
[0056] In the context of this specification, unless otherwise expressly stated, “indication” means any type of signal that has information necessary to convey a command, response, or selection to another device.
[0057] In the context of this specification, the terms “communication network” or “network” are intended to include, for example, telecommunication networks such as computer networks, the Internet, telephone networks, telex networks, and TCP / IP data networks (e.g., WAN networks, LAN networks, etc.). The term “network” includes wired networks or direct wired connections, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media, as well as any combination thereof.
[0058] In the context of this specification, subunits of a stream may be referred to as “parts,” “content blocks,” “packets,” “segments,” or other terms common in the art. Unless otherwise explicitly stated, these terms may be used interchangeably for clarity. Thus, unless the context indicates otherwise, a description of a part of a stream may also apply to one content block, packet, or segment, or to multiple content blocks, packets, or segments, and vice versa.
[0059] In the context of this specification, “Asset” refers to content such as concerts, songs, documentaries, films, television programs, or segments thereof.
[0060] In the context of this specification, "channel" means the streaming content that a user can view on their display device.
[0061] In the context of this specification, “companion app” and “application” mean software that can run independently of the display device or software that plays the stream, and this includes software that can run on a mobile device or other computing device. This term is understood to mean instructions that cause a device to perform steps associated with a companion app written in any suitable programming language (e.g., Java®, Javascript®, Python®, HTML, etc.).
[0062] In the context of this specification, "offset" means a time delay added to the stream.
[0063] In the context of this specification, “stream” means content delivered sequentially to a single display device, such as, for example, a sequence of video / audio. A stream may consist of other content, and it is understood that insertion, replacement, or other modification of the content of a stream does not affect the content’s nature as a “stream.”
[0064] In the context of this specification, words such as “first,” “second,” and “third” are used solely as adjectives to distinguish the nouns they modify from one another, and not to describe any specific relationship between those nouns. Therefore, for example, the use of the terms “server” and “third server” does not imply any particular order, type, temporal order, hierarchy, or rank (e.g.) among / within the servers, nor does their use (in itself) mean that any “second server” must necessarily exist in any particular situation. Furthermore, as described in other contexts of this specification, the references to “first” and “second” elements do not preclude the two elements from being actually the same real-world element. Therefore, for example, in some cases the “first” server and the “second” server may be the same software and / or hardware, and in other cases they may be different software and / or hardware.
[0065] Each implementation of this technology has at least one of the above-described objectives and / or embodiments, but does not necessarily have all of them. It is understood that some embodiments of this technology obtained in an attempt to achieve the above-described objectives may not satisfy this objective and / or may satisfy other objectives not specifically described herein.
[0066] Additional and / or alternative features, embodiments, and advantages of implementations of this technology will become apparent from the following description, the accompanying drawings, and the accompanying claims.
[0067] The following description, to be used in conjunction with the attached drawings, will provide a better understanding of this technology, as well as other embodiments and other features. [Brief explanation of the drawing]
[0068] [Figure 1] This document provides an example system for implementing the pairing method described herein. [Figure 2] This document shows an alternative configuration for a system that implements the pairing method described herein. [Figure 3] This shows the configuration of a system that implements the pairing method relating to this disclosure, including multiple display devices. [Figure 4] An alternative configuration of a system implementing the pairing method relating to this disclosure, including multiple display devices, is shown. [Figure 5] The following provides schematic examples of streams with and without unique identifiers. [Figure 6] This disclosure illustrates an example of content personalization. [Figure 7] This disclosure provides an example system for implementing a pairing method that includes a variable unique identifier. [Figure 8] This disclosure provides an exemplary method for pairing a user with a stream. [Figure 9] This disclosure provides an exemplary method for pairing a user with a stream, taking into account time delays. [Figure 10] This disclosure provides exemplary steps for assigning a stream to a user-associated display device, taking into account the time offset. [Figure 11] This example demonstrates how to pair a stream with a user, including a unique identifier embedded in the stream for a duration equal to half the offset time. [Figure 12] This demonstrates another exemplary method of pairing streams with users, including unique identifiers intermittently embedded in multiple streams. [Figure 13] This disclosure provides an exemplary method for personalizing content within a paired stream. [Figure 14] This diagram shows a schematic representation of a computing device relating to one or more non-exclusive implementation forms of this technology. [Modes for carrying out the invention]
[0069] The examples and conditions set forth herein are primarily intended to help the reader understand the principles of this art and do not limit the scope to the examples and conditions specifically described herein. Those skilled in the art will understand that various configurations not explicitly described or illustrated herein can be devised to embody the principles of this art and to fall within its spirit and scope.
[0070] Furthermore, to aid understanding, the following description may describe a relatively simplified implementation of this technology. Those skilled in the art will understand that various implementations of this technology can be more complex.
[0071] In some cases, examples that may be helpful in modifying this technology may be presented. This is done solely for the purpose of aiding understanding and, as stated above, does not define the scope of this technology or specify its limitations. These modifications are not exhaustive, and those skilled in the art may make other modifications within the scope of this technology. Furthermore, the absence of modification examples should not be interpreted as meaning that modifications are impossible and / or that the described content is the only way to implement the elements of this technology.
[0072] Furthermore, all descriptions in this specification, which enumerate the principles, aspects, and implementations of the present technology, as well as specific examples thereof, are intended to encompass both structural and functional equivalents, whether currently known or to be developed in the future. Therefore, for example, it will be understood by those skilled in the art that each block diagram in this specification represents a conceptual diagram of an exemplary circuit embodying the principles of the present technology. Similarly, it will be understood that flowcharts, flow diagrams, state transition diagrams, and pseudocode, etc., represent various processes that can be executed by a computer or processor, whether or not a computer or processor is explicitly indicated, and which can be substantially represented on a computer-readable medium.
[0073] The functionality of the various elements shown in the diagram may be provided by the use of dedicated hardware and hardware capable of executing software in conjunction with appropriate software, including any functional block referred to as a “processor” or “graphics processing unit.” Where provided by a processor, functionality may be provided by a single dedicated processor, a single shared processor, or multiple separate processors (some of which may be shared). In one or more non-limiting embodiments of this technology, the processor may be a general-purpose processor such as a central processing unit (CPU) or a processor dedicated to a specific purpose such as a graphics processing unit (GPU). Furthermore, the explicit use of the terms “processor” or “controller” should not be interpreted as referring only to hardware capable of executing software, but implicitly includes, but is not limited to, digital signal processor (DSP) hardware, network processors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), read-only memory (ROM), random-access memory (RAM), and non-volatile storage for storing software. Other conventional and / or custom hardware may also be included.
[0074] Software modules, or modules that are simply implied to be software, may be represented herein as any combination of flowchart elements or other elements indicating the execution of process steps and / or text descriptions. Such modules may be executed by hardware that is explicitly or implicitly indicated.
[0075] Based on these fundamentals, this specification will examine some non-limiting examples to illustrate various implementation forms of the present technology.
[0076] Referring to Figure 1, an exemplary system 100 is shown that can implement the methods disclosed herein. It should be clearly understood that the illustrated system 100 is merely an exemplary implementation of the Art. Therefore, the following description is for illustrative purposes only. This description is not intended to define the scope or express the limitations of the Art. In some cases, examples that may be useful for modifying system 100 may also be described below. This is done solely for the purpose of aiding understanding and, as stated above, not to define the scope or express the limitations of the Art. These modifications are not exhaustive and other modifications are possible, as will be understood by those skilled in the art. Furthermore, even if this is not done (i.e., no examples of modifications are shown), it should not be interpreted that modifications are impossible and / or that what is described is the only way to implement the elements of the Art. It will be understood by those skilled in the art that this is unlikely to be the case. Furthermore, system 100 may be provided as a simpler implementation of the Art in some cases, which should be understood as being presented in this manner for the purpose of aiding understanding. It will be understood by those skilled in the art that various implementations of the Art can be more complex.
[0077] System 100 includes a display device 101. The display device 101 may be a television, a computer monitor, a smart television, a projector including a holographic projector, a smartphone display, a digital media player or streaming device connected to the display, or another display device with similar functionality. The display device 101 receives a distribution signal 102. The distribution signal 102 can be received by the display device 101 via a variety of suitable means, such as Wi-Fi®, Ethernet®, an antenna cable, an HDMI® cable, Bluetooth®, mobile data, and infrared communication.
[0078] An exemplary system 100 may have a user device 103, which may be a smartphone, tablet, or laptop. The user device 103 may be configured to transmit a signal 104. The signal 104 may be a pairing request, display, command, response to interactive content, or other preferred signal.
[0079] The display device 101 and the user device 103 can connect to a network 105 such as a home Wi-Fi network.
[0080] An exemplary system 100 comprises at least one server 110. In exemplary system 100, the server 110 may be configured, in particular, to provide one or more streams 111 over a network to one or more devices, including a display device 101. It is understood that the server 110 can be implemented as a conventional computer server. In one or more non-limiting embodiments of the Art, the server 110 is implemented as a server running an operating system (OS). Naturally, the server 110 may be implemented with any suitable hardware, and / or software, and / or firmware, or a combination thereof. In non-limiting embodiments of the Art, the server 110 is a single server. In one or more alternative non-limiting embodiments of the Art, the functions of the server 110 may be distributed and implemented by multiple servers (not shown). Also, as understood, the streams may be live streams, such as HLS or pre-programmed streams.
[0081] The exemplary system 100 further includes a database 120. The database 120 may be configured to store stream content, personalized content, user profiles, user authentication information, device characteristics such as technical specifications and user settings of the display device 101, and / or other information useful for the functionality of the exemplary system 100.
[0082] Referring to Figure 2, an alternative configuration of the exemplary system 100 is shown, in which the user device 103 and the display device 101 are connected to different networks 105a and 105b. As shown in Figure 2, both networks 105a and 105b can communicate with the server 110. For example, network 105a may be a home Wi-Fi® network, and network 105b may be a mobile network. It is understood that the exemplary system 100 is independent of the nature of networks 105, 105a, and 105b.
[0083] Referring to Figure 3, an example of the operation of an exemplary system 100 is shown. Server 110 transmits multiple streams 111 to multiple display devices 101a, 101b, 101c, and 101d, and these streams may be associated with different devices within the same household, different households, or a combination thereof. For example, multiple display devices 101a, 101b, 101c, and 101d may be connected to multiple networks 105a, 105c, and 105d, such as multiple home Wi-Fi networks. At this point, it is understood that although the streams 111 are associated with each display device 101 by Server 110, Server 110 has not obtained pairing between a particular stream 111 and a user. For this reason, it is difficult to customize or personalize the content of streams 111.
[0084] The user device 103 is connected to a network 105b, such as a mobile network. The user device 103 is configured to send a signal 104 containing a pairing request to a server 110. Those skilled in the art can imagine various methods for sending a pairing request. For example, a pairing request may be initiated from a mobile browser page or an application on the user device 103. The association between the user device 103 itself and the user can be done, for example, by associating a user profile with the media access control (MAC) address of the user device. Alternatively, the user device 103 may have means for temporarily associating the user device 103 with the user through an application or browser login, etc. An application configured to send a pairing request or to perform other steps related to the pairing method disclosed herein can be integrated into a display device or a device connected to a display device, such as a set-top box.
[0085] Server 110 receives a pairing request from user device 103. The pairing request may represent a request from the user for Server 110 to provide personalized content as part of a single stream 111. Server 110 is configured to embed unique identifiers 112a, 112b, 112c, and 112d into stream 111, respectively, and each unique identifier 112a, 112b, 112c, and 112d is associated with the respective display devices 101a, 101b, 101c, and 101d to obtain modified streams 113a, 113b, 113c, and 113d. It should be understood that modified stream 113a corresponds to stream 111 with unique identifier 112a embedded, modified stream 113b corresponds to stream 111 with unique identifier 112b embedded, and so on. Since each unique identifier 112a, 112b, 112c, and 112d is associated with their respective display devices 101a, 101b, 101c, and 101d, please understand that the same association applies to modified streams 113a, 113b, 113c, and 113d, meaning that modified stream 113a is associated with display device 101a, modified stream 113b is associated with display device 101b, and so on.
[0086] In Figure 3, the unique identifiers 112a, 112b, 112c, and 112d are shown as QR codes, but it is readily apparent that other means of identifying a particular stream 111 are available. For example, the unique identifiers 112a, 112b, 112c, and 112d may be barcodes, images, numbers, phrases, alphanumeric codes, audio, or other identifiers suitable for embedding in stream 111.
[0087] The modified streams 113a, 113b, 113c, and 113d, which include the content of stream 111 and their respective unique identifiers 112a, 112b, 112c, and 112d, are transmitted to multiple display devices 101 via their respective networks 105a, 105c, and 105d associated with display devices 101a, 101b, 101c, and 101d. For example, the modified stream 113a corresponding to stream 111 with embedded unique identifier 112a is transmitted to display device 101a via network 105a. In another example, the modified stream 113c corresponding to stream 111 with embedded unique identifier 112c is transmitted to display device 101c via network 105d, and the modified stream 113d corresponding to stream 111 with embedded unique identifier 112c is transmitted to display device 101d via network 105d. Display devices connected to the same network, for example network 105d (display devices 101c and 101d, etc.), for example two televisions connected to the same home Wi-Fi network, each receive their respective modified stream 113, for example modified streams 113c and 113d, each containing their respective unique identifiers, such as unique identifiers 112c and 112d.
[0088] Note that in one or more implementations, at each point in time, each unique identifier 112a, 112b, 112c, and 112d is associated with a single stream 111.
[0089] The user device 103 is configured to send an additional signal 104 to the server 110. This additional signal indicates unique identifiers 112a, 112b, 112c, and 112d received by the user. For example, if the user is in front of the display device 101c, the additional signal sent from the user device 103 to the server 110 indicates unique identifier 112c. For example, the user can use the user device 113 to scan for unique identifiers 112c displayed on the display device 101c. If the unique identifier 112c embedded in the modified stream 113c is an alphanumeric code, the user may read the alphanumeric code displayed on the display device 101c and enter that alphanumeric code into the user device 103.
[0090] Server 110 receives the unique identifiers 112a, 112b, 112c, and 112d from user device 103 and, based on the received unique identifiers 112a, 112b, 112c, and 112d, identifies which particular streams 113a, 113b, 113c, and 113d are associated with that user, i.e., which display devices 101a, 101b, 101c, and 101d are associated with that user. Returning to the example above, Server 110 receives the unique identifier 112c from user device 103 and identifies that display device 101c is associated with the user or user device 103. Server 110 then pairs the user or user device 103 with the identified display devices 101a, 101b, 101c, and 101d. Returning to the example above, Server 110 pairs the user with display device 101c. Since each modified stream 113a, 113b, 113c, and 113d is uniquely associated with its respective display device 101a, 101b, 101c, and 101d, please understand that pairing a user or user device 103 with a specific display device 101a, 101b, 101c, and 101d is equivalent to pairing a user or user device 103 with a specific modified stream 113a, 113b, 113c, and 113d that is sent to that specific display device 101a, 101b, 101c, and 101d.
[0091] In one or more implementations, a pairing between the user and a specific display device 101a, 101b, 101c, 101d (or a pairing between the user and a specific modified stream 113a, 113b, 113c, 113d sent to a specific display device 101a, 101b, 101c, 101d) is output. That is, the user's identification information and the identification information of the specific display device 101a, 101b, 101c, 101d (or the specific modified stream 113a, 113b, 113c, 113d) are output. For example, the pairing may be stored in memory.
[0092] The stream 111 transmitted to the identified display devices 101a, 101b, 101c, and 101d is paired with the user or user device 103.
[0093] In some embodiments, the insertion of unique identifiers 112a, 112b, 112c, and 112d into stream 111 is stopped only when a user pairs with one of the display devices 101a, 101b, 101c, and 101d. In other embodiments, unique identifiers 112a, 112b, 112c, and 112d are inserted into stream 111 only for a specific period of time, after which they are not inserted into stream 111. In some embodiments, for example, if a stream, channel, or server is configured to be in a constantly pairing mode, unique identifiers 112a, 112b, 112c, and 112d may be continuously or permanently inserted into stream 111.
[0094] Referring to Figure 4, an alternative implementation of the above method corresponds to a case where one or more display devices 101a, 101b, 101c, and 101d and the user device 103 are connected to the same network. In the illustrated embodiment, the display devices 101c and 101d are connected to network 105b, to which the user device 103 is also connected.
[0095] Server 110 receives pairing requests from the same networks 105a, 105b, and 105c to which one or more display devices 101a, 101b, 101c, and 101d are connected. Server 110 then embeds unique identifiers 112a and 112b only in the streams 111 for the networks 105a, 105b, and 105c that received the pairing requests, i.e., only in the streams 111 for the display devices 101a, 101b, 101c, and 101d that are connected to the same networks 105a, 105b, and 105c. In the illustrated embodiment, Server 110 receives pairing requests from Server 105b to which display devices 101c and 101d are connected. In this case, Server 110 generates modified streams 113a and 113b associated with the display devices 101c and 101d, respectively, by generating only two unique identifiers 112a and 112b to be embedded in the streams 111, respectively. The modified streams 113a and 113b are sent to the display devices 101c and 101d, respectively, via network 105b, which received the pairing request, while the unchanged stream 111 continues to be sent to the display devices 101a and 101b, respectively, via networks 105a and 105c.
[0096] Consequently, the number of streams 111 modified by the unique identifier is reduced. This reduces the computational and processing power required to implement the method disclosed herein and improves the user experience by maintaining the continuity of streams 111 sent to users who have not requested pairing. Therefore, the unmodified streams 111 continue to be sent to display devices 101a and 101b connected to networks 105a and 105c that are not associated with user device 103, while display devices 101c and 101d connected to network 105b that is associated with user device 103 receive modified streams 113a and 113b, respectively.
[0097] Referring to Figure 5, detail diagrams of at least a portion of the content of streams 111 and 113 are shown, respectively, a stream with a unique identifier 112 and a stream without one. Although streams 111 and 113 are shown as film reels, it is understood that this disclosure is applicable to all types and techniques of streams in which a unique identifier can be embedded in the stream.
[0098] Referring to Figure 6, an exemplary stream personalization is illustrated. Before pairing, streams 111a and 111b (with identical content) are not personalized. Therefore, for example, streams 111a and 111b present the user with a predetermined generic ad block or packet 114. Once paired (not shown in Figure 6), stream 111b can be personalized. For example, a user paired with stream 111b should receive a content block different from the generic ad block 114. Personalization parameters, displays, content, and profiles can be stored in any suitable memory. For example, a user profile containing personalization parameters may be stored in database 120. In another example, database 120 may contain one or more personalized content blocks, and displays corresponding to one or more personalized content blocks may be received from another device, such as another server (not shown) or user device 103. In the example shown in Figure 6, although not intended to limit to the specific embodiment described, once stream 111b is paired with a user, a server such as server 110 retrieves a personalized content block, which in this example is a quiz block 115, from memory or a database 120. Retrieval can be managed according to various personalization methods, including retrieving a user profile or stored instructions regarding the personalization of the stream. For example, server 110 or database 120 may have a user profile that includes a display of user preferences, which would correspond to replacing generic advertisements, such as generic ad blocks 114, with personalized content blocks, such as quiz or quiz blocks 115. Server such as server 110 retrieves the quiz or quiz block 115 from the database 120 and replaces the generic ad blocks 114 in stream 111b paired with the user with the quiz or quiz block 115. In this way, the user experience is improved.
[0099] Referring to Figure 7, the operation of an exemplary system to which the method according to this disclosure is applied is shown. Server 210 receives a pairing request from user device 203. Server 210 sends modified streams 213 to display devices 201a and 201b. It is understood that there may be multiple display devices receiving modified streams 213, for example, 5, 10, 100, or more. Each stream 213 has a unique identifier, shown in different shapes in Figure 7 for clarity. The embedding of unique identifiers into the streams (not shown), which is done to generate modified streams 113, follows a time offset pattern. Thus, each unique identifier 112 is associated with only one stream at any given time.
[0100] Next, we will explain in detail how to pair a user with a stream.
[0101] It is understood that the exemplary system 100 can be configured to pair a user with a stream based solely on their IP address. In such an example, the system identifies the IP address of the user device 103, matches the identified address with the IP address of the display device 101, and outputs the paired stream. If an X-Forwarded-For header is present, the leftmost IP address is the original IP address of the user device 103 and is the IP address used for pairing. If the IP addresses do not match, the user is prompted to confirm that they are on the same network and are not using a VPN, a mobile network, or any other networking means that could cause an IP mismatch between the user device 103 and the display device 101.
[0102] In one or more implementations, the methods disclosed herein improve pairing between a user and a stream when multiple devices use the same IP address. Therefore, pairing by IP address alone cannot determine which display device 101 the user wants to view the paired stream on. In such cases, conventional systems and methods may display an error to the user explaining that pairing could not be performed because the paired stream may have been sent to multiple display devices 101, or they may display a list of display devices 101 for the user to select. This approach can be prone to errors.
[0103] In one or more implementations, pairing unique identifiers improves the user experience and the reliability of the pairing method.
[0104] Referring to Figure 8, a method 800 for pairing a user with the stream is shown. The server receives a pairing request from the user device. The user device may be a mobile phone or other device configured to send commands to the server. In the case of a smart display device, the user device may be a remote control, as the display device can not only receive signals but also communicate with the server.
[0105] A user can initiate a pairing request by any appropriate means. A user device may have an application configured to send pairing requests to a server. The application may be specific to the user device; for example, it may include the MAC address of the user device associated with the user in the pairing request. The application can be configured to always be unique to each user at any given time, thereby allowing different users to use the same user device, for example, through a login process. Alternatively, a pairing request can also be initiated by accessing a web page or mobile browser page.
[0106] The application may be a pure companion app, such as an application that only has pairing functionality. The application may be an application that can play channels, streams, or assets. The application may be an existing application with additional pairing functionality. The application may be an existing live sports provider application configured, for example, through an update, to cause the user device to perform one or more of the pairing steps disclosed herein.
[0107] A pairing request may include one or more indicators corresponding to parameters useful for performing pairing, including a username or another user identifier, an IP address, the MAC address of the user device, and / or location data.
[0108] Upon receiving a pairing request in step 801, the server embeds multiple unique identifiers into multiple streams in step 802 and sends the multiple modified streams to multiple display devices in step 803. It should be understood that each modified stream is associated with its own unique identifier and its respective display device.
[0109] A unique identifier may be generated by the server, for example, using a processor on the server. A unique identifier may also be generated in response to a pairing request. A unique identifier may be generated at a different time, for example, in advance by any suitable means and stored in memory so that it can be retrieved in response to a pairing request. By creating a “bank” of pre-generated unique identifiers stored in memory, the hardware and network resources required to implement the methods disclosed herein are reduced.
[0110] In one example, the server may retrieve multiple unique identifiers from memory in response to a first pairing request, provided that this number is less than the total number of unique identifiers stored in memory. The server can then retrieve additional unique identifiers in response to a second pairing request from another user device. This reduces the possibility of duplicate pairings.
[0111] The unique identifier may be a QR code, or it may be a sound, a number, a barcode, a phrase, or any other characteristic prompt that can enable the implementation of the methods disclosed herein. Returning to the above example where the display device is a smart display device that can communicate with a server, the server may embed a number as a unique identifier in the stream and prompt the user to press the corresponding button on the remote control.
[0112] The stream containing the embedded unique identifier is sent to multiple display devices in step 803. These multiple display devices may be located in multiple homes, and some may be located in the same home or on the same local network, sharing the same IP address. The server can adapt the embedding step 802 and the transmission step 803 to the characteristics of the pairing request. For example, if the pairing request includes an IP address, and the IP address in the pairing request matches the IP address of one or more display devices currently streaming from the server, the server can embed the unique identifier only in the stream sent to that IP address.
[0113] If the unique identifier is a QR code, a user device such as a smartphone can scan the unique identifier displayed on the display device. The QR code may contain the necessary instructions for the user device to send the display to the server corresponding to the unique identifier. Therefore, the user may not need to perform any other action than scanning the QR code with their device. Alternatively, the QR code can cause the user device to generate a display corresponding to that QR code, but the user may need to instruct the device to send that display. This display can be sent from the user device using any suitable transmission means, such as Wi-Fi or mobile data.
[0114] In step 804, the server receives a display of a unique identifier. The display corresponds to a unique identifier. For example, the display may correspond to a unique identifier QR code scanned by the camera of a user device such as a smartphone while it is displayed on a display device. Alternatively, the unique identifier may be a number, and an application on the user device may prompt the user to enter that number.
[0115] When the server receives the display in step 804, in step 805 it can assign a specific stream from among several streams to the display device that was receiving the modified stream. In this way, the stream is paired with the user viewing it on the display device. This allows for personalized streams tailored to a specific user without affecting the content of other streams delivered to other users, even within the same home or on the same Wi-Fi network.
[0116] In step 806, the server sends the paired stream to the display device.
[0117] Steps 801-806 can be performed by the same server configured as appropriate. However, the methods disclosed herein may be performed across multiple servers, including, for example, a content serving server, a relay server, a database server, and other servers.
[0118] Referring to Figures 9 and 10, a method 900 for pairing a display device with a user is shown. In method 900, the first step 901 includes receiving a pairing request similar to the pairing request in step 801 of method 800. For channels built with combined assets, a unique identifier may be embedded in the asset's media file.
[0119] In step 902, the server embeds multiple unique identifiers into each of the multiple streams. The embedding performed in step 902 includes modifying the unique identifier embedded in any one particular stream according to a predetermined time offset. For example, each unique identifier may be embedded in a particular stream for 10 seconds, 15 seconds, 20 seconds, 30 seconds, or any other predetermined time. Thus, the unique identifiers in each stream sent to the display device are different. In method 900, each unique identifier is associated with only one stream at any given time.
[0120] The server sends a stream containing a unique identifier to the display device with a 903. If a pairing request is associated with an IP address that matches the IP address to which one or more streams are being sent at the time of the pairing request, the server may only embed the unique identifier in the streams being sent to the IP address that matches the pairing request IP address.
[0121] In step 904, the server receives a display corresponding to the unique identifier. The receipt of this display indicates that the unique identifier has been received by a user or user device. For example, the display may correspond to a unique QR code being displayed and scanned, or to a number or other prompt being seen or heard by the user and entered into the user device.
[0122] In step 905, the server identifies the impact of network and transmission delays associated with the stream, the display device, and the user device, and assigns the stream to the display device according to both the display and the estimated transmission, buffering, and decoding delays. For example, the server can estimate the network delay when the display device first begins streaming by using a PING to the destination IP address or the display device itself, querying the destination hardware regarding the network transmission rate, or other preferred method. The server can store such estimates and information in memory and retrieve them as the display corresponding to a unique identifier is received. The server may estimate the network delay in real time during the execution of method 900. Thus, the server can estimate when each unique identifier will be displayed on the display device. The server may store information about the time each unique identifier was inserted into its respective stream, for example, in memory. Thus, the server can compare the value of a unique identifier corresponding to a display with an estimate of the unique identifier that the display device is expected to be playing when it receives that display.
[0123] During operation, one or more servers relating to this disclosure can deliver streams with time offsets. That is, a server can provide a stream to a display device with a predetermined time offset (e.g., 5 seconds, 10 seconds, 12 seconds, 24 seconds, 30 seconds, etc.). A server configuration can include multiple offsets, and any particular number of offsets can be used at once. When a server starts streaming to a display device, it can assign an offset that is not currently in use to that display device. A server may be configured to have a predetermined offset of a time equal to a predetermined duration of a unique identifier. The offset time may be longer, for example, twice the predetermined duration of the unique identifier. It will be apparent to those skilled in the art that other offset times are also possible. It will be understood that this first step is user-independent and does not pair the stream with a user.
[0124] Furthermore, in the case of linear streaming of live events, etc., the stream may not include a time offset. Even in this case, however, it is possible to distinguish between streams of the same linear streaming by generating and / or embedding a unique identifier using an offset method.
[0125] Referring to Figure 11, an exemplary implementation of the method described herein is shown. The unique identifiers numbered 1110-1119 have a duration of 12 seconds, and the offset time is 24 seconds. Thus, two unique identifiers are embedded in the stream within the time of one offset. For example, if the reference time is "t", the stream transmitted by the server is at time "t+54 seconds", and the server estimates the playback position (i.e., what the user is currently seeing / hearing) to be at time "t+47 seconds". This means there is an estimated 7-second delay between the streaming time and the playback time. If the pairing server receives a display corresponding to the value 1115, it is estimated that the corresponding display device is currently playing unique identifier 1115, and therefore this matches "stream 1102". Even if the estimated position is slightly off and the unique identifier corresponding to the display is 1116, the server determines that the display matches stream 1102, which has the display closest to the estimated position. It is understood that the method shown in Figure 11 allows for some flexibility and a range of error in estimating the playback time. Furthermore, it is understood that, as long as a record of the time when the unique identifier was embedded in the stream is maintained, the unique identifier does not need to be in a specific order, and that the unique identifier can be used again after a certain period of time.
[0126] Referring to Figure 12, an alternative method according to this disclosure is presented. Unique identifiers can be embedded alternately between streams, only one at a time in each stream. While one stream is being transmitted with embedded unique identifiers, other streams do not have unique identifiers. The method can be extended by generating different unique identifiers and / or embedding them in different streams. In Figure 12, streams 1201, 1202, and 1203 have embedded unique identifiers 1210-1214. Unique identifiers 1210-1214 have a duration of 12 seconds and are embedded in streams 1201-1203 every 24 seconds. Two unique identifiers are transmitted in parallel at a given time. Unique identifiers are reusable, but do not have to be. When the server receives a representation corresponding to unique identifier 1212, it matches that representation with stream 1202. Similar to the example shown in Figure 11, the estimated position may be slightly off, and the server may receive a representation corresponding to unique identifier 1210, in which case the server would need to match "stream 1203". By switching the streams alternately, it becomes possible to pair all or part of the streams while the server remains aware of the representations corresponding to the streams and embedding times, reducing the total number of unique identifiers generated or embedded. As can be seen from the exemplary method in Figure 12, no particular unique identifier is used at adjacent time points on streams 1201, 1202, or 1203. It is also clear that the number of unique identifiers that need to be generated and / or stored is reduced.
[0127] The methods and techniques described above can also be combined. For example, the amount of available unique identifiers may be adapted to allow pairing with one of a larger number of streams by intermittently embedding unique identifiers, as illustrated in Figure 12. Thus, the exemplary method with a 30-second offset for pairing up to 2 minutes may generally require 5 unique identifiers. However, if there are many streams playing when a pairing request is received (e.g., 10 streams), 5 unique identifiers may not be sufficient to clearly associate the display with the stream. By intermittently embedding identifiers and using identifiers alternately across streams, it may be possible to pair with more streams without requiring additional unique identifiers.
[0128] If the server cannot configure or implement the pairing method described above, a pool of reusable assets may be pre-encoded using unique identifiers, and these assets may be inserted between other assets provided to the display device in a manner similar to advertisements. If the stream is dynamic, these pre-encoded assets may be provided as pre-rolls. Multiple streams may each have a unique identifier that is inserted at any one point in time, and therefore this interstitial content method can be used alone or in combination with any of the methods disclosed above.
[0129] The disclosed methods and systems can be configured to work in conjunction with existing pairing, identification, and stream assignment methods. For example, a user can log in to a television or a device connected to a television, such as a smart TV, Apple® TV, or XBOX®, using a Samsung® account or a Google® account. The television or device connected to the television can then send a login ID to a server implementing the above method. The user can then log in to a user device, such as a companion app, with the same account using the same credentials used to log in to the television or device connected to the television. The server recognizes the matching login credentials and presents the user with a list of device IDs to select for pairing.
[0130] A generic identifier may be embedded in the stream to initially guide the user to the companion app. This can prompt the user device to send a pairing request. The identifier may also be dynamically selected based on the account provider used by the display device, in which case the companion app can suggest that the user log in directly using the appropriate provider (e.g., Google, Samsung, Apple ID). If the display device is not logged in with a supported provider account, or if the account-based pairing method fails, the system or server may switch to a generic identifier that suggests the user log in to the companion app, or switch to the device-independent pairing method described above.
[0131] One or more servers can dynamically determine which pairing method to use depending on certain conditions. For example, a server can be configured to default to a method in which unique identifiers are always embedded in multiple streams, as shown in Figure 11. The server can be configured to determine the number of streams currently playing, and if the number of streams exceeds a threshold of the number of unique identifiers currently available, the server can switch to an intermittent embedding method, as shown in Figure 12, for example. Depending on the number of streams currently playing, if many display devices are receiving many streams, such as during a major sporting event or the release of highly anticipated content, the server can be configured to retrieve additional unique identifiers from memory or generate additional unique identifiers.
[0132] The server can assign an identifier, such as a unique device ID, to the display device. The display device can send identifiers, such as parameters, headers, or cookies, to the server. The server may also be configured to generate a pairing identifier unique to each pairing. Once a pairing is achieved, the server may be configured to keep the pairing persistent, for example, by providing the pairing identifier to a companion app. The server may be configured to store the association between the pairing ID and the display device in memory. In some embodiments, the server may be configured to retrieve the pairing ID or other data identifying the association from a user device, such as a companion app.
[0133] The server may be configured to maintain persistent pairings across multiple channels. For example, the server can monitor and / or store data associated with the channel currently being played by the display device. When a user changes channels, the server can retrieve the pairing ID associated with the user and display device, for example from memory or the user device, and assign the user a stream on the new channel to maintain the pairing.
[0134] The user device can be configured to prompt the user to select the channel they are currently watching. In the case of multi-channel, this method allows the server to minimize the number of unique identifiers it needs to embed across multiple channels, as a unique identifier may only be embedded in the stream corresponding to the selected channel. In other embodiments, the unique identifier may contain information about the channel to which it is embedded. For example, the unique identifier may be specific to both the channel and the streams within that channel.
[0135] User devices and / or servers can be configured to allow multiple users to pair with the same display device. Therefore, the server and / or user devices may store data associated with the pairing (e.g., a pairing ID). When a new user pairs with a stream on the display device, the server can display a notification to one or more user devices indicating that a new pairing has occurred on the display device.
[0136] The server and / or user device can be configured to allow the user to pair with multiple display devices. Therefore, the user device may store data associated with each pairing and prompt the user to select the pairing they wish to use. The user device can be configured to present the user with data regarding the availability or online status of the display devices whose pairing IDs are stored on the server or the user device.
[0137] A channel containing multiple streams can always be in pairing mode, for example, by configuring the server to continuously embed unique identifiers into the streams. The server can enter pairing mode when it detects a user device with the same IP address as the display device currently receiving the channel's stream.
[0138] Next, we will discuss how to personalize content with over-the-top delivery. Over-the-top channels can be customized depending on the technology. If the underlying technology is built on a protocol that requires a display device or software configured to display the stream on the display device to initiate a request to receive the stream, each corresponding response may differ from display device or software to software. In such protocols, the stream may be divided into smaller chunks such as packets or segments. For example, in some technologies such as HLS, a media playlist consisting of multiple segments is returned to the display device or software. Over time, the display device or software requests the same playlist corresponding to the same stream from the server. The server provides an updated playlist with new segments added and old segments removed.
[0139] It is understood that the methods disclosed herein can also be used in other technologies that do not involve a display device or software requesting content from a server. For example, the server may be configured to directly provide a stream to a display device, and the server may perform the process of replacing old segments with new segments.
[0140] Referring to Figure 13, an exemplary method for personalizing content over-the-top delivery is shown. The server obtains a pairing between the user and the stream, for example, according to the method disclosed above.
[0141] This allows the server to personalize the stream content depending on one or more circumstances. In step 1302a, the server receives parameters associated with the user's personalized content from memory, which can be obtained from user history such as user profile, viewing history, or interaction history. Alternatively or additionally, the server may receive a display corresponding to the personalized content in step 1302b. For example, a display may be received from a user device, such as a user device running a companion application. The companion application can present the user with personalization options, such as options to remove ads, skip specific content in the stream, or replace or add content. For example, the companion application can present the user with an option to request actor / director / producer biographies, critic review videos, or "making-of" video content. The above personalization options can also be stored as user settings, user profile, or another type of data structure that is automatically obtained by the server when pairing is acquired. When the user selects a personalization option, the server receives a display corresponding to that personalization option.
[0142] In step 1303, after receiving these personalization parameters, for example by retrieving them from memory or a database, or by receiving a display corresponding to the personalization parameters, the server retrieves a content package or segment corresponding to the personalized content parameters. The personalized content segment may be stored in memory, for example, if the personalized content is a biography, a critic's review, or a "making-of" video. The personalized content segment may be dynamically generated, or it may be a combination of content retrieved from memory and dynamically generated content, for example, if the personalized content is interactive depending on the display by one or more users. For example, the personalized content could be a survey or a trivia quiz. The server may retrieve content associated with the question from memory and dynamically generate a response bar graph showing the distribution of responses from multiple users.
[0143] After obtaining or generating personalized content packets, the server may modify the stream content according to user settings or a predetermined algorithm, for example, according to default replacement settings. When the server adds content packets to the stream content in step 1304a, the overall duration of the stream is extended. For example, in nonlinear delivery, a user can specify or save in their profile that they want to see "making-of" content before an episode of the show. The server can then add video content summarizing events, problems, or actor reactions that occurred during the filming of a particular episode before delivering that episode to the stream.
[0144] In step 1304b, the server can also replace existing stream segments with personalized content segments. For example, in linear delivery such as live sports broadcasts, users can specify or save settings for specific views, such as a center-of-the-rink view of an ice hockey game. Personalized content segments may consist of segments recorded or provided by cameras positioned at the center-of-the-rink view. If such content is available, the server personalizes the stream by replacing existing segments of the ice hockey game stream with center-of-the-rink view segments. In other types of delivery, including non-linear delivery, the server can replace advertising content packets with news content packets.
[0145] Next, in step 1305, the paired stream, modified according to user settings or user display, is sent.
[0146] The methods disclosed herein can be implemented to provide interactive content. For example, a server can interact with a user device by displaying additional content in a companion app. The server may include means for playing or displaying content by storing a log of all played advertisements and content and providing the log, for example, by a clickable link in a companion app on the user device.
[0147] The server may be configured to offer users the option to purchase event tickets, for example, via their device. This can be achieved, for example, by adding content about upcoming local performance times to a concert stream and prompting the user to purchase tickets for those upcoming local performances via a companion app or similar means on their device. Users can specify or save settings regarding premium content. Accordingly, the server may be configured to modify the stream content to include premium content. If the server does not have authentication credentials for accessing premium content, such as valid user login information, the server may modify the stream to prompt the user to provide such credentials or purchase a premium subscription. The server may display the same prompt on the user's device or provide the user with additional content associated with the stream content, such as a convenient payment page.
[0148] The server may be configured to retrieve social media content associated with the stream content, such as Twitter discussions, and to add, replace, or otherwise modify the content packets of the stream to provide the social media content to the user via an overlay or the like.
[0149] Other interactive features are also possible. These interactive features may include, but are not limited to, suggesting content to the user, displaying product information, displaying streams in a companion app, previewing content, directly controlling the experience, playing assets or playlists on demand with or without a queue, skipping or blocking assets, fast-forwarding or resuming assets, selecting different audio tracks or video perspectives, and adjusting the experience through settings.
[0150] For example, users can choose different video experiences to match their audio experience, such as displaying news, visualizers, trivia, lyrics, mood, or weather on a music channel. Conversely, users can also personalize their streams by choosing audio experiences to match their video experience. For example, they can choose whether or not to include music on a slow-motion TV channel, or whether or not to include lead vocals on a karaoke channel. Users can also personalize their experience by adding video overlays, such as a news feed or weather information, that appear at the bottom of the screen.
[0151] Personalized parameters such as user settings can be persistently retained by being stored in non-temporary memory, such as a database. This memory may reside within one or more servers implementing the methods described herein, or it may be stored in other ways, such as cloud storage. Users may create persistent settings to manage channel content, for example, a setting to display more sunrise atmosphere assets every Monday. Therefore, user settings may include partial or complete content schedules for streams. User settings and user data are stored on the user's device and can be accessed from or transferred to a server, for example, through a companion app, as needed.
[0152] Once pairing is achieved in step 1301, it is understood that the server can automatically execute steps 1302-1305 without requiring user intervention. For example, user settings may include commands to skip certain content, such as adult content, and / or to insert content tailored to the user.
[0153] In some cases, you can fine-tune the content of a stream by selecting content according to subgenre. For example, in a rock channel, users can specify or save settings for classic rock, soft rock, hard rock, progressive rock, etc.
[0154] In some cases, the server can be configured to modify stream content by integrating personalized content with existing content, for example, using a picture-in-picture method. Thus, the server can integrate personalized content segments into the stream by overlaying the personalized content on top of the stream content.
[0155] The methods disclosed herein are also suitable for personalizing advertisements to users, for example, by inserting advertisements into streams or personalized content using a mobile advertising ID (such as IDFA). Thus, a paired stream may contain multiple personalized content items, such as additional content before a program episode, as well as personalized and / or tailored advertisements.
[0156] According to the techniques and methods described herein, streams can be personalized without re-encoding each transmitted stream, particularly in the case of video. This advantage is scalable; for example, a single encoding may be reused, each stream may be encoded, or a combination of these may be used (i.e., multiple encodings may be reused).
[0157] The methods of this disclosure can be implemented on a system configured to execute instructions suitable for achieving user pairing and content personalization as described herein. For example, the system may have computer-readable non-temporary memory in which instructions are stored. One or more processors may be operably connected to the memory and configured to execute the pairing step, the content personalization step, or a combination thereof when executing instructions contained in the memory. The system may have multiple temporary and non-temporary memories. For example, when the system is not in persistent pairing mode, associations between streams and unique identifiers may be configured to be stored in temporary memory. After all pairing is complete, the associations may be cleared from temporary memory. If the system is configured to be in persistent pairing mode, non-temporary memory may store persistent associations between unique identifiers and streams so that they can be reused across multiple pairings. In another example, temporary memory may temporarily store associations between unique identifiers and streams so that the same unique identifier can be reused across multiple streams over a period of time without generating or storing a long association schedule.
[0158] The system may also have other memory, such as non-temporary memory, which may contain user profiles, user settings, and personalized content.
[0159] It is understood that the systems described herein include means for receiving and transmitting the signals and data necessary to carry out the methods described above, in accordance with many preferred transmission protocols, including wired and wireless transmissions. All means for communicating and receiving data from the above systems are included within the scope of this disclosure.
[0160] Referring to Figure 14, an exemplary electronic device 1400 is shown which is suitably used in several implementations of the Technology, for example, as a server and / or user device. The electronic device 1400 comprises various hardware components, including one or more single-core or multi-core processors, which are collectively represented by a processor 1402, a graphics processing unit (GPU) 1404, a solid-state drive 1406, random-access memory 1408, a display interface 1410, and / or an input / output interface 1412.
[0161] Communication between the various components of the electronic device 1400 can be achieved by one or more internal and / or external buses 1414 (e.g., PCI bus, Universal Serial Bus, IEEE 1394 "Firewire" bus, SCSI bus, Serial ATA bus, etc.) through which the various hardware components are electronically coupled.
[0162] The input / output interface 1412 may be connected to the touchscreen 1416 and / or one or more internal buses and / or external buses 1414. The touchscreen 1416 may be part of the display. In one or more embodiments, the touchscreen 1416 is the display. The touchscreen 1416 may also be referred to as the screen 1416. In the embodiment shown in Figure 14, the touchscreen 1416 comprises touch hardware 1418 (e.g., pressure-sensing cells embedded in a layer of the display that enable the detection of physical interaction between the user and the display) and a touch input / output controller 1420 that enables communication with the display interface 1410 and / or one or more internal buses and / or external buses 1414. In one or more embodiments, the input / output interface 1412 may be connected to a keyboard (not shown), a mouse (not shown), or a trackpad (not shown) that can be used by the user in interaction with an electronic device 1400 in addition to, or instead of, the touchscreen 1416.
[0163] In this implementation of the technology, the solid-state drive 1406 stores program instructions for monitoring audio signals, which are loaded into random-access memory 1408 and are suitable for execution by processor 1402 and / or GPU 1404. For example, the program instructions may be part of a library or application.
[0164] The electronic device 1400 can be implemented as a server, a desktop computer, a laptop computer, a tablet, a smartphone, a personal digital assistant, or any other device that can be configured to implement the technology, as will be understood by those skilled in the art.
[0165] The embodiments of the technology described above are for illustrative purposes only. Therefore, the scope of this technology is intended to be limited only by the appended claims.
Claims
1. A method for pairing a user with a display device in an over-the-top distribution system, the method being performed by a processor, Embedding a unique identifier in multiple streams, wherein each of the multiple streams is associated with each of the multiple display devices, The process involves transmitting the plurality of streams to a plurality of display devices, wherein each of the plurality of streams is transmitted to each of the plurality of display devices. Receiving the display of a specific unique identifier from the user device, By assigning a specific display device from among the plurality of display devices that is associated with a specific unique identifier to the user, a pairing is obtained between the user and the specific one display device from among the plurality of display devices. Outputting the aforementioned pairing, A method consisting of the following.
2. A method for personalizing content delivery in an over-the-top delivery system, the method being performed by a processor, Embedding a unique identifier in multiple streams, wherein each of the multiple streams is associated with each of the multiple display devices, The process involves transmitting the plurality of streams to a plurality of display devices, wherein each of the plurality of streams is transmitted to each of the plurality of display devices. Receiving the display of a specific unique identifier from the user device, By assigning a specific display device from among the plurality of display devices that is associated with a specific unique identifier to the user, a pairing is obtained between the user and the specific one display device from among the plurality of display devices. To generate personalized content for the aforementioned users, Obtaining a personalized stream by embedding the personalized content in a specific stream associated with a specific unique identifier among the multiple streams, Transmitting the personalized stream to one of the multiple display devices, A method consisting of the following.
3. The method according to claim 2, further comprising receiving a pairing request from the user device.
4. The method according to claim 2 or 3, wherein the unique identifier includes one of a barcode, a QR code, an image, a number, an alphanumeric code, and an audio.
5. The method according to any one of claims 2 to 4, wherein generating the personalized content includes retrieving the personalized content associated with the user from a database.
6. The method according to any one of claims 2 to 4, wherein generating the personalized content includes receiving a display from the user device of predetermined content to be embedded in one particular stream among the plurality of streams.
7. The method according to any one of claims 2 to 5, wherein the embedding includes replacing at least a portion of the content of one particular stream among the plurality of streams with the personalized content.
8. The method according to claim 7, wherein at least a portion of the content is either a predetermined portion or any portion.
9. The method according to any one of claims 2 to 8, wherein the embedding includes inserting the personalized content between at least two portions of the content of one particular stream among the plurality of streams.
10. The method according to any one of claims 2 to 9, further comprising generating the unique identifier.
11. The method according to any one of claims 2 to 9, further comprising obtaining the unique identifier from a database storing pre-generated unique identifiers.
12. A method for personalizing content delivery in an over-the-top delivery system, the method being performed by a processor, Embedding a unique identifier in multiple streams, wherein each of the multiple streams is associated with each of the multiple display devices at a specific point in time. The transmission of the plurality of streams, wherein each of the plurality of streams is transmitted to each of the plurality of display devices, Receiving the display of a specific unique identifier from the aforementioned unique identifiers from the user device, Of the aforementioned multiple streams, The aforementioned specific one unique identifier, The specific point in time in which the aforementioned specific unique identifier is embedded in each of the multiple streams, By assigning a specific stream to the user that corresponds to, Obtaining a pairing between the user and one specific stream from among the multiple streams, Outputting the aforementioned pairing, A method consisting of the following.
13. To generate personalized content for the aforementioned users, By embedding the personalized content into one of the aforementioned multiple streams, a personalized stream is obtained. Transmitting the personalized stream to a specific display device associated with a specific unique identifier among the plurality of display devices, The method according to claim 12, further comprising:
14. The method according to claim 12 or 13, further comprising receiving a pairing request from the user device.
15. The method according to any one of claims 12 to 14, wherein the unique identifier includes one of a barcode, a QR code, an image, a number, an alphanumeric code, and a sound.
16. The method according to any one of claims 13 to 15, wherein generating the personalized content includes retrieving the personalized content associated with the user from a database.
17. The method according to any one of claims 13 to 15, wherein generating the personalized content includes receiving a display from the user device of predetermined content to be embedded in one particular stream among the plurality of streams.
18. The method according to any one of claims 13 to 17, wherein the embedding includes replacing at least a portion of the content of one particular stream among the plurality of streams with the personalized content.
19. The method according to claim 18, wherein at least a portion of the content is either a predetermined portion or any portion.
20. The method according to any one of claims 13 to 17, wherein the embedding includes inserting the personalized content between at least two portions of the content of one particular stream among the plurality of streams.
21. The method according to any one of claims 12 to 20, further comprising generating the unique identifier.
22. The method according to any one of claims 12 to 20, further comprising obtaining the unique identifier from a database storing pre-generated unique identifiers.
23. A system for pairing users with a display device in an over-the-top distribution system, Processor and A non-temporary storage medium operably connected to the processor, the non-temporary storage medium containing computer-readable instructions, Equipped with, When the processor executes the instruction, Embedding a unique identifier in multiple streams, wherein each of the multiple streams is associated with each of the multiple display devices, The process involves transmitting the plurality of streams to a plurality of display devices, wherein each of the plurality of streams is transmitted to each of the plurality of display devices. Receiving the display of a specific unique identifier from the aforementioned unique identifiers from the user device, By assigning a specific display device from among the plurality of display devices that is associated with a specific unique identifier to the user, a pairing is obtained between the user and the specific one display device from among the plurality of display devices. Outputting the aforementioned pairing, It is configured to do the following: system.
24. A system for personalizing content delivery in an over-the-top delivery system, Processor and A non-temporary storage medium operably connected to the processor, the non-temporary storage medium containing computer-readable instructions, Equipped with, When the processor executes the instruction, Embedding a unique identifier in multiple streams, wherein each of the multiple streams is associated with each of the multiple display devices, The process involves transmitting the plurality of streams to a plurality of display devices, wherein each of the plurality of streams is transmitted to each of the plurality of display devices. Receiving the display of a specific unique identifier from the aforementioned unique identifiers from the user device, By assigning a specific display device from among the plurality of display devices that is associated with a specific unique identifier to the user, a pairing is obtained between the user and the specific one display device from among the plurality of display devices. To generate personalized content for the aforementioned users, Obtaining a personalized stream by embedding the personalized content in a specific stream associated with a specific unique identifier among the multiple streams, Transmitting the personalized stream to one of the multiple display devices, It is configured to do the following: system.
25. The system according to claim 24, further comprising receiving a pairing request from the user device.
26. The system according to claim 24 or 25, wherein the unique identifier includes one of a barcode, a QR code, an image, a number, an alphanumeric code, and a sound.
27. The system according to any one of claims 24 to 26, wherein generating the personalized content includes retrieving the personalized content associated with the user from a database.
28. The system according to any one of claims 24 to 26, wherein generating the personalized content includes receiving a display from the user device of predetermined content to be embedded in one particular stream among the plurality of streams.
29. The system according to any one of claims 24 to 27, wherein the embedding includes replacing at least a portion of the content of one particular stream among the plurality of streams with the personalized content.
30. The system according to claim 29, wherein at least a portion of the content is either a predetermined portion or any portion.
31. The system according to any one of claims 24 to 30, wherein the embedding includes inserting the personalized content between at least two portions of the content of one particular stream among the plurality of streams.
32. The system according to any one of claims 24 to 31, further comprising generating the unique identifier.
33. The system according to any one of claims 24 to 31, further comprising obtaining the unique identifier from a database storing pre-generated unique identifiers.
34. A system for personalizing content delivery in an over-the-top delivery system, Processor and A non-temporary storage medium operably connected to the processor, the non-temporary storage medium containing computer-readable instructions, Equipped with, When the processor executes the instruction, Embedding a unique identifier in multiple streams, wherein each of the multiple streams is associated with each of the multiple display devices at a specific point in time. The transmission of the plurality of streams, wherein each of the plurality of streams is transmitted to each of the plurality of display devices, Receiving the display of a specific unique identifier from the user device, Of the aforementioned multiple streams, The aforementioned specific one unique identifier, The specific point in time in which the aforementioned specific unique identifier is embedded in each of the multiple streams, By assigning a specific stream to the user that corresponds to, Obtaining a pairing between the user and one specific stream from among the multiple streams, Outputting the aforementioned pairing, It is configured to do the following: system.
35. To generate personalized content for the aforementioned users, By embedding the personalized content into one of the aforementioned multiple streams, a personalized stream is obtained. Transmitting the personalized stream to a specific display device associated with a specific unique identifier among the plurality of display devices, The system according to claim 34, further comprising:
36. The system according to claim 34 or 35, further comprising receiving a pairing request from the user device.
37. The system according to any one of claims 34 to 36, wherein the unique identifier includes one of a barcode, a QR code, an image, a number, an alphanumeric code, and a sound.
38. The system according to any one of claims 35 to 37, wherein generating the personalized content includes retrieving the personalized content associated with the user from a database.
39. The system according to any one of claims 35 to 37, wherein generating the personalized content includes receiving a display from the user device of predetermined content to be embedded in one particular stream among the plurality of streams.
40. The system according to any one of claims 35 to 39, wherein the embedding includes replacing at least a portion of the content of one particular stream among the plurality of streams with the personalized content.
41. The system according to claim 40, wherein at least a portion of the content is either a predetermined portion or any portion.
42. The system according to any one of claims 35 to 39, wherein the embedding includes inserting the personalized content between at least two portions of the content of one particular stream among the plurality of streams.
43. The system according to any one of claims 34 to 42, further comprising generating the unique identifier.
44. The system according to any one of claims 34 to 42, further comprising obtaining the unique identifier from a database storing pre-generated unique identifiers.