CN112437305B - Method and device for judging macro block type, image processing chip and electronic equipment - Google Patents

Method and device for judging macro block type, image processing chip and electronic equipment Download PDF

Info

Publication number
CN112437305B
CN112437305B CN202010837815.0A CN202010837815A CN112437305B CN 112437305 B CN112437305 B CN 112437305B CN 202010837815 A CN202010837815 A CN 202010837815A CN 112437305 B CN112437305 B CN 112437305B
Authority
CN
China
Prior art keywords
motion vector
skip
macro block
macroblock
cost
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.)
Active
Application number
CN202010837815.0A
Other languages
Chinese (zh)
Other versions
CN112437305A (en
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.)
Zhuhai Jieli Technology Co Ltd
Original Assignee
Zhuhai Jieli 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 Zhuhai Jieli Technology Co Ltd filed Critical Zhuhai Jieli Technology Co Ltd
Priority to CN202010837815.0A priority Critical patent/CN112437305B/en
Publication of CN112437305A publication Critical patent/CN112437305A/en
Application granted granted Critical
Publication of CN112437305B publication Critical patent/CN112437305B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention provides a macro block type judging method, a macro block type judging device, an image processing chip and electronic equipment, wherein the judging method comprises the following steps of aiming at a current block: calculating a first judgment mark, a second judgment mark and a third judgment mark of the skip mode, a first cost, a second cost and a third cost, an intra-frame prediction cost and a final skip motion vector of the skip mode; and finally judging the type of the current macro block according to whether the first judgment mark, the second judgment mark and the third judgment mark of the skip mode are skip types, whether the first temporary skip motion vector, the second temporary skip motion vector and the sub-pixel motion vector after macro block motion estimation in the skip mode are equal to the final skip motion vector in the skip mode, and the difference between the first cost, the second cost, the third cost and the intra-frame prediction cost. The invention can process in parallel and improve the accuracy of judging the type of the jumping macro block.

Description

