IP Library › Granted Patent US 7,627,040
Granted Patent B2
US 7,627,040 · App. 10/864,833 · Granted Dec 1, 2009

Method for processing I-blocks used with motion compensated temporal filtering

Assignee: Rensselaer Polytechnic Institute (RPI)
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,627,040
App. No.
10/864,833
Granted
Dec 1, 2009
Kind
B2
Abstract

A method, system, computer program product, and computer system for processing video frames. Frames A and B of a pair of successive video frames each comprise blocks of pixels. Frame A is earlier in time than frame B. A connection state of each pixel in frame B relative to the pixels of frame A is determined. The connection state is a connected state or an unconnected state. Each block in frame B is classified as either unconnected or uni-connected. Uni-connected blocks in frame B satisfying a reclassification criteria are reclassified as being unconnected. Each unconnected block in frame B is categorized as being a P-block or an I-block. Values for the pixels of each I-block in frame B are calculated by spatial interpolation based on values of nearest available neighbor pixels relative to each I-block. A residual error block for each I-block in frame B is generated.

Claims (143)

1. A method for processing video frames using a processor, comprising:

providing, by the processor, a pair of successive video frames, each pair of frames consisting of frame A and frame B, said frames A and B each comprising blocks of pixels, said frame A being earlier in time than said frame B;

determining, by the processor, a connection state of each pixel in frame B relative to the pixels of frame A, wherein said determining comprises eliminating multiple connections between the pixels in frame B and the pixels in frame A such that said connection state is a uni-connected state or an unconnected state;

after said determining, classifying, by the processor, each block in frame B as being either unconnected or uni-connected;

after said classifying, reclassifying, by the processor, uni-connected blocks in frame B as being unconnected for those uni-connected blocks in frame B satisfying a reclassification criteria;

after said reclassifying, categorizing, by the processor, each unconnected block in frame B as a P-block or an I-block;

after said categorizing, calculating, by the processor, values for the pixels of each I-block in frame B by spatial interpolation based on values of nearest available neighbor pixels relative to each I-block; and

after said calculating, generating, by the processor, a residual error block for each I-block in frame B.

2. The method of claim 1 , further comprising:

performing, by the processor, Motion Compensated Temporal Filtering (MCTF) on the pixels in frames A and B to generate a temporal low frame and a temporal high frame; and

inserting, by the processor, the residual error block for each I-block in frame B into a corresponding block in the temporal high frame.

3. The method of claim 2 , further comprising after said inserting: compressing, by the processor, the temporal high frame.

4. The method of claim 1 , said spatial interpolation being a linear spatial interpolation.

5. The method of claim 1 , said spatial interpolation being a nonlinear spatial interpolation.

6. The method of claim 1 , said spatial interpolation being a directional spatial interpolation.

7. The method of claim 1 , said spatial interpolation being a non-directional spatial interpolation.

8. The method of claim 1 , said spatial interpolation being a hybrid spatial interpolation.

9. The method of claim 1 , said classifying comprising:

classifying, by the processor, as being unconnected each block in frame B having at least a fraction F of its pixels in the unconnected state; and

classifying, by the processor, as being uni-connected each block in frame B having less than the fraction F of its pixels in the unconnected state, said fraction F having a value in a range of 0.30 to 1.00.

10. A method for processing video frames using a processor, comprising:

providing, by the processor, a pair of successive video frames, each pair of frames consisting of frame A and frame B, said frames A and B each comprising blocks of pixels, said frame A being earlier in time than said frame B;

determining, by the processor, a connection state of each pixel in frame B relative to the pixels of frame A, said connection state being a connected state or an unconnected state;

classifying, by the processor, each block in frame B as being either unconnected or uni-connected;

after said classifying, reclassifying, by the processor, uni-connected blocks in frame B as being unconnected for those uni-connected blocks in frame B satisfying a reclassification criteria;

after said reclassifying, categorizing, by the processor, each unconnected block in frame B as a P-block or an I-block;

after said categorizing, calculating, by the processor, values for the pixels of each I-block in frame B by spatial interpolation based on values of nearest available neighbor pixels relative to each I-block; and

after said calculating, generating, by the processor, a residual error block for each I-block in frame B,

wherein said classifying comprises:

determining, by the processor, a matched block in frame A for each uni-connected block in frame B; and

