WO2019084801A1 - 运动估计方法和装置 - Google Patents

运动估计方法和装置 Download PDF

Info

Publication number
WO2019084801A1
WO2019084801A1 PCT/CN2017/108677 CN2017108677W WO2019084801A1 WO 2019084801 A1 WO2019084801 A1 WO 2019084801A1 CN 2017108677 W CN2017108677 W CN 2017108677W WO 2019084801 A1 WO2019084801 A1 WO 2019084801A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
image
motion vector
current
reference frame
Prior art date
Application number
PCT/CN2017/108677
Other languages
English (en)
French (fr)
Inventor
苏文艺
赵亮
朱磊
Original Assignee
深圳市大疆创新科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to CN201780013529.9A priority Critical patent/CN108702512B/zh
Priority to PCT/CN2017/108677 priority patent/WO2019084801A1/zh
Publication of WO2019084801A1 publication Critical patent/WO2019084801A1/zh
Priority to US16/738,253 priority patent/US11019356B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation

Definitions

  • the present application relates to the field of image processing, and more particularly to a motion estimation method and apparatus.
  • motion estimation is an important technology.
  • the accuracy of motion estimation directly affects the final effect of these image processing algorithms.
  • video resolution continues to increase. If the motion of the video sequence is severe, the magnitude of the motion vector is inevitably increased when motion is estimated.
  • a large search area is a necessary guarantee for efficient compression of large resolution video.
  • the present application provides a motion estimation method and apparatus, which can reduce the complexity of motion estimation with reference to global motion vectors.
  • a motion estimation method may include: determining, according to a current frame and a current reference frame, a global motion vector of the current frame relative to the current reference frame; according to the global motion vector, The target frame performs motion estimation.
  • a motion estimation apparatus configured to include: a first determining module, configured to determine a global motion vector of the current frame relative to the current reference frame according to a current frame and a current reference frame; And a module, configured to perform motion estimation on the target frame according to the global motion vector determined by the first determining module.
  • a motion estimation apparatus comprising a processor and a memory, the memory for storing instructions, when the processor executes the instructions stored by the memory, causing the motion estimation apparatus to perform the first The method described in the aspects.
  • a computer storage medium having stored thereon instructions that, when executed on a computing device, cause the computing device to perform the method of the first aspect.
  • a computing device comprising the motion estimation device of the second aspect or the third aspect.
  • the motion estimation method and apparatus of the first aspect to the fifth aspect pre-calculating a global motion vector, that is, an overall offset of the current frame relative to the current reference frame, so that the global motion vector can be referred to when estimating the target frame motion of the motion estimation. Thereby reducing the overall complexity of motion estimation.
  • a motion estimation method may include: determining, according to a partial image of a current frame and a current reference frame, a global motion vector of a partial image of the current frame relative to the current reference frame; The global motion vector is described, and motion estimation is performed on a part of the image of the target frame.
  • a motion estimation apparatus may include: a first determining module, configured to determine, according to a partial image of a current frame and a current reference frame, a partial image of the current frame relative to the current reference frame a global motion vector; an estimation module, configured to perform motion estimation on a partial image of the target frame according to the global motion vector determined by the first determining module.
  • a motion estimation apparatus comprising a processor and a memory, the memory for storing instructions to cause the motion estimation apparatus to perform a sixth when the processor executes the memory stored instructions The method described in the aspects.
  • a computer storage medium having stored thereon instructions that, when executed on a computing device, cause the computing device to perform the method of the sixth aspect.
  • a computing device comprising the motion estimation device of the seventh aspect or the eighth aspect.
  • the motion estimation method and apparatus of the sixth aspect to the tenth aspect pre-calculating a global motion vector of the partial image of the current frame relative to the current reference frame, that is, an overall offset, so that the motion estimation is performed When estimating the partial motion of the target frame, the global motion vector can be referred to, thereby reducing the overall complexity of the motion estimation.
  • Figure 1 is a schematic diagram of motion estimation.
  • FIG. 2 is a schematic flowchart of a motion estimation method according to an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a motion estimation method according to an embodiment of the present application.
  • FIG. 4 is a schematic diagram of determining a global motion vector for an embodiment of the present application.
  • FIG. 5 is a schematic block diagram of a motion estimation apparatus according to an embodiment of the present application.
  • Figure 6 is a schematic block diagram of a motion estimation apparatus of another embodiment of the present application.
  • FIG. 7 is a schematic flowchart of a motion estimation method according to another embodiment of the present application.
  • Interframe predictive coding is an important method for reducing interframe redundancy in video coding.
  • the inter-prediction coding for the current coding block in the current frame, it is necessary to search for the best matching block (also referred to as a “reference block”) in the reference frame of the current frame (hereinafter referred to as “current reference frame”).
  • the search process is called motion estimation.
  • Figure 1 is a schematic diagram of motion estimation. As shown in FIG. 1, the current encoding block 112 in the current frame 110 searches for a reference block 122 in the current reference frame 120.
  • the encoding of the current encoding block 112 is predicted with the best matching block (reference block 122) such that the decoder only needs to know the encoder prediction residual and the offset between the current encoding block and the reference block, which is the motion Vector (Motion Vector, MV).
  • the motion Vector Motion Vector
  • the MV is:
  • the motion estimation method and apparatus of the embodiments of the present application may be applied to related technologies of image processing or video processing, for example, software or hardware video encoding, image or video time domain noise reduction, and video adaptive frame rate.
  • FIG. 2 is a schematic flowchart of a motion estimation method 10 according to an embodiment of the present application.
  • the method 10 can include the following steps. S11. Determine a global motion vector (GMV) of the current frame relative to the current reference frame according to the current frame and the current reference frame. S12: Perform motion estimation on the target frame according to the global motion vector.
  • GMV global motion vector
  • the motion estimation method of the embodiment of the present application pre-calculates the global motion vector of the current frame relative to the current reference frame, that is, the overall offset, so that when the motion estimation target frame motion is to be estimated, the global motion vector may be referred to, thereby reducing motion estimation.
  • Overall complexity
  • the current reference frame of the embodiment of the present application may include one frame or multiple frames. Where the current reference frame includes multiple frames, the current frame may have one global motion vector with respect to each of the plurality of frames, respectively.
  • the global motion vector of the current frame relative to the current reference frame may be the largest one of the plurality of global motion vectors, or may be an average of the plurality of global motion vectors, or may be a weighted average of the plurality of global motion vectors, This embodiment of the present application does not limit this.
  • the frame to be motion estimation in the embodiment of the present application may be the current frame (the frame at time t); the target frame may also be the frame after the current frame (for example, The frame at the time t+ ⁇ t), that is, the target frame is the frame of the next frame or later of the current frame; the target frame may also be the frame before the current frame (for example, the frame at the time t- ⁇ t).
  • the global motion vector after the global motion vector is calculated, it can be applied to one target frame or can be applied to multiple target frames, which is not limited in this embodiment of the present application.
  • performing motion estimation on the target frame according to the global motion vector may include: determining, according to the global motion vector, a search area of the target reference frame corresponding to the to-be-estimated block in the target frame; In the process of estimating the motion of the estimated block.
  • the embodiment of the present application may refer to other global motion vectors in addition to the global motion vector of the current frame relative to the current reference frame.
  • the global motion vector of the frame at time t and the global motion vector of the frame at time t- ⁇ t, the global motion vector of the frame at time t, and the global motion vector of the frame at time t-2 ⁇ t, t- ⁇ The global motion vector of the frame at the time t and the global motion vector of the frame at the time t-2 ⁇ t or the global motion vector of the other frames of the other frame are not limited in this embodiment of the present application.
  • FIG. 3 is a schematic diagram of a motion estimation method according to an embodiment of the present application.
  • FIG. 3 illustrates an example of a reference frame (target reference frame 220) corresponding to the target frame 210 and the target frame 210.
  • the target frame 210 and the target reference frame 220 may be divided into a plurality of blocks in the same division manner, wherein the to-be-estimated block in the target frame 210 is the block 212 as shown in FIG.
  • the search region in the target reference frame 220 at the time of motion estimation is a region 224 centered at the corresponding block 222 in the target reference frame 220 with block 212.
  • the search area is a region 226 that refers to the GMV, for example, the region 226 after the region 224 is added with the GMV (for example, after the coordinates of the pixel in the upper left corner of the region 224 plus the GMV, the pixel in the upper left corner of the region 226 coordinate).
  • Motion estimation is performed on the estimated block in region 226 such that the probability and efficiency of finding the motion vector in the region is greatly increased, and the complexity of the motion estimation algorithm is degraded.
  • the motion vector can be obtained in a relatively small search area.
  • the embodiment of the present application may also determine the search area by using other methods based on the global motion vector, and is not limited to the above method.
  • the size of the area 226 in the target reference frame 220 may be determined according to the size of the GMV. For example, the larger the GMV, the larger the area 226; the smaller the GMV, the smaller the area 226, but the embodiment of the present application does not limit this.
  • the search area of the embodiment of the present application can be saved in a line buffer (LB) mode, and the hardware area requirement can be reduced compared with the existing solution.
  • the search area of the embodiment of the present application can also be saved in a cache mode. Compared with the existing solution, the hit rate can be increased to avoid the problem of increased read bandwidth.
  • the embodiment of the present application does not limit the saved mode.
  • the motion estimation method of the embodiment of the present application is not only applied to calculate a global motion vector according to the entire frame, but also divides the frame into several sub-images, and calculates a global motion vector of each sub-image.
  • the global motion vector of the embodiment of the present application may be a global motion vector of the sub-image segmented by the current frame according to a preset rule.
  • FIG. 4 is a schematic diagram of determining a global motion vector according to an embodiment of the present application.
  • the motion estimation method of the embodiment of the present application may further include: downsampling an original image of a current frame to obtain a downsampled image of a current frame; and determining a downsampled image of a current reference frame corresponding to the current frame; The downsampled image of the current frame and the downsampled image of the current reference frame determine the current frame The original image is relative to the global motion vector of the original image of the current reference frame.
  • the calculation of the global motion vector can be obtained according to the low resolution map.
  • embodiments of the present application may calculate a global motion vector based on a downsampled image of a current frame and a downsampled image of a current reference frame.
  • the embodiment of the present application may also use the original image to calculate the global motion vector without using the downsampled image, which is not limited by the embodiment of the present application.
  • the downsampled image may be obtained by using a classic first low pass filtering and then downsampling, or the downsampled image may be obtained by direct averaging, and the downsampling image may be obtained by using other downsampling algorithms.
  • the following is a specific example to illustrate the process of downsampling the original image of the current frame to obtain a downsampled image of the current frame.
  • the original image of the current frame is downsampled by 8 times in the horizontal direction and the vertical direction, and the LB data to be saved in the downsampled image is only 1/64 of the original image.
  • d i,j denote the data at the coordinates (i,j) of the downsampled image
  • S k,l denote the data at the coordinates (k,l) of the original image
  • the original image of the current reference frame can be downsampled to obtain a downsampled image of the current reference frame.
  • the downsampled image of the current frame (the frame at time t) can be used as the downsampled image of the reference frame of the frame at time t+ ⁇ t
  • the downsampled image of the current frame (the frame at time t) can be saved in the double data.
  • Rate Synchronous Dynamic Random Access Memory (DDR SDRAM) is used as reference data for the next frame global motion vector calculation.
  • determining the global motion vector of the original image of the current frame relative to the original image of the current reference frame according to the downsampled image of the current frame and the downsampled image of the current reference frame may include: from the downsampled image of the current frame Determining at least one target block, calculating a motion vector of each target block relative to a downsampled image of the current reference frame; determining, according to the at least one motion vector, a global motion vector of the original image of the current frame relative to the original image of the current reference frame.
  • the target block may be selected from the downsampled image of the current frame by a preset selection rule, and the motion vector of the downsampled image relative to the current reference frame is calculated for each target block, and finally the original image of the current frame is obtained.
  • the global motion vector of the original image of the current reference frame may be selected from the downsampled image of the current frame by a preset selection rule, and the motion vector of the downsampled image relative to the current reference frame is calculated for each target block, and finally the original image of the current frame is obtained.
  • the global motion vector of the original image of the current reference frame may be selected from the downsampled image of the current frame by a preset selection rule, and the motion vector of the downsampled image relative to the current reference frame is calculated for each target block, and finally the original image of the current frame is obtained.
  • the global motion vector of the original image of the current reference frame may be selected from the downsampled image of the current frame by a preset selection rule, and the motion vector of the downsampled
  • the selection rule may be randomly selected or may be selected according to a preset algorithm.
  • determining at least one target block from the downsampled image of the current frame, and calculating a motion vector of each target block relative to the downsampled image of the current reference frame may include: downsampling the current frame according to a preset size Dividing into at least one target block, calculating a motion vector of each target block relative to a downsampled image of the current reference frame.
  • the downsampled image of the current frame can be divided into non-overlapping tiles, referred to as the target block ds_curr.
  • the embodiment of the present application may select the simplest full search by hardware, and the downsampled image of the current frame divides the target block by 8 ⁇ 8.
  • the embodiment of the present application may also select other existing division modes. Do not repeat them.
  • the downsampled image of the current reference frame is also divided in the same division manner, resulting in a block ds_ref.
  • calculating a motion vector of each target block relative to a downsampled image of the current reference frame may include: in a search range of a preset size in a downsampled image of the current reference frame, Searching for a matching block of the target block; calculating a motion vector of the downsampled image of the target block relative to the current reference frame based on the coordinates of the target block and the matching block.
  • the size of the search range may be equal to or different from the size of the search area for motion estimation described above, which is not limited by the embodiment of the present application.
  • the coordinates of its center are treated as (0, 0), and the coordinates of the same position of the downsampled image of the current reference frame are also regarded as (0, 0).
  • the search center in the search range of x ⁇ [-M,+M],y ⁇ [-N,+N] (size 2M*2N)
  • the motion vector of the downsampled image of the target block relative to the current reference frame is obtained.
  • the value of M and the value of M and N are not limited.
  • the global motion vector of the original image of the current frame relative to the original image of the current reference frame may be determined according to the at least one motion vector.
  • the motion vectors of all the target blocks may be statistically calculated to obtain a global motion vector of the original image of the current frame relative to the original image of the current reference frame.
  • the motion vector of the target block that meets the preset condition may also be statistically calculated to obtain a global motion vector of the original image of the current frame relative to the original image of the current reference frame.
  • the preset condition may be a condition based on pixel information.
  • the intra-activity difference value intra_activity of the target block may be calculated.
  • the intraframe difference value intra_activity is the sum of the absolute values of the difference between the pixel value of all pixels in the target block and the average pixel value dc of the target block. among them,
  • Ds_curr i,j is a pixel value abs(x) of a pixel having coordinates (i, j) as an absolute value function. It can be understood that the smaller the pixel value difference of the target block is, that is, the smaller the intra-frame difference value intra_activity is when the target block is a flat region.
  • the preset condition may include that an intra-frame difference value of the target block is greater than a first threshold, where the intra-frame difference value is a pixel value of all pixels in the target block and an average pixel value of the target block. The sum of the absolute values of the difference. If the first threshold is represented by thres_hold a , then there is
  • the first threshold thres_hold a is usually a value between 400 and 800 for the 8-bit video data.
  • the first threshold thres_hold a in the embodiment of the present application may take a value of 500.
  • the embodiment of the present application may use other algorithms to calculate the intra-frame difference value of the target block, which is not limited in this embodiment of the present application.
  • the matching error between the target block and the matching block may also be calculated as the ratio of the inter-frame difference value inter_activity to the intra-frame difference value intra_activity.
  • the matching block is a block with the smallest matching error with the target block in the downsampled image of the current reference frame.
  • the embodiment of the present application may sequentially scan all the blocks ds_ref in the search range in the downsampled image of the reference frame according to the line priority criterion, and calculate the matching error SAD of the block ds_ref and the target block ds_curr, and the candidate block with the smallest SAD is optimal.
  • the minimum SAD is the interframe difference value inter_activity
  • the offset of the optimally matched block ds_ref with respect to the target block ds_curr is the motion vector mv_best of the target block ds_curr. among them,
  • the preset condition may include that a ratio of a matching error of the target block and the matching block to an intra-frame difference value is less than a second threshold. If the second threshold is expressed by ⁇ , then there is
  • the second threshold value ⁇ is usually a value between 0.5 and 2.0.
  • the second threshold value ⁇ in the embodiment of the present application may take a value of 1.0.
  • the embodiment of the present application may use other algorithms to calculate the matching error of the target block and the matching block.
  • the embodiment of the present application does not limit this.
  • the preset condition may include intra_activity>thres_hold a and inter_activity ⁇ *intra_activity, that is, the target block needs to satisfy the above two conditions at the same time, and the motion vector can be used to calculate the global motion vector.
  • the global motion vector can be obtained by averaging, and the global motion vector can be calculated in the following manner.
  • a target block that satisfies a preset condition is marked as available; for a target block that does not satisfy the preset condition, it is marked as unavailable.
  • the x-axis component of the motion vector of the valid target block is mv_best x and the y-axis component is mv_best y .
  • the global motion vector is a global motion vector with noise, denoted as gmv_noisy t , and its x-axis component is recorded as Write its y-axis component as Their values are:
  • may be the downsampling rate of the downsampling algorithm described above, for example, the ⁇ value may be 8.
  • the noisy global motion vector may be post-processed, for example, the noise-free global motion vector may be temporally denoised. Or called time filtering. That is, the global motion vector may be obtained by temporally filtering a plurality of frames with respect to global motion vectors of respective reference frames. For example, the plurality of global motion vectors with noise may be averaged or weighted, and the like, which is not limited in this embodiment of the present application. It should be understood that the multiple frames herein may include frames before the current frame and frames after the current frame, and may be two frames or more.
  • the following formula gives a global motion vector gmv using the global motion vector gmv_noisy t of the current frame and the global motion vector gmv_noisy t- ⁇ t of the previous frame of the current frame, and performs global filtering to obtain a global motion vector gmv.
  • the x-axis component is gmv x and its y-axis component is gmv y . among them,
  • W0 and w1 are denoising parameters, and typical values of w0 and w1 may take values of 3 and 1, respectively. Of course, w0 and w1 may take other values, which is not limited in the embodiment of the present application.
  • selection rules and/or different preset conditions of the embodiments of the present application may result in different computational complexity and different precision of the final determined global motion vector.
  • the selection rules and preset conditions in the above are merely examples, and are not intended to limit the embodiments of the present application.
  • FIG. 5 is a schematic block diagram of a motion estimation apparatus 400 in accordance with an embodiment of the present application.
  • the motion estimation apparatus 400 may include: a first determining module 410, configured to determine a global motion vector of a current frame relative to a current reference frame according to a current frame and a current reference frame; and an estimation module 420, configured to A global motion vector determined by the determining module 410 performs motion estimation on the target frame.
  • the motion estimation apparatus of the present application pre-calculates the global motion vector of the current frame relative to the current reference frame, that is, the overall offset, so that when the motion estimation target frame motion is to be estimated, the global motion vector can be referred to, thereby reducing the overall complexity of the motion estimation. degree.
  • the estimating module 420 performing motion estimation on the target frame according to the global motion vector may include: the estimating module 420 determining, according to the global motion vector, a search of the target reference frame corresponding to the to-be-estimated block in the target frame. The region; the estimation module 420 performs motion estimation on the block to be estimated in the search region.
  • the search area is saved in a line cache mode.
  • the search area is saved in a cache mode.
  • the target frame is the current frame or the next frame of the current frame.
  • the global motion vector is a global motion vector of the sub-image segmented by the current frame according to a preset rule.
  • the motion estimation apparatus 400 may further include: a downsampling module 430, configured to downsample the original image of the current frame to obtain a downsampled image of the current frame; and a second determining module 440, configured to: Determining a downsampled image of the current reference frame corresponding to the current frame.
  • the first determining module 410 determines the global motion vector of the current frame relative to the current reference frame according to the current frame and the current reference frame, and may include: the first determining module 410 is configured according to the down sampling.
  • the downsampled image of the current frame obtained by the module 430 and the downsampled image of the current reference frame obtained by the second determining module 440 determine a global motion vector of the original image of the current frame relative to the original image of the current reference frame.
  • the first determining module 410 determines, according to the downsampled image of the current frame and the downsampled image of the current reference frame, a global motion vector of the original image of the current frame relative to the original image of the current reference frame, where The first determining module 410 determines at least one target block from the downsampled image of the current frame, and calculates a motion vector of each target block relative to the downsampled image of the current reference frame; the first determining module 410 is configured according to the at least one motion vector. A global motion vector of the original image of the current frame relative to the original image of the current reference frame is determined.
  • the first determining module 410 calculates a motion vector of each target block relative to a downsampled image of the current reference frame, and may include: the first determining module 410 is in the downsampled image of the current reference frame. Within the search range of the preset size, the matching block of the target block is searched; the first determining module 410 calculates the motion vector of the downsampled image of the target block relative to the current reference frame according to the coordinates of the target block and the matching block.
  • the first determining module 410 determines at least one target block from the downsampled image of the current frame, and calculates a motion vector of each target block relative to the downsampled image of the current reference frame, which may include: A determining module 410 divides the downsampled image of the current frame into at least one target block according to a preset size, and calculates a motion vector of each target block relative to the downsampled image of the current reference frame.
  • the determining, by the first determining module 410, the global motion vector of the original image of the current frame relative to the original image of the current reference frame according to the at least one motion vector may include: the first determining module 410: The motion vector of the block is statistically calculated to obtain a global motion vector of the original image of the current frame relative to the original image of the current reference frame.
  • the determining, by the first determining module 410, the global motion vector of the original image of the current frame relative to the original image of the current reference frame according to the at least one motion vector may include: the first determining module 410
  • the motion vector of the conditional target block is statistically calculated to obtain a global motion vector of the original image of the current frame relative to the original image of the current reference frame, and the preset condition is based on the condition of the pixel information.
  • the preset condition includes that an intra-frame difference value of the target block is greater than a first threshold, where the intra-frame difference value is a difference between a pixel value of all pixels in the target block and an average pixel value of the target block. The sum of absolute values.
  • the preset condition further includes that a ratio of a matching error of the target block and the matching block to an intra-frame difference value is smaller than a second threshold, where the matching block is a target block in the downsampled image of the reference frame.
  • the block with the smallest matching error is the sum of the absolute values of the difference between the pixel value of all pixels in the target block and the average pixel value of the target block.
  • the global motion vector is obtained by temporally filtering a plurality of frames with respect to global motion vectors of respective reference frames.
  • FIG. 6 is a schematic block diagram of a motion estimation apparatus 500 of another embodiment of the present application. As shown in FIG. 6, motion estimation apparatus 500 includes a processor 510 and a memory 520.
  • processors mentioned in the embodiment of the present application may be a central processing unit (CPU), and may also be other general-purpose processors, digital signal processors (DSPs), and application specific integrated circuits ( Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the memory referred to in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be a read-only memory (ROM), a programmable read only memory (PROM), an erasable programmable read only memory (Erasable PROM, EPROM), or an electric Erase programmable read only memory (EEPROM) or flash memory.
  • the volatile memory can be a random access memory (Random Access Memory, RAM), which is used as an external cache.
  • RAM random access memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • Synchronous DRAM synchronous dynamic random access memory
  • SDRAM Double Data Rate SDRAM
  • ESDRAM Enhanced Synchronous Dynamic Random Access Memory
  • SLDRAM Synchronous Connection Dynamic Random Access Memory
  • DR RAM direct memory bus random access memory
  • processor is a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, the memory (storage module) is integrated in the processor.
  • memories described herein are intended to comprise, without being limited to, these and any other suitable types of memory.
  • the embodiment of the present application further provides a computer readable storage medium storing thereon instructions for storing a method 10 for causing a computer to execute the method 10 of the foregoing method embodiments when the instructions are run on a computer.
  • the embodiment of the present application further provides a computing device, which includes the above computer readable storage medium.
  • Embodiments of the present application can be applied to the field of aircraft, especially drones.
  • FIG. 7 is a schematic flowchart of a motion estimation method 20 according to another embodiment of the present application.
  • the method 20 can include the following steps. S21. Determine, according to the partial image of the current frame and the current reference frame, a global motion vector of the partial image of the current frame relative to the current reference frame. S22: Perform motion estimation on a part of the image of the target frame according to the global motion vector.
  • the motion estimation method of the embodiment of the present application pre-calculates the global motion vector, that is, the overall offset of the partial image of the current frame relative to the current reference frame, so that the global motion vector can be referred to when estimating the partial motion of the target frame to be motion estimated. , thereby reducing the overall complexity of motion estimation.
  • the motion estimation method of the foregoing solution may be performed only for the partial image of the current frame, and details are not described herein.
  • the S22 performs motion estimation on the partial image of the target frame according to the global motion vector, and may include: determining, according to the global motion vector, a search of the target reference frame corresponding to the partial image to be estimated in the target frame. Area; in the search area, the partial map to be estimated Like performing motion estimation.
  • the search area may be saved in a line cache mode.
  • the search area may be saved in a cache mode.
  • the target frame may be the current frame or the next frame of the current frame.
  • the method 22 may further include: downsampling an original image of the partial image of the current frame to obtain a downsampled image of the partial image of the current frame; and determining a down sampling of the current reference frame corresponding to the current frame. And determining, according to the partial image of the current frame and the current reference frame, the global motion vector of the partial image of the current frame relative to the current reference frame, which may include: downsampling the image according to the partial image of the current frame and down sampling of the current reference frame An image that determines a global motion vector of the original image of the partial image of the current frame relative to the original image of the current reference frame.
  • determining, according to the downsampled image of the partial image of the current frame and the downsampled image of the current reference frame, a global motion vector of the original image of the partial image of the current frame relative to the original image of the current reference frame may include: determining at least one target block from the downsampled image of the partial image of the current frame, calculating a motion vector of each target block relative to the downsampled image of the current reference frame; determining a partial image of the current frame according to the at least one motion vector The original image is relative to the global motion vector of the original image of the current reference frame.
  • calculating a motion vector of each target block relative to a downsampled image of the current reference frame may include: searching for a target within a search range of a preset size in a downsampled image of the current reference frame A matching block of the block; calculating a motion vector of the downsampled image of the target block relative to the current reference frame according to the coordinates of the target block and the matching block.
  • determining at least one target block from the downsampled image of the partial image of the current frame, and calculating a motion vector of each target block relative to the downsampled image of the current reference frame may include: following a preset The size divides the downsampled image of the partial image of the current frame into at least one target block, and calculates a motion vector of each target block relative to the downsampled image of the current reference frame.
  • determining, according to the at least one motion vector, the global motion vector of the original image of the partial image of the current frame relative to the original image of the current reference frame may include: performing statistical calculation on motion vectors of all target blocks. Obtaining a global motion vector of the original image of the partial image of the current frame relative to the original image of the current reference frame.
  • determining, according to the at least one motion vector, the global motion vector of the original image of the partial image of the current frame relative to the original image of the current reference frame may include: moving the target block that meets the preset condition.
  • the vector performs statistical calculations to obtain a partial image of the current frame.
  • the original image is relative to the global motion vector of the original image of the current reference frame, and the preset condition is based on the condition of the pixel information.
  • the preset condition may include that an intra-frame difference value of the target block is greater than a first threshold, where the intra-frame difference value is a difference between a pixel value of all pixels in the target block and an average pixel value of the target block. The sum of the absolute values.
  • the preset condition may include that a ratio of a matching error of the target block and the matching block to an intra-frame difference value is smaller than a second threshold, where the matching block is a target block in the downsampled image of the current reference frame.
  • the block with the smallest matching error is the sum of the absolute values of the difference between the pixel value of all pixels in the target block and the average pixel value of the target block.
  • the global motion vector may be obtained by temporally filtering the partial images of the plurality of frames with respect to the global motion vectors of the respective reference frames.
  • the method 20 differs from the method 10 in that a global motion vector is calculated for a partial image of the current frame rather than the entire frame of the current frame. Accordingly, the motion estimation is also performed for a partial image of the target frame.
  • the specific process details of the method 20 may be the same as or similar to the method 10, and will not be described again here.
  • the embodiment of the present application further provides another motion estimation apparatus, including: a first determining module, configured to determine, according to the partial image of the current frame and the current reference frame, a global motion vector of the partial image of the current frame relative to the current reference frame; And an estimation module, configured to perform motion estimation on a part of the image of the target frame according to the global motion vector determined by the first determining module.
  • a first determining module configured to determine, according to the partial image of the current frame and the current reference frame, a global motion vector of the partial image of the current frame relative to the current reference frame
  • an estimation module configured to perform motion estimation on a part of the image of the target frame according to the global motion vector determined by the first determining module.
  • the estimating, by the estimation module, performing motion estimation on the partial image of the target frame according to the global motion vector may include: determining, by the estimation module, the target reference corresponding to the partial image to be estimated in the target frame according to the global motion vector.
  • the search area may be saved in a line cache mode.
  • the search area may be saved in a cache mode.
  • the target frame may be the current frame or the next frame of the current frame.
  • the apparatus may further include: a downsampling module, configured to downsample the original image of the partial image of the current frame to obtain a downsampled image of the partial image of the current frame; and the second determining module uses Determining a downsampled image of the current reference frame corresponding to the current frame; the first determining module determines, according to the partial image of the current frame and the current reference frame, a global motion vector of the partial image of the current frame relative to the current reference frame, including: first determining The module is obtained according to the downsampling module A downsampled image of the partial image of the current frame and a downsampled image of the current reference frame obtained by the second determination module determine a global motion vector of the original image of the partial image of the current frame relative to the original image of the current reference frame.
  • a downsampling module configured to downsample the original image of the partial image of the current frame to obtain a downsampled image of the partial image of the current frame
  • the second determining module uses Determining
  • the first determining module determines, according to the downsampled image of the partial image of the current frame and the downsampled image of the current reference frame, the original image of the partial image of the current frame relative to the original image of the current reference frame.
  • the global motion vector may include: the first determining module determines at least one target block from the downsampled image of the partial image of the current frame, and calculates a motion vector of each target block relative to the downsampled image of the current reference frame; the first determining module A global motion vector of the original image of the partial image of the current frame relative to the original image of the current reference frame is determined based on the at least one motion vector.
  • the first determining module calculates a motion vector of each target block relative to a downsampled image of the current reference frame, and may include: a preset by the first determining module in the downsampled image of the current reference frame Within the search range of the size, the matching block of the target block is searched; the first determining module calculates the motion vector of the downsampled image of the target block relative to the current reference frame according to the coordinates of the target block and the matching block.
  • the first determining module determines at least one target block from the downsampled image of the partial image of the current frame, and calculates a motion vector of each target block relative to the downsampled image of the current reference frame, which may include The first determining module divides the downsampled image of the partial image of the current frame into at least one target block according to a preset size, and calculates a motion vector of each target block relative to the downsampled image of the current reference frame.
  • the first determining module determines, according to the at least one motion vector, a global motion vector of the original image of the partial image of the current frame relative to the original image of the current reference frame, where the first determining module may include: The motion vector of the target block is statistically calculated to obtain a global motion vector of the original image of the partial image of the current frame relative to the original image of the current reference frame.
  • the determining, by the first determining module, the global motion vector of the original image of the partial image of the current frame relative to the original image of the current reference frame according to the at least one motion vector may include: the first determining module is to be matched
  • the motion vector of the target block of the preset condition is statistically calculated to obtain a global motion vector of the original image of the partial image of the current frame relative to the original image of the current reference frame, and the preset condition is a condition based on the pixel information.
  • the preset condition may include that the intra block difference value of the target block is greater than A first threshold, wherein the intra-frame difference value is a sum of absolute values of differences between pixel values of all pixels in the target block and average pixel values of the target block.
  • the preset condition may include that a ratio of a matching error of the target block and the matching block to an intra-frame difference value is smaller than a second threshold, where the matching block is a target block in the downsampled image of the reference frame.
  • the block with the smallest matching error is the sum of the absolute values of the difference between the pixel value of all pixels in the target block and the average pixel value of the target block.
  • the global motion vector may be obtained by temporally filtering the partial images of the plurality of frames with respect to the global motion vectors of the respective reference frames.
  • the embodiment of the present application further provides a motion estimation apparatus, including a processor and a memory, where the memory is used to store an instruction, and when the processor executes the instruction stored in the memory, the motion estimation apparatus performs the method 20.
  • motion estimation apparatus of the embodiment of the present application is similar in structure to the motion estimation apparatus 400 or the motion estimation apparatus 500 described above, and details are not described herein.
  • the embodiment of the present application further provides a computer storage medium having stored thereon instructions that, when executed on a computing device, cause the computing device to perform the method 20 of the foregoing method embodiments.
  • the embodiment of the present application further provides a computing device, which includes the above computer readable storage medium.
  • Embodiments of the present application can be applied to the field of aircraft, especially drones.
  • circuits, sub-circuits, and sub-units of various embodiments of the present application is merely illustrative. Those of ordinary skill in the art will appreciate that the circuits, sub-circuits, and sub-units of the various examples described in the embodiments disclosed herein can be further separated or combined.
  • a computer program product includes one or more computer instructions.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, computer instructions can be wired from a website site, computer, server or data center (eg Coaxial cable, fiber, Digital Subscriber Line (DSL) or wireless (eg infrared, wireless, microwave, etc.) to another website, computer, server or data center lose.
  • the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a high-density digital video disc (DVD)), or a semiconductor medium (for example, a solid state disk (SSD)). )Wait.
  • a magnetic medium for example, a floppy disk, a hard disk, a magnetic tape
  • an optical medium for example, a high-density digital video disc (DVD)
  • DVD high-density digital video disc
  • SSD solid state disk
  • the size of the sequence numbers of the foregoing processes does not mean the order of execution sequence, and the order of execution of each process should be determined by its function and internal logic, and should not be applied to the embodiment of the present application.
  • the implementation process constitutes any limitation.
  • B corresponding to A means that B is associated with A, and B can be determined according to A.
  • determining B from A does not mean that B is only determined based on A, and that B can also be determined based on A and/or other information.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are only for example, the division of the unit is only a logical function division, and the actual implementation may have another division manner, for example, multiple units or components may be combined or may be integrated into another system, or some features. Can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

