[go: up one dir, main page]

CN107197299A - A kind of motion estimation implementing method and electronic equipment - Google Patents

A kind of motion estimation implementing method and electronic equipment Download PDF

Info

Publication number
CN107197299A
CN107197299A CN201710333902.0A CN201710333902A CN107197299A CN 107197299 A CN107197299 A CN 107197299A CN 201710333902 A CN201710333902 A CN 201710333902A CN 107197299 A CN107197299 A CN 107197299A
Authority
CN
China
Prior art keywords
block
pixels
sub
motion vector
error amount
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201710333902.0A
Other languages
Chinese (zh)
Inventor
徐超
张文明
陈少杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710333902.0A priority Critical patent/CN107197299A/en
Publication of CN107197299A publication Critical patent/CN107197299A/en
Priority to PCT/CN2018/082156 priority patent/WO2018205780A1/en
Pending legal-status Critical Current

Links

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
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/176Methods 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 block, e.g. a macroblock
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention discloses a kind of motion estimation implementing method and electronic equipment, frame of video is first divided into 16*16 sub-block of pixels, actual assignment then is carried out to the first presetted pixel point of 16*16 sub-block of pixels;Due to having carried out actual assignment, so 16*16 blocks segmentation error amount can be reduced to reduce code check.Then the first motion vector and the first error amount of 16*16 sub-block of pixels are calculated;The second motion vector and the second error amount are calculated 16*16 sub-block of pixels is divided into 4 8*8 sub-block of pixels;Contrast the first motion vector and the second motion vector;If the first error amount is less than the second error amount, the macroblock partition from the first motion vector and 16*16 sub-block of pixels carries out estimation.The present invention determines the motion vector needed for specific estimation using way of contrast, and tries to achieve motion vector according to actual assignment, so when carrying out inter prediction, data volume can be reduced and save the time, compression ratio is improved.

Description