reclassifying, by the processor, a uni-connected block in frame B as being unconnected if the mean-squared displaced frame difference (DFD) between the uni-connected block in frame B and its matched block in frame A exceeds fV MIN , said V MIN being the minimum of V 1 and V 2 , said V 1 and V 2 being respectively the pixel variance of the uni-connected block in frame B and the pixel variance of its matched block in frame A, said f being in a range of 0.40 to 1.00.

11. A method for processing video frames using a processor, comprising:

providing, by the processor, a pair of successive video frames, each pair of frames consisting of frame A and frame B, said frames A and B each comprising blocks of pixels, said frame A being earlier in time than said frame B;

determining, by the processor, a connection state of each pixel in frame B relative to the pixels of frame A, said connection state being a connected state or an unconnected state; classifying, by the processor, each block in frame B as being either unconnected or uni-connected;

after said classifying, reclassifying, by the processor, uni-connected blocks in frame B as being unconnected for those uni-connected blocks in frame B satisfying a reclassification criteria;

after said reclassifying, categorizing, by the processor, each unconnected block in frame B as a P-block or an I-block;

after said categorizing, calculating, by the processor, values for the pixels of each I-block in frame B by spatial interpolation based on values of nearest available neighbor pixels relative to each I-block; and

after said calculating, generating, by the processor, a residual error block for each I-block in frame B,

wherein said categorizing comprises:

categorizing, by the processor, as being an I-block an unconnected block in frame B having a residual interpolation error (S RES ) that is less than its minimum motion compensated error (S MC-MIN ); and

categorizing, by the processor, as being a P-block an unconnected block in frame B having a residual interpolation error (S RES ) that is not less than its minimum motion compensated error (S MC-MIN ).

12. A system for processing a pair of successive video frames, each pair of frames consisting of frame A and frame B, said frames A and B each comprising blocks of pixels, said frame A being earlier in time than said frame B, said system comprising;

means for determining a connection state of each pixel in frame B relative to the pixels of frame A, wherein said determining means eliminates multiple connections between the pixels in frame B and the pixels in frame A such that said connection state is a uni-connected state or an unconnected state;

means for classifying each block in frame B as being either unconnected or uni-connected after said determining means determines said connection state;

means for reclassifying uni-connected blocks in frame B as being unconnected for those uni-connected blocks in frame B satisfying a reclassification criteria;

means for categorizing each unconnected block in frame B as a P-block or an I-block;

means for calculating values for the pixels of each I-block in frame B by spatial interpolation based on values of nearest available neighbor pixels relative to each I-block; and

means for generating a residual error block for each I-block in frame B.

13. The system of claim 12 , further comprising:

means for performing Motion Compensated Temporal Filtering (MCTF) on the pixels in frames A and B to generate a temporal low frame and a temporal high frame; and

means for inserting the residual error block for each I-block in frame B into a corresponding block in the temporal high frame.

14. The system of claim 13 , further comprising means for compressing the temporal high frame that includes the inserted the residual error block for each I-block in frame B.

15. The system of claim 12 , said spatial interpolation being a linear spatial interpolation.

16. The system of claim 12 , said spatial interpolation being a nonlinear spatial interpolation.

17. The system of claim 12 , said spatial interpolation being a directional spatial interpolation.

18. The system of claim 12 , said spatial interpolation being a non-directional spatial interpolation.

19. The system of claim 12 , said spatial interpolation being a hybrid spatial interpolation.

20. A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code comprising an algorithm adapted to implement a method for processing video frames, said method comprising:

providing a pair of successive video frames, each pair of frames consisting of frame A and frame B, said frames A and B each comprising blocks of pixels, said frame A being earlier in time than said frame B;

determining a connection state of each pixel in frame B relative to the pixels of frame A, wherein said determining comprises eliminating multiple connections between the pixels in frame B and the pixels in frame A such that said connection state is a uni-connected state or an unconnected state;

after said determining, classifying each block in frame B as being either unconnected or uni-connected;

after said classifying, reclassifying uni-connected blocks in frame B as being unconnected for those uni-connected blocks in frame B satisfying a reclassification criteria;

after said reclassifying, categorizing each unconnected block in frame B as a P-block or an I-block;

after said categorizing, calculating values for the pixels of each I-block in frame B by spatial interpolation based on values of nearest available neighbor pixels relative to each I-block; and

after said calculating, generating a residual error block for each I-block in frame B.

21. The computer program product of claim 20 , said method further comprising:

performing Motion Compensated Temporal Filtering (MCTF) on the pixels in frames A and B to generate a temporal low frame and a temporal high frame; and

inserting the residual error block for each I-block in frame B into a corresponding block in the temporal high frame.

