WO2018205781A1 - 一种实现运动估计的方法及电子设备 - Google Patents

一种实现运动估计的方法及电子设备 Download PDF

Info

Publication number
WO2018205781A1
WO2018205781A1 PCT/CN2018/082158 CN2018082158W WO2018205781A1 WO 2018205781 A1 WO2018205781 A1 WO 2018205781A1 CN 2018082158 W CN2018082158 W CN 2018082158W WO 2018205781 A1 WO2018205781 A1 WO 2018205781A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel sub
block
error value
motion vector
blocks
Prior art date
Application number
PCT/CN2018/082158
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 武汉斗鱼网络科技有限公司
Publication of WO2018205781A1 publication Critical patent/WO2018205781A1/zh

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/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/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/182Methods 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 a pixel
    • 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/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/57Motion estimation characterised by a search window with variable size or shape
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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

Definitions

  • the present application relates to the field of video compression, and in particular, to a method and an electronic device for implementing motion estimation.
  • Video codec is mainly realized by prediction, conversion, and coding.
  • the prediction is further divided into inter prediction and intra prediction.
  • Intra prediction is used to compress spatial correlation
  • inter prediction is used to compress temporal correlation.
  • Intra prediction refers to the definition of some prediction algorithms in the program. For example, 4*4 macroblocks have 9 kinds of prediction algorithms (vertical, horizontal, diagonal, average........), and 16*16 macroblocks have 4 kinds. Predictive algorithm, 8*8 macroblocks have 4 kinds of prediction algorithms.
  • Inter-frame prediction refers to calculating a motion vector of the current block from the reference image by motion estimation algorithm (global acquisition, diamond collection, hexagonal acquisition, etc.) from the image before and after the current slice. .
  • motion estimation algorithm global acquisition, diamond collection, hexagonal acquisition, etc.
  • the pixel point data of one macroblock can be converted into a macroblock prediction mode, such as macroblock type, prediction mode, motion vector, etc., and the size of the space occupied by the pixel data of the macroblock (data Size)
  • a macroblock prediction mode such as macroblock type, prediction mode, motion vector, etc.
  • data Size the size of the space occupied by the pixel data of the macroblock
  • the present invention provides a method and an electronic device for implementing motion estimation to solve the current technical problem of how to reduce the amount of video data to improve compression efficiency.
  • the present invention provides a method for implementing motion estimation, the method comprising:
  • the video frame is divided into a plurality of 16*16 pixel sub-blocks, and each 16*16 pixel sub-block is processed as follows:
  • the third error value is smaller than the second error value, determining a macroblock partition of the 4*4 pixel sub-block corresponding to the minimum third error value and performing a motion estimation on the corresponding third motion vector;
  • the second error value is smaller than the third error value, determining a macroblock partition of the 8*8 pixel sub-block corresponding to the minimum second error value and a corresponding second motion vector to perform motion estimation.
  • the method further includes:
  • the determining the macroblock partitioning of the 16*16 pixel sub-block and the first motion vector for motion estimation comprises:
  • a fourth motion vector and a fourth error value of the two 16*8 pixel sub-blocks are calculated.
  • the determining the macroblock partitioning of the 16*16 pixel sub-block and the first motion vector for motion estimation comprises:
  • a fifth motion vector and a fifth error value of the two 8*16 pixel sub-blocks are calculated.
  • the dividing the 16*16 pixel sub-block into 16 4*4 pixel sub-blocks includes:
  • each 8*8 pixel sub-block it is divided into four 4*4 pixel sub-blocks.
  • the calculating the third motion vector and the third error value of the 16 4*4 pixel sub-blocks includes:
  • each 8*8 pixel sub-block at least one 4*4 preset pixel sub-block is determined;
  • the 4*4 preset pixel sub-block is a pixel sub-block of a lower right corner in each 8*8 pixel sub-block.
  • the determining, by the macroblock partitioning of the 8*8 pixel sub-block corresponding to the minimum second error value, and the corresponding second motion vector, performing motion estimation including:
  • a fifth motion vector and a fifth error value of the two 8*4 pixel sub-blocks are calculated.
  • the determining, by the macroblock partitioning of the 8*8 pixel sub-block corresponding to the minimum second error value, and the corresponding second motion vector, performing motion estimation including:
  • a sixth motion vector and a sixth error value of the two 4*8 pixel sub-blocks are calculated.
  • the invention discloses an electronic device, which comprises a processor and a memory:
  • the memory is configured to store a program for performing the method described in the above technical solution
  • the processor is configured to execute a program stored in the memory.
  • the present invention has the following beneficial effects or advantages:
  • the present invention discloses a method and an electronic device for implementing motion estimation, which first divides a video frame into 16*16 pixel sub-blocks, and then calculates a first motion vector and a first error value of the 16*16 pixel sub-block; Calculating a second motion vector and a second error value by dividing the 16*16 pixel sub-block into four 8*8 pixel sub-blocks; comparing the first motion vector and the second motion vector; if the first error value is greater than the second error value Then, the 16*16 pixel sub-block is divided into 16 4*4 pixel sub-blocks to calculate the third motion vector and the third error value; and the second error value is compared again, and then the minimum error macroblock segmentation and motion vector are selected. Perform motion estimation.
  • the invention uses the comparison method to determine the motion vector required for the specific motion estimation, which can reduce the data saving time and improve the compression ratio.
  • 1 is a schematic diagram of implementation of one-way prediction in an embodiment of the present invention
  • FIG. 2 is a schematic diagram of an implementation process of a method for implementing motion estimation according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of an electronic device according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of an 8*8 pixel sub-block according to an embodiment of the present invention.
  • the present invention discloses a method of implementing motion estimation.
  • Inter-frame prediction is divided into one-way prediction and two-way prediction.
  • the implementation process of one-way prediction is as follows:
  • NAL Network Adaptive Layer
  • the video Before performing intra prediction, you need to judge the current frame or slice type (such as I frame/slice, P frame/slice, B frame/slice). Because the judgment process is more complicated, here is a brief introduction, first of all, the video. The frame is subjected to 1/2 scaling (length and width are reduced by 1/2), the amount of data is reduced, and then intra macro prediction is performed on each macroblock in the video frame to obtain a total value of each pixel block, and the interframe prediction calculation is performed in total. The value of the generation, compare which value is the smallest to determine the frame type. In addition, the interval of each I frame is determined, so it can also be used to determine the frame type, and the B frame can also be used to determine the frame type in the middle of the P frame. )
  • Bi-directional prediction is not only using the previous frame of pixel prediction. It also needs to use the next frame of pixels, that is, the predicted value.
  • ⁇ t-1 and ⁇ t+1 are prediction weights
  • ij is the motion vector of the previous frame
  • i', j' are the prediction vectors of the next frame.
  • the present invention mainly provides a method for implementing motion estimation, which is used to determine a motion vector for motion estimation to reduce the code rate and increase the compression ratio.
  • the method of the present invention mainly processes video streams, such as XX live video streams, or ordinary video streams, and the like.
  • the method of the present invention comprises:
  • the present invention divides the video frame into a plurality of 16*16 pixel sub-blocks, and performs the following processing for each 16*16 pixel sub-block:
  • Step 21 Calculate a first motion vector and a first error value of the 16*16 pixel sub-block.
  • the first motion vector and the first error value of the 16*16 pixel sub-block may be calculated by a motion estimation fast search algorithm.
  • Motion vectors and error values occur multiple times in this application. Therefore, the present application first introduces a motion vector.
  • a motion vector For example, in a continuous video frame, the similarity between the previous frame and the subsequent frame is generally higher.
  • the photo is that each similarity is relatively high, nothing more than an arm, the mouth has a difference in amplitude. The arm moves up or down, the mouth is closed, etc., so we can encode the previous frame during video encoding.
  • the video frame is used as the reference frame, and the latter frame is the current required coded frame.
  • the motion amplitude mentioned above is the motion vector, which is a relative value. Since the video is 2D, the motion vector is also 2D.
  • the motion vector refers to the motion vector of the macroblock.
  • the error value can be understood as the smaller the similarity value, the greater the similarity.
  • the SAD calculation is performed on two video frames. This is the similarity of video frames, usually in When encoding, the encoding is performed in units of macroblocks.
  • the current macroblock (the current encoded macroblock of the current encoded frame) and the reference macroblock (the macroblock with a higher similarity to the current macroblock in the reference frame) have an error value. .
  • Motion search can be divided into two basic types: (1) global search algorithm. (2) Fast search algorithm.
  • Diamond Search Algorithm Searching with a small diamond template (template radius of 1) centered on the search starting point. The matching error of each point is calculated to obtain an MBD (minimum error) point. If the MBD point is at the center of the template, the search ends. The MBD point at this time is the optimal matching point, and the corresponding pixel block is the best matching block; if the MBD point is not at the center of the template, the current MBD point is the center point, and continues. Perform a small diamond search until the MBD point falls to the center point.
  • MBD minimum error
  • Hexagon Search Algorithm This method uses 1 large template (hexagon template) and 2 small templates (small diamond template and small square template).
  • the specific search steps are as follows: Step 1: Centering on the search starting point, use the hexagonal template on the left side of the figure to search. Calculate the matching error at the center of the area and the surrounding points at 6 points. If the minimum MBD point is at the template center point, go to step 2. Otherwise, the previous MBD point is used as the center point, and the hexagonal template is used as a template for repeated searches. . Step 2: The previous MBD point is the center point, and a small diamond template search is used to calculate the matching error of each point to find the MBD point. Then take the MBD point as the center point and search with the small square template, and the obtained MBD point is the optimal matching point.
  • Asymmetric cross-type multi-level hexagonal lattice search algorithm (UMH): Step 1: Perform a small diamond search based on the matching error value and two threshold values (for a macroblock of one size, it is a fixed size The relationship between threshold1 and threshold2) is processed accordingly. It is possible to use a medium diamond template or a regular octagon template, or it is possible to jump directly to step 2.
  • Step 2 Search using an asymmetric cross template. The reason for "asymmetry" is that the general horizontal motion is more intense than the vertical motion, so the horizontal search range is set to W, and the vertical search range is set to W/2.
  • Step 3 Use the 5x5 step-by-step search template search.
  • Step 4 Search using a large hexagon template.
  • Step 5 Find the optimal matching point using the hexagon search algorithm.
  • ESA Continuous elimination method
  • step 22 the 16*16 pixel sub-block is divided into four 8*8 pixel sub-blocks.
  • Step 23 Calculate a second motion vector and a second error value of the four 8*8 pixel sub-blocks.
  • the calculation is also performed using the search algorithm described above.
  • Step 24 comparing the first motion vector and the second motion vector.
  • the present invention divides a 16*16 pixel sub-block into four 8*8 pixel sub-blocks, four second motion vectors and four second error values are also obtained.
  • the first error value and the fourth second error value are used for comparison.
  • the macroblock partitioning of the 16*16 pixel sub-block performs motion estimation, and since the present invention has been previously assigned, the error value can be reduced when calculating the motion vector, thereby reducing the code rate and increasing the compression ratio.
  • the present invention has two modes:
  • the first type dividing the 16*16 pixel sub-block into two 16*8 pixel sub-blocks; calculating a third motion vector and a third error value of the two 16*8 pixel sub-blocks by using a motion search algorithm.
  • the second of the two 16*8 pixel sub-blocks may be calculated before calculating the third motion vector and the third error value of the two 16*8 pixel sub-blocks.
  • the preset pixel is actually assigned and then calculated.
  • the second preset pixel point may be a total of 4 pixel points of the upper left corner, the lower left corner, the upper right corner, and the lower right corner of the 16*8 pixel sub-block.
  • the third preset pixel point of the two 8*16 pixel sub-blocks can be actually assigned, the third preset pixel point can be determined randomly, for example, it can be the upper left corner of the 8*16 pixel sub-block. A total of 4 pixels in the lower left corner, upper right corner, and lower right corner. Of course, it can also be other, and the present invention will not be described again.
  • the above is a process in which the first error value is smaller than the second error value, and if the first error value is greater than the second error value, the following embodiment is performed.
  • Step 25 If the first error value is greater than the second error value, divide the 16*16 pixel sub-block into 16 4*4 pixel sub-blocks.
  • the 16*16 pixel sub-block is first divided into four 8*8 pixel sub-blocks;
  • each 8*8 pixel sub-block it is divided into four 4*4 pixel sub-blocks.
  • the 4*4 preset pixel sub-block is a pixel sub-block of the lower right corner of each 8*8 pixel sub-block. That is, the pixel sub-block in the lower right corner of each 8*8 pixel sub-block is determined as a 4*4 preset pixel sub-block.
  • the method of calculating the third error value and the third motion vector of the 4*4 preset pixel sub-block is different from the method of calculating the third error value and the third motion vector of the other 4*4 pixel sub-blocks.
  • the method of calculating the third error value and the third motion vector of the other 4*4 pixel sub-blocks refers to the search algorithm described above.
  • Determining a preset pixel point in the at least one 4*4 preset pixel sub-block the number of the preset pixel points being less than a total number of pixel points in the 4*4 preset pixel sub-block; in order to reduce the amount of data,
  • all the pixel points may not be used, but only the preset pixel points are determined in the 4*4 preset pixel sub-block.
  • the preset pixel is used to calculate the third error value. Therefore, the third error value of the at least one 4*4 preset pixel sub-block can be calculated by using the preset pixel point.
  • the above method can reduce the amount of calculation and improve the efficiency of motion estimation.
  • the pixel area in the middle of the figure has a great influence on the calculation result, so the above improved method is more efficient.
  • This scheme is applicable to situations where the background motion of the image is large, such as an action movie.
  • FIG. 4 is an 8*8 pixel sub-block diagram.
  • the upper left corner, the upper right corner, the lower left corner, and the three 4*4 pixel blocks perform general motion vector and error calculation, right
  • the lower corner 4*4 pixel block first calculates the sum of the error values of the 8 yellow pixel points and the pixel points corresponding to the current block, plus the sum of the errors of the 4 blue pixel points and the current block, wherein the red pixel points do not participate in the error Calculation.
  • Step 26 Calculate a third motion vector and a third error value of the 16 4*4 pixel sub-blocks.
  • step 27 the third error value and the second error value are compared.
  • Step 28 If the third error value is smaller than the second error value, determine a macroblock partition of the 4*4 pixel sub-block corresponding to the minimum third error value and a corresponding third motion vector to perform motion estimation.
  • Step 29 If the second error value is smaller than the third error value, determine a macroblock partition of the 8*8 pixel sub-block corresponding to the minimum second error value and a corresponding second motion vector to perform motion estimation.
  • macroblocks of 8*8 pixel sub-blocks are also first partitioned. There are two ways to divide: the first way: divide the 8*8 pixel sub-block into two 8*4 pixel sub-blocks. The second way: dividing the 8*8 pixel sub-block into two 4*8 pixel sub-blocks.
  • the first way dividing the 8*8 pixel sub-block into two 8*4 pixel sub-blocks; calculating a fifth motion vector and a fifth error value of the two 8*4 pixel sub-blocks.
  • the second way is: dividing the 8*8 pixel sub-block into two 4*8 pixel sub-blocks; calculating a sixth motion vector and a sixth error value of the two 4*8 pixel sub-blocks.
  • the present invention discloses an electronic device, and the electronic device involved in the present application includes but is not limited to: a mobile terminal (mobile phone, smart phone, PAD, notebook computer, etc.), a fixed terminal (computer ).
  • a mobile terminal mobile phone, smart phone, PAD, notebook computer, etc.
  • a fixed terminal computer
  • the electronic device includes a processor 31 and a memory 32:
  • the memory 32 is configured to store a program for executing the method in the above embodiment
  • the processor 31 is configured to execute a program stored in the memory.
  • the mobile communication terminal can be any mobile terminal device including a mobile phone, a tablet computer, a PDA (Personal Digital Assistant), and the like. As shown in FIG. 3, the mobile terminal includes a memory 32 and a processor 31.
  • the memory 32 can be used to store software programs and modules, and the processor 31 executes various software applications and data processing of the mobile terminal by executing software programs and modules stored in the memory 32.
  • the memory 32 may mainly include a storage program area and a storage data area, wherein the storage program area may store an application required by the operating system, at least one function (such as a sound playing function, an image playing function, etc.) (such as a game application, music).
  • the application data area, etc.; the storage data area can store data (such as audio data, phone book, etc.) created according to the use of the mobile phone.
  • the processor 31 moves the control center of the communication terminal, connects the various portions of the entire mobile communication terminal using various interfaces and lines, operates or executes software programs and/or modules stored in the memory 32, and calls stored in the memory 32. Data, performing various functions and processing data of the mobile terminal, thereby performing overall monitoring of the mobile terminal.
  • processor 31 may include one or more processing units.
  • the present invention has the following advantages or advantages:
  • the present invention discloses a method and an electronic device for implementing motion estimation, which first divides a video frame into 16*16 pixel sub-blocks, and then calculates a first motion vector and a first error value of the 16*16 pixel sub-block; Calculating a second motion vector and a second error value by dividing the 16*16 pixel sub-block into four 8*8 pixel sub-blocks; comparing the first motion vector and the second motion vector; if the first error value is greater than the second error value Then, the 16*16 pixel sub-block is divided into 16 4*4 pixel sub-blocks to calculate the third motion vector and the third error value; and the second error value is compared again, and then the minimum error macroblock segmentation and motion vector are selected. Perform motion estimation.
  • the invention uses the comparison method to determine the motion vector required for the specific motion estimation, which can reduce the data saving time and improve the compression ratio.