A kind of motion estimation implementing method and electronic equipment
Technical field
The application is related to field of video compression, more particularly to a kind of motion estimation implementing method and electronic equipment.
Background technology
The encoding and decoding of video are mainly by prediction is changed, coding, come what is realized.Prediction is divided into inter prediction again and frame in is pre- Survey, infra-frame prediction is used for compression stroke correlation, inter prediction is used for compression time correlation.
Infra-frame prediction refers to define better prediction algorithm in a program, and such as 4*4 macro blocks have 9 kinds of prediction algorithms (vertical, water It is flat, diagonal, average value ... ..), 16*16 macro blocks have 4 kinds of prediction algorithms, and 8*8 macro blocks have 4 kinds of prediction algorithms.
Inter prediction refers to that (overall situation is received by motion estimation algorithm from the encoded image in the front and back of current slice Rope, diamond receives rope, and hexagon receives rope etc.) calculate a motion vector of the current block relative to reference picture.
After prediction processing operation, the pixel number evidence of a macro block can be converted to the prediction mode of macro block Both macro block (mb) type, predictive mode, the information such as motion arrow, with space size (size of data) phase of the pixel number of macro block according to occupancy Than macro block (mb) type, predictive mode, the space shared by motion vector can be very small, and frame of video is in units of macro block, so as to reach The purpose that video data is compressed.
And how to reduce the video data volume to improve compression efficiency, then it is the problem of the application will consider.
The content of the invention
Invention provides a kind of motion estimation implementing method and electronic equipment, to solve current how to reduce video Data volume improves the technical problem of compression efficiency.
In order to solve the above technical problems, the invention provides a kind of motion estimation implementing method, methods described includes:
Frame of video is divided into multiple 16*16 sub-block of pixels, the sub-block of pixels for each 16*16 does following place Reason:
Actual assignment is carried out to the first presetted pixel point of 16*16 sub-block of pixels;
Calculate the first motion vector and the first error amount of the 16*16 sub-block of pixels;
The 16*16 sub-block of pixels is divided into 4 8*8 sub-block of pixels;
Calculate the second motion vector and the second error amount of 4 8*8 sub-block of pixels;
Contrast first motion vector and second motion vector;
If first error amount is less than second error amount, it is determined that select first motion vector and described The macroblock partition of 16*16 sub-block of pixels carries out estimation.
It is preferred that, it is described to determine to carry out from the macroblock partition of first motion vector and the 16*16 sub-block of pixels Estimation, including:
The 16*16 sub-block of pixels is divided into two 16*8 sub-block of pixels;
Calculate the 3rd motion vector and the 3rd error amount of described two 16*8 sub-block of pixels.
It is preferred that, before the 3rd motion vector and the 3rd error amount for calculating described two 16*8 sub-block of pixels, also Including:
Actual assignment is carried out to the second presetted pixel point of described two 16*8 sub-block of pixels.
It is preferred that, it is described to determine to carry out from the macroblock partition of first motion vector and the 16*16 sub-block of pixels Estimation, including:
The 16*16 sub-block of pixels is divided into two 8*16 sub-block of pixels;
Calculate the 4th motion vector and the 4th error amount of described two 8*16 sub-block of pixels.
It is preferred that, after the contrast first motion vector and second motion vector, including:
If first error amount is more than second error amount, it is determined that go out the corresponding 8*8 pixels of minimum second error Sub-block;
The 16*16 sub-block of pixels is divided into 16 4*4 sub-block of pixels;
Determine the 5th motion vector and the 5th error amount of 16 4*4 sub-block of pixels;
5th error amount and minimum second error amount are contrasted;
If the 5th error amount is less than minimum second error, minimum 5th error the corresponding minimum 5th is utilized Motion vector and macroblock partition carry out estimation.
It is preferred that, it is described 5th error amount and minimum second error amount are contrasted after, in addition to:
If minimum second error amount is less than all the 5th error amounts, it is determined that from second motion vector and The macroblock partition of the 8*8 sub-block of pixels carries out estimation.
It is preferred that, it is described to determine to be transported from the macroblock partition of second motion vector and the 8*8 sub-block of pixels Dynamic estimation, including:
The 8*8 sub-block of pixels is divided into two 8*4 sub-block of pixels;
Calculate the 6th motion vector and the 6th error amount of described two 8*4 sub-block of pixels.
It is preferred that, it is described to determine to be transported from the macroblock partition of second motion vector and the 8*8 sub-block of pixels Dynamic estimation, including:
The 8*8 sub-block of pixels is divided into two 4*8 sub-block of pixels;
Calculate the 7th motion vector and the 7th error amount of described two 4*8 sub-block of pixels.
It is preferred that, after the actual assignment of the first presetted pixel point progress of the sub-block of pixels to 16*16, in addition to:
Sub-block of pixels to 16*16 is filtered.
Of the invention there is provided a kind of electronic equipment, including processor and memory on the other hand:
The memory is used to store the program for performing the method in above-mentioned technical proposal,
The processor is configurable for performing the program stored in the memory.
By one or more technical scheme of the present invention, the invention has the advantages that or advantage:
The invention discloses a kind of motion estimation implementing method and electronic equipment, frame of video is first divided into 16*16 picture Sub-prime block, then carries out actual assignment to the first presetted pixel point of 16*16 sub-block of pixels;Due to having carried out actual assignment, So 16*16 blocks segmentation error amount can be reduced, so as to reach the effect of reduction code check.Then 16*16 pixels is calculated The first motion vector and the first error amount of block;Then the 16*16 sub-block of pixels is divided into 4 8*8 sub-block of pixels;And count Calculate the second motion vector and the second error amount of 4 8*8 sub-block of pixels;Then first motion vector is contrasted and described Second motion vector;If first error amount is less than second error amount, it is determined that from first motion vector and The macroblock partition of the 16*16 sub-block of pixels carries out estimation.The present invention determines specific motion using the mode of contrast Motion vector needed for estimation, and be that motion vector is tried to achieve according to actual assignment, so when carrying out inter prediction, can Reduce data volume and save the time, improve compression ratio.
Brief description of the drawings
Fig. 1 is the implementation principle figure of single directional prediction in the embodiment of the present invention;
Fig. 2 is a kind of implementation process figure of motion estimation implementing method in the embodiment of the present invention;
Fig. 3 is the schematic diagram of electronic equipment in the embodiment of the present invention.
Embodiment
In order that the application the technical staff in the technical field is more clearly understood that the application, below in conjunction with the accompanying drawings, Technical scheme is described in detail by specific embodiment.
Based on above mentioned problem, the invention discloses a kind of motion estimation implementing method.
First, referring to Fig. 1, the implementation principle of inter prediction is first introduced.
Inter prediction is divided into single directional prediction and bi-directional predicted, and the implementation process of single directional prediction is as follows:
1, input current video frame data ft(x, y);
2, prediction predicted frame data is obtained, is returned by frame fallout predictor.
A. the encoded frame in present frame above or below is obtained from fallout predictor and is used as reference frame.
B. current block is calculated relative to ginseng using motion estimation algorithm (overall situation receives rope, and diamond receives rope, and hexagon receives rope) Examine a motion vector of image.
C. input motion vector MV is returned by motion compensated predictorIt is used as prediction data.
3, use current video requency frame data ft(x, y) and prediction dataSubtract each other acquisition e (x);
4, conversion is carried out to e (x) and quantization operation is obtained
5, it is rightInverse quantization and inverse transform are carried out, withIt is added and obtains reconstruction frames, is used as reference frame next time For predicting.
6, it is rightIt is entropy encoded again, with some side information (such as predictive mode quantization parameter, prediction moulds needed for decoding Formula etc.) code stream after a compression is constituted together, through NAL (network self-adapting layer) for transmitting and storing.
Note:Need to judge type (the I frames/piece, P frames/piece, B in this way of present frame or piece before infra-frame prediction is carried out Frame/piece), because deterministic process is more complicated, simple introduction is only done here, carries out 1/2 scaling to frame of video first (long and wide Reduce 1/2), reduce data volume and then each block of pixels of infra-frame prediction acquisition cost altogether is carried out to each macro block in frame of video Value, is carrying out the cost value of inter prediction calculating altogether, is comparing which value minimum carrys out judgment frame type.In addition, each I frames Interval be to determine that, so may also be used for judgment frame type, also B frames may also be used for judgment frame class in the middle of P frames Type.)
It is bi-directional predicted:It is bi-directional predicted to be more than utilizing former frame pixel prediction, also need to utilize a later frame pixel, i.e. predicted value Forαt-1And αt+1For prediction power Value, ij is previous frame motion vector, and i ', j ' are a later frame predictive vector.
And present invention generally provides a kind of motion estimation implementing method, to determine that motion vector carries out estimation, Compression ratio is improved to reduce code check.The present invention method handled mainly for video flowing, for example XX live video streams or Common video flowing etc..
Referring to Fig. 2, method of the invention includes:
Firstly, for each frame video, frame of video can be divided into multiple 16*16 sub-block of pixels by the present invention, for Each 16*16 sub-block of pixels does following processing:
Step 21, actual assignment is carried out to the first presetted pixel point of 16*16 sub-block of pixels.
Specifically, 16*16 any pixel of sub-block of pixels can essentially be taken as the first presetted pixel point, example Such as, the application takes the upper left corner in 16*16 sub-block of pixels, and the upper right corner, the lower left corner, lower right corner pixel is used as the first presetted pixel Point, the first presetted pixel of total of four point carries out actual assignment, and assignment is into reference frame, by by the upper left corner, the upper right corner, lower-left Angle, lower right corner total of four the first presetted pixel point assignment can reduce 16*16 blocks segmentation error amount into reference frame, so that Reach the possibility for improving 16*16 segmentations.Because if thinner (sub-block is more) that 16*16 blocks are split, then sent out in coding The data sent and preserved are more, so can reduce 16*16 blocks by above-mentioned method splits error amount, so as to reach reduction The effect of code check.
First presetted pixel point of the sub-block of pixels to 16*16 is carried out after actual assignment, in addition to:
Sub-block of pixels to 16*16 is filtered.For example to the upper left corner, the upper right corner, the lower left corner, lower right corner pixel is again Position of intersecting point can be filtered by force, therefore will not produce considerable influence to video quality.Certainly, for filtering mode, the present invention is not It is limited.
Step 22, the first motion vector and the first error amount of the 16*16 sub-block of pixels are calculated.
In specific implementation process, 16*16 sub-block of pixels can be calculated by the fast search algorithm of estimation First motion vector and the first error amount.
Motion vector and error amount are repeatedly had in this application.So the application introduces motion vector first, citing For, in continuous frame of video, generally former frame and the similarity of a later frame be compared it is high for example we in profit Being carried out taking pictures with mobile phone, quickly ought continuously to clap multiple pictures be that each similarity is that comparison is high, is arm, face nothing but Eyes have the difference of amplitude, and both arm is moved up or down, and face has been closed, therefore we can be with Video coding Using the encoded frame of video of former frame as reference frame, a later frame is is currently needed for coded frame, and motion amplitude mentioned above is then It is motion vector, is a relative value, then motion vector is also 2 dimensions due to the dimension of video 2.It is with macro block generally in coding For unit former motion vector all referring to macro block motion vector.
Error amount, many wherein SAD of computational methods of error amount are one of them, and error amount can be understood as Similarity value Smaller similarity is bigger, and 2 frame of video, which are such as carried out SAD, calculates the similarity that this is frame of video, be generally all in coding with Macro block is that unit is encoded, current macro (current coding macro block of current encoded frame) and reference macroblock (reference frame the inside and The high macro block of current macro similarity-rough set) there can be an error amount.
The fast search algorithm of estimation is described below.
Motion search is segmented into two kinds of fundamental types:(1) full search algorithm.(2) fast search algorithm.
(1) full search algorithm.This method is that block of pixels all in region of search is compared with current macro one by one Compared with it is match block to search a block of pixels with minimum match error.The benefit of this method is can to find optimal With block, harm is that speed is too slow.Current full search algorithm is seldom used.
(2) fast search algorithm.This method carries out the search of match block according to certain mathematical programming.This method it is good Place is that speed is fast, and harm is possible to can only obtain the match block of suboptimum.
Several searching algorithms of illustration below, certainly, the present invention are not limited in using this several algorithm.
Diamond search algorithm (DIA):Centered on search starting point, small rhombus template (template radius is 1) is used to search for.Meter The matching error of each point is calculated, MBD (minimal error) point is obtained.If the MBD points heart in a template, search terminates, MBD now Point is exactly Optimum Matching point, and corresponding block of pixels is exactly best matching blocks;If MBD points not heart position in a template, with existing The point centered on MBD points, proceeds small diamond search, falls until MBD points untill central point.
Hexagon search algorithm (HEX):This method uses 1 large form (hexagon template) and 2 small template (small rhombus Template and small square templates).Specific search step is as follows:Step 1:Centered on search starting point, using the left side in figure Hexagon template is scanned for.Zoning center and surrounding 6 points at matching error and compare, such as minimum MBD points be located at Template center's point, then go to step 2;Otherwise using last MBD points as central point, carried out by template of hexagon template anti- Multiple search.Step 2:The point centered on last MBD points, using small rhombus template search, calculates the matching error of each point, looks for To MBD points.Then the point centered on MBD points, is searched for, obtained MBD points are exactly Optimum Matching point using small square templates.
Asymmetric cross multi-level hexagonal point search algorithm (UMH):Step 1:Carry out once small diamond search, root According to matching error value and two threshold values (for a kind of macro block of size be fixed size threshold1 and Threshold2 the relation between) is correspondingly processed, and may use middle rhombus template or octagon template, it is also possible to Leap to step 2.Step 2:Use asymmetric cross template search.The reason for " asymmetric " is that the motion of mean level direction will More violent than movement in vertical direction, so horizontal direction hunting zone is set into W, vertical direction hunting zone is set to W/2.Step 3: Use 5x5 search one by one template searches.Step 4:Use big hexagon template search.Step 5:Looked for using hexagon search algorithm To Optimum Matching point.
Successive elimination method (ESA, TESA):This method is a kind of full-search algorithm, and it carries out light to the point in region of search Grating search for, one by one calculate and compared with.
Step 23, the 16*16 sub-block of pixels is divided into 4 8*8 sub-block of pixels.
Step 24, the second motion vector and the second error amount of 4 8*8 sub-block of pixels are calculated.
Specifically, in second motion vector and the second error amount of 4 8*8 sub-block of pixels of calculating, also with upper The searching algorithm for stating description is calculated.
Step 25, first motion vector and second motion vector are contrasted;
Step 26, if first error amount is less than second error amount, it is determined that selection first motion vector, Estimation is carried out with the macroblock partition of the 16*16 sub-block of pixels.
Because 16*16 sub-block of pixels is divided into 4 8*8 sub-block of pixels by the present invention, so can also obtain 4 second motions 4 the second error amounts of vector.And in contrast, contrasted using the first error amount and 4 the second error amounts, in contrast Afterwards, if than 4 the second error amounts of the first error amount are all small, then then determine to select first motion vector and described The macroblock partition of 16*16 sub-block of pixels carries out estimation, and because assignment is having been carried out in the present invention before, so in meter Error amount can be reduced when calculating motion vector, and then reduces code check, compression ratio is improved.
And when carrying out estimation, specific implementation process is as follows:
Due to when splitting to 16*16 sub-block of pixels, two 16*8 sub-block of pixels can be divided into;Two can also be divided into Individual 8*16 sub-block of pixels, so the present invention has two ways:
The first:The 16*16 sub-block of pixels is divided into two 16*8 sub-block of pixels;Calculated using motion estimation algorithm The 3rd motion vector and the 3rd error amount of described two 16*8 sub-block of pixels.Certainly, can be with as a kind of optional embodiment Before the 3rd motion vector and the 3rd error amount of described two 16*8 sub-block of pixels is calculated, to described two 16*8 pixels Second presetted pixel point of block carries out actual assignment, is then calculated again.Second presetted pixel point can be 16*8 pixels The upper left corner of block, the lower left corner, the upper right corner, the lower right corner 4 pixels altogether.Can certainly be other, herein the present invention no longer Repeat.
Second:The 16*16 sub-block of pixels is divided into two 8*16 sub-block of pixels;Calculated using motion estimation algorithm The 4th motion vector and the 4th error amount of described two 8*16 sub-block of pixels.Certainly, before this can also be to two 8*16 3rd presetted pixel point of sub-block of pixels carries out actual assignment, and the determination of the 3rd presetted pixel point can be random, for example, can be The upper left corner of 8*16 sub-block of pixels, the lower left corner, the upper right corner, the lower right corner 4 pixels altogether.Can certainly be other, herein The present invention is repeated no more.
Above is the first error amount is less than the processing that second error amount is done, if first error amount is more than described Second error amount, then then carry out following embodiment.
So, after the contrast first motion vector and second motion vector, including:
If first error amount is more than second error amount, it is determined that go out the corresponding 8*8 pixels of minimum second error Sub-block;
The 16*16 sub-block of pixels is divided into 16 4*4 sub-block of pixels;
Determine the 5th motion vector and the 5th error amount of 16 4*4 sub-block of pixels;Specifically, due to inciting somebody to action 16*16 sub-block of pixels is divided into 16 4*4 sub-block of pixels, then the 5th motion vector determined also has 16, then will Each 5th motion vector and minimum second error amount are contrasted.
5th error amount and minimum second error amount are contrasted;
If the 5th error amount is less than minimum second error, minimum 5th error the corresponding minimum 5th is utilized Motion vector and macroblock partition carry out estimation.When carrying out estimation, it can also be counted using above-mentioned searching algorithm Calculate.
If minimum second error amount is less than all the 5th error amounts, it is determined that from second motion vector and The macroblock partition of the 8*8 sub-block of pixels carries out estimation.In specific implementation process, if to 8*8 sub-block of pixels Macroblock partition carries out estimation, then also first the macro block of 8*8 sub-block of pixels can be divided.There are two kinds of sides when dividing Formula:First way:The 8*8 sub-block of pixels is divided into two 8*4 sub-block of pixels.The second way:By the 8*8 pixels Partition is two 4*8 sub-block of pixels.
First way:The 8*8 sub-block of pixels is divided into two 8*4 sub-block of pixels;Calculate described two 8*4 pixels 6th motion vector of sub-block and the 6th error amount.
The second way:The 8*8 sub-block of pixels is divided into two 4*8 sub-block of pixels;Calculate described two 4*8 pixels 7th motion vector of sub-block and the 7th error amount.
Referring to Fig. 3, based on same inventive concept, the invention discloses a kind of electronic equipment, the electronics that the application is related to is set It is standby include but is not limited to be:Mobile terminal (mobile phone, smart mobile phone, PAD, notebook computer etc.), fixed terminal (computer).
The electronic equipment includes processor 31 and memory 32:
The memory 32 is used to store the program for performing the method in above-described embodiment,
The processor 31 is configurable for performing the program stored in the memory.
For convenience of description, the part related to the embodiment of the present invention is illustrate only, particular technique details is not disclosed, please With reference to present invention method part.The mobile communication terminal can be to include mobile phone, tablet personal computer, PDA (Personal Digital Assistant, personal digital assistant) etc. any mobile terminal device.As described in Figure 3, the mobile terminal includes Memory 32 and processor 31.
Memory 32 can be used for storage software program and module, and processor 31 is stored in memory 32 by running execution Software program and module, so as to perform various function application and the data processing of mobile terminal.
Memory 32 can mainly include storing program area and storage data field, wherein, storing program area can store operation system Application program (such as game class application needed for system, at least one function (such as sound-playing function, image player function etc.) Program, music class application program etc.) etc.;Storage data field can be stored uses created data (such as audio according to mobile phone Data, phone directory etc.) etc..The control centre of the mobile communication terminal of processor 31, is entirely moved using various interfaces and connection The various pieces of mobile communication terminal, software program and/or module in memory 32 are stored in by operation or execution, and adjust With the data being stored in memory 32, the various functions and processing data of mobile phone are performed, so as to mobile phone Carry out integral monitoring.Optionally, processor 31 may include one or more processing units.
By one or more embodiment of the present invention, the invention has the advantages that or advantage:
The invention discloses a kind of motion estimation implementing method and electronic equipment, frame of video is first divided into 16*16 picture Sub-prime block, then carries out actual assignment to the first presetted pixel point of 16*16 sub-block of pixels;Due to having carried out actual assignment, So 16*16 blocks segmentation error amount can be reduced, so as to reach the effect of reduction code check.Then 16*16 pixels is calculated The first motion vector and the first error amount of block;Then the 16*16 sub-block of pixels is divided into 4 8*8 sub-block of pixels;And count Calculate the second motion vector and the second error amount of 4 8*8 sub-block of pixels;Then first motion vector is contrasted and described Second motion vector;If first error amount is less than second error amount, it is determined that from first motion vector and The macroblock partition of the 16*16 sub-block of pixels carries out estimation.The present invention determines specific motion using the mode of contrast Motion vector needed for estimation, and be that motion vector is tried to achieve according to actual assignment, so when carrying out inter prediction, can Reduce data volume and save the time, improve compression ratio.
Although having been described for the preferred embodiment of the application, one of ordinary skilled in the art once knows substantially Creative concept, then can make other change and modification to these embodiments.So, appended claims are intended to be construed to bag Include preferred embodiment and fall into having altered and changing for the application scope.
Obviously, those skilled in the art can carry out the essence of various changes and modification without departing from the application to the application God and scope.So, if these modifications and variations of the application belong to the scope of the application claim and its equivalent technologies Within, then the application is also intended to comprising including these changes and modification.