22. The computer program product of claim 21 , said method further comprising after said inserting: compressing the temporal high frame.

23. The computer program product of claim 20 , said spatial interpolation being a linear spatial interpolation.

24. The computer program product of claim 20 , said spatial interpolation being a nonlinear spatial interpolation.

25. The computer program product of claim 20 , said spatial interpolation being a directional spatial interpolation.

26. The computer program product of claim 20 , said spatial interpolation being a non-directional spatial interpolation.

27. The computer program product of claim 20 , said spatial interpolation being a hybrid spatial interpolation.

28. The computer program product of claim 20 , said classifying comprising:

classifying as being unconnected each block in frame B having at least a fraction F of its pixels in the unconnected state; and

classifying as being uni-connected each block in frame B having less than the fraction F of its pixels in the unconnected state, said fraction F having a value in a range of 0.30 to 1.00.

29. A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code comprising an algorithm adapted to implement a method for processing video frames, said method comprising:

providing a pair of successive video frames, each pair of frames consisting of frame A and frame B, said frames A and B each comprising blocks of pixels, said frame A being earlier in time than said frame B;

determining a connection state of each pixel in frame B relative to the pixels of frame A, said connection state being a connected state or an unconnected state;

classifying each block in frame B as being either unconnected or uni-connected;

after said classifying, reclassifying uni-connected blocks in frame B as being unconnected for those uni-connected blocks in frame B satisfying a reclassification criteria;

after said reclassifying, categorizing each unconnected block in frame B as a P-block or an I-block;

after said categorizing, calculating values for the pixels of each I-block in frame B by spatial interpolation based on values of nearest available neighbor pixels relative to each I-block; and

after said calculating, generating a residual error block for each I-block in frame B,

wherein said reclassifying comprises:

determining a matched block in frame A for each uni-connected block in frame B; and

reclassifying a uni-connected block in frame B as being unconnected if the mean-squared displaced frame difference (DFD) between the uni-connected block in frame B and its matched block in frame A exceeds fV MIN , said V MIN being the minimum of V 1 and V 2 , said V 1 and V 2 being respectively the pixel variance of the uni-connected block in frame B and the pixel variance of its matched block in frame A, said f being in a range of 0.40 to 1.00.

30. A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code comprising an algorithm adapted to implement a method for processing video frames, said method comprising:

providing a pair of successive video frames, each pair of frames consisting of frame A and frame B, said frames A and B each comprising blocks of pixels, said frame A being earlier in time than said frame B;

determining a connection state of each pixel in frame B relative to the pixels of frame A, said connection state being a connected state or an unconnected state;

classifying each block in frame B as being either unconnected or uni-connected;

after said classifying, reclassifying uni-connected blocks in frame B as being unconnected for those uni-connected blocks in frame B satisfying a reclassification criteria;

after said reclassifying, categorizing each unconnected block in frame B as a P-block or an I-block;

after said categorizing, calculating values for the pixels of each I-block in frame B by spatial interpolation based on values of nearest available neighbor pixels relative to each I-block; and

after said calculating, generating a residual error block for each I-block in frame B,

wherein said categorizing comprises:

categorizing as being an I-block an unconnected block in frame B having a residual interpolation error (S RES ) that is less than its minimum motion compensated error (S MC-MIN ); and

categorizing as being a P-block an unconnected block in frame B having a residual interpolation error (S RES ) that is not less than its minimum motion compensated error (S MC-MIN ).

31. A computer system comprising a processor and a computer readable memory unit coupled to the processor, said memory unit containing instructions that when executed by the processor implement a method for processing video frames, said method comprising:

providing a pair of successive video frames, each pair of frames consisting of frame A and frame B, said frames A and B each comprising blocks of pixels, said frame A being earlier in time than said frame B;

determining a connection state of each pixel in frame B relative to the pixels of frame A, wherein said determining comprises eliminating multiple connections between the pixels in frame B and the pixels in frame A such that said connection state is a uni-connected state or an unconnected state;

after said determining, classifying each block in frame B as being either unconnected or uni-connected;

after said classifying, reclassifying uni-connected blocks in frame B as being unconnected for those uni-connected blocks in frame B satisfying a reclassification criteria;

after said reclassifying, categorizing each unconnected block in frame B as a P-block or an I-block;

after said categorizing, calculating values for the pixels of each I-block in frame B by spatial interpolation based on values of nearest available neighbor pixels relative to each I-block; and

after said calculating, generating a residual error block for each I-block in frame B.

32. The computer system of claim 31 , said method further comprising:

