CN103533376B - Method and apparatus for motion information processing of interframe prediction coding, and coding and decoding system - Google Patents
Method and apparatus for motion information processing of interframe prediction coding, and coding and decoding system Download PDFInfo
- Publication number
- CN103533376B CN103533376B CN201210225481.7A CN201210225481A CN103533376B CN 103533376 B CN103533376 B CN 103533376B CN 201210225481 A CN201210225481 A CN 201210225481A CN 103533376 B CN103533376 B CN 103533376B
- Authority
- CN
- China
- Prior art keywords
- reference frame
- motion vector
- frame list
- determined
- matching block
- 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
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/42—Methods 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/436—Methods 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
-
- 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/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
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
本发明实施例提供帧间预测编码运动信息的处理方法、装置和编解码系统,以提升码流解析速度。所述方法包括:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息;若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被确定,则将所述确定的所用参考帧列表内匹配块的所述运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。本发明使解码器端可以并行处理这些信息即在解析运动矢量差相关信息的同时根据已解析出的运动矢量预测值标识解码得到运动矢量预测值,从而提高了码流在解码器一端的解码速度。
Embodiments of the present invention provide a processing method, device, and codec system for motion information of inter-frame predictive coding, so as to increase the speed of parsing code streams. The method includes: determining the currently used reference frame list and the motion information of the matching block that needs to be transmitted in the used reference frame list according to the value of the syntax element; if the currently used reference frame list and the used reference frame list need to be transmitted If the motion information of the matching block is determined, then write the motion vector predictor identifier of the matching block in the determined reference frame list prior to the motion vector difference related information of the matching block in the determined reference frame list stream. The present invention enables the decoder side to process these information in parallel, that is, while analyzing the motion vector difference related information, the motion vector prediction value can be obtained by decoding according to the analyzed motion vector prediction value identification, thereby improving the decoding speed of the code stream at the decoder side .
Description
技术领域technical field
本发明涉及图像处理领域,尤其涉及帧间预测编码运动信息的处理方法、装置和编解码系统。The present invention relates to the field of image processing, in particular to a processing method, device and codec system for motion information of inter-frame predictive coding.
背景技术Background technique
现有的视频图像编解码技术包括帧内预测编码与帧间预测编码,其中,帧间预测编码是指利用当前编码图像与已编码图像的时间相关性对当前编码图像进行压缩编码。在H.264/AVC中,一帧图像被分为若干方形的图像块。从已编码的参考帧中搜索出与当前图像块匹配的图像块,计算当前块和匹配块的空间位置的相对偏移量,这一相对偏移量就是运动矢量(Motion Vector,MV),得到运动矢量的过程被称为运动估计(Motion Estimation,ME),利用匹配块对当前图像块进行预测的过程被称为运动补偿(Motion Compensation,MC),当前图像块与匹配块的像素值的差别称作图像块预测残差。Existing video image coding and decoding technologies include intra-frame predictive coding and inter-frame predictive coding, wherein inter-frame predictive coding refers to compressing and coding the current coded image by using the time correlation between the current coded image and the coded image. In H.264/AVC, a frame of image is divided into several square image blocks. Search out the image block that matches the current image block from the coded reference frame, and calculate the relative offset of the spatial position between the current block and the matching block, which is the motion vector (Motion Vector, MV), and get The process of motion vector is called motion estimation (Motion Estimation, ME), and the process of using the matching block to predict the current image block is called motion compensation (Motion Compensation, MC). The difference between the pixel value of the current image block and the matching block It is called the image block prediction residual.
为了使解码器一端和编码器一端使用的匹配块相同,编码器一端使用的图像块的运动信息需要在码流中传输到解码器一端。如果直接对每个图像块的运动矢量直接进行编码,那么将耗费大量的比特数,特别是当小尺寸的图像块占多数时。由于一个运动物体常常会覆盖多个图像块,空间域相邻图像块的运动矢量具有很强的相关性。因此,当前图像块的运动矢量可以根据邻近已编码图像块的运动矢量进行预测,预测所得到的值被称为运动矢量预测值(motion Vector Predictor,MVP),当前图像块的运动矢量和运动矢量预测值之间的差值被称为运动矢量差(Motion Vector Difference,MVD),即有关系:MV=MVD+MVP。In order to make the matching blocks used by the decoder side and the encoder side the same, the motion information of the image blocks used by the encoder side needs to be transmitted to the decoder side in the code stream. If the motion vector of each image block is coded directly, it will consume a large number of bits, especially when small-sized image blocks occupy the majority. Since a moving object often covers multiple image blocks, the motion vectors of adjacent image blocks in the space domain have a strong correlation. Therefore, the motion vector of the current image block can be predicted according to the motion vector of the adjacent coded image block, and the predicted value is called the motion vector predictor (motion vector predictor, MVP), the motion vector of the current image block and the motion vector The difference between the predicted values is called the motion vector difference (Motion Vector Difference, MVD), that is, there is a relationship: MV=MVD+MVP.
作为一种新的视频编码标准,H.264在运动估计过程中采用了多参考帧预测来提高预测精度,即建立储存多个重建图像帧的缓存,并在缓存内的所有的重建图像帧中寻找最优的匹配块进行运动补偿,以便更好地去除时间域的冗余度。H.264的帧间预测编码使用两个如上的缓存,即参考帧列表0(reference list0)和参考帧列表1(reference list 1)。每一个列表中最优匹配块所在的参考帧用索引值标明,即ref_l0_idx和ref_l1_idx。以参考帧列表0为例,该列表内匹配块的运动信息包括参考帧索引值(ref_l0_idx)、运动矢量预测值(MVP)和运动矢量差(MVD)。根据这三个信息,解码器这一端就可以在选定的参考帧中找到正确的匹配块。As a new video coding standard, H.264 uses multi-reference frame prediction in the motion estimation process to improve the prediction accuracy, that is, it establishes a buffer to store multiple reconstructed image frames, and in all the reconstructed image frames in the cache Find the optimal matching block for motion compensation, so as to better remove the redundancy in the time domain. H. 264 inter-frame predictive encoding uses two buffers as above, namely reference frame list 0 (reference list0) and reference frame list 1 (reference list 1). The reference frame where the best matching block in each list is located is marked with index values, namely ref_l0_idx and ref_l1_idx. Taking reference frame list 0 as an example, the motion information of the matched blocks in this list includes reference frame index value (ref_l0_idx), motion vector predictor value (MVP) and motion vector difference (MVD). Based on these three pieces of information, the decoder side can find the correct matching block in the selected reference frame.
现有技术提供的一种帧间预测编码运动信息的处理方法是,以H.264/AVC为视频图像压缩标准,将宏块(16x16像素大小)作为编码处理的基本单元,在帧间预测时,一个宏块可以包含一个或多个运动块,但任意一运动块均为矩形块。这些运动块的参考帧列表值、参考帧索引值和运动矢量差将以宏块为单位进行传输或解码。由于H.264/AVC中运动矢量预测值(MVP)的选取方法唯一确定,所以MVP的相关信息无需在码流中传输。具体地,在编码器这一端,首先传输该宏块的参考帧列表的选择,即当使用参考帧列表0时,按以下顺序编码传输运动信息:依次传输宏块内所有运动块在参考帧列表0中使用的参考帧索引值ref_idx_l0;依次传输宏块内所有运动块在参考帧列表0中运动矢量差mvd_l0。当使用参考帧列表1时,按以下顺序编码传输运动信息:依次传输宏块内所有运动块在参考帧列表1中使用的参考帧索引值ref_idx_l1;依次传输宏块内所有运动块在参考帧列表1中运动矢量差mvd_l1。在解码器这一端,当使用参考帧列表0时,按以下顺序解码运动信息:依次解码宏块内所有运动块在参考帧列表0中使用的参考帧索引值ref_idx_l0;依次解码宏块内所有运动块在参考帧列表0中运动矢量差mvd_l0。当使用参考帧列表1时,按以下顺序解码运动信息:依次解码宏块内所有运动块在参考帧列表1中使用的参考帧索引值ref_idx_l1;依次解码宏块内所有运动块在参考帧列表1中运动矢量差mvd_l1。解码器端和编码器端使用相同的方法选择推导当前图像块的运动矢量预测值MVP。An inter-frame predictive encoding motion information processing method provided by the prior art is to use H.264/AVC as the video image compression standard, and use macroblocks (16x16 pixel size) as the basic unit of encoding processing. , a macroblock can contain one or more motion blocks, but any motion block is a rectangular block. The reference frame list value, reference frame index value and motion vector difference of these motion blocks will be transmitted or decoded in units of macroblocks. Since the selection method of the motion vector predictor (MVP) in H.264/AVC is uniquely determined, the relevant information of the MVP does not need to be transmitted in the code stream. Specifically, at the encoder side, the selection of the reference frame list of the macroblock is first transmitted, that is, when reference frame list 0 is used, the motion information is coded and transmitted in the following order: sequentially transmit all motion blocks in the macroblock in the reference frame list The reference frame index value ref_idx_l0 used in 0; sequentially transmit the motion vector difference mvd_l0 of all motion blocks in the macroblock in the reference frame list 0. When using reference frame list 1, the motion information is coded and transmitted in the following order: sequentially transmit the reference frame index value ref_idx_l1 used by all motion blocks in the macroblock in reference frame list 1; sequentially transmit all motion blocks in the macroblock in the reference frame list 1 in the motion vector difference mvd_l1. On the decoder side, when reference frame list 0 is used, the motion information is decoded in the following order: sequentially decode the reference frame index value ref_idx_l0 used in reference frame list 0 for all motion blocks in the macroblock; sequentially decode all motion blocks in the macroblock The block has a motion vector difference mvd_l0 in reference frame list 0. When using reference frame list 1, the motion information is decoded in the following order: sequentially decode the reference frame index value ref_idx_l1 of all motion blocks in the macroblock in reference frame list 1; sequentially decode all motion blocks in the macroblock in reference frame list 1 Medium motion vector difference mvd_l1. The decoder side and the encoder side use the same method to select and derive the motion vector predictor MVP of the current image block.
在解码器这一端,宏块内每一个运动块可以根据码流中解析得到的参考帧列表和参考帧索引值确定每运动块的匹配块所在的参考帧;宏块内每一个运动块根据码流中解析得出的某一列表(例如,参考帧列表0)的运动矢量差(例如,mvd_l0),加上解码器端推导得到的运动矢量预测值,计算得出运动矢量(例如,mv_l0),从而确定该列表中匹配块的空间位置,得到需要的匹配块。At the decoder side, each motion block in the macroblock can determine the reference frame where the matching block of each motion block is located according to the reference frame list and reference frame index value parsed in the code stream; each motion block in the macroblock is based on the code The motion vector difference (for example, mvd_l0) of a certain list (for example, reference frame list 0) parsed in the stream is added to the motion vector predictor derived by the decoder to calculate the motion vector (for example, mv_l0) , so as to determine the spatial position of the matching block in the list, and obtain the required matching block.
然而,上述现有技术提供的帧间预测编码运动信息的处理方法,其不足在于,由于运动矢量预测值的选取方法唯一,因此,解码器这一端得到的运动矢量预测值对当前图像块未必是最优值,此外,解码器这一端也不是并行处理,解码速度不高。However, the method for processing motion information of inter-frame predictive coding provided by the above-mentioned prior art has the disadvantage that, since the selection method of the motion vector predictor is unique, the motion vector predictor obtained at the decoder side may not necessarily be the best choice for the current image block. In addition, the decoder side is not processed in parallel, and the decoding speed is not high.
发明内容Contents of the invention
本发明实施例提供帧间预测编码运动信息的处理方法、装置和编解码系统,以提升码流解析速度。Embodiments of the present invention provide a processing method, device, and codec system for motion information of inter-frame predictive coding, so as to increase the speed of parsing code streams.
本发明实施例提供一种帧间预测编码运动信息的处理方法,所述方法包括:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括参考帧列表0和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。An embodiment of the present invention provides a method for processing inter-frame predictive coding motion information, the method comprising: determining the currently used reference frame list and the motion information of a matching block to be transmitted in the used reference frame list according to the value of the syntax element, The reference frame list includes at least one of reference frame list 0 and reference frame list 1, and the motion information includes reference frame index value, motion vector predictor identifier and motion vector difference related information; if the currently used reference frame list and the If the motion information of the matching block to be transmitted in the reference frame list used is determined, then the motion vector predictor of the matching block in the determined reference frame list used is identified prior to the matching block in the determined reference frame list used The related information of the motion vector difference is written into the code stream.
本发明实施例提供一种帧间预测编码运动信息的处理方法,所述方法包括:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息,所述参考帧列表包括参考帧列表0和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述所述确定的所用参考帧列表内匹配块运动矢量差相关信息。An embodiment of the present invention provides a method for processing inter-frame predictive coding motion information, the method comprising: determining the currently used reference frame list and the motion information of a matching block to be parsed in the used reference frame list according to the value of the syntax element, The reference frame list includes at least one of reference frame list 0 and reference frame list 1, and the motion information includes reference frame index value, motion vector predictor identifier and motion vector difference related information; if the currently used reference frame list and the If the motion information of the matching block that needs to be parsed in the list of reference frames used is determined, first analyze the motion vector predictor identifier of the matching block in the list of reference frames used that is determined, and then parse the list of reference frames used that is determined Matching block motion vector difference related information.
本发明实施例提供一种帧间预测编码运动信息的处理装置,所述装置包括:确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括参考帧列表0和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;写入模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被所述确定模块确定,则将所述确定的所用参考帧列表内匹配块的所述运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块运动矢量差相关信息写入码流。An embodiment of the present invention provides a processing device for inter-frame predictive coding motion information, the device includes: a determination module, configured to determine the currently used reference frame list and the match that needs to be transmitted in the used reference frame list according to the value of the syntax element The motion information of the block, the reference frame list includes at least one of the reference frame list 0 and the reference frame list 1, the motion information includes the reference frame index value, the motion vector predictor identifier and the motion vector difference related information; write module If the currently used reference frame list and the motion information of the matching block to be transmitted in the used reference frame list are determined by the determining module, the motion vector of the matching block in the determined used reference frame list is determined The predictor identifier is written into the code stream prior to the information related to the motion vector difference of the matched block in the determined reference frame list.
本发明实施例提供一种帧间预测编码运动信息的处理装置,所述装置包括:待解析确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息,所述参考帧列表包括参考帧列表0和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;解析模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被所述待解析确定模块确定,则先解析所述确定的所用参考帧列表内匹配块的所述运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块运动矢量差相关信息。An embodiment of the present invention provides a processing device for inter-frame predictive coding motion information, the device includes: a determination module to be parsed, configured to determine the currently used reference frame list and the reference frame list that needs to be parsed according to the value of the syntax element The motion information of the matching block, the reference frame list includes at least one of the reference frame list 0 and the reference frame list 1, and the motion information includes the reference frame index value, the motion vector predictor identifier and the motion vector difference related information; parsing A module, configured to first analyze the motion information of the matching block in the determined used reference frame list if the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list are determined by the module to be parsed and determined After the motion vector predictor is identified, the information related to the motion vector difference of the matching block in the determined reference frame list is analyzed.
本发明实施例提供一种编解码系统,所述编解码系统包括编码器和解码器,所述编码器包括确定模块和写入模块,所述解码器包括待解析确定模块和解析模块;所述确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括参考帧列表0和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;所述写入模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被所述确定模块确定,则将所述确定的所用参考帧列表内匹配块的所述运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块运动矢量差相关信息写入码流;所述待解析确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息;所述解析模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被所述待解析确定模块确定,则先解析所述确定的所用参考帧列表内匹配块的所述运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息。An embodiment of the present invention provides a codec system, the codec system includes an encoder and a decoder, the encoder includes a determination module and a writing module, and the decoder includes a determination module to be parsed and an analysis module; A determining module, configured to determine the currently used reference frame list and the motion information of the matching block to be transmitted in the used reference frame list according to the value of the syntax element, the reference frame list includes reference frame list 0 and reference frame list 1 At least one, the motion information includes a reference frame index value, a motion vector predictor identifier, and motion vector difference related information; the writing module is used for if the currently used reference frame list and the used reference frame list need to be transmitted The motion information of the matching block is determined by the determining module, and the motion vector predictor identifier of the matching block in the determined list of used reference frames is correlated with the motion vector difference of the matching block in the determined list of used reference frames The information is written into the code stream; the determination module to be parsed is used to determine the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list according to the value of the syntax element; the parsing module is used to If the currently used reference frame list and the motion information of the matching block to be parsed in the used reference frame list are determined by the determination module to be parsed, first parse the motion vector of the matching block in the determined used reference frame list After the prediction value is identified, the information related to the motion vector difference of the matched block in the determined reference frame list is analyzed.
从上述本发明实施例可知,由于传输到解码器端的匹配块的运动信息包括运动矢量预测值标识,并且在传输过程中,是将对应参考帧列表内匹配块的运动矢量预测值标识先于运动矢量差相关信息写入码流。因此,与现有技术提供的帧间预测编码运动信息的处理相比,本发明实施例提供的方法可以使解码器一端根据运动矢量预测值标识取得对当前图像块而言最优的运动矢量预测值,而运动矢量预测值标识先于运动矢量差相关信息写入码流也使得解码器端可以并行处理这些信息即在解析运动矢量差相关信息的同时根据已解析出的运动矢量预测值标识解码得到运动矢量预测值,从而提高了码流在解码器一端的解码速度。It can be seen from the above embodiments of the present invention that since the motion information of the matching block transmitted to the decoder includes the motion vector predictor identifier, and in the transmission process, the motion vector predictor identifier of the matching block in the corresponding reference frame list is preceded by the motion Vector difference related information is written into the code stream. Therefore, compared with the inter-frame predictive encoding motion information processing provided by the prior art, the method provided by the embodiment of the present invention can enable the decoder to obtain the optimal motion vector prediction for the current image block according to the motion vector predictor value identification. value, and the motion vector predictor flag is written into the code stream before the motion vector difference related information, so that the decoder can process these information in parallel, that is, decode according to the parsed motion vector predictor flag while parsing the motion vector difference related information The predicted value of the motion vector is obtained, thereby improving the decoding speed of the code stream at the decoder side.
附图说明Description of drawings
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,还可以如这些附图获得其他的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following will briefly introduce the prior art or the accompanying drawings that need to be used in the description of the embodiments. Obviously, the accompanying drawings in the following description are only some of the present invention. Embodiment, for those skilled in the art, other drawings can also be obtained like these drawings.
图1是本发明实施例提供的帧间预测编码运动信息的处理方法流程示意图;FIG. 1 is a schematic flowchart of a method for processing inter-frame predictive coding motion information provided by an embodiment of the present invention;
图2是本发明另一实施例提供的帧间预测编码运动信息的处理方法流程示意图;FIG. 2 is a schematic flowchart of a method for processing inter-frame predictive coding motion information provided by another embodiment of the present invention;
图3是本发明实施例提供的帧间预测编码运动信息的处理装置结构示意图;FIG. 3 is a schematic structural diagram of a processing device for inter-frame predictive coding motion information provided by an embodiment of the present invention;
图4是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;Fig. 4 is a schematic structural diagram of a processing device for inter-frame predictive coding motion information provided by another embodiment of the present invention;
图5是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;Fig. 5 is a schematic structural diagram of a processing device for inter-frame predictive coding motion information provided by another embodiment of the present invention;
图6是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;Fig. 6 is a schematic structural diagram of a processing device for inter-frame predictive coding motion information provided by another embodiment of the present invention;
图7是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;Fig. 7 is a schematic structural diagram of an apparatus for processing inter-frame predictive coding motion information provided by another embodiment of the present invention;
图8是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;Fig. 8 is a schematic structural diagram of a processing device for inter-frame predictive coding motion information provided by another embodiment of the present invention;
图9是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;Fig. 9 is a schematic structural diagram of an apparatus for processing inter-frame predictive coding motion information provided by another embodiment of the present invention;
图10是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图;Fig. 10 is a schematic structural diagram of a processing device for inter-frame predictive coding motion information provided by another embodiment of the present invention;
图11是本发明实施例提供的编解码系统结构示意图。Fig. 11 is a schematic structural diagram of an encoding and decoding system provided by an embodiment of the present invention.
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some, not all, embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention belong to the protection scope of the present invention.
请参阅附图1,是本发明实施例提供的帧间预测编码运动信息的处理方法流程示意图,其执行主体可以是采用帧间预测编码技术的通信系统的编码器。附图1示例的方法主要包括步骤S101和步骤S102:Please refer to FIG. 1 , which is a schematic flow chart of a method for processing inter-frame predictive coding motion information provided by an embodiment of the present invention, and its executor may be an encoder of a communication system using inter-frame predictive coding technology. The method of accompanying drawing 1 example mainly comprises step S101 and step S102:
S101,根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息。S101. Determine a currently used reference frame list and motion information of a matching block to be transmitted in the used reference frame list according to a value of a syntax element.
在本发明实施例中,参考帧列表包括参考帧列表0(reference list 0)和参考帧列表1(reference list 1)中的至少一个,即可能是参考帧列表0、可能是参考帧列表1或可能是参考帧列表0和参考帧列表1,每个参考帧列表作用与背景技术提及的参考帧列表相同。与现有技术的参考帧列表内匹配块的运动信息只需要包括参考帧索引值和运动矢量差不同,在本发明实施例中,参考帧列表内匹配块的运动信息除了包括参考帧索引值和运动矢量差之外,还包括运动矢量预测值标识(以下使用MVP_flag表示)。参考帧列表内匹配块的运动信息包括包括参考帧列表0内匹配块的运动信息、参考帧列表1内匹配块的运动信息或参考帧列表0内匹配块的运动信息和参考帧列表1内匹配块的运动信息。运动矢量预测值标识(MVP_flag)即用于表明编码器端选择的运动矢量预测值是mvp_0还是mvp_1;当编码器将运动矢量预测值标识传输至解码器端时,也相当于告知了解码器编码器端在编码时选择的运动矢量预测值是mvp_0还是mvp_1。In the embodiment of the present invention, the reference frame list includes at least one of reference frame list 0 (reference list 0) and reference frame list 1 (reference list 1), that is, it may be reference frame list 0, it may be reference frame list 1 or It may be reference frame list 0 and reference frame list 1, and each reference frame list has the same function as the reference frame list mentioned in the background art. Unlike the motion information of the matching block in the reference frame list in the prior art that only needs to include the reference frame index value and the motion vector difference, in the embodiment of the present invention, the motion information of the matching block in the reference frame list includes the reference frame index value and In addition to the motion vector difference, a motion vector predictor flag (indicated by MVP_flag hereinafter) is also included. The motion information of the matching block in the reference frame list includes the motion information of the matching block in the reference frame list 0, the motion information of the matching block in the reference frame list 1, or the motion information of the matching block in the reference frame list 0 and the matching block in the reference frame list 1. The motion information of the block. The motion vector predictor flag (MVP_flag) is used to indicate whether the motion vector predictor selected by the encoder is mvp_0 or mvp_1; when the encoder transmits the motion vector predictor flag to the decoder, it is equivalent to telling the decoder to encode Whether the motion vector predictor selected by the device side during encoding is mvp_0 or mvp_1.
相应于mvp_0和mvp_1,对于每一个预测单元(Prediction Unit,PU)的运动矢量差(Motion Vector Difference,MVD),其可能由MV-mvp_0或MV-mvp_1得到。Corresponding to mvp_0 and mvp_1, the motion vector difference (Motion Vector Difference, MVD) of each prediction unit (Prediction Unit, PU) may be obtained from MV-mvp_0 or MV-mvp_1.
需要说明的是,在本发明实施例中,预测单元类似于H.264/AVC中的运动块即使用帧间预测技术的宏块下划分出来的更小的块;由于每一个这样的块都可以有自己的运动矢量,因此,每一个预测单元也都可以拥有自己的运动矢量。It should be noted that, in the embodiment of the present invention, a prediction unit is similar to a motion block in H.264/AVC, that is, a smaller block divided from a macroblock using inter-frame prediction technology; since each such block is Can have its own motion vector, therefore, each prediction unit can also have its own motion vector.
对于编码器端当前所用的是哪一个参考帧列表以及传输的是哪一个参考帧列表内匹配块的运动信息,在本发明实施例中,是根据语法元素即inter_pred_idc的值来确定。具体地,若当前PU属于双向预测条带,则传输语法元素inter_pred_idc,其值可以是Pred_L0、Pred_L1或Pred_BI;进一步地,当inter_pred_idc的值为Pred_L0时,则确定所用的是参考帧列表0,并且需要传输的是参考帧列表0内匹配块的运动信息,当inter_pred_idc的值为Pred_L1时,则确定所用的是参考帧列表1,并且需要传输的是参考帧列表1内匹配块的运动信息;当inter_pred_idc的值为Pred_BI时,则确定所用的是参考帧列表0和参考帧列表1,并且需要传输的是参考帧列表0和参考帧列表1内匹配块的运动信息。若当前PU不属于双向预测条带,则不传输语法元素inter_pred_idc,即语法元素inter_pred_idc的值默认为是Pred_0。Which reference frame list is currently used by the encoder and the motion information of the matching block in which reference frame list is transmitted is determined according to the value of the syntax element inter_pred_idc in the embodiment of the present invention. Specifically, if the current PU belongs to the bidirectional prediction slice, the syntax element inter_pred_idc is transmitted, and its value can be Pred_L0, Pred_L1 or Pred_BI; further, when the value of inter_pred_idc is Pred_L0, it is determined that the reference frame list 0 is used, and What needs to be transmitted is the motion information of the matching block in the reference frame list 0. When the value of inter_pred_idc is Pred_L1, it is determined that the reference frame list 1 is used, and what needs to be transmitted is the motion information of the matching block in the reference frame list 1; when When the value of inter_pred_idc is Pred_BI, it is determined that reference frame list 0 and reference frame list 1 are used, and what needs to be transmitted is the motion information of the matching block in reference frame list 0 and reference frame list 1. If the current PU does not belong to the bidirectional prediction slice, the syntax element inter_pred_idc is not transmitted, that is, the value of the syntax element inter_pred_idc is Pred_0 by default.
至于确定是否需要传输运动信息,则可以根据预测模式来确定,即若当前PU的帧间预测模式不是Merge模式,则确定传输运动信息,否则缺省运动信息。As for determining whether motion information needs to be transmitted, it can be determined according to the prediction mode, that is, if the inter prediction mode of the current PU is not Merge mode, it is determined to transmit motion information, otherwise, the motion information is defaulted.
S102,若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。S102. If the currently used reference frame list and the motion information of the matching block to be transmitted in the used reference frame list are determined, mark the determined motion vector predictor of the matching block in the used reference frame list prior to the The information related to the motion vector difference of the matching blocks in the determined reference frame list is written into the code stream.
若编码器端确定当前所用的是哪一个参考帧列表以及需要传输的是哪一个参考帧列表内匹配块的运动信息,则作为将所述确定的所用参考帧列表内匹配块的参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流的一个实施例,可以是先将所述确定的所用参考帧列表内匹配块的参考帧索引值写入码流,再将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。具体地,若编码器端确定当前所用的是参考帧列表0以及需要传输的是参考帧列表0内匹配块的运动信息,则依次写入码流的运动信息包括参考帧列表0内匹配块的参考帧索引值(以下使用ref_idx_l0表示)、参考帧列表0内匹配块的运动矢量预测值标识(以下使用mvp_l0_flag表示)和参考帧列表0内匹配块的运动矢量差(以下使用mvd_l0表示)相关信息;若编码器端确定当前所用的是参考帧列表1以及需要传输的是参考帧列表1内匹配块的运动信息,则依次写入码流的运动信息包括参考帧列表1内匹配块的参考帧索引值(以下使用ref_idx_l1表示)、参考帧列表1内匹配块的运动矢量预测值标识(以下使用mvp_l1_flag表示)和参考帧列表1内匹配块的运动矢量差(以下使用mvd_l1表示)相关信息;若编码器端确定当前所用的是参考帧列表0和参考帧列表1以及需要传输的是参考帧列表0和参考帧列表1内匹配块的运动信息,则依次写入码流的运动信息包括参考帧列表0内匹配块的ref_idx_l0、mvp_l0_flag以及mvd_l0相关信息,和参考帧列表1内匹配块的ref_idx_l1、mvp_l1_flag以及mvd_l1相关信息。If the encoder side determines which reference frame list is currently used and which reference frame list needs to transmit the motion information of the matching block in the reference frame list, it will be used as the reference frame list of the matching block in the determined reference frame list. An embodiment in which the motion vector predictor identifier of the matching block is written into the code stream prior to the motion vector difference related information of the matching block in the determined list of used reference frames may be to first match The reference frame index value of the block is written into the code stream, and then the motion vector predictor identifier of the matching block in the determined list of used reference frames is written into the code stream, and finally the motion vector prediction value of the matching block in the determined list of used reference frames is written Vector difference related information is written into the code stream. Specifically, if the encoder side determines that the current reference frame list 0 is being used and the motion information of the matching block in the reference frame list 0 needs to be transmitted, the motion information sequentially written into the code stream includes the motion information of the matching block in the reference frame list 0. Reference frame index value (represented by ref_idx_l0 below), motion vector predictor flag of matching block in reference frame list 0 (represented by mvp_l0_flag below) and motion vector difference of matching block in reference frame list 0 (represented by mvd_l0 below) ; If the encoder side determines that the reference frame list 1 is currently being used and the motion information of the matching block in the reference frame list 1 needs to be transmitted, then the motion information written into the code stream in turn includes the reference frame of the matching block in the reference frame list 1 Index value (represented by ref_idx_l1 below), motion vector predictor flag of the matching block in reference frame list 1 (represented by mvp_l1_flag below) and motion vector difference of matching block in reference frame list 1 (represented by mvd_l1 below); if The encoder side determines that reference frame list 0 and reference frame list 1 are currently being used, and that what needs to be transmitted is the motion information of matching blocks in reference frame list 0 and reference frame list 1, then the motion information written into the code stream in turn includes reference frames ref_idx_l0, mvp_l0_flag, and mvd_l0 related information of the matching block in list 0, and ref_idx_l1, mvp_l1_flag, and mvd_l1 related information of the matching block in list 1 of the reference frame.
作为将所述确定的所用参考帧列表内匹配块的参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流的另一实施例,可以先将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,再将所述确定的所用参考帧列表内匹配块的参考帧索引值写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。具体地,若编码器端确定当前需要传输的是参考帧列表0内匹配块的运动信息,则依次写入码流的运动信息包括mvp_l0_flag、ref_idx_l0和mvd_l0相关信息;若编码器端确定当前需要传输的是参考帧列表1内匹配块的运动信息,则依次写入码流的运动信息包括mvp_l1_flag、ref_idx_l1和mvd_l1相关信息;若编码器端确定当前需要传输的是参考帧列表0和参考帧列表1内匹配块的运动信息,则依次写入码流的运动信息包括mvp_l0_flag、ref_idx_l0以及mvd_l0相关信息,和mvp_l1_flag、ref_idx_l1、以及mvd_l1相关信息。Writing the motion vector predictor identifier of the matched block in the reference frame list of the determined used reference frame list prior to the determined motion vector difference related information of the matched block in the used reference frame list into the code stream In another embodiment, the identifier of the motion vector predictor value of the matched block in the determined used reference frame list may be written into the code stream first, and then the reference frame index value of the determined matched block in the used reference frame list may be written into code stream, and finally write the motion vector difference related information of the matched blocks in the determined reference frame list into the code stream. Specifically, if the encoder side determines that what needs to be transmitted currently is the motion information of the matching block in the reference frame list 0, then the motion information written into the code stream in turn includes mvp_l0_flag, ref_idx_l0 and mvd_l0 related information; if the encoder side determines that the current need to transmit is the motion information of the matching block in reference frame list 1, then the motion information written into the code stream in turn includes mvp_l1_flag, ref_idx_l1 and mvd_l1 related information; if the encoder side determines that the current need to transmit is reference frame list 0 and reference frame list 1 For the motion information of the inner matching block, the motion information written into the code stream in sequence includes mvp_l0_flag, ref_idx_l0, and mvd_l0 related information, and mvp_l1_flag, ref_idx_l1, and mvd_l1 related information.
上述运动信息,可以按照写入码流的顺序传输至解码器端,即解码器端最终可以按照运动信息在编码器端写入码流的顺序读取解析码流。The above motion information can be transmitted to the decoder in the order in which the code stream is written, that is, the decoder can finally read and analyze the code stream in the order in which the motion information is written in the code stream at the encoder.
以下以参考帧列表1为例,说明传输mvd_l0相关信息的技术方案;传输mvd_l1相关信息的技术方案与传输mvd_l0相关信息的技术方案类似,不做赘述。The following takes the reference frame list 1 as an example to illustrate the technical solution for transmitting mvd_l0 related information; the technical solution for transmitting mvd_l1 related information is similar to the technical solution for transmitting mvd_l0 related information, and will not be repeated here.
具体地,mvd_l0相关信息包括mvd_l0水平分量的绝对值大于0标识(以下使用abs_mvd_greater0_flag[0]表示)、mvd_l0竖直分量的绝对值大于0标识(以下使用abs_mvd_greater0_flag[1]表示)、mvd_l0水平分量绝对值大于1标识(以下使用abs_mvd_greater1_flag[0]表示)、mvd_l0竖直分量绝对值大于1标识(以下使用abs_mvd_greater1_flag[1]表示)、mvd_l0水平分量绝对值减2后的幅值(以下使用abs_mvd_minus2[0]表示)、mvd_l0水平分量的正负号(以下使用mvd_sign_flag[0]表示)、mvd_l0竖直分量绝对值减2后的幅值(以下使用abs_mvd_minus2[1]表示)和mvd_l0竖直分量的正负号(以下使用mvd_sign_flag[1]表示)。对于abs_mvd_greater1_flag[0]、abs_mvd_greater1_flag[1]、abs_mvd_minus2[0]、mvd_sign_flag[0]、abs_mvd_minus2[1]和mvd_sign_flag[1]都是有条件传输,即,若mvd_l0水平分量绝对值大于0,则传输abs_mvd_greater1_flag[0];若mvd_l0竖直分量绝对值大于0,则传输abs_mvd_greater1_flag[1];若mvd_l0水平分量绝对值大于1,则传输abs_mvd_minus2[0]和mvd_sign_flag[0];若mvd_l0竖直分量绝对值大于1,则传输abs_mvd_minus2[1]和mvd_sign_flag[1]。Specifically, mvd_l0 related information includes the flag that the absolute value of the horizontal component of mvd_l0 is greater than 0 (indicated by abs_mvd_greater0_flag[0] below), the flag that the absolute value of the vertical component of mvd_l0 is greater than 0 (indicated by abs_mvd_greater0_flag[1] in the following), the absolute value of the horizontal component of mvd_l0 Flag with a value greater than 1 (indicated by abs_mvd_greater1_flag[0] below), the flag that the absolute value of the vertical component of mvd_l0 is greater than 1 (indicated by abs_mvd_greater1_flag[1] in the following), the amplitude of the absolute value of the horizontal component of mvd_l0 minus 2 (abs_mvd_minus2[0 is used in the following ]), the sign of the horizontal component of mvd_l0 (represented by mvd_sign_flag[0] below), the magnitude of the absolute value of the vertical component of mvd_l0 minus 2 (represented by abs_mvd_minus2[1] below) and the sign of the vertical component of mvd_l0 sign (indicated by mvd_sign_flag[1] below). For abs_mvd_greater1_flag[0], abs_mvd_greater1_flag[1], abs_mvd_minus2[0], mvd_sign_flag[0], abs_mvd_minus2[1] and mvd_sign_flag[1] are all conditional transmissions, that is, if the absolute value of the horizontal component of mvd_l0 is greater than 0, then abs_mvd_greater1_flag is transmitted [0]; if the absolute value of the vertical component of mvd_l0 is greater than 0, transmit abs_mvd_greater1_flag[1]; if the absolute value of the horizontal component of mvd_10 is greater than 1, transmit abs_mvd_minus2[0] and mvd_sign_flag[0]; if the absolute value of the vertical component of mvd_l0 is greater than 1, then transmit abs_mvd_minus2[1] and mvd_sign_flag[1].
从上述本发明实施例提供的帧间预测编码运动信息的处理方法可知,由于传输到解码器端的匹配块的运动信息包括运动矢量预测值标识,并且在传输过程中,是将对应参考帧列表内匹配块的运动矢量预测值标识先于运动矢量差相关信息写入码流。因此,与现有技术提供的帧间预测编码运动信息的处理相比,本发明实施例提供的方法可以使解码器一端根据运动矢量预测值标识取得对当前图像块而言最优的运动矢量预测值,而运动矢量预测值标识先于运动矢量差相关信息写入码流也使得解码器可以并行处理这些信息即在解析运动矢量差相关信息的同时根据已解析出的运动矢量预测值标识解码得到运动矢量预测值,从而提高了码流在解码器一端的解码速度。It can be known from the above-mentioned processing method of interframe predictive coding motion information provided by the embodiment of the present invention that since the motion information of the matching block transmitted to the decoder includes the motion vector predictor identifier, and in the transmission process, the corresponding reference frame list The motion vector predictor identifier of the matched block is written into the code stream prior to the motion vector difference related information. Therefore, compared with the inter-frame predictive encoding motion information processing provided by the prior art, the method provided by the embodiment of the present invention can enable the decoder to obtain the optimal motion vector prediction for the current image block according to the motion vector predictor value identification. value, and the motion vector predictor flag is written into the code stream before the motion vector difference related information, so that the decoder can process these information in parallel, that is, it can be decoded according to the parsed motion vector predictor flag while analyzing the motion vector difference related information. Motion vector predictors, thereby improving the decoding speed of the code stream at the decoder side.
请参阅附图2,是本发明另一实施例提供的帧间预测编码运动信息的处理方法流程示意图,其执行主体可以是采用帧间预测编码技术的通信系统的解码器。附图2示例的方法主要包括步骤S201和步骤S02:Please refer to FIG. 2 , which is a schematic flow chart of a method for processing inter-frame predictive coding motion information provided by another embodiment of the present invention, and its execution subject may be a decoder of a communication system adopting inter-frame predictive coding technology. The method illustrated in accompanying drawing 2 mainly includes step S201 and step S02:
S201,根据语法元素的值确定所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息。S201. Determine the used reference frame list and the motion information of the matching block to be parsed in the used reference frame list according to the value of the syntax element.
与附图1的实施例类似,在本实施例中,参考帧列表内匹配块的运动信息包括参考帧索引值、运动矢量差和运动矢量预测值标识;参考帧列表内匹配块的运动信息包括参考帧列表0(reference list 0)内匹配块的运动信息和/或参考帧列表1(reference list 1)内匹配块的运动信息,即包括参考帧列表0内匹配块的运动信息、参考帧列表1内匹配块的运动信息或参考帧列表0内匹配块的运动信息和参考帧列表1内匹配块的运动信息。当解码器端收到编码器传输过来的运动矢量预测值标识时,解码器获知编码器端在编码时选择的运动矢量预测值是mvp_0还是mvp_1。Similar to the embodiment of FIG. 1 , in this embodiment, the motion information of the matching block in the reference frame list includes reference frame index value, motion vector difference and motion vector predictor identifier; the motion information of the matching block in the reference frame list includes The motion information of the matching block in the reference frame list 0 (reference list 0) and/or the motion information of the matching block in the reference frame list 1 (reference list 1), that is, including the motion information of the matching block in the reference frame list 0, the reference frame list The motion information of the matching block in 1 or the motion information of the matching block in reference frame list 0 and the motion information of the matching block in reference frame list 1. When the decoder receives the motion vector predictor identifier transmitted from the encoder, the decoder knows whether the motion vector predictor selected by the encoder during encoding is mvp_0 or mvp_1.
对于解码器端当前所用的是哪一个参考帧列表以及需要解析的是哪个一个参考帧列表内匹配块的运动信息,在本实施例中,是根据语法元素即inter_pred_idc的值来确定。具体地,若当前PU属于双向预测条带,则读取并解析语法元素inter_pred_idc,其值可以是Pred_L0、Pred_L1或Pred_BI;进一步地,当inter_pred_idc的值为Pred L0时,则确定所用的是参考帧列表0,需要读取并解析的是参考帧列表0内匹配块的运动信息,当inter_pred_idc的值为Pred_L1时,则确定所用的是参考帧列表1,需要读取并解析的是参考帧列表1内匹配块的运动信息;当inter_pred_idc的值为Pred_BI时,则确定所用的是参考帧列表0和参考帧列表1,需要读取并解析的是参考帧列表0和参考帧列表1内匹配块的运动信息。若当前PU不属于双向预测条带,则不解析语法元素inter_pred_idc,即语法元素inter_pred_idc的值默认为是Pred_0。Which reference frame list is currently used by the decoder and which motion information of the matching block in the reference frame list needs to be parsed is determined according to the value of the syntax element inter_pred_idc in this embodiment. Specifically, if the current PU belongs to a bidirectional prediction slice, read and parse the syntax element inter_pred_idc, whose value can be Pred_L0, Pred_L1 or Pred_BI; further, when the value of inter_pred_idc is Pred L0, it is determined that the reference frame is used List 0, what needs to be read and parsed is the motion information of the matching block in the reference frame list 0, when the value of inter_pred_idc is Pred_L1, it is determined that the reference frame list 1 is used, and the reference frame list 1 needs to be read and parsed The motion information of the inner matching block; when the value of inter_pred_idc is Pred_BI, it is determined that reference frame list 0 and reference frame list 1 are used, and what needs to be read and parsed is the matching block in reference frame list 0 and reference frame list 1 Sports information. If the current PU does not belong to the bidirectional prediction slice, the syntax element inter_pred_idc is not parsed, that is, the value of the syntax element inter_pred_idc is Pred_0 by default.
至于确定是否需要读取并解析运动信息,则可以根据预测模式来确定,即若当前PU的帧间预测模式不是Merge模式,则确定读取并解析运动信息,否则缺省运动信息。As for determining whether to read and analyze the motion information, it can be determined according to the prediction mode, that is, if the inter prediction mode of the current PU is not the Merge mode, it is determined to read and analyze the motion information, otherwise the default motion information.
S202,若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息。S202. If the currently used reference frame list and the motion information of the matching block to be parsed in the used reference frame list are determined, first analyze the motion vector predictor identifier of the matching block in the determined used reference frame list, and then parse the Information related to the motion vector difference of the matching blocks in the reference frame list determined above.
若解码器端确定当前所用的是哪一个参考帧列表以及需要解析的是哪一个参考帧列表内匹配块的运动信息,则作为先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息的一个实施例,可以是依次读取并解析码流中所述确定的所用参考帧列表内匹配块的参考帧索引值、运动矢量预测值标识和运动矢量差相关信息。具体地,若解码器端确定当前所用的是参考帧列表0以及需要解析的是参考帧列表0内匹配块的运动信息,则依次读取并解析码流中参考帧列表0内匹配块的参考帧索引值(以下使用ref_idx_l0表示)、参考帧列表0内匹配块的运动矢量预测值标识(以下使用mvp_l0_flag表示)和参考帧列表0内匹配块的运动矢量差(以下使用mvd_l0表示)相关信息;若解码器端确定当前所用的是参考帧列表1以及需要解析的是参考帧列表1内匹配块的运动信息,则依次读取并解析码流中参考帧列表1内匹配块的参考帧索引值(以下使用ref_idx_l1表示)、参考帧列表1内匹配块的运动矢量预测值标识(以下使用mvp_l1_flag表示)和参考帧列表1内匹配块的运动矢量差(以下使用mvd_l1表示)相关信息;若解码器端确定当前所用的是参考帧列表0和参考帧列表1以及需要解析的是参考帧列表0和参考帧列表1内匹配块的运动信息,则依次读取并解析码流中ref_idx_l0、mvp_l0_flag以及mvd_l0相关信息,和ref_idx_l1、mvp_l1_flag以及mvd_l1相关信息。If the decoder side determines which reference frame list is currently used and which reference frame list needs to be parsed for the motion information of the matching block in the reference frame list, it is used as the first analysis of the motion vector prediction of the matching block in the reference frame list used An embodiment of analyzing the motion vector difference related information of the matching block in the determined list of used reference frames after the value identification may be to sequentially read and analyze the reference frames of the matching blocks in the determined list of used reference frames in the code stream Index value, motion vector predictor identification and motion vector difference related information. Specifically, if the decoder determines that it is currently using reference frame list 0 and what needs to be parsed is the motion information of the matching block in reference frame list 0, it will sequentially read and parse the references of the matching blocks in reference frame list 0 in the code stream. Frame index value (represented by ref_idx_l0 below), motion vector predictor flag of matching block in reference frame list 0 (represented by mvp_l0_flag below) and motion vector difference of matching block in reference frame list 0 (represented by mvd_l0 below); If the decoder determines that it is currently using reference frame list 1 and what needs to be parsed is the motion information of the matching block in reference frame list 1, it will sequentially read and parse the reference frame index value of the matching block in reference frame list 1 in the code stream (represented by ref_idx_l1 below), the motion vector predictor flag of the matching block in reference frame list 1 (represented by mvp_l1_flag below), and the motion vector difference of the matching block in reference frame list 1 (represented by mvd_l1 below); if the decoder If the terminal determines that reference frame list 0 and reference frame list 1 are currently being used and that the motion information of matching blocks in reference frame list 0 and reference frame list 1 needs to be parsed, then read and parse ref_idx_l0, mvp_l0_flag, and mvd_l0 in the code stream in sequence Related information, and ref_idx_l1, mvp_l1_flag, and mvd_l1 related information.
作为先解析所述确定的所用参考帧列表内匹配块的所述运动矢量预测值标识的后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息的另一实施例,可以是依次读取码流中确定的所用参考帧列表内匹配块的所述运动矢量预测值标识、参考帧索引值和运动矢量差相关信息。具体地,若解码器端确定当前所用的是参考帧列表0以及需要解析的是参考帧列表0内匹配块的运动信息,则依次读取并解析码流中mvp_l0_flag、ref_idx_l0和mvd_l0相关信息;若解码器端确定当前所用的是参考帧列表1以及需要解析的是参考帧列表1内匹配块的运动信息,则依次读取并解析码流中mvpv_l1_flag、ref_idx_l1和mvd_l1相关信息;若解码器端确定当前所用的是参考帧列表0和参考帧列表1以及需要解析的是参考帧列表0和参考帧列表1内匹配块的运动信息,则依次读取并解析码流中mvp_l0_flag、ref_idx_l0以及mvd_l0相关信息,和mvp_l1_flag、ref_idx_l1以及mvd_l1相关信息。以下以参考帧列表0为例,说明解码器解析mvdl_0的技术方案;解码器解析mvd_l1相关信息的技术方案与解析mvd_l0相关信息的技术方案类似,不做赘述。As another embodiment of analyzing the motion vector difference related information of the matching blocks in the determined reference frame list after analyzing the motion vector predictor identifier of the matching block in the determined reference frame list used, it may be Read the motion vector predictor identifier, reference frame index value and motion vector difference related information of the matching block in the reference frame list determined in the code stream in sequence. Specifically, if the decoder determines that it is currently using reference frame list 0 and what needs to be parsed is the motion information of the matching block in reference frame list 0, it will sequentially read and parse the information related to mvp_l0_flag, ref_idx_l0, and mvd_l0 in the code stream; if The decoder side determines that it is currently using the reference frame list 1 and needs to analyze the motion information of the matching block in the reference frame list 1, then reads and parses the relevant information of mvpv_l1_flag, ref_idx_l1 and mvd_l1 in the code stream in sequence; if the decoder side determines Currently, reference frame list 0 and reference frame list 1 are used, and what needs to be parsed is the motion information of matching blocks in reference frame list 0 and reference frame list 1, then read and parse the relevant information of mvp_l0_flag, ref_idx_l0 and mvd_l0 in the code stream in sequence , and information related to mvp_l1_flag, ref_idx_l1, and mvd_l1. The following takes the reference frame list 0 as an example to illustrate the technical solution for the decoder to parse mvdl_0; the technical solution for the decoder to parse mvd_l1-related information is similar to the technical solution for parsing mvd_l0-related information, and will not be described in detail.
具体地,在本实施例中,mvd_l0相关信息包括mvd_l0水平分量的绝对值大于0标识(以下使用abs_mvd_greater0_flag[0]表示)、mvd_l0竖直分量的绝对值大于0标识(以下使用abs_mvd_greater0_flag[1]表示)、mvd_l0水平分量绝对值大于1标识(以下使用abs_mvd_greater1_flag[0]表示)、mvd_l0竖直分量绝对值大于1标识(以下使用abs_mvd_greater1_flag[1]表示)、mvd_l0水平分量绝对值减2后的幅值(以下使用abs_mvd_minus2[0]表示)、mvd_l0水平分量的正负号(以下使用mvd_sign_flag[0]表示)、mvd_l0竖直分量绝对值减2后的幅值(以下使用abs_mvd_minus2[1]表示)和mvd_l0竖直分量的正负号(以下使用mvd_sign_flag[1]表示)。对于abs_mvd_greater1_flag[0]、abs_mvd_greater1_flag[1]、abs_mvd_minus2[0]、mvd_sign_flag[0]、abs_mvd_minus2[1]和mvd_sign_flag[1]都是有条件解析,即,若mvd_l0水平分量绝对值大于0,则解码器读取并解析abs_mvd_greater1_flag[0];若mvd_l0竖直分量绝对值大于0,则解码器读取并解析abs_mvd_greater1_flag[1];若mvd_l0水平分量绝对值大于1,则解码器读取并解析abs_mvd_minus2[0]和mvd_sign_flag[0];若mvd_l0竖直分量绝对值大于1,则解码器读取并解析abs_mvd_minus2[1]和mvd_sign_flag[1]。Specifically, in this embodiment, mvd_l0 related information includes the flag that the absolute value of the horizontal component of mvd_l0 is greater than 0 (indicated by abs_mvd_greater0_flag[0] below), the flag that the absolute value of the vertical component of mvd_l0 is greater than 0 (indicated by abs_mvd_greater0_flag[1] in the following ), the absolute value of the mvd_l0 horizontal component is greater than 1 (indicated by abs_mvd_greater1_flag[0] below), the absolute value of the mvd_l0 vertical component is greater than 1 (indicated by abs_mvd_greater1_flag[1] in the following), the amplitude of the absolute value of the mvd_l0 horizontal component minus 2 (hereinafter expressed by abs_mvd_minus2[0]), the sign of the horizontal component of mvd_l0 (hereinafter expressed by mvd_sign_flag[0]), the amplitude of the absolute value of the vertical component of mvd_l0 minus 2 (hereinafter expressed by abs_mvd_minus2[1]) and mvd_l0 The sign of the vertical component (indicated by mvd_sign_flag[1] below). For abs_mvd_greater1_flag[0], abs_mvd_greater1_flag[1], abs_mvd_minus2[0], mvd_sign_flag[0], abs_mvd_minus2[1] and mvd_sign_flag[1] are conditional analysis, that is, if the absolute value of the horizontal component of mvd_l0 is greater than 0, the decoder Read and parse abs_mvd_greater1_flag[0]; if the absolute value of the vertical component of mvd_l0 is greater than 0, the decoder reads and parses abs_mvd_greater1_flag[1]; if the absolute value of the horizontal component of mvd_l0 is greater than 1, the decoder reads and parses abs_mvd_minus2[0 ] and mvd_sign_flag[0]; if the absolute value of the vertical component of mvd_l0 is greater than 1, the decoder reads and parses abs_mvd_minus2[1] and mvd_sign_flag[1].
对于附图2示例的帧间预测编码运动信息的处理方法,由于运动矢量预测值标识在码流中的位置先于运动矢量差相关信息,因此,解码器可以先将运动矢量预测值标识解析出来,然后解析运动矢量差相关信息。与先解析运动矢量差相关信息,在解析运动矢量差相关信息完成后,再解析运动矢量预测值标识的方案相比,附图2示例的帧间预测编码运动信息的处理方法使得解码器端解码速度大大加快,利于其并行处理。这是因为,运动矢量差相关信息相较于运动矢量预测值标识要复杂。假设解析运动矢量差相关信息耗费的时间是T1,解码运动矢量预测值耗费的时间是T2。若采用先解析运动矢量差相关信息,在解析运动矢量差相关信息完成后,再解析运动矢量预测值标识,然后根据解析出来的运动矢量预测值标识解码运动矢量预测值(MVP)的方案,则解析运动矢量差相关信息和解码运动矢量预测值总共耗费的时间是两者的时间和即T1+T2。若采用先解析运动矢量预测值标识,在解析运动矢量预测值标识完成后,再解析运动矢量差相关信息,然后,在解析运动矢量差相关信息的同时根据已经解析出来的运动矢量预测值标识解码运动矢量预测值,则解析运动矢量差相关信息和解码运动矢量预测值总共耗费的时间是max(T1,T2)即两者中的最大值,显然,max(T1,T2)要小于T1+T2。For the processing method of inter-frame predictive encoding motion information illustrated in Figure 2, since the position of the motion vector predictor identifier in the code stream is prior to the motion vector difference related information, the decoder can first parse out the motion vector predictor identifier , and then parse the motion vector difference related information. Compared with the scheme of first analyzing the motion vector difference-related information, and then analyzing the motion vector predictor value identification after analyzing the motion vector difference-related information, the processing method of the inter-frame predictive coding motion information illustrated in Figure 2 enables the decoder to decode The speed is greatly accelerated, which is conducive to its parallel processing. This is because the motion vector difference-related information is more complicated than the motion vector predictor identifier. Assume that the time spent on parsing information related to the motion vector difference is T 1 , and the time spent on decoding the motion vector predictor is T 2 . If the scheme of analyzing the information related to the motion vector difference first, and then analyzing the identifier of the motion vector predictor value after the completion of the analysis of the information related to the motion vector difference, and then decoding the motion vector predictor value (MVP) according to the identifier of the analyzed motion vector predictor value, then The total time spent on parsing the motion vector difference related information and decoding the motion vector predictor is the sum of the two times, that is, T 1 +T 2 . If the motion vector predictor identifier is analyzed first, after the motion vector predictor identifier is analyzed, the information related to the motion vector difference is analyzed, and then, while the information related to the motion vector difference is analyzed, it is decoded according to the already resolved motion vector predictor identifier motion vector predictor value, then the total time spent on parsing motion vector difference related information and decoding motion vector predictor value is max(T 1 , T 2 ), which is the maximum value of the two. Obviously, max(T 1 , T 2 ) requires smaller than T 1 +T 2 .
在附图2示例的方法中,先解析对应参考帧列表内匹配块的运动矢量预测值标识后,再解析运动矢量差相关信息的步骤之后,进一步包括:根据所述参考帧索引值确定匹配块所在的参考帧;重建对应参考帧列表内匹配块的运动矢量;根据所述确定的匹配块所在的参考帧和所述重建的对应参考帧列表内匹配块的运动矢量,获取当前帧间预测单元在对应参考帧列表内的匹配块。In the method illustrated in FIG. 2 , after first parsing the motion vector predictor identifier of the matching block in the corresponding reference frame list, and then parsing the motion vector difference related information, it further includes: determining the matching block according to the reference frame index value The reference frame where it is located; reconstructing the motion vector of the matching block in the corresponding reference frame list; obtaining the current inter prediction unit according to the determined reference frame where the matching block is located and the reconstructed motion vector of the matching block in the corresponding reference frame list Matching blocks within the list of corresponding reference frames.
以解码器端选择的是参考帧列表0为例(选择参考帧列表1时类似,不做赘述),在重建对应参考帧列表内匹配块的运动矢量时,具体可以是:Take the reference frame list 0 selected by the decoder as an example (similar to selecting reference frame list 1, so I won’t go into details), when reconstructing the motion vector of the matching block in the corresponding reference frame list, the details can be:
S1,根据所述确定的所用参考帧列表内匹配块的运动矢量差相关信息恢复所述确定的所用参考帧列表内匹配块的运动矢量差;具体地,参考帧列表0内匹配块的运动矢量差(mvd_l0)相关信息包括mvd_l0水平分量(以下使用mvd_x表示)和mvd_l0竖直分量(以下使用mvd_y表示),其中,mvd_x可按照以下方式计算:S1. Recover the determined motion vector difference of the matched block in the used reference frame list according to the determined related information of the motion vector difference of the matched block in the used reference frame list; specifically, the motion vector of the matched block in the reference frame list 0 Difference (mvd_l0) related information includes mvd_l0 horizontal component (represented by mvd_x below) and mvd_l0 vertical component (represented by mvd_y below), wherein mvd_x can be calculated as follows:
mvd_x=abs_mvd_greater0_flag[0]﹡(abs_mvd_minus2[0]+2)*(1-2*mvd_sign_flag[0]);mvd_x=abs_mvd_greater0_flag[0]*(abs_mvd_minus2[0]+2)*(1-2*mvd_sign_flag[0]);
mvd_y可按照以下方式计算:mvd_y can be calculated as follows:
mvd_y=abs_mvd_greater0_flag[1]﹡(abs_mvd_minus2[1]+2)﹡(1-2*mvd_sign_flag[1]);mvd_y=abs_mvd_greater0_flag[1]*(abs_mvd_minus2[1]+2)*(1-2*mvd_sign_flag[1]);
上述mvd_x和mvd_y的表示式中,abs_mvd_greater0_flag[0]、abs_mvd_minus2[0]、mvd_sign_flag[0]、abs_mvd_greater0_flag[1]、abs_mvd_minus2[1]以及abs_mvd_minus2[1]的意义可参阅前述实施例,此处不做赘述。In the above expressions of mvd_x and mvd_y, the meanings of abs_mvd_greater0_flag[0], abs_mvd_minus2[0], mvd_sign_flag[0], abs_mvd_greater0_flag[1], abs_mvd_minus2[1] and abs_mvd_minus2[1] can be referred to the previous embodiment, which will not be done here repeat.
S2,根据所述确定的所用参考帧列表内匹配块的参考帧列表内匹配块的运动矢量预测值标识确定当前帧间预测单元(PU)的运动矢量预测值;S2. Determine the motion vector predictor of the current inter prediction unit (PU) according to the determined motion vector predictor identifier of the matched block in the reference frame list used in the reference frame list;
S3,将所述恢复的运动矢量差与所述确定的当前帧间预测单元的运动矢量预测值相加,得到对应参考帧列表内匹配块的运动矢量。S3. Add the restored motion vector difference to the determined motion vector predictor of the current inter prediction unit to obtain a motion vector corresponding to a matching block in the reference frame list.
在重建当前图像块时,可仅使用一个列表中的匹配块,或两个列表中匹配块加权后得到的加权匹配块。具体有关使用的列表的选择在码流中有相应的语法元素指明;重建的当前图像块为图像预测残差块与(加权)匹配块相加得到。When reconstructing the current image block, only the matching blocks in one list can be used, or the weighted matching blocks obtained by weighting the matching blocks in the two lists can be used. The specific selection of the list to be used is indicated by the corresponding syntax element in the code stream; the reconstructed current image block is obtained by adding the image prediction residual block and the (weighted) matching block.
请参阅附图3,是本发明实施例提供的帧间预测编码运动信息的处理装置结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图3示例的帧间预测编码运动信息的处理装置可以是采用帧间预测编码技术的通信系统的编码器。附图3示例的帧间预测编码运动信息的处理装置包括确定模块301和写入模块302,其中:Please refer to FIG. 3 , which is a schematic structural diagram of an apparatus for processing inter-frame predictive coding motion information provided by an embodiment of the present invention. For ease of description, only parts related to the embodiments of the present invention are shown. The apparatus for processing motion information of inter-frame predictive coding illustrated in FIG. 3 may be an encoder of a communication system using inter-frame predictive coding technology. The processing device for inter-frame predictive coding motion information illustrated in FIG. 3 includes a determination module 301 and a writing module 302, wherein:
确定模块301,用于根据语法元素的值确定当前所用参考帧列表以及所述所用需要传输的参考帧列表内需要传输的匹配块的运动信息。The determining module 301 is configured to determine the currently used reference frame list and the motion information of the matching block that needs to be transmitted in the used reference frame list that needs to be transmitted according to the value of the syntax element.
在本实施例中,参考帧列表包括参考帧列表0(reference list 0)和参考帧列表1(reference list 1)中的至少一个,即可能是参考帧列表0、可能是参考帧列表1或可能是参考帧列表0和参考帧列表1,每个参考帧列表的作用与前述实施例或背景技术提及的参考帧列表的作用相同。参考帧列表内匹配块的运动信息除了包括参考帧索引值和运动矢量差之外,还包括运动矢量预测值标识(以下使用MVP_flag表示)。参考帧列表内匹配块的运动信息包括参考帧列表0(reference list 0)内匹配块的运动信息和/或参考帧列表1(reference list 1)内匹配块的运动信息,即包括参考帧列表0内匹配块的运动信息、参考帧列表1内匹配块的运动信息或参考帧列表0内匹配块的运动信息和参考帧列表1内匹配块的运动信息。运动矢量预测值标识(MVP_flag)即用于表明编码器端选择的运动矢量预测值是mvp_0还是mvp_1;当编码器将运动矢量预测值标识传输至解码器端时,也相当于告知了解码器编码器端在编码时选择的运动矢量预测值是mvp_0还是mvp_1。In this embodiment, the reference frame list includes at least one of reference frame list 0 (reference list 0) and reference frame list 1 (reference list 1), that is, it may be reference frame list 0, it may be reference frame list 1, or it may be are reference frame list 0 and reference frame list 1, and the function of each reference frame list is the same as that of the reference frame list mentioned in the foregoing embodiments or background art. The motion information of the matching block in the reference frame list includes not only the reference frame index value and the motion vector difference, but also a motion vector predictor flag (indicated by MVP_flag hereinafter). The motion information of the matching block in the reference frame list includes the motion information of the matching block in the reference frame list 0 (reference list 0) and/or the motion information of the matching block in the reference frame list 1 (reference list 1), that is, including the reference frame list 0 The motion information of the inner matching block, the motion information of the matching block in the reference frame list 1 or the motion information of the matching block in the reference frame list 0 and the motion information of the matching block in the reference frame list 1. The motion vector predictor flag (MVP_flag) is used to indicate whether the motion vector predictor selected by the encoder is mvp_0 or mvp_1; when the encoder transmits the motion vector predictor flag to the decoder, it is equivalent to telling the decoder to encode Whether the motion vector predictor selected by the device side during encoding is mvp_0 or mvp_1.
具体地,若当前PU属于双向预测条带,则传输语法元素inter_pred_idc,其值可以是Pred_L0、Pred_L1或Pred_BI;进一步地,当inter_pred_idc的值为Pred_L0时,则确定模块301确定所用的是参考帧列表0,并且需要传输的是参考帧列表0内匹配块的运动信息,当inter_pred_idc的值为Pred_L1时,则确定模块301确定所用的是参考帧列表1,并且需要传输的是参考帧列表1内匹配块的运动信息;当inter_pred_idc的值为Pred_BI时,则确定模块301确定所用的是参考帧列表0和参考帧列表1,并且需要传输的是参考帧列表0和参考帧列表1内匹配块的运动信息。若当前PU不属于双向预测条带,则不传输语法元素inter_pred_idc,即语法元素inter_pred_idc的值默认为是Pred_0。Specifically, if the current PU belongs to a bidirectional prediction slice, the syntax element inter_pred_idc is transmitted, and its value can be Pred_L0, Pred_L1 or Pred_BI; further, when the value of inter_pred_idc is Pred_L0, the determination module 301 determines that the reference frame list is used 0, and what needs to be transmitted is the motion information of the matching block in the reference frame list 0. When the value of inter_pred_idc is Pred_L1, the determination module 301 determines that the reference frame list 1 is used, and what needs to be transmitted is the matching block in the reference frame list 1. The motion information of the block; when the value of inter_pred_idc is Pred_BI, the determination module 301 determines that reference frame list 0 and reference frame list 1 are used, and what needs to be transmitted is the motion of the matching block in reference frame list 0 and reference frame list 1 information. If the current PU does not belong to the bidirectional prediction slice, the syntax element inter_pred_idc is not transmitted, that is, the value of the syntax element inter_pred_idc is Pred_0 by default.
写入模块302,用于若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被所述确定模块301确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。Writing module 302, for if the currently used reference frame list and the motion information of the matching block to be transmitted in the used reference frame list are determined by the determining module 301, then the matching block in the determined used reference frame list The motion vector predictor identifier is written into the code stream prior to the determination of the motion vector difference related information of the matching block in the used reference frame list.
以参考帧列表1为例,说明传输mvd_l0相关信息的技术方案;传输mvd_l1相关信息的技术方案与传输mvd_l0相关信息的技术方案类似,不做赘述。Taking reference frame list 1 as an example, the technical solution for transmitting mvd_l0-related information is described; the technical solution for transmitting mvd_l1-related information is similar to the technical solution for transmitting mvd_l0-related information, and details are not repeated here.
具体地,mvd_l0相关信息包括mvd_l0水平分量的绝对值大于0标识(以下使用abs_mvd_greater0_flag[0]表示)、mvd_l0竖直分量的绝对值大于0标识(以下使用abs_mvd_greater0_flag[1]表示)、mvd_l0水平分量绝对值大于1标识(以下使用abs_mvd_greater1_flag[0]表示)、mvd_l0竖直分量绝对值大于1标识(以下使用abs_mvd_greater1_flag[1]表示)、mvd_l0水平分量绝对值减2后的幅值(以下使用abs_mvd_minus2[0]表示)、mvd_l0水平分量的正负号(以下使用mvd_sign_flag[0]表示)、mvd_l0竖直分量绝对值减2后的幅值(以下使用abs_mvd_minus2[1]表示)和mvd_l0竖直分量的正负号(以下使用mvd_sign_flag[1]表示)。对于abs_mvd_greater1_flag[0]、abs_mvd_greater1_flag[1]、abs_mvd_minus2[0]、mvd_sign_flag[0]、abs_mvd_minus2[1]和mvd_sign_flag[1]都是有条件传输,即,若mvd_l0水平分量绝对值大于0,则传输abs_mvd_greater1_flag[0];若mvd_l0竖直分量绝对值大于0,则传输abs_mvd_greater1_flag[1];若mvd_l0水平分量绝对值大于1,则传输abs_mvd_minus2[0]和mvd_sign_flag[0];若mvd_l0竖直分量绝对值大于1,则传输abs_mvd_minus2[1]和mvd_sign_flag[1]。Specifically, mvd_l0 related information includes the flag that the absolute value of the horizontal component of mvd_l0 is greater than 0 (indicated by abs_mvd_greater0_flag[0] below), the flag that the absolute value of the vertical component of mvd_l0 is greater than 0 (indicated by abs_mvd_greater0_flag[1] in the following), the absolute value of the horizontal component of mvd_l0 Flag with a value greater than 1 (indicated by abs_mvd_greater1_flag[0] below), the flag that the absolute value of the vertical component of mvd_l0 is greater than 1 (indicated by abs_mvd_greater1_flag[1] in the following), the amplitude of the absolute value of the horizontal component of mvd_l0 minus 2 (abs_mvd_minus2[0 is used in the following ]), the sign of the horizontal component of mvd_l0 (represented by mvd_sign_flag[0] below), the magnitude of the absolute value of the vertical component of mvd_l0 minus 2 (represented by abs_mvd_minus2[1] below) and the sign of the vertical component of mvd_l0 sign (indicated by mvd_sign_flag[1] below). For abs_mvd_greater1_flag[0], abs_mvd_greater1_flag[1], abs_mvd_minus2[0], mvd_sign_flag[0], abs_mvd_minus2[1] and mvd_sign_flag[1] are all conditional transmissions, that is, if the absolute value of the horizontal component of mvd_l0 is greater than 0, then abs_mvd_greater1_flag is transmitted [0]; if the absolute value of the vertical component of mvd_l0 is greater than 0, transmit abs_mvd_greater1_flag[1]; if the absolute value of the horizontal component of mvd_10 is greater than 1, transmit abs_mvd_minus2[0] and mvd_sign_flag[0]; if the absolute value of the vertical component of mvd_l0 is greater than 1, then transmit abs_mvd_minus2[1] and mvd_sign_flag[1].
需要说明的是,以上帧间预测编码运动信息的处理装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述帧间预测编码运动信息的处理装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的确定模块,可以是具有执行前述根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列别内需要传输的运动信息的硬件,例如确定器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的传输模块,可以是具有执行前述若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被所述确定模块(或确定器)确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流功能的硬件,例如传输器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。It should be noted that, in the above embodiment of the processing device for inter-frame predictive coding motion information, the division of each functional module is only an example, and in actual application, it can be considered according to the needs, such as the configuration requirements of corresponding hardware or the convenience of software implementation. , and the above function allocation is completed by different functional modules, that is, the internal structure of the inter-frame predictive coding motion information processing device is divided into different functional modules, so as to complete all or part of the functions described above. Moreover, in practical applications, the corresponding functional modules in this embodiment may be implemented by corresponding hardware, or may be completed by corresponding hardware executing corresponding software. The value of the hardware used to determine the reference frame list currently used and the motion information to be transmitted in the used reference frame list, such as a determiner, can also be a general processor or other hardware device capable of executing a corresponding computer program to complete the aforementioned functions; Another example is the above-mentioned transmission module, which may be capable of executing the above-mentioned If the motion information of the currently used reference frame list and the matching block that needs to be transmitted in the used reference frame list is determined by the determination module (or determiner), then the The determined motion vector predictor identifier of the matching block in the used reference frame list is written into the code stream function related information before the determined motion vector difference related information of the matched block in the used reference frame list, such as a transmitter, may also be able to A general processor or other hardware device that executes a corresponding computer program to complete the foregoing functions (the foregoing description principles can be applied to each of the embodiments provided in this specification).
附图3示例的写入模块302可以包括第一写入单元401,如附图4所示本发明另一实施例提供的帧间预测编码运动信息的处理装置。第一写入单元401用于先将所述确定的所用参考帧列表内匹配块的所述参考帧索引值写入码流,再将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。The writing module 302 illustrated in FIG. 3 may include a first writing unit 401 , as shown in FIG. 4 , which is an apparatus for processing inter-frame predictive coding motion information provided by another embodiment of the present invention. The first writing unit 401 is configured to first write the reference frame index value of the matching block in the determined used reference frame list into the code stream, and then predict the motion vector of the matching block in the determined used reference frame list The value identifier is written into the code stream, and finally the information related to the motion vector difference of the matching block in the determined reference frame list is written into the code stream.
附图3示例的传输模块302可以包括第二写入单元501,如附图5所示本发明另一实施例提供的帧间预测编码运动信息的处理装置。第二写入单元501用于先将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,再将所述确定的所用参考帧列表内匹配块的参考帧索引值写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。The transmission module 302 illustrated in FIG. 3 may include a second writing unit 501, as shown in FIG. 5, which is an apparatus for processing inter-frame predictive coding motion information provided by another embodiment of the present invention. The second writing unit 501 is configured to first write the motion vector predictor identifier of the matched block in the determined used reference frame list into the code stream, and then write the determined reference frame index value of the matched block in the used reference frame list Write into the code stream, and finally write the information related to the motion vector difference of the matching block in the determined reference frame list into the code stream.
请参阅附图6,是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图6示例的帧间预测编码运动信息的处理装置可以是采用帧间预测编码技术的通信系统的解码器。附图6示例的帧间预测编码运动信息的处理装置包括待解析确定模块601和解析模块602,其中:Please refer to FIG. 6 , which is a schematic structural diagram of an apparatus for processing inter-frame predictive coding motion information provided by another embodiment of the present invention. For ease of description, only parts related to the embodiments of the present invention are shown. The apparatus for processing inter-frame predictive coding motion information illustrated in FIG. 6 may be a decoder of a communication system using inter-frame predictive coding technology. The processing device for inter-frame predictive coding motion information illustrated in FIG. 6 includes a determination module 601 to be analyzed and an analysis module 602, wherein:
待解析确定模块601,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息,所述参考帧列表包括参考帧列表0和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息。The to-be-parsed determining module 601 is configured to determine the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list according to the value of the syntax element, and the reference frame list includes reference frame list 0 and reference frame list At least one of 1, the motion information includes a reference frame index value, a motion vector predictor identifier, and motion vector difference related information.
解析模块602,用于若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被所述待解析确定模块601确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息。The parsing module 602 is configured to first parse the determined reference frame list in use if the currently used reference frame list and the motion information of the matching block to be parsed in the used reference frame list are determined by the to-be-parsed determination module 601 After the motion vector predictor of the matching block is identified, the information related to the motion vector difference of the matching block in the determined reference frame list used is analyzed.
需要说明的是,以上帧间预测编码运动信息的处理装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述帧间预测编码运动信息的处理装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的待解析确定模块,可以是具有执行前述根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息的硬件,例如待解析确定器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的解析模块,可以是具有执行前述若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被所述待解析确定模块(或待解析确定器)确定,则先解析所述确定的所用参考帧列表内匹配块的所述所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述运动矢量差相关信息功能的硬件,例如解析器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。It should be noted that, in the above embodiment of the processing device for inter-frame predictive coding motion information, the division of each functional module is only an example, and in actual application, it can be considered according to the needs, such as the configuration requirements of corresponding hardware or the convenience of software implementation. , and the above function allocation is completed by different functional modules, that is, the internal structure of the inter-frame predictive coding motion information processing device is divided into different functional modules, so as to complete all or part of the functions described above. Moreover, in practical applications, the corresponding functional modules in this embodiment may be realized by corresponding hardware, or may be completed by corresponding software executed by corresponding hardware. The value of the syntax element determines the currently used reference frame list and the hardware of the motion information of the matching block in the used reference frame list that needs to be parsed, such as a determiner to be parsed, or a general process capable of executing a corresponding computer program to complete the aforementioned functions device or other hardware devices; as the aforementioned parsing module, it may be executed by the module to be parsed (or the motion information of the matching block that needs to be parsed in the list of reference frames that are currently used and the list of reference frames used) If determined by the analysis determiner), first analyze the motion vector predictor identifier of the matching block in the determined reference frame list used, and then analyze the motion vector difference related information function The hardware, such as a parser, may also be a general processor or other hardware device capable of executing corresponding computer programs to complete the aforementioned functions (the above description principles can be applied to each embodiment provided in this specification).
附图6示例的解析模块602可以包括第一析取单元701,如附图7所示本发明另一实施例提供的帧间预测编码运动信息的处理装置。第一析取单元701,用于依次读取并解析码流中所述确定的所用参考帧列表内匹配块的参考帧索引值、运动矢量预测值标识和运动矢量差相关信息。The parsing module 602 illustrated in FIG. 6 may include a first extracting unit 701 , as shown in FIG. 7 , an apparatus for processing motion information of inter-frame predictive coding provided by another embodiment of the present invention. The first extracting unit 701 is configured to sequentially read and analyze the reference frame index value, motion vector predictor identifier and motion vector difference related information of the matching block in the determined reference frame list in the code stream.
附图6示例的解析模块602也可以包括第二析取单元801,如附图8所示本发明另一实施例提供的帧间预测编码运动信息的处理装置。第二析取单元801,用于依次读取并解析码流中所述确定的所用参考帧列表内匹配块的运动矢量预测值标识、参考帧索引值和运动矢量差相关信息。The parsing module 602 illustrated in FIG. 6 may also include a second extracting unit 801 , as shown in FIG. 8 , an apparatus for processing inter-frame predictive coding motion information provided by another embodiment of the present invention. The second extracting unit 801 is configured to sequentially read and analyze the motion vector predictor identifier, reference frame index value and motion vector difference related information of the matching block in the determined reference frame list in the code stream.
附图6示例的帧间预测编码运动信息的处理装置还可以包括参考帧确定模块901、重建模块902和获取模块903,如附图9所示本发明另一实施例提供的帧间预测编码运动信息的处理装置,其中:The device for processing inter-frame predictive coding motion information illustrated in FIG. 6 may also include a reference frame determination module 901, a reconstruction module 902, and an acquisition module 903. As shown in FIG. 9, another embodiment of the present invention provides an inter-frame predictive coding motion information Information processing means, in which:
参考帧确定模块901,用于根据所述参考帧索引值确定匹配块所在的参考帧;A reference frame determining module 901, configured to determine the reference frame where the matching block is located according to the reference frame index value;
重建模块902,用于重建所述确定的所用参考帧列表内匹配块的运动矢量;A reconstruction module 902, configured to reconstruct the motion vector of the matching block in the determined list of used reference frames;
获取模块903,用于根据所述确定的匹配块所在的参考帧和所述重建的运动矢量,获取当前帧间预测单元在所述确定的所用参考帧列表内的匹配块。The obtaining module 903 is configured to obtain the matching block of the current inter-frame prediction unit in the determined used reference frame list according to the determined reference frame where the matching block is located and the reconstructed motion vector.
附图9示例的重建模块902可以包括运动矢量差恢复单元1001、运动矢量预测值确定单元1002和求和单元1003,如附图10所示本发明另一实施例提供的帧间预测编码运动信息的处理装置,其中:The reconstruction module 902 illustrated in FIG. 9 may include a motion vector difference recovery unit 1001, a motion vector predictor determination unit 1002, and a summation unit 1003. As shown in FIG. 10, another embodiment of the present invention provides inter-frame predictive coding motion information processing device, in which:
运动矢量差恢复单元1001,用于根据所述确定的所用参考帧列表内匹配块的运动矢量差相关信息恢复所述确定的所用参考帧列表内匹配块的运动矢量差;A motion vector difference recovery unit 1001, configured to recover the determined motion vector difference of the matched blocks in the used reference frame list according to the determined motion vector difference related information of the matched blocks in the used reference frame list;
以参考帧列表0为例,参考帧列表0内匹配块的运动矢量差(mvd_l0)相关信息包括mvd_l0水平分量(mvd_x)和mvd_l0竖直分量(mvd_y),运动矢量差恢复单元1001可按照以下方式计算mvd_x:Taking the reference frame list 0 as an example, the related information of the motion vector difference (mvd_l0) of the matching block in the reference frame list 0 includes the mvd_l0 horizontal component (mvd_x) and the mvd_l0 vertical component (mvd_y), and the motion vector difference recovery unit 1001 can operate in the following manner Calculate mvd_x:
mvd_x=abs_mvd_greater0_flag[0]﹡(abs_mvd_minus2[0]+2)*(1-2*mvd_sign_flag[0]);mvd_x=abs_mvd_greater0_flag[0]*(abs_mvd_minus2[0]+2)*(1-2*mvd_sign_flag[0]);
运动矢量差恢复单元1001可按照以下方式计算mvd_y:The motion vector difference recovery unit 1001 can calculate mvd_y as follows:
mvd_y=abs_mvd_greater0_flag[1]﹡(abs_mvd_minus2[1]+2)﹡(1-2*mvd_sign_flag[1]);mvd_y=abs_mvd_greater0_flag[1]*(abs_mvd_minus2[1]+2)*(1-2*mvd_sign_flag[1]);
上述mvd_x和mvd_y的表示式中,abs_mvd_greater0_flag[0]、abs_mvd_minus2[0]、mvd_sign_flag[0]、abs_mvd_greater0_flag[1]、abs_mvd_minus2[1]以及abs_mvd_minus2[1]的意义可参阅前述实施例,此处不做赘述。In the above expressions of mvd_x and mvd_y, the meanings of abs_mvd_greater0_flag[0], abs_mvd_minus2[0], mvd_sign_flag[0], abs_mvd_greater0_flag[1], abs_mvd_minus2[1] and abs_mvd_minus2[1] can be referred to the previous embodiment, which will not be done here repeat.
运动矢量预测值确定单元1002,用于根据所述所述确定的所用参考帧列表内匹配块的运动矢量预测值标识确定当前帧间预测单元的运动矢量预测值;A motion vector predictor determining unit 1002, configured to determine the motion vector predictor of the current inter prediction unit according to the determined motion vector predictor identifier of the matched block in the reference frame list;
求和单元1003,用于将所述恢复的参考帧列表内匹配块的运动矢量差与所述确定的当前帧间预测单元的运动矢量预测值相加,得到对应参考帧列表内匹配块的运动矢量。A summation unit 1003, configured to add the motion vector difference of the matched block in the restored reference frame list to the determined motion vector predictor of the current inter prediction unit to obtain the motion of the matched block in the corresponding reference frame list vector.
请参阅附图11,是本发明实施例提供的编解码系统结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图11示例的编解码系统包括附图3至附图5任意一实施例提供的编码器111和附图6至附图10任意一实施例提供的解码器112,其中,编码器111包括确定模块1111和传输模块1112,解码器112包括解码器包括待解析确定模块1121和解析模块1122,其中:Please refer to FIG. 11 , which is a schematic structural diagram of a codec system provided by an embodiment of the present invention. For ease of description, only parts related to the embodiments of the present invention are shown. The codec system illustrated in Figure 11 includes the encoder 111 provided in any one of the embodiments of Figures 3 to 5 and the decoder 112 provided in any of the embodiments of Figures 6 to 10, wherein the encoder 111 includes a determination Module 1111 and transmission module 1112, the decoder 112 includes a decoder including a determination module 1121 to be parsed and a parsing module 1122, wherein:
确定模块1111,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括参考帧列表0和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;A determining module 1111, configured to determine the currently used reference frame list and the motion information of the matching block to be transmitted in the used reference frame list according to the value of the syntax element, the reference frame list includes reference frame list 0 and reference frame list 1 At least one of the above, the motion information includes a reference frame index value, a motion vector predictor identifier, and motion vector difference related information;
传输模块1112,用于若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被所述确定模块1111确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流;The transmission module 1112 is configured to: if the currently used reference frame list and the motion information of the matching block that needs to be transmitted in the used reference frame list are determined by the determination module 1111, then transfer the motion information of the matching block in the determined used reference frame list The motion vector predictor identifier is written into the code stream prior to the motion vector difference related information of the matching block in the determined reference frame list;
待解析确定模块1121,用于根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息;The to-be-parsed determination module 1121 is configured to determine the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list according to the value of the syntax element;
解析模块1122,用于若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被所述待解析确定模块1121确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述所述确定的所用参考帧列表内匹配块的运动矢量差相关信息。The parsing module 1122 is configured to first parse the determined reference frame list in use if the currently used reference frame list and the motion information of the matching block to be parsed in the used reference frame list are determined by the to-be-parsed determination module 1121 After the motion vector predictor of the matching block is identified, the information related to the motion vector difference of the matching block in the determined reference frame list used is analyzed.
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。It should be noted that the information interaction and execution process between the modules/units of the above-mentioned device are based on the same idea as the method embodiment of the present invention, and the technical effect it brings is the same as that of the method embodiment of the present invention. The specific content can be Refer to the descriptions in the method embodiments of the present invention, and details are not repeated here.
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,比如以下各种方法的一种或多种或全部:Those of ordinary skill in the art can understand that all or part of the steps in the various methods of the above-mentioned embodiments can be completed by instructing related hardware through a program, such as one or more or all of the following various methods:
方法一:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括参考帧列表0和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;Method 1: Determine the currently used reference frame list and the motion information of the matching block to be transmitted in the used reference frame list according to the value of the syntax element, the reference frame list includes at least one of reference frame list 0 and reference frame list 1 , the motion information includes a reference frame index value, a motion vector predictor identifier, and motion vector difference related information;
若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。If the currently used reference frame list and the motion information of the matching block to be transmitted in the used reference frame list are determined, the determined motion vector predictor of the matching block in the used reference frame list is identified prior to the determined The motion vector difference related information of the matching blocks in the reference frame list used is written into the code stream.
方法二:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息,所述参考帧列表包括参考帧列表0和参考帧列表1中的至少一个,所述运动信息包括参考帧索引值、运动矢量预测值标识和运动矢量差相关信息;Method 2: Determine the currently used reference frame list and the motion information of the matching block to be parsed in the used reference frame list according to the value of the syntax element, the reference frame list includes at least one of reference frame list 0 and reference frame list 1 , the motion information includes a reference frame index value, a motion vector predictor identifier, and motion vector difference related information;
若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动信息被确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息。If the currently used reference frame list and the motion information of the matching block to be resolved in the used reference frame list are determined, first analyze the motion vector predictor identifier of the matching block in the determined used reference frame list and then analyze the determination Information about the motion vector difference of the matching blocks in the list of reference frames used.
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。Those of ordinary skill in the art can understand that all or part of the steps in the various methods of the above-mentioned embodiments can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium, and the storage medium can include: Read Only Memory (ROM, Read Only Memory), Random Access Memory (RAM, Random Access Memory), disk or CD, etc.
以上对本发明实施例提供的帧间预测编码运动信息的处理方法、装置和编解码系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。The above is a detailed introduction to the processing method, device and codec system of inter-frame predictive coding motion information provided by the embodiment of the present invention. In this paper, specific examples are used to illustrate the principle and implementation of the present invention. The description of the above embodiments It is only used to help understand the method of the present invention and its core idea; at the same time, for those of ordinary skill in the art, according to the idea of the present invention, there will be changes in the specific implementation and scope of application. In summary, The contents of this description should not be construed as limiting the present invention.
Claims (17)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201210225481.7A CN103533376B (en) | 2012-07-02 | 2012-07-02 | Method and apparatus for motion information processing of interframe prediction coding, and coding and decoding system |
| PCT/CN2013/070867 WO2014005426A1 (en) | 2012-07-02 | 2013-01-23 | Method and device for processing inter-frame predictive coding motion information and codec system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201210225481.7A CN103533376B (en) | 2012-07-02 | 2012-07-02 | Method and apparatus for motion information processing of interframe prediction coding, and coding and decoding system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN103533376A CN103533376A (en) | 2014-01-22 |
| CN103533376B true CN103533376B (en) | 2017-04-12 |
Family
ID=49881296
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201210225481.7A Active CN103533376B (en) | 2012-07-02 | 2012-07-02 | Method and apparatus for motion information processing of interframe prediction coding, and coding and decoding system |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN103533376B (en) |
| WO (1) | WO2014005426A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2809701C1 (en) * | 2020-06-30 | 2023-12-14 | Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд. | Method, equipment and device for encoding and decoding |
| US12192444B2 (en) | 2020-06-30 | 2025-01-07 | Hangzhou Hikvision Digital Technology Co., Ltd. | Encoding and decoding method, apparatus, and device |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9930341B2 (en) * | 2014-06-20 | 2018-03-27 | Qualcomm Incorporated | Block vector coding for intra block copying |
| CN107925774A (en) * | 2015-08-24 | 2018-04-17 | Lg 电子株式会社 | Image processing method and device based on inter-prediction mode |
| CN111263166B (en) * | 2018-11-30 | 2022-10-11 | 华为技术有限公司 | Video image prediction method and device |
| WO2020108168A1 (en) * | 2018-11-30 | 2020-06-04 | 华为技术有限公司 | Video image prediction method and device |
| CN111164976A (en) * | 2019-01-03 | 2020-05-15 | 北京大学 | Video processing method and device |
| CN110636290B (en) * | 2019-08-30 | 2021-12-03 | 北京大学 | Video image motion vector encoding/decoding method and encoder/decoder |
| CN113766222B (en) * | 2020-06-01 | 2023-03-24 | 杭州海康威视数字技术股份有限公司 | Encoding and decoding method, device and equipment |
| CN112055201B (en) * | 2020-08-06 | 2024-05-28 | 浙江大华技术股份有限公司 | Video coding method and related device thereof |
| CN112565753B (en) * | 2020-12-06 | 2022-08-16 | 浙江大华技术股份有限公司 | Method and apparatus for determining motion vector difference, storage medium, and electronic apparatus |
| CN114640848B (en) * | 2021-04-13 | 2023-04-28 | 杭州海康威视数字技术股份有限公司 | Encoding and decoding method, device and equipment thereof |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101415122A (en) * | 2007-10-15 | 2009-04-22 | 华为技术有限公司 | Forecasting encoding/decoding method and apparatus between frames |
| CN101917615A (en) * | 2010-06-03 | 2010-12-15 | 北京邮电大学 | An Enhanced Bidirectional Motion Vector Prediction Method in a Hybrid Video Coding Framework |
| WO2011137816A1 (en) * | 2010-09-30 | 2011-11-10 | 华为技术有限公司 | Video image encoding method, decoding method and device thereof |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9788010B2 (en) * | 2009-05-07 | 2017-10-10 | Texas Instruments Incorporated | Reducing computational complexity when video encoding uses bi-predictively encoded frames |
-
2012
- 2012-07-02 CN CN201210225481.7A patent/CN103533376B/en active Active
-
2013
- 2013-01-23 WO PCT/CN2013/070867 patent/WO2014005426A1/en active Application Filing
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101415122A (en) * | 2007-10-15 | 2009-04-22 | 华为技术有限公司 | Forecasting encoding/decoding method and apparatus between frames |
| CN101917615A (en) * | 2010-06-03 | 2010-12-15 | 北京邮电大学 | An Enhanced Bidirectional Motion Vector Prediction Method in a Hybrid Video Coding Framework |
| WO2011137816A1 (en) * | 2010-09-30 | 2011-11-10 | 华为技术有限公司 | Video image encoding method, decoding method and device thereof |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2809701C1 (en) * | 2020-06-30 | 2023-12-14 | Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд. | Method, equipment and device for encoding and decoding |
| RU2822442C2 (en) * | 2020-06-30 | 2024-07-05 | Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд. | Method, equipment and device for encoding and decoding |
| US12192444B2 (en) | 2020-06-30 | 2025-01-07 | Hangzhou Hikvision Digital Technology Co., Ltd. | Encoding and decoding method, apparatus, and device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN103533376A (en) | 2014-01-22 |
| WO2014005426A1 (en) | 2014-01-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103533376B (en) | Method and apparatus for motion information processing of interframe prediction coding, and coding and decoding system | |
| CN103297785B (en) | The device that motion vector is decoded | |
| CN103314593B (en) | Error recovery Improved video encoding and decoding | |
| CN110870313A (en) | Method and apparatus for candidate list pruning | |
| KR102536704B1 (en) | Method and apparatus for encoding or decoding video data in fruc mode with reduced memory accesses | |
| CN101540926B (en) | Stereoscopic Video Coding and Decoding Method Based on H.264 | |
| CN103096053B (en) | A kind of decoding method of pattern conversion and device | |
| RU2011104707A (en) | DEVICE FOR CODING IMAGES, DEVICE FOR DECODING IMAGES, METHOD FOR CODING IMAGES AND METHOD FOR DECODING IMAGES | |
| WO2010041855A2 (en) | A method and an apparatus for processing a video signal | |
| CN105072449A (en) | Apparatus and method for encoding/decoding images | |
| JP7644283B2 (en) | Method and device for image encoding and decoding - Patents.com | |
| CN101605256A (en) | Method and device for video encoding and decoding | |
| WO2015052273A1 (en) | Method and apparatus for displacement vector component prediction in video coding and decoding | |
| CN103338372A (en) | Method and device for processing video | |
| JP7520931B2 (en) | Bidirectional inter prediction method and apparatus | |
| US20200128256A1 (en) | Method and apparatus for encoding or decoding a flag during video data encoding | |
| EP3163879B1 (en) | Video encoding device and video encoding method | |
| EP4037320A1 (en) | Boundary extension for video coding | |
| CN102340663A (en) | Image motion estimation method and device | |
| WO2020221317A1 (en) | Vector difference decoding method, apparatus and electronic device | |
| CN104396239A (en) | Apparatus and method for coding a video signal | |
| CN115086659B (en) | Image encoding and decoding method, encoding device, decoding device, and storage medium | |
| CN112702601B (en) | Method and apparatus for determining motion vector for inter prediction | |
| KR20080060188A (en) | Video signal decoding method and apparatus | |
| JP2024543851A (en) | Method and device for picture encoding and decoding - Patents.com |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |