CN107197299A - A kind of motion estimation implementing method and electronic equipment - Google Patents
A kind of motion estimation implementing method and electronic equipment Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods 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
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018205780A1 (en) * | 2017-05-12 | 2018-11-15 | 武汉斗鱼网络科技有限公司 | Motion estimation method and electronic device |
Citations (7)
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)
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 |
-
2017
- 2017-05-12 CN CN201710333902.0A patent/CN107197299A/en active Pending
-
2018
- 2018-04-08 WO PCT/CN2018/082156 patent/WO2018205780A1/en active Application Filing
Patent Citations (7)
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)
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 |