performing Motion Compensated Temporal Filtering (MCTF) on the pixels in frames A and B to generate a temporal low frame and a temporal high frame; and

inserting the residual error block for each I-block in frame B into a corresponding block in the temporal high frame.

33. The computer system of claim 32 , said method further comprising after said inserting: compressing the temporal high frame.

34. The computer system of claim 31 , said spatial interpolation being a linear spatial interpolation.

35. The computer system of claim 31 , said spatial interpolation being a nonlinear spatial interpolation.

36. The computer system of claim 31 , said spatial interpolation being a directional spatial interpolation.

37. The computer system of claim 31 , said spatial interpolation being a non-directional spatial interpolation.

38. The computer system of claim 31 , said spatial interpolation being a hybrid spatial interpolation.

39. The computer system of claim 31 , said classifying comprising:

classifying as being unconnected each block in frame B having at least a fraction F of its pixels in the unconnected state; and

classifying as being uni-connected each block in frame B having less than the fraction F of its pixels in the unconnected state, said fraction F having a value in a range of 0.30 to 1.00.

40. A computer system comprising a processor and a computer readable memory unit coupled to the processor, said memory unit containing instructions that when executed by the processor implement a method for processing video frames, said method comprising:

providing a pair of successive video frames, each pair of frames consisting of frame A and frame B, said frames A and B each comprising blocks of pixels, said frame A being earlier in time than said frame B;

determining a connection state of each pixel in frame B relative to the pixels of frame A, said connection state being a connected state or an unconnected state;

classifying each block in frame B as being either unconnected or uni-connected;

after said classifying, reclassifying uni-connected blocks in frame B as being unconnected for those uni-connected blocks in frame B satisfying a reclassification criteria;

after said reclassifying, categorizing each unconnected block in frame B as a P-block or an I-block;

after said categorizing, calculating values for the pixels of each I-block in frame B by spatial interpolation based on values of nearest available neighbor pixels relative to each I-block; and

after said calculating, generating a residual error block for each I-block in frame B,

wherein said reclassifying comprises:

determining a matched block in frame A for each uni-connected block in frame B; and

reclassifying a uni-connected block in frame B as being unconnected if the mean-squared displaced frame difference (DFD) between the uni-connected block in frame B and its matched block in frame A exceeds fV MIN , said V MiN being the minimum of V I and V 2 , said V 1 and V 2 being respectively the pixel variance of the uni-connected block in frame B and the pixel variance of its matched block in frame A, said f being in a range of 0.40 to 1.00.

41. A computer system comprising a processor and a computer readable memory unit coupled to the processor, said memory unit containing instructions that when executed by the processor implement a method for processing video frames, said method comprising:

providing a pair of successive video frames, each pair of frames consisting of frame A and frame B, said frames A and B each comprising blocks of pixels, said frame A being earlier in time than said frame B;

determining a connection state of each pixel in frame B relative to the pixels of frame A, said connection state being a connected state or an unconnected state;

classifying each block in frame B as being either unconnected or uni-connected:

after said classifying, reclassifying uni-connected blocks in frame B as being unconnected for those uni-connected blocks in frame B satisfying a reclassification criteria;

after said reclassifying, categorizing each unconnected block in frame B as a P-block or an I-block;

after said categorizing, calculating values for the pixels of each I-block in frame B by spatial interpolation based on values of nearest available neighbor pixels relative to each I-block; and

after said calculating, generating a residual error block for each I-block in frame B,

wherein said categorizing comprises:

categorizing as being an I-block an unconnected block in frame B having a residual interpolation error (S RES ) that is less than its minimum motion compensated error (S MC-MIN ); and

categorizing as being a P-block an unconnected block in frame B having a residual interpolation error (S RES ) that is not less than its minimum motion compensated error (S MC-MIN ).

42. The method of claim 1 , wherein the classifying is based on a number of pixels in each block that are in the unconnected state.

43. The method of claim 1 , wherein, in the determining step, each pixel in frame B which is in the connected state is connected to exactly one pixel in frame A.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2004
From: CHEN, PEISONG
To: RENSSELAER POLYTECHNIC INSTITUTE
Reel/Frame 015721/0806 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2004
From: WOODS, JOHN W.; CHEN, PEISONG; WU, YONGJUN
To: RENSSELAER POLYTECHNIC INSTITUTE
Reel/Frame 015510/0713 →
Continuity (2)
Provisional Application 6047718300 · Jun 10, 2003
Related Publication 20040264576A1 · Dec 30, 2004