Abstract

一种运动估计方法和装置,该方法可以包括:根据当前帧和当前参考帧,确定所述当前帧相对于所述当前参考帧的全局运动矢量;根据所述全局运动矢量,对目标帧进行运动估计。本申请的运动估计方法和装置,预先计算当前帧相对于当前参考帧的全局运动矢量即整体偏移,使得在对待运动估计的目标帧运动估计时,可以参考全局运动矢量,从而降低运动估计的整体复杂度。

Description

运动估计方法和装置
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及图像处理领域,尤其涉及运动估计方法和装置。
背景技术
在图像处理领域,例如视频编码、图像时间域降噪和视频自适应升帧率等图像处理算法中,运动估计是一项重要技术。运动估计的精度直接影响到这些图像处理算法的最终效果。随着技术的发展,视频分辨率不断增加。如果视频序列的运动较剧烈,那么运动估计时运动矢量的大小不可避免要增大。运动估计时,大的搜索区域是大分辨率视频高效压缩的必要保证。
在行缓存(Line Buffer,LB)架构中,大的搜索区域要求静态随机存取存储器(Static Random Access Memory,SRAM)具有更高的复杂度和更高的硬件面积。在高速缓冲存储器(Cache Memory,Cache)架构中,运动矢量增大,使得Cache不命中数据的概率增大。不命中的数据需要从双倍数据速率(Double Data Rate,DDR)同步动态随机存取存储器(Synchronous Dynamic Random Access Memory,SDRAM)中读取,这就不可以避免会带来读取带宽增加的问题。
发明内容
本申请提供了一种运动估计方法和装置,参考全局运动矢量,可以降低运动估计的复杂度。
第一方面,提供了一种运动估计方法,该方法可以包括:根据当前帧和当前参考帧,确定所述当前帧相对于所述当前参考帧的全局运动矢量;根据所述全局运动矢量,对目标帧进行运动估计。
第二方面,提供了一种运动估计装置,该装置可以包括:第一确定模块,用于根据当前帧和当前参考帧,确定所述当前帧相对于所述当前参考帧的全局运动矢量;估计模块,用于根据所述第一确定模块确定的所述全局运动矢量,对目标帧进行运动估计。
第三方面,提供了一种运动估计装置,该装置可以包括处理器和存储器,所述存储器用于存储指令,当所述处理器执行所述存储器存储的指令时,使得运动估计装置执行第一方面所述的方法。
第四方面,提供了一种计算机存储介质,其上存储有指令,当所述指令在计算设备上运行时,使得所述计算设备执行第一方面所述的方法。
第五方面,提供了一种计算设备,该计算设备包括第二方面或第三方面所述的运动估计装置。
第一方面至第五方面的运动估计方法和装置,预先计算当前帧相对于当前参考帧的全局运动矢量即整体偏移,使得在对待运动估计的目标帧运动估计时,可以参考全局运动矢量,从而降低运动估计的整体复杂度。
第六方面,提供了一种运动估计方法,该方法可以包括:根据当前帧的部分图像和当前参考帧,确定所述当前帧的部分图像相对于所述当前参考帧的全局运动矢量;根据所述全局运动矢量,对目标帧的部分图像进行运动估计。
第七方面,提供了一种运动估计装置,该装置可以包括:第一确定模块,用于根据当前帧的部分图像和当前参考帧,确定所述当前帧的部分图像相对于所述当前参考帧的全局运动矢量;估计模块,用于根据所述第一确定模块确定的所述全局运动矢量,对目标帧的部分图像进行运动估计。
第八方面,提供了一种运动估计装置,该装置可以包括处理器和存储器,所述存储器用于存储指令,当所述处理器执行所述存储器存储的指令时,使得运动估计装置执行第六方面所述的方法。
第九方面,提供了一种计算机存储介质,其上存储有指令,当所述指令在计算设备上运行时,使得所述计算设备执行第六方面所述的方法。
第十方面,提供了一种计算设备,该计算设备包括第七方面或第八方面所述的运动估计装置。
第六方面至第十方面的运动估计方法和装置,预先计算当前帧的部分图像相对于当前参考帧的全局运动矢量即整体偏移,使得在对待运动估计 的目标帧的部分图像运动估计时,可以参考全局运动矢量,从而降低运动估计的整体复杂度。
附图说明
图1是运动估计的示意图。
图2是本申请一个实施例的运动估计方法的示意性流程图。
图3是本申请一个实施例的运动估计方法的示意图。
图4是本申请一个实施例的确定全局运动矢量的示意图。
图5是本申请一个实施例的运动估计装置的示意性框图。
图6是本申请另一个实施例的运动估计装置的示意性框图。
图7是本申请另一个实施例的运动估计方法的示意性流程图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
下面对本申请实施例涉及的概念——运动估计进行简单地介绍。
帧间预测编码是目前视频编码中降低帧间冗余的重要方法。以帧间预测编码为例,对于当前帧中的当前编码块,需要在当前帧的参考帧(以下简称为“当前参考帧”)中搜索最佳匹配块(也可以称为“参考块”),该搜索过程称之为运动估计。图1是运动估计的示意图。如图1所示,当前帧110中的当前编码块112在当前参考帧120中搜索得到参考块122。用最佳匹配块(参考块122)预测当前编码块112的编码,这样解码器只需要知道编码器预测残差以及当前编码块和参考块之间的偏移即可,该偏移即为运动矢量(Motion Vector,MV)。
假设当前编码块112左上角的像素坐标为(currx,curry),参考块122左上角的像素坐标为(refx,refy),则MV的为:
mvx=refx-currx
mvy=refy-curry
本申请实施例的运动估计方法和装置可以应用于图像处理或视频处理的相关技术中,例如,软件或硬件视频编码、图像或视频时间域降噪和视频自适应升帧率等处理算法。
图2是本申请一个实施例的运动估计方法10的示意性流程图。该方法10可以包括以下步骤。S11,根据当前帧和当前参考帧,确定当前帧相对于当前参考帧的全局运动矢量(Global Motion Vector,GMV)。S12,根据全局运动矢量,对目标帧进行运动估计。
本申请实施例的运动估计方法,预先计算当前帧相对于当前参考帧的全局运动矢量即整体偏移,使得在对待运动估计的目标帧运动估计时,可以参考全局运动矢量,从而降低运动估计的整体复杂度。
应理解,本申请实施例的当前参考帧可以包括一个帧也可以包括多个帧。在当前参考帧包括多个帧的情况下,当前帧分别相对于多个帧中的每个帧可以有一个全局运动矢量。当前帧相对于当前参考帧的全局运动矢量,可以是多个全局运动矢量中最大的一个矢量,或者可以是多个全局运动矢量的平均值,或者可以是多个全局运动矢量的加权平均值,本申请实施例对此不作限定。
还应理解,以当前帧为t时刻的帧为例,本申请实施例的待进行运动估计的目标帧可以是当前帧(t时刻的帧);目标帧也可以是当前帧之后的帧(例如为t+△t时刻的帧),即目标帧为当前帧的后一帧或更之后的帧;目标帧还可以是当前帧之前的帧(例如为t-△t时刻的帧)。此外,计算得到全局运动矢量后,可以将其应用于一个目标帧也可以将其应用于多个目标帧,本申请实施例对此不作限定。
可选地,本申请实施例中,根据全局运动矢量,对目标帧进行运动估计,可以包括:根据全局运动矢量,确定目标帧中的待估计块对应的目标参考帧的搜索区域;在搜索区域中,对待估计块进行运动估计。
应理解,本申请实施例对目标帧进行运动估计时,除了根据当前帧相对于当前参考帧的全局运动矢量,还可以参考其他的全局运动矢量。例如,可以根据t时刻的帧的全局运动矢量以及t-△t时刻的帧的全局运动矢量、t时刻的帧的全局运动矢量以及t-2△t时刻的帧的全局运动矢量、t-△t时刻的帧的全局运动矢量以及t-2△t时刻的帧的全局运动矢量或者其他的一个帧多个帧的全局运动矢量等等,本申请实施例对此不作限定。
图3是本申请一个实施例的运动估计方法的示意图。图3以目标帧210和目标帧210对应的参考帧(目标参考帧220)为例展开说明。目标帧210和目标参考帧220可以按照相同的划分方式划分为多个块,其中,目标帧210中的待估计块为如图3所示的块212。在现有的方案中,运动估计时在目标参考帧220中的搜索区域为以块212在目标参考帧220中的对应块222为中心的一片区域224。而在本申请实施例中,搜索区域则为参考了GMV的一片区域226,例如为区域224加GMV之后的区域226(例如区域224左上角像素的坐标加GMV之后,为区域226左上角像素的坐标)。在区域226中对待估计块进行运动估计,使得在该区域搜索得到运动矢量的概率和效率大大增加,运动估计算法的复杂度下降。换一个角度,在运动矢量较大时,使用本申请实施例的运动估计方法,可以在相对较小的搜索区域内便得到运动矢量。
应理解,本申请实施例还可以基于全局运动矢量,采用其他方法确定搜索区域,而不仅限于以上的方法。
还应理解,本申请实施例中,可以根据GMV的大小确定目标参考帧220中区域226的大小。例如,GMV越大,区域226也越大;GMV越小,区域226越小,但本申请实施例对此不作限定。
应注意的是,本申请实施例的搜索区域可以以行缓存(LB)模式保存,相对于现有的方案,可以降低对硬件面积的要求。本申请实施例的搜索区域也可以以高速缓冲存储器(Cache)模式保存,相对于现有的方案,可以增加命中率,避免出现读取带宽增加的问题。本申请实施例对保存的模式不作限定。
还应理解,本申请实施例的运动估计方法不仅应用于根据在整个帧计算全局运动矢量,还可以把帧分割为若干个子图像,计算每个子图像的全局运动矢量。换而言之,本申请实施例的全局运动矢量可以为当前帧按照预设规则分割后的子图像的全局运动矢量。
下面详细说明本申请实施例得到全局运动矢量的过程。
可选地,图4是本申请一个实施例的确定全局运动矢量的示意图。如图4所示,本申请实施例的运动估计方法还可以包括:对当前帧的原始图像进行下采样,得到当前帧的下采样图像;确定当前帧对应的当前参考帧的下采样图像;根据当前帧的下采样图像和当前参考帧的下采样图像,确定当前帧 的原始图像相对于当前参考帧的原始图像的全局运动矢量。
具体地,考虑到全局运动矢量的覆盖范围较大,且对全局运动矢量的精度要求不高,为了降低计算复杂度,全局运动矢量的计算可以根据低分辨率图得到。例如,本申请实施例可以基于当前帧的下采样图像和当前参考帧的下采样图像计算全局运动矢量。当然,本申请实施例也可以不采用下采样图像计算全局运动矢量,而是采用原始图像来计算,本申请实施例对此不作限定。
本申请实施例可以采用经典的先低通滤波后下采样的方式得到下采样图像,也可以采用直接平均的方式得到下采样图像,还可以采用其他的下采样算法得到下采样图像。
下面以一个具体的例子说明对当前帧的原始图像进行下采样,得到当前帧的下采样图像的过程。对当前帧的原始图像进行水平方向和垂直方向各8倍的下采样,则下采样图像需要保存的LB数据仅为原始图像的1/64。假设di,j表示下采样图像的坐标(i,j)处的数据,Sk,l表示原始图像的坐标(k,l)处的数据,则有
Figure PCTCN2017108677-appb-000001
同理,可以对当前参考帧的原始图像进行下采样,得到当前参考帧的下采样图像。如果当前帧(t时刻的帧)的下采样图像可以做为t+△t时刻的帧的参考帧的下采样图像,则可以将当前帧(t时刻的帧)的下采样图像保存在双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)中作为下一帧全局运动矢量计算的参考数据。
可选地,根据当前帧的下采样图像和当前参考帧的下采样图像,确定当前帧的原始图像相对于当前参考帧的原始图像的全局运动矢量,可以包括:从当前帧的下采样图像中确定至少一个目标块,计算每个目标块相对于当前参考帧的下采样图像的运动矢量;根据至少一个运动矢量,确定当前帧的原始图像相对于当前参考帧的原始图像的全局运动矢量。即,可以通过预设的选取规则从当前帧的下采样图像中选取目标块,针对每个目标块计算其相对于当前参考帧的下采样图像的运动矢量,最终得到当前帧的原始图像相对于当前参考帧的原始图像的全局运动矢量。
该选取规则可以是随机选取,也可以是按照预设算法选取。在一个具体 的例子中,从当前帧的下采样图像中确定至少一个目标块,计算每个目标块相对于当前参考帧的下采样图像的运动矢量,可以包括:按照预设尺寸将当前帧的下采样图像划分成至少一个目标块,计算每个目标块相对于当前参考帧的下采样图像的运动矢量。
具体而言,当前帧的下采样图像可以被划分为非重叠小块,称之为目标块ds_curr。例如,本申请实施例可以选择硬件实现的最简单的全检索(Full Search),当前帧的下采样图像以8x8划分目标块,当然本申请实施例也可以选择其他现有的划分方式,此处不进行赘述。同样地,当前参考帧的下采样图像也以相同的划分方式划分,得到块ds_ref。
可选地,在本申请实施例中,计算每个目标块相对于当前参考帧的下采样图像的运动矢量,可以包括:在当前参考帧的下采样图像中的预设尺寸的搜索范围内,搜索目标块的匹配块;根据目标块和匹配块的坐标,计算目标块相对于当前参考帧的下采样图像的运动矢量。应理解,该搜索范围的尺寸的可以与前文描述的进行运动估计的搜索区域的尺寸相等或者不等,本申请实施例对此不作限定。
具体而言,对任一目标块ds_curr,将其中心的坐标视为(0,0),当前参考帧的下采样图像的相同位置的坐标也视为(0,0)。在当前参考帧的下采样图像中,以(0,0)为搜索中心,在x∈[-M,+M],y∈[-N,+N](尺寸为2M*2N)的搜索范围内,确定目标块ds_curr的匹配块,从而得到目标块相对于当前参考帧的下采样图像的运动矢量。本申请实施例中,M可以取值为16,N可以取值为8,但本申请实施例对M和N的取值不作限定。
得到各目标块的运动矢量后,可以根据至少一个运动矢量,确定当前帧的原始图像相对于当前参考帧的原始图像的全局运动矢量。可选地,可以将所有目标块的运动矢量进行统计计算,得到当前帧的原始图像相对于当前参考帧的原始图像的全局运动矢量。可选地,也可以将符合预设条件的目标块的运动矢量进行统计计算,得到当前帧的原始图像相对于当前参考帧的原始图像的全局运动矢量。预设条件可以是基于像素信息的条件。
本申请实施例中,可以计算目标块的帧内差异值intra_activity。帧内差异值intra_activity为目标块内所有像素的像素值与目标块的平均像素值dc的差的绝对值的和。其中,
Figure PCTCN2017108677-appb-000002
Figure PCTCN2017108677-appb-000003
ds_curri,j是坐标为(i,j)的像素点的像素值abs(x)为取绝对值函数。能够理解,目标块的像素值差异越小,即目标块为平坦区域时,帧内差异值intra_activity越小。
本申请一个可选的实施例中,预设条件可以包括目标块的帧内差异值大于第一阈值,其中,帧内差异值为目标块内所有像素的像素值与目标块的平均像素值的差的绝对值的和。如果将第一阈值用thres_holda来表示,则有
intra_activity>thres_holda
第一阈值thres_holda对于8比特视频数据通常为400~800之间的值,例如,本申请实施例中第一阈值thres_holda可以取值为500。
应理解,本申请实施例可以采用其他算法计算目标块的帧内差异值,本申请实施例对此不作限定。
本申请实施例中,还可以计算目标块和匹配块的匹配误差即为帧间差异值inter_activity与帧内差异值intra_activity的比值。其中,匹配块为当前参考帧的下采样图像中与目标块的匹配误差最小的块。本申请实施例可以按照行优先的准则依次扫描参考帧的下采样图像中搜索范围内的所有块ds_ref,并且计算块ds_ref和目标块ds_curr的匹配误差SAD,具有最小SAD的候选块即为最优匹配块,最小SAD即为帧间差异值inter_activity,最优匹配的块ds_ref相对目标块ds_curr的偏移即为目标块ds_curr的运动矢量mv_best。其中,
Figure PCTCN2017108677-appb-000004
本申请一个可选的实施例中,预设条件可以包括目标块和匹配块的匹配误差与帧内差异值的比值小于第二阈值。如果将第二阈值用β来表示,则有
inter_activity<β*intra_activity。
第二阈值β通常为0.5~2.0之间的值,例如,本申请实施例中第二阈值β可以取值为1.0。
应理解,本申请实施例可以采用其他算法计算目标块和匹配块的匹配误 差,本申请实施例对此不作限定。
本申请一个可选的实施例中,预设条件可以包括intra_activity>thres_holda以及inter_activity<β*intra_activity,即目标块需同时满足上述两个条件,其运动矢量才可用于计算全局运动矢量。
基于上述预设条件,通过平均可以得到全局运动矢量,具体可以采用以下方式计算得到全局运动矢量。设置x轴变量gmv_sumx、y轴变量gmv_sumy和选中块的数量变量cand_sum,并赋予其初始值均为0,即
gmv_sumx=0
gmv_sumy=0
cand_sum=0。
对满足预设条件的目标块,将其标记为可用(valid);对不满足预设条件的目标块,将其标记为不可用(invalid)。valid的目标块的运动矢量的x轴分量为mv_bestx,y轴分量为mv_besty。每得到一个valid的目标块,x轴变量gmv_sumx、y轴变量gmv_sumy和选中块的数量变量cand_sum进行累加:
gmv_sumx+=mv_bestx
gmv_sumy+=mv_besty
cand_sum+=1。
遍历所有目标块后,可以得到x轴变量gmv_sumx、y轴变量gmv_sumy和选中块的数量变量cand_sum的最终值,根据其值可以得到全局运动矢量。该全局运动矢量是带有噪声的全局运动矢量,记为gmv_noisyt,将其x轴分量记为
Figure PCTCN2017108677-appb-000005
将其y轴分量记为
Figure PCTCN2017108677-appb-000006
其值分别为:
Figure PCTCN2017108677-appb-000007
Figure PCTCN2017108677-appb-000008
其中,γ可以是前文描述的下采样算法的下采样率,例如γ值可以为8。
可选地,为了得到更优的全局运动矢量,可以对带有噪声的全局运动矢量进行后处理,例如,可以对带有噪声的全局运动矢量进行时间上的去噪, 或者称为时间滤波。即,全局运动矢量可以是基于多个帧分别相对各自的参考帧的全局运动矢量进行时间滤波后得到的。再如,可以对带有噪声的多个全局运动矢量求平均值或加权平均值,等等,本申请实施例对此不作限定。应理解,这里的多个帧可以包括当前帧之前的帧也可以包括当前帧之后的帧,可以是两个帧也可以是更多的帧。
本申请一个可选的实施例中,以下公式给出了使用当前帧的全局运动矢量gmv_noisyt和当前帧的前一帧的全局运动矢量gmv_noisyt-Δt,进行时间滤波得到全局运动矢量gmv,其x轴分量为gmvx,其y轴分量为gmvy。其中,
Figure PCTCN2017108677-appb-000009
Figure PCTCN2017108677-appb-000010
w0和w1是去噪参数,w0和w1的典型值可以分别取值3和1,当然w0和w1也可以取其他值,本申请实施例对此不作限定。
应理解,本申请实施例的不同的选取规则和/或不同的预设条件,会导致计算复杂程度的不同,以及最终确定的全局运动矢量的精度不同。上文中的选取规则和预设条件仅为示例,而非对本申请实施例的限定。
上文对本申请实施例的运动估计方法进行了说明,下文将详细说明本申请实施例的运动估计装置。
图5是本申请一个实施例的运动估计装置400的示意性框图。如图5所示,运动估计装置400可以包括:第一确定模块410,用于根据当前帧和当前参考帧,确定当前帧相对于当前参考帧的全局运动矢量;估计模块420,用于根据第一确定模块410确定的全局运动矢量,对目标帧进行运动估计。
本申请的运动估计装置,预先计算当前帧相对于当前参考帧的全局运动矢量即整体偏移,使得在对待运动估计的目标帧运动估计时,可以参考全局运动矢量,从而降低运动估计的整体复杂度。
可选地,作为一个实施例,估计模块420根据全局运动矢量,对目标帧进行运动估计,可以包括:估计模块420根据全局运动矢量,确定目标帧中的待估计块对应的目标参考帧的搜索区域;估计模块420在搜索区域中,对待估计块进行运动估计。
可选地,作为一个实施例,搜索区域以行缓存模式保存。
可选地,作为一个实施例,搜索区域以高速缓冲存储器模式保存。
可选地,作为一个实施例,目标帧为当前帧或者当前帧的后一帧。
可选地,作为一个实施例,全局运动矢量为当前帧按照预设规则分割后的子图像的全局运动矢量。
可选地,作为一个实施例,运动估计装置400还可以包括:下采样模块430,用于对当前帧的原始图像进行下采样,得到当前帧的下采样图像;第二确定模块440,用于确定当前帧对应的当前参考帧的下采样图像;第一确定模块410根据当前帧和当前参考帧,确定当前帧相对于当前参考帧的全局运动矢量,可以包括:第一确定模块410根据下采样模块430得到的当前帧的下采样图像和第二确定模块440得到的当前参考帧的下采样图像,确定当前帧的原始图像相对于当前参考帧的原始图像的全局运动矢量。
可选地,作为一个实施例,第一确定模块410根据当前帧的下采样图像和当前参考帧的下采样图像,确定当前帧的原始图像相对于当前参考帧的原始图像的全局运动矢量,可以包括:第一确定模块410从当前帧的下采样图像中确定至少一个目标块,计算每个目标块相对于当前参考帧的下采样图像的运动矢量;第一确定模块410根据至少一个运动矢量,确定当前帧的原始图像相对于当前参考帧的原始图像的全局运动矢量。
可选地,作为一个实施例,第一确定模块410计算每个目标块相对于当前参考帧的下采样图像的运动矢量,可以包括:第一确定模块410在当前参考帧的下采样图像中的预设尺寸的搜索范围内,搜索目标块的匹配块;第一确定模块410根据目标块和匹配块的坐标,计算目标块相对于当前参考帧的下采样图像的运动矢量。
可选地,作为一个实施例,第一确定模块410从当前帧的下采样图像中确定至少一个目标块,计算每个目标块相对于当前参考帧的下采样图像的运动矢量,可以包括:第一确定模块410按照预设尺寸将当前帧的下采样图像划分成至少一个目标块,计算每个目标块相对于当前参考帧的下采样图像的运动矢量。
可选地,作为一个实施例,第一确定模块410根据至少一个运动矢量,确定当前帧的原始图像相对于当前参考帧的原始图像的全局运动矢量,可以包括:第一确定模块410将所有目标块的运动矢量进行统计计算,得到当前帧的原始图像相对于当前参考帧的原始图像的全局运动矢量。
可选地,作为一个实施例,第一确定模块410根据至少一个运动矢量,确定当前帧的原始图像相对于当前参考帧的原始图像的全局运动矢量,可以包括:第一确定模块410将符合预设条件的目标块的运动矢量进行统计计算,得到当前帧的原始图像相对于当前参考帧的原始图像的全局运动矢量,预设条件是基于像素信息的条件。
可选地,作为一个实施例,预设条件包括目标块的帧内差异值大于第一阈值,其中,帧内差异值为目标块内所有像素的像素值与目标块的平均像素值的差的绝对值的和。
可选地,作为一个实施例,预设条件还包括目标块和匹配块的匹配误差与帧内差异值的比值小于第二阈值,其中,匹配块为参考帧的下采样图像中与目标块的匹配误差最小的块,帧内差异值为目标块内所有像素的像素值与目标块的平均像素值的差的绝对值的和。
可选地,作为一个实施例,全局运动矢量是基于多个帧分别相对各自的参考帧的全局运动矢量进行时间滤波后得到的。
应理解,本申请各实施例的运动估计装置可以基于存储器和处理器实现,各存储器用于存储用于执行本申请个实施例的方法的指令,处理器执行上述指令,使得装置执行本申请各实施例的方法。图6是本申请另一个实施例的运动估计装置500的示意性框图。如图6所示,运动估计装置500包括处理器510和存储器520。
应理解,本申请实施例中提及的处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory, RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例还提供一种计算机可读存储介质,其上存储有存储有指令,当指令在计算机上运行时,使得计算机执行上述各方法实施例的方法10。
本申请实施例还提供一种计算设备,该计算设备包括上述计算机可读存储介质。
本申请实施例可以应用在飞行器,尤其是无人机领域。
图7是本申请另一个实施例的运动估计方法20的示意性流程图。该方法20可以包括以下步骤。S21,根据当前帧的部分图像和当前参考帧,确定当前帧的部分图像相对于当前参考帧的全局运动矢量。S22,根据全局运动矢量,对目标帧的部分图像进行运动估计。
本申请实施例的运动估计方法,预先计算当前帧的部分图像相对于当前参考帧的全局运动矢量即整体偏移,使得在对待运动估计的目标帧的部分图像运动估计时,可以参考全局运动矢量,从而降低运动估计的整体复杂度。
具体的,可以只针对当前帧的部分图像进行上述方案的运动估计方法,具体不在赘述。
可选地,作为一个实施例,S22根据全局运动矢量,对目标帧的部分图像进行运动估计,可以包括:根据全局运动矢量,确定目标帧中的待估计的部分图像对应的目标参考帧的搜索区域;在搜索区域中,对待估计的部分图 像进行运动估计。
可选地,作为一个实施例,搜索区域可以以行缓存模式保存。
可选地,作为一个实施例,搜索区域可以以高速缓冲存储器模式保存。
可选地,作为一个实施例,目标帧可以为当前帧或者当前帧的后一帧。
可选地,作为一个实施例,方法22还可以包括:对当前帧的部分图像的原始图像进行下采样,得到当前帧的部分图像的下采样图像;确定当前帧对应的当前参考帧的下采样图像;S21根据当前帧的部分图像和当前参考帧,确定当前帧的部分图像相对于当前参考帧的全局运动矢量,可以包括:根据当前帧的部分图像的下采样图像和当前参考帧的下采样图像,确定当前帧的部分图像的原始图像相对于当前参考帧的原始图像的全局运动矢量。
可选地,作为一个实施例,根据当前帧的部分图像的下采样图像和当前参考帧的下采样图像,确定当前帧的部分图像的原始图像相对于当前参考帧的原始图像的全局运动矢量,可以包括:从当前帧的部分图像的下采样图像中确定至少一个目标块,计算每个目标块相对于当前参考帧的下采样图像的运动矢量;根据至少一个运动矢量,确定当前帧的部分图像的原始图像相对于当前参考帧的原始图像的全局运动矢量。
可选地,作为一个实施例,计算每个目标块相对于当前参考帧的下采样图像的运动矢量,可以包括:在当前参考帧的下采样图像中的预设尺寸的搜索范围内,搜索目标块的匹配块;根据目标块和匹配块的坐标,计算目标块相对于当前参考帧的下采样图像的运动矢量。
可选地,作为一个实施例,从当前帧的部分图像的下采样图像中确定至少一个目标块,计算每个目标块相对于当前参考帧的下采样图像的运动矢量,可以包括:按照预设尺寸将当前帧的部分图像的下采样图像划分成至少一个目标块,计算每个目标块相对于当前参考帧的下采样图像的运动矢量。
可选地,作为一个实施例,根据至少一个运动矢量,确定当前帧的部分图像的原始图像相对于当前参考帧的原始图像的全局运动矢量,可以包括:将所有目标块的运动矢量进行统计计算,得到当前帧的部分图像的原始图像相对于当前参考帧的原始图像的全局运动矢量。
可选地,作为一个实施例,根据至少一个运动矢量,确定当前帧的部分图像的原始图像相对于当前参考帧的原始图像的全局运动矢量,可以包括:将符合预设条件的目标块的运动矢量进行统计计算,得到当前帧的部分图像 的原始图像相对于当前参考帧的原始图像的全局运动矢量,预设条件是基于像素信息的条件。
可选地,作为一个实施例,预设条件可以包括目标块的帧内差异值大于第一阈值,其中,帧内差异值为目标块内所有像素的像素值与目标块的平均像素值的差的绝对值的和。
可选地,作为一个实施例,预设条件可以包括目标块和匹配块的匹配误差与帧内差异值的比值小于第二阈值,其中,匹配块为当前参考帧的下采样图像中与目标块的匹配误差最小的块,帧内差异值为目标块内所有像素的像素值与目标块的平均像素值的差的绝对值的和。
可选地,作为一个实施例,全局运动矢量可以是基于多个帧的部分图像分别相对各自的参考帧的全局运动矢量进行时间滤波后得到的。
应理解,方法20与方法10的区别是,对当前帧的部分图像而非当前帧的整个帧计算全局运动矢量。相应地,运动估计时也是针对目标帧的部分图像进行。方法20的具体流程细节可以与与方法10相同或相似,此处不再进行赘述。
本申请实施例还提供了另一种运动估计装置,包括:第一确定模块,用于根据当前帧的部分图像和当前参考帧,确定当前帧的部分图像相对于当前参考帧的全局运动矢量;估计模块,用于根据第一确定模块确定的全局运动矢量,对目标帧的部分图像进行运动估计。
可选地,作为一个实施例,估计模块根据全局运动矢量,对目标帧的部分图像进行运动估计,可以包括:估计模块根据全局运动矢量,确定目标帧中的待估计的部分图像对应的目标参考帧的搜索区域;估计模块在搜索区域中,对待估计的部分图像进行运动估计。
可选地,作为一个实施例,搜索区域可以以行缓存模式保存。
可选地,作为一个实施例,搜索区域可以以高速缓冲存储器模式保存。
可选地,作为一个实施例,目标帧可以为当前帧或者当前帧的后一帧。
可选地,作为一个实施例,装置还可以包括:下采样模块,用于对当前帧的部分图像的原始图像进行下采样,得到当前帧的部分图像的下采样图像;第二确定模块,用于确定当前帧对应的当前参考帧的下采样图像;第一确定模块根据当前帧的部分图像和当前参考帧,确定当前帧的部分图像相对于当前参考帧的全局运动矢量,包括:第一确定模块根据下采样模块得到的 当前帧的部分图像的下采样图像和第二确定模块得到的当前参考帧的下采样图像,确定当前帧的部分图像的原始图像相对于当前参考帧的原始图像的全局运动矢量。
可选地,作为一个实施例,第一确定模块根据当前帧的部分图像的下采样图像和当前参考帧的下采样图像,确定当前帧的部分图像的原始图像相对于当前参考帧的原始图像的全局运动矢量,可以包括:第一确定模块从当前帧的部分图像的下采样图像中确定至少一个目标块,计算每个目标块相对于当前参考帧的下采样图像的运动矢量;第一确定模块根据至少一个运动矢量,确定当前帧的部分图像的原始图像相对于当前参考帧的原始图像的全局运动矢量。
可选地,作为一个实施例,第一确定模块计算每个目标块相对于当前参考帧的下采样图像的运动矢量,可以包括:第一确定模块在当前参考帧的下采样图像中的预设尺寸的搜索范围内,搜索目标块的匹配块;第一确定模块根据目标块和匹配块的坐标,计算目标块相对于当前参考帧的下采样图像的运动矢量。
可选地,作为一个实施例,第一确定模块从当前帧的部分图像的下采样图像中确定至少一个目标块,计算每个目标块相对于当前参考帧的下采样图像的运动矢量,可以包括:第一确定模块按照预设尺寸将当前帧的部分图像的下采样图像划分成至少一个目标块,计算每个目标块相对于当前参考帧的下采样图像的运动矢量。
可选地,作为一个实施例,第一确定模块根据至少一个运动矢量,确定当前帧的部分图像的原始图像相对于当前参考帧的原始图像的全局运动矢量,可以包括:第一确定模块将所有目标块的运动矢量进行统计计算,得到当前帧的部分图像的原始图像相对于当前参考帧的原始图像的全局运动矢量。
可选地,作为一个实施例,第一确定模块根据至少一个运动矢量,确定当前帧的部分图像的原始图像相对于当前参考帧的原始图像的全局运动矢量,可以包括:第一确定模块将符合预设条件的目标块的运动矢量进行统计计算,得到当前帧的部分图像的原始图像相对于当前参考帧的原始图像的全局运动矢量,预设条件是基于像素信息的条件。
可选地,作为一个实施例,预设条件可以包括目标块的帧内差异值大于 第一阈值,其中,帧内差异值为目标块内所有像素的像素值与目标块的平均像素值的差的绝对值的和。
可选地,作为一个实施例,预设条件可以包括目标块和匹配块的匹配误差与帧内差异值的比值小于第二阈值,其中,匹配块为参考帧的下采样图像中与目标块的匹配误差最小的块,帧内差异值为目标块内所有像素的像素值与目标块的平均像素值的差的绝对值的和。
可选地,作为一个实施例,全局运动矢量可以是基于多个帧的部分图像分别相对各自的参考帧的全局运动矢量进行时间滤波后得到的。
本申请实施例还提供一种运动估计装置,包括处理器和存储器,存储器用于存储指令,当处理器执行存储器存储的指令时,使得运动估计装置执行方法20。
应理解,本申请实施例的运动估计装置与前文描述的运动估计装置400或运动估计装置500的结构类似,此处不再进行赘述。
本申请实施例还提供一种计算机存储介质,其上存储有指令,当指令在计算设备上运行时,使得计算设备执行上述各方法实施例的方法20。
本申请实施例还提供一种计算设备,该计算设备包括上述计算机可读存储介质。
本申请实施例可以应用在飞行器,尤其是无人机领域。
应理解,本申请各实施例的电路、子电路、子单元的划分只是示意性的。本领域普通技术人员可以意识到,本文中所公开的实施例描述的各示例的电路、子电路和子单元,能够再行拆分或组合。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传 输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(Digital Video Disc,DVD))、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅 是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (64)

  1. 一种运动估计方法,其特征在于,包括:
    根据当前帧和当前参考帧,确定所述当前帧相对于所述当前参考帧的全局运动矢量;
    根据所述全局运动矢量,对目标帧进行运动估计。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述全局运动矢量,对目标帧进行运动估计,包括:
    根据所述全局运动矢量,确定所述目标帧中的待估计块对应的目标参考帧的搜索区域;
    在所述搜索区域中,对所述待估计块进行运动估计。
  3. 根据权利要求2所述的方法,其特征在于,所述搜索区域以行缓存模式保存。
  4. 根据权利要求2所述的方法,其特征在于,所述搜索区域以高速缓冲存储器模式保存。
  5. 根据权利要求1所述的方法,其特征在于,所述目标帧为所述当前帧或者所述当前帧的后一帧。
  6. 根据权利要求1所述的方法,其特征在于,所述全局运动矢量为所述当前帧按照预设规则分割后的子图像的全局运动矢量。
  7. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    对所述当前帧的原始图像进行下采样,得到所述当前帧的下采样图像;
    确定所述当前帧对应的所述当前参考帧的下采样图像;
    所述根据当前帧和当前参考帧,确定所述当前帧相对于所述当前参考帧的全局运动矢量,包括:
    根据所述当前帧的下采样图像和所述当前参考帧的下采样图像,确定所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量。
  8. 根据权利要求7所述的方法,其特征在于,所述根据所述当前帧的下采样图像和所述当前参考帧的下采样图像,确定所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,包括:
    从所述当前帧的下采样图像中确定至少一个目标块,计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量;
    根据至少一个所述运动矢量,确定所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量。
  9. 根据权利要求8所述的方法,其特征在于,所述计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量,包括:
    在所述当前参考帧的下采样图像中的预设尺寸的搜索范围内,搜索所述目标块的匹配块;
    根据所述目标块和所述匹配块的坐标,计算所述目标块相对于所述当前参考帧的下采样图像的运动矢量。
  10. 根据权利要求8所述的方法,其特征在于,所述从所述当前帧的下采样图像中确定至少一个目标块,计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量,包括:
    按照预设尺寸将所述当前帧的下采样图像划分成至少一个所述目标块,计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量。
  11. 根据权利要求8所述的方法,其特征在于,所述根据至少一个所述运动矢量,确定所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,包括:
    将所有目标块的运动矢量进行统计计算,得到所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量。
  12. 根据权利要求8所述的方法,其特征在于,所述根据至少一个所述运动矢量,确定所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,包括:
    将符合预设条件的目标块的运动矢量进行统计计算,得到所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,所述预设条件是基于像素信息的条件。
  13. 根据权利要求12所述的方法,其特征在于,所述预设条件包括所述目标块的帧内差异值大于第一阈值,其中,所述帧内差异值为所述目标块内所有像素的像素值与所述目标块的平均像素值的差的绝对值的和。
  14. 根据权利要求12或13所述的方法,其特征在于,所述预设条件还包括所述目标块和匹配块的匹配误差与所述帧内差异值的比值小于第二阈值,其中,所述匹配块为所述当前参考帧的下采样图像中与所述目标块的匹配误差最小的块,所述帧内差异值为所述目标块内所有像素的像素值与所述 目标块的平均像素值的差的绝对值的和。
  15. 根据权利要求1所述的方法,其特征在于,所述全局运动矢量是基于多个帧分别相对各自的参考帧的全局运动矢量进行时间滤波后得到的。
  16. 一种运动估计装置,其特征在于,包括:
    第一确定模块,用于根据当前帧和当前参考帧,确定所述当前帧相对于所述当前参考帧的全局运动矢量;
    估计模块,用于根据所述第一确定模块确定的所述全局运动矢量,对目标帧进行运动估计。
  17. 根据权利要求16所述的装置,其特征在于,所述估计模块根据所述全局运动矢量,对目标帧进行运动估计,包括:
    所述估计模块根据所述全局运动矢量,确定所述目标帧中的待估计块对应的目标参考帧的搜索区域;
    所述估计模块在所述搜索区域中,对所述待估计块进行运动估计。
  18. 根据权利要求17所述的装置,其特征在于,所述搜索区域以行缓存模式保存。
  19. 根据权利要求17所述的装置,其特征在于,所述搜索区域以高速缓冲存储器模式保存。
  20. 根据权利要求16所述的装置,其特征在于,所述目标帧为所述当前帧或者所述当前帧的后一帧。
  21. 根据权利要求16所述的装置,其特征在于,所述全局运动矢量为所述当前帧按照预设规则分割后的子图像的全局运动矢量。
  22. 根据权利要求16所述的装置,其特征在于,所述装置还包括:
    下采样模块,用于对所述当前帧的原始图像进行下采样,得到所述当前帧的下采样图像;
    第二确定模块,用于确定所述当前帧对应的所述当前参考帧的下采样图像;
    所述第一确定模块根据当前帧和当前参考帧,确定所述当前帧相对于所述当前参考帧的全局运动矢量,包括:
    所述第一确定模块根据所述下采样模块得到的所述当前帧的下采样图像和所述第二确定模块得到的所述当前参考帧的下采样图像,确定所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量。
  23. 根据权利要求22所述的装置,其特征在于,所述第一确定模块根据所述当前帧的下采样图像和所述当前参考帧的下采样图像,确定所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,包括:
    所述第一确定模块从所述当前帧的下采样图像中确定至少一个目标块,计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量;
    所述第一确定模块根据至少一个所述运动矢量,确定所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量。
  24. 根据权利要求23所述的装置,其特征在于,所述第一确定模块计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量,包括:
    所述第一确定模块在所述当前参考帧的下采样图像中的预设尺寸的搜索范围内,搜索所述目标块的匹配块;
    所述第一确定模块根据所述目标块和所述匹配块的坐标,计算所述目标块相对于所述当前参考帧的下采样图像的运动矢量。
  25. 根据权利要求23所述的装置,其特征在于,所述第一确定模块从所述当前帧的下采样图像中确定至少一个目标块,计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量,包括:
    所述第一确定模块按照预设尺寸将所述当前帧的下采样图像划分成至少一个所述目标块,计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量。
  26. 根据权利要求23所述的装置,其特征在于,所述第一确定模块根据至少一个所述运动矢量,确定所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,包括:
    所述第一确定模块将所有目标块的运动矢量进行统计计算,得到所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量。
  27. 根据权利要求23所述的装置,其特征在于,所述第一确定模块根据至少一个所述运动矢量,确定所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,包括:
    所述第一确定模块将符合预设条件的目标块的运动矢量进行统计计算,得到所述当前帧的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,所述预设条件是基于像素信息的条件。
  28. 根据权利要求27所述的装置,其特征在于,所述预设条件包括所述 目标块的帧内差异值大于第一阈值,其中,所述帧内差异值为所述目标块内所有像素的像素值与所述目标块的平均像素值的差的绝对值的和。
  29. 根据权利要求27或28所述的装置,其特征在于,所述预设条件还包括所述目标块和匹配块的匹配误差与所述帧内差异值的比值小于第二阈值,其中,所述匹配块为所述参考帧的下采样图像中与所述目标块的匹配误差最小的块,所述帧内差异值为所述目标块内所有像素的像素值与所述目标块的平均像素值的差的绝对值的和。
  30. 根据权利要求16所述的装置,其特征在于,所述全局运动矢量是基于多个帧分别相对各自的参考帧的全局运动矢量进行时间滤波后得到的。
  31. 一种运动估计装置,其特征在于,包括处理器和存储器,所述存储器用于存储指令,当所述处理器执行所述存储器存储的指令时,使得运动估计装置执行权利要求1至15中任一项所述的方法。
  32. 一种计算机存储介质,其特征在于,其上存储有指令,当所述指令在计算设备上运行时,使得所述计算设备执行权利要求1至15中任一项所述的方法。
  33. 一种计算设备,其特征在于,包括权利要求16至31中任一项所述的运动估计装置。
  34. 一种运动估计方法,其特征在于,包括:
    根据当前帧的部分图像和当前参考帧,确定所述当前帧的部分图像相对于所述当前参考帧的全局运动矢量;
    根据所述全局运动矢量,对目标帧的部分图像进行运动估计。
  35. 根据权利要求34所述的方法,其特征在于,所述根据所述全局运动矢量,对目标帧的部分图像进行运动估计,包括:
    根据所述全局运动矢量,确定所述目标帧中的待估计的部分图像对应的目标参考帧的搜索区域;
    在所述搜索区域中,对所述待估计的部分图像进行运动估计。
  36. 根据权利要求35所述的方法,其特征在于,所述搜索区域以行缓存模式保存。
  37. 根据权利要求35所述的方法,其特征在于,所述搜索区域以高速缓冲存储器模式保存。
  38. 根据权利要求34所述的方法,其特征在于,所述目标帧为所述当前 帧或者所述当前帧的后一帧。
  39. 根据权利要求34所述的方法,其特征在于,所述方法还包括:
    对所述当前帧的部分图像的原始图像进行下采样,得到所述当前帧的部分图像的下采样图像;
    确定所述当前帧对应的所述当前参考帧的下采样图像;
    所述根据当前帧的部分图像和当前参考帧,确定所述当前帧的部分图像相对于所述当前参考帧的全局运动矢量,包括:
    根据所述当前帧的部分图像的下采样图像和所述当前参考帧的下采样图像,确定所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量。
  40. 根据权利要求39所述的方法,其特征在于,所述根据所述当前帧的部分图像的下采样图像和所述当前参考帧的下采样图像,确定所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,包括:
    从所述当前帧的部分图像的下采样图像中确定至少一个目标块,计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量;
    根据至少一个所述运动矢量,确定所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量。
  41. 根据权利要求40所述的方法,其特征在于,所述计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量,包括:
    在所述当前参考帧的下采样图像中的预设尺寸的搜索范围内,搜索所述目标块的匹配块;
    根据所述目标块和所述匹配块的坐标,计算所述目标块相对于所述当前参考帧的下采样图像的运动矢量。
  42. 根据权利要求40所述的方法,其特征在于,所述从所述当前帧的部分图像的下采样图像中确定至少一个目标块,计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量,包括:
    按照预设尺寸将所述当前帧的部分图像的下采样图像划分成至少一个所述目标块,计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量。
  43. 根据权利要求40所述的方法,其特征在于,所述根据至少一个所述 运动矢量,确定所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,包括:
    将所有目标块的运动矢量进行统计计算,得到所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量。
  44. 根据权利要求40所述的方法,其特征在于,所述根据至少一个所述运动矢量,确定所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,包括:
    将符合预设条件的目标块的运动矢量进行统计计算,得到所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,所述预设条件是基于像素信息的条件。
  45. 根据权利要求44所述的方法,其特征在于,所述预设条件包括所述目标块的帧内差异值大于第一阈值,其中,所述帧内差异值为所述目标块内所有像素的像素值与所述目标块的平均像素值的差的绝对值的和。
  46. 根据权利要求44或45所述的方法,其特征在于,所述预设条件还包括所述目标块和匹配块的匹配误差与所述帧内差异值的比值小于第二阈值,其中,所述匹配块为所述当前参考帧的下采样图像中与所述目标块的匹配误差最小的块,所述帧内差异值为所述目标块内所有像素的像素值与所述目标块的平均像素值的差的绝对值的和。
  47. 根据权利要求34所述的方法,其特征在于,所述全局运动矢量是基于多个帧的部分图像分别相对各自的参考帧的全局运动矢量进行时间滤波后得到的。
  48. 一种运动估计装置,其特征在于,包括:
    第一确定模块,用于根据当前帧的部分图像和当前参考帧,确定所述当前帧的部分图像相对于所述当前参考帧的全局运动矢量;
    估计模块,用于根据所述第一确定模块确定的所述全局运动矢量,对目标帧的部分图像进行运动估计。
  49. 根据权利要求48所述的装置,其特征在于,所述估计模块根据所述全局运动矢量,对目标帧的部分图像进行运动估计,包括:
    所述估计模块根据所述全局运动矢量,确定所述目标帧中的待估计的部分图像对应的目标参考帧的搜索区域;
    所述估计模块在所述搜索区域中,对所述待估计的部分图像进行运动估 计。
  50. 根据权利要求49所述的装置,其特征在于,所述搜索区域以行缓存模式保存。
  51. 根据权利要求49所述的装置,其特征在于,所述搜索区域以高速缓冲存储器模式保存。
  52. 根据权利要求48所述的装置,其特征在于,所述目标帧为所述当前帧或者所述当前帧的后一帧。
  53. 根据权利要求48所述的装置,其特征在于,所述装置还包括:
    下采样模块,用于对所述当前帧的部分图像的原始图像进行下采样,得到所述当前帧的部分图像的下采样图像;
    第二确定模块,用于确定所述当前帧对应的所述当前参考帧的下采样图像;
    所述第一确定模块根据当前帧的部分图像和当前参考帧,确定所述当前帧的部分图像相对于所述当前参考帧的全局运动矢量,包括:
    所述第一确定模块根据所述下采样模块得到的所述当前帧的部分图像的下采样图像和所述第二确定模块得到的所述当前参考帧的下采样图像,确定所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量。
  54. 根据权利要求53所述的装置,其特征在于,所述第一确定模块根据所述当前帧的部分图像的下采样图像和所述当前参考帧的下采样图像,确定所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,包括:
    所述第一确定模块从所述当前帧的部分图像的下采样图像中确定至少一个目标块,计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量;
    所述第一确定模块根据至少一个所述运动矢量,确定所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量。
  55. 根据权利要求54所述的装置,其特征在于,所述第一确定模块计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量,包括:
    所述第一确定模块在所述当前参考帧的下采样图像中的预设尺寸的搜索范围内,搜索所述目标块的匹配块;
    所述第一确定模块根据所述目标块和所述匹配块的坐标,计算所述目标块相对于所述当前参考帧的下采样图像的运动矢量。
  56. 根据权利要求54所述的装置,其特征在于,所述第一确定模块从所述当前帧的部分图像的下采样图像中确定至少一个目标块,计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量,包括:
    所述第一确定模块按照预设尺寸将所述当前帧的部分图像的下采样图像划分成至少一个所述目标块,计算每个所述目标块相对于所述当前参考帧的下采样图像的运动矢量。
  57. 根据权利要求54所述的装置,其特征在于,所述第一确定模块根据至少一个所述运动矢量,确定所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,包括:
    所述第一确定模块将所有目标块的运动矢量进行统计计算,得到所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量。
  58. 根据权利要求54所述的装置,其特征在于,所述第一确定模块根据至少一个所述运动矢量,确定所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,包括:
    所述第一确定模块将符合预设条件的目标块的运动矢量进行统计计算,得到所述当前帧的部分图像的原始图像相对于所述当前参考帧的原始图像的全局运动矢量,所述预设条件是基于像素信息的条件。
  59. 根据权利要求58所述的装置,其特征在于,所述预设条件包括所述目标块的帧内差异值大于第一阈值,其中,所述帧内差异值为所述目标块内所有像素的像素值与所述目标块的平均像素值的差的绝对值的和。
  60. 根据权利要求58或59所述的装置,其特征在于,所述预设条件还包括所述目标块和匹配块的匹配误差与所述帧内差异值的比值小于第二阈值,其中,所述匹配块为所述参考帧的下采样图像中与所述目标块的匹配误差最小的块,所述帧内差异值为所述目标块内所有像素的像素值与所述目标块的平均像素值的差的绝对值的和。
  61. 根据权利要求48所述的装置,其特征在于,所述全局运动矢量是基于多个帧的部分图像分别相对各自的参考帧的全局运动矢量进行时间滤波后得到的。
  62. 一种运动估计装置,其特征在于,包括处理器和存储器,所述存储器用于存储指令,当所述处理器执行所述存储器存储的指令时,使得运动估计装置执行权利要求34至47中任一项所述的方法。
  63. 一种计算机存储介质,其特征在于,其上存储有指令,当所述指令在计算设备上运行时,使得所述计算设备执行权利要求34至47中任一项所述的方法。
  64. 一种计算设备,其特征在于,包括权利要求48至61中任一项所述的运动估计装置。
