A method and system for adaptively adjusting sub-pixel precision in optical navigation

The adaptive sub-pixel precision method in optoelectronic navigation systems dynamically selects interpolation methods based on motion vector thresholds and user requirements, addressing precision and speed challenges to enhance navigation accuracy and efficiency.

CN112907619BActive Publication Date: 2024-12-17WUXI INSTER MICROELECTRONICS CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN201911126537.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-11-18
Publication Date
2024-12-17
Estimated Expiration
2039-11-18

AI Technical Summary

Technical Problem

Existing optoelectronic navigation systems face challenges in achieving high-precision positioning due to loss of intermediate details when amplifying motion vectors, leading to reduced accuracy and jitter in sub-pixel level motion estimation, which conventional methods like the fitting method fail to adequately address.

Method used

A method and system for adaptively adjusting sub-pixel precision by dynamically selecting interpolation methods based on motion vector thresholds and user requirements, employing high-, sub-high-, intermediate-, and low-precision interpolation techniques to ensure accurate motion vector determination.

Benefits of technology

The system effectively adjusts sub-pixel interpolation precision to meet high-precision positioning needs while optimizing system output speed, ensuring accurate and efficient navigation by minimizing computational overhead and maintaining precision.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112907619B_ABST
    Figure CN112907619B_ABST
Patent Text Reader

Abstract

The present invention discloses a method and system for adaptively adjusting sub-pixel precision in optical navigation, which relates to the field of optoelectronic navigation and positioning technology, and mainly includes obtaining the motion vector of the target image after interpolation of the first N-1 frames, and calculating the comparison motion vector according to the motion vector of the target image after interpolation of the first N-1 frames; then comparing the comparison motion vector with the first threshold value and the second threshold value, selecting a suitable precision interpolation method to interpolate the collected N-th frame original image, and obtaining the N-th frame interpolated target image; finally, performing motion estimation on the N-th frame interpolated target image, and determining the motion vector of the N-th frame interpolated target image; wherein the first threshold value and the second threshold value are determined according to the sampling rate / system output speed. Therefore, the method or system provided by the present invention can adjust the sub-pixel interpolation precision on the basis of meeting the sampling rate / system output speed requirements, and meet the high-precision positioning requirements of optoelectronic navigation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of optoelectronic navigation and positioning technology, and in particular to a method and system for adaptively adjusting sub-pixel precision in optical navigation. Background Art

[0002] In the field of optoelectronic navigation, most of the records are about whole-pixel navigation. The optoelectronic navigation positioning process is: obtain a reference frame and determine a reference block A, and then obtain a target frame. In theory, you can find a target block B that is the same as the reference block A in a certain search interval in the target frame, determine the position of the target block B in the target frame, and based on this position, derive the target frame motion vector to achieve the optoelectronic navigation positioning effect.

[0003] The application of optoelectronic navigation technology is becoming more and more sophisticated, and there are higher requirements for the output speed of optoelectronic navigation systems. The common method is to increase the output speed by amplifying the motion vector, that is, multiplying it by a coefficient and then outputting it. However, multiplying it by a coefficient may cause the intermediate details to be lost. For example, if it is multiplied by 2, all odd points are lost. If it is multiplied by 4, only points that are integer multiples of 4 can be found, and other points will be lost, and the positioning accuracy of the optoelectronic navigation system will be reduced.

[0004] For the above reasons, more precise positioning is now needed, that is, finding sub-pixel level motion vectors. The commonly used method for sub-pixel positioning is the fitting method, but the fitting method is a prediction method with many errors, which causes the output motion vector trajectory to have jitter. This jitter is difficult to eliminate even through compensation algorithms (jitter elimination algorithms). Summary of the invention

[0005] The purpose of the present invention is to provide a method and system for adaptively adjusting sub-pixel accuracy in optical navigation, which adjusts the sub-pixel interpolation accuracy on the basis of meeting the sampling rate / system output speed requirements to meet the high-precision positioning needs of optoelectronic navigation.

[0006] To achieve the above object, the present invention provides the following solutions:

[0007] A method for adaptively adjusting sub-pixel precision in optical navigation, comprising:

[0008] Obtaining a motion vector of a target image after interpolation of the first N-1 frames, and calculating a comparison motion vector based on the motion vector of the target image after interpolation of the first N-1 frames;

[0009] Determine whether the compared motion vector is less than a first threshold value, and obtain a first determination result;

[0010] If the first judgment result indicates that the compared motion vector is less than the first threshold, a high-precision interpolation method is used to interpolate the acquired N-th frame original image to obtain the N-th frame interpolated target image;

[0011] If the first judgment result indicates that the comparison motion vector is not less than the first threshold, then judging whether the comparison motion vector is less than a second threshold to obtain a second judgment result;

[0012] If the second judgment result indicates that the compared motion vector is less than the second threshold, interpolating the acquired N-th frame original image by using a sub-high-precision interpolation method / an intermediate-precision interpolation method to obtain an N-th frame interpolated target image;

[0013] If the second judgment result indicates that the compared motion vector is not less than the second threshold, a low-precision interpolation method is used to interpolate the acquired N-th frame original image to obtain an N-th frame interpolated target image;

[0014] Perform motion estimation on the N-th frame interpolated target image to determine a motion vector of the N-th frame interpolated target image.

