IP Library Granted Patent US 7,123,658
Granted Patent B2
US 7,123,658 · App. 09/877,344 · Granted Oct 17, 2006

System and method for creating multi-priority streams

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 7,123,658
App. No.
09/877,344
Granted
Oct 17, 2006
Kind
B2
Abstract

A system and method for creating multi-priority streams of compressed video data. Included is a method for assigning priority to streams of compressed video data, comprising the steps of: determining a relative importance of each macroblock in a video frame based on how often each macroblock acts as a reference macroblock; and prioritizing each of the macroblocks in the video frame based on the relative importance.

Claims (48)

1. A method for assigning priority to streams of compressed video data, comprising:

determining a relative importance of each macroblock in a video frame by reading a current P frame and examining motion vectors from previous and subsequent B frames and from a subsequent P frame, if it exists, to determine how often each macroblock in the current P frame acts as reference macroblock for target macroblocks in the B and P frames; and

prioritizing each of the macroblocks in the video frame based on the relative importance.

2. The method of claim 1 , further comprising determining how often target macroblocks in the subsequent P frame act as reference macroblocks.

3. The method of claim 1 , further comprising:

reading a current I frame; and

examining motion vectors from the previous and subsequent B frames, and from the subsequent P frame, to determine how often each macroblock in the current I frame acts as the reference macroblock for the target macroblocks in the B and P frames.

4. The method of claim 3 , further comprising determining how often the target macroblocks in the subsequent P frame act as the reference macroblocks.

5. The method of claim 1 , further comprising:

assigning B frame data a lowest relative priority;

assigning P frame data a priority relatively higher than B frame data; and

assigning I frame data a priority relatively higher than P frame data.

6. The method of claim 1 , wherein if a current macroblock acts as a partial reference macroblock:

determining an amount of pixel overlap between the current macroblock and a corresponding reference macroblock; and

scaling the relative importance of the current macroblock based on the amount of pixel overlap.

7. The method of claim 1 , comprising assigning each macroblock into one of a plurality of streams based on the prioritization step.

8. The method of claim 1 , wherein the relative importance of each macroblock is further determined based on values of a plurality of residual discrete cosine transform (DCT) coefficients of the macroblock.

9. A method for assigning priority to af reams of compressed video data, comprising:

determining an importance value for each inacroblock in a plurality of video frames by reading a current P frame and examining motion vectors from previous and subsequent B frames and from a subsequent P frame, if it exists, to determine how often each macroblock in the current P frame acts as a reference macroblock;

grouping macroblocks into sets of macroblocks, and combining the importance values of the macroblocks within each set; and

prioritizing each set of macroblocks based on the combined importance values.

10. The method of claim 9 , wherein each set of macroblocks comprises a complete frame of video data.

11. The method of claim 9 , further comprising:

reading a current I frame; and

examining motion vectors from the previous and subsequent B frames, and from the subsequent P frame, to determine how often each macroblock in the current I frame acts as the reference macroblock.

12. The method of claim 9 , wherein each set of macroblocks comprises a group of pictures.

13. The method of claim 9 , wherein if a current macroblock acts as a partial reference block:

determining an amount of pixel overlap between the current macroblock and a corresponding reference macroblock; and

scaling the relative importance of the current macroblock based on the amount of pixel overlap.

14. The method of claim 9 , wherein the importance value of each macroblock is further determined based on values of a plurality of residual discrete cosine transform (DCT) coefficients of the macroblock.

15. A system for encoding streams of compressed video data, comprising:

an importance analysis system for determining an importance value for each macroblock in a video framed by examining motion vectors from previous and subsequent B frames, and from a subsequent P frame if it exists, to determine how often each macroblock in a current P frame acts as a reference macroblock; and

a system for prioritizing each of the macroblocks in the video frame based on the importance value determined for each macroblock.

16. The system of claim 15 , wherein the importance analysis system determines how often macroblocks in the subsequent P frame are referenced by other video frames.

17. The system of claim 15 , wherein the importance analysis system examines motion vectors from the previous and subsequent B frames, and from a subsequent P frame, to determine how often each macroblock in a current I frame acts as the reference macroblock.

18. The system of claim 17 , wherein the importance analysis system determines how often target macroblocks in the subsequent P frame act as reference macroblocks.

19. The system of claim 15 , further comprising an error protection system that adds error protection to a stream of macroblock data based on a priority assigned to each macroblock.

20. The system of claim 19 , further comprising a stream decoding system that decodes the streams of macroblock data back into decoded video data.

21. The system of claim 15 , further comprising a partial macroblock analysis system that computes an overlap between a current macroblock and the reference macroblock and scales the importance value based on the overlap.

22. The system of claim 15 , further comprising a residual analysis system tat further determines the importance value of each macroblock based values of a plurality of residual discrete cosine transform (DCT) coefficients of the macroblock.

23. A decoder system for decoding multi-priority compressed video data, comprising:

a system that correlates an error protection scheme to each of a plurality of data streams; and

a system that interprets each data stream based on the error protection scheme;

wherein the error protection scheme is determined by an prioritization system that prioritizes each data stream by analyzing a current P frame by examining motion vectors from previous and subsequent B frames, and from a subsequent P frame if it exists, to determine how often each macroblock in the current P frame acts as a reference macroblock.

24. A program product stored on a recordable media, that when executed, prioritizes streams of compressed video data, the program product comprising:

means for determining an importance value for macroblock data in video frames by analyzing a current P frame by examining motion vectors from previous and subsequent B frames, and from a subsequent P frame if it exists, to determine how often each macroblock in the current P frame acts as a reference macroblock; and

means for prioritizing macroblock data based on the determined importance values.

25. The program product of claim 24 , further comprising means for analyzing a current I frame by examining motion vectors from the previous and subsequent B frames, and from the subsequent P frame, to determine how often each macroblock in the current I frame acts as the reference macroblock.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2018
From: UNILOC LUXEMBOURG S.A.
To: UNILOC 2017 LLC
Reel/Frame 046532/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2012
From: IPG ELECTRONICS 503 LIMITED
To: PENDRAGON WIRELESS LLC
Reel/Frame 028594/0224 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2009
From: KONINKLIJKE PHILIPS ELECTRONICS N.V.
To: IPG ELECTRONICS 503 LIMITED
Reel/Frame 022203/0791 →