PCT/CN2017/108677 2017-10-31 2017-10-31 运动估计方法和装置 WO2019084801A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201780013529.9A CN108702512B (zh) 2017-10-31 2017-10-31 运动估计方法和装置
PCT/CN2017/108677 WO2019084801A1 (zh) 2017-10-31 2017-10-31 运动估计方法和装置
US16/738,253 US11019356B2 (en) 2017-10-31 2020-01-09 Motion estimation method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/108677 WO2019084801A1 (zh) 2017-10-31 2017-10-31 运动估计方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/738,253 Continuation US11019356B2 (en) 2017-10-31 2020-01-09 Motion estimation method and device

Publications (1)

Publication Number Publication Date
WO2019084801A1 true WO2019084801A1 (zh) 2019-05-09

Family

ID=63844177

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/108677 WO2019084801A1 (zh) 2017-10-31 2017-10-31 运动估计方法和装置

Country Status (3)

Country Link
US (1) US11019356B2 (zh)
CN (1) CN108702512B (zh)
WO (1) WO2019084801A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111383182B (zh) * 2018-12-28 2022-09-30 展讯通信(上海)有限公司 图像去噪方法、装置及计算机可读存储介质
CN111385583B (zh) * 2018-12-28 2022-04-22 展讯通信(上海)有限公司 图像运动估计方法、装置及计算机可读存储介质
CN112954334A (zh) 2019-03-11 2021-06-11 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN110493599B (zh) * 2019-07-05 2021-10-26 西安万像电子科技有限公司 图像识别方法及装置
CN110378930B (zh) * 2019-09-11 2020-01-31 湖南德雅坤创科技有限公司 运动目标提取方法、装置和电子设备及可读存储介质
US11057637B1 (en) * 2020-01-29 2021-07-06 Mellanox Technologies, Ltd. Efficient video motion estimation by reusing a reference search region
CN111462170B (zh) * 2020-03-30 2023-08-25 Oppo广东移动通信有限公司 运动估计方法、运动估计装置、存储介质与电子设备
CN112001942B (zh) * 2020-07-03 2021-12-03 北京博雅慧视智能技术研究院有限公司 一种运动估计粗搜索方法及装置
CN112087626A (zh) * 2020-08-21 2020-12-15 西安万像电子科技有限公司 图像处理方法、装置及存储介质
CN114372995A (zh) * 2020-10-14 2022-04-19 晶晨半导体(上海)股份有限公司 显示驱动方法、模块及芯片、电子设备和存储介质
WO2022104678A1 (zh) * 2020-11-20 2022-05-27 深圳市大疆创新科技有限公司 视频编解码方法、装置、可移动平台和存储介质
WO2022115999A1 (zh) * 2020-12-01 2022-06-09 深圳市大疆创新科技有限公司 一种数据处理方法及数据处理设备
CN114513670B (zh) * 2021-12-30 2023-03-10 浙江大华技术股份有限公司 一种端到端的视频压缩方法、装置和计算机可读存储介质
CN114531596A (zh) * 2022-01-25 2022-05-24 京东方科技集团股份有限公司 图像处理方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1554194A (zh) * 2001-09-12 2004-12-08 �ʼҷ����ֵ��ӹɷ����޹�˾ 运动估计和/或补偿
CN1925617A (zh) * 2005-08-29 2007-03-07 三星电子株式会社 提高的运动估计、视频编码方法及使用所述方法的设备
CN101411181A (zh) * 2006-04-06 2009-04-15 高通股份有限公司 电子视频图像稳定

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594397B1 (en) * 2000-03-03 2003-07-15 Tektronix, Inc. Adaptive multi-modal motion estimation for video compression
WO2008012822A2 (en) * 2006-07-26 2008-01-31 Human Monitoring Ltd Image stabilizer
US20080117968A1 (en) * 2006-11-22 2008-05-22 Capso Vision, Inc. Movement detection and construction of an "actual reality" image
KR101356735B1 (ko) * 2007-01-03 2014-02-03 삼성전자주식회사 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법
US8149911B1 (en) * 2007-02-16 2012-04-03 Maxim Integrated Products, Inc. Method and/or apparatus for multiple pass digital image stabilization
KR101691571B1 (ko) * 2009-10-15 2017-01-02 삼성전자주식회사 표시 장치에 의해서 표시되는 영상 데이터를 처리하는 장치 및 방법
US20110134315A1 (en) * 2009-12-08 2011-06-09 Avi Levy Bi-Directional, Local and Global Motion Estimation Based Frame Rate Conversion
US8711248B2 (en) * 2011-02-25 2014-04-29 Microsoft Corporation Global alignment for high-dynamic range image generation
US9635385B2 (en) * 2011-04-14 2017-04-25 Texas Instruments Incorporated Methods and systems for estimating motion in multimedia pictures
US9824426B2 (en) * 2011-08-01 2017-11-21 Microsoft Technology Licensing, Llc Reduced latency video stabilization
CN104219532B (zh) * 2013-06-05 2017-10-17 华为技术有限公司 确定小物体区域的方法、视频帧之间插补帧的方法和装置
US9292899B2 (en) * 2013-09-25 2016-03-22 Apple Inc. Reference frame data prefetching in block processing pipelines
CN104660916B (zh) * 2013-11-18 2018-09-18 杭州海康威视数字技术股份有限公司 屏幕拼接系统和视频数据流的处理方法
US9305362B1 (en) * 2014-02-28 2016-04-05 Xilinx, Inc. Image stabilization
US9811732B2 (en) * 2015-03-12 2017-11-07 Qualcomm Incorporated Systems and methods for object tracking

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1554194A (zh) * 2001-09-12 2004-12-08 �ʼҷ����ֵ��ӹɷ����޹�˾ 运动估计和/或补偿
CN1925617A (zh) * 2005-08-29 2007-03-07 三星电子株式会社 提高的运动估计、视频编码方法及使用所述方法的设备
CN101411181A (zh) * 2006-04-06 2009-04-15 高通股份有限公司 电子视频图像稳定

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LI, YINGJUAN ET AL.: "Fast Sub-Pixe Global Motion Estimation Based on Phase Correlation", FIRE CONTROL & COMMAND CONTROL, vol. 41, no. 7, 15 July 2016 (2016-07-15), pages 148 - 151, ISSN: 1002-0640 *