[0015] Optionally, the calculating and comparing motion vectors according to the motion vectors of the target image after interpolation of the first N-1 frames specifically includes:

[0016] The mean vector of the motion vectors of the target image after interpolation of the first N-1 frames is calculated; the mean vector is the comparison motion vector.

[0017] Optionally, the high-precision interpolation method is to insert 15 pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation;

[0018] The second-highest precision interpolation method is to insert 7 pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation;

[0019] The intermediate precision interpolation method is to insert three pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation;

[0020] The low-precision interpolation method is to insert one pixel point between any two pixel points, and the distances between adjacent pixel points are equal after interpolation.

[0021] Optionally, the interpolation of the collected N-th frame original image by using a sub-high-precision interpolation method / an intermediate-precision interpolation method to obtain the N-th frame interpolated target image specifically includes:

[0022] Determine the user required resolution, and determine whether the user required resolution is greater than a third threshold, to obtain a third determination result;

[0023] If the third judgment result indicates that the user required resolution is greater than the third threshold, the Nth frame of the acquired original image is interpolated using a sub-high-precision interpolation method to obtain the Nth frame of the interpolated target image;

[0024] If the third judgment result indicates that the user required resolution is not greater than the third threshold, the collected N-th frame original image is interpolated using a medium-precision interpolation method to obtain the N-th frame interpolated target image.

[0025] Optionally, performing motion estimation on the N-th frame interpolated target image to determine the motion vector of the N-th frame interpolated target image specifically includes:

[0026] Acquire a reference frame image and a target frame image; the reference frame image is a specified frame image; the target frame image is the target image after the Nth frame interpolation;

[0027] Calculate a predicted motion vector according to the motion vector of the target image after interpolation of the first N-1 frames;

[0028] Determine a reference search area in the reference frame image according to the predicted motion vector, and determine a reference block in the reference search area;

[0029] Determine a target search area in the target frame image according to the predicted motion vector, and determine a plurality of interpolation target blocks in the target search area; the plurality of interpolation target blocks include a central interpolation target block and a plurality of edge interpolation target blocks adjacent to the central interpolation target block;

[0030] Comparing the interpolation target block with the reference block respectively, determining the interpolation target block most similar to the reference block, and determining the interpolation target block most similar to the reference block as the optimal interpolation target block;

[0031] Calculating a relative distance vector between the optimal interpolation target block and the central interpolation target block;

[0032] The predicted motion vector is superimposed on the relative distance vector to determine the motion vector of the target image after the Nth frame interpolation.

[0033] The present invention also provides a sub-pixel precision adaptive adjustment system for optical navigation, comprising:

[0034] A comparative motion vector calculation module is used to obtain the motion vector of the target image after the interpolation of the first N-1 frames, and calculate the comparative motion vector according to the motion vector of the target image after the interpolation of the first N-1 frames;

[0035] A first judgment result determination module, used to determine whether the comparison motion vector is less than a first threshold value, and obtain a first judgment result;

[0036] A second judgment result determination module, configured to determine whether the compared motion vector is less than a second threshold value when the first judgment result indicates that the compared motion vector is not less than the first threshold value, so as to obtain a second judgment result;

[0037] The Nth frame interpolation target image determination module is used to, when the first judgment result indicates that the comparison motion vector is less than the first threshold, interpolate the collected Nth frame original image by a high-precision interpolation method to obtain the Nth frame interpolation target image, or when the second judgment result indicates that the comparison motion vector is less than the second threshold, interpolate the collected Nth frame original image by a sub-high-precision interpolation method / intermediate-precision interpolation method to obtain the Nth frame interpolation target image, or when the second judgment result indicates that the comparison motion vector is not less than the second threshold, interpolate the collected Nth frame original image by a low-precision interpolation method to obtain the Nth frame interpolation target image;

[0038] The N-th frame interpolated target image motion vector determination module is used to perform motion estimation on the N-th frame interpolated target image to determine the motion vector of the N-th frame interpolated target image.

[0039] Optionally, the comparison motion vector calculation module specifically includes:

[0040] An acquisition unit, used for acquiring a motion vector of a target image after interpolation of the first N-1 frames;

[0041] The comparison motion vector calculation unit is used to calculate the mean vector of the motion vectors of the target image after interpolation of the first N-1 frames; the mean vector is the comparison motion vector.

[0042] Optionally, the high-precision interpolation method is to insert 15 pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation;

[0043] The second-highest precision interpolation method is to insert 7 pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation;

[0044] The intermediate precision interpolation method is to insert three pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation;

[0045] The low-precision interpolation method is to insert one pixel point between any two pixel points, and the distances between adjacent pixel points are equal after interpolation.

[0046] Optionally, the module for determining the target image after interpolation of the Nth frame specifically includes:

[0047] a first N-th frame interpolated target image determining unit, configured to interpolate the acquired N-th frame original image using a high-precision interpolation method to obtain the N-th frame interpolated target image when the first judgment result indicates that the comparison motion vector is less than the first threshold;

[0048] A third judgment result determining unit, used to determine the user required resolution, and determine whether the user required resolution is greater than a third threshold, to obtain a third judgment result;

[0049] A second N-th frame interpolated target image determining unit, configured to interpolate the collected N-th frame original image using a sub-high-level precision interpolation method to obtain the N-th frame interpolated target image when the third judgment result indicates that the user required resolution is greater than the third threshold;

