1. A method for distributing candidate motion vectors, the method comprising: dividing a picture frame into a plurality of segments using a processor, each segment comprising a plurality of pixel blocks; measuring local motion complexity for each segment using the processor; and assigning a number of candidate motion vectors to pixel blocks within each segment based on the measured local motion complexity using the processor, wherein the number of candidate motion vectors assigned to pixel blocks within one of the segments is different from the number of candidate motion vectors assigned to pixels blocks within another one of the segments, wherein the measuring local motion complexity further comprises: determining a sum-of-absolute differences between pixel blocks of the picture frame and corresponding pixel blocks of an adjacent frame; and summing the measured sum-of-absolute differences associated with of pixel blocks within each segment, wherein the assigning further comprises using a distribution function configured to assign the number of candidate vectors based on the measured local motion complexity of each segment, and wherein the distribution function is based on a maximum, minimum or average of the measured sum-of-absolute differences (SAD) of the segments using the following respective relationships: 
 N _max= a +b *SAD_max + c *SAD_max*SAD 13 max, 
 N _min= a +b *SAD_min + c *SAD_min*SAD_min, and 
 N _av= a +b * SAD_av + c *SAD_av*SAD_av.