Image processing apparatus and image processing method related to motion compensation
An image processing apparatus includes a search range providing circuit, a searching circuit and an encoder. The search range providing circuit obtains N number of predicted motion vectors for a target image block, and accordingly sets N number of corresponding search ranges in a reference frame, where N is an integer greater than 1. The searching circuit performs a motion compensation searching process individually on the N search ranges to accordingly determine a motion vector for the target image block. The encoder encodes the target image block according to the motion vector.
1. An image processing apparatus, comprising:
a search range providing circuit, obtaining N number of predicted motion vectors for a target image block, and accordingly setting N number of corresponding search ranges in a reference frame, where N is an integer greater than 1;
a searching circuit, performing a motion compensation searching process individually on the N number of search ranges to accordingly determine a motion vector for the target image block; and
an encoder, encoding the target image block according to the motion vector;
a determining circuit, generating a determining result after determining whether two or more of the N number of search ranges satisfy an overlapping condition; and
an extending circuit, if the determination result is affirmative, the extending circuit selecting an extended search range that does not overlap the N number of search ranges from the reference frame, and requesting the searching circuit to perform the motion compensation searching process further on the extended search range in addition to the N number of search ranges when determining the motion vector.
2. The image processing apparatus according to claim 1 , wherein the N number of predicted motion vectors are respective motion vectors of N number of adjacent image blocks of the target image block.
3. The image processing apparatus according to claim 2 , wherein the search range providing circuit determines respective characteristics of the N number of search ranges according to correlation between the N number of adjacent image blocks and the target image block.
4. The image processing apparatus according to claim 1 , wherein, when two or more of the N number of search ranges have one or more overlapping regions, the extending circuit causes a total area of the extended search range to be equal to a total area of all overlapping regions of the N number of search ranges.
5. The image processing apparatus according to claim 4 , wherein the extending circuit further determines characteristics of the extended search range according to correlations of the N number of adjacent image blocks and the target image block.
6. The image processing apparatus according to claim 1 , wherein the searching circuit comprises:
N number of sub-searching circuit, performing the motion compensation searching process in parallel; and
an assigning circuit, dividing the N number of search ranges and the extended search range into N number of non-overlapping portions evenly according to total size of all the search ranges, and assigning the N number of non-overlapping portions to the N number of sub-searching circuits.
7. The image processing apparatus according to claim 1 , wherein the determining circuit comprises:
a quantizing circuit, quantizing the N number of predicted motion vectors to generate N number of quantized predicted motion vectors; and
a comparing circuit, comparing the N number of quantized predicted motion vectors, and if there are M number of equal quantized predicted motion vectors, the comparing circuit determining that M number of corresponding search ranges satisfy the overlapping condition, where M is an integer greater than 1.
8. An image processing method, comprising:
a) obtaining N number of predicted motion vectors for a target image block, and accordingly setting N number of corresponding search ranges in a reference frame, where N is an integer greater than 1;
b) performing a motion compensation searching process individually on the N number of search ranges to accordingly determine a motion vector for the target image block; and
c) encoding the target image block according to the motion vector;
d) determining whether two or more of the N number of search ranges satisfy an overlapping condition;
e) if a determination result of step (d) is affirmative, selecting an extended search range that does not overlap the N number of search ranges from the reference frame; and
f) performing the motion compensation searching process further on the extended search range in addition to the N number of search ranges when determining the motion vector.
9. The image processing method according to claim 8 , wherein the N number of predicted motion vectors are respective motion vectors of N number of adjacent image blocks of the target image block.
10. The image processing method according to claim 8 , wherein step (e) comprises: when two or more of the N number of search ranges have one or more overlapping regions, causing a total area of the extended search range to be equal to a total area of all overlapping regions of the N number of search ranges.
11. The image processing method according to claim 8 , wherein step (f) comprises:
dividing the N number of search ranges and the extended search range into N number of non-overlapping portions evenly according to total size of all the search ranges, and performing the motion compensation searching process in parallel by using N number of sub-searching processes.
12. The image processing method according to claim 8 , wherein step (d) comprises:
quantizing the N number of predicted motion vectors to generate N number of quantized predicted motion vectors; and
comparing the N number of quantized predicted motion vectors, and if there are M number of equal quantized predicted motion vectors, determining that M number of corresponding search ranges satisfy the overlapping condition, where M is an integer greater than 1.