Claims (10)

1. a kind of motion estimation implementing method, it is characterised in that methods described includes:
Frame of video is divided into multiple 16*16 sub-block of pixels, the sub-block of pixels for each 16*16 does following processing:
Actual assignment is carried out to the first presetted pixel point of 16*16 sub-block of pixels;
Calculate the first motion vector and the first error amount of the 16*16 sub-block of pixels;
The 16*16 sub-block of pixels is divided into 4 8*8 sub-block of pixels;
Calculate the second motion vector and the second error amount of 4 8*8 sub-block of pixels;
Contrast first motion vector and second motion vector;
If first error amount is less than second error amount, it is determined that select first motion vector and the 16*16 The macroblock partition of sub-block of pixels carries out estimation.
2. the method as described in claim 1, it is characterised in that first motion vector and the 16* are selected in the determination The macroblock partition of 16 sub-block of pixels carries out estimation, including:
The 16*16 sub-block of pixels is divided into two 16*8 sub-block of pixels;
Calculate the 3rd motion vector and the 3rd error amount of described two 16*8 sub-block of pixels.
3. method as claimed in claim 2, it is characterised in that the 3rd motion of the described two 16*8 sub-block of pixels of calculating Before the error amount of vector the 3rd, in addition to:
Actual assignment is carried out to the second presetted pixel point of described two 16*8 sub-block of pixels.
4. the method as described in claim 1, it is characterised in that first motion vector and the 16* are selected in the determination The macroblock partition of 16 sub-block of pixels carries out estimation, including:
The 16*16 sub-block of pixels is divided into two 8*16 sub-block of pixels;
Calculate the 4th motion vector and the 4th error amount of described two 8*16 sub-block of pixels.
5. the method as described in claim 1, it is characterised in that contrast first motion vector and second motion After vector, including:
If first error amount is more than second error amount, it is determined that go out the corresponding 8*8 sub-block of pixels of minimum second error;
The 16*16 sub-block of pixels is divided into 16 4*4 sub-block of pixels;
Determine the 5th motion vector and the 5th error amount of 16 4*4 sub-block of pixels;
5th error amount and minimum second error amount are contrasted;
If the 5th error amount is less than minimum second error, corresponding minimum 5th motion of minimum 5th error is utilized Vector macroblock partition carries out estimation.
6. method as claimed in claim 5, it is characterised in that described by the 5th error amount and minimum second error After value is contrasted, in addition to:
If minimum second error amount is less than all the 5th error amounts, it is determined that select second motion vector and described The macroblock partition of 8*8 sub-block of pixels carries out estimation.
7. method as claimed in claim 6, it is characterised in that second motion vector and the 8*8 are selected in the determination The macroblock partition of sub-block of pixels carries out estimation, including:
The 8*8 sub-block of pixels is divided into two 8*4 sub-block of pixels;
Calculate the 6th motion vector and the 6th error amount of described two 8*4 sub-block of pixels.
8. method as claimed in claim 6, it is characterised in that second motion vector and the 8*8 are selected in the determination The macroblock partition of sub-block of pixels carries out estimation, including:
The 8*8 sub-block of pixels is divided into two 4*8 sub-block of pixels;
Calculate the 7th motion vector and the 7th error amount of described two 4*8 sub-block of pixels.
9. the method as described in claim 1, it is characterised in that the first presetted pixel point of the sub-block of pixels to 16*16 After the actual assignment of progress, in addition to:
Sub-block of pixels to 16*16 is filtered.
10. a kind of electronic equipment, it is characterised in that including processor and memory:
The memory is used for the program for storing any one of perform claim requirement 1 to 9 methods described,
The processor is configurable for performing the program stored in the memory.
CN201710333902.0A 2017-05-12 2017-05-12 A kind of motion estimation implementing method and electronic equipment Pending CN107197299A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710333902.0A CN107197299A (en) 2017-05-12 2017-05-12 A kind of motion estimation implementing method and electronic equipment
PCT/CN2018/082156 WO2018205780A1 (en) 2017-05-12 2018-04-08 Motion estimation method and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710333902.0A CN107197299A (en) 2017-05-12 2017-05-12 A kind of motion estimation implementing method and electronic equipment

