Video complexity detection for network traffic management
Abstract
Aspects of the subject disclosure may include, for example, a method in which a processing system obtains encoded video content, and transmits the encoded video content over a network for presentation at a communication device by a video player executing on the communication device. The encoded video content is decoded in a decoding process by a decoder of an operating system of the communication device to generate decoded video content; the decoded video content is analyzed by a complexity analyzer of the operating system to generate a video complexity report. The method also includes receiving the video complexity report over the network from the communication device, and adjusting a data rate for the encoded video content, based at least in part on the video complexity report, to generate adjusted video content for transmission to the communication device. Other embodiments are disclosed.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A device comprising:
a processing system including a processor of a network element of a communication network; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, the operations comprising: receiving encoded video content from equipment of a video services provider; transmitting the encoded video content over the communication network to a communication device for presentation of video content by an application executing in a user space of the communication device, wherein the encoded video content is decoded in a decoding process by a decoder of an operating system of the communication device to generate decoded video content, wherein the decoded video content is analyzed by a complexity analyzer of the operating system to generate a video complexity report, wherein the decoder and the complexity analyzer of the operating system execute in a kernel space of the communication device, and wherein the video complexity report is generated independently of the application and the video services provider to facilitate shaping of the encoded video content appropriate to a complexity of the encoded video content; receiving the video complexity report over the communication network from the communication device; and adjusting a data rate for the encoded video content based at least in part on the video complexity report.
2 . The device of claim 1 , wherein the application comprises a video player.
3 . The device of claim 1 , wherein the video complexity report is sent from the communication device periodically at a first time interval during a beginning portion of the decoded video content and at a second time interval greater than the first time interval during a subsequent portion of the decoded video content.
4 . The device of claim 1 , wherein the decoded video content is analyzed in real time or near-real time relative to the decoding process.
5 . The device of claim 1 , wherein the video complexity report comprises an average of results for a metric, the results acquired over a predetermined period of time.
6 . The device of claim 1 , wherein the operations further comprise performing video content shaping in accordance with the video complexity report.
7 . The device of claim 1 , wherein the decoded video content comprises a plurality of chunks successively analyzed by the complexity analyzer.
8 . The device of claim 1 , wherein the decoded video content comprises a plurality of sets of frames successively analyzed by the complexity analyzer.
9 . The device of claim 8 , wherein each set of frames includes a predetermined number of frames.
10 . The device of claim 1 , wherein the adjusting is performed by a multiservice proxy (MSP) executing on a network element of the communication network.
11 . A method comprising:
receiving, by a processing system including a processor, encoded video content from equipment of a video services provider; transmitting, by the processing system, the encoded video content over the communication network to a communication device for presentation of video content by an application executing in a user space of the communication device, wherein the encoded video content is decoded in a decoding process by a decoder of an operating system of the communication device to generate decoded video content, wherein the decoded video content is analyzed by a complexity analyzer of the operating system to generate a video complexity report, wherein the decoder and the complexity analyzer of the operating system execute in a kernel space of the communication device, wherein the video complexity report comprises an average of results for a metric, and wherein the video complexity report is generated independently of the application and the video services provider to facilitate shaping of the encoded video content appropriate to a complexity of the encoded video content; receiving, by the processing system, the video complexity report over the communication network from the communication device; and adjusting, by the processing system, a data rate for the encoded video content based at least in part on the video complexity report, wherein the video complexity report comprises an average of results for a metric.
12 . The method of claim 11 , wherein the application comprises a video player.
13 . The method of claim 11 , wherein the video complexity report is sent from the communication device periodically at a first time interval during a beginning portion of the decoded video content and at a second time interval greater than the first time interval during a subsequent portion of the decoded video content.
14 . The method of claim 11 , wherein the decoded video content is analyzed in real time or near-real time relative to the decoding process.
15 . The method of claim 11 , wherein the results for the metric are acquired over a predetermined period of time.
16 . The method of claim 11 , further comprising performing, by the processing system, video content shaping in accordance with the video complexity report.
17 . A non-transitory machine-readable medium comprising executable instructions that, when executed by a processing system including a processor of a network element of a communication network, facilitate performance of operations, the operations comprising:
receiving encoded video content from equipment of a video services provider; transmitting the encoded video content over the communication network to a communication device for presentation of video content by an application executing in a user space of the communication device, wherein the encoded video content is decoded in a decoding process by a decoder of an operating system of the communication device to generate decoded video content, wherein the decoded video content is analyzed by a complexity analyzer of the operating system to generate a video complexity report, wherein the decoder and the complexity analyzer of the operating system execute in a kernel space of the communication device, and wherein the video complexity report is generated independently of the application and the video services provider to facilitate shaping of the encoded video content appropriate to a complexity of the encoded video content; receiving the video complexity report from the communication device via an application program interface (API) of the communication network; and adjusting a data rate for the encoded video content based at least in part on the video complexity report.
18 . The non-transitory machine-readable medium of claim 17 , wherein the application comprises a video player.
19 . The non-transitory machine-readable medium of claim 17 , wherein the video complexity report is sent from the communication device periodically at a first time interval during a beginning portion of the decoded video content and at a second time interval greater than the first time interval during a subsequent portion of the decoded video content.
20 . The non-transitory machine-readable medium of claim 17 , wherein the operations further comprise performing video content shaping in accordance with the video complexity report.Join the waitlist — get patent alerts
Track US2022368996A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.