WO2012097742A1 - Procédé, module et dispositif de codage/décodage pour obtenir un vecteur de mouvement de référence - Google Patents
Procédé, module et dispositif de codage/décodage pour obtenir un vecteur de mouvement de référence Download PDFInfo
- Publication number
- WO2012097742A1 WO2012097742A1 PCT/CN2012/070586 CN2012070586W WO2012097742A1 WO 2012097742 A1 WO2012097742 A1 WO 2012097742A1 CN 2012070586 W CN2012070586 W CN 2012070586W WO 2012097742 A1 WO2012097742 A1 WO 2012097742A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image block
- motion vector
- sub
- reference motion
- candidate reference
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
Definitions
- the present invention relates to the field of information technology, and in particular, to a reference motion vector acquisition method, a module, and a coding and decoding apparatus. Background technique
- an image is usually divided into several image blocks for encoding and decoding, and one image block can be further divided into a plurality of sub-image blocks.
- the encoding end usually searches for a neighboring encoded sub-image block that is most similar (ie, matched) to the current image block or sub-image block, and subtracts the pixel value corresponding to the current image block or sub-image block from the matched sub-image block by the residual. Then, the residual is subjected to transform and quantization, entropy coding, and finally the bit stream obtained by entropy coding is written into the coded stream.
- adjacent coded sub-image blocks are referred to as sub-reference image blocks.
- the offset between the current image block or sub-image block and the matched sub-image block is called a motion vector
- the encoding end encodes the motion vector and writes it into the encoded code stream to enable the decoding end to
- the motion vector knows the location of the matched sub-image block.
- a reference motion vector Motion Vector Candidate
- the difference between the motion vector and the reference motion vector is encoded and written into the coded stream.
- a method for obtaining a reference motion vector the encoding end and the decoding end follow the same candidate reference motion vector table, where the candidate reference motion vector table includes motion vectors of several sub-image blocks adjacent to the current image block or the sub-image block. (as a candidate reference motion vector) and its corresponding number.
- the encoding end selects one of the candidate reference motion vector tables as the candidate reference motion vector, encodes the difference between the offset and the reference motion vector by using variable length coding, and numbers the reference motion vector by using variable length coding. Encoding is performed so that the decoding end knows which candidate reference motion vector is selected by the encoding end.
- the existing method of obtaining a reference motion vector does not consider the current image block or sub-image block. The degree of correlation with adjacent sub-image blocks, therefore, affects the coding efficiency of the motion vectors. Summary of the invention
- the embodiment of the invention provides a reference motion vector acquisition method, a module, and a coding and decoding device, so as to solve the problem that the correlation between the current image block or the sub-image block and the adjacent sub-image block is not considered in the prior art, and the motion vector is affected.
- the problem of coding efficiency is not considered in the prior art, and the motion vector is affected.
- An embodiment of the present invention provides a reference motion vector acquisition method, including:
- Each candidate reference motion vector is numbered according to the first candidate reference motion vector; a reference motion vector is selected from each of the numbered candidate reference motion vectors.
- An embodiment of the present invention further provides a reference motion vector acquisition module, including:
- a identifying unit configured to obtain a dividing manner of the sub image block in the current image block
- An analyzing unit configured to determine, in the partitioning manner, a first candidate reference motion vector among each candidate reference motion vector of the sub-image block, where the candidate reference motion vector is an image block adjacent to the current image block or a motion vector of the sub-image block, or a motion vector obtained by the motion vector of the adjacent image block or the sub-image block;
- a numbering unit configured to number each candidate reference motion vector according to the first candidate reference motion vector
- An embodiment of the present invention further provides an encoding apparatus, including: a prediction module, a transform module, a quantization module, an entropy encoding module, and a reference motion vector acquiring module;
- the reference motion vector acquisition module is configured to obtain a division manner of the sub image block in the current image block; Determining, in the dividing manner, a first candidate reference motion vector in each candidate reference motion vector of the sub-image block, where the candidate reference motion vector is an motion of an image block or a sub-image block adjacent to the current image block. a vector, or a motion vector obtained by the motion vector of the adjacent image block or sub-image block; and each candidate reference motion vector is numbered according to the first candidate reference motion vector; Selecting a reference motion vector in the motion vector;
- the prediction module is configured to acquire a pixel residual between the sub-image block and the predicted image block, and obtain a difference between a motion vector of the predicted image block and the reference motion vector;
- the transform module is configured to transform the residual obtained by the prediction module
- the quantization module is configured to quantize the residual obtained by the prediction module transformed by the transform module;
- the entropy encoding module is configured to entropy encode the residual quantized by the quantization module, and perform variable length entropy coding on a difference between a motion vector of the predicted image block and the reference motion vector, where The number corresponding to the reference motion vector is variable length entropy encoded.
- An embodiment of the present invention further provides a decoding apparatus, including: an entropy decoding module, an inverse quantization module, an inverse transform module, a prediction compensation module, and a reference motion vector acquisition module;
- the entropy decoding module is configured to perform entropy decoding on the received encoded code stream, obtain a pixel residual between each sub-image block and the predicted image block in the current image block, and obtain a motion vector of the predicted image block and the reference The difference between the motion vectors and the number corresponding to the reference motion vector;
- the inverse quantization module is configured to perform inverse quantization on the residual
- the inverse transform module is configured to perform inverse transform on a residual that is inversely quantized by the inverse quantization module, where the reference motion vector acquisition module is configured to obtain a partition mode of the sub image block in the current image block; And determining, in each candidate reference motion vector of the sub-image block, a first candidate reference motion vector, where the candidate reference motion vector is a motion vector of an image block or a sub-image block adjacent to the current image block, or a motion vector obtained by calculating a motion vector of an adjacent image block or a sub-image block; calculating each candidate reference motion vector according to the first candidate reference motion vector; selecting from each of the numbered candidate reference motion vectors Reference motion vector.
- the prediction compensation module is configured to acquire a corresponding reference motion vector according to the number, obtain the motion vector according to a difference between the motion vector and the reference motion vector, and determine the predicted image block according to the motion vector, And acquiring the current image block according to the predicted image block and the residual.
- the reference motion vector obtaining method, the module, and the encoding and decoding apparatus determine the first candidate reference motion vector of the sub-image block according to the division manner of the sub-image block in the current image block, and according to the first reference motion vector Each candidate reference motion vector is numbered so that the first candidate reference motion vector corresponds to a smaller number. Since the encoding end uses variable length coding, the coding efficiency of the number can be improved, thereby improving the video coding and decoding efficiency. .
- FIG. 1 is a flowchart of a first embodiment of a reference motion vector acquisition method provided by the present invention
- FIG. 2a is a schematic diagram of asymmetrically dividing a current image block into two left and right sub-image blocks
- FIG. 2b is a schematic diagram of dividing a current image block into left and right. a schematic diagram of two sub-image blocks;
- FIG. 3a is a schematic diagram of asymmetrically dividing a current image block into upper and lower sub-image blocks
- FIG. 3b is a schematic diagram of symmetrically dividing a current image block into upper and lower sub-image blocks
- FIG. 4 is a schematic diagram of a sub-image block adjacent to a current image block
- FIG. 5 is a schematic diagram of identifying a sub-image block in a current image block by a ratio of a dividing line in a current image block to a distance of a boundary line of a current image block or a boundary line extension line to an end point of the image block;
- FIG. 7 is a schematic structural diagram of a reference motion vector acquisition module according to a first embodiment of the present invention
- FIG. 8 is a schematic structural diagram of a reference motion vector acquisition module according to a second embodiment of the present invention
- FIG. 9 is a schematic structural diagram of a first embodiment of an encoding apparatus according to an embodiment of the present invention
- FIG. 10 is a schematic structural diagram of a first embodiment of a decoding apparatus according to an embodiment of the present invention.
- FIG. 1 is a flowchart of a first embodiment of a method for acquiring a reference motion vector according to the present invention. As shown in FIG. 1, the method includes:
- the first candidate reference motion vector is determined in each candidate reference motion vector of the sub-image block according to the dividing manner, where the candidate reference motion vector is an image block or a sub-image block adjacent to the current image block.
- Motion vector or a motion vector obtained by the motion vector of the adjacent image block or sub-image block after the operation;
- each candidate reference motion vector is numbered according to the first candidate reference motion vector
- An image usually contains texture information in various directions. These textures are often not a rectangular area.
- An image usually contains multiple objects, and there is a clear boundary between the object and the image background.
- it is usually necessary to divide an image into a plurality of image blocks, which are M*N rectangular blocks, where M and N are integers greater than 0, and there is a multiple between M and N. relationship. Since an image block is a basic unit for video encoding and decoding, its area is small.
- an image block contains one or more objects, or includes an object and an image background, according to which the encoding end can be
- the boundary between the object and the object, or the boundary between the object and the background of the image the current image block is divided into two sub-image blocks, which enables Dividing the boundary of the object between the image blocks, and the division is based on the actual boundary between the object and the object, or between the object and the background of the image. Therefore, the size of the two sub-image blocks obtained after the division It may or may not be the same shape.
- the positions of the two sub-image blocks may be symmetrical or asymmetric.
- these adjacent image blocks or sub-image blocks include: Image block or sub-image block AO to ⁇ -1 on the left side of the current module, image block or sub-picture block B0 to BnB-1 above the current image block, image block or sub-image block D on the upper left of the current image block, current image The image block or sub-image block C at the upper right of the block and the image block or sub-image block E at the lower left of the current image block.
- the current image block is divided into sub-image blocks in different ways, and the correlation degree of each image block or sub-image block adjacent to the current image block is different, and the correlation indicates the sub-image block and phase in the current image block.
- the current image block is divided into two sub-image blocks as shown in FIGS. 2a and 2b, it can be understood that, in this division mode, since the left sub-image block and the right sub-image block are divided. It is a different object, so the correlation between the left and right sub-image blocks is weak. Normally, the left sub-image block has a higher correlation with its left image block or sub-image block AO to AnA-1, and the right sub-image block is related to its upper right image block or sub-image block C. Higher degrees.
- the current image block is divided into upper and lower sub-image blocks as shown in FIGS. 3a and 3b, it can be understood that, in this division mode, since the upper sub-image block and the lower sub-image block are different. Therefore, the correlation between the upper and lower sub-image blocks is weak. Normally, the upper sub-image block has a higher correlation with the image block or sub-image blocks B0 to BnB-1 above it, and the right sub-image block and its left image block or sub-image block AO to AnA- The correlation of 1 is higher.
- each sub-image can be analyzed according to the division manner of the sub-image blocks in the current image block.
- the encoding end and the decoding end need to follow the same set of candidate reference motion vectors when encoding and decoding, and the candidate reference motion vectors may be motion vectors of several image blocks or sub-image blocks adjacent to the current image block, and may also include The motion vector obtained by the motion vector of several adjacent image blocks or sub-image blocks is calculated, and each candidate motion vector has its corresponding number.
- the encoding end performs encoding, one of the candidate reference motion vectors is selected as the final reference motion vector by a certain preset rule, and the difference between the motion vector and the reference motion vector is encoded by the variable length coding method, and the variation is adopted.
- the long coding mode encodes the number corresponding to the reference motion vector, so that the decoding end knows which candidate reference motion vector is selected by the coding end.
- the reference motion vector number is encoded by using a variable length coding method, and different coding numbers are used to encode different numbers.
- the coding symbol "1" can be used for coding; for the number 1, the coding symbol "01” can be used for coding; for the number 2, the coding symbol "10” can be used for coding: ... and so on, it can be known that the larger the number, the more symbols are included in the encoded symbol string.
- the set of candidate reference motion vectors may include:
- the motion vector of the image block or sub-image block on the left side of the current image block/sub-image block that is, the first motion vector available from AO to AnA-1 shown in Fig. 4; wherein the available meaning is encoded.
- the motion vector of the image block or sub-image block on the current image block/sub-image block that is, the first one of B0 to BnA-1 shown in Fig. 4 can obtain the motion vector;
- the motion vector of the image block or sub-image block on the upper left side of the current image block/sub-image block that is, the motion vector of C shown in FIG. 4;
- the motion vector of the image block or the sub-image block in the upper right side of the current image block/sub-image block that is, the motion vector of D shown in FIG. 4
- the motion vector of the image block or sub-image block at the lower right of the current image block/sub-image block that is, the motion vector of E shown in FIG. 4;
- the image block or sub-image block corresponding to the candidate reference motion vector must be an already encoded image block or sub-image block, that is, the candidate reference motion vector must be available.
- the motion vector obtained by the median prediction method specifically obtains: an image block or a sub-image block motion vector adjacent to the current sub-image block, and according to the motion vectors, a specific rule, such as obtaining the median value and the average value of the motion vectors. Or acquiring the nearest neighbor image block or sub-picture block motion vector according to the current image block division manner to obtain a reference motion vector. This method is often referred to as Median Prediction.
- the motion vector of the sub-image block on the left side of the current image block/sub-image block needs to determine whether the AO to AnA-1 is encoded according to the number of the lower right corner of the AO to AnA-1, and the first encoded motion will be encoded.
- the vector is used as the corresponding candidate motion vector; likewise, the motion vector of the sub-image block on the current image block/sub-image block needs to determine whether B0 to BnA-1 are encoded according to the number from the bottom right corner of B0 to BnA-1.
- the first encoded motion vector is used as the corresponding candidate motion vector.
- the coding end Since the encoding end encodes the difference between the motion vector and the reference motion vector by using variable length coding, in order to improve the coding efficiency, the coding end usually selects the reference motion vector closest to the motion vector value, that is, the reference motion vector and motion. The smaller the difference between the vectors, the shorter the code string used and the higher the coding efficiency. Therefore, the closer the adjacent image block or sub-image block corresponding to the reference motion vector is to the sub-image block in the current image block, the higher the coding efficiency.
- the corresponding number of the selected reference motion vector is also encoded, so that the decoding end knows which candidate reference motion vector is selected by the encoding end. Since the encoding of the number is also a variable length encoding method, it is preferred to determine a first candidate reference motion vector from each candidate reference motion vector, and the adjacent image block or sub-image block corresponding to the first candidate reference motion vector Has a higher or highest correlation with the current image block. And then, according to the first candidate reference motion vector, each candidate reference motion vector is numbered, so that the first candidate parameter The number corresponding to the motion vector is as small as possible, for example: number 1, or the number corresponding to the smallest candidate reference motion vector, for example: number 0.
- the probability that the adjacent image block or the sub-image block is finally selected as the reference motion vector is the largest, and the adjacent image block or sub-image block corresponding to the first candidate reference motion vector has the current image block and the current image block.
- the number corresponding to the first candidate reference motion vector is as small as possible, for example: number 0 or number 1, so that encoding number 0 or number 1 only requires encoding symbol "1" or " 01 " , therefore, the coding efficiency of the number can be improved, thereby improving the video coding efficiency.
- variable length coding method After numbering each candidate reference motion vector according to the first candidate reference motion vector, selecting one reference motion vector from each of the numbered candidate reference motion vectors as the final reference motion vector, using the variable length coding method for the motion vector and the reference The difference of the motion vector is encoded, and the number corresponding to the reference motion vector is encoded by variable length coding.
- the reference motion vector acquiring method determines a first candidate reference motion vector of the sub-image block according to a division manner of the sub-image block in the current image block, and performs each candidate reference motion vector according to the first reference motion vector.
- the numbering is such that the first candidate reference motion vector corresponds to a smaller number. Since the encoding end uses variable length coding for the numbering, the coding efficiency of the number can be improved, thereby improving the video encoding and decoding efficiency.
- the present invention provides several preferred embodiments for identifying a division manner of a sub-image block in a current image block, including:
- the manner of dividing the sub-image blocks in the current image block may be identified according to the encoding mode identifier. For example, if the coding mode identifier is SIZE_2NxN or SIZE_Nx2N, it is usually indicated that the division mode is upper-left symmetric division or left-right symmetric division; if the coding mode identifier is SIZE_2NxnU or SIZE_2NxnD, etc., it usually indicates that the division mode is upper and lower asymmetric division; SIZE_nLx2N or SIZE_nRx2N, etc., usually means that the division mode is left and right asymmetric division.
- the sub-image block in the current image block may be identified according to a ratio of the dividing line in the current image block to the distance between the two boundary lines of the current image block or the distance from the focus of the boundary line extension line to the end point of the image block.
- the split mode for example: As shown in Figure 5, the division mode can be identified by the proportional relationship between BO and AO.
- the division manner of the sub-image block in the current image block may be identified according to the angle and distance of the dividing line in the current image block. As shown in FIG. 6, the division method is identified by identifying the angle ⁇ of the dividing line by the geometric partitioning method (Geometric Partition).
- the embodiment further provides a method for determining a first candidate reference motion vector of the sub-image block in each candidate reference motion vector according to the dividing manner, including:
- the motion vector of the image block or the sub-image block adjacent to the left side of the current image block is the first candidate reference motion vector of the left sub-image block in the current image block.
- the motion vector of the image block or the sub-image block adjacent to the upper right of the current image block is the first candidate reference motion vector of the right sub-image block in the current image block;
- the motion vector of the adjacent image block or sub-image block of the current image block is the first candidate reference motion of the upper sub-image block in the current image block.
- the motion vector of the adjacent image block or sub-image block of the left side of the current image block is the first candidate reference motion vector of the lower sub-image block in the current image block.
- each candidate reference motion vector is numbered according to the first candidate reference motion vector, which may be :
- each candidate reference motion vector is numbered according to a setting rule
- the numbered candidate reference motion vectors are then reordered according to the first candidate reference motion vector.
- the reordering of the numbered candidate reference motion vectors according to the first candidate reference motion vector may be:
- the first candidate reference motion vector may be interchanged with the number of the candidate motion vector having the smallest number.
- the group of candidate reference motion vectors is numbered according to an existing rule, and the following is obtained:
- No. 0 The motion vector obtained by the median prediction method
- No. 1 The motion vector of the image block or sub-image block on the left side of the current image block/sub-image block, that is, the first available motion vector in AO to AnA-1 shown in FIG. 4;
- No. 2 The motion vector of the image block or sub-image block on the current image block/sub-image block, that is, the first motion vector available in B0 to BnA-1 shown in Fig. 4;
- No. 3 Current image block / motion vector of the image block or sub-image block in the upper left of the sub-image block, that is, the motion vector of C shown in Fig. 4;
- No. 4 The motion vector of the image block or sub-image block in the upper right side of the current image block/sub-image block, that is, the motion vector of D shown in Fig. 4;
- No. 5 Current image block / The motion vector of the image block or sub-image block at the lower right of the sub-image block, that is, the motion vector of E shown in Fig. 4;
- No. 6 The motion vector of the previous coded image or the next coded image with the same position of the current image block/sub-image block.
- the motion vector obtained by the first candidate reference motion vector and the median prediction method may be used. The number is reversed.
- the motion vector corresponding to the image block or the sub-image block of the upper right side that is, the image block or the sub-image block of the upper right side is the highest.
- the first candidate reference motion vector therefore, is reordered to get:
- No. 0 The motion vector of the image block or sub-image block in the upper right side of the current image block/sub-image block, that is, the motion vector of D shown in Fig. 4;
- No. 1 The motion vector of the image block or sub-image block on the left side of the current image block/sub-image block, that is, the first motion vector available in AO to AnA-1 as shown in Fig. 4;
- No. 2 The motion vector of the image block or sub-image block on the current image block/sub-image block, that is, the first motion vector available in B0 to BnA-1 shown in Fig. 4;
- No. 3 the motion vector of the image block or sub-image block in the upper left side of the current image block/sub-image block, that is, the motion vector of C shown in FIG. 4;
- No. 4 The motion vector obtained by the median prediction method;
- No. 5 Current image block / The motion vector of the image block or sub-image block at the lower right of the sub-image block, that is, the motion vector of E shown in Fig. 4;
- No. 6 The motion vector of the previous coded image or the next coded image with the same position of the current image block/sub-image block.
- the motion vector corresponding to the upper image block or the sub-image block is the first candidate because the upper image block or the sub-image block is the most relevant.
- the reference motion vector therefore, the reordered candidate reference motion vector table can be:
- No. 0 The motion vector of the image block or sub-image block on the current image block/sub-image block, that is, the first motion vector available in B0 to BnA-1 shown in Fig. 4;
- No. 1 The motion vector of the image block or sub-image block on the left side of the current image block/sub-image block, that is, the first motion vector available in AO to AnA-1 as shown in Fig. 4;
- No. 2 The motion vector obtained by the median prediction method
- No. 3 Current image block / The motion vector of the image block or sub-image block on the upper left side of the sub-image block, that is, the motion vector of C shown in Fig. 4;
- No. 4 The motion vector of the image block or sub-image block on the upper right side of the current image block/sub-image block, that is, the motion vector of D shown in Fig. 4;
- No. 5 The motion vector of the image block or sub-image block at the lower right of the current image block/sub-image block, that is, the motion vector of E shown in Fig. 4;
- No. 6 The motion vector of the previous coded image or the next coded image with the same position of the current image block/sub-image block.
- the vector table can be:
- No. 0 The motion vector of the image block or sub-image block on the left side of the current image block/sub-image block, ie Figure 4 The first available motion vector from AO to AnA-1;
- No. 1 The motion vector obtained by the median prediction method
- No. 2 The motion vector of the image block or sub-image block on the current image block/sub-image block, that is, the first motion vector available in B0 to BnA-1 shown in Fig. 4;
- No. 3 Current image block / The motion vector of the image block or sub-image block on the upper left side of the sub-image block, that is, the motion vector of C shown in Fig. 4;
- No. 4 The motion vector of the image block or sub-image block on the upper right side of the current image block/sub-image block, that is, the motion vector of D shown in Fig. 4;
- No. 5 The motion vector of the image block or sub-image block at the lower right of the current image block/sub-image block, that is, the motion vector of E shown in Fig. 4;
- No. 6 The motion vector of the previous coded image or the next coded image with the same position of the current image block/sub-image block.
- Another reordering mode is also provided in this embodiment: the number corresponding to the first candidate reference motion vector is adjusted to the smallest number, and the numbers corresponding to the remaining candidate reference motion vectors are sequentially incremented by one.
- the number of the first candidate reference motion vector that will need to be given a smaller numbered value is assigned a smaller value, such as 0, and the number after the value is shifted back.
- the reordered candidate reference motion vector table For the partitioning method of the left and right partitions, for the right sub-image block obtained after the partitioning, since the highest correlation is the upper right image block or the sub-image block, the reordered candidate reference motion vector table may be:
- No. 0 Current image block / The motion vector of the image block or sub-image block on the upper right side of the sub-image block, that is, the motion vector of D shown in Fig. 4;
- No. 1 The motion vector obtained by the median prediction method
- No. 2 The motion vector of the image block or sub-image block on the left side of the current image block/sub-image block, that is, the first motion vector available in AO to AnA-1 as shown in Fig. 4;
- No. 3 The motion vector of the image block or sub-image block on the current image block/sub-image block, that is, the first motion vector available in B0 to BnA-1 shown in FIG. 4;
- No. 4 the motion vector of the image block or sub-image block on the upper left side of the current image block/sub-image block, that is, the motion vector of C shown in FIG. 4;
- No. 5 The motion vector of the image block or sub-image block at the lower right of the current image block/sub-image block, that is, the motion vector of E shown in Fig. 4;
- No. 6 The motion vector of the previous coded image or the next coded image with the same position of the current image block/sub-image block.
- the reordered candidate reference motion vector table may be:
- No. 0 The motion vector of the image block or sub-image block on the current image block/sub-image block, that is, the first motion vector available in B0 to BnA-1 shown in Fig. 4;
- No. 1 The motion vector obtained by the median prediction method
- No. 2 The motion vector of the image block or sub-image block on the left side of the current image block/sub-image block, that is, the first motion vector available in AO to AnA-1 as shown in Fig. 4;
- No. 3 Current image block / The motion vector of the image block or sub-image block on the upper left side of the sub-image block, that is, the motion vector of C shown in Fig. 4;
- No. 4 The motion vector of the image block or sub-image block on the upper right side of the current image block/sub-image block, that is, the motion vector of D shown in Fig. 4;
- No. 5 The motion vector of the image block or sub-image block at the lower right of the current image block/sub-image block, that is, the motion vector of E shown in Fig. 4;
- No. 6 The motion vector of the previous coded image or the next coded image with the same position of the current image block/sub-image block.
- the candidate reference motion vector table can be:
- No. 0 The motion vector of the image block or sub-image block on the left side of the current image block/sub-image block, ie Figure 4 The first available motion vector from AO to AnA-1;
- No. 1 The motion vector obtained by the median prediction method
- No. 2 The motion vector of the image block or sub-image block on the current image block/sub-image block, that is, the first motion vector available in B0 to BnA-1 shown in Fig. 4;
- No. 3 Current image block / The motion vector of the image block or sub-image block on the upper left side of the sub-image block, that is, the motion vector of C shown in Fig. 4;
- No. 4 The motion vector of the image block or sub-image block on the upper right side of the current image block/sub-image block, that is, the motion vector of D shown in Fig. 4;
- No. 5 The motion vector of the image block or sub-image block at the lower right of the current image block/sub-image block, that is, the motion vector of E shown in Fig. 4;
- No. 6 The motion vector of the previous coded image or the next coded image with the same position of the current image block/sub-image block.
- the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
- FIG. 7 is a schematic structural diagram of a first embodiment of a reference motion vector obtaining module according to the present invention. As shown in FIG. 7, the module includes: an identifying unit 11, an analyzing unit 12, a numbering unit 13, and a selecting unit 14;
- the identifying unit 11 is configured to obtain a dividing manner of the sub-image block in the current image block
- the analyzing unit 12 is configured to determine, in the dividing manner, the first candidate reference motion in each candidate reference motion vector of the sub-image block.
- the candidate reference motion vector is a motion vector of an image block or a sub-image block adjacent to the current image block, or a motion vector obtained after the motion vector of the adjacent image block or sub-image block is operated.
- a numbering unit 13 configured to select each candidate reference motion vector according to the first candidate reference motion vector Numbering
- the selecting unit 14 is configured to select a reference motion vector from each of the candidate reference motion vectors after the numbering.
- the reference motion vector acquisition module determines a first candidate reference motion vector of the sub-image block according to a division manner of the sub-image block in the current image block, and performs, for each candidate reference motion vector, according to the first reference motion vector.
- the numbering is such that the first candidate reference motion vector corresponds to a smaller number. Since the encoding end uses variable length coding for the numbering, the coding efficiency of the number can be improved, thereby improving the video coding efficiency.
- the numbering unit 13 includes:
- a number sub-unit 131 configured to number each candidate reference motion vector according to a setting rule
- a reordering sub-unit 132 configured to perform weighting on each of the numbered candidate reference motion vectors according to the first candidate reference motion vector Sort.
- the reordering subunit 132 may be specifically configured to:
- the first candidate reference motion vector is interchanged with the number of the candidate motion vector with the smallest number; or, the number corresponding to the first candidate reference motion vector is adjusted to the smallest number, and the numbers corresponding to the remaining candidate reference motion vectors are sequentially incremented by one.
- identification unit 11 can be specifically configured to:
- the manner of dividing the sub-image block in the current image block is identified according to the angle and distance of the dividing line in the current image block.
- the analyzing unit 12 can be specifically used for:
- the motion vector of the block or sub-image block is the first candidate reference motion vector of the left sub-image block in the current image block, and the motion vector of the adjacent upper right image block or sub-image block of the current image block is the current image.
- the motion vector of the adjacent image block or sub-image block of the current image block is the first candidate reference motion of the upper sub-image block in the current image block.
- the motion vector of the adjacent image block or sub-image block of the left side of the current image block is the first candidate reference motion vector of the lower sub-image block in the current image block.
- the reference motion vector acquisition module provided by the embodiment of the present invention is a function device for performing the reference motion vector acquisition method provided by the embodiment of the present invention.
- the specific implementation process refer to the embodiment of the reference motion vector acquisition method, and details are not described herein again.
- FIG. 9 is a schematic structural diagram of a first embodiment of an encoding apparatus according to an embodiment of the present invention.
- the apparatus includes: a prediction module 1, a transform module 2, a quantization module 3, an entropy encoding module 4, and a reference motion vector acquisition.
- the reference motion vector acquisition block 5 is configured to obtain a division manner of the sub image block in the current image block, and determine a first candidate reference motion vector in each candidate reference motion vector of the sub image block according to the division manner.
- the candidate reference motion vector is a motion vector of an image block or a sub-image block adjacent to the current image block, or a motion vector obtained after the motion vector of the adjacent image block or sub-image block is operated;
- Each candidate reference motion vector is numbered according to the first candidate reference motion vector; a reference motion vector is selected from each of the numbered candidate reference motion vectors;
- a prediction module 1 configured to acquire a pixel residual between the sub image block and the predicted image block, and obtain a difference between the motion vector of the predicted image block and the reference motion vector;
- a transform module 2 configured to separately transform the residual obtained by the prediction module 1;
- a quantization module 3 configured to quantize the residuals obtained by the prediction module transformed by the transform module 2, respectively;
- the entropy coding module 4 is configured to entropy encode the residual quantized by the quantization module 3, and entropy encode the difference between the motion vector of the predicted image block and the reference motion vector.
- the encoding apparatus provided by the embodiment of the present invention firstly subtracts the pixel value corresponding to the current image block or the sub-image block and the matched sub-image block by the prediction module 1 to obtain a residual, and then sequentially passes the transformation module 2 and the quantization module 3 to the residual. The difference is transformed and quantized. Finally, the transformed and quantized residual is entropy encoded by the entropy encoding module 4, and the entropy encoded bit stream is written into the encoded code stream.
- the encoding end of the prediction module 1 also obtains the difference between the motion vector of the predicted image block and the reference motion vector according to the reference motion vector acquired by the reference motion vector obtaining module 5, and then sends the difference between the motion vector and the reference motion vector, and then sends the entropy coding module 4, the entropy coding module. 4 encoding the difference between the motion vector and the reference motion vector, and performing variable length entropy encoding on the corresponding number of the reference motion vector in the candidate reference motion vector table, and then writing the entropy encoded bit stream into the encoded code stream.
- the encoding apparatus determines a first candidate reference motion vector of the sub-image block according to a division manner of the sub-image block in the current image block, and numbers each candidate reference motion vector according to the first reference motion vector, so that The first candidate reference motion vector corresponds to a smaller number as much as possible. Since the encoding end uses variable length coding for the number, the coding efficiency of the number can be improved, thereby improving the video coding efficiency.
- FIG. 10 is a schematic structural diagram of a first embodiment of a decoding apparatus according to an embodiment of the present invention.
- the apparatus includes: an entropy decoding module 1 ', an inverse quantization module 2, an inverse transform module 3', and a prediction compensation module. 4, and a reference motion vector acquisition module 5';
- An entropy decoding module 1 ′ configured to perform entropy decoding on the received encoded code stream, obtain a pixel residual between each sub image block and the predicted image block in the current image block, and obtain a motion vector of the predicted image block and the reference The difference between the motion vectors and the number corresponding to the reference motion vector;
- An inverse quantization module 2' configured to inverse quantize the residual
- the inverse transform module 3' is configured to perform inverse transform on the residual inversely quantized by the inverse quantization module;
- the reference motion vector obtaining module 5' is configured to obtain a partition mode of the sub image block in the current image block; Means determining a first candidate reference among each candidate reference motion vector of the sub-image block a motion vector, where the candidate reference motion vector is a motion vector of an image block or a sub-image block adjacent to the current image block, or a motion obtained by the motion vector of the adjacent image block or sub-image block Vector; numbering each candidate reference motion vector according to the first candidate reference motion vector; selecting a reference motion vector from each of the numbered candidate reference motion vectors.
- a prediction compensation module 4' configured to acquire a corresponding reference motion vector according to the number, obtain the motion vector according to a difference between the motion vector and the reference motion vector; and determine the predicted image block according to the motion vector, And acquiring the current image block according to the predicted image block and the residual.
- the decoding apparatus determines a first candidate reference motion vector of the sub-image block according to a division manner of the sub-image block in the current image block, and numbers each candidate reference motion vector according to the first reference motion vector, The smaller number of the first candidate reference motion vector is matched as much as possible. Since the encoding end uses variable length coding for the number, the decoding efficiency of the number can be improved, and the video decoding efficiency is improved.
- DSP Digital Signal Processing
- FPGA Field-Programmable Gate Array
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
L'invention concerne un procédé, un module et un dispositif de codage/décodage servant à obtenir un vecteur de mouvement de référence. Le procédé consiste à obtenir un mode de division d'un bloc de sous-image dans un bloc d'image actuel; à déterminer un premier vecteur de mouvement de référence candidat à partir de vecteurs de mouvement de référence candidats selon le mode de division, ledit vecteur de mouvement de référence candidat étant un vecteur de mouvement d'un bloc d'image ou d'un bloc de sous-image adjacent au bloc d'image actuel ou un vecteur de mouvement obtenu après réalisation d'une opération sur le vecteur de mouvement du bloc d'image ou du bloc de sous-image adjacent au bloc d'image actuel; à numéroter chaque vecteur de mouvement de référence candidat en fonction du premier vecteur de mouvement de référence candidat; et à sélectionner le vecteur de mouvement de référence parmi les vecteurs de mouvement de référence candidats numérotés. Le procédé, le module et le dispositif de codage/décodage servant à obtenir un vecteur de mouvement de référence selon les modes de réalisation de cette invention peuvent améliorer l'efficacité de codage de nombres et également l'efficacité de codage/décodage vidéo, étant donné que l'extrémité de codage effectue un codage à longueur variable sur le nombre.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110021752.2 | 2011-01-19 | ||
CN201110021752.2A CN102611881B (zh) | 2011-01-19 | 2011-01-19 | 参考运动矢量获取方法、模块及编、解码装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012097742A1 true WO2012097742A1 (fr) | 2012-07-26 |
Family
ID=46515164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2012/070586 WO2012097742A1 (fr) | 2011-01-19 | 2012-01-19 | Procédé, module et dispositif de codage/décodage pour obtenir un vecteur de mouvement de référence |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102611881B (fr) |
WO (1) | WO2012097742A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113905239A (zh) * | 2018-12-29 | 2022-01-07 | 深圳市大疆创新科技有限公司 | 视频处理方法和设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103079067B (zh) * | 2013-01-09 | 2016-03-09 | 华为技术有限公司 | 运动矢量预测值列表构建方法和视频编解码方法及装置 |
CN104581186B (zh) * | 2013-10-14 | 2019-12-17 | 北京康吉森技术有限公司 | 一种图像压缩中对帧内移动矢量进行编码和解码的方法 |
CN110731083A (zh) | 2017-02-23 | 2020-01-24 | 真实网络公司 | 视频编码系统和方法中的编码块位流结构和语法 |
CN117061738A (zh) | 2018-04-02 | 2023-11-14 | 深圳市大疆创新科技有限公司 | 用于图像处理的方法和图像处理装置 |
WO2020000444A1 (fr) * | 2018-06-29 | 2020-01-02 | 深圳市大疆创新科技有限公司 | Procédé et dispositif de détermination de vecteur de mouvement et support d'informations lisible par machine |
CN110662072B (zh) * | 2018-06-29 | 2022-04-26 | 杭州海康威视数字技术股份有限公司 | 运动信息候选者列表构建方法、装置及可读存储介质 |
CN112584177B (zh) | 2018-12-28 | 2022-05-31 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法及其设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1194544A (zh) * | 1997-01-31 | 1998-09-30 | 日本胜利株式会社 | 带有运动补偿的编码和译码装置 |
US20070140345A1 (en) * | 2005-12-16 | 2007-06-21 | Akira Osamoto | Motion estimation with motion vector penalty |
WO2010078212A1 (fr) * | 2008-12-31 | 2010-07-08 | Advanced Micro Devices, Inc. | Estimation de mouvement de multiples candidats avec un filtrage spatial avancé de vecteurs de mouvement différentiels |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1194544C (zh) * | 2003-04-25 | 2005-03-23 | 北京工业大学 | 基于时空域相关性运动矢量预测的视频编码方法 |
-
2011
- 2011-01-19 CN CN201110021752.2A patent/CN102611881B/zh active Active
-
2012
- 2012-01-19 WO PCT/CN2012/070586 patent/WO2012097742A1/fr active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1194544A (zh) * | 1997-01-31 | 1998-09-30 | 日本胜利株式会社 | 带有运动补偿的编码和译码装置 |
US20070140345A1 (en) * | 2005-12-16 | 2007-06-21 | Akira Osamoto | Motion estimation with motion vector penalty |
WO2010078212A1 (fr) * | 2008-12-31 | 2010-07-08 | Advanced Micro Devices, Inc. | Estimation de mouvement de multiples candidats avec un filtrage spatial avancé de vecteurs de mouvement différentiels |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113905239A (zh) * | 2018-12-29 | 2022-01-07 | 深圳市大疆创新科技有限公司 | 视频处理方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102611881B (zh) | 2014-06-25 |
CN102611881A (zh) | 2012-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2012097742A1 (fr) | Procédé, module et dispositif de codage/décodage pour obtenir un vecteur de mouvement de référence | |
US11812023B2 (en) | Encoding sequence encoding method and device thereof, and decoding method and device thereof | |
JP6073405B2 (ja) | 映像復号化方法及び装置 | |
JP6076414B2 (ja) | 映像の符号化方法及び装置、並びに映像の復号化方法及び装置 | |
TWI692248B (zh) | 解碼影像的方法、編碼影像的裝置及方法及非暫態電腦可讀記錄媒體 | |
US9088780B2 (en) | Method of adaptive intra prediction mode encoding and apparatus for the same, and method of encoding and apparatus for the same | |
TW202005389A (zh) | 加權交織預測 | |
BR122020013760B1 (pt) | Método para decodificar um vídeo através filtração em malha com base nas unidades de codificação, e aparelho de decodificação de vídeo para decodificar um vídeo através filtração em malha com base em unidades de codificação | |
EP2532159A1 (fr) | Sélection de vecteurs de mouvement prédits candidats | |
JP2011503991A (ja) | 動き推定および補償の方法およびデバイス | |
CN113794883B (zh) | 一种编解码方法、装置及其设备 | |
CN114222136B (zh) | 运动补偿的处理方法、编码器、解码器以及存储介质 | |
KR102552556B1 (ko) | 효율적인 저-복잡도 비디오 압축 | |
RU2776941C1 (ru) | Кодирование и декодирование видео | |
CN113709486B (zh) | 一种编解码方法、装置及其设备 | |
JP2008085674A (ja) | 動き検出装置及びその方法 | |
CN117859329A (zh) | 用于基于块的视频编解码的符号预测 | |
CN116074507A (zh) | 帧内预测模式确定方法、装置、芯片及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12736618 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12736618 Country of ref document: EP Kind code of ref document: A1 |