Publications (1)

Publication Number Publication Date
CN107197299A true CN107197299A (en) 2017-09-22

Family

ID=59874063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710333902.0A Pending CN107197299A (en) 2017-05-12 2017-05-12 A kind of motion estimation implementing method and electronic equipment

Country Status (2)

Country Link
CN (1) CN107197299A (en)
WO (1) WO2018205780A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018205780A1 (en) * 2017-05-12 2018-11-15 武汉斗鱼网络科技有限公司 Motion estimation method and electronic device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101193303A (en) * 2007-09-14 2008-06-04 四川虹微技术有限公司 Fast motion estimating method
CN101267556A (en) * 2008-03-21 2008-09-17 海信集团有限公司 Quick motion estimation method and video coding and decoding method
CN101527854A (en) * 2009-01-20 2009-09-09 源见科技(苏州)有限公司 Interframe mode selection method
CN102420989A (en) * 2011-12-07 2012-04-18 中国航空无线电电子研究所 Intra-frame prediction method and device
CN103220488A (en) * 2013-04-18 2013-07-24 北京大学 Up-conversion device and method of video frame rate
US8724702B1 (en) * 2006-03-29 2014-05-13 Nvidia Corporation Methods and systems for motion estimation used in video coding
CN105721870A (en) * 2014-12-03 2016-06-29 北京君正集成电路股份有限公司 Method and apparatus for determining coding unit division mode in HEVC

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107197299A (en) * 2017-05-12 2017-09-22 武汉斗鱼网络科技有限公司 A kind of motion estimation implementing method and electronic equipment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8724702B1 (en) * 2006-03-29 2014-05-13 Nvidia Corporation Methods and systems for motion estimation used in video coding
CN101193303A (en) * 2007-09-14 2008-06-04 四川虹微技术有限公司 Fast motion estimating method
CN101267556A (en) * 2008-03-21 2008-09-17 海信集团有限公司 Quick motion estimation method and video coding and decoding method
CN101527854A (en) * 2009-01-20 2009-09-09 源见科技(苏州)有限公司 Interframe mode selection method
CN102420989A (en) * 2011-12-07 2012-04-18 中国航空无线电电子研究所 Intra-frame prediction method and device
CN103220488A (en) * 2013-04-18 2013-07-24 北京大学 Up-conversion device and method of video frame rate
CN105721870A (en) * 2014-12-03 2016-06-29 北京君正集成电路股份有限公司 Method and apparatus for determining coding unit division mode in HEVC

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018205780A1 (en) * 2017-05-12 2018-11-15 武汉斗鱼网络科技有限公司 Motion estimation method and electronic device