Landscapes

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

Abstract

本发明公开了一种实现运动估计的方法及电子设备,先将视频帧划分为16*16的像素子块,然后计算所述16*16像素子块的第一运动矢量和第一误差值;在将16*16像素子块划分为4个8*8像素子块计算第二运动矢量和第二误差值;对比第一运动矢量和第二运动矢量;若第一误差值大于第二误差值,再将16*16像素子块划分为16个4*4像素子块计算第三运动矢量和第三误差值;再次和第二误差值进行对比,进而选用最小误差的宏块分割和运动矢量进行运动估计。本发明利用对比方式确定出具体的运动估计所需的运动矢量,能够降低数据量节约时间,提高压缩率。

Description

一种实现运动估计的方法及电子设备 技术领域
本申请涉及视频压缩领域,尤其涉及一种实现运动估计的方法及电子设备。
背景技术
视频的编解码主要靠,预测,转换,编码,来实现的。预测又分为帧间预测和帧内预测,帧内预测用来压缩空间相关性,帧间预测用来压缩时间相关性。
帧内预测是指在程序中定义好一些预测算法,如4*4宏块有9种预测算法(垂直,水平,对角线,平均值……..),16*16宏块有4种预测算法,8*8宏块有4种预测算法。
帧间预测是指从当前片的前面和后面已编码的图像中通过运动估计算法(全局收索,钻石收索,六边形收索等等)计算出当前块相对于参考图像的一个运动矢量。
在经过预测处理操作后,可以将一个宏块的像素点数据,转换为宏块的预测方式既宏块类型,预测模式,运动矢等信息,与宏块的像素点数据占用的空间大小(数据大小)相比宏块类型,预测模式,运动矢量所占的空间会非常小,视频帧是以宏块为单位,从而达到将视频数据进行压缩的目的。
而如何降低视频数据量来提高压缩效率,则是本申请要考虑的问题。
发明内容
本发明了提供了一种实现运动估计的方法及电子设备,以解决目前的如何降低视频数据量来提高压缩效率的技术问题。
为解决上述技术问题,本发明提供了一种实现运动估计的方法,所述方法包括:
将视频帧划分为多个16*16的像素子块,对于每一个16*16的像素子块做如下处理:
计算所述16*16像素子块的第一运动矢量和第一误差值;
将所述16*16像素子块划分为4个8*8像素子块;
计算所述4个8*8像素子块的第二运动矢量和第二误差值;
对比所述第一运动矢量和所述第二运动矢量;
若所述第一误差值大于所述第二误差值,将所述16*16像素子块划分为16个4*4像素子块;
计算所述16个4*4像素子块的第三运动矢量和第三误差值;
将所述第三误差值和所述第二误差值进行对比;
若所述第三误差值小于所述第二误差值,则确定出最小第三误差值对应的4*4像素子块的宏块分割和对应的第三运动矢量进行运动估计;
若所述第二误差值小于所述第三误差值,则确定出最小第二误差值对应的8*8像素子块的宏块分割和对应的第二运动矢量进行运动估计。
优选的,所述对比所述第一运动矢量和所述第二运动矢量之后,还包括:
若所述第一运动矢量小于所述第二运动矢量,则确定出所述16*16像素子块的宏块分割和所述第一运动矢量进行运动估计。
优选的,所述确定出所述16*16像素子块的宏块分割和所述第一运动矢量进行运动估计,包括:
将所述16*16像素子块分割为两个16*8像素子块;
计算所述两个16*8像素子块的第四运动矢量和第四误差值。
优选的,所述确定出所述16*16像素子块的宏块分割和所述第一运动矢量进行运动估计,包括:
将所述16*16像素子块分割为两个8*16像素子块;
计算所述两个8*16像素子块的第五运动矢量和第五误差值。
优选的,所述将所述16*16像素子块划分为16个4*4像素子块,包括:
先将所述16*16像素子块划分为4个8*8像素子块;
对于每个8*8像素子块,分别划分为4个4*4像素子块。
优选的,所述计算所述16个4*4像素子块的第三运动矢量和第三误差值,包括:
在每个8*8像素子块中,确定出至少一个4*4预设像素子块;
在所述至少一个4*4预设像素子块中确定出预设像素点,所述预设像素点的数目小于4*4预设像素子块中的像素点总数目;
利用所述预设像素点计算出所述至少一个4*4预设像素子块的所述第三误差值。
优选的,所述4*4预设像素子块是每个8*8像素子块中的右下角的像素子块。
优选的,所述确定出最小第二误差值对应的8*8像素子块的宏块分割和对应的第二运动矢量进行运动估计,包括:
将所述8*8像素子块划分为两个8*4像素子块;
计算所述两个8*4像素子块的第五运动矢量和第五误差值。
优选的,所述确定出最小第二误差值对应的8*8像素子块的宏块分割和对 应的第二运动矢量进行运动估计,包括:
将所述8*8像素子块划分为两个4*8像素子块;
计算所述两个4*8像素子块的第六运动矢量和第六误差值。
本发明公开了一种电子设备,其特征在于,包括处理器和存储器:
所述存储器用于存储执行上述技术方案所述方法的程序,
所述处理器被配置为用于执行所述存储器中存储的程序。
通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:
本发明公开了一种实现运动估计的方法及电子设备,先将视频帧划分为16*16的像素子块,然后计算所述16*16像素子块的第一运动矢量和第一误差值;在将16*16像素子块划分为4个8*8像素子块计算第二运动矢量和第二误差值;对比第一运动矢量和第二运动矢量;若第一误差值大于第二误差值,再将16*16像素子块划分为16个4*4像素子块计算第三运动矢量和第三误差值;再次和第二误差值进行对比,进而选用最小误差的宏块分割和运动矢量进行运动估计。本发明利用对比方式确定出具体的运动估计所需的运动矢量,能够降低数据量节约时间,提高压缩率。
进一步的,本发明在计算第三误差值时,并不是所有的4*4像素子块的像素点都进行了计算,而只是挑选预设像素点来进行计算,故而可以降低计算量,提高运动估计运算效率。一般进行运动估计计算时,图中间像素区域对计算结果影响大,所以采用上述改进方法效率更高。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例中单向预测的实施原理图;
图2为本发明实施例中一种实现运动估计的方法的实施过程图;
图3为本发明实施例中电子设备的示意图;
图4为本发明实施例中8*8像素子块的示意图。
具体实施方式
为了使本申请所属技术领域中的技术人员更清楚地理解本申请,下面结合附图,通过具体实施例对本申请技术方案作详细描述。
基于上述问题,本发明公开了一种实现运动估计的方法。
首先,参看图1,先介绍帧间预测的实施原理。
帧间预测分为单向预测和双向预测,单向预测的实施过程如下:
1,输入当前视频帧数据f t(x,y);
2,获取预测预测帧数据,由帧预测器返回。
a.从预测器中获取当前帧前面或后面已编码帧作为参考帧。
b.利用运动估计算法(全局收索,钻石收索,六边形收索)计算出当前块
Figure PCTCN2018082158-appb-000001
4,对e(x)进行转换和量化操作获得
Figure PCTCN2018082158-appb-000002
5,对
Figure PCTCN2018082158-appb-000003
进行反量化和反转换,与
Figure PCTCN2018082158-appb-000004
相加获得重建帧,作为下一次的参考帧用于预测。
6,对
Figure PCTCN2018082158-appb-000005
再经熵编码,与解码所需的一些边信息(如预测模式量化参数、预测模式等)一起组成一个压缩后的码流,经NAL(网络自适应层)供传输和存储用。
注意:在进行帧内预测之前需要判断当前帧或片的类型(如是I帧/片,P帧/片,B帧/片),由于判断过程比较复杂,这里只做简单的介绍,首先对视频帧进行1/2缩放(长和宽减少1/2),减小数据量然后对视频帧中的每个宏块进行帧内预测获取每个像素块总共代价值,在进行帧间预测计算总共的代价值,比较哪个值最小来判断帧类型。除此之外,每个I帧的间隔是确定的,所以也可以用来判断帧类型,还有B帧在P帧中间也可以用来判断帧类型。)
双向预测:双向预测不只是利用前一帧像素预测.还需利用后一帧像素,即预测值为
Figure PCTCN2018082158-appb-000006
α t-1和α t+1为预测权值,ij为前一帧运动矢量,i’、j’为后一帧预测矢量。
而本发明主要提供一种实现运动估计的方法,用以确定出运动矢量进行运动估计,以降低码率提高压缩率。本发明的方法主要针对视频流进行处理,例如XX直播视频流、或者普通的视频流等等。
参看图2,本发明的方法包括:
首先,对于每一帧视频,本发明都会将视频帧划分为多个16*16的像素子块,对于每一个16*16的像素子块做如下处理:
步骤21,计算所述16*16像素子块的第一运动矢量和第一误差值。
在具体的实施过程中,可通过运动估计的快速搜索算法来计算16*16像素子块的第一运动矢量和第一误差值。
在本申请中多次出现有运动矢量和误差值。故而本申请首先介绍运动矢量,举例来说,在连续的视频帧中,一般情况下前一帧与后一帧的相似度是比较高的例如我们在利用手机进行拍照是当快速连续拍多张照片是每一张相似度是比较高的,无非是手臂,嘴巴眼睛有幅度的差别既手臂向上或向下移动了,嘴巴闭上了等,因此在视频编码时我们可以将前一帧编码过的视频帧作为参考帧,后一帧为当前需要编码帧,上文提到的运动幅度则是运动矢量,是一个相对值,由于视频是2维的则运动矢量也是2维。通常在编码时是以宏块为单位的故运动矢量都是指宏块的运动矢量。
误差值,误差值的计算方法很多其中SAD是其中之一,误差值可以理解为相似度值越小相似度越大,如把2张视频帧进行SAD计算这是视频帧的相似度,通常在编码时都是以宏块为单位进行编码,当前宏块(当前编码帧的当前编码宏块)和参考宏块(参考帧里面与当前宏块相似度比较高的宏块)会存在一个误差值。
下面介绍运动估计的快速搜索算法。
运动搜索可以分成两种基本类型:(1)全局搜索算法。(2)快速搜索算法。
(1)全局搜索算法。该方法是把搜索区域内所有的像素块逐个与当前宏块进行比较,查找具有最小匹配误差的一个像素块为匹配块。这一方法的好处是可以找到最佳的匹配块,坏处是速度太慢。目前全局搜索算法极少使用。
(2)快速搜索算法。该方法按照一定的数学规则进行匹配块的搜索。这一方法的好处是速度快,坏处是可能只能得到次最佳的匹配块。
下面举例解释几种搜索算法,当然,本发明并不仅限于使用这几种算法。
菱形搜索算法(DIA):以搜索起点为中心,采用小菱形模板(模板半径为1)搜索。计算各点的匹配误差,得到MBD(最小误差)点。如果MBD点在模板中心,则搜索结束,此时的MBD点就是最优匹配点,对应的像素块就是最佳匹配块;如果MBD点不在模板中心位置,则以现在MBD点为中心点,继续进行小菱形搜索,直至MBD点落在中心点为止。
六边形搜索算法(HEX):该方法采用1个大模板(六边形模板)和2个小模板(小菱形模板和小正方形模板)。具体的搜索步骤如下:步骤1:以搜索起点为中心,采用图中左边的六边形模板进行搜索。计算区域中心及周围6个点处的匹配误差并比较,如最小MBD点位于模板中心点,则转至步骤2;否则以上一次的MBD点作为中心点,以六边形模板为模板进行反复搜索。步骤2:以上一次的MBD点为中心点,采用小菱形模板搜索,计算各点的匹配误差,找到MBD点。然后以MBD点为中心点,采用小正方形模板搜索,得到的 MBD点就是最优匹配点。
非对称十字型多层次六边形格点搜索算法(UMH):步骤1:进行一次小菱形搜索,根据匹配误差值和两个门限值(对于一种尺寸的宏块来说是固定大小的threshold1和threshold2)之间的关系作相应的处理,可能用到中菱形模板或者正八边形模板,也有可能直接跳到步骤2。步骤2:使用非对称十字模板搜索。“非对称”的原因是一般水平方向运动要比垂直方向运动剧烈,所以将水平方向搜索范围定为W,垂直方向搜索范围定为W/2。步骤3:使用5x5逐步搜索模板搜索。步骤4:使用大六边形模板搜索。步骤5:使用六边形搜索算法找到最优匹配点。
连续消除法(ESA、TESA):该方法是一种全搜索算法,它对搜索区域内的点进行光栅式搜索,逐一计算并较。
步骤22,将所述16*16像素子块划分为4个8*8像素子块。
步骤23,计算所述4个8*8像素子块的第二运动矢量和第二误差值。
具体来说,在计算4个8*8像素子块的第二运动矢量和第二误差值时,也是利用上述描述的搜索算法进行计算。
步骤24,对比所述第一运动矢量和所述第二运动矢量。
由于本发明将16*16像素子块划分为4个8*8像素子块,故而也会获得4个第二运动矢量和4个第二误差值。而在对比时,是利用第一误差值和4个第二误差值进行对比,在对比之后,如果第一误差值比4个第二误差值都小,那么则确定选用所述第一运动矢量、和所述16*16像素子块的宏块分割进行运动估计,又由于本发明在之前已经进行了赋值,故而在计算运动矢量时能够减少误差值,进而降低码率,提高压缩率。
而在进行运动估计时,具体实施过程如下:
由于在对16*16像素子块分割时,可以划分为两个16*8像素子块;也可以划分为两个8*16像素子块,故而本发明有两种方式:
第一种:将所述16*16像素子块分割为两个16*8像素子块;利用运动搜索算法计算所述两个16*8像素子块的第三运动矢量和第三误差值。当然,作为一种可选的实施例,可以在计算所述两个16*8像素子块的第三运动矢量和第三误差值之前,对所述两个16*8像素子块的第二预设像素点进行实际赋值,然后再进行计算。第二预设像素点可以是16*8像素子块的左上角、左下角、右上角、右下角总共4个像素点。当然也可以为其他,在此本发明不再赘述。
第二种:将所述16*16像素子块分割为两个8*16像素子块;利用运动搜索算法计算所述两个8*16像素子块的第四运动矢量和第四误差值。当然,在此之前也可以对两个8*16像素子块的第三预设像素点进行实际赋值,第三预设像素 点的确定可以随意,例如可以是8*16像素子块的左上角、左下角、右上角、右下角总共4个像素点。当然也可以为其他,在此本发明不再赘述。
以上是第一误差值小于所述第二误差值所做的处理,若所述第一误差值大于所述第二误差值,那么则进行下面的实施方式。
步骤25,若所述第一误差值大于所述第二误差值,将所述16*16像素子块划分为16个4*4像素子块。
在划分的过程中,先将所述16*16像素子块划分为4个8*8像素子块;
对于每个8*8像素子块,分别划分为4个4*4像素子块。
而在计算所述16个4*4像素子块的第三运动矢量和第三误差值时,在每个8*8像素子块中,确定出至少一个4*4预设像素子块。在8*8像素子块中共有4个4*4像素子块,故而,在确定4*4预设像素子块时,可以将这4个4*4像素子块中的任意一个、两个或者多个确定为4*4预设像素子块。例如,所述4*4预设像素子块是每个8*8像素子块中的右下角的像素子块。即:每个8*8像素子块中的右下角的像素子块确定为4*4预设像素子块。
4*4预设像素子块的计算第三误差值和第三运动矢量的方法和其他4*4像素子块的计算第三误差值和第三运动矢量的方法不同。其他4*4像素子块的计算第三误差值和第三运动矢量的方法参照上述描述的搜索算法。而对于4*4预设像素子块的计算第三误差值和第三运动矢量的方法,则请参看下方:
在所述至少一个4*4预设像素子块中确定出预设像素点,所述预设像素点的数目小于4*4预设像素子块中的像素点总数目;为了减少数据量,在计算误差值时,可以不使用全部的像素点,而只是在4*4预设像素子块中确定出预设像素点。预设像素点就是用来计算第三误差值的。故而可以利用所述预设像素点计算出所述至少一个4*4预设像素子块的所述第三误差值。
以上的方式可以降低计算量,提高运动估计运算效率。一般进行运动估计计算时,图中间像素区域对计算结果影响大,所以采用上述改进方法效率更高。本方案适用于图像的背景运动较大大的情况,例如动作片
下面举例进行说明,请参看图4,为8*8像素子块图。是针对当计算16个4*4运动矢量和误差值时,一个8*8像素块中,左上角,右上角,左下角,3个4*4像素块进行一般的运动矢量和误差计算,右下角4*4像素块首先计算8个黄色像素点与当前块对应的像素点的误差值的和,加上4个蓝色像素点与当前块对应的误差的和,其中红色像素点不参与误差计算。
步骤26,计算所述16个4*4像素子块的第三运动矢量和第三误差值。
步骤27,将所述第三误差值和所述第二误差值进行对比。
步骤28,若所述第三误差值小于所述第二误差值,则确定出最小第三误差 值对应的4*4像素子块的宏块分割和对应的第三运动矢量进行运动估计。
步骤29,若所述第二误差值小于所述第三误差值,则确定出最小第二误差值对应的8*8像素子块的宏块分割和对应的第二运动矢量进行运动估计。
在具体的实施过程中,如果对8*8像素子块的宏块分割进行运动估计,那么也会先对8*8像素子块的宏块进行划分。在划分时具有两种方式:第一种方式:将所述8*8像素子块划分为两个8*4像素子块。第二种方式:将所述8*8像素子块划分为两个4*8像素子块。
第一种方式:将所述8*8像素子块划分为两个8*4像素子块;计算所述两个8*4像素子块的第五运动矢量和第五误差值。
第二种方式:将所述8*8像素子块划分为两个4*8像素子块;计算所述两个4*8像素子块的第六运动矢量和第六误差值。
参看图3,基于同一发明构思,本发明公开了一种电子设备,本申请涉及的电子设备包括但不限于是:移动终端(手机、智能手机、PAD、笔记本电脑等等)、固定终端(计算机)。
该电子设备包括处理器31和存储器32:
所述存储器32用于存储执行上述实施例中的方法的程序,
所述处理器31被配置为用于执行所述存储器中存储的程序。
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该移动通信终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)等任意移动终端设备。如图3所述,所述移动终端包括存储器32和处理器31。
存储器32可用于存储软件程序以及模块,处理器31通过运行执行存储在存储器32的软件程序以及模块,从而执行移动终端的各种功能应用以及数据处理。
存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能(比如声音播放功能、图像播放功能等)所需的应用程序(比如游戏类应用程序、音乐类应用程序等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。处理器31移动通信终端的控制中心,利用各种接口和线路连接整个移动通信终端的各个部分,通过运行或执行存储在存储器32内的软件程序和/或模块,以及调用存储在存储器32内的数据,执行移动终端机的各种功能和处理数据,从而对移动终端机进行整体监控。可选的,处理器31可包括一个或多个处理单元。
通过本发明的一个或者多个实施例,本发明具有以下有益效果或者优点:
本发明公开了一种实现运动估计的方法及电子设备,先将视频帧划分为 16*16的像素子块,然后计算所述16*16像素子块的第一运动矢量和第一误差值;在将16*16像素子块划分为4个8*8像素子块计算第二运动矢量和第二误差值;对比第一运动矢量和第二运动矢量;若第一误差值大于第二误差值,再将16*16像素子块划分为16个4*4像素子块计算第三运动矢量和第三误差值;再次和第二误差值进行对比,进而选用最小误差的宏块分割和运动矢量进行运动估计。本发明利用对比方式确定出具体的运动估计所需的运动矢量,能够降低数据量节约时间,提高压缩率。
进一步的,本发明在计算第三误差值时,并不是所有的4*4像素子块的像素点都进行了计算,而只是挑选预设像素点来进行计算,故而可以降低计算量,提高运动估计运算效率。一般进行运动估计计算时,图中间像素区域对计算结果影响大,所以采用上述改进方法效率更高。
尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

  1. 一种实现运动估计的方法,其特征在于,所述方法包括:
    将视频帧划分为多个16*16的像素子块,对于每一个16*16的像素子块做如下处理:
    计算所述16*16像素子块的第一运动矢量和第一误差值;
    将所述16*16像素子块划分为4个8*8像素子块;
    计算所述4个8*8像素子块的第二运动矢量和第二误差值;
    对比所述第一运动矢量和所述第二运动矢量;
    若所述第一误差值大于所述第二误差值,将所述16*16像素子块划分为16个4*4像素子块;
    计算所述16个4*4像素子块的第三运动矢量和第三误差值;
    将所述第三误差值和所述第二误差值进行对比;
    若所述第三误差值小于所述第二误差值,则确定出最小第三误差值对应的4*4像素子块的宏块分割和对应的第三运动矢量进行运动估计;
    若所述第二误差值小于所述第三误差值,则确定出最小第二误差值对应的8*8像素子块的宏块分割和对应的第二运动矢量进行运动估计。
  2. 如权利要求1所述的方法,其特征在于,所述对比所述第一运动矢量和所述第二运动矢量之后,还包括:
    若所述第一运动矢量小于所述第二运动矢量,则确定出所述16*16像素子块的宏块分割和所述第一运动矢量进行运动估计。
  3. 如权利要求2所述的方法,其特征在于,所述确定出所述16*16像素子块的宏块分割和所述第一运动矢量进行运动估计,包括:
    将所述16*16像素子块分割为两个16*8像素子块;
    计算所述两个16*8像素子块的第四运动矢量和第四误差值。
  4. 如权利要求2所述的方法,其特征在于,所述确定出所述16*16像素子块的宏块分割和所述第一运动矢量进行运动估计,包括:
    将所述16*16像素子块分割为两个8*16像素子块;
    计算所述两个8*16像素子块的第五运动矢量和第五误差值。
  5. 如权利要求1所述的方法,其特征在于,所述将所述16*16像素子块划分为16个4*4像素子块,包括:
    先将所述16*16像素子块划分为4个8*8像素子块;
    对于每个8*8像素子块,分别划分为4个4*4像素子块。
  6. 如权利要求5所述的方法,其特征在于,所述计算所述16个4*4像素子块的第三运动矢量和第三误差值,包括:
    在每个8*8像素子块中,确定出至少一个4*4预设像素子块;
    在所述至少一个4*4预设像素子块中确定出预设像素点,所述预设像素点的数目小于4*4预设像素子块中的像素点总数目;
    利用所述预设像素点计算出所述至少一个4*4预设像素子块的所述第三误差值。
  7. 如权利要求6所述的方法,其特征在于,所述4*4预设像素子块是每个8*8像素子块中的右下角的像素子块。
  8. 如权利要求1所述的方法,其特征在于,所述确定出最小第二误差值对应的8*8像素子块的宏块分割和对应的第二运动矢量进行运动估计,包括:
    将所述8*8像素子块划分为两个8*4像素子块;
    计算所述两个8*4像素子块的第五运动矢量和第五误差值。
  9. 如权利要求1所述的方法,其特征在于,所述确定出最小第二误差值对应的8*8像素子块的宏块分割和对应的第二运动矢量进行运动估计,包括:
    将所述8*8像素子块划分为两个4*8像素子块;
    计算所述两个4*8像素子块的第六运动矢量和第六误差值。
  10. 一种电子设备,其特征在于,包括处理器和存储器:
    所述存储器用于存储执行权利要求1至9任一项所述方法的程序,
    所述处理器被配置为用于执行所述存储器中存储的程序。
PCT/CN2018/082158 2017-05-12 2018-04-08 一种实现运动估计的方法及电子设备 WO2018205781A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710334106.9 2017-05-12
CN201710334106.9A CN107197281A (zh) 2017-05-12 2017-05-12 一种实现运动估计的方法及电子设备

Publications (1)

Publication Number Publication Date
WO2018205781A1 true WO2018205781A1 (zh) 2018-11-15

Family

ID=59872761

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/082158 WO2018205781A1 (zh) 2017-05-12 2018-04-08 一种实现运动估计的方法及电子设备

Country Status (2)

Country Link
CN (1) CN107197281A (zh)
WO (1) WO2018205781A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107197281A (zh) * 2017-05-12 2017-09-22 武汉斗鱼网络科技有限公司 一种实现运动估计的方法及电子设备
CN110545402A (zh) * 2019-08-18 2019-12-06 宁波职业技术学院 一种井下监控视频处理方法、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040114688A1 (en) * 2002-12-09 2004-06-17 Samsung Electronics Co., Ltd. Device for and method of estimating motion in video encoder
CN103220488A (zh) * 2013-04-18 2013-07-24 北京大学 一种视频帧率上转换装置及方法
CN103345763A (zh) * 2013-06-25 2013-10-09 西安理工大学 一种基于多尺度可变块的运动注意力计算方法
CN103501437A (zh) * 2013-09-29 2014-01-08 北京航空航天大学 一种基于分形和h.264的高光谱图像压缩方法
CN105681807A (zh) * 2016-01-06 2016-06-15 福州瑞芯微电子股份有限公司 一种基于h264协议的分像素运动矢量计算方法和装置
CN107197281A (zh) * 2017-05-12 2017-09-22 武汉斗鱼网络科技有限公司 一种实现运动估计的方法及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101527854A (zh) * 2009-01-20 2009-09-09 源见科技(苏州)有限公司 帧间模式选择方法
CN105721870A (zh) * 2014-12-03 2016-06-29 北京君正集成电路股份有限公司 Hevc中编码单元分割方式的判定方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040114688A1 (en) * 2002-12-09 2004-06-17 Samsung Electronics Co., Ltd. Device for and method of estimating motion in video encoder
CN103220488A (zh) * 2013-04-18 2013-07-24 北京大学 一种视频帧率上转换装置及方法
CN103345763A (zh) * 2013-06-25 2013-10-09 西安理工大学 一种基于多尺度可变块的运动注意力计算方法
CN103501437A (zh) * 2013-09-29 2014-01-08 北京航空航天大学 一种基于分形和h.264的高光谱图像压缩方法
CN105681807A (zh) * 2016-01-06 2016-06-15 福州瑞芯微电子股份有限公司 一种基于h264协议的分像素运动矢量计算方法和装置
CN107197281A (zh) * 2017-05-12 2017-09-22 武汉斗鱼网络科技有限公司 一种实现运动估计的方法及电子设备

Also Published As

Publication number Publication date
CN107197281A (zh) 2017-09-22

Similar Documents

Publication Publication Date Title
JP5937717B2 (ja) 映像復号化方法及び装置
US20220217337A1 (en) Method, codec device for intra frame and inter frame joint prediction
RU2559738C2 (ru) Способ и устройство для кодирования/декодирования вектора движения
US11336915B2 (en) Global motion vector video encoding systems and methods
CN106170093B (zh) 一种帧内预测性能提升编码方法
WO2022088631A1 (zh) 图像编码方法、图像解码方法及相关装置
CN111479115B (zh) 一种视频图像处理方法、装置及计算机可读存储介质
CN101888546B (zh) 一种运动估计的方法及装置
US20150208094A1 (en) Apparatus and method for determining dct size based on transform depth
CN109688407B (zh) 编码单元的参考块选择方法、装置、电子设备及存储介质
WO2021238605A1 (zh) 视频编码、解码方法、装置、电子设备及存储介质
CN104581170A (zh) 基于hevc降视频分辨率的快速帧间转码的方法
WO2018205781A1 (zh) 一种实现运动估计的方法及电子设备
US11330296B2 (en) Systems and methods for encoding image data
WO2018205780A1 (zh) 一种运动估计实现方法及电子设备
US11006143B2 (en) Motion vector candidate pruning systems and methods
EP3742734A1 (en) Method and device for selecting prediction direction in image encoding, and storage medium
Jillani et al. Multi-view clustering for fast intra mode decision in HEVC
WO2022198465A1 (zh) 一种编码方法及装置
WO2022061563A1 (zh) 视频编码方法、装置及计算机可读存储介质
WO2016176849A1 (zh) 一种自适应运动估计方法和模块
KR100987581B1 (ko) 고속 움직임 추정을 위한 부분 블록정합 방법
JP2002218475A (ja) ビデオ画像モーション評価の計算減量方法およびその装置
WO2021238606A1 (zh) 视频编码、解码方法、装置、电子设备及存储介质
WO2023065890A1 (zh) 多媒体数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品

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: 18798757

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: 18798757

Country of ref document: EP

Kind code of ref document: A1