Method and device for judging macro block type, image processing chip and electronic equipment
Technical Field
The present invention relates to the field of video compression coding technologies, and in particular, to a method and an apparatus for determining a macroblock type, an image processing chip, and an electronic device.
Background
H.264/AVC is a video compression standard jointly established by two international standardization bodies of ISO/IEC and ITU-T, adopts a plurality of new compression technologies, and has higher compression efficiency and better network adaptability. Under the condition of the same image quality, a smaller code stream is generated, so that more bandwidth is saved. Since h.264 adopts more encoding techniques, the complexity of the algorithm is increased, and the difficulty of hardware implementation is also increased.
An important feature of h.264 is the use of transform size mode selection and motion estimation. The current frame is predicted by using the coded reference frame, and each macro block in the current frame is represented by using a residual block and a motion vector, so that the time correlation among video sequences is effectively eliminated. In the h.264 standard, SKIP blocks (SKIP macroblocks) are introduced during P frame coding, so as to effectively code large-area static areas and areas with consistent motion. The SKIP block is also a motion prediction compensation mode with a 16x16 block size, especially under the condition of a static scene or a constant motion background, the proportion of SKIP macro blocks is very large, and in the coding process, in order to reduce the code rate to a large extent, if a part of macro blocks are known as SKIP macro blocks in advance, the SKIP macro blocks do not need to be subjected to DCT (discrete cosine transformation) and quantization processing, namely, motion vectors and residual errors do not need to be coded, only the SKIP macro blocks are marked, and when decoding is carried out, corresponding macro blocks are directly copied from a reference frame according to the marks. Therefore, the judgment of the SKIP macro block is very important in improving the coding effect and reducing the code rate.
x264 is an open-source h.264/AVC video coding function library, one of the best video encoders to implement the h.264 standard. In the existing x264 coding model, the judgment on the SKIP mode of the P frame includes three methods, and the following discussion assumes that the encoder only uses one forward reference frame and the P frame only uses 16x16 partitions.
The first traditional scheme is as follows: before the whole pixel motion estimation (i.e. IME) starts, if one of the left neighbor block, the upper left neighbor block, and the upper right neighbor block of the current macroblock is an SKIP block, then execute the decision function x264_ macroblock _ probe _ pskip () (which can be called SKIP macroblock SKIP mode cost calculation method) of the SKIP block, and specifically operate to obtain a reconstructed luminance macroblock and a reconstructed chrominance macroblock according to the predicted mv (denoted as pskip _ mv) of the SKIP mode of the current macroblock and a reference frame, and then perform DCT transform, quantization, and zigzag scanning on the reconstructed luminance block and chrominance block respectively by taking 4x4 as a unit, and determine whether the current macroblock is an SKIP block according to the number of nonzero values after scanning of 4x4 blocks.
The second traditional scheme is as follows: after the motion estimation (i.e., FME) of the sub-pixels in the 16x16 mode of the current macroblock is finished, if the obtained mv is very close to the pskip _ mv of the current macroblock and the optimal cost value after the motion estimation is smaller than a certain threshold value, a function x264_ macroblock _ probe _ pskip () is executed to determine whether the current macroblock is a skip block.
The traditional scheme is three: in the process of macroblock coding, after quantization is finished, if the current macroblock is a P block and the partition size is 16 × 16, the quantized coefficients are mostly 0, and mv after macroblock motion estimation is equal to pskip _ mv of the current macroblock, the current macroblock is determined to be a skip block.
The first and second conventional schemes judge that the type of the left macro block needs to be relied on when the skip mode pskip _ mv is obtained, and the dependence relationship will affect the parallel implementation of hardware pipelining, so that the hardware pipelining is prolonged, and the real-time encoding speed of an encoder is reduced. Although the third conventional scheme can implement parallel processing to a certain extent, the third conventional scheme has the premise that the judgment step becomes an SKIP block after the macroblock type is determined, and the current macroblock type is a P block. If the intra-frame prediction cost and the inter-frame prediction cost of the current macro block are equivalent, and the final macro block type is determined as an I block, some SKIP blocks are easy to ignore, and for some static or non-severe motion scenes, the proportion of the SKIP blocks is low, so that an encoder cannot meet the application in a code rate severe environment.
Disclosure of Invention
Based on the above situation, the main objective of the present invention is to provide a method and an apparatus for determining a macroblock type, an image processing chip and an electronic device, so as to improve the accuracy of determining a skip macroblock type and the parallel processing.
In order to achieve the purpose, the technical scheme adopted by the invention is as follows:
a method for judging the type of a macroblock to be coded of a video frame comprises the following steps: s100, calculating a temporary prediction motion vector of the current macro block according to the motion vector of a non-left neighbor macro block in front of the current macro block by using a motion vector prediction algorithm; s200, setting a first temporary jumping motion vector of a jumping mode of the current macro block, and calculating a first judgment mark and a first cost of the jumping mode of the current macro block according to the temporary prediction motion vector and the first temporary jumping motion vector of the jumping mode by using a jumping mode cost calculation method; s300, temporarily setting the type of a left adjacent macro block of the current macro block as an inter macro block, calculating a second temporary jumping motion vector of a jumping mode of the current macro block according to the sub-pixel motion vector of the left adjacent macro block and the motion vector of the non-left adjacent macro block by using a jumping motion vector prediction algorithm, and calculating a second judgment flag and a second cost of the jumping mode of the current macro block according to the temporary prediction motion vector and the second temporary jumping motion vector of the jumping mode by using the jumping mode cost calculation method; s400, performing sub-pixel motion estimation on the current macro block to obtain a sub-pixel motion vector of the current macro block, and calculating a third judgment flag and a third cost of a skip mode of the current macro block according to the temporary prediction motion vector and the sub-pixel motion vector of the current macro block by using the skip mode cost calculation method; s500, calculating the intra-frame prediction cost of the current macro block; s600, after the type of the left side neighbor macro block is determined, calculating a final jump motion vector of a jump mode of the current macro block according to motion vectors of the left side neighbor macro block and a non-left side neighbor macro block by utilizing the jump motion vector prediction algorithm; s700, if the first determination flag of the skip mode is the skip type, the first temporary skip motion vector of the skip mode is equal to the final skip motion vector of the skip mode, and the difference between the first cost and the intra prediction cost is not greater than the first threshold, or the second determination flag of the skip mode is the skip type, the second temporary skip motion vector of the skip mode is equal to the final skip motion vector of the skip mode, and the difference between the second cost and the intra prediction cost is not greater than the first threshold, or the third determination flag of the skip mode is the skip type, the sub-pixel motion vector of the current macro block is equal to the final skip motion vector of the skip mode, and the difference between the third cost and the intra prediction cost is not greater than the second threshold, determining the current macro block as a skip macro block.
Preferably, the step S400 further includes the steps of: acquiring a temporary inter-frame prediction cost of the current macro block generated in the process of performing sub-pixel motion estimation on the current macro block; the step S600 further includes the steps of: calculating the final predicted motion vector of the current macro block according to the motion vectors of the left neighbor macro block and the non-left neighbor macro block by utilizing the motion vector prediction algorithm; correcting the temporary inter-frame prediction cost according to the difference between the final prediction motion vector and the temporary prediction motion vector by using the inter-frame prediction block cost algorithm to obtain the final inter-frame prediction cost of the current macro block; in step S700, if the current macroblock is not determined to be a skip macroblock: and comparing the intra-frame prediction cost with the final inter-frame prediction cost, if the intra-frame prediction cost is less than the final inter-frame prediction cost, judging the type of the current macro block as an intra-frame macro block, otherwise, judging the type of the current macro block as an inter-frame macro block.
Preferably, in the step S200, the first temporary skip motion vector of the skip mode of the current macroblock is set to a zero vector.
Preferably, the non-left neighboring macro block is a top-left neighboring macro block, a top-right neighboring macro block, and a top-left neighboring macro block of the current macro block, that is, three neighboring macro blocks are taken for calculation.
Preferably, the first threshold and the second threshold are both 0.
Preferably, the partition mode of all macroblocks is 16 × 16 pixels.
The invention also provides a device for judging the type of the macro block to be coded of the video frame, which comprises the following components: a first processing unit for calculating a temporary prediction motion vector of a current macroblock according to motion vectors of non-left neighbor macroblocks in front of the current macroblock by using a motion vector prediction algorithm; a second processing unit, configured to set a first temporary skip motion vector of a skip mode of the current macroblock, and calculate a first determination flag and a first cost of the skip mode of the current macroblock according to the temporary prediction motion vector and the first temporary skip motion vector of the skip mode by using a skip mode cost calculation method; a third processing unit, configured to temporarily set a type of a left neighboring macroblock of the current macroblock as an inter macroblock, calculate a second temporary skip motion vector of a skip mode of the current macroblock according to a sub-pixel motion vector of the left neighboring macroblock and a motion vector of the non-left neighboring macroblock by using a skip motion vector prediction algorithm, and calculate a second determination flag and a second cost of the skip mode of the current macroblock according to the temporary prediction motion vector and the second temporary skip motion vector of the skip mode by using the skip mode cost calculation method; a fourth processing unit, configured to perform sub-pixel motion estimation on the current macroblock to obtain a sub-pixel motion vector of the current macroblock, and calculate, by using the skip mode cost calculation method, a third determination flag and a third cost of the skip mode of the current macroblock according to the temporary prediction motion vector and the sub-pixel motion vector of the current macroblock; a fifth processing unit, configured to calculate an intra prediction cost of the current macroblock; a sixth processing unit, configured to calculate, by using the skip motion vector prediction algorithm, a final skip motion vector of the skip mode of the current macroblock according to motion vectors of the left neighboring macroblock and the non-left neighboring macroblock after the type of the left neighboring macroblock is determined; a seventh processing unit, configured to determine the current macroblock as a skip macroblock if the first determination flag of the skip mode is a skip type, the first temporary skip motion vector of the skip mode is equal to a final skip motion vector of the skip mode, and a difference between the first cost and the intra prediction cost is not greater than a first threshold, or the second determination flag of the skip mode is a skip type, the second temporary skip motion vector of the skip mode is equal to a final skip motion vector of the skip mode, and a difference between the second cost and the intra prediction cost is not greater than the first threshold, or the third determination flag of the skip mode is a skip type, the sub-pixel motion vector of the current macroblock is equal to a final skip motion vector of the skip mode, and a difference between the third cost and the intra prediction cost is not greater than a second threshold.
Preferably, the fourth processing unit is further configured to: acquiring a temporary inter-frame prediction cost of the current macro block generated in the process of performing sub-pixel motion estimation on the current macro block; the sixth processing unit is further configured to: calculating the final predicted motion vector of the current macro block according to the motion vectors of the left neighbor macro block and the non-left neighbor macro block by utilizing the motion vector prediction algorithm; correcting the temporary inter-frame prediction cost according to the difference between the final prediction motion vector and the temporary prediction motion vector by using the inter-frame prediction block cost algorithm to obtain the final inter-frame prediction cost of the current macro block; the seventh processing unit is further configured to: if the current macro block is not judged to be the skip macro block, comparing the intra-frame prediction cost with the final inter-frame prediction cost, if the intra-frame prediction cost is smaller than the final inter-frame prediction cost, judging the type of the current macro block to be the intra-frame macro block, otherwise, judging the type of the current macro block to be the inter-frame macro block.
Preferably, the second processing unit is further configured to: setting a first temporary skip motion vector of a skip mode of the current macroblock to a zero vector.
Preferably, the non-left neighboring macro block is a top-left neighboring macro block, a top-right neighboring macro block and a top-left neighboring macro block in front of the current macro block, that is, three neighboring macro blocks are taken for calculation.
Preferably, the partition mode of all macroblocks is 16 × 16 pixels.
The invention also provides an image processing chip which is used for executing the judgment method of any macro block type.
The invention also provides an image processing electronic device which comprises the image processing chip.
[ PROBLEMS ] A medicine for treating diabetes
The invention pre-judges the current macro block type through the first judgment mark and the first cost of the jump mode, the second judgment mark and the second cost of the jump mode and the third judgment mark and the third cost of the jump mode, and finally judges the macro block type according to the parameters, the final jump motion vector of the jump mode, the intra-frame prediction cost, the first threshold value, the second threshold value and other parameters, thereby solving the problem that the jump macro block is misjudged as the intra-frame prediction macro block when the intra-frame prediction cost and the inter-frame prediction cost are equivalent in the prior art and greatly meeting the application of an encoder in the environment with strict code rate requirement. In addition, the invention can also process the judgment of the macro block coding and the jumping macro block type in parallel, shortens the hardware production line, saves certain hardware design logic and improves the real-time coding speed of the coder.
Other advantages of the present invention will be described in the detailed description, and those skilled in the art will understand the technical features and technical solutions presented in the description.
Drawings
Hereinafter, preferred embodiments according to the present invention will be described with reference to the accompanying drawings. In the figure:
FIG. 1 is a diagram of a hardware encoder for executing the macroblock type determining method of the present invention
FIG. 2 is a schematic diagram of parallel processing of multiple macroblocks
FIG. 3 is a partial flowchart of a method for determining a macroblock type according to an embodiment of the present invention
FIG. 4 is a partial flowchart of a method for determining a macroblock type according to an embodiment of the present invention
FIG. 5 is a schematic diagram of a current macroblock within a current frame and its preceding neighbor macroblocks (the left macroblock is not available)
FIG. 6 is a schematic diagram of a current macroblock within a current frame and its preceding neighbor macroblocks (left macroblock available)
Detailed Description
Fig. 1 is a schematic diagram of an embodiment of a hardware encoder for executing the method for determining the macroblock type according to the present invention, wherein the encoder includes an integer pixel motion estimation (IME) unit, a sub-pixel motion estimation (FME) unit, an intra-frame prediction and transform quantization unit, and a macroblock type determination unit, wherein the integer pixel motion estimation unit performs a first macroblock type pre-determination step specific to the present invention in addition to an integer pixel motion estimation algorithm commonly used in the prior art to calculate an integer pixel motion vector of a macroblock; the sub-pixel motion estimation unit not only executes a sub-pixel motion estimation algorithm which is common in the prior art to calculate the sub-pixel motion vector of the macro block and the corresponding inter-frame prediction cost, but also needs to execute a macro block type pre-judgment step II and a pre-judgment step III which are special in the invention; the intra-frame prediction and transformation quantization unit executes the conventional intra-frame prediction cost algorithm to calculate the intra-frame prediction cost of the macro block; the macro block type judgment unit further executes a macro block type final judgment step on the basis of the macro block type pre-judgment step one, the pre-judgment step two and the pre-judgment step three so as to finally judge the type of the macro block, such as a skip macro block, an intra macro block or an inter macro block. The first, second and third pre-determination steps will be described in detail below.
As shown in fig. 2, in order to fully implement the parallel execution of the macro block type determination, for a certain macro block, the macro block is processed by the integer pixel motion estimation unit, the sub-pixel motion estimation unit, the Intra-frame prediction and transformation quantization unit and the macro block type determination unit in sequence (as shown in fig. 2, the above processing procedures are abbreviated as IME, FME, Intra prediction, MC + TQ, mb _ type in sequence), and a final macro block type is obtained, for example, after the macro block 1 is processed by the integer pixel motion estimation unit, the macro block 1 is continuously sent to the sub-pixel motion estimation unit for processing until the macro block type of the macro block 1 is obtained after being processed by the macro block type determination unit; as seen from each unit of the hardware encoder, it always processes one macroblock and then processes the next macroblock, for example, the integer pixel motion estimation unit processes macroblock 1 and then processes the next adjacent macroblock 2 until all the macroblocks to be processed are processed. In this way, each unit of the hardware encoder can process different macroblocks in parallel.
Fig. 3 and 4 are diagrams illustrating a method for determining a macroblock type to be encoded in a video frame according to an embodiment of the present invention, which includes the following steps.
The first macroblock type pre-decision step, including steps S1 and S2, is performed by the integer pixel motion estimation unit. In one embodiment, the video object processed by the present determination method is a video sequence factor _1080p [1920x1080]. yuv, and the encoding is set as: IDR 32(IDR denotes the interval between two I-frames) and QP 30(QP is the quantization factor value), and the current macroblock may be, for example, the 20 th macroblock in the 35 th macroblock line of the first P-frame of the video sequence.
S100, calculating a temporary prediction motion vector mvp _ tmp of the current macro block according to the motion vector of the non-left neighbor macro block in front of the current macro block by using a motion vector prediction algorithm.
Specifically, as shown in fig. 5, the present macroblock and its preceding neighboring macroblocks in the present frame are schematic diagrams, where the neighboring macroblocks preceding the present macroblock include a left neighboring macroblock and a non-left neighboring macroblock, where the non-left neighboring macroblock includes a left upper neighboring macroblock, an upper neighboring macroblock, and a right upper neighboring macroblock of the present macroblock.
When the integer pixel motion estimation unit processes the current macroblock, the macroblock type of the left neighboring macroblock is not calculated, and the sub-pixel motion vector of the left neighboring macroblock is not calculated, so the left neighboring macroblock cannot be used to predict the temporary predicted motion vector mvp _ tmp of the current macroblock. In this step, a temporary predicted motion vector mvp _ tmp of the current macroblock is calculated by using a motion vector prediction algorithm according to motion vectors (referring to a final motion vector, calculated by the macroblock type judgment unit) of an upper-left neighboring macroblock, an upper-side neighboring macroblock and an upper-right neighboring macroblock in front of the current macroblock (for example, in one embodiment, mvp _ tmp is calculated to be [0,0]), and the temporary predicted motion vector mvp _ tmp is used for determining the position of a search window, and in subsequent steps, a matching block is searched in the search window to calculate a related motion vector or cost. The motion vector prediction algorithm may be a prediction algorithm specified by the h.264 standard for predicting a motion vector of a current macroblock from motion vectors of neighboring macroblocks.
S200, setting a first temporary skip motion vector pskip _ mv _ tmp0 of a skip mode of the current macroblock, and calculating a first determination flag pre _ pskip _ flag0 and a first generation flag pre _ pskip _ cost0 of the skip mode of the current macroblock according to the temporary prediction motion vector mvp _ tmp and the first temporary skip motion vector pskip _ mv _ tmp0 of the skip mode using a skip mode cost calculation method. The first determination flag pre _ pskip _ flag0 of the skip mode includes two types: the skip macroblock type and the non-skip macroblock type, for example, the first determination flag pre _ pskip _ flag0 of the skip mode represents the skip macroblock type when it is 1 and represents the non-skip macroblock type when it is 0.
Specifically, the first temporary skip motion vector pskip _ mv _ tmp0 for the skip mode is set to be a zero vector (0,0) for a common still scene, and as a first candidate skip motion vector, a first determination flag pre _ pskip _ flag0 and a first cost pre _ pskip _ cost0 for the skip mode are calculated from the temporary prediction motion vector mvp _ tmp and the first temporary skip motion vector pskip _ mv _ tmp0 for the skip mode using a skip mode cost calculation method function in the original x264 coding model, where the first determination flag pre _ pskip _ flag0 is x264_ macroblock _ probe _ pskip () (parameters include mvp _ tmp and pskip _ mv _ tmp0), and the first cost pre _ pskip _ cost0 is also obtained in executing the x264_ macroblock _ probabep _ pskip _ function. The specific calculation process of the first cost pre _ pskip _ cost0 is as follows: the position of a search window is determined by the temporary predictive motion vector mvp _ tmp, and then the position of a motion compensation block is determined within the search window according to the first temporary skip motion vector pskip _ mv _ tmp0 of the skip mode, and then SAD (sum of absolute errors) between the motion compensation block and the current macroblock is calculated. The cost due to skipped macroblocks includes: the coding cost of SAD, therefore, after the SAD of a skip macroblock is determined, a first cost pre _ pskip _ cost0 can be calculated. For example, in one embodiment, the following calculation is obtained: pre _ pskip _ flag0 ═ 1, and pre _ pskip _ cost0 ═ 1292.
The second macroblock type pre-determining step, including step S300, is performed by the sub-pixel motion estimation unit.
S300, temporarily setting (i.e., temporarily assuming) the type of the left neighbor macroblock of the current macroblock as an inter macroblock (i.e., P block), calculating a second temporary skip motion vector pskip _ mv _ tmp1 of a skip mode of the current macroblock from the sub-pixel motion vector qmv _ L of the left neighbor macroblock and a motion vector (i.e., a final motion vector) of a non-left neighbor macroblock using a skip motion vector prediction algorithm, and calculating a second decision flag pre _ pskip _ flag1 and a second generation value pre _ pskip _ cost1 of the skip mode of the current macroblock from the temporary prediction motion vector mvp _ tmp and the second temporary skip motion vector pskip _ mv _ tmp1 of the skip mode using a skip mode cost calculation method. The second determination flag pre _ pskip _ flag1 of the skip mode includes two types: the skip macroblock type and the non-skip macroblock type, for example, the second determination flag pre _ pskip _ flag1 of the skip mode represents the skip macroblock type when it is 1 and represents the non-skip macroblock type when it is 0. For example, in one embodiment, the following calculation is made: pskip _ mv _ tmp1 ═ 0,1, pre _ pskip _ flag1 ═ 1, and pre _ pskip _ cost1 ═ 1302.
Specifically, as shown in fig. 6, at this time, the left neighboring macroblock has been processed by the sub-pixel motion estimation unit, that is, the sub-pixel motion vector qmv _ L of the left neighboring macroblock is obtained. The type of the left neighbor macroblock is temporarily set to be an inter macroblock (i.e., P block), and a second skip motion vector pskip _ mv _ tmp1 of the current macroblock is calculated as a second candidate skip motion vector from the sub-pixel motion vector qmv _ L of the left neighbor macroblock and the motion vectors of the upper-left neighbor macroblock, the upper neighbor macroblock, and the upper-right neighbor macroblock using a skip motion vector prediction algorithm. The skip motion vector prediction algorithm may be a prediction algorithm specified in the h.264 standard, and is configured to predict a skip motion vector of the current macroblock according to motion vectors of neighboring macroblocks, so as to calculate a type identifier and a cost of the current macroblock, for example, the skip motion vector prediction algorithm specifically includes: the skip motion vector prediction algorithm specifically comprises the following steps: the sub-pixel motion vector qmv _ L of the left-hand neighboring macroblock, and the motion vectors of the upper-left and upper-side neighboring macroblocks are sorted in order from small to large, and then the motion vector at the middle position is selected as the second skip motion vector pskip _ mv _ tmp 1. Then, the second decision flag pre _ pskip _ flag1 and the second prediction flag pre _ pskip _ cost1 of the skip mode of the current macroblock are calculated from the temporary prediction motion vector mvp _ tmp and the second temporary skip motion vector pskip _ tmp1 using a skip mode cost calculation method, for example, the second decision flag pre _ pskip _ flag1 and the second prediction flag pskip _ mv _ tmp1 of the skip mode are calculated from the temporary prediction motion vector mvp _ tmp and the second temporary skip motion vector pskip _ tmp1 of the skip mode using a skip mode cost calculation function in the original x264 coding model, wherein the pre _ pskip _ flag1 is equal to x264_ macroblock _ pskip _ prkip () (parameters include mvp _ tmp and pskip _ mvjtmp _ tmp _ flag 1), and the second decision flag pre _ pskip _ flag () process is further obtained in executing the skip mode cost calculation method 1. The specific calculation process of the second cost pre _ pskip _ cost1 is as follows: the position of a search window is determined by the temporary predicted motion vector mvp _ tmp, then the position of a motion compensation block is determined within the search window according to the second temporary skip motion vector pskip _ mv _ tmp1 of the skip mode, and then SAD (sum of absolute errors) between the motion compensation block and the current macroblock is calculated. Since the cost of the skip macroblock includes the coding cost of the SAD, a second cost pre _ pskip _ cost1 can be calculated after the SAD of the skip macroblock is determined.
The third step of macroblock type pre-determination, which includes step S400, is performed by the sub-pixel motion estimation unit.
S400, performing sub-pixel motion estimation on the current macro block to obtain a sub-pixel motion vector qmv of the current macro block, and calculating a third judgment flag common _ pskip _ flag and a third judgment flag common _ pskip _ cost of the skip mode of the current macro block according to the temporary prediction motion vector mvp _ tmp and the sub-pixel motion vector qmv of the current macro block by using a skip mode cost calculation method.
Specifically, the sub-pixel motion estimation unit performs common sub-pixel motion estimation on the current macroblock, and may obtain the sub-pixel motion vector qmv of the current macroblock and a corresponding inter prediction optimal cost (which may be referred to as an inter cost for short) i _ cost _ inter1 as a temporary inter cost. Then, a third judgment flag common _ pskip _ flag and a third judgment flag common _ pskip _ cost of the skip mode are calculated according to the temporary prediction motion vector mvp _ tmp and the sub-pixel motion vector qmv by using a skip mode cost calculation function in the original x264 coding model, wherein the common _ pskip _ flag is x264_ macroblock _ probe _ pskip () (parameters include mvp _ tmp and qmv), and the common _ pskip _ cost is obtained in the process of executing the x264_ macroblock _ probe _ pskip () function.
In addition, the inter-frame prediction optimal cost i _ cost _ inter1 is calculated, wherein the specific calculation process of the inter-frame prediction optimal cost i _ cost _ inter1 is as follows: the position of the search window is determined by the temporary predictive motion vector mvp _ tmp, then the position of the motion compensation block is determined within the search window based on the sub-pixel motion vector qmv, and then the SAD (sum of absolute error) between the motion compensation block and the current macroblock is calculated. Since, the inter prediction optimal cost i _ cost _ inter1 includes two parts: one part is the coding cost of the motion vector of the macroblock (the difference between the sub-pixel motion vector qmv and the temporary prediction motion vector mvp _ tmp) (for example, the corresponding cost is obtained by table look-up according to the difference between the sub-pixel motion vector qmv and the temporary prediction motion vector mvp _ tmp), and the other part is the coding cost of SAD, so the optimal cost i _ cost _ inter1 of the temporary inter prediction can be obtained by calculation after the motion vector cost of the macroblock and SAD are determined. For example, in one embodiment, the following calculation is made: qmv ═ 0, -1], i _ cost _ inter1 ═ 1290, common _ pskip _ flag ═ 1, and common _ pskip _ cost ═ 1266.
And S500, calculating the intra-frame prediction cost of the current macro block.
The current macroblock is usually Intra-predicted (Intra), then dct transformed and quantized, and the optimal cost value i _ cost _ Intra of Intra prediction is calculated. The method specified in the h.264 standard can be adopted in step S500. For example, in one embodiment, the following calculation is made: i _ cost _ intra 1336.
The macroblock type final judgment step, including steps S600 to S900, is performed by the macroblock type judgment unit.
S600, after the type of the left adjacent macro block is determined, calculating a final prediction motion vector mvp _ real of the current macro block according to the motion vectors of the left adjacent macro block and the non-left adjacent macro block by using a motion vector prediction algorithm, and calculating a final jump motion vector pskip _ mv _ real of a jump mode of the current macro block according to the motion vectors of the left adjacent macro block and the non-left adjacent macro block by using a jump motion vector prediction algorithm.
After the macro block type judging unit processes the left neighbor macro block, the final macro block type and the final motion vector of the left neighbor macro block are obtained, and then the macro block type judging unit processes the current macro block. And calculating a final predicted motion vector mvp _ real of the current macro block according to the final motion vectors of the left neighbor macro block, the upper edge neighbor macro block and the upper right neighbor macro block by using a motion vector prediction algorithm, and calculating a final skip motion vector pskip _ mv _ real of a skip mode of the current macro block according to the final motion vectors of the left neighbor macro block, the upper edge neighbor macro block and the upper right neighbor macro block by using a skip motion vector prediction algorithm. For example, in one embodiment, the following calculation is obtained: mvp _ real ═ 0,0], pskip _ mv _ real ═ 0, 0.
S700, correcting the temporary inter-frame prediction cost i _ cost _ inter1 according to the difference between the final prediction motion vector mvp _ real and the temporary prediction motion vector mvp _ tmp by using an inter-frame prediction block cost algorithm to obtain the final inter-frame prediction cost i _ cost _ inter of the current macroblock.
Specifically, as can be seen from the foregoing description, the final inter prediction cost i _ cost _ inter of the macroblock includes two parts, where the first part is the coding cost of the motion vector (the difference between the sub-pixel motion vector qmv and the final predicted motion vector mvp _ real) of the macroblock (for example, the corresponding cost is obtained by table lookup according to the difference between the sub-pixel motion vector qmv and the temporary predicted motion vector mvp _ tmp), and the second part is the coding cost of SAD (the same as SAD in step S4), so that the final inter prediction cost i _ cost _ inter can be obtained by updating the first part coding cost on the basis of the temporary inter prediction optimal cost i _ cost _ inter1, where i _ cost _ inter1+ (mvp _ real-mvp _ tmp). For example, in one embodiment, the following calculation is made: mvp _ real is mvp _ tmp, so i _ cost _ inter is equal to i _ cost _ inter 1.
S800, if the first determination flag PRE _ PSKIP _ flag0 of the skip mode is skip type (i.e. PRE _ PSKIP _ flag0 ═ 1), the first temporary skip motion vector PSKIP _ mv _ tmp0 of the skip mode is equal to the final skip motion vector PSKIP _ mv _ real of the skip mode (i.e. PSKIP _ mv _ tmp0 ═ PSKIP _ mv _ real) and the difference between the first value PRE _ PSKIP _ cost0 and the intra-frame prediction cost i _ cost _ intra is not greater than the first threshold value PRE _ PSKIP _ TH (i.e. (PRE _ PSKIP _ cost0-i _ cost _ intra) < ═ PRE _ PSKIP _ TH), or,
the second decision flag PRE _ PSKIP _ flag1 of the skip mode is a skip type (i.e., PRE _ PSKIP _ flag1 ═ 1), the second temporary skip motion vector PSKIP _ mv _ tmp1 of the skip mode is equal to the final skip motion vector PSKIP _ mv _ real of the skip mode (i.e., PSKIP _ mv _ tmp1 ═ PSKIP _ mv _ real), and the difference between the second cost PRE _ PSKIP _ cost1 and the intra-prediction cost i _ cost _ intra is not greater than the first threshold PRE _ PSKIP _ TH (i.e., (PRE _ PSKIP _ cost1-i _ cost _ intra) < ═ PRE _ PSKIP _ TH), or,
the third determination flag COMMON _ PSKIP _ flag of the skip mode is a skip type (i.e., COMMON _ PSKIP _ flag is 1), the sub-pixel vector qmv of the current macroblock is equal to the final skip motion vector PSKIP _ mv _ real of the skip mode (i.e., qmv is PSKIP _ mv _ real) and the difference between the third price COMMON _ PSKIP _ cost and the intra prediction cost i _ cost _ intra is not greater than the second threshold COMMON _ PSKIP _ TH (i.e., (COMMON _ PSKIP _ cost-i _ cost _ intra) <common _ PSKIP _ TH),
the current macroblock is determined as a skip macroblock, otherwise, the process proceeds to step S900 for further determination. Wherein, PRE _ PSKIP _ TH is 0, and COMMON _ PSKIP _ TH is 0. Wherein, the first threshold PRE _ PSKIP _ TH and the second threshold COMMON _ PSKIP _ TH can be a value range (-2) represented by 10-bit signed number9~29-1), can be set to a suitable value depending on the actual coding scenario and needs.
In the foregoing embodiment, since PRE _ PSKIP _ flag0 is 1, PSKIP _ mv _ tmp0 is PSKIP _ mv _ real, and (PRE _ PSKIP _ cost-i _ cost _ intra) < PRE _ PSKIP _ TH, the current macroblock is determined to be a skipped macroblock block.
In one embodiment, the type of the skip macroblock may be first determined according to the first determination flag pre _ pskip _ flag0 of the skip mode, the first temporary skip motion vector pskip _ mv _ tmp0 of the skip mode, and the first price pre _ pskip _ cost0, and if a result that the current macroblock type is the skip macroblock is not obtained, the determination of the type of the skip macroblock may be continued according to the second determination flag pre _ pskip _ flag1 of the skip mode, the second temporary skip motion vector pskip _ mv _ tmp1 of the skip mode, and the second price pre _ kip _ cost1, and if a result that the current macroblock type is the skip macroblock is not obtained yet, the determination of the type of the skip macroblock may be continued according to the third determination flag common _ pskip _ flag, the subpixel vector qmv of the current macroblock, and the third price mon _ pskip _ cost of the skip macroblock.
And S900, judging the intra-frame prediction cost i _ cost _ intra and the final inter-frame prediction cost i _ cost _ inter of the current macro block, if the i _ cost _ intra is less than the i _ cost _ inter, judging the current macro block as an intra-frame prediction block, otherwise, judging the current macro block as an inter-frame prediction block.
The invention also provides a device for judging the type of the macro block to be coded of the video frame, which comprises the following steps:
a first processing unit for calculating a temporary prediction motion vector of a current macroblock according to motion vectors of non-left neighbor macroblocks in front of the current macroblock by using a motion vector prediction algorithm;
a second processing unit, configured to set a first temporary skip motion vector of a skip mode of the current macroblock, and calculate a first determination flag and a first cost of the skip mode of the current macroblock according to the temporary prediction motion vector and the first temporary skip motion vector of the skip mode by using a skip mode cost calculation method;
a third processing unit, configured to temporarily set a type of a left neighboring macroblock of the current macroblock as an inter macroblock, calculate a second temporary skip motion vector of a skip mode of the current macroblock according to a sub-pixel motion vector of the left neighboring macroblock and a motion vector of the non-left neighboring macroblock by using a skip motion vector prediction algorithm, and calculate a second determination flag and a second cost of the skip mode of the current macroblock according to the temporary prediction motion vector and the second temporary skip motion vector of the skip mode by using the skip mode cost calculation method;
a fourth processing unit, configured to perform sub-pixel motion estimation on the current macroblock to obtain a sub-pixel motion vector of the current macroblock, and calculate, by using the skip mode cost calculation method, a third determination flag and a third cost of a skip mode of the current macroblock according to the temporary prediction motion vector and the sub-pixel motion vector of the current macroblock;
a fifth processing unit, configured to calculate an intra prediction cost of the current macroblock;
a sixth processing unit, configured to calculate, by using the skip motion vector prediction algorithm, a final skip motion vector of the skip mode of the current macroblock according to motion vectors of the left neighboring macroblock and the non-left neighboring macroblock after the type of the left neighboring macroblock is determined;
a seventh processing unit, configured to, if the first determination flag of the skip mode is skip type, the first temporary skip motion vector of the skip mode is equal to the final skip motion vector of the skip mode, and a difference between the first cost and the intra prediction cost is not greater than a first threshold, or,
the second decision flag of the skip mode is skip type, the second temporary skip motion vector of skip mode is equal to the final skip motion vector of skip mode and the difference between the second cost and the intra prediction cost is not greater than the first threshold, or,
the third determination flag of skip mode is skip type, the sub-pixel motion vector of the current macroblock is equal to the final skip motion vector of skip mode and the difference between the third price and the intra prediction cost is not greater than the second threshold,
the current macroblock is decided as a skip macroblock.
It should be noted that step numbers (letter or number numbers) are used to refer to some specific method steps in the present invention only for the purpose of convenience and brevity of description, and the order of the method steps is not limited by letters or numbers in any way. It will be clear to a person skilled in the art that the order of the steps of the method in question, as determined by the technology itself, should not be unduly limited by the presence of step numbers.
It will be appreciated by those skilled in the art that the various preferences described above can be freely combined, superimposed without conflict.
It will be understood that the embodiments described above are illustrative only and not restrictive, and that various obvious and equivalent modifications and substitutions for details described herein may be made by those skilled in the art without departing from the basic principles of the invention.