[0050] A third N-th frame interpolated target image determining unit, configured to interpolate the collected N-th frame original image by using a medium-precision interpolation method to obtain the N-th frame interpolated target image when the third judgment result indicates that the user required resolution is not greater than the third threshold;

[0051] The fourth N-th frame interpolated target image determining unit is used to interpolate the collected N-th frame original image using a low-precision interpolation method to obtain the N-th frame interpolated target image when the second judgment result indicates that the comparison motion vector is not less than the second threshold.

[0052] Optionally, the module for determining the motion vector of the target image after interpolation of the Nth frame specifically includes:

[0053] A reference frame image and a target frame image acquisition unit, used to acquire a reference frame image and a target frame image; the reference frame image is a specified frame image; the target frame image is a target image after the Nth frame interpolation;

[0054] A predicted motion vector calculation unit, used for calculating a predicted motion vector according to the motion vector of the target image after interpolation of the first N-1 frames;

[0055] A reference block determination unit, configured to determine a reference search area in the reference frame image according to the predicted motion vector, and determine a reference block in the reference search area;

[0056] an interpolation target block determination unit, configured to determine a target search area in the target frame image according to the predicted motion vector, and determine a plurality of interpolation target blocks in the target search area; the plurality of interpolation target blocks include a central interpolation target block and a plurality of edge interpolation target blocks adjacent to the central interpolation target block;

[0057] an optimal interpolation target block determining unit, configured to compare the interpolation target block with the reference block respectively, determine the interpolation target block most similar to the reference block, and determine the interpolation target block most similar to the reference block as the optimal interpolation target block;

[0058] A relative distance vector calculation unit, used for calculating the relative distance vector between the optimal interpolation target block and the central interpolation target block;

[0059] The N-th frame interpolated target image motion vector determining unit is used to superimpose the predicted motion vector and the relative distance vector to determine the motion vector of the N-th frame interpolated target image.

[0060] According to the specific embodiments provided by the present invention, the present invention discloses the following technical effects:

[0061] The present invention provides a method and system for adaptively adjusting sub-pixel precision in optical navigation, which mainly includes obtaining the motion vector of the target image after interpolation of the first N-1 frames, and calculating the comparison motion vector based on the motion vector of the target image after interpolation of the first N-1 frames; then comparing the comparison motion vector with the first threshold and the second threshold, selecting a suitable precision interpolation method to interpolate the collected N-th frame original image to obtain the N-th frame interpolated target image; finally, performing motion estimation on the N-th frame interpolated target image to determine the motion vector of the N-th frame interpolated target image; wherein the first threshold and the second threshold are determined according to the sampling rate / system output speed. The method or system provided by the present invention can adjust the sub-pixel interpolation precision on the basis of meeting the sampling rate / system output speed requirements to meet the high-precision positioning requirements of optoelectronic navigation. BRIEF DESCRIPTION OF THE DRAWINGS

[0062] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0063] Figure 1 This is a schematic diagram of explaining the terms in the embodiment of the present invention;

[0064] Figure 2 Schematic diagram of the process of the sub-pixel precision adaptive adjustment method in optical navigation according to an embodiment of the present invention;

[0065] Figure 3 This is a schematic diagram of the principle of the interpolation method of an embodiment of the present invention;

[0066] Figure 4 This is a diagram showing the correspondence between the resolution and the interpolation method in an embodiment of the present invention;

[0067] Figure 5 This is a schematic diagram of the structure of a sub-pixel precision adaptive adjustment system in optical navigation according to an embodiment of the present invention;

[0068] Figure 6 Schematic diagram of the overall process of the method for adaptively adjusting sub-pixel precision in optical navigation according to an embodiment of the present invention. DETAILED DESCRIPTION

[0069] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0070] At present, there are defects such as high interpolation accuracy, high computational cost, long time, low sampling rate, which may result in a small overlap interval between the reference frame and the target frame or no overlap interval, and inability to correctly locate. There are also defects such as low interpolation accuracy, large error, and positioning, but insufficient accuracy (details). Based on this, the present invention provides a method and system for adaptively adjusting sub-pixel accuracy in optical navigation.

[0071] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0072] The core idea of ​​the present invention is: when the optoelectronic navigation system moves quickly, the interpolation accuracy needs to be reduced, the computing efficiency needs to be improved, and the computing time needs to be saved to ensure the sampling rate, so that the overlapping interval between the reference frame and the target frame is large enough to meet the motion estimation requirements (can be tracked); when the optoelectronic navigation system moves slowly, the overlapping interval between the reference frame and the target frame can be guaranteed, so higher details can be pursued, and the sub-pixel interpolation accuracy needs to be improved.

[0073] The terminology to which the present invention is applied is explained as follows Figure 1 shown.

[0074] Embodiment 1

[0075] like Figure 2 As shown, the method for adaptively adjusting sub-pixel precision in optical navigation provided by this embodiment includes the following steps.

[0076] Step 101: obtaining a motion vector of a target image after interpolation of the first N-1 frames, and calculating a comparison motion vector according to the motion vector of the target image after interpolation of the first N-1 frames.

[0077] The comparison motion vector may be a mean vector of motion vectors of the target image after interpolation of the first N-1 frames, or may be other functional relationships.

