US2006133495A1PendingUtilityA1

Temporal error concealment for video communications

46
Assignee: YE YANPriority: Dec 22, 2004Filed: Dec 22, 2004Published: Jun 22, 2006
Est. expiryDec 22, 2024(expired)· nominal 20-yr term from priority
H04N 19/61H04N 19/513H04N 19/895H04N 19/51H04N 19/176
46
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and systems for processing video data are described. A set of candidate motion vectors is selected from motion vectors associated with macroblocks in a first frame of video data and from motion vectors associated with macroblocks in a second frame of the video data. A statistical measure of the set is determined. The statistical measure defines a motion vector for a macroblock of interest in the second frame.

Claims

exact text as granted — not AI-modified
1 . A method of processing video data, said method comprising: 
 selecting a set of motion vectors from a first plurality of motion vectors associated with a first plurality of macroblocks in a first frame of said video data and from a second plurality of motion vectors associated with a second plurality of macroblocks in a second frame of said video data;    determining a statistical measure of said set of motion vectors, said statistical measure defining a motion vector for a macroblock of interest in said second plurality of macroblocks; and    applying said motion vector to said macroblock of interest.    
   
   
       2 . The method of  claim 1  wherein said determining comprises determining the median of said set, wherein said motion vector for said macroblock of interest is said median.  
   
   
       3 . The method of  claim 1  wherein said determining comprises determining the average of said set, wherein said motion vector for said macroblock of interest is said average.  
   
   
       4 . The method of  claim 1  wherein said set comprises: 
 said second plurality of motion vectors; and    motion vectors for selected macroblocks of said first plurality of macroblocks, wherein if there is a first motion vector for a first macroblock at a position in said first frame and also a second motion vector for a second macroblock at said position in said second frame, said second motion vector is included in said set and said first motion vector is not included in said set.    
   
   
       5 . The method of  claim 1  further comprising deciding whether motion vectors from said first plurality of motion vectors are eligible for inclusion in said set.  
   
   
       6 . The method of  claim 5  wherein said deciding comprises: 
 determining a first range of values for motion vectors associated with said first frame;    determining a second range of values for motion vectors associated with said second frame; and    comparing said first and second ranges of values, wherein motion vectors from said first plurality of motion vectors are eligible for inclusion in said set if said first and second ranges overlap by a specified amount.    
   
   
       7 . The method of  claim 5  wherein said deciding comprises: 
 comparing dimensions of pairs of motion vectors to determine whether motion vectors in each of said pairs are similar to each other, each of said pairs of motion vectors comprising a first motion vector associated with a first macroblock at a position in said first frame and a second motion vector associated with a second macroblock at said position in said second frame, wherein motion vectors are similar provided they satisfy a rule; and    counting the number of pairs of motion vectors in said first and second frames that are similar, wherein motion vectors from said first plurality of motion vectors are eligible for inclusion in said set if said number exceeds a threshold.    
   
   
       8 . The method of  claim 5  wherein said set comprises motion vectors associated with macroblocks of said first plurality of macroblocks that lie on the same side of a motion boundary as a macroblock in said first frame at the same position as said macroblock of interest.  
   
   
       9 . The method of  claim 5  wherein said set comprises motion vectors from said first plurality of motion vectors that are similar to a motion vector for a macroblock in said first plurality of macroblocks that is at the same position as said macroblock of interest, wherein motion vectors are similar provided they satisfy a rule.  
   
   
       10 . The method of  claim 1  wherein a motion vector associated with an object that is contained in a first macroblock in said first frame at the same position as a second macroblock in said second frame is included in said set provided that in said second frame said object overlaps said second macroblock by a specified amount.  
   
   
       11 . The method of  claim 1  wherein said first frame precedes said second frame in order of display.  
   
   
       12 . A computer-usable medium having computer-readable program code embodied therein for causing a decoding device to perform a video data processing method comprising: 
 selecting a set of motion vectors from a first plurality of motion vectors associated with a first plurality of macroblocks in a first frame of video data and from a second plurality of motion vectors associated with a second plurality of macroblocks in a second frame of said video data;    determining a statistical measure of said set of motion vectors, said statistical measure defining a motion vector for a macroblock of interest in said second plurality of macroblocks; and    applying said motion vector to said macroblock of interest.    
   
   
       13 . The computer-usable medium of  claim 12  wherein said set comprises: 
 said second plurality of motion vectors; and    motion vectors for selected macroblocks of said first plurality of macroblocks, wherein if there is a first motion vector for a first macroblock at a position in said first frame and also a second motion vector for a second macroblock at said position in said second frame, said second motion vector is included in said set and said first motion vector is not included in said set.    
   
   
       14 . The computer-usable medium of  claim 12  wherein said computer-readable program code embodied therein causes said decoding device to perform said video data processing method further comprising: 
 determining a first range of values for motion vectors associated with said first frame;    determining a second range of values for motion vectors associated with said second frame; and    comparing said first and second ranges of values, wherein motion vectors from said first plurality of motion vectors are eligible for inclusion in said set if said first and second ranges overlap by a specified amount.    
   
   
       15 . The computer-usable medium of  claim 12  wherein said computer-readable program code embodied therein causes said decoding device to perform said video data processing method further comprising: 
 comparing dimensions of pairs of motion vectors to determine whether motion vectors in each of said pairs are similar to each other, each of said pairs of motion vectors comprising a first motion vector associated with a first macroblock at a position in said first frame and a second motion vector associated with a second macroblock at said position in said second frame, wherein motion vectors are similar provided they satisfy a rule; and    counting the number of pairs of motion vectors in said first and second frames that are similar, wherein motion vectors from said first plurality of motion vectors are eligible for inclusion in said set if said number exceeds a threshold.    
   
   
       16 . The computer-usable medium of  claim 12  wherein said set comprises motion vectors associated with macroblocks of said first plurality of macroblocks that lie on the same side of a motion boundary as a macroblock in said first frame at the same position as said macroblock of interest.  
   
   
       17 . The computer-usable medium of  claim 12  wherein a motion vector associated with an object that is contained in a first macroblock in said first frame at the same position as a second macroblock in said second frame is included in said set provided that in said second frame said object overlaps said second macroblock by a specified amount.  
   
   
       18 . The computer-usable medium of  claim 12  wherein said first frame precedes said second frame in order of display.  
   
   
       19 . A system for processing video data, said system comprising: 
 means for selecting a set of motion vectors from a first plurality of motion vectors associated with a first plurality of macroblocks in a first frame of said video data and from a second plurality of motion vectors associated with a second plurality of macroblocks in a second frame of said video data;    means for determining a statistical measure of said set of motion vectors, said statistical measure defining a motion vector for a macroblock of interest in said second plurality of macroblocks; and    applying said motion vector to said macroblock of interest.    
   
   
       20 . The system of  claim 19  wherein said set comprises: 
 said second plurality of motion vectors; and    motion vectors for selected macroblocks of said first plurality of macroblocks, wherein if there is a first motion vector for a first macroblock at a position in said first frame and also a second motion vector for a second macroblock at said position in said second frame, said second motion vector is included in said set and said first motion vector is not included in said set.    
   
   
       21 . The system of  claim 19  further comprising means for deciding whether motion vectors from said first plurality of motion vectors are eligible for inclusion in said set.  
   
   
       22 . The system of  claim 21  wherein said means for deciding comprises: 
 means for determining a first range of values for motion vectors associated with said first frame;    means for determining a second range of values for motion vectors associated with said second frame; and    means for comparing said first and second ranges of values, wherein motion vectors from said first plurality of motion vectors are eligible for inclusion in said set if said first and second ranges overlap by a specified amount.    
   
   
       23 . The system of  claim 21  wherein said means for deciding comprises: 
 means for comparing dimensions of pairs of motion vectors to determine whether motion vectors in each of said pairs are similar to each other, each of said pairs of motion vectors comprising a first motion vector associated with a first macroblock at a position in said first frame and a second motion vector associated with a second macroblock at said position in said second frame, wherein motion vectors are similar provided they satisfy a rule; and    means for counting the number of pairs of motion vectors in said first and second frames that are similar, wherein motion vectors from said first plurality of motion vectors are eligible for inclusion in said set if said number exceeds a threshold.    
   
   
       24 . The system of  claim 21  wherein said set comprises motion vectors associated with macroblocks of said first plurality of macroblocks that lie on the same side of a motion boundary as a macroblock in said first frame at the same position as said macroblock of interest.  
   
   
       25 . The system of  claim 21  wherein said set comprises motion vectors from said first plurality of motion vectors that are similar to a motion vector for a macroblock in said first plurality of macroblocks that is at the same position as said macroblock of interest, wherein motion vectors are similar provided they satisfy a rule.  
   
   
       26 . The system of  claim 19  wherein a motion vector associated with an object that is contained in a first macroblock in said first frame at the same position as a second macroblock in said second frame is included in said set provided that in said second frame said object overlaps said second macroblock by a specified amount.  
   
   
       27 . The system of  claim 19  wherein said first frame precedes said second frame in order of display.  
   
   
       28 . A device comprising: 
 a microprocessor; and 
 a memory unit coupled to said microprocessor, said memory unit containing instructions that when executed by said microprocessor implement a method for processing video data, said method comprising: 
 selecting a set of motion vectors from a first plurality of motion vectors associated with a first plurality of macroblocks in a first frame of said video data and from a second plurality of motion vectors associated with a second plurality of macroblocks in a second frame of said video data;  
 determining a statistical measure of said set of motion vectors, said statistical measure defining a motion vector for a macroblock of interest in said second plurality of macroblocks; and  
 applying said motion vector to said macroblock of interest.  
 
   
   
   
       29 . The device of  claim 28  wherein said set comprises: 
 said second plurality of motion vectors; and    motion vectors for selected macroblocks of said first plurality of macroblocks, wherein if there is a first motion vector for a first macroblock at a position in said first frame and also a second motion vector for a second macroblock at said position in said second frame, said second motion vector is included in said set and said first motion vector is not included in said set.    
   
   
       30 . The device of  claim 28  wherein said method further comprises: 
 determining a first range of values for motion vectors associated with said first frame;    determining a second range of values for motion vectors associated with said second frame; and    comparing said first and second ranges of values, wherein motion vectors from said first plurality of motion vectors are eligible for inclusion in said set if said first and second ranges overlap by a specified amount.    
   
   
       31 . The device of  claim 28  wherein said method further comprises: 
 comparing dimensions of pairs of motion vectors to determine whether motion vectors in each of said pairs are similar to each other, each of said pairs of motion vectors comprising a first motion vector associated with a first macroblock at a position in said first frame and a second motion vector associated with a second macroblock at said position in said second frame, wherein motion vectors are similar provided they satisfy a rule; and    counting the number of pairs of motion vectors in said first and second frames that are similar, wherein motion vectors from said first plurality of motion vectors are eligible for inclusion in said set if said number exceeds a threshold.    
   
   
       32 . The device of  claim 28  wherein said set comprises motion vectors associated with macroblocks of said first plurality of macroblocks that lie on the same side of a motion boundary as a macroblock in said first frame at the same position as said macroblock of interest.  
   
   
       33 . The device of  claim 28  wherein said set comprises motion vectors from said first plurality of motion vectors that are similar to a motion vector for a macroblock in said first plurality of macroblocks that is at the same position as said macroblock of interest, wherein motion vectors are similar provided they satisfy a rule.  
   
   
       34 . The device of  claim 28  wherein a motion vector associated with an object that is contained in a first macroblock in said first frame at the same position as a second macroblock in said second frame is included in said set provided that in said second frame said object overlaps said second macroblock by a specified amount.  
   
   
       35 . The device of  claim 28  wherein said first frame precedes said second frame in order of display.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.