1. Field
The present disclosure generally relates to streaming media in a network, and more particularly relates to network streaming of a video media from a media server to a media client.
2. Description of the Related Art
In the field of networks, network bandwidth can be limited, especially when legacy wireless technologies are used within the network. Moreover, streaming media content within a home or other network with limited bandwidth typically taxes the performance of the network, especially if the media content is High Definition video. The result is typically a poor quality playback of the media content due to insufficient total available network bandwidth, or acceptable quality media playback at the cost of reduced availability of the network for other purposes (including additional media streams).
In the case of video streaming, the latest consumer demand for ever-higher resolution (e.g., 1920×1080 or higher), and the preference for non-interlaced rendering (e.g., 1080p is typically preferred to 1080i) increase the strain on networks with limited bandwidth. In addition, with media types such as MPEG-2 streams having a playback rate such as 20 Mbps, the problem of limited bandwidth is further exacerbated. This problem can become more severe as technology advances, and higher resolutions of video content are realized.
Thus, there is a need for systems and methods for reducing the foregoing described problems of limited network bandwidth.
Disclosed embodiments describe a method and system for adjusting utilization of network bandwidth in a network comprising a media server and a media client, the media client being connected to a display screen, in which a video media is streamed from the media server to the media client. Certain disclosed embodiments provide for measuring a lighting intensity on at least a portion of the display screen, and adjusting bits of the streaming video media in accordance with an indication of the lighting intensity.
In one aspect of the disclosure, adjusting utilization of network bandwidth in a network comprising a media server and a media client is provided. The media client is connected to a display screen, and a video media is streamed from the media server to the media client. In this aspect, a lighting intensity on at least a portion of the display screen is measured, and an indication of the measured lighting intensity is sent to the media server. Bits of the streaming video media are then adjusted in accordance with the indication, and the streaming video media with the adjusted bits is received by the media client.
In another aspect of the disclosure, the lighting intensity is a direct lighting on the display screen. When the bits are adjusted, a number of usable bits of the streaming video media for a portion of the display screen affected by the direct lighting are reduced. In addition, a number of bits of the streaming video media for a portion of the display screen not affected by the direct lighting may be increased.
By virtue of the foregoing arrangement, it is ordinarily possible to reduce network bandwidth utilized by streaming video within a network, while maintaining a quality of the video experienced by a viewer. More specifically, because a number of usable bits of a streaming video media is reduced for portions of the display screen that are affected by a direct lighting, less bandwidth is necessary in order to stream the video media. As a result, the streaming video media utilizes less bandwidth on the network, which in turn leaves more available bandwidth for other network applications.
In an additional aspect, lighting intensity is an ambient lighting on the display screen. When adjusting the bits of the streaming video media, a determination is made as to whether a color bit depth is below or above a threshold of human visual acuity when viewing the display screen in the measured lighting intensity. In a case where the color bit depth is below the threshold of human visual acuity when viewing the display screen in the measured lighting intensity, a reduction is made to the color bit depth of the streaming video media to a color bit depth between the current color bit depth and the threshold of human visual acuity when viewing the display in the measured lighting intensity. In a case where the color bit depth of the streaming video media is determined to be above a threshold of human visual acuity when viewing the display screen in the measured lighting intensity, an increase is made to the color bit depth of the streaming video media to a color bit depth below the threshold of human visual acuity when viewing the display screen in the measured lighting intensity. In this regard, the increase in color bit depth is limited to the color bit depth of the original source media.
By virtue of the foregoing arrangement, it is ordinarily possible to reduce network bandwidth utilized by streaming video within a network, while maintaining a quality of the video experienced by a viewer. More specifically, because a color bit depth of a streaming video media is reduced towards a threshold of human visual acuity when viewing the display screen in a measured lighting intensity, less bandwidth is necessary in order to stream the video media. In addition, the picture quality of the streamed video media is maintained in the conditions of viewing the display screen under the lighting intensity. As a result, the streaming video media utilizes less bandwidth on the network, which in turn leaves more available bandwidth for other network applications.
In yet another aspect of the disclosure, in the case where the color bit depth is below the threshold of human visual acuity when viewing the display screen in the measured lighting intensity, the media server reduces the color bit depth of the streaming video to a level below the threshold of human visual acuity when viewing the display screen in the measured lighting intensity. The level is approximate, but not equal, to the threshold of human visual acuity when viewing the display screen in the measured lighting intensity. In the case where the color bit depth of the streaming video media is determined to be above a threshold of human visual acuity when viewing the display screen in the measured lighting intensity, the media server increases the color bit depth of the streaming video media to the level. In this regard, the increase in color bit depth is limited to the color bit depth of the original source media.
A user can manually perform a sending of a command to the media server to reduce the color bit depth of the streaming video media, and the user can manually perform a sending of a command to the media server to increase the color bit depth of the streaming video media. In addition, a user can manually perform a sending of a command to the media client to reduce the color bit depth of the streaming video media, and the user can manually perform a sending of a command to the media client to increase the color bit depth of the streaming video media. When the media client receives a command from the user, the media client sends the command to the media server.
The lighting intensity on the display screen can be measured periodically or continuously, so as to capture any change in lighting intensity affecting the display screen.
This brief summary has been provided so that the nature of the invention may be understood quickly. A more complete understanding of the invention can be obtained by reference to the following detailed description of the preferred embodiment thereof in connection with the attached drawings.
Media client 101 is also connected to a display screen 104 and a light intensity measuring device 103. The display screen may be, for example, a television, a projector, or a computer screen. In
The light intensity measuring device 103 measures a light intensity for any light falling on the display screen 104. In this regard, the light intensity measuring device may utilize many known different methods to measure such a light intensity. For example, the light intensity measuring device may be a digital light meter, photodiode light sensor, Passive Infrared (PIR) sensor, or a light emitting diode (LED) light sensor. In addition, the light intensity measuring device may be, for example, a camera, either embedded in the display screen 104 facing a viewer 105, or a separate unit, which uses its light metering capabilities to measure the light intensity. However, the light intensity measuring device is not limited to the foregoing examples, and any light intensity measuring technology may be used as the light intensity measuring device.
RAM 270 interfaces with computer bus 200 so as to provide information stored in RAM 270 to CPU 210 during execution of the instructions in software programs such as an operating system, application programs, and interface drivers. More specifically, CPU 210 first loads computer-executable process steps from fixed disk 220, or another storage device into a region of RAM 270. CPU 210 can then execute the stored process steps from RAM 270 in order to execute the loaded computer-executable process steps. For example, data such as light intensities measured by the light intensity measuring device 103 or other information can be stored in RAM 270, so that the data can be accessed by CPU 210 during the execution of computer-executable software programs, to the extent that such software programs have a need to access and/or modify the data.
As also shown in
In an example embodiment, network utilization application 225 is loaded by CPU 210 into a region of RAM 270. CPU 210 then executes the stored process steps of the network utilization application 225 from RAM 270 in order to execute the loaded computer-executable process steps. Generally, the network utilization application 225 contains processing logic configured to measure a lighting intensity on at least a portion of the display screen 104, to send an indication of the measured lighting intensity to the media server 102, and to receive the streaming video media with the adjusted bits, the bits having been adjusted in accordance with the indication. The processes executed by the network utilization application 225 as included in the media client 101 will be described in greater detail below in connection with
RAM 370 interfaces with computer bus 300 so as to provide information stored in RAM 370 to CPU 310 during execution of the instructions in software programs such as an operating system, application programs, and device drivers. More specifically, CPU 310 first loads computer-executable process steps from fixed disk 320, or another storage device into a region of RAM 370. CPU 310 can then execute the stored process steps from RAM 370 in order to execute the loaded computer-executable process steps. For example, data such as measurements or other information can be stored in RAM 370, so that the data can be accessed by CPU 310 during the execution of computer-executable software programs, to the extent that such software programs have a need to access and/or modify the data.
As also shown in
In an example embodiment, network utilization application 324 is loaded by CPU 310 into a region of RAM 370. CPU 300 then executes the stored process steps of the network utilization application 324 from RAM 370 in order to execute the loaded computer-executable process steps. Generally, the network utilization application 324 contains processing logic configured to adjust bits of the streaming video media in accordance with a received indication, in which the received indication is an indication of a lighting intensity on at least a portion of the display screen 104, measured and sent by the media client 101. The processes executed by the network utilization application 324 as included in the media server 102 will be described in greater detail below in connection with
In order to better understand the processes as described below in
Ambient lighting is any lighting surrounding the display screen, for example environment lighting, such as lighting being generated from overhead lights. In the case of ambient lighting, the light substantially covers the entire display screen. The effect from the ambient lighting on the display screen is a degree of wash out of the color bit depth of the video being displayed on the display screen. As a result, the effect of a high color bit depth is not perceived by the viewer. In this case, the color bit depth of the video may be reduced, and the reduction may not be noticeable by the viewer because of the ambient lighting. When the color bit depth is reduced to a point where the viewer can discern a reduction in color bit depth, the threshold of the viewer's visual acuity when viewing the display screen in the ambient lighting has been crossed. Accordingly, when the color bit depth of a streaming video media is said to be above a threshold of human visual acuity when viewing the display screen in a lighting intensity, then the viewer can discern a reduction in color bit depth in view of the lighting intensity. On the other hand, when the color bit depth of a streaming video media is high enough such that the resulting video quality is said to be below a threshold of human visual acuity when viewing the display screen in a lighting intensity, then the viewer cannot discern a reduction in color bit depth in view of the lighting intensity. In this regard, empirical data may be collected for varying levels of light intensity and varying levels of color bit depth, and whether a viewer can discern any difference in color bit depths for the different light intensities. This empirical data may then be used when implementing the processes described below in connection with
Direct lighting is a more focused lighting than ambient lighting (e.g., light shining through a window), and strikes directly on certain portions of the display screen. The effect of direct lighting on a display screen is a substantial wash out of the color for those affected portions of the display. As a result, a reduction can be made of a number of bits of a streaming video for the affected portions of the display screen without a viewer noticing any change in the bits of the video.
Many methods for adjusting bits of a video stream exist, and any of such methods may be used in the processes described in detail below in connection with
In an additional example for adjusting bits, the video may be decoded at the media server 102, and the least significant bit(s) of the data may be zeroed out for at least a portion of the display screen 104. Then, the data may be re-encoded with the original codec, which may provide a smaller resulting encoded stream due to lower video image complexity. On the other hand, after zeroing such bits, the video stream may be encoded by another codec which could efficiently handle large strings or zero bits in the data, such as form or run-length encoding. In another aspect, after zeroing the bits in the data, the resulting image bytes/words could be truncated (i.e., omitting the zeroed data bits) and repacked into smaller resulting data.
In yet another example for adjusting bits, for some suitable codecs, specific coefficients in the encoded video data may be modified by changing their least significant bit(s), which reduces the entropy in the resulting encoded stream. Reducing the entropy in the resulting encoded stream allows the stream to be additionally block or run-length encoded to reduce size with little change in coding complexity. The foregoing described examples of adjusting bits are not an exhaustive list of methods for adjusting bits of data, and other methods for adjusting bits of data may be used.
As shown in
In block 402, an indication of the measured lighting intensity is sent to the media server 102. In one example embodiment, the sent indication is a command from the media client 101 to the media server 102 to adjust the bits of the streaming video media. In another example embodiment, the sent indication is the measured lighting intensity. In the case where the sent indication is the measured lighting intensity, the media server 102 determines itself whether to adjust the bits of the streaming video media. The bits of the streaming video media are then adjusted in accordance with the indication (block 403). The streaming video media with the adjusted bits is then received by the media client 101 (block 404), and displayed by the media client 101 on the display screen 104. The adjusting of the bits of the streaming video media will now be described in more detail with regard to
By virtue of the foregoing example embodiments, it is ordinarily possible to reduce network bandwidth utilized by streaming video within a network, while maintaining a quality of the video experienced by a viewer. More specifically, because a color bit depth of a streaming video media is reduced towards a threshold of human visual acuity when viewing the display screen in a measured lighting intensity, less bandwidth is necessary in order to stream the video media. In addition, the picture quality of the streamed video media is maintained in the conditions of viewing the display screen under the lighting intensity. As a result, the streaming video media utilizes less bandwidth on the network, which in turn can improve quality playback when available network bandwidth is insufficient, and can leave more available bandwidth for other network applications.
In an example embodiment, in the case where the color bit depth is determined to be below the threshold of human visual acuity when viewing the display screen 104 in the measured lighting intensity as shown in block 503 of
In another example embodiment, a user can manually perform a sending of a command to the media server to reduce the color bit depth of the streaming video media, and the user can manually perform a sending of a command to the media server to increase the color bit depth of the streaming video media. In addition, a user can manually perform a sending of a command to the media client to reduce the color bit depth of the streaming video media, and the user can manually perform a sending of a command to the media client to increase the color bit depth of the streaming video media. When the media client receives a command from the user, the media client sends the command to the media server. Accordingly, the user can choose to override the adjustment of color bit depth at anytime.
By virtue of the foregoing example embodiments, it is ordinarily possible to reduce network bandwidth utilized by streaming video within a network, while maintaining a quality of the video experienced by a viewer. More specifically, because a number of usable bits of a streaming video media is reduced for portions of the display screen that are affected by a direct lighting, less bandwidth is necessary in order to stream the video media. As a result, the streaming video media utilizes less bandwidth on the network, which in turn leaves more available bandwidth for other network applications.
As shown in
If the color bit depth of the streaming video media is determined to be above a threshold of human visual acuity when viewing the display screen in the measured lighting intensity (block 903), then the media client 101 receives the streaming video media with a color bit depth which is increased to a color bit depth below the threshold of human visual acuity when viewing the display screen in the measured lighting intensity (block 905). In one example embodiment, the media client 101 sends a command to the media server to increase the color bit depth of the streaming video media to a color bit depth below the threshold of human visual acuity when viewing the display screen in the measured lighting intensity. If in block 903, the color bit depth of the streaming video media is determined to not be above a threshold of human visual acuity when viewing the display screen in the measured lighting intensity, then the process returns to block 701 of
As shown in
The invention has been described above with respect to particular illustrative embodiments. It is understood that the invention is not limited to the above-described embodiments and that various changes and modifications may be made by those skilled in the relevant art without departing from the spirit and scope of the invention.