[0078] Step 102: Determine whether the comparison motion vector is less than a first threshold value, and obtain a first judgment result; if the first judgment result indicates that the comparison motion vector is less than the first threshold value, execute step 103; if the first judgment result indicates that the comparison motion vector is not less than the first threshold value, execute step 104.

[0079] Step 103: interpolate the collected N-th frame original image using a high-precision interpolation method to obtain the N-th frame interpolated target image.

[0080] When the compared motion vector is smaller than the first threshold, the photoelectric navigation system moves slowly and has a longer time available for calculation, so a high level of precision can be used for interpolation, that is, a high-level precision interpolation method can be used for interpolation.

[0081] About interpolation description: In the original image, interpolation is performed between any two pixels.

[0082] Note on interpolation accuracy: The higher the interpolation accuracy, the larger the amount of interpolation data.

[0083] First, let me introduce that this embodiment includes four interpolation methods, namely, a high-precision interpolation method, a sub-high-precision interpolation method, a medium-precision interpolation method, and a low-precision interpolation method. Figure 3 shown.

[0084] The high-precision interpolation method is to insert 15 pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation ( Figure 3 Not shown), also known as 1 / 16 precision interpolation method.

[0085] The second-highest precision interpolation method is to insert 7 pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation, which is also called 1 / 8 precision interpolation method.

[0086] The medium-precision interpolation method is to insert three pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation. It is also called the 1 / 4 precision interpolation method.

[0087] The low-precision interpolation method is to insert one pixel between any two pixels, and the distances between adjacent pixels are equal after interpolation, which is also called the 1 / 2 precision interpolation method.

[0088] Taking the 1 / 4 precision interpolation method as an example, pixel 16 (the pixel with a dark circle in the figure) is the base point, and 1 / 4 is the step. Three pixels are generated between pixel 16 and pixel 64, so that Figure 3 The 5 pixels in the third row are equidistant, with a distance of 1 / 4 pixel, which can be called 1 / 4 precision interpolation. Similarly, interpolation maps of different precision levels can be obtained.

[0089] Interpolation method: This embodiment adopts the interpolation method with distance as weight. Take the 1 / 4 precision interpolation method as an example: pixel 28 is pixel 16*(7 / 8)+pixel 64*(1 / 8), that is, pixel 16 is one-quarter pixel away from pixel 28, accounting for 3 / 4 of the weight, while pixel 64 is three-quarter pixel away from pixel 28, accounting for 1 / 4 of the weight. Other interpolation pixels can be obtained by analogy.

[0090] Step 104: Determine whether the comparison motion vector is less than a second threshold value, and obtain a second judgment result; if the second judgment result indicates that the comparison motion vector is less than the second threshold value, execute step 105; if the second judgment result indicates that the comparison motion vector is not less than the second threshold value, execute step 106.

[0091] Step 105: interpolate the collected N-th frame original image using a sub-high-precision interpolation method / intermediate-precision interpolation method to obtain the N-th frame interpolated target image.

[0092] When the compared motion vector is smaller than the second threshold, the optoelectronic navigation system moves at a medium speed and does not have enough time to process high-level precision interpolation operations, but can process sub-high-level precision interpolation operations, that is, use sub-high-level precision interpolation to interpolate the captured Nth frame of the original image.

[0093] This step can be further refined to select different levels of interpolation accuracy according to application requirements. When the resolution requirement is low, step 1052 is executed, otherwise step 1053 is executed. (If not refined, this process may not be included).

[0094] Take the mouse as an example. If the mouse has a low DPI (Dotperinch, resolution or dots per inch) when operating the cursor on a large screen, the user needs a very large table to move the cursor from the left side of the screen to the right side of the screen. To solve this problem, the developer multiplied the actual output vector by, for example, x8, so that the original output vector (2, 5) becomes (16, 40), and the user can move from the left side of the screen to the right side on a small mouse pad.

[0095] But there is a problem with multiplication, because it uses integer pixels (original image) for motion estimation (integer pixel motion estimation is similar to sub-pixel motion estimation, but there is no need for interpolation, and the motion vector is calculated using the original image), so the calculated motion vector uses the distance between integer pixels as a motion unit, and there is no intermediate value. Therefore, after x8, only the pixel points on the screen that are multiples of 8 can be clicked by the cursor, and other points cannot be touched.

[0096] In view of this, sub-pixel motion estimation is required, and floating-point displacement can be calculated. For example, the minimum displacement calculated by the interpolated image with 1 / 8 precision is 1 / 8 of the distance of a pixel. If the floating-point displacement is (2.125, 5.125), then after x8, (17, 41) can be obtained; based on this calculation, all pixel positions on the screen can be covered.

[0097] In summary, high-resolution DPI requirements require higher interpolation accuracy.

[0098] Specifically, step 1051: determine whether the user required resolution is greater than a third threshold, and obtain a third determination result. If the third determination result indicates that the user required resolution is greater than the third threshold, then execute step 1052; otherwise, execute step 1053.

[0099] Step 1052: interpolate the collected N-th frame original image using a sub-high-precision interpolation method to obtain the N-th frame interpolated target image.

[0100] For example, if 1 / 16 precision is the highest level of interpolation, then for some reason (such as timing failure), high-precision interpolation cannot be achieved, then the next best option is to use 1 / 8 times the highest level of interpolation, that is, the second-highest precision interpolation method. The second-highest level is relative to the highest level of precision, and there is no specific standard. You can also refer to this embodiment Figure 4 Standards shown.

[0101] Step 1053: interpolate the collected N-th frame original image using a medium-precision interpolation method to obtain the N-th frame interpolated target image.

[0102] Step 106: interpolate the collected N-th frame original image using a low-precision interpolation method to obtain the N-th frame interpolated target image.

[0103] When the motion speed is high, in order to ensure the calculation time of the whole pixel motion, the sub-pixel interpolation accuracy can only be reduced.

[0104] Step 107: performing motion estimation on the target image after interpolation of the Nth frame to determine a motion vector of the target image after interpolation of the Nth frame.

[0105] Different design ideas and methods are different. This step only explains the application of interpolation accuracy in motion estimation.

[0106] Motion estimation: Estimate the relative displacement (i.e. motion vector) between two frames of images through image correlation (optimal matching). Specifically includes:

[0107] A reference frame image and a target frame image are obtained; the reference frame image is a specified frame image; and the target frame image is the target image after the Nth frame interpolation.

[0108] The predicted motion vector is calculated according to the motion vector of the target image after interpolation of the first N-1 frames. The predicted motion vector may be a mean vector of the motion vectors of the target image after interpolation of the first N-1 frames, or may be other functional relationships.

[0109] According to the predicted motion vector, a reference search area is determined in the reference frame image, and a reference block is determined in the reference search area.

[0110] A target search area is determined in the target frame image according to the predicted motion vector, and a plurality of interpolation target blocks are determined in the target search area; in this embodiment, 9 interpolation target blocks are determined, and the 9 interpolation target blocks are all interpolated target blocks, 1 central interpolation target block and 8 interpolation target blocks adjacent to the central interpolation target block.

[0111] Compare the reference block (interpolation or not is optional) with the above interpolation target blocks one by one, find the interpolation target block that is most similar to the reference block, that is, the best interpolation target block, and determine the relative distance vector between this best interpolation target block and the central interpolation target block.

[0112] The predicted motion vector and the relative distance vector are used to determine the motion vector of the target image after the final N-th frame interpolation, and the motion vector of the target image after the N-th frame interpolation is output. Then, the process jumps to step 101 until no new images are collected, thereby achieving real-time positioning.

[0113] In addition, the flowchart of the method for adaptively adjusting sub-pixel precision in optical navigation provided in this embodiment can also be referred to Figure 5 .

[0114] Embodiment 2

[0115] To achieve the above object, the present invention also provides a sub-pixel precision adaptive adjustment system for optical navigation, such as Figure 5 As shown, including:

[0116] The comparison motion vector calculation module 100 is used to obtain the motion vector of the target image after the previous N-1 frames are interpolated, and calculate the comparison motion vector according to the motion vector of the target image after the previous N-1 frames are interpolated.

[0117] The first judgment result determination module 200 is used to determine whether the comparison motion vector is smaller than a first threshold value to obtain a first judgment result.

[0118] The second judgment result determination module 300 is used to determine whether the comparison motion vector is less than a second threshold value when the first judgment result indicates that the comparison motion vector is not less than the first threshold value, so as to obtain a second judgment result.

[0119] The Nth frame interpolated target image determination module 400 is used to, when the first judgment result indicates that the comparison motion vector is less than the first threshold, interpolate the collected Nth frame original image using a high-precision interpolation method to obtain the Nth frame interpolated target image, or when the second judgment result indicates that the comparison motion vector is less than the second threshold, interpolate the collected Nth frame original image using a sub-high-precision interpolation method / intermediate-precision interpolation method to obtain the Nth frame interpolated target image, or when the second judgment result indicates that the comparison motion vector is not less than the second threshold, interpolate the collected Nth frame original image using a low-precision interpolation method to obtain the Nth frame interpolated target image.

[0120] The N-th frame interpolated target image motion vector determination module 500 is used to perform motion estimation on the N-th frame interpolated target image to determine the motion vector of the N-th frame interpolated target image.

[0121] The comparison motion vector calculation module 100 specifically includes:

[0122] The acquisition unit is used to acquire the motion vector of the target image after interpolation of the previous N-1 frames.

[0123] The comparison motion vector calculation unit is used to calculate the mean vector of the motion vectors of the target image after interpolation of the first N-1 frames; the mean vector is the comparison motion vector.

[0124] The high-precision interpolation method is to insert 15 pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation.

[0125] The sub-high-precision interpolation method is to insert 7 pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation.

[0126] The intermediate precision interpolation method is to insert three pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation.

[0127] The low-precision interpolation method is to insert one pixel point between any two pixel points, and the distances between adjacent pixel points are equal after interpolation.

[0128] The N-th frame interpolated target image determination module 400 specifically includes:

[0129] The first N-th frame interpolated target image determining unit is used to interpolate the collected N-th frame original image using a high-precision interpolation method to obtain the N-th frame interpolated target image when the first judgment result indicates that the comparison motion vector is less than the first threshold.

[0130] The third judgment result determining unit is used to determine the user required resolution and determine whether the user required resolution is greater than a third threshold to obtain a third judgment result.

[0131] The second N-th frame interpolated target image determination unit is used to interpolate the collected N-th frame original image using a sub-high-level precision interpolation method to obtain the N-th frame interpolated target image when the third judgment result indicates that the user required resolution is greater than the third threshold.