Claims (11)

1. A method for determining the type of a macroblock to be coded in a video frame is characterized by comprising the following steps:
s100, calculating a temporary prediction motion vector of the current macro block according to the motion vector of a non-left neighbor macro block in front of the current macro block by using a motion vector prediction algorithm;
s200, setting a first temporary skip motion vector of a skip mode of the current macro block, and calculating a first judgment mark and a first cost of the skip mode of the current macro block according to the temporary prediction motion vector and the first temporary skip motion vector of the skip mode by using a skip mode cost calculation method;
s300, assuming that the type of the left neighboring macro block of the current macro block is an inter macro block, calculating a second temporary skip motion vector of a skip mode of the current macro block according to the sub-pixel motion vector of the left neighboring macro block and the motion vector of the non-left neighboring macro block by using a skip motion vector prediction algorithm, and calculating a second judgment flag and a second cost of the skip mode of the current macro block according to the temporary prediction motion vector and the second temporary skip motion vector of the skip mode by using the skip mode cost calculation method;
s400, performing sub-pixel motion estimation on the current macro block to obtain a sub-pixel motion vector of the current macro block, and calculating a third judgment flag and a third cost of a skip mode of the current macro block according to the temporary prediction motion vector and the sub-pixel motion vector of the current macro block by using the skip mode cost calculation method;
s500, calculating the intra-frame prediction cost of the current macro block;
s600, after the type of the left side neighbor macro block is determined, calculating a final jump motion vector of a jump mode of the current macro block according to motion vectors of the left side neighbor macro block and a non-left side neighbor macro block by utilizing the jump motion vector prediction algorithm;
s700, if the first determination flag of the skip mode is skip type, the first temporary skip motion vector of the skip mode is equal to the final skip motion vector of the skip mode, and the difference between the first cost and the intra-frame prediction cost is not greater than the first threshold, or,
the second determination flag of the skip mode is a skip type, a second temporary skip motion vector of the skip mode is equal to a final skip motion vector of the skip mode and a difference between a second cost and the intra prediction cost is not greater than the first threshold, or,
the third determination flag of the skip mode is a skip type, the sub-pixel motion vector of the current macroblock is equal to a final skip motion vector of the skip mode and a difference between a third price and the intra prediction cost is not greater than a second threshold,
the current macroblock is decided as a skip macroblock.
2. The method of determining a macroblock type as defined in claim 1,
step S400 further includes the steps of:
acquiring a temporary inter-frame prediction cost of the current macro block generated in the process of performing sub-pixel motion estimation on the current macro block;
step S600 further includes the steps of:
calculating the final predicted motion vector of the current macro block according to the motion vectors of the left neighbor macro block and the non-left neighbor macro block by utilizing the motion vector prediction algorithm;
correcting the temporary inter-frame prediction cost according to the difference between the final prediction motion vector and the temporary prediction motion vector by using an inter-frame prediction block cost algorithm to obtain the final inter-frame prediction cost of the current macro block;
in step S700, if the current macroblock is not determined to be a skip macroblock, the intra prediction cost is compared with the final inter prediction cost, if the intra prediction cost is less than the final inter prediction cost, the type of the current macroblock is determined to be an intra macroblock, otherwise, the type of the current macroblock is determined to be an inter macroblock.
3. The determination method according to claim 1,
in step S200, the first temporary skip motion vector of the skip mode of the current macroblock is set to a zero vector.
4. The determination method according to claim 1,
the non-left neighbor macroblocks are an upper-left neighbor macroblock, an upper neighbor macroblock, and an upper-right neighbor macroblock of the current macroblock.
5. The determination method according to any one of claims 1 to 4,
the first threshold value and the second threshold value are both 0.
6. The determination method according to any one of claims 1 to 4,
the partition mode of all macroblocks is 16
Figure 492986DEST_PATH_IMAGE001
16 pixels.
7. An apparatus for determining a type of a macroblock to be encoded in a video frame, comprising:
a first processing unit for calculating a temporary prediction motion vector of a current macroblock according to motion vectors of non-left neighbor macroblocks in front of the current macroblock by using a motion vector prediction algorithm;
a second processing unit, configured to set a first temporary skip motion vector of a skip mode of the current macroblock, and calculate a first determination flag and a first cost of the skip mode of the current macroblock according to the temporary prediction motion vector and the first temporary skip motion vector of the skip mode by using a skip mode cost calculation method;
a third processing unit, configured to calculate a second temporary skip motion vector of the current macroblock in the skip mode according to the sub-pixel motion vector of the left neighboring macroblock and the motion vector of the non-left neighboring macroblock by using a skip motion vector prediction algorithm, assuming that the type of the left neighboring macroblock of the current macroblock is an inter macroblock, and calculate a second determination flag and a second cost of the skip mode of the current macroblock according to the temporary prediction motion vector and the second temporary skip motion vector of the skip mode by using the skip mode cost calculation method;
a fourth processing unit, configured to perform sub-pixel motion estimation on the current macroblock to obtain a sub-pixel motion vector of the current macroblock, and calculate, by using the skip mode cost calculation method, a third determination flag and a third cost of a skip mode of the current macroblock according to the temporary prediction motion vector and the sub-pixel motion vector of the current macroblock;
a fifth processing unit, configured to calculate an intra prediction cost of the current macroblock;
a sixth processing unit, configured to calculate, by using the skip motion vector prediction algorithm, a final skip motion vector of the skip mode of the current macroblock according to motion vectors of the left neighboring macroblock and a non-left neighboring macroblock after the type of the left neighboring macroblock is determined;
a seventh processing unit, configured to, if the first determination flag of the skip mode is skip type, the first temporary skip motion vector of the skip mode is equal to the final skip motion vector of the skip mode, and a difference between the first cost and the intra prediction cost is not greater than a first threshold, or,
the second determination flag of the skip mode is a skip type, a second temporary skip motion vector of the skip mode is equal to a final skip motion vector of the skip mode and a difference between a second cost and the intra prediction cost is not greater than the first threshold, or,
the third determination flag of the skip mode is a skip type, the sub-pixel motion vector of the current macroblock is equal to a final skip motion vector of the skip mode and a difference between a third price and the intra prediction cost is not greater than a second threshold,
the current macroblock is decided as a skip macroblock.
8. The determination apparatus according to claim 7,
the fourth processing unit is further configured to:
acquiring a temporary inter-frame prediction cost of the current macro block generated in the process of performing sub-pixel motion estimation on the current macro block;
the sixth processing unit is further configured to:
calculating the final predicted motion vector of the current macro block according to the motion vectors of the left neighbor macro block and the non-left neighbor macro block by utilizing the motion vector prediction algorithm;
correcting the temporary inter-frame prediction cost according to the difference between the final prediction motion vector and the temporary prediction motion vector by using an inter-frame prediction block cost algorithm to obtain the final inter-frame prediction cost of the current macro block;
the seventh processing unit is further configured to:
if the current macro block is not judged to be the skip macro block, comparing the intra-frame prediction cost with the final inter-frame prediction cost, if the intra-frame prediction cost is smaller than the final inter-frame prediction cost, judging the type of the current macro block to be the intra-frame macro block, otherwise, judging the type of the current macro block to be the inter-frame macro block.
9. The determination device according to claim 7,
the second processing unit is further configured to: setting a first temporary skip motion vector of a skip mode of the current macroblock to a zero vector.
10. The determination device according to claim 7,
the non-left neighbor macroblocks are an upper-left neighbor macroblock, an upper neighbor macroblock, and an upper-right neighbor macroblock of the current macroblock.
11. The determination apparatus according to any one of claims 7 to 10,
the partition mode of all macroblocks is 16
Figure 357037DEST_PATH_IMAGE001
16 pixels.
CN202010837815.0A 2020-08-19 2020-08-19 Method and device for judging macro block type, image processing chip and electronic equipment Active CN112437305B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010837815.0A CN112437305B (en) 2020-08-19 2020-08-19 Method and device for judging macro block type, image processing chip and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010837815.0A CN112437305B (en) 2020-08-19 2020-08-19 Method and device for judging macro block type, image processing chip and electronic equipment