Also Published As

Publication number Publication date
US20200154129A1 (en) 2020-05-14
US11019356B2 (en) 2021-05-25
CN108702512A (zh) 2018-10-23
CN108702512B (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
WO2019084801A1 (zh) 运动估计方法和装置
JP3538055B2 (ja) 動きベクトル検出装置
WO2017005146A1 (zh) 视频编码和解码方法、视频编码和解码装置
JP4764807B2 (ja) 動きベクトル検出装置および動きベクトル検出方法
EP2377324A1 (en) One step sub-pixel motion estimation
KR20140037056A (ko) 이미지 시퀀스의 압축을 위한 코딩 방법 및 이미지 코딩 디바이스
WO2015014111A1 (zh) 一种光流跟踪方法和装置
US20140126818A1 (en) Method of occlusion-based background motion estimation
JP2015502120A (ja) 非局所的超解像再構成の方法及び装置
Mori et al. Fast template matching based on normalized cross correlation using adaptive block partitioning and initial threshold estimation
JP5435518B2 (ja) 共通処理要素に基づく動画安定化及び動画ショット境界検出を実行する装置、システム、および方法
US8243810B2 (en) Motion estimation approach for real-time embedded multimedia design
US20220270204A1 (en) Image registration method, terminal, and computer storage medium
KR101033243B1 (ko) 객체 추적 방법 및 장치
JP2003032688A (ja) 動画像の前景背景領域分離方法、及びその方法を用いた条件付画素補填による動画像符号化方法
WO2015085922A1 (zh) 一种帧率上采样的方法和装置
KR100575578B1 (ko) 이동 단말 장치에서의 움직임 검출 방법
CN111754429A (zh) 运动矢量后处理方法和装置、电子设备及存储介质
WO2021223127A1 (zh) 基于全局运动估计的时域滤波方法、装置及存储介质
JP2015226326A (ja) 映像解析方法及び映像解析装置
JP2019067169A (ja) 移動ベクトル算出方法、装置、プログラム、及びノイズ除去処理を含む移動ベクトル算出方法
US10282831B2 (en) Method and apparatus for motion compensated noise reduction
TW201031213A (en) Low-power and high-performance video coding method for performing motion estimation
US20110228851A1 (en) Adaptive search area in motion estimation processes
US20110109794A1 (en) Caching structure and apparatus for use in block based video

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17930887

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17930887

Country of ref document: EP

Kind code of ref document: A1