[0132] The third N-th frame interpolated target image determination unit is used to interpolate the collected N-th frame original image using a medium-precision interpolation method to obtain the N-th frame interpolated target image when the third judgment result indicates that the user required resolution is not greater than the third threshold.

[0133] The fourth N-th frame interpolated target image determining unit is used to interpolate the collected N-th frame original image using a low-precision interpolation method to obtain the N-th frame interpolated target image when the second judgment result indicates that the comparison motion vector is not less than the second threshold.

[0134] The N-th frame interpolated target image motion vector determination module 500 specifically includes:

[0135] The reference frame image and target frame image acquisition unit is used to acquire the reference frame image and the target frame image; the reference frame image is a specified frame image; the target frame image is the target image after the Nth frame interpolation.

[0136] The predicted motion vector calculation unit is used to calculate the predicted motion vector according to the motion vector of the target image after interpolation of the previous N-1 frames.

[0137] The reference block determination unit is used to determine a reference search area in the reference frame image according to the predicted motion vector, and determine a reference block in the reference search area.

[0138] An interpolation target block determination unit is used to determine a target search area in the target frame image according to the predicted motion vector, and determine multiple interpolation target blocks in the target search area; the multiple interpolation target blocks include one central interpolation target block and multiple edge interpolation target blocks adjacent to the central interpolation target block.

[0139] The optimal interpolation target block determination unit is used to compare the interpolation target block with the reference block respectively, determine the interpolation target block most similar to the reference block, and determine the interpolation target block most similar to the reference block as the optimal interpolation target block.

[0140] The relative distance vector calculation unit is used to calculate the relative distance vector between the optimal interpolation target block and the central interpolation target block.

[0141] The N-th frame interpolated target image motion vector determining unit is used to superimpose the predicted motion vector and the relative distance vector to determine the motion vector of the N-th frame interpolated target image.

[0142] Embodiment 3

[0143] Taking a mouse as an example, the technical solution protected by the present invention is explained.

[0144] like Figure 6 As shown, first initialize: when the mouse is powered on or stopped, the motion vector MV = 0. Since the device is in a static state when powered on or stopped, the motion vector MV = 0 is obtained for the first time.

[0145] The first threshold TH0 is set to 2, and the second threshold TH1 is set to 4.

[0146] The order of target image motion vectors in the first four frames is: MV3, MV2, MV1, MV.

[0147] Get the user's CPI configuration (the original 800 CPI, which is determined by the pixel-to-pixel spacing in Sesnor). Assume that the device provides 8 CPI options: 800, 1600, 2400, 3200, 4000, 4800, 5600, and 6400. The CPI set by the user is 6400 CPI (the highest resolution), which is 8 times the original CPI. That is, when the mouse moves the same physical distance, the cursor moves 8 times as much as the former.

[0148] Secondly, precision interpolation: the user uses the mouse slowly (such as mechanical drawing). Assume that the physical speeds of the mouse for the previous 4 times are MV3=0, MV2=1 / 8, MV1=2 / 8, and MV=3 / 8. Cursor displacement under 6400CPI (8 times): 0, 1, 2, 3; if the data is continuous, the cursor can reach every point on the desktop, and the minimum recognition distance of the cursor is 1 screen point.

[0149] At this time, compare the motion vector cMV = (MV + MV1 + MV2 + MV3) / 4 = 3 / 16. Since cMV < TH0, the Sensor core has enough time to process the 1 / 8 interpolation accuracy. Therefore, the high-precision interpolation method is adopted to obtain the precise positioning (the minimum cursor recognition distance is 1 screen point) under the high-resolution requirement (6400 CPI). The high-precision interpolation method here is the 1 / 8 precision interpolation method.

[0150] When the mouse compares the motion vector cMV > TH0 and cMV < TH1, if the highest interpolation data is used, it will affect the completion of the mouse core data processing. Therefore, the interpolation accuracy is forced to be reduced:

[0151] 1). Considering the high resolution requirement (6400 CPI in this embodiment), the sub-high-precision interpolation method is adopted, that is, the 1 / 4 interpolation accuracy. Assume that the last 4 physical movements are 9 / 4, 10 / 4, 11 / 4, 12 / 4. Then the displacement at the resolution of 6400 CPI is (8 times): 18, 20, 22, 24. Then the odd points are missing, the positioning accuracy decreases, the minimum cursor recognition distance is 2 screen points, and the odd points cannot be covered during the movement. The sub-high-precision interpolation method here is the 1 / 4 precision interpolation method.

[0152] 2). If the resolution requirement is not high (such as 1600 CPI), the medium / low-precision interpolation method is adopted, such as the 1 / 2 interpolation accuracy. Assume that the last 4 physical speeds are 5 / 2, 6 / 2, 7 / 2, 8 / 2. Then the movement at the resolution of 1600 CPI is (2 times): 5, 6, 7, 8. The data is continuous, the minimum cursor recognition distance is 1 screen point, and all points can be covered during the movement. The medium / low-precision interpolation method here is the 1 / 2 precision interpolation method.

[0153] When the mouse cMV > TH1, even if a high CPI requirement (such as 6400 CPI) is set, due to the limited kernel processing time, the low interpolation accuracy is forced to be adopted. In this example, it is the 1 / 2 interpolation accuracy, which is the same as described above. The accuracy is lost during the movement, and the degree of loss is greater. The low-precision interpolation method here is the 1 / 2 precision interpolation method.

[0154] Finally, motion estimation is performed on the interpolated target image of the 5th frame to determine the motion vector of the interpolated target image of the 5th frame.

[0155] In the optoelectronic navigation system, at low speed, the target moves slowly, and there is no need to worry about the target disappearing quickly in the image. Therefore, a low image sampling rate can be used. Then the Sensor core has sufficient time for data processing, including high-precision interpolation data. At high speed, the situation is reversed. The core does not have enough time to process high-complexity data. Therefore, the high-precision interpolation method should not be adopted.

[0156] When pointer devices move at high speed, the movement span within each core processing cycle is very large, and users do not care too much about the lack of intermediate points. However, when the pointer (cursor) approaches the target, the pointer device will gradually slow down (although some people have very fast hand speeds, this process still exists). At this time, high precision can make the pointer position accurate and eventually reach the target point.

[0157] Based on this, the present invention exchanges accuracy for time at high speed so that the kernel can complete data processing; at low speed, there is enough time and the kernel can complete complex data processing to ensure the highest accuracy quality, and adjust the sub-pixel interpolation accuracy on the basis of meeting the sampling rate / system output speed requirements to meet the high-precision positioning needs of optoelectronic navigation.

[0158] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the system disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0159] The principles and implementation methods of the present invention are described in this article using specific examples. The description of the above embodiments is only used to help understand the method and core idea of ​​the present invention. At the same time, for those skilled in the art, according to the idea of ​​the present invention, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting the present invention.

Claims

1. A method for adaptively adjusting sub-pixel precision in optical navigation, characterized in that: include: Obtaining a motion vector of a target image after interpolation of the first N-1 frames, and calculating a comparison motion vector based on the motion vector of the target image after interpolation of the first N-1 frames; Determine whether the compared motion vector is less than a first threshold, and obtain a first determination result; If the first judgment result indicates that the compared motion vector is less than the first threshold, a high-precision interpolation method is used to interpolate the acquired N-th frame original image to obtain the N-th frame interpolated target image; If the first judgment result indicates that the comparison motion vector is not less than the first threshold, then judging whether the comparison motion vector is less than a second threshold to obtain a second judgment result; If the second judgment result indicates that the compared motion vector is less than the second threshold, interpolating the acquired N-th frame original image by using a sub-high-precision interpolation method / an intermediate-precision interpolation method to obtain an N-th frame interpolated target image; If the second judgment result indicates that the compared motion vector is not less than the second threshold, a low-precision interpolation method is used to interpolate the acquired N-th frame original image to obtain an N-th frame interpolated target image; Performing motion estimation on the target image after interpolation of the Nth frame to determine a motion vector of the target image after interpolation of the Nth frame; The calculating and comparing motion vectors according to the motion vectors of the target image after interpolation of the first N-1 frames specifically includes: The mean vector of the motion vectors of the target image after interpolation of the first N-1 frames is calculated; the mean vector is the comparison motion vector.

2. The method for adaptively adjusting sub-pixel precision in optical navigation according to claim 1, characterized in that: The high-precision interpolation method is to insert 15 pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation; The second-highest precision interpolation method is to insert 7 pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation; The intermediate precision interpolation method is to insert three pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation; The low-precision interpolation method is to insert one pixel point between any two pixel points, and the distances between adjacent pixel points are equal after interpolation.

3. The method for adaptively adjusting sub-pixel precision in optical navigation according to claim 1, characterized in that: The method of interpolating the collected N-th frame original image by using the sub-high-precision interpolation method / intermediate-precision interpolation method to obtain the N-th frame interpolated target image specifically includes: Determine the user required resolution, and determine whether the user required resolution is greater than a third threshold, to obtain a third determination result; If the third judgment result indicates that the user required resolution is greater than the third threshold, the Nth frame of the acquired original image is interpolated using a sub-high-precision interpolation method to obtain the Nth frame of the interpolated target image; If the third judgment result indicates that the user required resolution is not greater than the third threshold, the collected N-th frame original image is interpolated using a medium-precision interpolation method to obtain the N-th frame interpolated target image.

4. The method for adaptively adjusting sub-pixel precision in optical navigation according to claim 1, characterized in that: The performing motion estimation on the interpolated target image of the Nth frame to determine the motion vector of the interpolated target image of the Nth frame specifically includes: Acquire a reference frame image and a target frame image; the reference frame image is a specified frame image; the target frame image is the target image after the Nth frame interpolation; Calculate a predicted motion vector according to the motion vector of the target image after interpolation of the first N-1 frames; Determine a reference search area in the reference frame image according to the predicted motion vector, and determine a reference block in the reference search area; Determine a target search area in the target frame image according to the predicted motion vector, and determine a plurality of interpolation target blocks in the target search area; the plurality of interpolation target blocks include a central interpolation target block and a plurality of edge interpolation target blocks adjacent to the central interpolation target block; Comparing the interpolation target block with the reference block respectively, determining the interpolation target block most similar to the reference block, and determining the interpolation target block most similar to the reference block as the optimal interpolation target block; Calculating a relative distance vector between the optimal interpolation target block and the central interpolation target block; The predicted motion vector is superimposed on the relative distance vector to determine the motion vector of the target image after the Nth frame interpolation.

5. A sub-pixel precision adaptive adjustment system for optical navigation, characterized in that: include: A comparative motion vector calculation module is used to obtain the motion vector of the target image after the interpolation of the first N-1 frames, and calculate the comparative motion vector according to the motion vector of the target image after the interpolation of the first N-1 frames; A first judgment result determination module, used to determine whether the comparison motion vector is less than a first threshold value, and obtain a first judgment result; A second judgment result determination module, configured to determine whether the compared motion vector is less than a second threshold value when the first judgment result indicates that the compared motion vector is not less than the first threshold value, so as to obtain a second judgment result; The Nth frame interpolation target image determination module is used to, when the first judgment result indicates that the comparison motion vector is less than the first threshold, interpolate the collected Nth frame original image by a high-precision interpolation method to obtain the Nth frame interpolation target image, or when the second judgment result indicates that the comparison motion vector is less than the second threshold, interpolate the collected Nth frame original image by a sub-high-precision interpolation method / intermediate-precision interpolation method to obtain the Nth frame interpolation target image, or when the second judgment result indicates that the comparison motion vector is not less than the second threshold, interpolate the collected Nth frame original image by a low-precision interpolation method to obtain the Nth frame interpolation target image; A motion vector determination module for the target image after interpolation of the Nth frame, used for performing motion estimation on the target image after interpolation of the Nth frame, and determining the motion vector of the target image after interpolation of the Nth frame; The comparative motion vector calculation module specifically includes: An acquisition unit, used for acquiring a motion vector of a target image after interpolation of the first N-1 frames; The comparison motion vector calculation unit is used to calculate the mean vector of the motion vectors of the target image after interpolation of the first N-1 frames; the mean vector is the comparison motion vector.

6. The sub-pixel precision adaptive adjustment system for optical navigation according to claim 5, characterized in that: The high-precision interpolation method is to insert 15 pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation; The second-highest precision interpolation method is to insert 7 pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation; The intermediate precision interpolation method is to insert three pixels between any two pixels, and the distances between adjacent pixels are equal after interpolation; The low-precision interpolation method is to insert one pixel point between any two pixel points, and the distances between adjacent pixel points are equal after interpolation.

7. The sub-pixel precision adaptive adjustment system for optical navigation according to claim 5, characterized in that: The Nth frame interpolation target image determination module specifically includes: a first N-th frame interpolated target image determining unit, configured to interpolate the acquired N-th frame original image using a high-precision interpolation method to obtain the N-th frame interpolated target image when the first judgment result indicates that the comparison motion vector is less than the first threshold; A third judgment result determining unit, used to determine the user required resolution, and determine whether the user required resolution is greater than a third threshold, to obtain a third judgment result; A second N-th frame interpolated target image determining unit, configured to interpolate the collected N-th frame original image using a sub-high-level precision interpolation method to obtain the N-th frame interpolated target image when the third judgment result indicates that the user required resolution is greater than the third threshold; A third N-th frame interpolated target image determining unit, configured to interpolate the collected N-th frame original image by using a medium-precision interpolation method to obtain the N-th frame interpolated target image when the third judgment result indicates that the user required resolution is not greater than the third threshold; The fourth N-th frame interpolated target image determining unit is used to interpolate the collected N-th frame original image using a low-precision interpolation method to obtain the N-th frame interpolated target image when the second judgment result indicates that the comparison motion vector is not less than the second threshold.

8. The sub-pixel precision adaptive adjustment system for optical navigation according to claim 5, characterized in that: The N-th frame interpolation target image motion vector determination module specifically includes: A reference frame image and a target frame image acquisition unit, used to acquire a reference frame image and a target frame image; the reference frame image is a specified frame image; the target frame image is a target image after the Nth frame interpolation; A predicted motion vector calculation unit, used for calculating a predicted motion vector according to the motion vector of the target image after interpolation of the first N-1 frames; A reference block determination unit, configured to determine a reference search area in the reference frame image according to the predicted motion vector, and determine a reference block in the reference search area; an interpolation target block determination unit, configured to determine a target search area in the target frame image according to the predicted motion vector, and determine a plurality of interpolation target blocks in the target search area; the plurality of interpolation target blocks include a central interpolation target block and a plurality of edge interpolation target blocks adjacent to the central interpolation target block; an optimal interpolation target block determining unit, configured to compare the interpolation target block with the reference block respectively, determine the interpolation target block most similar to the reference block, and determine the interpolation target block most similar to the reference block as the optimal interpolation target block; A relative distance vector calculation unit, used for calculating the relative distance vector between the optimal interpolation target block and the central interpolation target block; The N-th frame interpolated target image motion vector determining unit is used to superimpose the predicted motion vector and the relative distance vector to determine the motion vector of the N-th frame interpolated target image.

Citation Information

Patent Citations

  • Interpolated frame acquisition method and device in video frame rate conversion

    CN102123283A

  • Interpolation frame generating method applied to up-conversion of video frame rate

    CN103702128A

  • Techniques for frame repetition control in frame rate up-conversion

    CN105874783A

  • Image encoding method based on interpolation processing

    CN109618167A

  • Method for frame interpolation

    KR1020120129504A