System and method to process motion vectors of video data
First Claim
1. A method of processing received video data in a video receiver, the method comprising:
- identifying an intra-block in a video frame of the video data;
identifying a first set of inter-blocks neighboring the intra-block and identifying a second set of inter-blocks neighboring the intra-block, each of the inter-blocks in the first and second sets having a motion vector associated therewith;
evaluating data of the first set of inter-blocks and of the second set of inter-blocks to determine which of the first and second set of inter-blocks has a least error associated therewith;
determining a motion vector associated with the motion vectors of the set of inter-blocks determined to have the least error, the determined motion vector to be associated with the intra-block;
comparing a first difference between motion vectors of two blocks that are adjacent to a center block to a first threshold;
in response to the first difference being less than the first threshold, determining whether a second difference between a motion vector of the center block and an average motion vector of motion vectors of the two blocks exceeds a second threshold; and
in response to the second difference exceeding the second threshold, assigning a motion vector to the center block that is an average of the motion vectors of the two blocks.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods to process motion vectors of video data are disclosed. According to an embodiment, an intra-block in a video frame of the video data is identified. At least a first set and a second set of inter-blocks that neighbor the identified intra-block are identified, where each inter-block in a set of inter-blocks has a motion vector associated therewith. Data of the first and second set of inter-blocks is evaluated to determine an error associated with each of the first and second sets. A motion vector associated with motion vectors of the inter-blocks of the set with the least error is determined. The determined motion vector may be associated with the identified intra-block.
22 Citations
39 Claims
-
1. A method of processing received video data in a video receiver, the method comprising:
-
identifying an intra-block in a video frame of the video data; identifying a first set of inter-blocks neighboring the intra-block and identifying a second set of inter-blocks neighboring the intra-block, each of the inter-blocks in the first and second sets having a motion vector associated therewith; evaluating data of the first set of inter-blocks and of the second set of inter-blocks to determine which of the first and second set of inter-blocks has a least error associated therewith; determining a motion vector associated with the motion vectors of the set of inter-blocks determined to have the least error, the determined motion vector to be associated with the intra-block; comparing a first difference between motion vectors of two blocks that are adjacent to a center block to a first threshold; in response to the first difference being less than the first threshold, determining whether a second difference between a motion vector of the center block and an average motion vector of motion vectors of the two blocks exceeds a second threshold; and in response to the second difference exceeding the second threshold, assigning a motion vector to the center block that is an average of the motion vectors of the two blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of processing received video data in a video receiver, the method comprising:
-
identifying an intra-block in a video frame of the video data; identifying a first set of inter-blocks neighboring the intra-block and identifying a second set of inter-blocks neighboring the intra-block, each of the inter-blocks in the first and second sets having a motion vector associated therewith; evaluating data of the first set of inter-blocks and of the second set of inter-blocks to determine which of the first and second set of inter-blocks has a least error associated therewith; determining a motion vector associated with the motion vectors of the set of inter-blocks determined to have the least error, the determined motion vector to be associated with the intra-block; calculating a weighted difference between a processed motion vector of a first block of the video frame and a motion vector of a corresponding block of a previous frame of the video data; comparing the weighted difference to a threshold; and in response to the weighted difference exceeding the threshold, replacing the processed motion vector with a replacement motion vector that is a median value of motion vectors of neighboring blocks in a three block by three block array that includes the first block corresponding to the processed motion vector. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A method of processing received video data in a video receiver, the method comprising:
-
identifying an intra-block in a video frame of the video data; identifying a first set of inter-blocks neighboring the intra-block and identifying a second set of inter-blocks neighboring the intra-block, each of the inter-blocks in the first and second sets having a motion vector associated therewith; evaluating data of the first set of inter-blocks and of the second set of inter-blocks to determine which of the first and second set of inter-blocks has a least error associated therewith; determining a motion vector associated with the motion vectors of the set of inter-blocks determined to have the least error, the determined motion vector to be associated with the intra-block; detecting a block adjacent to a boundary of the video frame; determining an average value of absolute values of differences between a motion vector of the block adjacent to the boundary and motion vectors of blocks that neighbor the block adjacent to the boundary; comparing the average value to a threshold; and setting the motion vector of the block adjacent to the boundary equal to a motion vector of a block that neighbors the block adjacent to the boundary in response to the average value exceeding the threshold. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification