The present disclosure relates to the field of multimedia streaming, and more particularly, to a mechanism for calculating and providing estimated over-the-top (OTT) media streaming data usage and data rate notification.
There has been a significant increase in viewing over-the-top (OTT) media content recently and this trend will continue for the foreseeable future. Over-the-top (OTT) media is media (video, audio and/or text messages) that are delivered over the Internet® with or without the involvement of a multiple service provider (MSO) such as a cable, satellite, or telephone company, in the control or distribution of the media content. Delivery of OTT content has become increasingly popular with the advent of Internet streaming services such as Netflix®, Hulu® and YouTube®. Beyond the subscription fees for these services, there may also be a cost to the consumer in terms of data charges or bandwidth limitations. It is difficult, however, for a consumer of the OTT media content to determine these costs for these streaming sessions.
The present disclosure describes systems and methods which utilize a mechanism for calculating and providing estimated OTT media streaming data usage and data rate notification.
One example method includes obtaining, prior to streaming a multimedia asset, meta-data associated with the multimedia asset, estimating, based on the meta-data, an amount of data usage resulting from use of at least one data rate available for streaming the multimedia asset, prompting a user to indicate whether to stream the multimedia asset, and upon receipt of an indication to stream the multimedia asset, streaming the multimedia asset.
One example system includes a receiver, a computer memory, and a processor in communication with the receiver and the computer memory. The processor is programmed to obtain, prior to streaming a multimedia asset, meta-data associated with the multimedia asset and estimate, based on the meta-data, an amount of data usage resulting from use of at least one data rate available for streaming the multimedia asset. The process is also programmed to prompt a user to indicate whether to stream the multimedia asset and upon receipt of an indication to stream the multimedia asset, stream the multimedia asset.
Further details of the example implementations are explained with the help of the attached drawings in which:
For simplicity and illustrative purposes, the principles of the embodiments are described by referring mainly to examples thereof. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the embodiments. It will be apparent however, to one of ordinary skill in the art, that the embodiments may be practiced without limitation to these specific details. In some instances, well known methods and structures have not been described in detail so as not to unnecessarily obscure the embodiments.
The example systems and methods described below implement a mechanism for estimated OTT media streaming data usage and data rate notification. OTT media is typically compressed and transmitted according to a streaming protocol used by the provider. Example streaming protocols including RTSP, RTP, IGMP, multicast, Flash™ Player technology, Silverlight® Player technology, Apple® HLS, with advanced MPEG2, H.264, AAC, MPEG DASH, and related audio/video CODECs. Currently, a consumer of OTT media streaming is unable to determine a cost of streaming the OTT media content in order to determine whether the OTT media content should be consumed. For example, a consumer may have limited data usage available via a cellular wireless data plan. In another example, a consumer may have limited bandwidth available within a Wi-Fi network environment (e.g., an additional stream of OTT media content may have a negative impact on an existing stream of OTT media content). Therefore, a mechanism is needed in order to provide the consumer with the necessary information to make an informed decision regarding whether or not and how to stream OTT media content.
In one example, estimated data usage by OTT media content is provided to a consumer. Alternatively, or in addition, an indication of data rates supported by OTT media content is provided the consumer. The consumer, in turn, may decide whether or not to stream the OTT media content and/or select one or more supported data rates to be enabled for streaming the OTT media content. For example, a consumer wants to stream a particular OTT media content asset. In this example, the OTT media content asset is 30 minutes in duration and has a bit rate of 3 Mbps. Although a bit rate is used in the examples below, the term should be interpreted to include other measures of rates of data transfer (data rates). The estimated data usage to stream this OTT media content is, therefore, 675 MB. The consumer, in this example, may only have 500 MB of available data usage remaining, in which case the consumer may either forego streaming the content or pay for additional data usage.
In another example, a home or other location has a Wi-Fi or other wireless network available over which OTT media content is streamed. While one user is actively streaming a first OTT media content asset, a second user may desire to stream a second OTT media content asset. Upon indication of various maximum bit rates supported by the second OTT media content asset, the second user may elect to enable or otherwise select only those maximum bit rates that will not negatively impact streaming of the first OTT media content asset. Other criteria for selection of which bit rate(s) is/are to be utilized for streaming a media content include, for example, differing costs for each bit rate, download speed for each bit rate and/or media quality of each bit rate.
The communications equipment at the ESO 110 is operable to communicate with a home gateway 120 using a cable line network connection 112. In one example, the home gateway 120 includes the functionality of a set-top box (STB). The combination of the STB and the home gateway may be referred to as a set-top gateway. It is contemplated, however, that the STB may be separate from the home gateway. In this instance, the home gateway provides the network connection and the STB provides the media functionality. When the STB is separate from the home gateway 120, the STB may be connected to network connection 112 in parallel with the home gateway or may be connected to the home gateway 120 to receive IPTV packets from ESO 110 via the home gateway.
The communications equipment at the ESO 110 can be operable to communicate with one or more user devices through home gateway 120. The user devices may be customer premises equipment (CPE) devices such as a network attached storage (NAS) device 122, a digital television (DTV) receiver 124, a radio receiver 126, a digital video disc (DVD) player 128 including a streaming video facility, a mobile device 130, a computer 132 or a thermostat 134 or other Internet of things (IoT) device (e.g. an appliance, surveillance camera, light fixture, etc.) that connects to the Internet through the home gateway. These CPE devices can be located at or near a user's premises. In the example system, CPE device 130 is a mobile device that may have wireless telecommunications capability, even though it is designated as a “customer premise” device. In
Still referring to
In this example, the NAS device 122, DTV receiver 124, and radio receiver 126 may be coupled to the home gateway 120 via physical connections. The mobile device 130 may be coupled to the gateway 120 via a short-range radio frequency (RF), magnetic or optical connection (e.g. 802.11 WiFi, Bluetooth, Zigbee Radio Frequency for Consumer Electronics (RF4CE), near field communication (NFC) or infra-red (IR)), and the computer 132, thermostat 134 and DVD player 128, may be coupled to the home gateway 120 via a wired connection such as a universal serial bus (USB) cable, a FireWire cable, an Ethernet connection and/or via a short-range RF, magnetic or optical wireless connection. Each of these connections may be considered to be a separate communications channel.
The ESO 110 includes a network gateway 114 that provides access between a network and a data processing server 116 and, optionally to other networks, such as the Internet, and a telecommunications gateway 118 that provides telecommunications access to CPE devices such as mobile device 130 that is also coupled to the home gateway 120 via the short-range RF, magnetic or optical connection. The ESO 110 may include data sources (not shown), that provide content to the CPE devices via a standard cable television connection or as an IPTV or IP Video delivery network. These data sources, for example, may be servers coupled to the network gateway 114 in the same manner as the data processing server 116.
Receiving device 190 is, for example, a client computer that includes receiving device display 170. For example, receiving device 190 is a mobile device such as a mobile phone, a tablet, a laptop or notebook computer. Alternatively, receiving device 190 is a “fixed” device such as a desktop computer, a digital television, a smart television or other smart appliance. As shown in
In step 202, meta-data associated with OTT media content is obtained. In general, meta-data is additional data associated with OTT media content that describes the media content. The obtained meta-data includes, for example, an indication of the duration of the media content, an indication of one or more bit rates supported by the media content, an indication of one or more formats supported by the media content, and other information describing the media content. In one example, the meta-data includes separate video information (e.g., video duration, video bit rate(s), video formats, etc.) and separate audio information (e.g., audio duration, audio bit rate(s), audio formats, etc.). Of note, OTT media content may be available in a non-adaptive bit rate package such that the media content supports a fixed format and a fixed bit rate. Alternatively, or in addition, the media content may be available in an adaptive bit rate package such that the media content supports various formats and various bit rates.
Data usage resulting from use of at least one data rate supported by the OTT media content is estimated in step 204. For example, given a non-adaptive bit rate media content, the estimated data usage to stream the media content is calculated as the duration of the media multiplied by the bit rate of the content. Given, in an alternate example, an adaptive bit rate media content (e.g., a multimedia asset that utilizes one or more different bit rates), multiple estimates of data usage may be calculated based on each supported bit rate. In this alternate example, each estimate is calculated as the duration of the media multiplied by the respective supported bit rate. In one example, an estimate of data usage is calculated for the media content as a whole. Alternatively, or in addition, an estimate of data usage to stream a video portion of the media content is calculated and an estimate of data usage to stream an audio portion of the media content is calculated.
A determination, in step 206, is made as to whether the media content supports an adaptive bit rate. Although this determination is depicted as following step 204, this is only for simplicity in depicting the process flow. Alternatively, the determination may be made prior to step 204. In either case, the determination is made because information displayed for non-adaptive bit rate content will be different from information displayed for adaptive bit rate content.
If the content is non-adaptive bit rate content (i.e., No in step 206), the process continues to step 208 and estimated data usage is displayed.
Returning to
If the content is adaptive bit rate content (i.e., Yes in step 206), the process continues to step 218 and estimated data usage is displayed.
In addition to information related to the various supported video formats, device display 170 displays information related to various supported audio formats. For example, an audio format column header 430 is displayed along with a listing of the supported audio formats, such as audio format fields 438 and 446. An audio bitrate column header 432 is also displayed, for example, along with a listing of corresponding audio bitrates, such as audio bitrate fields 440 and 448. The display further includes, for example, an audio data usage column header 434 along with estimated audio data usage for each of the supported audio formats, such as audio data usage fields 442 and 450. The display also includes, for example, an enable format column header 436 along with a user-changeable indication field, such as fields 444 and 452, for each of the supported audio formats.
In the example of
Returning to
A microprocessor 565 serves as a programmable controller for the mobile device 155 in that it controls all operations of the mobile device 155 according to programming that it executes. In the example, the mobile device 155 includes flash type program memory 574 for storage of various “software” or “firmware” such as an operating system and application programs, including the mechanism for estimated OTT media streaming data usage and data rate notification as described above. In addition, the memory 574 may hold mobile configuration settings, such as mobile directory number (MDN) and/or mobile identification number (MIN), and the like. The mobile device 155 may also include a non-volatile random access memory (RAM) 566 as working data processing memory.
The mobile device 155 further includes a microphone device 552, speaker 554 and vocoder 556 for audio input and output functions. The mobile station 155 also includes at least one digital transceiver (XCVR) 558, for digital wireless communications, such as cellular communications, and one or more short-range, wireless radio frequency transceivers 576 and 577, shown in the example as a Wi-Fi transceiver 576 and a Bluetooth (BT) or BLE transceiver 577, respectively, to communicate via a Wi-Fi channel and/or a Bluetooth channel. The transceiver 558 provides two-way wireless communication of information, such as vocoded speech samples and/or digital information, in accordance with the technology of a telecommunications network, such as a cellular network. Each example transceiver 558, 576 and 577 connects through RF to send and receive amplifiers (not separately shown) and to a respective antennas 560, 578 and 579. The transceiver 558 may also support various types of mobile messaging services, such as short message service (SMS), enhanced messaging service (EMS) and/or multimedia messaging service (MMS) and may include a web browser for interacting with websites either through the telecommunications transceiver 558 or the wireless transceiver 576. The BT transceiver 577 may interact with other Bluetooth-equipped devices, such as a wireless headset (not shown) or the like.
The user interface of the exemplary mobile device 155 includes a display 568, which the microprocessor 562 controls via a display driver 564, to present visible outputs to the device user, such as estimated data usage and/or available data rate information. The user interface also includes a touch/position sensor 570 that overlays the display 568 and is relatively transparent, so that the user may view the information presented on the display 568. A sense controller 572 senses signals from elements of the touch/position sensor 570 and detects occurrence and position of each touch of the screen formed by the display 568 and sensor 570. The sense controller 572 provides touch position information to the microprocessor 562, which can correlate that information to the information currently displayed via the display 568, to determine the nature of user input via the sensor 570.
As can be seen in the above discussion, a mechanism for estimated OTT media streaming data usage and data rate notification enables a user to make an informed decision about the content to be streamed. Based on provided estimates, the user may decide whether or not to stream the content as well as whether or not to enable one or more supported formats and corresponding bit rates. In this way, the user better understands the costs associated with the content.
While the examples have been described above in connection with specific devices, apparatus, systems, and/or methods, it is to be clearly understood that this description is made only by way of example and not as limitation. Particular embodiments, for example, may be implemented in a non-transitory computer-readable storage medium for use by or in connection with an instruction execution system, apparatus, system, or machine. The computer-readable storage medium contains instructions for controlling a computer system to perform a method described by particular embodiments. The instructions, when executed by one or more computer processors, may be operable to perform that which is described in particular embodiments.
The word “comprise” or a derivative thereof, when used in a claim, is used in a nonexclusive sense that is not intended to exclude the presence of other elements or steps in a claimed structure or method. As used in the description herein and throughout the claims that follow, “a”, “an”, and “the” includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
The above description illustrates various embodiments along with examples of how aspects of particular embodiments may be implemented, and are presented to illustrate the flexibility and advantages of particular embodiments as defined by the following claims, and should not be deemed to be the only embodiments. One of ordinary skill in the art will appreciate that based on the above disclosure and the following claims, other arrangements, embodiments, implementations and equivalents may be employed without departing from the scope hereof as defined by the claims. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of the claims. The benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential features or elements of any or all the claims. The invention is defined solely by the appended claims including any amendments made during the pendency of this application and all equivalents of those claims as issued.