Also Published As

Publication number Publication date
WO2018205780A1 (en) 2018-11-15

Similar Documents

Publication Publication Date Title
US10291925B2 (en) Techniques for hardware video encoding
RU2518635C2 (en) Method and apparatus for encoding and decoding coding unit of picture boundary
JP4047879B2 (en) Motion vector detection apparatus and motion vector detection method
US11336915B2 (en) Global motion vector video encoding systems and methods
KR20230058133A (en) Video motion estimation method and apparatus, device, computer-readable storage medium, and computer program product
Zhang et al. Low complexity HEVC INTRA coding for high-quality mobile video communication
CN107852500B (en) Motion vector field encoding method and decoding method, encoding and decoding device
TW202002632A (en) Method of adaptive filtering for multiple reference line of intra prediction in video coding, video encoding apparatus and video decoding apparatus therewith
KR20110107827A (en) Multi-candidate motion estimation with improved spatial filtering of differential motion vectors
CN104067619A (en) Video decoder, video encoder, video decoding method, and video encoding method
CN107087171B (en) HEVC integer pixel motion estimation method and device
CN111479110A (en) Fast Affine Motion Estimation Method for H.266/VVC
US20190182503A1 (en) Method and image processing apparatus for video coding
CN103327327A (en) Selection method of inter-frame predictive coding units for HEVC
Muhit et al. Video coding using fast geometry-adaptive partitioning and an elastic motion model
Kerfa et al. An efficient algorithm for fast block matching motion estimation using an adaptive threshold scheme
JP2022546774A (en) Interpolation filtering method and device, computer program and electronic device for intra prediction
CN107197281A (en) A kind of method and electronic equipment for realizing estimation
CN107197299A (en) A kind of motion estimation implementing method and electronic equipment
Jillani et al. Multi-view clustering for fast intra mode decision in HEVC
CN109889838A (en) A kind of HEVC fast encoding method based on ROI region
EP2367357A2 (en) Adaptive search area in motion estimation processes
EP1947863A1 (en) Image decoding apparatus and method, and image encoding apparatus
Goncalves et al. Complexity-aware tzs algorithm for mobile video encoders
Radicke et al. Highly-parallel HVEC motion estimation with CUDA [title missing from article PDF]

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170922