WO2009052742A1 - An interframe prediction encoding/decoding method and apparatus - Google Patents
An interframe prediction encoding/decoding method and apparatus Download PDFInfo
- Publication number
- WO2009052742A1 WO2009052742A1 PCT/CN2008/072690 CN2008072690W WO2009052742A1 WO 2009052742 A1 WO2009052742 A1 WO 2009052742A1 CN 2008072690 W CN2008072690 W CN 2008072690W WO 2009052742 A1 WO2009052742 A1 WO 2009052742A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- motion vector
- decoding
- template matching
- current block
- encoding
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the present invention relates to video coding techniques, and in particular, to an interframe prediction coding and decoding method and apparatus.
- interframe prediction techniques are widely used.
- the interframe prediction refers to a technique of performing image prediction based on adjacent frames by utilizing temporal redundancy of data, that is, correlation of pixels existing between adjacent frames in a moving image sequence. According to statistics, in the moving images of the two frames before and after, only the brightness value of no more than 10% of the pixels changes more than 2%, and the chromaticity value changes less. The difference between the test direction, pixel precision, and block size. Its main technical points include:
- motion matching blocks such as 16x16 macroblocks, or further divide 16x16 macroblocks into smaller blocks, such as blocks of size 16x8, 8x16, 8x8, and 4x4.
- Motion matching search 2.
- Motion vector precision and pixel interpolation motion estimation includes integer pixel motion estimation and non-integral pixel motion estimation, and non-integral pixel motion estimation includes half-pixel and quarter-pixel motion estimation;
- Reference frame Can be divided into a forward reference frame and a backward reference frame, or a single reference frame and multiple reference frames; 4, motion vector (MV) prediction, using the encoded motion vector to predict the current motion vector, and then transmit the current vector and the prediction vector The difference.
- MV motion vector
- inter-frame prediction technology Based on the inter-frame prediction technology, currently, the major international video coding standards and Coding standards being developed, such as H.264, Digital Audio Video Codec Standard Working Group (AVS), H.264 Layered Video Coding (SVC), and H.264 Multi-View Video Coding (MVC), etc.
- An inter-frame prediction technique based on motion compensation is proposed, which can greatly improve coding efficiency.
- motion vector information for motion compensation is obtained by using motion estimation technology, and the motion vector information is written into the coded code stream and transmitted to the decoding end; wherein, the coding
- the code stream sent by the terminal further includes a macroblock type and residual information; the decoding end performs motion compensation using the motion vector information decoded from the code stream, thereby decoding the image.
- motion vector information occupies a large portion of the code stream.
- FIG. 1 is a schematic diagram of an implementation of an existing inter-frame prediction technique based on motion compensation.
- the input frame is stored in the frame memory through transformation calculation, quantization, inverse quantization, and inverse transformation; at a later time, the system performs motion estimation on the currently input frame according to the previous frame stored in the frame memory, and obtains a motion vector, wherein the motion estimation process can be performed by using any one of the motion estimation algorithms in the prior art; performing motion compensation according to the motion estimation result; performing transformation calculation, quantization, and encoding on the motion compensated result, and outputting Decoding end.
- inter-frame prediction techniques based on motion compensation are defined in the prior art. For example, in inter-prediction of existing H.264/Advanced Video Coding (AVC), based on motion vector information decoded from a code stream, The decoding end generates a prediction signal corresponding to the position in the reference frame, and obtains the brightness value of the pixel corresponding to the decoded position according to the obtained prediction signal and the residual information carried in the code stream, that is, the transform coefficient information; In the motion vector information of the block, the motion vector prediction of the current block is performed using the motion vector of the block adjacent to the current block to reduce the code stream required to deliver the motion vector information of the current block.
- AVC Advanced Video Coding
- FIG. 2 is a schematic diagram of a conventional motion vector prediction method.
- the motion vector predictor (MVP) of the current block can be derived from the motion vector of the neighboring blocks VIII, B, C, and D.
- the current block mentioned here can be a macroblock, a block or a partition. According to the segmentation of the current block, the prediction of MVP can be divided into median prediction and non-median prediction.
- the non-median prediction can be used, specifically: If the segmentation is 8x16 The block, when the left block is the current block, its MVP is equal to MVA (the motion vector of the neighboring block A), when the right block is the current block, its MVP is equal to MVC; if it is divided into 16x8 blocks, then the MVP of the upper block Equal to MVB, the MVP of the lower block is equal to MVA.
- the median prediction can be used, that is, the MVP of the current block is equal to the median of MVA, MVB, and MVC.
- MV is the motion vector of the current block estimated by any existing motion estimation algorithm.
- the MVD is entropy encoded, written into the code stream, and sent to the decoder.
- a Skip mode is also provided.
- the code stream corresponding to the mode carries only the macroblock mode information in the macroblock type, and there is no motion vector information and residual information.
- the decoding end can learn the motion vector of the block adjacent to the macroblock in the current frame according to the macroblock mode information decoded from the received code stream, and then according to the motion vector of the adjacent block.
- the information is derived from the motion vector of the current block; and the reconstructed value of the current block can be replaced by the predicted value at the corresponding position of the reference frame after determining the corresponding position of the current block in the reference frame according to the motion vector information of the current block.
- FIG. 4 is a schematic diagram of a conventional template definition manner.
- an L-shaped area is selected as a template in the upper and left areas of the target area.
- the template size M is defined as the number of pixels in the horizontal direction from the left side of the target area left boundary covered by the template, and may of course be the number of pixels in the vertical direction from the upper side of the upper boundary of the target area covered by the template.
- the number of pixels in the template coverage area is 2 x NX M+MXM.
- templates of other shapes can be used.
- different weights can be set for different regions in the template to improve the accuracy of the subsequent calculation of the cost function.
- the execution process of template matching is similar to the matching method in traditional motion estimation, that is, the cost function corresponding to different positions when the template is searched in different regions of the reference frame.
- the cost function referred to herein may refer to the absolute sum of the pixels in the region of the template region that correspond to the pixels in the region where the search is performed in the reference frame.
- the cost function here can also be a variance and other cost functions that contain flat constraints on the motion vector field.
- the above-mentioned template matching search process can use different search ranges or different search methods as needed, for example, a combination of full pixel and half pixel can be used to reduce the complexity of the template matching process.
- the code stream sent by the encoding end to the decoding end includes macroblock type information of the current block, and may further include residual information; after receiving the code stream, the decoding end matches by template
- the method finds a motion vector corresponding to the current block, and further finds a corresponding position of the current block in the reference frame, and uses the pixel value at the corresponding position or the pixel value at the corresponding position to add the residual information as the pixel value of the decoded current block.
- Embodiments of the present invention provide an interframe predictive coding method, which can better save a code rate in an interframe prediction process.
- the embodiment of the invention provides an inter prediction decoding method, which can better save the code rate in the inter prediction process.
- Embodiments of the present invention provide an interframe predictive coding apparatus, which can better save a code rate in an interframe prediction process.
- Embodiments of the present invention provide an inter-prediction decoding apparatus, which can better save a code rate in an inter-frame prediction process.
- An embodiment of the present invention provides an inter prediction encoding method, including:
- An embodiment of the present invention further provides an inter prediction decoding method, including:
- An embodiment of the present invention provides an inter prediction encoding device, including: an obtaining unit and a determining unit;
- the acquiring unit is configured to acquire a template matching motion vector of the current block and a motion vector predictor
- the determining unit is configured to compare the template matching motion vector information and the motion vector predictor, determine an encoding manner according to the comparison result, and perform encoding.
- An embodiment of the present invention further provides an inter prediction decoding apparatus, including: a determining unit and a decoding unit;
- the determining unit is configured to receive a code stream from the encoding end, compare the obtained template matching motion vector of the current block, and a motion vector prediction value, and determine a decoding mode according to the comparison result;
- the decoding unit is configured to perform decoding according to the determined decoding manner.
- An embodiment of the present invention further provides an inter-frame pre-j decoding method, where the method includes: receiving a code stream from an encoding end;
- the embodiment of the invention has the following advantages:
- the solution according to the embodiment of the present invention can flexibly select an optimized coding mode that is most suitable for the current situation according to the obtained template matching motion vector and motion vector prediction value information of the current block, thereby achieving the maximum saving rate.
- FIG. 1 is a schematic diagram of an existing inter-frame prediction technology based on motion compensation
- FIG. 2 is a schematic diagram of an existing motion vector prediction method
- FIG. 3 is a schematic diagram of a current current block splitting situation
- Figure 4 is a schematic diagram of a conventional template definition manner
- Figure 5 is a flow chart of an embodiment of a method of the present invention.
- FIG. 6 is a schematic flowchart of coding performed by a coding end according to an embodiment of the present invention
- FIG. 7 is a schematic flowchart of decoding of a decoding end according to an embodiment of the present invention
- FIG. 8 is a schematic structural diagram of an embodiment of an encoding apparatus according to the present invention
- FIG. 9 is a schematic structural diagram of an embodiment of a decoding apparatus according to the present invention.
- FIG. 10 is a schematic diagram of comparison between coding scheme performance and the prior art in coding performance according to an embodiment of the present invention. detailed description
- the feature of the motion vector information is generated by using the template matching method, and the motion vector generated in the template matching and the existing traditional motion vector prediction value are used as context information, and the current block coding time code is determined by comparing the two.
- the embodiments of the present invention can be based on the forward direction of the existing Skip technology Skip (P-Skip) technology implementation.
- the solution in the embodiment of the present invention extends the existing P-Skip technology, and provides a template matching prediction method based on a conditional coding flag.
- the macroblock can adaptively change the motion characteristics without requiring special coding motion vector information, and only requires less additional coding.
- FIG. 5 is a flow chart of an embodiment of a method of the present invention. As shown in FIG. 5, the method includes the following steps: Step 51: The encoding end compares the obtained template matching motion vector (TM_MV) of the current block and the motion vector prediction value, and determines a coding mode for encoding the current block according to the comparison result. ⁇ Coded with a defined encoding.
- TM_MV template matching motion vector
- the coding end determines the coding mode and performs coding.
- the coding end determines the code stream element of the current block coding, performs coding according to the determined code stream element, and sends the coded code stream to the decoding end.
- the code stream element in this embodiment is a macroblock type and/or whether a template matching flag is used.
- the manner in which the encoding end determines the code stream element of the current block encoding may be: the encoding end compares the template matching motion vector and the motion vector of the current block. Whether the predicted values are consistent. If they are consistent, the macroblock type information is only encoded in the code stream. If they are inconsistent, the macroblock type is encoded in the code stream and the template matching flag information is used to indicate that the decoder matches the template. Or the motion compensation method decodes the received code stream.
- the method further includes: the encoding end determining that the decoding end needs to decode the code stream according to the template matching manner or the motion compensation manner, for example: encoding
- the end-through rate-distortion optimization (RDO) algorithm compares the rate-distortion performance of the codec with the template-matched motion vector and the motion vector predictor, and indicates that the decoder decodes in a manner that the rate-distortion performance is superior.
- Step 52 The decoding end receives the code stream from the encoding end, compares the obtained template matching motion vector and the motion vector prediction value of the current block, and determines a decoding mode according to the comparison result and performs decoding.
- the decoding end determines, according to the macroblock type information carried in the received code stream, whether the inter prediction mode for the current block is P_Skip mode; if yes, compares Obtaining whether the template matching motion vector of the current block and the motion vector prediction value are consistent. If they are consistent, the code stream is decoded according to the motion compensation manner; if not, according to whether the template matching flag is used in the code stream. The indication is decoded according to the template matching method or the motion compensation method.
- the decoding end obtains the matching block information of the current macroblock by decoding the pixels of the reconstructed template in the reference frame of the current slice, and the process of parsing and decoding is mixed. Implementation.
- step 52 the decoder receives the code stream from the encoding end, presets the template matching motion vector of the current block, or determines template matching block information to obtain a template matching motion vector of the current block, and obtains a template of the current block.
- the matching motion vector is decoded according to the template matching manner according to whether the identifier in the code stream is used in the template matching flag.
- the decoding end determines, according to the macroblock type information carried in the received code stream, whether the inter prediction mode for the current block is a P_Skip mode, and if so, and can obtain the current block in the macroblock. If the template matches the motion vector, the template matching motion vector of the current block and the motion vector prediction value are compared. If they are consistent, the code stream is decoded according to the motion compensation mode; if not, the code stream is carried according to the code stream. Whether to use the indication in the template matching flag to decode according to the template matching method or the motion compensation method.
- decoding is performed according to the template matching manner or the motion compensation manner according to whether the identifier in the code stream is used in the template matching flag, and the parsing and decoding are performed.
- the process is implemented separately.
- FIG. 6 is a schematic flowchart of coding performed by an encoding end in an embodiment of a method according to the present invention. As shown in Figure 6, the following steps are included:
- Step 61 The encoding end uses the template matching method to calculate the template matching motion vector of the current block.
- the allocation method calculates the template matching motion vector of the current block.
- the specific calculation method is the same as in the prior art, that is, a pre-selected template area, such as an L-shaped template area, performs a matching search in a reference frame to find a best matching position, and then calculates a motion vector of the current block according to the position, that is, the current
- the position of the block in the current frame is offset from the position in the reference frame.
- Step 62 The encoding end predicts a motion vector predictor of the current block.
- the specific prediction mode is as shown in Figures 2 and 3.
- the coding end predicts the motion vector predictor of the current block based on the motion vectors of the blocks, B, C, and D adjacent to the current block.
- the prediction of MVP can be specifically divided into median prediction and non-median prediction.
- the non-median prediction can be used; in other cases, the median prediction can be used, that is, the MVP of the current block is equal to the median of MVA, MVB, and MVC.
- Step 63 The encoder determines whether the template matching motion vector is consistent with the motion vector prediction value. If yes, step 64 is performed; otherwise, step 65 is performed.
- Step 64 The encoding end encodes the current block, and sends the encoded code stream to the decoding end, and ends the process.
- the encoding end since the template matching motion vector is consistent with the motion vector prediction value, the encoding end does not encode whether to use the template matching flag when encoding.
- the code stream sent by the encoder to the decoder only includes macroblock type information.
- Step 65 The encoding end encodes the current block, and sends a code stream that is set to use the template matching flag to the decoding end, and ends the process.
- the encoding end Since the template matching motion vector is inconsistent with the motion vector prediction value, the encoding end needs to add whether to use the template matching flag information in the encoded code stream. Prior to this, the encoding side needs to first determine whether the decoding end is instructed to decode in accordance with the template matching method or the motion compensation method in whether or not to use the template matching flag. The encoding end determines whether the decoding end indicates whether the decoding end decodes according to the template matching manner or the motion compensation manner in the template matching flag: the encoding end encodes and decodes the template matching motion vector and the motion vector prediction value respectively, and optimizes the rate distortion. The algorithm compares which of the two codecs performs better. For example, it compares which way the reconstructed image after encoding has the smallest deviation from the original image, and determines whether to use the specific setting of the template matching flag according to the comparison result.
- one bit in the code stream can be set to use a template. Match the flag bit. If the encoding and decoding method according to the template matching motion vector performs better, the template matching flag bit is set to 1; if the encoding and decoding method according to the motion vector prediction value performs well, whether to use the template matching The flag is set to 0.
- the code stream sent by the encoding end to the decoding end includes a macroblock type and whether template matching flag information is used.
- FIG. 7 is a schematic flowchart of decoding performed by a decoding end in an embodiment of a method according to the present invention. As shown in Figure 7, the following steps are included:
- Step 71 The decoding end decodes the received code stream of the current block, and determines whether the code stream is in the P_Skip mode. If yes, step 72 is performed; otherwise, step 73 is performed.
- the decoding end determines whether the inter-frame prediction mode corresponding to the code stream is P_Skip mode according to the macroblock type information carried in the code stream.
- the macroblock type information may be set in a manner specified by a person to indicate that the inter-frame prediction mode corresponding to the code stream is P_Skip mode.
- Step 72 The decoder calculates a template matching motion vector for the current block, and derives a motion vector predictor, and then performs step 74.
- the template matching motion vector and the motion vector prediction value are obtained in the same manner as in the prior art, and are not described again.
- the predicted value of the obtained motion vector can be used to search within the area set around it to speed up the search process.
- Step 73 The decoding end decodes the current block according to other existing methods. Since it is not related to the present invention, the specific decoding process is not described again.
- Step 74 The decoding end determines whether the template matching motion vector of the current block is consistent with the motion vector prediction value. If yes, step 75 is performed; otherwise, step 76 is performed.
- Step 75 The decoding end directly uses the motion vector predictor to decode, and ends the process. If the template matching motion vector is consistent with the motion vector prediction value, then no template matching flag is used in the code stream, so the decoding end can directly decode the current vector's shipping vector prediction value.
- the specific decoding mode is the same as the prior art, and will not be described again.
- Step 76 The decoding end decodes according to the indication according to whether the template matching flag is used in the decoded code stream, and ends the process.
- the decoding end selects a corresponding motion vector according to the indication of whether the template matching flag bit is used in the decoded code stream, and performs subsequent decoding, and ends the process.
- the decoder decodes according to the template matching method. If the template matching flag is set to 0, the decoding end uses the motion vector prediction value to decode according to the motion compensation method.
- the specific decoding process is prior art and will not be described again.
- step 1 of the embodiment is the same as step 71 for the decoding end.
- the decoding end determines whether the inter-frame prediction mode corresponding to the code stream is P_Skip mode according to the macroblock type information carried in the code stream.
- the macroblock type information may be set in a manner specified by a person to indicate that the inter-frame prediction mode corresponding to the code stream is P_Skip mode.
- Step 2 The decoder calculates a template matching motion vector for the current block, and derives a motion vector prediction value. If the template matching motion vector of the current block of the macro block is not available, step 3 is performed, otherwise step 4 is performed.
- Step 4 - Step 6 Same as Step 74 - Step 76.
- step 6 the decoding end selects the corresponding motion vector according to the indication of whether the template matching flag bit is used in the decoded code stream, and performs subsequent decoding, and ends the process.
- the decoding end decodes according to the template matching manner.
- the template matching motion vector is set to 0 in advance or the template information required for the original decoding is equal to the previous decoding template information, and is used.
- the matching block information is found to obtain the template matching motion vector of the current block; if the template matching flag is set to 0, the decoding end uses the motion vector prediction value to perform decoding according to the motion compensation mode.
- the specific decoding process is prior art and will not be described again.
- Modified, modified P-Skip mode syntax is as follows:
- the function UserTMVector() is used to perform template matching operations. The function returns true if the result of the template matching motion vector and motion vector prediction for the current block is inconsistent, otherwise it returns false.
- the descriptions in the embodiments shown in FIG. 6 and FIG. 7 only refer to the single color component signal, that is, the luminance value.
- the solution described in the embodiments of the invention can equally be applied to multi-component signals. However, if different components are used at different sampling rates, some restrictions may need to be met. For example, for a ratio of Y, Cb, and Cr of 4:2:0, where Y is the luminance component, Cb is the blue chrominance component, and Cr is the red chrominance component, the template region size, and the target region. The size needs to be doubled.
- the solution described in the embodiment of the present invention is not only applicable to the single-view video coding environment shown in FIG. 6 and FIG. 7, but is also applicable to the multi-view video coding environment.
- the motion vector generated by template matching can be used as the motion vector prediction value of the current block, and the motion vector generated by the template matching technique can be used for the subsequent current block.
- motion vector prediction it plays a role in rate distortion optimization and MVD computational coding process, which provides more motion vector prediction applicability for the current block and improves the accuracy of motion vector prediction.
- the template matching motion vector and the motion vector prediction value in the above embodiments shown in Figs. 6 and 7 can also be used as context information to select a context model when encoding and decoding the current block.
- the probability relationship between the template matching motion vector and the motion vector prediction value can be determined to determine the CABAC coding probability of the current block information.
- the specific process of coding is as follows:
- CABAC coding is a prior art, those skilled in the art should be aware of the implementation process, and therefore will not be described again here.
- FIG. 8 is a schematic diagram showing the structure of an embodiment of an encoding apparatus according to the present invention.
- the device includes: an obtaining unit 81 and a determining unit 82;
- An obtaining unit 81 configured to acquire a template matching motion vector of the current block and a motion vector predictor
- the determining unit 82 is configured to compare the template matching motion vector information and the motion vector prediction value, and determine the encoding mode according to the comparison result and perform encoding.
- the determining unit 82 specifically includes: a comparing subunit 821 and an encoding subunit 822;
- the comparison subunit 821 is configured to compare the template matching motion vector of the current block and the motion vector prediction value, and send the comparison result to the encoding subunit 822;
- the encoding sub-unit 822 is configured to perform encoding according to the comparison result. If the comparison result is consistent, the macroblock type information is only encoded in the code stream; if not, the macroblock type is encoded in the code stream and whether the template matching flag is used. Instructing the decoding end to decode the code stream according to a template matching manner or a motion compensation manner.
- the unit may be further configured to: if the comparison result is inconsistent, compare the different performances of the template matching motion vector and the motion vector prediction value for encoding and decoding, and instruct the decoding end to perform decoding according to a better performance.
- the determining unit 82 may further include: a selecting subunit 823, configured to select a model for encoding the current block according to the template matching motion vector information of the current block and the comparison result of the motion vector predictor, and notify the encoding subunit 822. .
- FIG. 9 is a schematic structural diagram of an embodiment of a decoding apparatus according to the present invention. As shown in FIG. 9, the apparatus includes: a determining unit 91 and a decoding unit 92;
- a determining unit 91 configured to receive a code stream from the encoding end, compare the obtained template matching motion vector of the current block and the motion vector prediction value, and determine a decoding mode according to the comparison result;
- the decoding unit 92 is configured to perform decoding according to the determined decoding manner.
- the determining unit 91 may specifically include: a comparing subunit 912, configured to receive the code stream from the encoding end, compare whether the template matching motion vector of the current block is consistent with the motion vector prediction value, and if yes, notify the decoding unit 92 to compensate according to the motion.
- the method performs decoding on the code stream; if not, according to whether the indication in the template matching flag is carried in the code stream, the decoding unit 92 is notified to perform decoding according to a template matching manner or a motion compensation manner.
- the determining unit 91 may further include: a mode determining subunit 911 and/or a selecting subunit 913:
- the mode determining subunit 911 is configured to determine, according to the macroblock type information carried in the received code stream, that the inter prediction mode for the current block is P_Skip mode, and notify the comparing subunit to perform 912 to perform its own function.
- the selecting subunit 913 is configured to select a model for decoding the code stream according to the template matching motion vector of the current block and the motion vector predictor comparison result, and notify the decoding unit 92.
- the template matching motion vector and the motion vector prediction value are context information, and the information contained in the current code stream is determined by comparison and encoded and decoded. Since the solution according to the embodiment of the present invention is implemented based on the P_Skip mode, the code stream is not additionally added, the transmission cost used for transmitting the motion vector can be saved, and more options for motion vector prediction are provided, and The information available at the decoding end can provide context decision information such as entropy coding for the current codec, enhance the adaptability of the technology, and improve the coding efficiency.
- FIG. 10 is a schematic diagram of comparison of coding performance in comparison with the prior art according to the embodiment of the present invention.
- the sequence coding type is IPPP, that is, the first frame is coded according to intra prediction, and the remaining frames are coded according to inter prediction.
- JM12.3 is the technical effect of using the existing motion compensation method on the H.264/AVC platform
- TM Skip is the technical effect of using the scheme of the present invention on the H.264/AVC platform
- TM 16x16 8x8 is ⁇ Technical effect with existing template matching method
- TM Skip 16x16 8x8 is in ⁇
- the technical effects after combining the solutions of the present invention are based on the existing template matching method.
- the abscissa in 10 represents the code rate, and the ordinate represents the signal-to-noise ratio (PSNR), which represents the difference between the reconstructed image and the original image.
- PSNR signal-to-noise ratio
- the present invention can be implemented by hardware or by software plus a necessary general hardware platform. Based on such understanding, the technical solution of the present invention can be embodied in the form of a software product that can be stored in a non-volatile storage medium.
- a computer device (may be a personal computer, server, or network device, etc.) to perform the methods described in various embodiments of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP08841850.4A EP2202985B1 (en) | 2007-10-15 | 2008-10-15 | An interframe prediction encoding/decoding method and apparatus |
JP2010529217A JP5081305B2 (ja) | 2007-10-15 | 2008-10-15 | フレーム間予測符号化の方法および装置 |
US12/761,229 US20100208814A1 (en) | 2007-10-15 | 2010-04-15 | Inter-frame prediction coding method and device |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710181831.3 | 2007-10-15 | ||
CN200710181831 | 2007-10-15 | ||
CN200810002875.X | 2008-01-08 | ||
CN200810002875XA CN101415122B (zh) | 2007-10-15 | 2008-01-08 | 一种帧间预测编解码方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/761,229 Continuation US20100208814A1 (en) | 2007-10-15 | 2010-04-15 | Inter-frame prediction coding method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009052742A1 true WO2009052742A1 (en) | 2009-04-30 |
Family
ID=40579084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2008/072690 WO2009052742A1 (en) | 2007-10-15 | 2008-10-15 | An interframe prediction encoding/decoding method and apparatus |
Country Status (6)
Country | Link |
---|---|
US (1) | US20100208814A1 (zh) |
EP (1) | EP2202985B1 (zh) |
JP (1) | JP5081305B2 (zh) |
KR (1) | KR101174758B1 (zh) |
CN (1) | CN101415122B (zh) |
WO (1) | WO2009052742A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110176611A1 (en) * | 2010-01-15 | 2011-07-21 | Yu-Wen Huang | Methods for decoder-side motion vector derivation |
JP2012129756A (ja) * | 2010-12-14 | 2012-07-05 | Nippon Telegr & Teleph Corp <Ntt> | 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム及び復号プログラム |
JP2013502141A (ja) * | 2009-08-13 | 2013-01-17 | サムスン エレクトロニクス カンパニー リミテッド | 動きベクトルを符号化/復号化する方法及びその装置 |
KR20130105821A (ko) * | 2010-09-10 | 2013-09-26 | 톰슨 라이센싱 | 이미지 컨텐츠에 기초한 검색 및 랭킹에 의한, 비디오 압축 시 레퍼런스 블록으로의 링크를 인코딩 |
US9338477B2 (en) | 2010-09-10 | 2016-05-10 | Thomson Licensing | Recovering a pruned version of a picture in a video sequence for example-based data pruning using intra-frame patch similarity |
US9544598B2 (en) | 2010-09-10 | 2017-01-10 | Thomson Licensing | Methods and apparatus for pruning decision optimization in example-based data pruning compression |
US9602814B2 (en) | 2010-01-22 | 2017-03-21 | Thomson Licensing | Methods and apparatus for sampling-based super resolution video encoding and decoding |
US9813707B2 (en) | 2010-01-22 | 2017-11-07 | Thomson Licensing Dtv | Data pruning for video compression using example-based super-resolution |
CN111770336A (zh) * | 2014-03-28 | 2020-10-13 | 索尼公司 | 编码和解码数据的方法、存储介质及数据编码和解码设备 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557514B (zh) * | 2008-04-11 | 2011-02-09 | 华为技术有限公司 | 一种帧间预测编解码方法、装置及系统 |
EP2510694B1 (en) | 2009-12-10 | 2017-07-26 | Thomson Licensing DTV | Method and apparatus for coding and decoding an image block |
KR101522850B1 (ko) | 2010-01-14 | 2015-05-26 | 삼성전자주식회사 | 움직임 벡터를 부호화, 복호화하는 방법 및 장치 |
KR101529992B1 (ko) * | 2010-04-05 | 2015-06-18 | 삼성전자주식회사 | 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치 |
KR101454133B1 (ko) * | 2010-09-02 | 2014-10-23 | 엘지전자 주식회사 | 영상 부호화 및 복호화 방법과 이를 이용한 장치 |
US8787459B2 (en) * | 2010-11-09 | 2014-07-22 | Sony Computer Entertainment Inc. | Video coding methods and apparatus |
JP2012257198A (ja) | 2011-05-17 | 2012-12-27 | Canon Inc | 立体画像符号化装置、その方法、および立体画像符号化装置を有する撮像装置 |
CN102801995B (zh) * | 2012-06-25 | 2016-12-21 | 北京大学深圳研究生院 | 一种基于模板匹配的多视点视频运动和视差矢量预测方法 |
CN103533376B (zh) * | 2012-07-02 | 2017-04-12 | 华为技术有限公司 | 帧间预测编码运动信息的处理方法、装置和编解码系统 |
US20150208083A1 (en) * | 2012-07-10 | 2015-07-23 | Lg Electronics Inc. | Method and device for processing video signal |
US9374597B2 (en) | 2012-09-26 | 2016-06-21 | Thomson Licensing | Inter-image prediction method and device and corresponding encoding method and device |
US9674543B2 (en) * | 2012-11-14 | 2017-06-06 | Samsung Electronics Co., Ltd. | Method for selecting a matching block |
US20150172669A1 (en) * | 2013-03-15 | 2015-06-18 | KASAH Technology, Inc. | System and method for processing compressed images and video for improved data communication |
CN103237224A (zh) * | 2013-04-01 | 2013-08-07 | 深圳市云宙多媒体技术有限公司 | 一种基于门限的P_skip块提前判决方法 |
CN104853209B (zh) * | 2014-02-16 | 2020-09-29 | 同济大学 | 图像编码、解码方法及装置 |
CN103974069B (zh) * | 2014-05-22 | 2017-06-20 | 华为技术有限公司 | 可重用的视频编码方法和编码器 |
CN105338351B (zh) | 2014-05-28 | 2019-11-12 | 华为技术有限公司 | 基于模板匹配的帧内预测编、解码、阵列扫描方法及装置 |
WO2016008157A1 (en) | 2014-07-18 | 2016-01-21 | Mediatek Singapore Pte. Ltd. | Methods for motion compensation using high order motion model |
CN105282558B (zh) * | 2014-07-18 | 2018-06-15 | 清华大学 | 帧内像素预测方法、编码方法、解码方法及其装置 |
CN104244009B (zh) * | 2014-08-26 | 2017-07-07 | 南京邮电大学 | 一种分布式视频编码中码率控制方法 |
WO2017124298A1 (zh) * | 2016-01-19 | 2017-07-27 | 北京大学深圳研究生院 | 视频编码、解码方法及其帧间预测方法、装置和系统 |
US11638027B2 (en) | 2016-08-08 | 2023-04-25 | Hfi Innovation, Inc. | Pattern-based motion vector derivation for video coding |
US12063387B2 (en) | 2017-01-05 | 2024-08-13 | Hfi Innovation Inc. | Decoder-side motion vector restoration for video coding |
CN109089119B (zh) | 2017-06-13 | 2021-08-13 | 浙江大学 | 一种运动矢量预测的方法及设备 |
SG11201913273XA (en) * | 2017-06-30 | 2020-01-30 | Huawei Tech Co Ltd | Error resilience and parallel processing for decoder side motion vector derivation |
EP3709650A4 (en) | 2017-11-09 | 2021-07-14 | Samsung Electronics Co., Ltd. | APPARATUS AND METHOD FOR CODING MOVEMENT INFORMATION, AND APPARATUS AND METHOD FOR DECODING |
US11109041B2 (en) * | 2019-05-16 | 2021-08-31 | Tencent America LLC | Method and apparatus for video coding |
CN110610527B (zh) * | 2019-08-15 | 2023-09-22 | 苏州瑞派宁科技有限公司 | 计算suv的方法、装置、设备、系统及计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1893652A (zh) * | 2002-03-29 | 2007-01-10 | 株式会社东芝 | 视频编码方法和装置,以及视频解码方法和装置 |
CN1976476A (zh) * | 2006-12-22 | 2007-06-06 | 上海广电(集团)有限公司中央研究院 | 融合多参考帧选择和运动估计的快速帧间模式判决方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11346365A (ja) * | 1998-04-03 | 1999-12-14 | Matsushita Electric Ind Co Ltd | 符号化圧縮方法、および符号化圧縮装置 |
KR100325253B1 (ko) * | 1998-05-19 | 2002-03-04 | 미야즈 준이치롯 | 움직임벡터 검색방법 및 장치 |
US20050105621A1 (en) * | 2003-11-04 | 2005-05-19 | Ju Chi-Cheng | Apparatus capable of performing both block-matching motion compensation and global motion compensation and method thereof |
JP4213646B2 (ja) * | 2003-12-26 | 2009-01-21 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、及び画像復号プログラム。 |
JP3879741B2 (ja) * | 2004-02-25 | 2007-02-14 | ソニー株式会社 | 画像情報符号化装置および画像情報符号化方法 |
JP4145275B2 (ja) * | 2004-07-27 | 2008-09-03 | 富士通株式会社 | 動きベクトル検出・補償装置 |
US9667999B2 (en) * | 2005-04-25 | 2017-05-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for encoding video data |
JP2007043651A (ja) * | 2005-07-05 | 2007-02-15 | Ntt Docomo Inc | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム |
CN1791224A (zh) * | 2005-12-19 | 2006-06-21 | 宁波大学 | 一种基于h.264的自适应块搜索范围快速运动估计方法 |
-
2008
- 2008-01-08 CN CN200810002875XA patent/CN101415122B/zh active Active
- 2008-10-15 KR KR1020107010509A patent/KR101174758B1/ko active IP Right Grant
- 2008-10-15 WO PCT/CN2008/072690 patent/WO2009052742A1/zh active Application Filing
- 2008-10-15 EP EP08841850.4A patent/EP2202985B1/en active Active
- 2008-10-15 JP JP2010529217A patent/JP5081305B2/ja active Active
-
2010
- 2010-04-15 US US12/761,229 patent/US20100208814A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1893652A (zh) * | 2002-03-29 | 2007-01-10 | 株式会社东芝 | 视频编码方法和装置,以及视频解码方法和装置 |
CN1976476A (zh) * | 2006-12-22 | 2007-06-06 | 上海广电(集团)有限公司中央研究院 | 融合多参考帧选择和运动估计的快速帧间模式判决方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10110902B2 (en) | 2009-08-13 | 2018-10-23 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding motion vector |
JP2013502141A (ja) * | 2009-08-13 | 2013-01-17 | サムスン エレクトロニクス カンパニー リミテッド | 動きベクトルを符号化/復号化する方法及びその装置 |
US9883186B2 (en) | 2009-08-13 | 2018-01-30 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding motion vector |
US8787463B2 (en) | 2009-08-13 | 2014-07-22 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding motion vector |
US8792558B2 (en) | 2009-08-13 | 2014-07-29 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding motion vector |
US8811488B2 (en) | 2009-08-13 | 2014-08-19 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding motion vector |
US9544588B2 (en) | 2009-08-13 | 2017-01-10 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding motion vector |
US20110176611A1 (en) * | 2010-01-15 | 2011-07-21 | Yu-Wen Huang | Methods for decoder-side motion vector derivation |
US9602814B2 (en) | 2010-01-22 | 2017-03-21 | Thomson Licensing | Methods and apparatus for sampling-based super resolution video encoding and decoding |
US9813707B2 (en) | 2010-01-22 | 2017-11-07 | Thomson Licensing Dtv | Data pruning for video compression using example-based super-resolution |
JP2013539935A (ja) * | 2010-09-10 | 2013-10-28 | トムソン ライセンシング | 画像コンテンツベースの検索及びランキングによるビデオ圧縮における参照ブロックへのリンクの符号化 |
US9544598B2 (en) | 2010-09-10 | 2017-01-10 | Thomson Licensing | Methods and apparatus for pruning decision optimization in example-based data pruning compression |
US9338477B2 (en) | 2010-09-10 | 2016-05-10 | Thomson Licensing | Recovering a pruned version of a picture in a video sequence for example-based data pruning using intra-frame patch similarity |
KR20130105821A (ko) * | 2010-09-10 | 2013-09-26 | 톰슨 라이센싱 | 이미지 컨텐츠에 기초한 검색 및 랭킹에 의한, 비디오 압축 시 레퍼런스 블록으로의 링크를 인코딩 |
KR101892019B1 (ko) | 2010-09-10 | 2018-09-28 | 톰슨 라이센싱 | 이미지 컨텐츠에 기초한 검색 및 랭킹에 의한, 비디오 압축 시 레퍼런스 블록으로의 링크를 인코딩 |
JP2012129756A (ja) * | 2010-12-14 | 2012-07-05 | Nippon Telegr & Teleph Corp <Ntt> | 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム及び復号プログラム |
CN111770336A (zh) * | 2014-03-28 | 2020-10-13 | 索尼公司 | 编码和解码数据的方法、存储介质及数据编码和解码设备 |
Also Published As
Publication number | Publication date |
---|---|
EP2202985B1 (en) | 2017-01-18 |
JP2011501542A (ja) | 2011-01-06 |
JP5081305B2 (ja) | 2012-11-28 |
EP2202985A1 (en) | 2010-06-30 |
EP2202985A4 (en) | 2011-11-23 |
CN101415122B (zh) | 2011-11-16 |
CN101415122A (zh) | 2009-04-22 |
KR101174758B1 (ko) | 2012-08-17 |
US20100208814A1 (en) | 2010-08-19 |
KR20100083824A (ko) | 2010-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2009052742A1 (en) | An interframe prediction encoding/decoding method and apparatus | |
US11910014B2 (en) | Image encoding method using a skip mode, and a device using the method | |
CN106488249B (zh) | 运动图像编码装置及其方法、运动图像解码装置及其方法 | |
JP5452584B2 (ja) | ビデオ符号化及び復号化におけるテンプレート・マッチング予測(tmp)のための方法及び装置 | |
EP1618744B1 (en) | Video transcoding | |
CN101946516A (zh) | 快速宏块增量量化参数的决定 | |
JP2015156653A (ja) | ビデオコーディングのための適応動き解像度 | |
WO2021239160A1 (zh) | 视频解码方法、视频编码方法、电子设备及存储介质 | |
US20090016443A1 (en) | Inter mode determination method for video encoding | |
TWI806212B (zh) | 視訊編碼器、視訊解碼器及相應方法 | |
KR20110073263A (ko) | 인트라 예측 부호화 방법 및 부호화 방법, 그리고 상기 방법을 수행하는 인트라 예측 부호화 장치 및 인트라 예측 복호화 장치 | |
CN110351552B (zh) | 视频编码中一种快速编码方法 | |
CN111937389B (zh) | 用于视频编解码的设备和方法 | |
WO2021190518A1 (zh) | 解码、编码、编解码方法、装置及其设备 | |
TW202236852A (zh) | 高效視訊編碼器架構 | |
TWI737141B (zh) | 視訊編碼中用於畫面內分區之轉換類型分配方法和裝置 | |
CN113301335A (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: 08841850 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010529217 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REEP | Request for entry into the european phase |
Ref document number: 2008841850 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2008841850 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 20107010509 Country of ref document: KR Kind code of ref document: A |