Publications (2)

Publication Number Publication Date
CN112437305A CN112437305A (en) 2021-03-02
CN112437305B true CN112437305B (en) 2022-07-22

Family

ID=74689586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010837815.0A Active CN112437305B (en) 2020-08-19 2020-08-19 Method and device for judging macro block type, image processing chip and electronic equipment

Country Status (1)

Country Link
CN (1) CN112437305B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100807330B1 (en) * 2006-09-07 2008-02-28 엠엠비 주식회사 Method for skipping intra macroblock mode of h.264/avc encoder
CN101170688A (en) * 2007-11-26 2008-04-30 电子科技大学 A quick selection method for macro block mode
EP1993292A1 (en) * 2006-03-09 2008-11-19 NEC Corporation Dynamic image encoding method and device and program using the same
WO2015188754A1 (en) * 2014-06-10 2015-12-17 Tencent Technology (Shenzhen) Company Limited Video coding device, method, and apparatus and inter-frame mode selection method and apparatus therefor

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8121194B2 (en) * 2005-12-16 2012-02-21 Texas Instruments Incorporated Fast macroblock encoding with the early qualification of skip prediction mode using its temporal coherence
JP5798467B2 (en) * 2011-12-07 2015-10-21 ルネサスエレクトロニクス株式会社 Coding type determination device, moving image coding device, coding type determination method, moving image coding method, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1993292A1 (en) * 2006-03-09 2008-11-19 NEC Corporation Dynamic image encoding method and device and program using the same
KR100807330B1 (en) * 2006-09-07 2008-02-28 엠엠비 주식회사 Method for skipping intra macroblock mode of h.264/avc encoder
CN101170688A (en) * 2007-11-26 2008-04-30 电子科技大学 A quick selection method for macro block mode
WO2015188754A1 (en) * 2014-06-10 2015-12-17 Tencent Technology (Shenzhen) Company Limited Video coding device, method, and apparatus and inter-frame mode selection method and apparatus therefor

