IP Library Granted Patent US 9,253,108
Granted Patent B2
US 9,253,108 · App. 14/718,868 · Granted Feb 2, 2016

Systems and methods for prioritization of data for intelligent discard in a communication network

Inventors: Kenneth L. Stanwood (Vista, CA); David Gell (San Diego, CA)
Assignee: WI-LAN LABS, INC.
H04L47/32H04L41/5022H04L47/2416H04L65/00H04L65/4069H04L65/80H04N19/107H04N19/577H04N21/2383H04N21/23605H04N21/234327H04N21/2402H04N21/64792
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,253,108
App. No.
14/718,868
Granted
Feb 2, 2016
Kind
B2
Abstract

Systems and methods for optimizing system performance of capacity and spectrum constrained, multiple-access communication systems by selectively discarding packets are provided. The systems and methods provided herein can drive changes in the communication system using control responses. One such control responses includes the optimal discard (also referred to herein as “intelligent discard”) of network packets under capacity constrained conditions. Some embodiments inspect a video stream to determine priorities for various elements of the video stream. The elements may be discarding using the priorities. In various embodiments, the elements include frames, slices, macroblocks, and data partitions.

Claims (29)

1. A base station for managing video transmission responsive to network conditions, the base station comprising:

a determination module configured to

receive a video stream, the video stream including frames, at least some of the frames including slices, each slice including at least one macroblock, at least some of the slices including data partitions, at least a first data partition including macroblock header data and one or more additional data partitions including macroblock data portions, each macroblock having a macroblock type, and

inspect the received video stream to determine a macroblock type for each of the macroblocks and a priority value for each of the data partitions, the priority value of each of the data partitions based at least in part on the macroblock type of each of the macroblocks in the data partition;

a selection module configured to discard one or more of the data partitions based at least in part on the priority values of the data partitions; and

a modem configured to transmit at least one of the data partitions that are not discarded to one or more subscriber stations.

2. The base station of claim 1 , wherein the discarded one or more of the data partitions comprise at least all of the data partitions of one of the slices.

3. The base station of claim 1 , wherein the macroblock types include an intra-coded (I) type macroblock, a predictive-coded (P) type macroblock, and a bidirectionally predictive-coded (B) type macroblock.

4. The base station of claim 3 , wherein the priority value of each of the data partitions is based at least in part on the percentage of macroblock data portions in the data partition that are the data portions of an intra-coded (I) type macroblock.

5. The base station of claim 3 , wherein the priority value of each of the data partitions is based at least in part on the percentage of macroblock data portions in the data partition that are the data portions of a predictive-coded (P) type macroblock.

6. The base station of claim 3 , wherein the priority value of each of the data partitions is based at least in part on the percentage of macroblock data portions in the data partition that are the data portions of a bidirectionally predictive-coded (B) type macroblock.

7. The base station of claim 3 , wherein the priority value of each of the data partitions is based at least in part on the percentage of macroblock data portions in the data partition that are the data portions of an intra-coded (I) type macroblock, the percentage of macroblock data portions in the data partition that are the data portions of a predictive-coded (P) type macroblock, and the percentage of macroblock data portions in the data partition that are the data portions of a bidirectionally predictive-coded (B) type macroblock, wherein data partitions with higher percentages of type B macroblock data portions are preferentially discarded over data partitions with higher percentages of type P macroblock data portions, and data partitions with higher percentages of type P macroblock data portions are preferentially discarded over data partitions with higher percentages of type I macroblock data portions.

8. The base station of claim 1 , wherein the priority value for each data partition is further based at least in part on whether the data partition includes macroblock header data.

9. The base station of claim 8 , wherein data partitions that do not include macroblock header data are preferentially discarded over data partitions that include macroblock header data.

10. The base station of claim 4 , wherein the priority value for data partitions containing macroblock data portions that are all macroblock data portions of intra-coded (I) type macroblocks and the priority value for data partitions that include macroblock header data are set to the same value.

11. A method for managing video transmission from a base station responsive to network conditions, the method comprising:

receiving a video stream, the video stream including frames, at least some of the frames including slices, each slice including at least one macroblock, at least some of the slices including data partitions, at least a first data partition including macroblock header data and one or more additional data partitions including macroblock data portions, each macroblock having a macroblock type;

inspecting the received video stream to determine a macroblock type for each of the macroblocks and a priority value for each of the data partitions, the priority value of each of the data partitions based at least in part on the macroblock type of each of the macroblocks in the data partition;

discarding one or more of the data partitions based at least in part on the priority values of the data partitions; and

transmitting at least one of the data partitions that are not discarded to one or more subscriber stations.

12. The method of claim 11 , wherein the discarded one or more of the data partitions comprise at least all of the data partitions of one of the slices.

13. The method of claim 11 , wherein the macroblock types include an intra-coded (I) type macroblock, a predictive-coded (P) type macroblock, and a bidirectionally predictive-coded (B) type macroblock.

14. The method of claim 13 , wherein the priority value of each of the data partitions is based at least in part on the percentage of macroblock data portions in the data partition that are the data portions of an intra-coded (I) type macroblock.

15. The method of claim 13 , wherein the priority value of each of the data partitions is based at least in part on the percentage of macroblock data portions in the data partition that are the data portions of a predictive-coded (P) type macroblock.

16. The method of claim 13 , wherein the priority value of each of the data partitions is based at least in part on the percentage of macroblock data portions in the data partition that are the data portions of a bidirectionally predictive-coded (B) type macroblock.

17. The method of claim 13 , wherein the priority value of each of the data partitions is based at least in part on the percentage of macroblock data portions in the data partition that are the data portions of an intra-coded (I) type macroblock, the percentage of macroblock data portions in the data partition that are the data portions of a predictive-coded (P) type macroblock, and the percentage of macroblock data portions in the data partition that are the data portions of a bidirectionally predictive-coded (B) type macroblock, wherein data partitions with higher percentages of type B macroblock data portions are preferentially discarded over data partitions with higher percentages of type P macroblock data portions, and data partitions with higher percentages of type P macroblock data portions are preferentially discarded over data partitions with higher percentages of type I macroblock data portions.

18. The method of claim 11 , wherein the priority value for each data partition is further based at least in part on whether the data partition includes macroblock header data.

19. The method of claim 18 , wherein data partitions that do not include macroblock header data are preferentially discarded over data partitions that include macroblock header data.

20. The method of claim 14 , wherein the priority value for data partitions containing macroblock data portions that are all macroblock data portions of intra-coded (I) type macroblocks and the priority value for data partitions that include macroblock header data are set to the same value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2017
From: WI-LAN LABS, INC.
To: TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD.
Reel/Frame 041627/0873 →
CHANGE OF NAME Recorded May 21, 2015
From: CYGNUS BROADBAND, INC.
To: WI-LAN LABS, INC.
Reel/Frame 035749/0458 →
Continuity (8)
Continuation 14076512 · Nov 11, 2013
Continuation 13155102 · Jun 7, 2011
Continuation In Part 12813856 · Jun 11, 2010
Provisional Application 61421510 · Dec 9, 2010
Provisional Application 61186707 · Jun 12, 2009
Provisional Application 61187113 · Jun 15, 2009
Provisional Application 61187118 · Jun 15, 2009
Related Publication 20150256470A1 · Sep 10, 2015