The transmission and distribution of content over networks has evolved over the years. Users expect a service provider to be able to deliver content in various formats and at various times. Interactive television (iTV) is an example of the evolution of content provisioning services. No longer are users restricted to a passive viewing experience. For example, a game show may provide the television viewing audience an opportunity to buzz in or select a correct answer along with a contestant actually on the set.
Conventional techniques for binding an application (e.g., an iTV application) to video entail adding data or program identifiers (PIDs) to a(n MPEG-2) transport stream or placing the data in a vertical ancillary data space (VANC) or potentially even a vertical blanking interval (VBI) (if the application is small enough). In order to add the data associated with the application to an asset, it may be placed on a carousel. In order to load the application faster at a user equipment device (UED), the application may be “spun” faster, or that is to say, a greater proportion of the data included in the carousel is allocated to application data relative to the underlying content.
Conventional techniques for associating and loading applications have a number of disadvantages. For example, given a particular system configuration and associated bandwidth, “spinning” the carousel faster with respect to the application data may degrade the quality of the underlying content. Moreover, conventional techniques fail to account for the value of the application as a function of time. Service providers are continuing to seek out improved techniques for delivering and loading applications on UEDs.
This summary is not intended to identify critical or essential features of the disclosure provided herein, but instead merely summarizes certain features and variations thereof.
In some illustrative embodiments, application data may be allocated capacity or bandwidth with respect to a distribution module in accordance with a non-horizontal profile. For example, in some embodiments the application data may be allocated capacity in accordance with a vertical profile. The application data may be bound to audio and/or video data associated with a content asset. The audio/video data and the bound application may be transmitted to one or more devices, such as a user equipment device (UED). In some embodiments, a UED may extract data PIDs from an audio/video transport stream, the application may be loaded from memory, and triggers may be analyzed to determine when various events associated with the application should be executed. In some embodiments, feedback data associated with the use of the audio/video data and/or the application may be analyzed to modify the content asset, the application, or the respective capacity allocated to each.
Other details and features will also be described in the sections that follow.
Features of the disclosure will become more apparent upon a review of this disclosure in its entirety, including the drawing figures provided herewith.
Some features herein are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements.
Various connections between elements are discussed in the following description. These connections are general and, unless specified otherwise, may be direct or indirect, wired or wireless, and this specification is not intended to be limiting in this respect.
In the following description of various illustrative embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown, by way of illustration, various embodiments in which aspects of the disclosure may be practiced. It is to be understood that other embodiments may be utilized and structural and functional modifications may be made, without departing from the scope of the present disclosure.
There may be one line 101 originating from the central office 103, and it may be split a number of times to distribute the signal to various premises 102 in the vicinity (which may be many miles) of the central office 103. The lines 101 may include components not illustrated, such as splitters, filters, amplifiers, etc. to help convey the signal clearly, but in general each split introduces a bit of signal degradation. Portions of the lines 101 may also be implemented with fiber-optic cable, while other portions may be implemented with coaxial cable, other lines, or wireless communication paths. By running fiber optic cable along some portions, for example, signal degradation in those portions may be significantly minimized, allowing a single central office 103 to reach even farther with its network of lines 101 than before.
The central office 103 may include a termination system (TS) 104, such as a cable modem termination system (CMTS) in an HFC-type network, which may be a computing device configured to manage communications between devices on the network of lines 101 and backend devices such as servers 105-107 (to be discussed further below). The termination system (TS) may be as specified in a standard, such as the Data Over Cable Service Interface Specification (DOCSIS) standard, published by Cable Television Laboratories, Inc. (a.k.a. CableLabs), or it may be a similar or modified device instead. The termination system (TS) may be configured to place data on one or more downstream frequencies to be received by modems or other user devices at the various premises 102, and to receive upstream communications from those modems on one or more upstream frequencies. The central office 103 may also include one or more network interfaces 108, which can permit the central office 103 to communicate with various other external networks 109. These networks 109 may include, for example, networks of Internet devices, telephone networks, cellular telephone networks, fiber optic networks, local wireless networks (e.g., WiMAX), satellite networks, and any other desired network, and the interface 108 may include the corresponding circuitry needed to communicate on the network 109, and to other devices on the network such as a cellular telephone network and its corresponding cell phones.
As noted above, the central office 103 may include a variety of servers 105-107 that may be configured to perform various functions. For example, the central office 103 may include a push notification server 105. The push notification server 105 may generate push notifications to deliver data and/or commands to the various premises 102 in the network (or more specifically, to the devices in the premises 102 that are configured to detect such notifications). The central office 103 may also include a content and/or data server 106. The content/data server 106 may be one or more computing devices that are configured to provide content to users in the premises 102. This content may be, for example, video on demand movies, television programs, songs, text listings, etc., and/or data such as contact information, address books, and other user information. The content/data server 106 may include software to validate user identities and entitlements, locate and retrieve requested content, encrypt the content, and initiate delivery (e.g., streaming) of the content to the requesting user and/or device.
The central office 103 may also include one or more application servers 107. An application server 107 may be a computing device configured to offer any desired service, and may run various languages and operating systems (e.g., servlets and JSP pages running on Tomcat/MySQL, OSX, BSD, Ubuntu, Redhat, HTML5, JavaScript, AJAX and COMET). For example, an application server may be responsible for collecting television program listings information and generating a data download for electronic program guide or interactive program guide listings. Another application server may be responsible for monitoring user viewing habits and collecting that information for use in selecting advertisements. Another application server may be responsible for formatting and inserting advertisements in a video stream being transmitted to the premises 102. Another application server may be responsible for receiving user remote control commands, and processing them to provide an intelligent remote control experience.
Example premises 102a may include a modem 110, which may include transmitters and receivers used to communicate on the lines 101 and with the central office 103. The modem 110 may be, for example, a coaxial cable modem (for coaxial cable lines 101), a fiber interface node (for fiber optic lines 101), or any other desired device offering similar functionality. The modem 110 may be connected to, or be a part of, a gateway interface device 111. The gateway interface device 111 may be a computing device that communicates with the modem 110 to allow one or more other devices in the premises 102a to communicate with the central office 103 and other devices beyond the central office. The gateway 111 may comprise a set-top box (STB), digital video recorder (DVR), computer server, or any other desired computing device. The gateway 111 may also include (not shown) local network interfaces to provide communication signals to devices in the premises 102a, such as televisions 112, additional STBs 113, personal computers 114, laptop computers 115, wireless devices 116 (wireless laptops and netbooks, mobile phones, mobile televisions, personal digital assistants (PDA), etc.), and any other desired devices. Examples of the local network interfaces include Multimedia Over Coax Alliance (MoCA) interfaces, Ethernet interfaces, universal serial bus (USB) interfaces, wireless interfaces (e.g., IEEE 902.11), Bluetooth interfaces, and others.
By way of introduction, in conventional systems, application data may be allocated to a content asset in a horizontal fashion.
In
In some embodiments, the distribution profile may be modified from the horizontal profile shown in
Relative to the horizontal profile shown in
The profile shown in
Such a profile is shown in
The profile shown in connection with
The profiles shown in connection with
While shown as “application data” in
In some embodiments, a content provider or a service operator may dictate how the profile changes over time. For example, in the context of a content asset including an advertisement, the advertisement provider may determine or modify a profile based on marketing data or other studies. In some embodiments, an end-user associated with a UED may select how he/she wants an application to be presented, such as via a depression of a key or button on a remote control device, invoking a selection via one or more menus, etc. The user selection(s) may be transmitted from the UED to a data distribution module (e.g., a data carousel) or some other computing device (e.g., a server) associated therewith, and in response to the user selection(s), the data distribution module or computing device may establish or modify a corresponding profile.
In terms of binding, associating, or otherwise packaging the application data to the content asset, that binding may take place at one or more locations. For example, the binding may take place at the origin of the content (e.g., at a so-called “copy-house” or content provider), and that binding may be referred to as “early binding.” An example of a content provider could be any outlet that provides content, such as applications or programs (e.g., computer programs), movies, audio (e.g., music), television programs, any other form of communication (e.g., emails, text messages), cellular, mobile, or satellite communications, multimedia content, copy houses for advertising, studios, etc. Alternatively, or additionally, the binding may take place at a distribution point (e.g., at a central location such as central office 103 of
In some embodiments, the choice of what type of binding to use may be based on a variety of factors, such as the type of content asset and a location in which the content asset is going to be displayed, played, used, or consumed, (generally, rendered) optionally using one or more output devices (e.g., display devices and/or audio speakers) associated with a UED. For example, if the content asset includes a game show, and the application data provides an application for allowing a user/viewer to play at the user's location (e.g., the user's home), then early binding may be used by the game show producer in order to protect intellectual property rights associated with the presentation of the game show and in order to promote consistency for all viewings. On the other hand, if the content asset includes a U.S. presidential speech, then late binding may be used to tailor the application to a geographic location in which the speech will be displayed. For example, if a user equipment device is located in Texas, then a service provider associated with a distribution point might emphasize in the application data those portions of the speech related to gun control laws, whereas if the user equipment device is located in New York, then the service provider might emphasize in the application data those portions of the speech related to finance or the economy. If the content asset relates to children's programming, such as cartoons, user binding may be used to reinforce educational aspects of the programming based on a child's current rate of learning, thereby providing a high degree of individualized customization of the application presented in conjunction with the programming.
In some embodiments, splicer 706 may include components or circuitry similar to mux 614 shown in
In user binding, a combination of content asset data and application data may occur at a UED, such as at a computer, a gateway, a set top box, a mobile device, etc. In some embodiments, components or circuits similar to mux 614 and splicer 706 may be included in the UED to achieve the user binding. When the binding is done at a UED, an assumption may be made that the new application will fit within a space or capacity allocated during a video compression. For example, if during a video compression phase 300 kbits are reserved in a first frame in the form of an early bound application or null packets, late binding might only be able to replace 300 kbits in the first frame. In some embodiments, an asset may be re-encoded to reallocate or shift an amount of capacity available to one or more of the asset and the application.
In some embodiments, the different types of bindings may be combined. For example, early binding may be used to provide a default set of data values to support an application, and those default values may be overridden via one or more of late binding and user binding. Moreover, aspects, components, and/or devices of the various architectures described herein may be combined in some embodiments.
In step 908, the application data may be bound to the content asset data. For example, one or more of early binding, late binding, and user binding may be performed to associate the content asset data with the application data. The binding of step 908 may be in response to a user selection of a content asset or an application in some embodiments.
In step 914, a capacity for the content asset data and application data may be allocated. The allocated capacity may be a function of the total capacity or bandwidth available in a given system, the processing power or capabilities associated with various devices in the system, the load in the system, or other criteria. As part of allocating capacity, a profile similar to the profiles shown in connection with
In step 920, the content asset data with the bound application(s) data may be transmitted to one or more devices, such as a distribution module (e.g., a router), a UED, etc. In some embodiments, the transmission associated with step 920 may take place automatically or in accordance with a schedule. Alternatively, in some embodiments a user may take some specified action with respect to a content asset or an application in order to prompt the transmission.
In step 926, feedback data may be analyzed or examined. The feedback data may relate to the use of the application(s) in conjunction with the content asset. Based at least in part on the analysis of the feedback data, one or more actions may take place. For example, if the content asset includes an advertisement, and there has been little to no purchase orders for the advertised product or service, the method may loop-back to step 914 to increase the allocated capacity for the application data relative to the content asset data in an effort to increase sales. Similarly, if an analysis of the feedback data indicates that users are initially selecting to purchase the advertised product or service, only to cancel their orders when presented with a payment display screen associated with the application, the method may loop-back to step 908 to bind an improved and less confusing payment display screen associated with the content asset data. Similarly, the method may loop-back in response to an affirmative user selection to do so, such as a user requesting a second or different application by depressing a button or widget associated with a first application.
While discussed above in the context of binding applications to a content asset, in some embodiments the relationship may be reversed, e.g., a content asset may be bound to one or more applications. When binding applications to a content asset, a UED may extract data PIDs from, e.g., an audio/video transport stream, the application may be loaded from memory, and triggers may be analyzed to determine when various events associated with the application should be executed. When binding a content asset to an application, the intelligence or drivers may be embedded in, or reside within, the application for driving an audio/video presentation—for example, a widget may be included on a web page that, when selected, causes the retrieval and playback of audio/video content.
Aspects of this disclosure may readily be applied to, and adapted to be operative on, one or more communication systems. Those communication systems may include computer networks, television networks, satellite networks, telephone and cellular networks, and the like. Moreover, in some embodiments the communication systems (and the devices and components included therewith) may communicate with one another in accordance with one or more communication protocols or standards. For example, IP Multimedia Subsystem (IMS) is a general-purpose, open industry standard for voice and multimedia communications over packet-based IP networks. IMS may serve as a foundation for technologies like voice over IP (VoIP), push-to-talk (PTT), push-to-view, video calling, and video sharing. IMS may be based on the session initiation protocol (SIP). For users, IMS-based services may enable person-to-person and person-to-content communications in a variety of modes, including voice, text, pictures, and video, or any combination of these—in a highly personalized and controlled way.
Although not required, various aspects described herein may be embodied as a method, a data processing system, and/or as a transitory and/or non-transitory computer-readable medium storing executable instructions. Accordingly, those aspects may take the form of an entirely hardware embodiment, an entirely software embodiment, an entirely firmware embodiment, or an embodiment combining software, firmware and hardware aspects. The functionality may be resident in a single computing device, or may be distributed across multiple computing devices/platforms, the multiple computing devices/platforms optionally being connected to one another via one or more networks. Moreover, the structural components described herein may be distributed amongst one or more devices, optionally within a common housing or casing.
Various signals representing content, data, or events as described herein may be transferred between a source and a destination in the form of electromagnetic waves traveling through signal-conducting media such as metal wires, optical fibers, and/or wireless transmission media (e.g., air and/or space).
The various methods and acts may be operative across one or more computing servers and one or more networks. The functionality may be distributed in any manner, or may be located in a single computing device (e.g., a server, a client computer, etc.). As discussed herein, a content asset or an application may be distributed to intermediary/network components and client-side devices at various times and in various formats. The distribution and transmission techniques described herein may leverage existing components and infrastructure to minimize power dissipation, operational complexity, footprint size, and management involvement, amongst other factors and costs.
The methodological acts and processes may be tied to particular machines or apparatuses. For example, as described herein, a content asset or an application may be distributed to a user location via one or more computing devices (e.g., servers) and that content asset or application may be displayed, played, used, or consumed at the user location via one or more UEDs and/or display devices. The content may be formatted in accordance with one or more transmission techniques, types, or protocols, such as via broadcast and narrowcast distribution models. More generally, one or more computers may include one or more processors and memory storing instructions, that when executed, perform the methodological acts and processes described herein. Furthermore, the methodological acts and processes described herein may perform a variety of functions including transforming an article (e.g., content asset data and/or application data) into a different state or thing (e.g., content asset data and/or application data that is distributed in accordance with a “non-horizontal” profile).
In some embodiments, a control plane may be used to control a flow or transfer of information or data. The control plane may provide logic and control for video/audio compression and insertion of variable bit rate (VBR) application data. In some embodiments the control plane may control or command a carousel (e.g., carousel 808 of
In some embodiments, the control plane may comprise one or more processors and memory storing instructions that, when executed by the one or more processors, perform one or more of the methodological acts described herein. In some embodiments, the control plane may comprise metadata passed to an apparatus, architecture, or system to facilitate the control or flow of data or information. For example, the metadata may be used to facilitate binding operations or an allocation of capacity in some embodiments. In some embodiments, the control plane may be located at or within one or more locations or devices. For example, the control plane may be located at content provider 602 or central office 103 of
Aspects of the disclosure have been described in terms of illustrative embodiments thereof. While illustrative systems and methods as described herein embodying various aspects of the present disclosure are shown, it will be understood by those skilled in the art, that the disclosure is not limited to these embodiments. Modifications may be made by those skilled in the art, particularly in light of the foregoing teachings. For example, each of the features of the aforementioned illustrative examples may be utilized alone or in combination or subcombination with elements of the other examples. For example, any of the above described systems and methods or parts thereof may be combined with the other methods and systems or parts thereof described above in any order. It will also be appreciated and understood that modifications may be made without departing from the true spirit and scope of the present disclosure. The description is thus to be regarded as illustrative instead of restrictive on the present disclosure.
This application is a continuation of and claims priority to U.S. patent application Ser. No. 17/730,677 filed on Apr. 27, 2022, which is a continuation of U.S. patent application Ser. No. 16/986,983 filed on Aug. 6, 2020 (now U.S. Pat. No. 11,350,149), which is a continuation of U.S. patent application Ser. No. 16/052,732 filed on Aug. 2, 2018 (now U.S. Pat. No. 10,779,027), which is a continuation of U.S. patent application Ser. No. 14/569,132 filed on Dec. 12, 2014 (now U.S. Pat. No. 10,070,168), which is a continuation of U.S. patent application Ser. No. 13/105,009 filed on May 11, 2011 (now U.S. Pat. No. 8,942,255), each of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 17730677 | Apr 2022 | US |
Child | 18463053 | US | |
Parent | 16986983 | Aug 2020 | US |
Child | 17730677 | US | |
Parent | 16052732 | Aug 2018 | US |
Child | 16986983 | US | |
Parent | 14569132 | Dec 2014 | US |
Child | 16052732 | US | |
Parent | 13105009 | May 2011 | US |
Child | 14569132 | US |