Also Published As

Publication number Publication date
CN112437305A (en) 2021-03-02

Similar Documents

Publication Publication Date Title
CN110087087B (en) VVC inter-frame coding unit prediction mode early decision and block division early termination method
CN107087200B (en) Skip coding mode advanced decision method for high-efficiency video coding standard
JP5254997B2 (en) Motion estimation for discovered frame regions
JP5081305B2 (en) Method and apparatus for interframe predictive coding
CA3128548C (en) Intra prediction of a processing block using a predicted value which is proportional to the amount of change in the horizontal direction of the signal value of a pixel adjacent to the left of the processing block
US20100246675A1 (en) Method and apparatus for intra-prediction in a video encoder
CN108989802B (en) HEVC video stream quality estimation method and system by utilizing inter-frame relation
US20090274213A1 (en) Apparatus and method for computationally efficient intra prediction in a video coder
US9332275B2 (en) Methods, apparatuses, and programs for encoding and decoding picture
JP2007536816A (en) Method and apparatus for weighted prediction in prediction frames
Zhang et al. Multi-model based cross-component linear model chroma intra-prediction for video coding
US20080247466A1 (en) Method and system for skip mode detection
EP2661079A1 (en) H264 transcoding method by multiplexing code stream information
KR100677118B1 (en) Motion estimation method and apparatus thereof
WO2015015436A2 (en) System and method for performing optimal temporal predictive mode decision in h.264 video coding
CN112437305B (en) Method and device for judging macro block type, image processing chip and electronic equipment
KR20060132962A (en) Motion estimation and segmentation for video data
KR100379383B1 (en) Method for intra frame encoding
Ahmmed et al. Enhanced homogeneous motion discovery oriented prediction for key intermediate frames
US8891627B1 (en) System and method for coding video using color segmentation
CN117857810A (en) Illumination compensation method, encoder, decoder and storage medium
CN116916029A (en) Inter prediction method, encoder, decoder and storage medium
CN114501007B (en) 422 video-based rapid coding method and coder
Im et al. Efficient mode decision with enhanced sampling algorithm for HEVC
Ning et al. Enhanced fast mode decision based on edge map and motion detail analysis for H. 264/JVT

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
CB02 Change of applicant information

Address after: 519075 No. 333, Kexing Road, Xiangzhou District, Zhuhai City, Guangdong Province

Applicant after: ZHUHAI JIELI TECHNOLOGY Co.,Ltd.

Address before: Floor 1-107, building 904, ShiJiHua Road, Zhuhai City, Guangdong Province

Applicant before: ZHUHAI JIELI TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant