WO2020182166A1 - 运动信息候选者列表构建方法及装置 - Google Patents
运动信息候选者列表构建方法及装置 Download PDFInfo
- Publication number
- WO2020182166A1 WO2020182166A1 PCT/CN2020/078868 CN2020078868W WO2020182166A1 WO 2020182166 A1 WO2020182166 A1 WO 2020182166A1 CN 2020078868 W CN2020078868 W CN 2020078868W WO 2020182166 A1 WO2020182166 A1 WO 2020182166A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- motion information
- block
- candidate
- spatial
- spatial candidate
- Prior art date
Links
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
-
- 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
Definitions
- This application relates to video coding and decoding technology, and in particular to a method and device for constructing a motion information candidate list.
- Inter-frame prediction refers to using the correlation of the video time domain to predict the pixels of the current image by using adjacent coded/decoded image pixels to effectively remove the video time domain redundancy.
- the inter-frame prediction of major video coding and decoding standards adopts block-based motion compensation technology.
- the main principle is to find a best matching block in the previous coded/decoded image for each pixel block of the current image.
- the process is called Motion Estimation (ME for short).
- the image used for prediction is called Reference Frame
- the displacement from the reference block to the current pixel block is called Motion Vector (MV)
- the difference between the current pixel block and the reference block is called the prediction residual ( Prediction Residual).
- the motion information of the neighboring blocks in the spatial domain has a strong correlation, and the motion information also has a certain degree of correlation in the time domain, if the motion information of the neighboring blocks in the spatial or temporal domain is used to perform the motion information of the current block Prediction, to obtain the predicted pixel value, only the residual error needs to be encoded and decoded, which can greatly save the number of encoding and decoding bits of the motion information.
- the same motion information candidate list is constructed through the codec side, without directly coding and decoding motion information, only the sequence number (for example, Merge_idx) in the candidate list selected by the codec can express the motion information, thereby greatly reducing the codec Number of bits.
- the current video coding and decoding standards have proposed Merge technology, Advanced Motion Vector Prediction (AMVP) technology, Optional temporal motion vector prediction (Alternative Temporal Motion Vector Prediction, ATMVP for short) technology, Triangle prediction technology, Intra Block Copy (IBC) technology, and Affine technology.
- AMVP Advanced Motion Vector Prediction
- ATMVP Alternative Temporal Motion Vector Prediction
- Triangle prediction technology Triangle prediction technology
- IBC Intra Block Copy
- Affine technology Affine technology
- the index number corresponding to the candidate motion information selected as the final motion information prediction is often not the least digit , Resulting in a large coding and decoding index overhead, which reduces video coding and decoding performance.
- the present application provides a method and device for constructing a candidate list of motion information.
- a method for constructing a motion information candidate list including:
- a motion information candidate list corresponding to the current image block is constructed.
- a triangular prediction decoding method including:
- motion compensation is performed on the triangular sub-blocks of the current image block and the intermediate boundary sub-blocks to obtain predicted motion information of the current image block.
- an index encoding/decoding method including:
- an index encoding/decoding method including:
- an apparatus for constructing a candidate list of sports information including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus
- the memory stores a computer program, and the processor is prompted by the computer program:
- a motion information candidate list corresponding to the current image block is constructed.
- a triangular predictive decoding device including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory complete mutual communication through the communication bus;
- the memory stores a computer program, and the processor is prompted by the computer program:
- motion compensation is performed on the triangular sub-blocks of the current image block and the intermediate boundary sub-blocks to obtain predicted motion information of the current image block.
- an index encoding/decoding device including a processor, a communication interface, a memory, and a communication bus, where the processor, the communication interface, and the memory complete mutual communication through the communication bus;
- the memory stores a computer program, and the processor is prompted by the computer program:
- an index encoding/decoding device including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus;
- the memory stores a computer program, and the processor is prompted by the computer program:
- the motion information candidate list construction method of the embodiment of the present application determines the check sequence of each spatial candidate block of the current image block, and determines the spatial candidate motion information according to the determined check sequence, and further, constructs the spatial candidate motion information based on the spatial candidate motion information
- the motion information candidate list corresponding to the current image block, using the motion information of the upper spatial domain candidate block of the current image block to be finally selected as the predicted motion information is higher than the motion information of the left spatial candidate block is finally selected as the predicted motion information
- the feature of probability reduces index coding overhead and improves coding performance.
- FIGS. 1A to 1B are schematic diagrams of block division shown in an exemplary embodiment of the present application.
- Fig. 2 is a schematic diagram showing the position of candidate information of a triangle prediction according to an exemplary embodiment of the present application
- FIG. 3 is a schematic flowchart of a method for constructing a candidate list of motion information according to an exemplary embodiment of the present application
- FIG. 4 is a schematic diagram showing the positional relationship between each spatial candidate block and the current data block according to an exemplary embodiment of the present application
- FIG. 5A is a schematic diagram showing a check sequence of spatial candidate blocks according to an exemplary embodiment of the present application.
- FIG. 5B is a schematic diagram of neighboring blocks in an affine mode according to an exemplary embodiment of the present application.
- FIG. 5C is a schematic diagram of updating a coded/decoded motion information list according to an exemplary embodiment of the present application.
- Fig. 6 is a schematic flowchart of a triangular prediction decoding method according to an exemplary embodiment of the present application.
- FIG. 7 is a schematic flowchart of an index encoding/decoding method shown in an exemplary embodiment of the present application.
- FIG. 8 is a schematic flowchart of an index encoding/decoding method shown in an exemplary embodiment of the present application.
- FIG. 9 is a schematic diagram of the hardware structure of an apparatus for constructing a motion information candidate list according to an exemplary embodiment of the present application.
- Fig. 10 is a schematic structural diagram of an apparatus for constructing a motion information candidate list according to an exemplary embodiment of the present application
- FIG. 11 is a schematic diagram of the hardware structure of a triangular prediction decoding device according to an exemplary embodiment of the present application.
- Fig. 12 is a schematic structural diagram of a triangular prediction decoding device shown in an exemplary embodiment of the present application.
- Fig. 13 is a schematic diagram of the hardware structure of an index encoding/decoding apparatus according to an exemplary embodiment of the present application.
- Fig. 14 is a schematic structural diagram of an index encoding/decoding apparatus according to an exemplary embodiment of the present application.
- Fig. 15 is a schematic diagram of the hardware structure of an index encoding/decoding apparatus according to an exemplary embodiment of the present application.
- Fig. 16 is a schematic structural diagram of an index encoding/decoding apparatus shown in an exemplary embodiment of the present application.
- a CTU Coding Tree Unit, coding tree unit
- CU Coding Unit, coding unit
- the leaf node CU determines whether to use intra coding or inter coding.
- the CU can be further divided into two or four PUs (Prediction Unit, prediction unit), and the same prediction information is used in the same PU.
- Prediction Unit, prediction unit Prediction Unit, prediction unit
- a CU can be further divided into multiple TUs (Transform Units) using a quad tree.
- the current image block in this application is a PU.
- VVC Very Video Coding, universal video coding
- the block division technology has undergone major changes.
- a partition structure that mixes binary tree/tri fork tree/quad tree replaces the original partition mode, cancels the original distinction between the concepts of CU, PU, and TU, and supports a more flexible way of partitioning CU.
- the CU can be divided into a square or a rectangle.
- the CTU first divides the quadtree, and then the leaf nodes of the quadtree can be further divided into binary trees and ternary trees.
- CU has five division types, namely quadtree division, horizontal binary tree division, vertical binary tree division, horizontal trinomial tree division and vertical trinomial tree division.
- a CU partition within a CTU can be any combination of the above five partition types. It can be seen from the above that different division methods make the shape of each PU different, such as rectangles and squares of different sizes.
- the prediction mode in this disclosure is introduced as follows:
- H265/HEVC proposes merging technology (motion information prediction in Merge mode) and AMVP technology (ie, motion information prediction in AMVP mode) in motion information prediction. Both use the ideas of spatial and temporal motion information prediction.
- the optimal motion information candidate is selected based on the rate-distortion cost as the predicted motion information of the current image block.
- the motion information of the current image block is directly predicted based on the motion information of adjacent data blocks in the spatial or temporal domain, and there is no motion vector difference (MVD); if the codec is constructed in the same way
- the encoder only needs to transmit the index of the predicted motion information in the motion information candidate list, which can greatly save the number of coding bits of the motion information.
- the motion information prediction of the AMVP mode also uses the correlation of the motion information of adjacent data blocks in the spatial domain and the time domain to establish a motion information candidate list for the current image block.
- the encoder selects the optimal predicted motion information from it, and differentially encodes the selected predicted motion information; the decoder establishes the same motion information candidate list, only the motion vector residual and the predicted motion information are in the list
- the motion information of the current image block can be calculated; the length of the motion information candidate list in AMVP mode is 2.
- Affine mode is a newly introduced inter-frame prediction mode of H.266, which has a good prediction effect for rotating and zooming scenes.
- Affine Merge finds the first candidate encoded in Affine mode by traversing the candidate image blocks. For the AF_MERGE method, there is no need to transmit some additional index values, just transmit whether to use Affine Merge Flag.
- ATMVP technology is a sub-block-based prediction technology.
- the initial motion information is determined by spatial motion information to find the corresponding block in the reference frame; the corresponding block is divided into sub-blocks, and the motion information of each sub-block is mapped to the current The motion information of the sub-block.
- Triangular prediction technology is used in VVC.
- triangular prediction a block is divided into two triangular sub-blocks, which have different unidirectional motion information; among them, the triangular prediction mode is only used in Merge/Skip mode, and It is used in the prediction process and does not affect the subsequent transformation and quantization process.
- Triangular prediction mode designs a new motion information candidate list.
- the motion information candidate list can include five one-way motion information.
- the candidate motion information can be from the motion information of the neighboring blocks in the spatial domain at positions 1 to 5 as shown in Figure 2. And the motion information of the neighboring blocks in the time domain at positions 6 and 7. By collecting the available motion information of these 7 positions, a one-way motion information list is constructed according to certain rules.
- IBC prediction is a block copy technology that finds the corresponding block of the current block in the same frame, and uses the motion information of the corresponding block as the prediction information of the motion information of the current block.
- IBC prediction supports IBC merge mode and IBC AMVP mode. Similar to the regular (Regular) merge mode and AMVP mode, the motion information of the neighboring blocks in the spatial domain is used as candidate information.
- the method for constructing a motion information candidate list described in this article can be applied to an encoding end device, and can also be applied to a decoding end device.
- the current image block described in this document is an encoding block
- an encoded/decoded block refers to an encoded block
- the current image block described in this article is a decoded block
- an encoded/decoded block refers to a decoded block, which will not be repeated in this article.
- FIG. 3 is a schematic flowchart of a method for constructing a motion information candidate list provided by an embodiment of this application.
- the method for constructing a motion information candidate selection list may include the following steps:
- Step S300 Determine the check order of each spatial candidate block of the current image block; wherein the check order of the upper spatial candidate block of the current image block has priority over the check order of the left spatial candidate block of the current image block.
- the sequence of the spatial motion information candidates in the motion information candidate list is related to the check sequence of the spatial candidate blocks of the current image block when the motion information candidate list is constructed, and the final motion information candidate list is
- the selected predicted motion information is ranked higher among the motion information candidates, it can reduce the bits required for index value encoding and improve the performance of video encoding; in addition, when performing motion information prediction, the list of motion information candidates is finally
- the selected predicted motion information is ranked higher in the motion information candidate list, it can reduce the consumption of predicting motion information selection, that is, under the same coding index consumption, ranking the high correlation first will help improve the performance of video coding Therefore, when constructing the motion information candidate list, the candidate blocks in the spatial domain with a higher probability of being selected as predicted motion information can be checked first.
- the inspection order of the spatial candidate block above the current image block may be determined to be prior to the left spatial candidate block of the current image block The order of inspection.
- the foregoing determining the check sequence of each spatial candidate block of the current image block may include:
- the check order of each spatial candidate block of the current image block is determined.
- the candidate motion information that is finally selected as the predicted motion information may be different. Therefore, in order to improve the rationality of the inspection sequence of the determined spatial candidate block and improve the coding performance, it can be combined with The prediction mode of the current image block determines the check order of each spatial candidate block of the current image block.
- determining the check order of each spatial candidate block of the current image block according to the prediction mode may include:
- the check order of each spatial candidate block of the current image block may include at least the traversal order of 4 spatial candidate blocks;
- the traversal order of the 4 spatial domain candidate blocks is located before the fifth spatial domain candidate block, and the fifth spatial domain candidate block is a replacement spatial domain candidate block.
- the aforementioned four spatial candidate blocks may include a first spatial candidate block, a second spatial candidate block, a third spatial candidate block, and a fourth spatial candidate block.
- the first spatial domain candidate block (hereinafter referred to as A1) is the lowermost spatial adjacent block on the left side of the current image block; the second spatial domain candidate block (hereinafter referred to as B1 ) Is the spatial neighboring block on the rightmost side of the current image block; the third spatial candidate block (hereinafter referred to as B0) is the spatial neighboring block closest to the upper right corner of the current image block; the fourth spatial candidate block (below In the text, A0) is the spatial neighboring block with the closest distance to the lower left corner of the current image block; the fifth spatial candidate block (hereinafter referred to as B2) is the spatial neighboring block with the closest distance to the upper left corner of the current image block.
- the traversal order of the above four spatial domain candidate blocks is the first traversal order
- the first traversal order is to sequentially traverse the second spatial candidate block, the first spatial candidate block, the fourth spatial candidate Block and the third spatial candidate block (can be described as B1 ⁇ A1 ⁇ A0 ⁇ B0).
- the traversal order of the spatial candidate block may be B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ (B2), and B2 is the replacement spatial candidate block.
- the replacement spatial candidate block may be checked when the motion information of at least one spatial candidate block is not available.
- the spatial domain provides at most 4 candidate motion information. Therefore, when checking the spatial candidate block, at least 4 spatial domains can be traversed.
- the probability of B1 being selected to predict motion information is higher than that of A1 being selected to predict motion information, and B2 is ultimately selected to predict motion information.
- the probability is lower than the probability that the remaining 4 spatial candidate blocks will be selected to predict motion information. Therefore, when determining the inspection order of the spatial candidate blocks, the inspection order of B1 can be determined to be before the inspection of A1, and B2 can be determined as the replacement airspace.
- the foregoing determining the check sequence of each spatial candidate block of the current image block according to the prediction mode may include:
- the check order of each spatial candidate block of the current image block may include the traversal order of 5 spatial candidate blocks;
- the five spatial candidate blocks include a first spatial candidate block, a second spatial candidate block, a third spatial candidate block, a fourth spatial candidate block, and a fifth spatial candidate block.
- the traversal order of the above five spatial domain candidate blocks is the second traversal order
- the second traversal order is to sequentially traverse the second spatial candidate block, the first Spatial candidate block, fourth spatial candidate block, third spatial candidate block and fifth spatial candidate block (can be described as B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ B2).
- the traversal order of the above 5 spatial domain candidate blocks is the third traversal order
- the third traversal order is to sequentially traverse the third spatial candidate block and the first The second spatial domain candidate block, the fifth spatial candidate block, the fourth spatial candidate block and the first spatial candidate block (can be described as B0 ⁇ B1 ⁇ B2 ⁇ A0 ⁇ A1).
- the foregoing determining the check order of each spatial candidate block of the current image block according to the prediction mode may include:
- the check order of each spatial candidate block of the current image block includes the traversal order of 1 spatial candidate block;
- the above-mentioned 1 spatial domain candidate block includes a second spatial domain candidate block, such as B1 in FIG. 4.
- ATMVP is a sub-block-based prediction technology
- it when performing predictive coding, it only needs to refer to the motion information of the first available spatial candidate block found. Therefore, in order to improve the coding performance of the ATMVP merge mode, when searching for spatial candidate motion information, only the spatial candidate block B1 may be checked.
- the foregoing determining the check order of each spatial candidate block of the current image block according to the prediction mode may include:
- the check order of each spatial candidate block of the current image block includes the traversal order of 4 spatial candidate blocks; or,
- the check order of each spatial candidate block of the current image block includes the traversal order of 4 spatial candidate blocks; or,
- the check order of each spatial candidate block of the current image block includes the traversal order of 4 spatial candidate blocks; or,
- the check order of each spatial domain candidate block of the current image block includes the traversal order of 4 spatial domain candidate blocks;
- the aforementioned 4 spatial candidate blocks include a first spatial candidate block, a second spatial candidate block, a third spatial candidate block, and a fourth spatial candidate block.
- the probability that B2 is finally selected as the predicted motion information is lower than the remaining 4 spatial candidate blocks. Therefore, in order to improve the coding Performance.
- the spatial candidate motion information only the four spatial candidate blocks B0, B1, A0 and A1 can be checked.
- the traversal order of the aforementioned 4 spatial candidate blocks is the first traversal order
- the traversal order of the aforementioned 4 spatial candidate blocks is the first traversal order
- the traversal order of the above 4 spatial candidate blocks is the first traversal order
- the traversal order of the above 4 spatial candidate blocks is the fourth traversal order
- the fourth traversal order is to sequentially traverse the third spatial candidate block, the second spatial candidate block, and the second spatial candidate block.
- the check order of B1 can be determined to be before the check order of A1.
- the foregoing determining the check order of each spatial candidate block of the current image block according to the prediction mode may include:
- the check order of each spatial candidate block of the current image block includes at least the fifth traversal order and the sixth traversal order; the fifth traversal order is used for Perform traversal of the upper spatial domain candidate block of the current image block.
- the sixth traversal sequence is used to traverse the left spatial candidate block of the current image block; the upper spatial candidate block includes: the third spatial candidate block, the second spatial candidate block and the first Five spatial candidate blocks; the left spatial candidate block includes: a fourth spatial candidate block and a first spatial candidate block;
- the fifth traversal sequence is to sequentially traverse the third spatial candidate block, the second spatial candidate block, and the fifth spatial candidate block;
- the sixth traversal sequence is to sequentially traverse the fourth spatial candidate block and the first spatial candidate block.
- the check order of each spatial candidate block of the current image block may be to first traverse the upper spatial candidate block in turn in the fifth traversal order, and then follow the first The six traversal sequence traverses the left spatial candidate block.
- the spatial candidate block above the current image block is finally selected to predict motion information with a higher probability than the spatial candidate block on the left is ultimately selected to predict motion information. Therefore, when determining the check order of spatial candidate blocks, you can first traverse the spatial candidate block above the current image block, and then traverse the spatial candidate block on the left of the current image block.
- affine AMVP mode when traversing the motion information of the spatial candidate block, it is necessary to check whether the spatial candidate block is an affine block (Affine block), and whether there is affine motion information storage, if it is an affine block, And if there is affine motion information stored, it is determined that the motion information of the spatial candidate block is available; otherwise, it is determined that the motion information of the spatial candidate block is not available.
- affine block affine block
- Step S310 Determine spatial candidate motion information according to the check sequence of each spatial candidate block of the current image block.
- Step S320 Construct a candidate list of motion information corresponding to the current image block according to the determined candidate motion information in the spatial domain.
- each spatial candidate block of the current image block can be checked according to the determined check order to determine the spatial candidate motion information, and according to the The determined spatial candidate motion information constructs a motion information candidate list corresponding to the current image block.
- the foregoing construction of the motion information candidate list corresponding to the current image block according to the determined spatial domain candidate motion information may include:
- the motion information candidate corresponding to the current image block is constructed according to the determined spatial candidate motion information, temporal candidate motion information, and motion information of the encoded/decoded block before the current image block List of people.
- the encoding/decoding before the current image block can be considered. Movement information of the block.
- the candidate motion information can be determined from the motion information of the coded/decoded block before the current image block.
- the motion information of the coded/decoded block before the current image block can be saved in a global list (which can be called the motion information list of the coded/decoded block).
- the motion information list of the coded/decoded block It is a fixed length, and the motion information of the coded/decoded block in the motion information list of the coded/decoded block is updated according to the first-in-first-out rule.
- the coded/decoded block can be retrieved from the Select candidate motion information from the list of motion information.
- the above construction of a candidate list of motion information corresponding to the current image block based on the determined candidate motion information in the spatial domain may also include:
- the weighted motion information is added as candidate motion information to the motion information candidate list of the current image block.
- this embodiment needs to be performed when the number of existing motion information in the motion information candidate list is greater than one, for example, the first two existing motion information in the motion information candidate list are weighted.
- the forward motion information and the backward motion information of the bidirectional motion information need to be weighted separately.
- candidate motion information 1 and candidate motion information 2 are both bidirectional motion information
- the forward motion information of candidate motion information 1 is forward motion information 11, and the backward motion information is backward motion information 12;
- candidate motion information The forward motion information of 2 is forward motion information 21, and the backward motion information is backward motion information 22.
- the forward motion information weighted by the forward motion information 11 and the forward motion information 21 is the candidate motion information 1 and
- the weighted forward motion information of the candidate motion information 2 and the weighted backward motion information of the backward motion information 12 and the backward motion information 22 are the weighted backward motion information of the candidate motion information 1 and the candidate motion information 2.
- candidate motion information 1 is two-way motion information
- candidate motion information 2 is one-way motion information
- the forward motion information of candidate motion information 1 is forward motion information 11
- the backward motion information is backward motion information.
- the reference frames of candidate motion information 2 and forward motion information 11 belong to the same reference list (for example, both are List0)
- the forward motion information weighted by forward motion information 11 and candidate motion information 2 is candidate motion information 1
- the forward motion information weighted with the candidate motion information 2 is the backward motion information weighted by the candidate motion information 1 and the candidate motion information 2.
- the number of candidate motion information obtained by weighting in the motion information candidate list does not exceed a preset number threshold (which can be set according to the actual scene, such as 1).
- the above-mentioned constructing a motion information candidate list corresponding to the current image block according to the determined spatial candidate motion information may include:
- the motion information candidate list corresponding to the current image block is constructed according to the spatial candidate motion information and the motion information of the coded/decoded block before the current image block.
- the coded/encoded before the current image block can be considered. Decode the motion information of the block.
- the motion information of the coded/decoded block before the current image block can be saved in a global list (which can be called the motion information list of the coded/decoded block).
- the motion information list of the coded/decoded block It is a fixed length, and the motion information of the coded/decoded block in the motion information list of the coded/decoded block is updated according to the first-in-first-out rule.
- the spatial candidate motion information is added to the motion information candidate list, if the number of candidate motion information in the motion information candidate list is insufficient, it can be selected from the motion information list of the coded/decoded block Candidate motion information.
- the above construction of a candidate list of motion information corresponding to the current image block based on the determined candidate motion information in the spatial domain may also include:
- the weighted motion information is added as candidate motion information to the motion information candidate list of the current image block.
- this embodiment needs to be performed when the number of existing motion information in the motion information candidate list is greater than one, for example, the first two existing motion information in the motion information candidate list are weighted.
- the forward motion information and the backward motion information of the bidirectional motion information need to be weighted separately.
- the foregoing construction of the motion information candidate list corresponding to the current image block according to the determined spatial candidate motion information may include:
- the prediction mode of the current image block is the triangular prediction merge mode
- the candidate motion information is bidirectional motion information
- the forward motion information or/and the backward motion information of the bidirectional motion information is added to the motion information candidate list.
- the foregoing construction of the motion information candidate list corresponding to the current image block according to the determined spatial candidate motion information may include:
- the prediction mode of the current image block is the triangular prediction merge mode, based on the candidate motion information in the spatial domain, the candidate motion information in the time domain, and the motion information of the coded/decoded block before the current image block, construct the motion information candidate list corresponding to the current image block ;
- the candidate motion information is bidirectional motion information
- the forward motion information or/and the backward motion information of the bidirectional motion information is added to the motion information candidate list.
- the coded before the current image block can be considered. / Decode the motion information of the block.
- the above construction of a candidate list of motion information corresponding to the current image block based on the determined candidate motion information in the spatial domain may further include:
- the prediction mode of the current image block is the triangular prediction merge mode, acquiring the first two candidate motion information in the motion information candidate list;
- the weighted candidate motion information obtained by weighting the first two candidate motion information is added to the motion information candidate list.
- this embodiment needs to be performed when the number of existing motion information in the motion information candidate list is greater than one, for example, the first two candidate motion information in the motion information candidate list are weighted.
- each candidate motion information in the motion information candidate list can be weighted according to the one-way motion information, the forward motion information of the two-way motion information, the backward motion information of the two-way motion information, and the mean value.
- the order of candidate motion information can be weighted according to the one-way motion information, the forward motion information of the two-way motion information, the backward motion information of the two-way motion information, and the mean value.
- the foregoing construction of the motion information candidate list corresponding to the current image block according to the determined spatial candidate motion information may include:
- the prediction mode of the current image block is the affine merge mode
- the second type candidate motion information is obtained by mapping calculation, and the second Type candidate motion information is added to the motion information candidate list.
- the corresponding candidate motion information can be calculated based on the determined spatial candidate motion information mapping (referred to herein as the first type of candidate motion information) , And add the first type of candidate motion information to the motion information candidate list.
- the number of candidate motion information in the motion information candidate list is insufficient at this time, it can be based on two or three of the motion information in the upper left corner of the current image block, the motion information in the upper right corner, the motion information in the lower left corner, and the temporal motion information.
- the corresponding candidate motion information (referred to as the second type of candidate motion information in this article) is obtained through mapping calculation, and the second type of candidate motion information is added to the list of motion information candidates.
- the first available motion information obtained can be determined as the motion information of the upper left corner of the current image block by traversing the motion information of positions A2, B2, and B3 in a certain order; It is possible to determine the first available motion information obtained as the motion information in the upper right corner of the current image block by traversing the motion information at positions B1 and B0 in a certain order; you can traverse the motion information at positions A0 and A1 in a certain order In the manner of motion information, the first available motion information obtained is determined as the motion information in the lower left corner of the current image block; the temporal motion information may be the temporal motion information at the position T.
- the foregoing construction of the motion information candidate list corresponding to the current image block according to the determined spatial candidate motion information may include:
- a sub-block technology-based motion information candidate list is constructed, and the mode of each candidate motion information is marked.
- the same motion information candidate based on the sub-block technology can be constructed List, and respectively mark the mode (ATMVP merge mode or affine merge mode) of each candidate motion information in the motion information candidate list.
- the candidate motion information of the ATMVP merge mode may be used as the first candidate motion information in the sub-block technology-based motion information candidate list, and the subsequent candidate motion information is the candidate motion information of the affine merge mode.
- the above-mentioned construction of the candidate motion information candidate list based on the sub-block technology based on the candidate motion information of the ATMVP merge mode and the candidate motion information of the affine merge mode may include:
- the candidate motion information of the affine merge mode is added to the motion information candidate list based on sub-block technology.
- a motion information candidate list based on candidate motion information of the ATVMP merge mode may be constructed first, and then the candidate motion information based on the affine merge mode may be added.
- the motion In the information candidate list when adding candidate motion information to the constructed motion information candidate list, duplicate checking processing is required to avoid duplicate candidate motion information in the motion information candidate list.
- the decoding end device when the decoding end device performs code stream decoding, after the decoding end device parses the index of the optimal motion information carried in the code stream, when constructing the motion information candidate list, When the candidate motion information corresponding to the index is determined, the construction of the motion information candidate list can be stopped, and there is no need to construct a complete motion information candidate list.
- the construction of the motion information candidate list in the merge mode is taken as an example.
- the check order of each spatial candidate block of the current image block is adjusted to B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ (B2); among them, the schematic diagram of the check order of the first 4 spatial candidate blocks can be As shown in Figure 5A; or, adjust the check order of each spatial candidate block of the current image block to B1 ⁇ A1 ⁇ A0 ⁇ B0; or adjust the check order of each spatial candidate block of the current image block to A1 ⁇ B1 ⁇ B0 ⁇ A0.
- B2 checks when the motion information of the first 4 spatial domain candidate blocks is not all available (that is, at least one is not available);
- the motion information list of the coded/decoded block has a fixed length, and the motion information of the coded/decoded block in the motion information list is updated according to the first-in-first-out rule.
- the schematic diagram may be as shown in FIG. 5C;
- the new candidate motion information is determined by weighting the existing candidate motion information in the motion information candidate list, and the determined new motion information The candidate motion information is added to the motion information candidate list;
- the weighting of candidate motion information is performed when the number of existing candidate motion information in the motion information candidate list is greater than one.
- the forward motion information and the backward motion information of the two-way motion information need to be weighted separately to obtain the two-way motion information candidates.
- candidate motion information 1 and candidate motion information 2 are both bidirectional motion information
- the forward motion information of candidate motion information 1 is forward motion information 11, and the backward motion information is backward motion information 12; candidate motion information 2
- the forward motion information is forward motion information 21, and the backward motion information is backward motion information 22.
- the forward motion information weighted by forward motion information 11 and forward motion information 21 is candidate motion information 1 and candidate
- the weighted forward motion information of the motion information 2 and the weighted backward motion information of the backward motion information 12 and the backward motion information 22 are the weighted backward motion information of the candidate motion 1 and the candidate motion information 2.
- the default motion information (zero motion information) is used to make up.
- the construction of the motion information candidate list in the IBC merge mode is taken as an example.
- the inspection order of each spatial candidate block of the current image block is adjusted to B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ (B2); or, the inspection of each spatial candidate block of the current image block The order is adjusted to B1 ⁇ A1 ⁇ A0 ⁇ B0; or, the inspection order of each spatial candidate block of the current image block is adjusted to A1 ⁇ B1 ⁇ B0 ⁇ A0.
- B2 checks when the motion information of the first 4 spatial domain candidate blocks is not all available (that is, at least one is not available);
- the motion information list of the coded/decoded block has a fixed length, and the motion information of the coded/decoded block in the motion information list is updated according to a first-in first-out rule;
- the new candidate motion information is determined by weighting the existing candidate motion information in the motion information candidate list, and the determined new motion information The candidate motion information is added to the motion information candidate list;
- the weighting of candidate motion information is performed when the number of existing candidate motion information in the motion information candidate list is greater than one.
- the default motion information is used to make up.
- the default motion information can be through the expansion and contraction offset of the existing motion information in the list or the zero motion information The telescopic offset is obtained.
- the construction of the motion information candidate list in the IBC merge mode is taken as an example.
- the inspection order of each spatial candidate block of the current image block is adjusted to B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ (B2); or, the inspection of each spatial candidate block of the current image block The order is adjusted to B1 ⁇ A1 ⁇ A0 ⁇ B0; or, the inspection order of each spatial candidate block of the current image block is adjusted to A1 ⁇ B1 ⁇ B0 ⁇ A0.
- B2 checks when the motion information of the first 4 spatial domain candidate blocks is not all available (that is, at least one is not available);
- the motion information list of the coded/decoded block has a fixed length, and the motion information of the coded/decoded block in the motion information list is updated according to a first-in first-out rule;
- the default motion information can be through the scaling offset of the existing motion information in the list or the zero motion information.
- the telescopic offset is obtained.
- the construction of the motion information candidate list in the triangular prediction merge mode is taken as an example.
- the inspection order of each spatial candidate block of the current image block is adjusted to B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ B2; or, the inspection order of each spatial candidate block of the current image block is adjusted Adjust to B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ (B2); or adjust the check order of each spatial candidate block of the current image block to B1 ⁇ A1 ⁇ A0 ⁇ B0; or, change the check order of each spatial candidate block of the current image block
- the inspection sequence is adjusted to A1 ⁇ B1 ⁇ B0 ⁇ A0.
- B2 checks when the motion information of the first 4 spatial domain candidate blocks is not all available (that is, at least one is not available);
- the candidate motion information in the motion information candidate list is sorted in the order of: one-way motion information, forward motion information of two-way motion information, backward motion information of two-way motion information, and weighted motion information;
- the default motion information (zero motion information) is used to make up.
- the construction of the motion information candidate list in the triangular prediction merge mode is taken as an example.
- the inspection order of each spatial candidate block of the current image block is adjusted to B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ B2; or, the inspection order of each spatial candidate block of the current image block is adjusted Adjust to B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ (B2); or adjust the check order of each spatial candidate block of the current image block to B1 ⁇ A1 ⁇ A0 ⁇ B0; or, change the check order of each spatial candidate block of the current image block
- the inspection sequence is adjusted to A1 ⁇ B1 ⁇ B0 ⁇ A0.
- B2 checks when the motion information of the first 4 spatial domain candidate blocks is not all available (that is, at least one is not available);
- the motion information list of the coded/decoded block has a fixed length, and the motion information of the coded/decoded block in the motion information list is updated according to a first-in first-out rule;
- the candidate motion information in the motion information candidate list is sorted in the order of: one-way motion information, forward motion information of two-way motion information, backward motion information of two-way motion information, and weighted motion information;
- the default motion information (zero motion information) is used to make up.
- the construction of the motion information candidate list in the triangular prediction merge mode is taken as an example.
- the inspection order of each spatial candidate block of the current image block is adjusted to B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ B2; or, the inspection order of each spatial candidate block of the current image block is adjusted Adjust to B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ (B2); or adjust the check order of each spatial candidate block of the current image block to B1 ⁇ A1 ⁇ A0 ⁇ B0; or, change the check order of each spatial candidate block of the current image block
- the inspection sequence is adjusted to A1 ⁇ B1 ⁇ B0 ⁇ A0.
- B2 checks when the motion information of the first 4 spatial domain candidate blocks is not all available (that is, at least one is not available);
- the motion information list of the coded/decoded block has a fixed length, and the motion information of the coded/decoded block in the motion information list is updated according to a first-in first-out rule;
- the construction of the motion information candidate list in the affine merge mode is taken as an example.
- the check order of each spatial candidate block of the current image block is adjusted to: first traverse the spatial candidate block (B0-B1-B2) above the current image block, and then traverse the current image block The spatial candidate block on the left (A0-A1); or, first traverse the spatial candidate block (B0-B1) above the current image block, and then traverse the spatial candidate block (A0-A1) on the left of the current image block; or, first Traverse the spatial candidate block (A0-A1) on the left of the current image block, and then traverse the spatial candidate block (B0-B1) above the current image block.
- the first available motion information obtained can be determined as the motion information of the upper left corner of the current image block by traversing the motion information of positions A2, B2, and B3 in a certain order; It is possible to determine the first available motion information obtained as the motion information in the upper right corner of the current image block by traversing the motion information at positions B1 and B0 in a certain order; you can traverse the motion information at positions A0 and A1 in a certain order In the manner of motion information, the first available motion information obtained is determined as the motion information in the lower left corner of the current image block; the temporal motion information may be the temporal motion information at the position T.
- the default motion information (zero motion information) is used to make up.
- the construction of the motion information candidate list in the ATMVP mode is taken as an example.
- the motion information of the spatial candidate block B1 is checked whether it is available; if it is available, the motion information of B1 is used to construct the motion information candidate list; otherwise, the default motion information (such as zero motion Information) to construct the candidate list of motion information.
- the construction of the motion information candidate list based on the sub-block technology is taken as an example.
- the motion information candidate list based on the sub-block technology can be constructed , And mark the mode of each candidate motion information.
- the candidate motion information of the ATMVP merge mode may be determined first, and then, the candidate motion information of the affine merge mode may be determined.
- the motion information of B1 is directly used as the candidate motion information; if the motion information of B1 is not available, the default motion information (zero motion information) is used as the candidate motion information .
- the default motion information (zero motion information) is used to make up.
- the checking order of the spatial candidate block above the current image block is earlier than the current one.
- the check order of each spatial domain candidate block is: B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ (B2);
- the check order of each spatial candidate block is: B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ (B2);
- the check order of each spatial candidate block is: B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ B2;
- each spatial candidate block is: B0 ⁇ B1 ⁇ B2 ⁇ A0 ⁇ A1.
- the checking order of the spatial candidate block above the current image block is earlier than the current one.
- the check order of the spatial candidate block on the left side of the image block, and B2 may not be checked.
- the check order of each spatial domain candidate block is: B1 ⁇ A1 ⁇ A0 ⁇ B0;
- the check order of each spatial candidate block is: B1 ⁇ A1 ⁇ A0 ⁇ B0;
- the check order of each spatial candidate block is: B1 ⁇ A1 ⁇ A0 ⁇ B0;
- each spatial candidate block is: B0 ⁇ B1 ⁇ A0 ⁇ A1.
- B2 is not checked except for the image blocks in the merge mode described above, the image blocks in the IBC merge mode, the image blocks in the triangular prediction merge mode, and the image blocks in the affine merge mode.
- the image blocks in the IBC merge mode the image blocks in the triangular prediction merge mode
- the image blocks in the affine merge mode the image blocks in the affine merge mode.
- B2 may not be checked; for image blocks in the IBC merge mode, image blocks in the triangular prediction merge mode, and image blocks in the affine merge mode, B2 is checked.
- B2 may not be checked; for image blocks in the triangular prediction merge mode and image blocks in the affine merge mode, B2 is checked.
- the construction of the motion information candidate list in the AMVP mode is taken as an example.
- the inspection order of each spatial candidate block of the current image block is adjusted to: first traverse the spatial candidate block above the current image block, and then perform the spatial candidate block on the left of the current image block. Traverse.
- the check order for the spatial candidate block above the current image block may be B0 ⁇ B1 ⁇ B2;
- the check order for the spatial candidate block on the left side of the current image block can be A0 ⁇ A1.
- a usable motion information can be obtained; or, when the spatial candidate block above the current image block is traversed.
- the motion information of the block is available but not available, it is also necessary to traverse the scaled block (scaled B0) corresponding to B0, the scaled block (scaled B1) corresponding to B1, and the scaled block (scaled B2) corresponding to B2 to obtain a usable motion information; Or, when the motion information of the spatial candidate block above the current image block is not available, 0 available motion information is obtained.
- the construction of the motion information candidate list in the IBC AMVP mode is taken as an example.
- the traversal of the spatial candidate block above the current image block is performed first, and then the traversal of the spatial candidate block on the left side of the current image block is performed.
- the check order for the spatial candidate block above the current image block may be B0 ⁇ B1 ⁇ B2;
- the check order for the spatial candidate block on the left side of the current image block can be A0 ⁇ A1.
- the traversal of the spatial candidate block above the current image block is performed first, and then the traversal of the spatial candidate block on the left side of the current image block is performed.
- the check order for the spatial candidate block above the current image block may be B0 ⁇ B1 ⁇ B2;
- the check order for the spatial candidate block on the left side of the current image block can be A0 ⁇ A1.
- IBC merge mode IBC merge mode, triangle prediction merge mode, and affine merge mode
- the checking order of the spatial candidate block above the current image block is before the spatial domain to the left of the current image block Check order of candidate blocks.
- the check order of each spatial domain candidate block is: B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ (B2);
- the check order of each spatial candidate block is: B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ (B2);
- the check order of each spatial candidate block is: B1 ⁇ A1 ⁇ A0 ⁇ B0 ⁇ B2;
- each spatial candidate block is: B0 ⁇ B1 ⁇ B2 ⁇ A0 ⁇ A1.
- AMVP mode adjust the check order of each spatial candidate block of the current image block to: first traverse the spatial candidate block above the current image block in the order of B0 ⁇ B1 ⁇ B2, and then traverse the left of the current image block in the order of A0 ⁇ A1 Candidate block in the side space.
- a piece of usable motion information can be obtained; or, when the spatial candidate block above the current image block is When motion information is available but not available, it is also necessary to traverse the scaled block (scaled B0) corresponding to B0, the scaled block (scaled B1) corresponding to B1, and the scaled block (scaled B2) corresponding to B2 to obtain a piece of usable motion information; or, When the motion information of the spatial candidate block above the current image block is not available, 0 available motion information is obtained.
- the check order of each spatial candidate block of the current image block is adjusted to: first traverse the spatial candidate block above the current image block in the order of B0 ⁇ B1 ⁇ B2, and then follow the order of A0 ⁇ A1 Traverse the spatial candidate block on the left side of the current image block in the order of.
- the check order of each spatial candidate block of the current image block is adjusted as follows: first traverse the spatial candidate block above the current image block in the order of B0 ⁇ B1 ⁇ B2, and then follow A0 ⁇ The sequence of A1 traverses the spatial candidate block on the left side of the current image block.
- affine AMVP mode when traversing the motion information of the spatial candidate block, it is necessary to check whether the spatial candidate block is an affine block (Affine block), and whether there is affine motion information stored, if it is an affine block, and If affine motion information is stored, it is determined that the motion information of the spatial candidate block is available; otherwise, it is determined that the motion information of the spatial candidate block is not available.
- affine block affine block
- IBC merge mode IBC merge mode, triangle prediction merge mode, and affine merge mode, when checking each spatial domain candidate block of the current image block, B2 is not checked.
- the check order of each spatial domain candidate block is: A1 ⁇ B1 ⁇ B0 ⁇ A0;
- the check order of each spatial candidate block is: A1 ⁇ B1 ⁇ B0 ⁇ A0;
- the check order of each spatial candidate block is: A1 ⁇ B1 ⁇ B0 ⁇ A0;
- each spatial domain candidate block is: A0 ⁇ A1 ⁇ B0 ⁇ B1.
- a piece of available motion information can be obtained; or, when the spatial candidate block on the left of the current image block is When motion information is available but not available, it is necessary to traverse the scaled block (scaled A0) corresponding to A0 and the scaled block (scaled A1) corresponding to A1 to obtain a usable motion information; or, when the spatial candidate block on the left of the current image block When none of the sports information is available, 0 available sports information is obtained.
- the scaled block (scaled B0) corresponding to B0 and the scaling block corresponding to B1 are sequentially traversed Block (scaled B1) to get a piece of available motion information.
- the check order of each spatial candidate block of the current image block is: first traverse the spatial candidate block on the left of the current image block in the order of A0 ⁇ A1, and then traverse the sequence of B0 ⁇ B1 The spatial candidate block above the current image block.
- the check order of each spatial candidate block of the current image block is: first traverse the spatial candidate block to the left of the current image block in the order of A0 ⁇ A1, and then follow the order of B0 ⁇ B1 Traverse the spatial candidate block above the current image block.
- affine AMVP mode when traversing the motion information of the spatial candidate block, it is necessary to check whether the spatial candidate block is an affine block (Affine block), and whether there is affine motion information stored, if it is an affine block, and If affine motion information is stored, it is determined that the motion information of the spatial candidate block is available; otherwise, it is determined that the motion information of the spatial candidate block is not available.
- affine block affine block
- the motion information corresponding to the current image block is constructed based on the spatial candidate motion information
- the candidate list uses the feature that the motion information of the spatial candidate block above the current image block is finally selected as the predicted motion information, which is higher than the probability that the motion information of the left spatial candidate block is finally selected as the predicted motion information, reducing the index Encoding overhead improves encoding performance.
- the triangular prediction decoding method may include the following steps:
- Step S600 Analyze the division information of the triangle sub-blocks of the current image block.
- Step S610 Analyze the index value in the list of the motion information corresponding to the triangle sub-block of the current image block.
- Step S620 Perform sub-block division on the current image block based on the division information obtained by analysis.
- step S600 to step S620 may refer to the related description in the existing triangular prediction decoding process, and the details of the embodiment of the present application are not repeated here.
- the current image block can be divided into sub-blocks by dividing the current block according to a diagonal line (with an angle of 45 degrees from the horizontal to the right) or according to an oblique diagonal line (with a 135 degrees from the horizontal to the right) Angle direction) for sub-block division.
- Step S630 Construct a candidate list of motion information of the current image block.
- the motion information candidate list of the current image block may refer to the method for constructing the motion information candidate list in the triangular prediction merge mode described in any of the above method embodiments.
- the motion information candidate list of the current image block can refer to the method for constructing the motion information candidate list in the merge mode described in any one of the above method embodiments.
- a motion information candidate list construction method in a merge mode may be adopted. If a certain candidate motion information is two-way motion information, the forward motion information of the two-way motion information is used.
- a merge mode motion information candidate list construction method can be adopted. If a certain candidate motion information is two-way motion information, the forward motion information and backward motion information of the two-way motion information are used.
- a partial motion information candidate list in a merge mode may be used, and the partial motion information candidate list includes spatial candidate motion information and temporal candidate motion information. If a certain candidate motion information is two-way motion information, the forward motion information of the two-way motion information is used.
- a partial motion information candidate list in the merge mode may be adopted, and the partial motion information candidate list includes spatial candidate motion information and temporal candidate motion information. If a certain candidate motion information is two-way motion information, the forward motion information and backward motion information of the two-way motion information are used.
- a partial motion information candidate list in the merge mode may be used, and the partial motion information candidate list includes spatial candidate motion information. If a certain candidate motion information is two-way motion information, the forward motion information of the two-way motion information is used.
- a partial motion information candidate list in the merge mode may be adopted, and the partial motion information candidate list includes spatial candidate motion information. If a certain candidate motion information is two-way motion information, the forward motion information and backward motion information of the two-way motion information are used.
- Step S640 based on the index value obtained by analysis, obtain the motion information corresponding to the triangle sub-block of the current image block from the constructed motion information candidate list.
- Step S650 Based on the acquired motion information corresponding to the triangle sub-block of the current image block, perform motion compensation on the triangle sub-block of the current image block and its intermediate boundary sub-blocks to obtain predicted motion information of the current image block.
- step S640 to step S650 can refer to the related description in the existing triangular prediction decoding process, and the details of the embodiment of the present application are not repeated here.
- FIG. 7 is a schematic flowchart of an index encoding/decoding method provided by an embodiment of this application.
- the index encoding/decoding method may include the following steps:
- Step S700 Binarize the index of the mode of the motion information candidate to obtain a binarized codeword sequence.
- Step S710 Determine a context model that matches the shape of the current image block.
- Step S720 Encode/decode the first binary code value of the binary codeword sequence according to the context model.
- the index of the mode of the motion information candidate when the index of the mode of the motion information candidate needs to be encoded, the index of the mode of the motion information candidate needs to be binarized first to obtain the corresponding binary codeword sequence.
- the binarized codeword sequence number corresponding to the index of the traditional merge mode can be as shown in Table 1:
- CABAC Context-based Adaptive Binary Arithmetic Coding, context-based adaptive coding
- Binary arithmetic coding When encoding the first binary codeword sequence of the binary codeword sequence corresponding to the index of the motion information candidate's mode, if a fixed context model is used for encoding, the coding performance will be reduced.
- the matching context model can be determined according to the shape of the current image block, and the matching context model can be determined according to the determined context model.
- the first binary code value of the binary code word sequence is encoded/decoded.
- the shape of the foregoing current image block may be characterized by the aspect ratio of the current image block
- the foregoing determination of the context model matching the shape of the current image block may include:
- the aspect ratio of the current image block is less than 1, it is determined that the context model matching the shape of the current coding block is the second context model.
- the probability that B1 is finally selected as the predicted motion information is higher than the probability that A1 is finally selected as the predicted motion information. Therefore, when the current image block’s aspect ratio is When the aspect ratio is greater than or equal to 1, you can choose a context model with better performance when B1 is finally selected as the predicted motion information (referred to as the first context model in this article), and pair the two values according to the first context model The first binary code value of the code word sequence is encoded.
- the aspect ratio of the current image block is less than 1, the probability of A1 being selected as the predicted motion information is higher than the probability of B1 being selected as the predicted motion information. Therefore, when the aspect ratio of the current image block is less than 1, it is possible to Choose a context model with better performance when A1 is finally selected as the predictive motion information (referred to as the second context model in this article), and compare the first two of the binarized codeword sequence according to the second context model Encode/decode the value of the code.
- FIG. 8 is a schematic flowchart of an index encoding/decoding method provided by an embodiment of this application.
- the index encoding/decoding method may include the following steps:
- Step S800 Binarize the index of the motion information candidate's mode according to the shape of the current image block to obtain a binarized codeword sequence.
- Step S810 Determine the context model.
- Step S820 encoding/decoding the first binarization code value of the determined binarization codeword sequence according to the determined context model.
- the index of the mode of the motion information candidate when the index of the mode of the motion information candidate needs to be encoded, the index of the mode of the motion information candidate needs to be binarized first to obtain the corresponding binary codeword sequence.
- the candidate motion information that is finally selected as the predicted motion information will be different. Therefore, a fixed binary codeword is used for the index of the motion information candidate's mode Sequence will reduce coding performance.
- the index of the mode of the motion information candidate may be binarized according to the shape of the current image block.
- the state of the foregoing current image block may be characterized by the aspect ratio of the current image block
- the foregoing binarization of the index of the motion information candidate's mode according to the shape of the current image block may include:
- the index of the motion information candidate's mode is binarized according to the first binarization mode; where the second index in the first binarization mode corresponds to 1 bit Binary codeword sequence;
- the index of the motion information candidate's mode is binarized according to the second binarization mode; wherein, the first index in the second binarization mode corresponds to 1 bit 2 Valued codeword sequence.
- the probability that B1 is finally selected as the predicted motion information is higher than the probability that A1 is finally selected as the predicted motion information. Therefore, when the current image block’s aspect ratio is When the aspect ratio is greater than or equal to 1, you can choose a binarization method in which the second index corresponds to a 1-bit binarization codeword sequence (referred to as the first binarization method in this article) for the motion information candidate's mode The index is binarized.
- the aspect ratio of the current image block is less than 1, the probability of A1 being selected as the predicted motion information is higher than the probability of B1 being selected as the predicted motion information. Therefore, when the aspect ratio of the current image block is less than 1, it is possible to A binarization method in which the first index corresponds to a 1-bit binarized codeword sequence (herein referred to as the second binarization method) is selected to binarize the index of the motion information candidate pattern.
- the corresponding relationship between the index of the motion information candidate mode and the binarization codeword sequence in the first binarization mode and the second binarization mode can be as shown in Table 2:
- the index of the motion information candidate's mode is binarized according to the shape of the currently encoded image block, and after the binarized codeword sequence is obtained, the context model can be determined, and the context model can be determined according to the determined context model.
- the first binary code value of the obtained binary code word sequence is encoded/decoded.
- FIG. 9 is a schematic diagram of the hardware structure of an apparatus for constructing a motion information candidate list provided by an embodiment of this application.
- the apparatus for constructing a motion information candidate list may include a processor 901, a communication interface 902, a memory 903, and a communication bus 904.
- the processor 901, the communication interface 902, and the memory 903 communicate with each other through the communication bus 904.
- a computer program is stored in the memory 903; the processor 901 can implement the method for constructing a motion information candidate list described above by executing the program stored in the memory 903.
- the memory 903 mentioned herein may be any electronic, magnetic, optical or other physical storage device, and may contain or store information, such as executable instructions, data, and so on.
- the memory 902 may be: RAM (Radom Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard drives), solid state drives, and any type of storage disks (such as optical disks). , DVD, etc.), or similar storage media, or a combination of them.
- the aforementioned motion information candidate list construction device may include: a first determination unit 1010, a second determination unit 1020, and a construction unit 1030; wherein:
- the first determining unit 1010 is configured to determine the inspection order of each spatial candidate block of the current image block; wherein the inspection order of the spatial candidate block above the current image block has priority over the inspection order of the left spatial candidate block of the current image block;
- the second determining unit 1020 is configured to determine candidate motion information in the spatial domain according to the inspection sequence
- the constructing unit 1030 is configured to construct a candidate list of motion information corresponding to the current image block according to the candidate motion information in the spatial domain.
- the first determining unit 1010 is specifically configured to determine the prediction mode of the current image block; and determine the check order of each spatial candidate block of the current image block according to the prediction mode.
- the check order includes at least the traversal order of 4 spatial candidate blocks
- the traversal order of the 4 spatial domain candidate blocks is located before the fifth spatial domain candidate block, and the fifth spatial domain candidate block is a replacement spatial domain candidate block;
- the four spatial candidate blocks include a first spatial candidate block, a second spatial candidate block, a third spatial candidate block, and a fourth spatial candidate block, wherein the first spatial candidate block is the leftmost candidate block of the current image block.
- the spatial neighboring block below, the second spatial candidate block is the rightmost spatial neighboring block above the current image block, and the third spatial candidate block is the spatial neighboring block closest to the upper right corner of the current image block,
- the fourth spatial candidate block is a spatial neighboring block closest to the lower left corner of the current image block
- the fifth spatial candidate block is a spatial neighboring block closest to the upper left corner of the current image block.
- the traversal order of the four spatial domain candidate blocks is a first traversal order
- the first traversal order is to sequentially traverse the second spatial candidate block, the first spatial candidate block, so The fourth spatial candidate block and the third spatial candidate block.
- the construction unit 1030 is specifically configured to, when the prediction mode is the merge mode, according to the candidate motion information in the spatial domain, the candidate motion information in the time domain, and the previously encoded/decoded information of the current image block The motion information of the block constructs a motion information candidate list corresponding to the current image block.
- the construction unit 1030 is further configured to weight the existing motion information in the motion information candidate list; add the weighted motion information as candidate motion information to the motion of the current image block Information candidate list.
- the construction unit 1030 is specifically configured to, when the prediction mode is the IBC merge mode, according to the spatial candidate motion information and the motion information of the encoded/decoded block before the current image block, Constructing a candidate list of motion information corresponding to the current image block.
- the construction unit 1030 is further configured to weight the existing motion information in the motion information candidate list; add the weighted motion information as candidate motion information to the motion of the current image block Information candidate list.
- the check sequence includes the traversal sequence of 5 spatial domain candidate blocks
- the 5 spatial candidate blocks include a first spatial candidate block, a second spatial candidate block, a third spatial candidate block, a fourth spatial candidate block, and a fifth spatial candidate block
- the first spatial candidate block is The lowermost spatial adjacent block on the left side of the current image block
- the second spatial candidate block is the rightmost spatial adjacent block above the current image block
- the third spatial candidate block is the closest to the upper right corner of the current image block
- the fourth spatial candidate block is the nearest spatial neighbor block to the lower left corner of the current image block
- the fifth spatial candidate block is the nearest spatial neighbor block to the upper left corner of the current image block.
- the traversal order of the 5 spatial domain candidate blocks is the second traversal order
- the second traversal order is to sequentially traverse the second spatial domain.
- the constructing unit 1030 is specifically configured to construct the motion information corresponding to the current image block according to the candidate motion information in the spatial domain and the candidate motion information in the temporal domain when the prediction mode is a triangular prediction merge mode Candidate list
- the forward motion information or/and the backward motion information of the two-way motion information is added to the motion information candidate list.
- the construction unit 1030 is specifically configured to, when the prediction mode is a triangular prediction merge mode, according to the candidate motion information in the spatial domain, the candidate motion information in the time domain, and the previously coded/ Decoding the motion information of the block to construct a candidate list of motion information corresponding to the current image block;
- the forward motion information or/and the backward motion information of the two-way motion information is added to the motion information candidate list.
- the construction unit 1030 is further configured to obtain the first two candidate motion information in the motion information candidate list; weighted candidate motion information obtained by weighting the first two candidate motion information Join the candidate list of motion information.
- each candidate motion information in the motion information candidate list is in the order of one-way motion information, forward motion information of two-way motion information, backward motion information of two-way motion information, and weighted candidate motion information. Sort.
- the traversal order of the 5 spatial domain candidate blocks is the third traversal order
- the third traversal order is to sequentially traverse the third spatial candidate block , The second spatial domain candidate block, the fifth spatial candidate block, the fourth spatial candidate block and the first spatial candidate block.
- the constructing unit 1030 is configured to obtain the first type candidate motion information based on the spatial domain candidate motion information mapping calculation when the prediction mode is the affine merge mode, and combine the first type The candidate motion information is added to the motion information candidate list; based on the combination of two or three combinations of the motion information in the upper left corner, the motion information in the upper right corner, the motion information in the lower left corner, and the temporal motion information of the current image block Performing mapping calculation to obtain second-type candidate motion information, and adding the second-type candidate motion information to the motion information candidate list.
- the check order includes a traversal order of 1 spatial domain candidate block
- the one spatial candidate block includes a second spatial candidate block.
- the construction unit 1030 is configured to construct a motion information candidate list based on sub-block technology based on the candidate motion information of the ATMVP merge mode and the candidate motion information of the affine merge mode, and mark the candidate motion information of each candidate. mode.
- the construction unit 1030 is configured to construct a motion information candidate list based on sub-block technology based on the candidate motion information of the ATMVP merge mode;
- the candidate motion information of the affine merge mode is added to the sub-block technology-based motion information candidate list.
- the check order includes the traversal order of 4 spatial candidate blocks; or,
- the check sequence includes the traversal sequence of 4 spatial candidate blocks; or,
- the check order includes the traversal order of 4 spatial candidate blocks; or,
- the check sequence includes the traversal sequence of 4 spatial candidate blocks
- the four spatial candidate blocks include a first spatial candidate block, a second spatial candidate block, a third spatial candidate block, and a fourth spatial candidate block, wherein the first spatial candidate block is the leftmost candidate block of the current image block.
- the spatial neighboring block below, the second spatial candidate block is the rightmost spatial neighboring block above the current image block, and the third spatial candidate block is the spatial neighboring block closest to the upper right corner of the current image block,
- the fourth spatial candidate block is a spatial neighboring block closest to the lower left corner of the current image block.
- the traversal order of the 4 spatial domain candidate blocks is the first traversal order
- the traversal order of the 4 spatial domain candidate blocks is the first traversal order; or,
- the traversal order of the 4 spatial domain candidate blocks is the first traversal order; or,
- the traversal order of the 4 spatial domain candidate blocks is the fourth traversal order
- the fourth traversal order is to sequentially traverse the third spatial candidate block, the second spatial candidate block, and the third spatial candidate block.
- the inspection sequence includes at least a fifth traversal sequence and a sixth traversal sequence; the fifth traversal sequence is used for Perform traversal of the upper spatial domain candidate block of the current image block, the sixth traversal sequence is used to traverse the left spatial candidate block of the current image block;
- the upper spatial candidate block includes: a third spatial candidate block, a second spatial domain A candidate block and a fifth spatial candidate block;
- the left spatial candidate block includes: a fourth spatial candidate block and a first spatial candidate block;
- the fifth traversal sequence is to sequentially traverse the third spatial candidate block, the second spatial candidate block, and the fifth spatial candidate block;
- the sixth traversal sequence is to sequentially traverse the fourth spatial candidate block and the first spatial candidate block.
- the second determining unit 1020 is specifically configured to first traverse the upper spatial domain candidate block according to the fifth traversal order, and then traverse the left spatial domain candidate block according to the sixth traversal order, To determine the candidate motion information.
- the second determining unit 1020 is specifically configured to sequentially traverse the upper spatial domain candidate block according to the fifth traversal sequence when the prediction mode is the AMVP mode to obtain a piece of usable motion information; or ,
- the second determining unit 1020 is specifically configured to, when the prediction mode is the AMVP mode, sequentially traverse the left spatial domain candidate block according to the sixth traversal order, and traverse a piece of available motion information Or 0 available sports information;
- the second determining unit 1020 is specifically configured to sequentially traverse the upper spatial domain candidate blocks according to the fifth traversal sequence when the prediction mode is the IBC AMVP mode, and traverse a piece of available motion information Or 0 available exercise information.
- the second determining unit 1020 is specifically configured to, when the prediction mode is the IBC AMVP mode, sequentially traverse the left-side spatial candidate block according to the sixth traversal order, and traverse a usable motion Information or 0 available sports information.
- the check order is the third traversal order.
- FIG. 11 is a schematic diagram of the hardware structure of a triangular predictive decoding apparatus provided by an embodiment of this application.
- the triangle prediction decoding apparatus may include a processor 1101, a communication interface 1102, a memory 1103, and a communication bus 1104.
- the processor 1101, the communication interface 1102, and the memory 1103 communicate with each other through the communication bus 1104.
- a computer program is stored on the memory 1103; the processor 1101 can implement the triangular prediction decoding method described above by executing the program stored on the memory 1103.
- the memory 1103 mentioned herein can be any electronic, magnetic, optical or other physical storage device, and can contain or store information, such as executable instructions, data, and so on.
- the memory 1102 can be: RAM (Radom Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard drives), solid state drives, and any type of storage disks (such as optical disks). , DVD, etc.), or similar storage media, or a combination of them.
- the above-mentioned triangular prediction decoding apparatus may include: an analysis unit 1210, a division unit 1220, a construction unit 1230, an acquisition unit 1240, and a prediction unit 1250; among them:
- the parsing unit 1210 is used to analyze the division information of the triangle sub-block of the current image block
- the parsing unit 1210 is further configured to analyze the index value in the list of the motion information corresponding to the triangle sub-block of the current image block;
- a dividing unit 1220 configured to divide the current image block into sub-blocks based on the division information
- the constructing unit 1230 is configured to construct the motion information candidate list of the current image block; where the construction of the motion information candidate list can refer to the related description in the method embodiment shown in FIG. 6;
- the obtaining unit 1240 is configured to obtain the motion information corresponding to the triangle sub-block of the image block from the motion information candidate list based on the index value;
- the prediction unit 1250 is configured to perform motion compensation on the triangle sub-block of the current image block and its intermediate boundary sub-blocks based on the motion information corresponding to the triangle sub-block of the image block to obtain the predicted motion information of the current image block .
- the index encoding/decoding apparatus may include a processor 1301, a communication interface 1302, a memory 1303, and a communication bus 1304.
- the processor 1301, the communication interface 1302, and the memory 1303 communicate with each other through the communication bus 1304.
- a computer program is stored in the memory 1303; the processor 1301 can implement the index encoding/decoding method described above by executing the program stored in the memory 1303.
- the memory 1303 mentioned herein may be any electronic, magnetic, optical or other physical storage device, and may contain or store information, such as executable instructions, data, and so on.
- the memory 1302 may be: RAM (Radom Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard drives), solid state drives, and any type of storage disks (such as optical disks). , DVD, etc.), or similar storage media, or a combination of them.
- the above-mentioned index encoding/decoding apparatus may include: a binarization unit 1410, a determination unit 1420, and an encoding/decoding unit 1430; wherein:
- the binarization unit 1410 is configured to binarize the index of the mode of the motion information candidate to obtain a binarized codeword sequence
- the determining unit 1420 is configured to determine a context model that matches the shape of the current image block
- the encoding/decoding unit 1430 is configured to encode/decode the first binary code value of the binary codeword sequence according to the context model.
- FIG. 15 is a schematic diagram of the hardware structure of an index encoding/decoding apparatus provided by an embodiment of this application.
- the index encoding/decoding apparatus may include a processor 1501, a communication interface 1502, a memory 1503, and a communication bus 1504.
- the processor 1501, the communication interface 1502, and the memory 1503 communicate with each other through the communication bus 1504.
- a computer program is stored on the memory 1503; the processor 1501 can implement the index encoding/decoding method described above by executing the program stored on the memory 1503.
- the memory 1503 mentioned herein may be any electronic, magnetic, optical or other physical storage device, and may contain or store information, such as executable instructions, data, and so on.
- the memory 1502 may be: RAM (Radom Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard drives), solid state drives, and any type of storage disks (such as optical disks). , DVD, etc.), or similar storage media, or a combination of them.
- the above index encoding/decoding apparatus may include: a binarization unit 1610, a determination unit 1620, and an encoding/decoding unit 1630; among them:
- the binarization unit 1610 is configured to binarize the index of the motion information candidate's mode according to the shape of the current image block to obtain a binarized codeword sequence
- the determining unit 1620 is used to determine the context model
- the encoding/decoding unit 1630 is configured to encode/decode the first binary code value of the binary codeword sequence according to the context model.
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
本申请提供一种运动信息候选者列表构建方法及装置,该方法包括:确定当前图像块的各空域候选块的检查顺序;其中,当前图像块的上方空域候选块的检查顺序优于当前图像块的左侧空域候选块的检查顺序;根据所述检查顺序,确定空域候选运动信息;根据所述空域候选运动信息,构建所述当前图像块对应的运动信息候选者列表。该方法可以减少编码消耗,提高编码性能。
Description
本申请涉及视频编解码技术,尤其涉及一种运动信息候选者列表构建方法及装置。
帧间预测是指利用视频时域的相关度,使用邻近已编码/解码图像像素预测当前图像的像素,以达到有效去除视频时域冗余的目的。
目前,主要的视频编解码标准的帧间预测均采用基于块的运动补偿技术,其主要原理是为当前图像的每一个像素块在之前的已编码/解码图像中寻找一个最佳匹配块,该过程称为运动估计(Motion Estimation,简称ME)。其中用于预测的图像称为参考图像(Reference Frame),参考块到当前像素块的位移称为运动矢量(Motion Vector,简称MV),当前像素块与参考块的差值称为预测残差(Prediction Residual)。
由于空域相邻块的运动信息具有较强的相关度,同时运动信息在时域上也有一定的相关度,因此,若利用空域或者时域上相邻块的运动信息对当前块的运动信息进行预测,得到预测像素值,则仅需要对残差进行编解码,可以大幅度的节省运动信息的编解码比特数。通过编解码端构建相同的运动信息候选者列表,不需要直接编解码运动信息,仅需要编解码最终选择的候选者列表中的序号(例如Merge_idx)就可以表达运动信息,从而大幅度减少编解码比特数。
为了利用相邻块的空域相关度和时域相关度,目前的视频编解码标准在运动信息的预测方面提出了合并(Merge)技术、高级运动矢量预测(Advanced Motion Vector Prediction,简称AMVP)技术、可选时域运动矢量预测(Alternative temporal motion vector prediction,简称ATMVP)技术、三角预测(Triangle prediction)技术、帧内块复制(Intra Block Copy,IBC)技术以及仿射(Affine)技术。其均使用空域运动信息预测、或者空域和时域运动信息预测的思想,通过建立运动信息候选者列表,并按照预设规则从列表中择取最优的一个候选者作为当前单元的预测信息。
然而实践发现,目前的视频编解码标准中的运动信息预测方案中,在构建运动信息候选者列表时,被选为最终的预测运动信息的候选运动信息对应的索引号往往并不是位数最少的,导致编解码索引的开销较大,降低了视频编解码性能。
发明内容
有鉴于此,本申请提供一种运动信息候选者列表构建方法及装置。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种运动信息候选者列表构建方法,包括:
确定当前图像块的各空域候选块的检查顺序;其中,当前图像块的上方空域候选块的检查顺序优先于当前图像块的左侧空域候选块的检查顺序;
根据所述检查顺序,确定空域候选运动信息;
根据所述空域候选运动信息,构建所述当前图像块对应的运动信息候选者列表。
根据本申请实施例的第二方面,提供一种三角预测解码方法,包括:
解析当前图像块的三角子块的划分信息;
解析所述当前图像块的三角子块对应的运动信息在列表中的索引值;
基于所述划分信息对所述当前图像块进行子块划分;
构建所述当前图像块的运动信息候选者列表;其中,所述运动信息候选者列表按照上述运动信息候选者列表构建方法构建;
基于所述索引值,从所述运动信息候选者列表中获取所述图像块的三角子块对应的运动信息;
基于所述图像块的三角子块对应的运动信息,对所述当前图像块的三角子块,及其中间交界子块,进行运动补偿,获得当前图像块的预测运动信息。
根据本申请实施例的第三方面,提供一种索引编码/解码方法,包括:
对运动信息候选者的模式的索引进行二值化,以得到二值化码字序列;
确定与当前图像块的形状匹配的上下文模型;
根据所述上下文模型对所述二值化码字序列的第一个二值化码值进行编码/解码。
根据本申请实施例的第四方面,提供一种索引编码/解码方法,包括:
根据当前图像块的形状对运动信息候选者的模式的索引进行二值化,以得到二值化码字序列;
确定上下文模型;
根据所述上下文模型对所述二值化码字序列的第一个二值化码值进行编码/解码。
根据本申请实施例的第五方面,提供一种运动信息候选者列表构建装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;所述存储器存放有计算机程序,所述处理器被所述计算机程序促使:
确定当前图像块的各空域候选块的检查顺序;其中,当前图像块的上方空域候选块的检查顺序优先于当前图像块的左侧空域候选块的检查顺序;
根据所述检查顺序,确定空域候选运动信息;
根据所述空域候选运动信息,构建所述当前图像块对应的运动信息候选者列表。
根据本申请实施例的第六方面,提供一种三角预测解码装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;所述存储器存放有计算机程序,所述处理器被所述计算机程序促使:
解析当前图像块的三角子块的划分信息;
解析所述当前图像块的三角子块对应的运动信息在列表中的索引值;
基于所述划分信息对所述当前图像块进行子块划分;
构建所述当前图像块的运动信息候选者列表;其中,所述运动信息候选者列表按照第一方面提供的运动信息候选者列表构建方法构建;
基于所述索引值,从所述运动信息候选者列表中获取所述图像块的三角子块对应的运动信息;
基于所述图像块的三角子块对应的运动信息,对所述当前图像块的三角子块,及其中间交界子块,进行运动补偿,获得当前图像块的预测运动信息。
根据本申请实施例的第七方面,提供一种索引编码/解码装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;所述存储器存放有计算机程序,所述处理器被所述计算机程序促使:
对运动信息候选者的模式的索引进行二值化,以得到二值化码字序列;
确定与当前图像块的形状匹配的上下文模型;
根据所述上下文模型对所述二值化码字序列的第一个二值化码值进行编码/解码。
根据本申请实施例的第八方面,提供一种索引编码/解码装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;所述存储器存放有计算机程序,所述处理器被所述计算机程序促使:
根据当前图像块的形状对运动信息候选者的模式的索引进行二值化,以得到二值化码字序列;
确定上下文模型;
根据所述上下文模型对所述二值化码字序列的第一个二值化码值进行编码/解码。
本申请实施例的运动信息候选者列表构建方法,通过确定当前图像块的各空域候选块的检查顺序,并根据所确定的检查顺序,确定空域候选运动信息,进而,根据空域候选运动信息,构建当前图像块对应的运动信息候选者列表,利用当前图像块的上方空域候选块的运动信息最终被选中为预测运动信息的概率高于左侧空域候选块的运动信息最终被选中为预测运动信息的概率的特点,减少了索引编码开销,提高了编码性能。
图1A~1B是本申请示例性实施例示出的块划分的示意图;
图2是本申请一示例性实施例示出的一种三角预测的候选信息位置示意图;
图3是本申请一示例性实施例示出的一种运动信息候选者列表构建方法的流程示意图;
图4是本申请一示例性实施例示出的各空域候选块与当前数据块的位置关系的示意图;
图5A是本申请一示例性实施例示出一种空域候选块的检查顺序的示意图;
图5B是本申请一示例性实施例示出的一种仿射模式的相邻块的示意图;
图5C是本申请一示例性实施例示出的一种已编码/解码运动信息列表的更新示意图;
图6是本申请一示例性实施例示出的一种三角预测解码方法的流程示意图;
图7是本申请一示例性实施例示出的一种索引编码/解码方法的流程示意图;
图8是本申请一示例性实施例示出的一种索引编码/解码方法的流程示意图;
图9是本申请一示例性实施例示出的一种运动信息候选者列表构建装置的硬件结构示意图;
图10是本申请一示例性实施例示出的一种运动信息候选者列表构建装置的结构示意图;
图11是本申请一示例性实施例示出的一种三角预测解码装置的硬件结构示意图;
图12是本申请一示例性实施例示出的一种三角预测解码装置的结构示意图;
图13是本申请一示例性实施例示出的一种索引编码/解码装置的硬件结构示意图;
图14是本申请一示例性实施例示出的一种索引编码/解码装置的结构示意图;
图15是本申请一示例性实施例示出的一种索引编码/解码装置的硬件结构示意图;
图16是本申请一示例性实施例示出的一种索引编码/解码装置的结构示意图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对现有视频编码标准中块划分技术进行简单说明。
在HEVC中,一个CTU(Coding Tree Unit,编码树单元)使用四叉树递归划分成CU(Coding Unit,编码单元)。在叶子节点CU确定是否使用帧内编码或者帧间编码。CU可以进一步划分成两个或者四个PU(Prediction Unit,预测单元),同一个PU内使用相同的预测信息。在预测完成后得到残差信息后,一个CU可进一步使用四叉树划分成多个TU(Transform Units)。例如,本申请中的当前图像块即为一个PU。
但是在最新提出的VVC(Versatile Video Coding,通用视频编码)中,块划分技术有了较大变化。一种混合了二叉树/三叉树/四叉树的划分结构取代了原先的划分模式,取消了原先CU,PU,TU的概念的区分,支持了CU的更灵活的划分方式。其中,CU可以是正方形也可以是矩形划分。CTU首先进行四叉树的划分,然后四叉树划分的叶子节点可以进一步进行二叉树和三叉树的划分。图1A所示,CU共有五种划分类型,分别为四叉树划分,水平二叉树划分,垂直二叉树划分,水平三叉树划分和垂直三叉树划分。如图1B所示,一种CTU内的CU划分可以是上述五种划分类型的任意组合。由上可知,不同的划分方式,使得各个PU的形状有所不同,如不同尺寸的矩形,正方形。
对本公开中的预测模式进行如下介绍:
1、合并模式
H265/HEVC在运动信息预测方面提出了合并技术(Merge模式的运动信息预测)和AMVP技术(即AMVP模式的运动信息预测)。两者均使用了空域和时域运动信息预测的思想,通过建立候选运动信息列表,基于率失真代价择取最优的一个运动信息候选者作为当前图像块的预测运动信息。
Merge模式下,当前图像块的运动信息直接基于空域或者时域上相邻的数据块的运动信息预测得到,不存在运动矢量差(Motion Vector Difference,MVD);若编解码端依照一样的方式构建运动信息候选者列表,则编码器只需要传输预测运动信息在运动信息候选者列表中的索引即可,这样可以大幅度节省了运动信息的编码比特数。
2、AMVP模式
AMVP模式的运动信息预测也是利用空域和时域上相邻数据块的运动信息的相关性,为当前图像块建立运动信息候选者列表。编码器从中选出最优的预测运动信息,并对选出的预测运动信息进行差分编码;解码端通过建立相同的运动信息候选者列表,仅需要运动矢量残差和预测运动信息在该列表中的序号就可以计算出当前图像块的运动信息;其中,AMVP模式下的运动信息候选者列表的长度为2。
3、Affine Merge模式
Affine模式是H.266新引进的帧间预测模式,针对旋转,缩放的场景有很好的预测效果。
JEM中Affine模式分为两种,一种是Affine Inter,一种是Affine Merge。Affine Merge通过遍历候选图像块找到第一个是Affine模式编码的候选者即可。对于AF_MERGE方式无需传输一些额外的索引值,只需传输是否使用Affine Merge的Flag即可。
4、ATMVP模式
ATMVP技术是一种基于子块的预测技术,通过空域运动信息确定初始运动信息,以找到参考帧中的对应块;将对应块划分为子块,并将每一个子块的运动信息映射为当前子块的运动信息。
5、三角预测
VVC中采用了三角预测技术,三角预测中将一个块划分成两个三角子块,这两个三角子块拥有不同的单向运动信息;其中,三角预测模式仅用于Merge/Skip模式,且用于预测过程,不影响后续的变换、量化过程。
三角预测模式设计了新的运动信息候选者列表,该运动信息候选者列表可以包括五个单向运动信息,候选运动信息可以从图2所示位置1~5的空域相邻块的运动信息,以及位置6和7的时域相邻块的运动信息中获取。通过收集这7个位置的可用运动信息,按照一定规则排序构建单向的运动信息列表。
在三角预测模式中,当获取到的候选运动信息数目小于5个时,可以使用零运动信息填充。
6、IBC预测
IBC预测是一种块拷贝技术,在同一帧内找到当前块的对应块,将该对应块的运动 信息作为当前块的运动信息的预测信息;其中,IBC预测支持IBC合并模式和IBC AMVP模式。类似于常规(Regular)的合并模式和AMVP模式,均需要使用空域相邻块的运动信息作为候选者信息。
为了使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
需要说明的是,本文中所描述的运动信息候选者列表构建方法可以应用于编码端设备,也可以应用于解码端设备。
当应用于编码端设备时,本文中所描述的当前图像块为编码块,已编码/解码块指代已编码块。
当应用于解码端设备时,本文中所描述的当前图像块为解码块,已编码/解码块指代已解码块,本文后续不再复述。
请参见图3,为本申请实施例提供的一种运动信息候选者列表构建方法的流程示意图,如图3所示,该运动信息候选者选择列表构建方法可以包括以下步骤:
步骤S300、确定当前图像块的各空域候选块的检查顺序;其中,当前图像块的上方空域候选块的检查顺序优先于当前图像块的左侧空域候选块的检查顺序。
本申请实施例中,考虑到运动信息候选者列表中空域运动信息候选者的顺序与构建运动信息候选者列表时对当前图像块的空域候选块的检查顺序有关,且运动信息候选者列表中最终选中的预测运动信息在运动信息候选者中排序靠前时,可以减少进行索引值编码时所需比特位,提高视频编码的性能;此外,在进行运动信息预测时,运动信息候选者列表中最终选中的预测运动信息在运动信息候选者列表中排序靠前时可以减少进行预测运动信息选择的消耗,即在同样编码索引的消耗下,将相关度高的排在前面有利于提高视频编码的性能,因此,在构建运动信息候选者列表时,可以优先检查被选为预测运动信息的概率更高的空域候选块。
相应地,在本申请实施例中,确定当前图像块的各空域候选块的检查顺序时,可以将当前图像块的上方空域候选块的检查顺序确定为优先于当前图像块的左侧空域候选块的检查顺序。
在本申请的一种可能的实施方式中,上述确定当前图像块的各空域候选块的检查顺序,可以包括:
确定当前图像块的预测模式;
根据预测模式确定当前图像块的各空域候选块的检查顺序。
在该实施方式中,考虑到不同预测模式下,最终选为预测运动信息的候选运动信息可能会不同,因此,为了提高所确定的空域候选块的检查顺序的合理性,提高编码性能,可以结合当前图像块的预测模式确定当前图像块的各空域候选块的检查顺序。
在该实施方式的一个实施例中,上述根据预测模式确定当前图像块的各空域候选块的检查顺序,可以包括:
当当前图像块的预测模式为合并模式、IBC合并模式、仿射合并模式或三角预测合并模式时,当前图像块的各空域候选块的检查顺序至少可以包括4个空域候选块的遍历 次序;该4个空域候选块的遍历次序位于第五空域候选块之前,第五空域候选块为替补空域候选块。
示例性的,上述4个空域候选块可以包括第一空域候选块、第二空域候选块、第三空域候选块和第四空域候选块。
以图4为例,在本申请实施例中,第一空域候选块(下文中称为A1)为当前图像块左侧最下方的空域相邻块;第二空域候选块(下文中称为B1)为当前图像块上侧最右侧的空域相邻块;第三空域候选块(下文中称为B0)为与当前图像块右上角距离最近的空域相邻块;第四空域候选块(下文中称为A0)为与当前图像块的左下角距离最近的空域相邻块;第五空域候选块(下文中称为B2)为与当前图像块左上角距离最近的空域相邻块。
作为一种示例,上述4个空域候选块的遍历次序为第一遍历顺序,该第一遍历顺序为依次遍历所述第二空域候选块,所述第一空域候选块,所述第四空域候选块和所述第三空域候选块(可以描述为B1→A1→A0→B0)。
即在该示例中,空域候选块的遍历次序可以为B1→A1→A0→B0→(B2),B2为替补空域候选块。
示例性的,替补空域候选块可以在至少一个空域候选块的运动信息不可获取时进行检查。
在该实施例中,考虑到对于合并模式、IBC合并模式、仿射合并模式以及三角预测合并模式,空域最多提供4个候选运动信息,因此,进行空域候选块检查时,可以至少遍历4个空域候选块,并将第5个空域候选块作为替补空域候选块,在至少一个空域候选块的运动信息不可获取时检查替补空域候选块。
而考虑到合并模式、IBC合并模式、仿射合并模式以及三角预测合并模式,B1最终被选中预测运动信息的概率高于A1最终被选中预测运动信息的概率,且B2最终被选中预测运动信息的概率低于其余4个空域候选块最终被选中预测运动信息的概率,因此,在确定空域候选块的检查顺序时,可以将B1的检查顺序确定为先于A1检查,并将B2确定为替补空域候选块。
在该实施方式的另一个实施例中,上述根据预测模式确定当前图像块的各空域候选块的检查顺序,可以包括:
当当前图像块的预测模式为三角预测合并模式或仿射合并模式时,当前图像块的各空域候选块的检查顺序可以包括5个空域候选块的遍历次序;
示例性的,5个空域候选块包括第一空域候选块、第二空域候选块、第三空域候选块、第四空域候选块和第五空域候选块。
作为一种示例,当当前图像块的预测模式为三角预测合并模式时,上述5个空域候选块的遍历顺序为第二遍历顺序,该第二遍历顺序为依次遍历第二空域候选块、第一空域候选块、第四空域候选块、第三空域候选块和第五空域候选块(可以描述为B1→A1→A0→B0→B2)。
作为另一种示例,当当前图像块的预测模式为仿射合并模式时,上述5个空域候选块的遍历顺序为第三遍历顺序,该第三遍历顺序为依次遍历第三空域候选块、第二空域 候选块、第五空域候选块、第四空域候选块和第一空域候选块(可以描述为B0→B1→B2→A0→A1)。
在该实施方式的又一个实施例中,上述根据预测模式确定当前图像块的各空域候选块的检查顺序,可以包括:
当当前图像块的预测模式为ATMVP合并模式时,当前图像块的各空域候选块的检查顺序包括1个空域候选块的遍历次序;
示例性的,上述1个空域候选块包括第二空域候选块,如图4中的B1。
在该实施例中,考虑到ATMVP为基于子块的预测技术,且其在进行预测编码时,仅需参考找到的第一个可用的空域候选块的运动信息。因此,为了提高ATMVP合并模式的编码性能,可以进行空域候选运动信息查找时,可以仅检查空域候选块B1。
在该实施方式的又一个实施例中,上述根据预测模式确定当前图像块的各空域候选块的检查顺序,可以包括:
当当前图像块的预测模式为合并模式时,当前图像块的各空域候选块的检查顺序包括4个空域候选块的遍历次序;或,
当当前图像块的预测模式为IBC合并模式时,当前图像块的各空域候选块的检查顺序包括4个空域候选块的遍历次序;或,
当当前图像块的预测模式为三角预测合并模式时,当前图像块的各空域候选块的检查顺序包括4个空域候选块的遍历次序;或,
当当前图像块的预测模式为仿射合并模式时,当前图像块的各空域候选块的检查顺序包括4个空域候选块的遍历次序;
示例性的,上述4个空域候选块包括第一空域候选块、第二空域候选块、第三空域候选块和第四空域候选块。
在该实施例中,考虑到在合并模式、IBC合并模式、三角预测合并模式以及仿射合并模式下,B2最终选为预测运动信息的概率低于其余4个空域候选块,因此,为了提高编码性能,在确定空域候选运动信息时,可以仅对B0、B1、A0和A1这4个空域候选块进行检查。
作为一种示例,当当前图像块的预测模式为合并模式时,上述4个空域候选块的遍历次序为第一遍历顺序;或,
当当前图像块的预测模式为IBC合并模式时,上述4个空域候选块的遍历次序为第一遍历顺序;或,
当当前图像块的预测模式为三角预测合并模式时,上述4个空域候选块的遍历次序为第一遍历顺序;或,
当当前图像块的预测模式为仿射合并模式时,上述4个空域候选块的遍历次序为第四遍历顺序,该第四遍历顺序为依次遍历第三空域候选块、第二空域候选块、第四空域候选块和第一空域候选块。
在该示例中,考虑到在合并模式、IBC合并模式、三角预测合并模式以及仿射模式下,B1最终被选为预测运动信息的概率高于A1最终被选为预测运动信息的概率,因此, 为了减少编码消耗,提高编码性能,在确定空域候选运动信息时,可以将B1的检查顺序确定为先于A1的检查顺序。
在该实施方式的又一个实施例中,上述根据预测模式确定当前图像块的各空域候选块的检查顺序,可以包括:
当当前图像块的预测模式为AMVP模式、IBC AMVP模式或仿射AMVP模式时,当前图像块的各空域候选块的检查顺序至少包括第五遍历顺序和第六遍历顺序;第五遍历顺序用于进行当前图像块的上方空域候选块的遍历,第六遍历顺序用于进行当前图像块的左侧空域候选块的遍历;上方空域候选块包括:第三空域候选块、第二空域候选块和第五空域候选块;左侧空域候选块包括:第四空域候选块和第一空域候选块;
第五遍历顺序为依次遍历第三空域候选块、第二空域候选块和第五空域候选块;
第六遍历顺序为依次遍历第四空域候选块和第一空域候选块。
作为一种示例,当当前图像块的预测模式为AMVP模式或IBC AMVP模式时,当前图像块的各空域候选块的检查顺序可以为先按照第五遍历顺序依次遍历上方空域候选块,再按照第六遍历顺序遍历左侧空域候选块。
在该示例中,考虑到对于AMVP模式、IBC AMVP模式以及仿射AMVP模式,当前图像块上方的空域候选块最终被选中预测运动信息的概率高于左侧的空域候选块最终被选中预测运动信息的概率,因此,在确定空域候选块的检查顺序时,可以先遍历当前图像块上方的空域候选块,再遍历当前图像块左侧的空域候选块。
需要说明的是,对于仿射AMVP模式,遍历空域候选块的运动信息时,需要检查空域候选块是否为仿射块(Affine块),以及是否有仿射运动信息存储,若为仿射块,且有仿射运动信息存储,则确定空域候选块的运动信息可用;否则,确定空域候选块的运动信息不可用。
步骤S310、根据当前图像块的各空域候选块的检查顺序,确定空域候选运动信息。
步骤S320、根据所确定的空域候选运动信息,构建当前图像块对应的运动信息候选者列表。
本申请实施例中,确定了当前图像块的各空域候选块的检查顺序时,可以根据所确定的检查顺序对当前图像块的各空域候选块进行检查,以确定空域候选运动信息,并根据所确定的空域候选运动信息,构建当前图像块对应的运动信息候选者列表。
在本申请的一种可能的实施方式中,上述根据所确定的空域候选运动信息,构建当前图像块对应的运动信息候选者列表,可以包括:
当当前图像块的预测模式为合并模式时,根据所确定的空域候选运动信息、时域候选运动信息以及当前图像块之前的已编码/解码块的运动信息,构建当前图像块对应的运动信息候选者列表。
在该实施方式中,为了增加候选者样本的丰富性,并提高运动信息候选者选择的灵活性,对于合并模式,在构建运动信息候选者列表时,可以考虑当前图像块之前的已编码/解码块的运动信息。
在该实施方式中,当确定了空域候选运动信息以及时域候选运动信息,并将所确定 的空域候选运动信息以及时域候选运动信息加入到运动信息候选者列表之后,若运动信息候选者列表中的候选运动信息的数量不足,则可以从当前图像块之前的已编码/解码块的运动信息中确定候选运动信息。
示例性的,可以将当前图像块之前的已编码/解码块的运动信息保存在一个全局列表(可以称为已编码/解码块的运动信息列表)中,该已编码/解码块的运动信息列表为固定长度,并按照先入先出的规则更新该已编码/解码块的运动信息列表中的已编码/解码块的运动信息。
在该实施例中,当将空域候选运动信息以及时域候选运动信息加入到运动信息候选者列表之后,若运动信息候选者列表中的候选运动信息的数量不足,则可以从已编码/解码块的运动信息列表中选择候选运动信息。
作为该实施方式的一种实施例,上述根据所确定的空域候选运动信息,构建当前图像块对应的运动信息候选者列表,还可以可以包括:
当当前图像块的预测模式为合并模式时,对运动信息候选者列表中的已有运动信息进行加权;
将加权后的运动信息作为候选运动信息加入所述当前图像块的运动信息候选者列表。
在该实施例中,为了增加候选者样本的丰富性,并提高运动信息候选者选择的灵活性,对于合并模式,在构建运动信息候选者列表时,还可以通过对运动信息候选者列表中的已有运动信息进行加权得到新的候选运动信息。
需要说明的是,该实施例需要在运动信息候选者列表中的已有运动信息的数量大于1个时进行,例如,取运动信息候选者列表中的前两个已有运动信息进行加权。
在该实施例中,若存在双向运动信息,则需要分别对双向运动信息的前向运动信息和后向运动信息进行加权。
举例来说,假设候选运动信息1和候选运动信息2均为双向运动信息,候选运动信息1的前向运动信息为前向运动信息11,后向运动信息为后向运动信息12;候选运动信息2的前向运动信息为前向运动信息21,后向运动信息为后向运动信息22,则前向运动信息11和前向运动信息21加权得到的前向运动信息即为候选运动信息1和候选运动信息2加权后的前向运动信息,后向运动信息12和后向运动信息22进行加权得到的后向运动信息即为候选运动信息1和候选运动信息2加权后的后向运动信息。
又举例来说,假设候选运动信息1为双向运动信息,候选运动信息2为单向运动信息,候选运动信息1的前向运动信息为前向运动信息11,后向运动信息为后向运动信息12,候选运动信息2和前向运动信息11的参考帧属于同一参考列表(如均为List0),则前向运动信息11和候选运动信息2加权得到的前向运动信息即为候选运动信息1和候选运动信息2加权后的前向运动信息,后向运动信息12即为候选运动信息1和候选运动信息2加权后的后向运动信息。
示例性的,在本申请实施例中,运动信息候选者列表中通过加权得到的候选运动信息的数量需要不超过预设数量阈值(可以根据实际场景设定,如1个)。
在本申请的另一种可能的实施方式中,上述根据所确定的空域候选运动信息, 构建当前图像块对应的运动信息候选者列表,可以包括:
当当前图像块的预测模式为IBC合并模式时,根据空域候选运动信息以及当前图像块之前的已编码/解码块的运动信息,构建当前图像块对应的运动信息候选者列表。
在该实施方式中,为了增加候选者样本的丰富性,并提高运动信息候选者选择的灵活性,对于IBC合并模式,在构建运动信息候选者列表时,可以考虑当前图像块之前的已编码/解码块的运动信息。
在该实施方式中,当确定了空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表之后,若运动信息候选者列表中的候选运动信息的数量不足,则可以从当前图像块之前的已编码/解码块的运动信息中确定候选运动信息。
示例性的,可以将当前图像块之前的已编码/解码块的运动信息保存在一个全局列表(可以称为已编码/解码块的运动信息列表)中,该已编码/解码块的运动信息列表为固定长度,并按照先入先出的规则更新该已编码/解码块的运动信息列表中的已编码/解码块的运动信息。
在该实施例中,当将空域候选运动信息加入到运动信息候选者列表之后,若运动信息候选者列表中的候选运动信息的数量不足,则可以从已编码/解码块的运动信息列表中选择候选运动信息。
作为该实施方式的一种实施例,上述根据所确定的空域候选运动信息,构建当前图像块对应的运动信息候选者列表,还可以可以包括:
当当前图像块的预测模式为IBC合并模式时,对运动信息候选者列表中的已有运动信息进行加权;
将加权后的运动信息作为候选运动信息加入所述当前图像块的运动信息候选者列表。
在该实施例中,为了增加候选者样本的丰富性,并提高运动信息候选者选择的灵活性,对于IBC合并模式,在构建运动信息候选者列表时,还可以通过对运动信息候选者列表中的已有运动信息进行加权得到新的候选运动信息。
需要说明的是,该实施例需要在运动信息候选者列表中的已有运动信息的数量大于1个时进行,例如,取运动信息候选者列表中的前两个已有运动信息进行加权。
在该实施例中,若存在双向运动信息,则需要分别对双向运动信息的前向运动信息和后向运动信息进行加权。
在本申请的又一种可能的实施方式中,上述根据所确定的空域候选运动信息,构建当前图像块对应的运动信息候选者列表,可以包括:
当当前图像块的预测模式为三角预测合并模式,根据空域候选运动信息、时域候选运动信息,构建当前图像块对应的运动信息候选者列表;
示例性的,若候选运动信息为双向运动信息,则将双向运动信息的前向运动信息或/和后向运动信息加入运动信息候选者列表。
在该实施方式中,考虑到三角预测仅能使用单向运动信息,因此当将空域候选运动信息以及时域候选运动信息加入到三角预测合并模式的运动信息候选者列表之后, 需要检查该运动信息候选者列表中是否存在双向运动信息,若存在,则可以将该双向运动信息的前向运动信息或/和后向运动信息加入运动信息候选者列表,以替代该双向运动信息。
在本申请的又一种可能的实施方式中,上述根据所确定的空域候选运动信息,构建当前图像块对应的运动信息候选者列表,可以包括:
当当前图像块的预测模式为三角预测合并模式,根据空域候选运动信息、时域候选运动信息以及当前图像块之前的已编码/解码块的运动信息,构建当前图像块对应的运动信息候选者列表;
示例性的,若候选运动信息为双向运动信息,则将双向运动信息的前向运动信息或/和后向运动信息加入运动信息候选者列表。
在该实施方式中,为了增加候选者样本的丰富性,并提高运动信息候选者选择的灵活性,对于三角预测合并模式,在构建运动信息候选者列表时,可以考虑当前图像块之前的已编码/解码块的运动信息。
作为该实施方式的一个实施例,上述根据所确定的空域候选运动信息,构建当前图像块对应的运动信息候选者列表,还可以包括:
当当前图像块的预测模式为三角预测合并模式时,获取运动信息候选者列表中的前两个候选运动信息;
将前两个候选运动信息进行加权后得到的加权候选运动信息加入运动信息候选者列表。
在该实施例中,为了增加候选者样本的丰富性,并提高运动信息候选者选择的灵活性,对于三角预测合并模式,在构建运动信息候选者列表时,还可以通过对运动信息候选者列表中的已有运动信息进行加权得到新的候选运动信息。
需要说明的是,该实施例需要在运动信息候选者列表中的已有运动信息的数量大于1个时进行,例如,取运动信息候选者列表中的前两个候选运动信息进行加权。
作为一种示例,对于三角预测合并模式,运动信息候选者列表中的各候选运动信息可以按照单向运动信息、双向运动信息的前向的运动信息、双向运动信息的后向运动信息、均值加权候选运动信息的顺序排序。
在本申请的又一种可能的实施方式中,上述根据所确定的空域候选运动信息,构建当前图像块对应的运动信息候选者列表,可以包括:
当当前图像块的预测模式为仿射合并模式时,基于所确定的空域候选运动信息映射计算得到第一类型候选运动信息,并将第一类型候选运动信息加入到运动信息候选者列表;
基于当前图像块左上角的运动信息、右上角的运动信息、左下角的运动信息以及时域运动信息中的两个或三个组合并进行映射计算得到第二类型候选运动信息,并将第二类型候选运动信息加入到运动信息候选者列表。
在该实施方式中,对于仿射合并模式,在确定了空域候选运动信息之后,可以基于所确定的空域候选运动信息映射计算得到对应的候选运动信息(本文中称为第一类 型候选运动信息),并将第一类型候选运动信息加入到运动信息候选者列表。
若此时运动信息候选者列表中候选运动信息的数量不足,则可以基于当前图像块左上角的运动信息、右上角的运动信息、左下角的运动信息以及时域运动信息中的两个或三个组合并进行映射计算得到对应的候选运动信息(本文中称为第二类型候选运动信息),并将第二类型候选运动信息加入到运动信息候选者列表。
举例来说,如图5B所示,可以通过按照一定顺序遍历位置A2、B2和B3的运动信息的方式,将获取到的第一个可用运动信息确定为当前图像块左上角的运动信息;同理,可以通过按照一定顺序遍历位置B1和B0的运动信息的方式,将获取到的第一个可用运动信息确定为当前图像块右上角的运动信息;可以通过按照一定顺序遍历位置A0和A1的运动信息的方式,将获取到的第一个可用运动信息确定为当前图像块左下角的运动信息;时域运动信息可以为位置T的时域运动信息。
在本申请的又一种可能的实施方式中,上述根据所确定的空域候选运动信息,构建当前图像块对应的运动信息候选者列表,可以包括:
基于ATMVP合并模式的候选运动信息和仿射合并模式的候选运动信息构建基于子块技术的运动信息候选者列表,并标记各候选运动信息的模式。
在该实施例中,考虑到ATMVP合并模式和仿射合并模式均为基于子块的预测技术,因此,对于ATMVP合并模式和仿射合并模式,可以构建同一个基于子块技术的运动信息候选者列表,并分别标记该运动信息候选者列表中各候选运动信息的模式(ATMVP合并模式或仿射合并模式)。
例如,可以将ATMVP合并模式的候选运动信息作为该基于子块技术的运动信息候选者列表中的第一个候选运动信息,后续候选运动信息为仿射合并模式的候选运动信息。
作为一种示例,上述基于ATMVP合并模式的候选运动信息和仿射合并模式的候选运动信息构建基于子块技术的运动信息候选者列表,可以包括:
基于ATMVP合并模式的候选运动信息构建基于子块技术的运动信息候选者列表;
将仿射合并模式的候选运动信息加入基于子块技术的运动信息候选者列表。
在该示例中,可以先构建基于ATVMP合并模式的候选运动信息的运动信息候选者列表,然后再加入基于仿射合并模式的候选运动信息。
需要说明的是,在本申请实施例中,对于各种模式(包括合并模式、三角预测合并模式、IBC合并模式、仿射合并模式、AMVP模式、IBC AMVP模式以及仿射AMVP),在构建运动信息候选者列表时,向所构建的运动信息候选者列表中添加候选运动信息时,均需要进行查重处理,以避免运动信息候选者列表中存在重复的候选运动信息。
还需要说明的是,在本申请实施例中,解码端设备进行码流解码时,当解码端设备解析到了码流中携带的最优运动信息的索引之后,在构建运动信息候选者列表时,确定了与该索引对应的候选运动信息时,就可以中止运动信息候选者列表的构建,而可以不需要构建完整的运动信息候选者列表。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面分别结合具体实例对本申请实施例中的运动信息候选者列表的构建进行说明。
实施例一
在该实施例中,以合并模式的运动信息候选者列表构建为例。
在该实施例中,对于合并模式,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0→(B2);其中,前4个空域候选块的检查顺序的示意图可以如图5A所示;或者,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0;或者,将当前图像块的各空域候选块的检查顺序调整为A1→B1→B0→A0。
在该实施例中,运动信息候选者列表构建的具体实现如下:
1、按照B1→A1→A0→B0→(B2)的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
示例性的,B2在前4个空域候选块的运动信息不均可获取(即至少一个不可获取)时进行检查;
或者,按照B1→A1→A0→B0的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
或者,按照A1→B1→B0→A0的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
2、确定时域候选运动信息,并将所确定的时域候选运动信息加入到运动信息候选者列表中;
3、若运动信息候选者列表中候选运动信息的数量不足,则基于已编码/解码块的运动信息构建已编码/解码块的运动信息列表,并将该已编码/解码块的运动信息列表中的运动信息作为候选运动信息加入到运动信息候选者列表中;
示例性的,已编码/解码块的运动信息列表为固定长度,并按照先进先出的规则更新该运动信息列表中的已编码/解码块的运动信息,其示意图可以如图5C所示;
4、若运动信息候选者列表中候选运动信息的数量仍不足,则通过对运动信息候选者列表中已有的候选运动信息进行加权的方式确定新的候选运动信息,并将所确定的新的候选运动信息加入运动信息候选者列表中;
示例性的,候选运动信息的加权在运动信息候选者列表中已有的候选运动信息的数量大于1个时进行。
若存在双向运动信息,则需要分别对双向运动信息的前向运动信息和后向运动信息进行加权,从而得到双向运动信息候选者。
举例来说,候选运动信息1和候选运动信息2均为双向运动信息,候选运动信息1的前向运动信息为前向运动信息11,后向运动信息为后向运动信息12;候选运动信息2的前向运动信息为前向运动信息21,后向运动信息为后向运动信息22,则前向运动信息11和前向运动信息21加权得到的前向运动信息即为候选运动信息1和候选运动信息2加权后的前向运动信息,后向运动信息12和后向运动信息22进行加权得到的后向运动信息即为候选运动1和候选运动信息2加权后的后向运动信息。
5、若运动信息候选者列表中候选运动信息的数量仍不足,则通过缺省运动信息 (零运动信息)补足。
实施例二
在该实施例中,以IBC合并模式的运动信息候选者列表构建为例。
在该实施例中,对于IBC合并模式,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0→(B2);或者,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0;或者,将当前图像块的各空域候选块的检查顺序调整为A1→B1→B0→A0。
在该实施例中,运动信息候选者列表构建的具体实现如下:
1、按照B1→A1→A0→B0→(B2)的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
示例性的,B2在前4个空域候选块的运动信息不均可获取(即至少一个不可获取)时进行检查;
或者,按照B1→A1→A0→B0的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
或者,按照A1→B1→B0→A0的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
2、若运动信息候选者列表中候选运动信息的数量不足,则基于已编码/解码块的运动信息构建已编码/解码块的运动信息列表,并将该已编码/解码块的运动信息列表中的运动信息作为候选运动信息加入到运动信息候选者列表中;
示例性的,已编码/解码块的运动信息列表为固定长度,并按照先进先出的规则更新该运动信息列表中的已编码/解码块的运动信息;
3、若运动信息候选者列表中候选运动信息的数量仍不足,则通过对运动信息候选者列表中已有的候选运动信息进行加权的方式确定新的候选运动信息,并将所确定的新的候选运动信息加入运动信息候选者列表中;
示例性的,候选运动信息的加权在运动信息候选者列表中已有的候选运动信息的数量大于1个时进行。
4、若运动信息候选者列表中候选运动信息的数量仍不足,则通过缺省运动信息补足,缺省运动信息可以是通过对列表中已有的运动信息的伸缩偏移或者对零运动信息的伸缩偏移得到。
实施例三
在该实施例中,以IBC合并模式的运动信息候选者列表构建为例。
在该实施例中,对于IBC合并模式,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0→(B2);或者,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0;或者,将当前图像块的各空域候选块的检查顺序调整为A1→B1→B0→A0。
在该实施例中,运动信息候选者列表构建的具体实现如下:
1、按照B1→A1→A0→B0→(B2)的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
示例性的,B2在前4个空域候选块的运动信息不均可获取(即至少一个不可获取)时进行检查;
或者,按照B1→A1→A0→B0的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
或者,按照A1→B1→B0→A0的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
2、若运动信息候选者列表中候选运动信息的数量不足,则基于已编码/解码块的运动信息构建已编码/解码块的运动信息列表,并将该已编码/解码块的运动信息列表中的运动信息作为候选运动信息加入到运动信息候选者列表中;
示例性的,已编码/解码块的运动信息列表为固定长度,并按照先进先出的规则更新该运动信息列表中的已编码/解码块的运动信息;
3、若运动信息候选者列表中候选运动信息的数量仍不足,则通过缺省运动信息补足,缺省运动信息可以是通过对列表中已有的运动信息的伸缩偏移或者对零运动信息的伸缩偏移得到。
实施例四
在该实施例中,以三角预测合并模式的运动信息候选者列表构建为例。
在该实施例中,对于三角预测合并模式,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0→B2;或者,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0→(B2);或者,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0;或者,将当前图像块的各空域候选块的检查顺序调整为A1→B1→B0→A0。
在该实施例中,运动信息候选者列表构建的具体实现如下:
1、按照B1→A1→A0→B0→B2的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
或者,按照B1→A1→A0→B0→(B2)的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
示例性的,B2在前4个空域候选块的运动信息不均可获取(即至少一个不可获取)时进行检查;
或者,按照B1→A1→A0→B0的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
或者,按照A1→B1→B0→A0的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
2、确定时域候选运动信息,并将所确定的时域候选运动信息加入到运动信息候选者列表中;
3、若运动信息候选者列表中存在双向运动信息,将双向运动信息替换为该双向运动信息的前向运动信息或/和后向运动信息;
4、若运动信息候选者列表中候选运动信息的数量不足,则获取运动信息候选者列表中的前两个候选运动信息(若存在),并将该前两个候选运动信息进行加权后得到的运动信息加入到运动信息候选者列表;
示例性的,运动信息候选者列表中候选运动信息按照:单向运动信息、双向运动信息的前向运动信息、双向运动信息的后向运动信息、加权得到的运动信息的顺序进行排序;
5、若运动信息候选者列表中候选运动信息的数量仍不足,则通过缺省运动信息(零运动信息)补足。
实施例五
在该实施例中,以三角预测合并模式的运动信息候选者列表构建为例。
在该实施例中,对于三角预测合并模式,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0→B2;或者,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0→(B2);或者,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0;或者,将当前图像块的各空域候选块的检查顺序调整为A1→B1→B0→A0。
在该实施例中,运动信息候选者列表构建的具体实现如下:
1、按照B1→A1→A0→B0→B2的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
或者,按照B1→A1→A0→B0→(B2)的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
示例性的,B2在前4个空域候选块的运动信息不均可获取(即至少一个不可获取)时进行检查;
或者,按照B1→A1→A0→B0的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
或者,按照A1→B1→B0→A0的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
2、确定时域候选运动信息,并将所确定的时域候选运动信息加入到运动信息候选者列表中;
3、若运动信息候选者列表中候选运动信息的数量不足,则基于已编码/解码块的运动信息构建已编码/解码块的运动信息列表,并将该已编码/解码块的运动信息列表中的运动信息作为候选运动信息加入到运动信息候选者列表中;
示例性的,已编码/解码块的运动信息列表为固定长度,并按照先进先出的规则更新 该运动信息列表中的已编码/解码块的运动信息;
4、若运动信息候选者列表中存在双向运动信息,将双向运动信息替换为该双向运动信息的前向运动信息或/和后向运动信息;
5、若运动信息候选者列表中候选运动信息的数量仍不足,则获取运动信息候选者列表中的前两个候选运动信息(若存在),并将该前两个候选运动信息进行加权后得到的运动信息加入到运动信息候选者列表;
示例性的,运动信息候选者列表中候选运动信息按照:单向运动信息、双向运动信息的前向运动信息、双向运动信息的后向运动信息、加权得到的运动信息的顺序进行排序;
6、若运动信息候选者列表中候选运动信息的数量仍不足,则通过缺省运动信息(零运动信息)补足。
实施例六
在该实施例中,以三角预测合并模式的运动信息候选者列表构建为例。
在该实施例中,对于三角预测合并模式,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0→B2;或者,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0→(B2);或者,将当前图像块的各空域候选块的检查顺序调整为B1→A1→A0→B0;或者,将当前图像块的各空域候选块的检查顺序调整为A1→B1→B0→A0。
在该实施例中,运动信息候选者列表构建的具体实现如下:
1、按照B1→A1→A0→B0→B2的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
或者,按照B1→A1→A0→B0→(B2)的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
示例性的,B2在前4个空域候选块的运动信息不均可获取(即至少一个不可获取)时进行检查;
或者,按照B1→A1→A0→B0的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
或者,按照A1→B1→B0→A0的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,并将所确定的空域候选运动信息加入到运动信息候选者列表中;
2、确定时域候选运动信息,并将所确定的时域候选运动信息加入到运动信息候选者列表中;
3、若运动信息候选者列表中候选运动信息的数量不足,则基于已编码/解码块的运动信息构建已编码/解码块的运动信息列表,并将该已编码/解码块的运动信息列表中的运动信息作为候选运动信息加入到运动信息候选者列表中;
示例性的,已编码/解码块的运动信息列表为固定长度,并按照先进先出的规则更新该运动信息列表中的已编码/解码块的运动信息;
4、若运动信息候选者列表中候选运动信息的数量仍不足,则通过缺省运动信息(零运动信息)补足;
5、若运动信息候选者列表中存在双向运动信息,将双向运动信息替换为该双向运动信息的前向运动信息或/和后向运动信息。
实施例七
在该实施例中,以仿射合并模式的运动信息候选者列表构建为例。
在该实施例中,对于仿射合并模式,将当前图像块的各空域候选块的检查顺序调整为:先遍历当前图像块上方的空域候选块(B0-B1-B2),再遍历当前图像块左侧的空域候选块(A0-A1);或者,先遍历当前图像块上方的空域候选块(B0-B1),再遍历当前图像块左侧的空域候选块(A0-A1);或者,先遍历当前图像块左侧的空域候选块(A0-A1),再遍历当前图像块上方的空域候选块(B0-B1)。
在该实施例中,运动信息候选者列表构建的具体实现如下:
1、按照B0→B1→B2→A0→A1的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,将确定的空域候选运动信息映射计算得到候选运动信息,并加入到运动信息候选者列表;
或者,按照B0→B1→A0→A1的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,将确定的空域候选运动信息映射计算得到候选运动信息,并加入到运动信息候选者列表;
或者,按照A0→A1→B0→B1的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,将确定的空域候选运动信息映射计算得到候选运动信息,并加入到运动信息候选者列表;
2、通过当前图像块左上角的运动信息、右上角的运动信息、左下角的运动信息以及时域运动信息中的两个或三个组合并进行映射计算得到候选运动信息,并加入运动信息候选者列表;
举例来说,如图5B所示,可以通过按照一定顺序遍历位置A2、B2和B3的运动信息的方式,将获取到的第一个可用运动信息确定为当前图像块左上角的运动信息;同理,可以通过按照一定顺序遍历位置B1和B0的运动信息的方式,将获取到的第一个可用运动信息确定为当前图像块右上角的运动信息;可以通过按照一定顺序遍历位置A0和A1的运动信息的方式,将获取到的第一个可用运动信息确定为当前图像块左下角的运动信息;时域运动信息可以为位置T的时域运动信息。
3、若运动信息候选者列表中候选运动信息的数量仍不足,则通过缺省运动信息(零运动信息)补足。
实施例八
在该实施例中,以ATMVP模式的运动信息候选者列表构建为例。
在该实施例中,对于ATMVP模式,仅检查空域候选块B1的运动信息是否可用;若可用,则采用B1的运动信息进行运动信息候选者列表构建;否则,使用缺省运动信息(如零运动信息)进行运动信息候选者列表构建。
实施例九
在该实施例中,以基于子块技术的运动信息候选者列表构建为例。
在该实施例中,考虑到仿射合并模式和ATMVP合并模式均是基于子块的运动信息进行预测编码,因此,构建运动信息候选者列表时,可以构建基于子块技术的运动信息候选者列表,并标记各候选运动信息的模式。
在该实施例中,可以先确定ATMVP合并模式的候选运动信息,然后,再确定仿射合并模式的候选运动信息。
示例性的,对于ATMVP合并模式,若B1的运动信息可用,直接采用B1的运动信息作为候选运动信息;若B1的运动信息不可用,则使用缺省运动信息(零运动信息)作为候选运动信息。
对于仿射合并模式,运动信息候选者列表构建的具体实现如下:
1、按照B0→B1→B2→A0→A1的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,将确定的空域候选运动信息映射计算得到候选运动信息,并加入到运动信息候选者列表;
或者,按照B0→B1→A0→A1的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,将确定的空域候选运动信息映射计算得到候选运动信息,并加入到运动信息候选者列表;
或者,按照A0→A1→B0→B1的顺序检查当前图像块的各空域候选块,以确定空域候选运动信息,将确定的空域候选运动信息映射计算得到候选运动信息,并加入到运动信息候选者列表;
2、通过当前图像块左上角的运动信息、右上角的运动信息、左下角的运动信息以及时域运动信息中的两个或三个组合并进行映射计算得到候选运动信息,并加入运动信息候选者列表;
3、若运动信息候选者列表中候选运动信息的数量仍不足,则通过缺省运动信息(零运动信息)补足。
实施例十
在该实施例中,对于合并模式、IBC合并模式、三角预测合并模式以及仿射合并模式,在检查当前图像块的各空域候选块时,当前图像块上方的空域候选块的检查顺序先于当前图像块左侧的空域候选块的检查顺序。
示例性的,对于合并模式的图像块,各空域候选块的检查顺序为:B1→A1→A0→B0→(B2);
对于IBC合并模式的图像块,各空域候选块的检查顺序为:B1→A1→A0→B0→(B2);
对于三角预测合并模式的图像块,各空域候选块的检查顺序为:B1→A1→A0→B0→B2;
对于仿射合并模式的图像块,各空域候选块的检查顺序为:B0→B1→B2→A0→A1。
实施例十一
在该实施例中,对于合并模式、IBC合并模式、三角预测合并模式以及仿射合并模式,在检查当前图像块的各空域候选块时,当前图像块上方的空域候选块的检查顺序先于当前图像块左侧的空域候选块的检查顺序,且可以不对B2进行检查。
示例性的,对于合并模式的图像块,各空域候选块的检查顺序为:B1→A1→A0→B0;
对于IBC合并模式的图像块,各空域候选块的检查顺序为:B1→A1→A0→B0;
对于三角预测合并模式的图像块,各空域候选块的检查顺序为:B1→A1→A0→B0;
对于仿射合并模式的图像块,各空域候选块的检查顺序为:B0→B1→A0→A1。
需要说明的是,在该实施例中,除了可以按照上述描述的合并模式的图像块、IBC合并模式的图像块、三角预测合并模式的图像块以及仿射合并模式的图像块均不对B2进行检查的方式实现空域候选块的检查之外,还可以仅其中一个模式的图像块不对B2进行检查,或其中两个模式的图像块不对B2进行检查,或仅其中一个模式的图像块对B2进行检查。
举例来说,对于合并模式的图像块,可以不对B2进行检查;对于IBC合并模式的图像块、三角预测合并模式的图像块以及仿射合并模式的图像块,对B2进行检查。
又举例来说,对于合并模式的图像块和IBC合并模式的图像块,可以不对B2进行检查;对于三角预测合并模式的图像块以及仿射合并模式的图像块,对B2进行检查。
实施例十二
在该实施例中,以AMVP模式的运动信息候选者列表构建为例。
在该实施例中,对于AMVP模式,将当前图像块的各空域候选块的检查顺序调整为:先进行当前图像块上方的空域候选块的遍历,再进行当前图像块左侧的空域候选块的遍历。
示例性的,对于当前图像块上方的空域候选块的检查顺序可以为B0→B1→B2;
对于当前图像块左侧的空域候选块的检查顺序可以为A0→A1。
在该实施例中,对于AMVP模式,当按照B0→B1→B2的遍历顺序对当前图像块上方的空域候选块进行遍历时,可以得到一个可用运动信息;或者,当当前图像块上方的空域候选块的运动信息可获但均不可用时,还需要遍历B0对应的伸缩块(scaled B0)、B1对应的伸缩块(scaled B1)和B2对应的伸缩块(scaled B2),得到一个可用运动信息;或者,当当前图像块上方的空域候选块的运动信息均不可获时,得到0个可用运动信息。
当按照A0→A1的遍历顺序对当前图像块左侧的空域候选块进行遍历时,可以得到一个可用运动信息或0个可用运动信息;
示例性的,当当前图像块左侧的空域候选块的运动信息可获,且上方的空域候选块的运动信息均不可获时,依次遍历A0对应的伸缩块(scaled A0)和A1对应的伸缩块(scaled A1),得到一个可用运动信息。
实施例十三
在该实施例中,以IBC AMVP模式的运动信息候选者列表构建为例。
在该实施例中,对于IBC AMVP模式,先进行当前图像块上方的空域候选块的遍历,再进行当前图像块左侧的空域候选块的遍历。
示例性的,对于当前图像块上方的空域候选块的检查顺序可以为B0→B1→B2;
对于当前图像块左侧的空域候选块的检查顺序可以为A0→A1。
实施例十四
以仿射AMVP模式的运动信息候选者列表构建为例。
在该实施例中,对于仿射AMVP模式,先进行当前图像块上方的空域候选块的遍历,再进行当前图像块左侧的空域候选块的遍历。
示例性的,对于当前图像块上方的空域候选块的检查顺序可以为B0→B1→B2;
对于当前图像块左侧的空域候选块的检查顺序可以为A0→A1。
需要说明的是,在该实施例中,遍历空域候选块的运动信息时,需要检查空域候选块是否为仿射块(Affine块),以及是否有仿射运动信息存储,若为仿射块,且有仿射运动信息存储,则确定空域候选块的运动信息可用;否则,确定空域候选块的运动信息不可用。
实施例十五
对于合并模式、IBC合并模式、三角预测合并模式以及仿射合并模式,在检查当前图像块的各空域候选块时,当前图像块上方的空域候选块的检查顺序先于当前图像块左侧的空域候选块的检查顺序。
示例性的,对于合并模式的图像块,各空域候选块的检查顺序为:B1→A1→A0→B0→(B2);
对于IBC合并模式的图像块,各空域候选块的检查顺序为:B1→A1→A0→B0→(B2);
对于三角预测合并模式的图像块,各空域候选块的检查顺序为:B1→A1→A0→B0→B2;
对于仿射合并模式的图像块,各空域候选块的检查顺序为:B0→B1→B2→A0→A1。
对于AMVP模式,将当前图像块的各空域候选块的检查顺序调整为:先按照B0→B1→B2的顺序遍历当前图像块上方的空域候选块,再按照A0→A1的顺序遍历当前图像块左侧的空域候选块。
示例性的,对于AMVP模式,当按照B0→B1→B2的遍历顺序对当前图像块上方的空域候选块进行遍历时,可以得到一个可用运动信息;或者,当当前图像块上方的空域候选块的运动信息可获但均不可用时,还需要遍历B0对应的伸缩块(scaled B0)、B1对应的伸缩块(scaled B1)和B2对应的伸缩块(scaled B2),得到一个可用运动信息;或者,当当前图像块上方的空域候选块的运动信息均不可获时,得到0个可用运动信息。
当按照A0→A1的遍历顺序对当前图像块左侧的空域候选块进行遍历时,可以得到一个可用运动信息或0个可用运动信息;
示例性的,当当前图像块左侧的空域候选块的运动信息可获,且上方的空域候选块的运动信息均不可获时,依次遍历A0对应的伸缩块(scaled A0)和A1对应的伸缩块(scaled A1),得到一个可用运动信息。
在该实施例中,对于IBC AMVP模式,将当前图像块的各空域候选块的检查顺序调整为:先按照B0→B1→B2的顺序遍历当前图像块上方的空域候选块,再按照A0→A1的顺序遍历当前图像块左侧的空域候选块。
在该实施例中,对于仿射AMVP模式,将当前图像块的各空域候选块的检查顺序调整为:先按照B0→B1→B2的顺序遍历当前图像块上方的空域候选块,再按照A0→A1的顺序遍历当前图像块左侧的空域候选块。
示例性的,对于仿射AMVP模式,遍历空域候选块的运动信息时,需要检查空域候选块是否为仿射块(Affine块),以及是否有仿射运动信息存储,若为仿射块,且有仿射运动信息存储,则确定空域候选块的运动信息可用;否则,确定空域候选块的运动信息不可用。
实施例十六
对于合并模式、IBC合并模式、三角预测合并模式以及仿射合并模式,在检查当前图像块的各空域候选块时,不对B2进行检查。
示例性的,对于合并模式的图像块,各空域候选块的检查顺序为:A1→B1→B0→A0;
对于IBC合并模式的图像块,各空域候选块的检查顺序为:A1→B1→B0→A0;
对于三角预测合并模式的图像块,各空域候选块的检查顺序为:A1→B1→B0→A0;
对于仿射合并模式的图像块,各空域候选块的检查顺序为:A0→A1→B0→B1。
对于AMVP模式,在检查当前图像块的各空域候选块时,不对B2进行检查。
示例性的,对于AMVP模式,当按照A0→A1的遍历顺序对当前图像块左侧的空域候选块进行遍历时,可以得到一个可用运动信息;或者,当当前图像块左侧的空域候选块的运动信息可获但均不可用时,还需要遍历A0对应的伸缩块(scaled A0)和A1对应的伸缩块(scaled A1),得到一个可用运动信息;或者,当当前图像块左侧的空域候选块的运动信息均不可获时,得到0个可用运动信息。
当按照B0→B1的遍历顺序对当前图像块上方的空域候选块进行遍历时,可以得到一个可用运动信息或0个可用运动信息;
示例性的,当当前图像块上方的空域候选块的运动信息可获,且左侧的空域候选块的运动信息均不可获时,依次遍历B0对应的伸缩块(scaled B0)和B1对应的伸缩块(scaled B1),得到一个可用运动信息。
在该实施例中,对于IBC AMVP模式,当前图像块的各空域候选块的检查顺序为:先按照A0→A1的顺序遍历当前图像块左侧的空域候选块,再按照B0→B1的顺序遍历当前图像块上方的空域候选块。
在该实施例中,对于仿射AMVP模式,当前图像块的各空域候选块的检查顺序为:先按照A0→A1的顺序遍历当前图像块左侧的空域候选块,再按照B0→B1的顺序遍历当前图像块上方的空域候选块。
示例性的,对于仿射AMVP模式,遍历空域候选块的运动信息时,需要检查空域候选块是否为仿射块(Affine块),以及是否有仿射运动信息存储,若为仿射块,且有仿射运动信息存储,则确定空域候选块的运动信息可用;否则,确定空域候选块的运动信息不可用。
本申请实施例中,通过确定当前图像块的各空域候选块的检查顺序,并根据所确定的检查顺序,确定空域候选运动信息,进而,根据空域候选运动信息,构建当前图像块对应的运动信息候选者列表,利用当前图像块的上方空域候选块的运动信息最终被选中为预测运动信息的概率高于左侧空域候选块的运动信息最终被选中为预测运动信息的概率的特点,减少了索引编码开销,提高了编码性能。
请参见图6,为本申请实施例提供的一种三角预测解码方法,如图6所示,该三角预测解码方法可以包括以下步骤:
步骤S600、解析当前图像块的三角子块的划分信息。
步骤S610、解析当前图像块的三角子块对应的运动信息在列表中的索引值。
步骤S620、基于解析得到的划分信息对当前图像块进行子块划分。
本申请实施例中,步骤S600~步骤S620的具体实现可以参见现有三角预测解码流程中的相关描述,本申请实施例在此不做赘述。
示例性的,对当前图像块进行子块划分可以对当前块按照对角线划分(与水平向右方向呈45度夹角方向)或按照斜对角线(与水平向右方向呈135度夹角方向)进行子块划分。
步骤S630、构建当前图像块的运动信息候选者列表。
作为本申请一种可能的实施方式,当前图像块的运动信息候选者列表可以参照上述方法实施例中任一实施例中描述的三角预测合并模式的运动信息候选者列表构建方法。
作为本申请另一种可能的实施方式,当前图像块的运动信息候选者列表可以参照上述方法实施例中任一实施例中描述的合并模式的运动信息候选者列表构建方法。
作为该实施方式的实施例一,可以采用合并模式的运动信息候选者列表构建方式。若某候选运动信息为双向运动信息,则采用该双向运动信息的前向运动信息。
作为该实施方式的实施例二,可以采用合并模式的运动信息候选者列表构建方式。若某候选运动信息为双向运动信息,则采用该双向运动信息的前向运动信息和后向运动信息。
作为该实施方式的实施例三,可以采用合并模式的部分运动信息候选者列表,该部分运动信息候选者列表包空域候选运动信息和时域候选运动信息。若某候选运动信息为双向运动信息,则采用该双向运动信息的前向运动信息。
作为该实施方式的实施例四,可以采用合并模式的部分运动信息候选者列表, 该部分运动信息候选者列表包空域候选运动信息和时域候选运动信息。若某候选运动信息为双向运动信息,则采用该双向运动信息的前向运动信息和后向运动信息。
作为该实施方式的实施例五,可以采用合并模式的部分运动信息候选者列表,该部分运动信息候选者列表包空域候选运动信息。若某候选运动信息为双向运动信息,则采用该双向运动信息的前向运动信息。
作为该实施方式的实施例六,可以采用合并模式的部分运动信息候选者列表,该部分运动信息候选者列表包空域候选运动信息。若某候选运动信息为双向运动信息,则采用该双向运动信息的前向运动信息和后向运动信息。
步骤S640、基于解析得到的索引值,从所构建的运动信息候选者列表中获取当前图像块的三角子块对应的运动信息。
步骤S650、基于获取到的当前图像块的三角子块对应的运动信息,对当前图像块的三角子块,及其中间交界子块,进行运动补偿,获得当前图像块的预测运动信息。
本申请实施例中,步骤S640~步骤S650的具体实现可以参见现有三角预测解码流程中的相关描述,本申请实施例在此不做赘述。
请参见图7,为本申请实施例提供的一种索引编码/解码方法的流程示意图,如图7所示,该索引编码/解码方法可以包括以下步骤:
步骤S700、对运动信息候选者的模式的索引进行二值化,以得到二值化码字序列。
步骤S710、确定与当前图像块的形状匹配的上下文模型。
步骤S720、根据上下文模型对二值化码字序列的第一个二值化码值进行编码/解码。
本申请实施例中,当需要对运动信息候选者的模式的索引进行编码时,需要先对运动信息候选者的模式的索引进行二值化,以得到对应的二值化码字序列。
例如,传统的合并模式的索引对应二值化码字序列号可以如表1所示:
表1
0 | 0 |
1 | 10 |
2 | 110 |
3 | 1110 |
4 | 11110 |
5 | 11111 |
本申请实施例中,考虑到当前图像块的形状不同时,最终被选为预测运动信息的候选运动信息会存在不同,因此,当采用CABAC(Context-based Adaptive Binary Arithmetic Coding,基于上下文的自适应二进制算术编码)对运动信息候选者的模式的索引对应的二值化码字序列的第一个二值化码字进行编码时,若采用固定的上下文模型进行编码,会降低编码性能。
因此,为了提高编码性能,在本申请实施例中,对于运动信息候选者的模式的 索引进行二值化之后,可以根据当前图像块的形状确定匹配的上下文模型,并根据所确定的上下文模型对二值化码字序列的第一个二值化码值进行编码/解码。
作为一种示例,上述当前图像块的形状可以通过当前图像块的宽高比表征;
上述确定与当前图像块的形状匹配的上下文模型,可以包括:
若当前图像块的宽高比大于等于1,则确定与当前编码块的形状匹配的上下文模型为第一上下文模型;
若当前图像块的宽高比小于1,则确定与当前编码块的形状匹配的上下文模型为第二上下文模型。
在该示例中,考虑到当当前图像块的宽高比大于等于1时,B1被最终选中为预测运动信息的概率高于A1被最终选中为预测运动信息的概率,因此,当当前图像块的宽高比大于等于1时,可以选择一种在B1被最终选中为预测运动信息的情况下性能更优的上下文模型(本文中称为第一上下文模型),并根据第一上下文模型对二值化码字序列的第一个二值化码值进行编码。
当当前图像块的宽高比小于1时,A1被最终选中为预测运动信息的概率高于B1被最终选中为预测运动信息的概率,因此,当当前图像块的宽高比小于1时,可以选择一种在A1被最终选中为预测运动信息的情况下性能更优的上下文模型(本文中称为第二上下文模型),并根据第二上下文模型对二值化码字序列的第一个二值化码值进行编码/解码。
请参见图8,为本申请实施例提供的一种索引编码/解码方法的流程示意图,如图8所示,该索引编码/解码方法可以包括以下步骤:
步骤S800、根据当前图像块的形状对运动信息候选者的模式的索引进行二值化,以得到二值化码字序列。
步骤S810、确定上下文模型。
步骤S820、根据所确定的上下文模型对所确定的二值化码字序列的第一个二值化码值进行编码/解码。
本申请实施例中,当需要对运动信息候选者的模式的索引进行编码时,需要先对运动信息候选者的模式的索引进行二值化,以得到对应的二值化码字序列。
本申请实施例中,考虑到当前图像块的形状不同时,最终被选为预测运动信息的候选运动信息会存在不同,因此,对运动信息候选者的模式的索引采用固定的二值化码字序列会降低编码性能。
本申请实施例中,为了提高编码性能,当需要对运动信息候选者的模式的索引进行编码时,可以根据当前图像块的形状对运动信息候选者的模式的索引进行二值化。
作为一种示例,上述当前图像块的状态可以通过当前图像块的宽高比表征;
上述根据当前图像块的形状对运动信息候选者的模式的索引进行二值化,可以包括:
若当前图像块的宽高比大于等于1,则按照第一二值化方式对运动信息候选者的模式的索引进行二值化;其中,第一二值化方式中第二个索引对应1位二值化码字序列;
若当前图像块的宽高比小于1,则按照第二二值化方式对运动信息候选者的模式的索引进行二值化;其中,第二二值化方式中第一个索引对应1位二值化码字序列。
在该示例中,考虑到当当前图像块的宽高比大于等于1时,B1被最终选中为预测运动信息的概率高于A1被最终选中为预测运动信息的概率,因此,当当前图像块的宽高比大于等于1时,可以选用一种第二个索引对应1位二值化码字序列的二值化方式(本文中称为第一二值化方式)对运动信息候选者的模式的索引进行二值化。
当当前图像块的宽高比小于1时,A1被最终选中为预测运动信息的概率高于B1被最终选中为预测运动信息的概率,因此,当当前图像块的宽高比小于1时,可以选用一种第一个索引对应1位二值化码字序列的二值化方式(本文中称为第二二值化方式)对运动信息候选者的模式的索引进行二值化。
举例来说,第一二值化方式和第二二值化方式下运动信息候选者的模式的索引与二值化码字序列的对应关系可以如表2所示:
表2
Width<height | Width>=height | |
0 | 0 | 10 |
1 | 10 | 0 |
2 | 110 | 110 |
3 | 1110 | 1110 |
4 | 11110 | 11110 |
5 | 11111 | 11111 |
本申请实施例中,根据当前编码图像块的形状对运动信息候选者的模式的索引进行二值化,并得到二值化码字序列之后,可以确定上下文模型,并根据所确定的上下文模型对所得到的二值化码字序列的第一个二值化码值进行编码/解码。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
请参见图9,为本申请实施例提供的一种运动信息候选者列表构建装置的硬件结构示意图。该运动信息候选者列表构建装置可以包括处理器901、通信接口902、存储器903和通信总线904。处理器901、通信接口902以及存储器903通过通信总线904完成相互间的通信。其中,存储器903上存放有计算机程序;处理器901可以通过执行存储器903上所存放的程序,实现上文描述的运动信息候选者列表构建方法。
本文中提到的存储器903可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器902可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
如图10所示,从功能上划分,上述运动信息候选者列表构建装置可以包括:第一确定单元1010、第二确定单元1020和构建单元1030;其中:
第一确定单元1010,用于确定当前图像块的各空域候选块的检查顺序;其中,当前图像块的上方空域候选块的检查顺序优先于当前图像块的左侧空域候选块的检查顺序;
第二确定单元1020,用于根据所述检查顺序,确定空域候选运动信息;
构建单元1030,用于根据所述空域候选运动信息,构建所述当前图像块对应的运动信息候选者列表。
作为一种可能的实施方式,第一确定单元1010,具体用于确定所述当前图像块的预测模式;根据所述预测模式确定当前图像块的各空域候选块的检查顺序。
作为一种可能的实施方式,当所述预测模式为合并模式、帧内块复制IBC合并模式、仿射合并模式或三角预测合并模式时,所述检查顺序至少包括4个空域候选块的遍历次序;所述4个空域候选块的遍历次序位于第五空域候选块之前,所述第五空域候选块为替补空域候选块;
其中,所述4个空域候选块包括第一空域候选块、第二空域候选块、第三空域候选块和第四空域候选块,其中,所述第一空域候选块为当前图像块左侧最下方的空域相邻块,所述第二空域候选块为当前图像块上方最右侧的空域相邻块,所述第三空域候选块为与当前图像块右上角距离最近的空域相邻块,所述第四空域候选块为与当前图像块左下角距离最近的空域相邻块,所述第五空域候选块为与当前图像块左上角距离最近的空域相邻块。
作为一种可能的实施方式,所述4个空域候选块的遍历次序为第一遍历顺序,所述第一遍历顺序为依次遍历所述第二空域候选块,所述第一空域候选块,所述第四空域候选块和所述第三空域候选块。
作为一种可能的实施方式,构建单元1030,具体用于当所述预测模式为合并模式时,根据所述空域候选运动信息、时域候选运动信息以及所述当前图像块之前的已编码/解码块的运动信息,构建所述当前图像块对应的运动信息候选者列表。
作为一种可能的实施方式,构建单元1030,还用于对所述运动信息候选者列表中的已有运动信息进行加权;将加权后的运动信息作为候选运动信息加入所述当前图像块的运动信息候选者列表。
作为一种可能的实施方式,构建单元1030,具体用于当所述预测模式为IBC合并模式时,根据所述空域候选运动信息以及所述当前图像块之前的已编码/解码块的运动信息,构建所述当前图像块对应的运动信息候选者列表。
作为一种可能的实施方式,构建单元1030,还用于对所述运动信息候选者列表中的已有运动信息进行加权;将加权后的运动信息作为候选运动信息加入所述当前图像块的运动信息候选者列表。
作为一种可能的实施方式,当所述预测模式为三角预测合并模式或仿射合并模式时,所述检查顺序包括5个空域候选块的遍历次序;
其中,所述5个空域候选块包括第一空域候选块、第二空域候选块、第三空域候选块、第四空域候选块和第五空域候选块,其中,所述第一空域候选块为当前图像块左侧最下方的空域相邻块,所述第二空域候选块为当前图像块上方最右侧的空域相邻块,所述第三空域候选块为与当前图像块右上角距离最近的空域相邻块,所述第四空域 候选块为与当前图像块左下角距离最近的空域相邻块,所述第五空域候选块为与当前图像块左上角距离最近的空域相邻块。
作为一种可能的实施方式,当所述预测模式为三角预测合并模式时,所述5个空域候选块的遍历次序为第二遍历顺序,所述第二遍历顺序为依次遍历所述第二空域候选块,所述第一空域候选块,所述第四空域候选块、所述第三空域候选块和第五空域候选块。
作为一种可能的实施方式,构建单元1030,具体用于当所述预测模式为三角预测合并模式,根据所述空域候选运动信息、时域候选运动信息,构建所述当前图像块对应的运动信息候选者列表;
其中,若候选运动信息为双向运动信息,则将所述双向运动信息的前向运动信息或/和后向运动信息加入所述运动信息候选者列表。
作为一种可能的实施方式,构建单元1030,具体用于当所述预测模式为三角预测合并模式,根据所述空域候选运动信息、时域候选运动信息以及所述当前图像块之前的已编码/解码块的运动信息,构建所述当前图像块对应的运动信息候选者列表;
其中,若候选运动信息为双向运动信息,则将所述双向运动信息的前向运动信息或/和后向运动信息加入所述运动信息候选者列表。
作为一种可能的实施方式,构建单元1030,还用于获取所述运动信息候选者列表中的前两个候选运动信息;将所述前两个候选运动信息进行加权后得到的加权候选运动信息加入所述运动信息候选者列表。
作为一种可能的实施方式,所述运动信息候选者列表中各候选运动信息按照单向运动信息、双向运动信息的前向运动信息、双向运动信息的后向运动信息、加权候选运动信息的顺序排序。
作为一种可能的实施方式,当所述预测模式为仿射合并模式时,所述5个空域候选块的遍历次序为第三遍历顺序,所述第三遍历顺序为依次遍历第三空域候选块、第二空域候选块、第五空域候选块、第四空域候选块和第一空域候选块。
作为一种可能的实施方式,构建单元1030,用于当所述预测模式为仿射合并模式时,基于所述空域候选运动信息映射计算得到第一类型候选运动信息,并将所述第一类型候选运动信息加入到所述运动信息候选者列表;基于所述当前图像块左上角的运动信息、右上角的运动信息、左下角的运动信息以及时域运动信息中的两个或三个组合并进行映射计算得到第二类型候选运动信息,并将所述第二类型候选运动信息加入到所述运动信息候选者列表。
作为一种可能的实施方式,当所述预测模式为可选时域运动矢量预测ATMVP合并模式时,所述检查顺序包括1个空域候选块的遍历次序;
其中,所述1个空域候选块包括第二空域候选块。
作为一种可能的实施方式,构建单元1030,用于基于ATMVP合并模式的候选运动信息和仿射合并模式的候选运动信息构建基于子块技术的运动信息候选者列表,并标记各候选运动信息的模式。
作为一种可能的实施方式,构建单元1030,用于基于ATMVP合并模式的候选 运动信息构建基于子块技术的运动信息候选者列表;
将仿射合并模式的候选运动信息加入所述基于子块技术的运动信息候选者列表。
作为一种可能的实施方式,当所述预测模式为合并模式时,所述检查顺序包括4个空域候选块的遍历次序;或,
当所述预测模式为IBC合并模式时,所述检查顺序包括4个空域候选块的遍历次序;或,
当所述预测模式为三角预测合并模式时,所述检查顺序包括4个空域候选块的遍历次序;或,
当所述预测模式为仿射合并模式时,所述检查顺序包括4个空域候选块的遍历次序;
其中,所述4个空域候选块包括第一空域候选块、第二空域候选块、第三空域候选块和第四空域候选块,其中,所述第一空域候选块为当前图像块左侧最下方的空域相邻块,所述第二空域候选块为当前图像块上方最右侧的空域相邻块,所述第三空域候选块为与当前图像块右上角距离最近的空域相邻块,所述第四空域候选块为与当前图像块左下角距离最近的空域相邻块。
作为一种可能的实施方式,当所述预测模式为合并模式时,所述4个空域候选块的遍历次序为第一遍历顺序;或,
当所述预测模式为IBC合并模式时,所述4个空域候选块的遍历次序为第一遍历顺序;或,
当所述预测模式为三角预测合并模式时,所述4个空域候选块的遍历次序为第一遍历顺序;或,
当所述预测模式为仿射合并模式时,所述4个空域候选块的遍历次序为第四遍历顺序,所述第四遍历顺序为依次遍历第三空域候选块、第二空域候选块、第四空域候选块和第一空域候选块。
作为一种可能的实施方式,当所述预测模式为高级运动矢量预测AMVP模式或IBC AMVP模式时,所述检查顺序至少包括第五遍历顺序和第六遍历顺序;所述第五遍历顺序用于进行当前图像块的上方空域候选块的遍历,所述第六遍历顺序用于进行当前图像块的左侧空域候选块的遍历;所述上方空域候选块包括:第三空域候选块、第二空域候选块和第五空域候选块;所述左侧空域候选块包括:第四空域候选块和第一空域候选块;
所述第五遍历顺序为依次遍历第三空域候选块、第二空域候选块和第五空域候选块;
所述第六遍历顺序为依次遍历第四空域候选块和第一空域候选块。
作为一种可能的实施方式,第二确定单元1020,具体用于先按照所述第五遍历顺序遍历所述上方空域候选块,再按照所述第六遍历顺序遍历所述左侧空域候选块,以确定所述候选运动信息。
作为一种可能的实施方式,第二确定单元1020,具体用于当所述预测模式为AMVP模式时,按照所述第五遍历顺序依次遍历所述上方空域候选块,得到一个可用运 动信息;或者,
当所述上方空域候选块的运动信息可获但均不可用时,遍历所述第三空域候选块对应的伸缩块、所述第二空域候选块对应的伸缩块和所述第五空域候选块对应的伸缩块,得到一个可用运动信息;或者,
当所述上方空域候选块的运动信息均不可获时,得到0个可用运动信息。
作为一种可能的实施方式,第二确定单元1020,具体用于当所述预测模式为AMVP模式时,按照所述第六遍历顺序依次遍历所述左侧空域候选块,遍历出一个可用运动信息或者0个可用运动信息;
其中,当所述左侧空域候选块的运动信息可获,且所述上侧空域候选块的运动信息均不可获时,依次遍历所述第四空域候选块对应的伸缩块和所述第一空域候选块对应的伸缩块,得到一个可用运动信息。
作为一种可能的实施方式,第二确定单元1020,具体用于当所述预测模式为IBC AMVP模式时,按照所述第五遍历顺序依次遍历所述上方空域候选块,遍历出一个可用运动信息或者0个可用运动信息。
作为一种可能的实施方式,第二确定单元1020,具体用于当所述预测模式为IBC AMVP模式时,按照所述第六遍历顺序依次遍历所述左侧空域候选块,遍历出一个可用运动信息或者0个可用运动信息。
作为一种可能的实施方式,当所述预测模式为仿射AMVP模式时,所述检查顺序为第三遍历顺序。
请参见图11,为本申请实施例提供的一种三角预测解码装置的硬件结构示意图。该三角预测解码装置可以包括处理器1101、通信接口1102、存储器1103和通信总线1104。处理器1101、通信接口1102以及存储器1103通过通信总线1104完成相互间的通信。其中,存储器1103上存放有计算机程序;处理器1101可以通过执行存储器1103上所存放的程序,实现上文描述的三角预测解码方法。
本文中提到的存储器1103可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器1102可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
如图12所示,从功能上划分,上述三角预测解码装置可以包括:解析单元1210、划分单元1220、构建单元1230、获取单元1240和预测单元1250;其中:
解析单元1210,用于解析当前图像块的三角子块的划分信息;
解析单元1210,还用于解析所述当前图像块的三角子块对应的运动信息在列表中的索引值;
划分单元1220,用于基于所述划分信息对所述当前图像块进行子块划分;
构建单元1230,用于构建所述当前图像块的运动信息候选者列表;其中,所述运动信息候选者列表的构建可以参照图6所示方法实施例中的相关描述;
获取单元1240,用于基于所述索引值,从所述运动信息候选者列表中获取所述图像块的三角子块对应的运动信息;
预测单元1250,用于基于所述图像块的三角子块对应的运动信息,对所述当前图像块的三角子块,及其中间交界子块,进行运动补偿,获得当前图像块的预测运动信息。
请参见图13,为本申请实施例提供的一种索引编码/解码装置的硬件结构示意图。该索引编码/解码装置可以包括处理器1301、通信接口1302、存储器1303和通信总线1304。处理器1301、通信接口1302以及存储器1303通过通信总线1304完成相互间的通信。其中,存储器1303上存放有计算机程序;处理器1301可以通过执行存储器1303上所存放的程序,实现上文描述的索引编码/解码方法。
本文中提到的存储器1303可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器1302可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
如图14所示,从功能上划分,上述索引编码/解码装置可以包括:二值化单元1410、确定单元1420和编码/解码单元1430;其中:
二值化单元1410,用于对运动信息候选者的模式的索引进行二值化,以得到二值化码字序列;
确定单元1420,用于确定与当前图像块的形状匹配的上下文模型;
编码/解码单元1430,用于根据所述上下文模型对所述二值化码字序列的第一个二值化码值进行编码/解码。
请参见图15,为本申请实施例提供的一种索引编码/解码装置的硬件结构示意图。该索引编码/解码装置可以包括处理器1501、通信接口1502、存储器1503和通信总线1504。处理器1501、通信接口1502以及存储器1503通过通信总线1504完成相互间的通信。其中,存储器1503上存放有计算机程序;处理器1501可以通过执行存储器1503上所存放的程序,实现上文描述的索引编码/解码方法。
本文中提到的存储器1503可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器1502可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
如图16所示,从功能上划分,上述索引编码/解码装置可以包括:二值化单元1610、确定单元1620和编码/解码单元1630;其中:
二值化单元1610,用于根据当前图像块的形状对运动信息候选者的模式的索引进行二值化,以得到二值化码字序列;
确定单元1620,用于确定上下文模型;
编码/解码单元1630,用于根据所述上下文模型对所述二值化码字序列的第一个二值化码值进行编码/解码。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (29)
- 一种运动信息候选者列表构建方法,其特征在于,包括:确定当前图像块的各空域候选块的检查顺序;其中,当前图像块的上方空域候选块的检查顺序优先于当前图像块的左侧空域候选块的检查顺序;根据所述检查顺序,获取可用的空域候选运动信息;根据获取的所述空域候选运动信息,构建所述当前图像块对应的运动信息候选者列表。
- 根据权利要求1所述的方法,其特征在于,所述确定当前图像块的各空域候选块的检查顺序,包括:确定所述当前图像块的预测模式;根据所述预测模式确定当前图像块的各空域候选块的检查顺序。
- 根据权利要求2所述的方法,其特征在于,所述根据所述预测模式确定当前图像块的各空域候选块的检查顺序,包括:当所述预测模式为合并模式时,所述检查顺序包括4个空域候选块的遍历次序;所述4个空域候选块包括空域候选块B1、空域候选块A1、空域候选块B0和空域候选块A0,所述4个空域候选块中最先遍历的前两个空域候选块为空域候选块B1和空域候选块A1,空域候选块B1的检查顺序优先于空域候选块A1。
- 根据权利要求2所述的方法,其特征在于,所述根据所述预测模式确定当前图像块的各空域候选块的检查顺序,包括:当所述预测模式为三角预测模式时,所述检查顺序包括4个空域候选块的遍历次序;所述4个空域候选块包括空域候选块B1、空域候选块A1、空域候选块B0和空域候选块A0,所述4个空域候选块中最先遍历的前两个空域候选块为空域候选块B1和空域候选块A1,空域候选块B1的检查顺序优先于空域候选块A1。
- 根据权利要求2所述的方法,其特征在于,所述根据所述预测模式确定当前图像块的各空域候选块的检查顺序,包括:当所述预测模式为帧内块复制IBC模式时,所述检查顺序包括2个空域候选块的遍历次序;所述2个空域候选块包括空域候选块B1和空域候选块A1,空域候选块B1的检查顺序优先于空域候选块A1。
- 根据权利要求2所述的方法,其特征在于,所述根据所述预测模式确定当前图像块的各空域候选块的检查顺序,包括:当所述预测模式为合并模式时,所述检查顺序包括5个空域候选块的遍历次序,所述5个空域候选块包括空域候选块B1、空域候选块A1、空域候选块B0、空域候选块A0和替补空域候选块B2,所述5个空域候选块中最先遍历的前两个空域候选块为空域候选块B1和空域候选块A1,空域候选块B1的检查顺序优先于空域候选块A1,所述空域候选块B1、空域候选块A1、空域候选块B0和空域候选块A0的遍历次序位于所述替补空域候选块B2之前,所述替补空域候选块B2在所述检查顺序的前四个空域候选块的至少一个空域运动信息不可获取时进行检查。
- 根据权利要求2所述的方法,其特征在于,所述根据所述预测模式确定当前图像块的各空域候选块的检查顺序,包括:当所述预测模式为三角预测模式时,所述检查顺序包括5个空域候选块的遍历次序,所述5个空域候选块包括空域候选块B1、空域候选块A1、空域候选块B0、空域候选块A0和替补空域候选块B2,所述5个空域候选块中最先遍历的前两个空域候选块为空 域候选块B1和空域候选块A1,空域候选块B1的检查顺序优先于空域候选块A1,所述空域候选块B1、空域候选块A1、空域候选块B0和空域候选块A0的遍历次序位于所述替补空域候选块B2之前,所述替补空域候选块B2在所述检查次序的前四个空域候选块的至少一个空域运动信息不可获取时进行检查。
- 根据权利要求1-7任一项所述的方法,其特征在于,当所述预测模式为合并模式时,构建所述当前图像块对应的运动信息候选者列表,包括:按照所述检查顺序检查当前图像块的各空域候选块,以获取可用的空域候选运动信息,并将所获取的空域候选运动信息加入到运动信息候选者列表中;确定时域候选运动信息,并将所确定的时域候选运动信息加入到运动信息候选者列表中;若运动信息候选者列表中候选运动信息的数量不足,则基于已编码/解码块的运动信息构建已编码/解码块的运动信息列表,并从该已编码/解码块的运动信息列表中获取运动信息作为候选运动信息加入到运动信息候选者列表中;若运动信息候选者列表中候选运动信息的数量仍不足,按照以下方式的其中一种或多种进行补足:方式一:对运动信息候选者列表中的已有运动信息进行加权,并将加权后的运动信息作为候选运动信息加入所述当前图像块的运动信息候选者列表;方式二:通过缺省运动信息补足。
- 根据权利要求1-7任一项所述的方法,其特征在于,当所述预测模式为三角预测模式时,构建所述当前图像块对应的运动信息候选者列表,包括:按照所述检查顺序检查当前图像块的各空域候选块,以获取可用的空域候选运动信息,并将所获取的空域候选运动信息加入到运动信息候选者列表中;确定时域候选运动信息,并将所确定的时域候选运动信息加入到运动信息候选者列表中;若运动信息候选者列表中候选运动信息的数量不足,则基于已编码/解码块的运动信息构建已编码/解码块的运动信息列表,并从该已编码/解码块的运动信息列表中获取运动信息作为候选运动信息加入到运动信息候选者列表中;若运动信息候选者列表中候选运动信息的数量仍不足,按照以下方式的其中一种或多种进行补足:方式一:对运动信息候选者列表中的已有运动信息进行加权,并将加权后的运动信息作为候选运动信息加入所述当前图像块的运动信息候选者列表;方式二:通过缺省运动信息补足;其中,若候选运动信息为双向运动信息,则将双向运动信息的前向运动信息和后向运动信息中的至少一个作为单向运动信息加入运动信息候选者列表。
- 根据权利要求8或9所述的方法,其特征在于,所述对运动信息候选者列表中的已有运动信息进行加权,并将加权后的运动信息作为候选运动信息加入所述当前图像块的运动信息候选者列表,包括:获取运动信息候选者列表中的前两个候选运动信息;将前两个候选运动信息进行加权后得到的加权候选运动信息加入运动信息候选者列表。
- 根据权利要求1-7任一项所述的方法,其特征在于,当所述预测模式为帧内块复制IBC模式时,构建所述当前图像块对应的运动信息候选者列表,包括:按照所述检查顺序检查当前图像块的各空域候选块,以获取可用的空域候选运动信息,并将所获取的空域候选运动信息加入到运动信息候选者列表中;若运动信息候选者列表中候选运动信息的数量不足,则基于已编码/解码块的运动信息构建已编码/解码块的运动信息列表,并从该已编码/解码块的运动信息列表中获取运动信息作为候选运动信息加入到运动信息候选者列表中;和/或若运动信息候选者列表中候选运动信息的数量仍不足,则通过缺省运动信息补足。
- 根据权利要求1-7任一项所述的方法,其特征在于,若所述预测模式为三角预测模式,所述方法还包括:解析当前图像块的三角子块的划分信息;解析所述当前图像块的三角子块对应的运动信息在列表中的索引值;基于所述划分信息对所述当前图像块进行子块划分;基于所述索引值,从所述运动信息候选者列表中获取所述图像块的三角子块对应的运动信息;基于所述图像块的三角子块对应的运动信息,对所述当前图像块进行运动补偿,获得当前图像块的预测运动信息。
- 根据权利要求3-7中任一项所述的方法,其特征在于,所述空域候选块A1为当前图像块左侧最下方的空域相邻块,所述空域候选块B1为当前图像块上方最右侧的空域相邻块,所述空域候选块B0为与当前图像块右上角距离最近的空域相邻块,所述空域候选块A0为与当前图像块左下角距离最近的空域相邻块。
- 根据权利要求6或7所述的方法,其特征在于,所述替补空域候选块B2为与当前图像块左上角距离最近的空域相邻块。
- 一种编码装置,其特征在于,包括:第一确定单元、第二确定单元和构建单元;其中:第一确定单元,用于确定当前图像块的各空域候选块的检查顺序;其中,当前图像块的上方空域候选块的检查顺序优先于当前图像块的左侧空域候选块的检查顺序;第二确定单元,用于根据所述检查顺序,获取可用的空域候选运动信息;构建单元,用于根据获取的所述空域候选运动信息,构建所述当前图像块对应的运动信息候选者列表。
- 一种解码装置,其特征在于,包括:第一确定单元、第二确定单元和构建单元;其中:第一确定单元,用于确定当前图像块的各空域候选块的检查顺序;其中,当前图像块的上方空域候选块的检查顺序优先于当前图像块的左侧空域候选块的检查顺序;第二确定单元,用于根据所述检查顺序,获取可用的空域候选运动信息;构建单元,用于根据获取的所述空域候选运动信息,构建所述当前图像块对应的运动信息候选者列表。
- 根据权利要求16所述的解码装置,其特征在于,所述第一确定单元,具体用于确定所述当前图像块的预测模式;根据所述预测模式确定当前图像块的各空域候选块的检查顺序。
- 根据权利要求17所述的解码装置,其特征在于,当所述预测模式为合并模式时,所述检查顺序包括4个空域候选块的遍历次序;所述4个空域候选块包括空域候选 块B1、空域候选块A1、空域候选块B0和空域候选块A0,所述4个空域候选块中最先遍历的前两个空域候选块为空域候选块B1和空域候选块A1,空域候选块B1的检查顺序优先于空域候选块A1。
- 根据权利要求17所述的解码装置,其特征在于,当所述预测模式为三角预测模式时,所述检查顺序包括4个空域候选块的遍历次序;所述4个空域候选块包括空域候选块B1、空域候选块A1、空域候选块B0和空域候选块A0,所述4个空域候选块中最先遍历的前两个空域候选块为空域候选块B1和空域候选块A1,空域候选块B1的检查顺序优先于空域候选块A1。
- 根据权利要求17所述的解码装置,其特征在于,当所述预测模式为帧内块复制IBC模式时,所述检查顺序包括2个空域候选块的遍历次序;所述2个空域候选块包括空域候选块B1和空域候选块A1,空域候选块B1的检查顺序优先于空域候选块A1。
- 根据权利要求17所述的解码装置,其特征在于,当所述预测模式为合并模式时,所述检查顺序包括5个空域候选块的遍历次序,所述5个空域候选块包括空域候选块B1、空域候选块A1、空域候选块B0、空域候选块A0和替补空域候选块B2,所述5个空域候选块中最先遍历的前两个空域候选块为空域候选块B1和空域候选块A1,空域候选块B1的检查顺序优先于空域候选块A1,所述空域候选块B1、空域候选块A1、空域候选块B0和空域候选块A0的遍历次序位于所述替补空域候选块B2之前,所述替补空域候选块B2在所述检查顺序的前四个空域候选块的至少一个空域运动信息不可获取时进行检查。
- 根据权利要求17所述的解码装置,其特征在于,当所述预测模式为三角预测模式时,所述检查顺序包括5个空域候选块的遍历次序,所述5个空域候选块包括空域候选块B1、空域候选块A1、空域候选块B0、空域候选块A0和替补空域候选块B2,所述5个空域候选块中最先遍历的前两个空域候选块为空域候选块B1和空域候选块A1,空域候选块B1的检查顺序优先于空域候选块A1,所述空域候选块B1、空域候选块A1、空域候选块B0和空域候选块A0的遍历次序位于所述替补空域候选块B2之前,所述替补空域候选块B2在所述检查顺序的前四个空域候选块的至少一个空域运动信息不可获取时进行检查。
- 根据权利要求16-22任一项所述的解码装置,其特征在于,所述构建单元,具体用于:当所述预测模式为合并模式时,按照所述检查顺序检查当前图像块的各空域候选块,以获取可用的空域候选运动信息,并将所获取的空域候选运动信息加入到运动信息候选者列表中;确定时域候选运动信息,并将所确定的时域候选运动信息加入到运动信息候选者列表中;若运动信息候选者列表中候选运动信息的数量不足,则基于已编码/解码块的运动信息构建已编码/解码块的运动信息列表,并从该已编码/解码块的运动信息列表中获取运动信息作为候选运动信息加入到运动信息候选者列表中;若运动信息候选者列表中候选运动信息的数量仍不足,按照以下方式的其中一种或多种进行补足:方式一:对运动信息候选者列表中的已有运动信息进行加权,并将加权后的运动信息作为候选运动信息加入所述当前图像块的运动信息候选者列表;方式二:通过缺省运动信息补足。
- 根据权利要求16-22任一项所述的解码装置,其特征在于,所述构建单元,具体用于:当所述预测模式为三角预测模式时,按照所述检查顺序检查当前图像块的各空域候选块,以获取可用的空域候选运动信息,并将所获取的空域候选运动信息加入到运动信息候选者列表中;确定时域候选运动信息,并将所确定的时域候选运动信息加入到运动信息候选者列表中;若运动信息候选者列表中候选运动信息的数量不足,则基于已编码/解码块的运动信息构建已编码/解码块的运动信息列表,并从该已编码/解码块的运动信息列表中获取运动信息作为候选运动信息加入到运动信息候选者列表中;若运动信息候选者列表中候选运动信息的数量仍不足,按照以下方式的其中一种或多种进行补足:方式一:对运动信息候选者列表中的已有运动信息进行加权,并将加权后的运动信息作为候选运动信息加入所述当前图像块的运动信息候选者列表;方式二:通过缺省运动信息补足;其中,若候选运动信息为双向运动信息,则将双向运动信息的前向运动信息和后向运动信息中的至少一个作为单向运动信息加入运动信息候选者列表。
- 根据权利要求23或24所述的解码装置,其特征在于,所述构建单元,具体用于:获取运动信息候选者列表中的前两个候选运动信息;将前两个候选运动信息进行加权后得到的加权候选运动信息加入运动信息候选者列表。
- 根据权利要求16-22任一项所述的解码装置,其特征在于,当所述预测模式为帧内块复制IBC模式时,构建所述当前图像块对应的运动信息候选者列表,包括:按照所述检查顺序检查当前图像块的各空域候选块,以获取可用的空域候选运动信息,并将所获取的空域候选运动信息加入到运动信息候选者列表中;若运动信息候选者列表中候选运动信息的数量不足,则基于已编码/解码块的运动信息构建已编码/解码块的运动信息列表,并从该已编码/解码块的运动信息列表中获取运动信息作为候选运动信息加入到运动信息候选者列表中;和/或若运动信息候选者列表中候选运动信息的数量仍不足,则通过缺省运动信息补足。
- 根据权利要求16-22任一项所述的解码装置,其特征在于,所述装置还包括:解析单元,用于若所述预测模式为三角预测模式,解析当前图像块的三角子块的划分信息;所述解析单元,还用于解析所述当前图像块的三角子块对应的运动信息在列表中的索引值;划分单元,用于基于所述划分信息对所述当前图像块进行子块划分;获取单元,用于基于所述索引值,从所述运动信息候选者列表中获取所述图像块的三角子块对应的运动信息;预测单元,用于基于所述图像块的三角子块对应的运动信息,对所述当前图像块进行运动补偿,获得当前图像块的预测运动信息。
- 一种解码装置,其特征在于,包括处理器、通信接口、存储器和通信总线,其 中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求1-14任一所述的方法步骤。
- 一种编码装置,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求1-14任一所述的方法步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910181861.7A CN111698506B (zh) | 2019-03-11 | 2019-03-11 | 运动信息候选者列表构建方法、三角预测解码方法及装置 |
CN201910181861.7 | 2019-03-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020182166A1 true WO2020182166A1 (zh) | 2020-09-17 |
Family
ID=69493500
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/078868 WO2020182166A1 (zh) | 2019-03-11 | 2020-03-11 | 运动信息候选者列表构建方法及装置 |
PCT/CN2020/078861 WO2020182165A1 (zh) | 2019-03-11 | 2020-03-11 | 运动信息候选者列表构建方法、三角预测解码方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/078861 WO2020182165A1 (zh) | 2019-03-11 | 2020-03-11 | 运动信息候选者列表构建方法、三角预测解码方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11863714B2 (zh) |
EP (1) | EP3923577A4 (zh) |
CN (2) | CN111698506B (zh) |
WO (2) | WO2020182166A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106791834B (zh) * | 2011-06-14 | 2020-07-10 | 三星电子株式会社 | 对图像进行解码的方法和设备 |
AU2020224256A1 (en) | 2019-02-24 | 2021-09-09 | Beijing Bytedance Network Technology Co., Ltd. | Independent coding of palette mode usage indication |
CN111698506B (zh) | 2019-03-11 | 2022-04-26 | 杭州海康威视数字技术股份有限公司 | 运动信息候选者列表构建方法、三角预测解码方法及装置 |
EP3959880A4 (en) * | 2019-05-10 | 2023-04-26 | HFI Innovation Inc. | METHOD AND APPARATUS FOR DERIVING A LIST OF MOST LIKELY LUMINANCE MODES FOR VIDEO CODING |
JP7359936B2 (ja) | 2019-07-20 | 2023-10-11 | 北京字節跳動網絡技術有限公司 | パレットモードの使用の指示の条件依存符号化 |
CN114145013B (zh) | 2019-07-23 | 2023-11-14 | 北京字节跳动网络技术有限公司 | 调色板模式编解码的模式确定 |
WO2021018166A1 (en) | 2019-07-29 | 2021-02-04 | Beijing Bytedance Network Technology Co., Ltd. | Scanning order improvements for palette mode coding |
MX2022007299A (es) * | 2019-12-24 | 2022-07-19 | Interdigital Vc Holdings France | Orden de exploracion de predictores espaciales. |
EP4131957A4 (en) * | 2020-04-03 | 2023-04-19 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | INTERFRAME PREDICTION METHOD, ENCODER, DECODER AND STORAGE MEDIUM |
CN114007078B (zh) * | 2020-07-03 | 2022-12-23 | 杭州海康威视数字技术股份有限公司 | 一种运动信息候选列表的构建方法、装置及其设备 |
CN114071158A (zh) * | 2020-07-29 | 2022-02-18 | 腾讯科技(深圳)有限公司 | 视频编解码中的运动信息列表构建方法、装置及设备 |
CN112004099B (zh) * | 2020-07-30 | 2021-08-03 | 浙江大华技术股份有限公司 | 一种帧内块复制预测方法、装置及计算机可读存储介质 |
CN112040242A (zh) * | 2020-07-30 | 2020-12-04 | 浙江大华技术股份有限公司 | 基于高级运动矢量表达的帧间预测方法、装置及设备 |
CN114079788B (zh) * | 2020-08-20 | 2024-09-20 | 腾讯科技(深圳)有限公司 | 视频编解码中的运动信息列表构建方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104904219A (zh) * | 2013-01-09 | 2015-09-09 | 联发科技(新加坡)私人有限公司 | 基于视差向量导出的三维视频编码装置及方法 |
CN110809161A (zh) * | 2019-03-11 | 2020-02-18 | 杭州海康威视数字技术股份有限公司 | 运动信息候选者列表构建方法及装置 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012096173A1 (ja) * | 2011-01-12 | 2012-07-19 | パナソニック株式会社 | 動画像符号化方法および動画像復号化方法 |
US8755437B2 (en) * | 2011-03-17 | 2014-06-17 | Mediatek Inc. | Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate |
KR101742449B1 (ko) * | 2011-03-08 | 2017-05-31 | 가부시키가이샤 제이브이씨 켄우드 | 동화상 부호화 장치, 동화상 부호화방법 및 동화상 부호화 프로그램, 및 동화상 복호 장치, 동화상 복호 방법 및 동화상 복호 프로그램 |
EP2687014B1 (en) * | 2011-03-14 | 2021-03-10 | HFI Innovation Inc. | Method and apparatus for derivation of motion vector candidate and motion vector prediction candidate |
KR101744468B1 (ko) * | 2011-06-30 | 2017-06-07 | 가부시키가이샤 제이브이씨 켄우드 | 화상 인코딩 장치, 화상 인코딩 방법, 화상 인코딩 프로그램, 화상 디코딩 장치, 화상 디코딩 방법 및 화상 디코딩 프로그램 |
CN107257480B (zh) * | 2011-08-29 | 2020-05-29 | 苗太平洋控股有限公司 | 以amvp模式对图像编码的方法 |
PL3468197T3 (pl) * | 2011-09-09 | 2022-07-11 | Lg Electronics Inc. | Sposób predykcji inter i urządzenie do niego |
US9571833B2 (en) * | 2011-11-04 | 2017-02-14 | Nokia Technologies Oy | Method for coding and an apparatus |
KR20130050407A (ko) * | 2011-11-07 | 2013-05-16 | 오수미 | 인터 모드에서의 움직임 정보 생성 방법 |
KR20130050405A (ko) | 2011-11-07 | 2013-05-16 | 오수미 | 인터 모드에서의 시간 후보자 결정방법 |
KR101934277B1 (ko) * | 2011-11-28 | 2019-01-04 | 에스케이텔레콤 주식회사 | 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치 |
JPWO2013111596A1 (ja) * | 2012-01-26 | 2015-05-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 動画像符号化方法および動画像符号化装置 |
CN102883163B (zh) | 2012-10-08 | 2014-05-28 | 华为技术有限公司 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
CN103841425B (zh) * | 2012-10-08 | 2017-04-05 | 华为技术有限公司 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
CN102946536B (zh) * | 2012-10-09 | 2015-09-30 | 华为技术有限公司 | 候选矢量列表构建的方法及装置 |
WO2014107853A1 (en) * | 2013-01-09 | 2014-07-17 | Mediatek Singapore Pte. Ltd. | Methods for disparity vector derivation |
CN103338372A (zh) * | 2013-06-15 | 2013-10-02 | 浙江大学 | 一种视频处理方法及装置 |
US9756354B2 (en) * | 2014-03-17 | 2017-09-05 | Qualcomm Incorporated | Block vector predictor for intra block copying |
WO2015142054A1 (ko) * | 2014-03-19 | 2015-09-24 | 주식회사 케이티 | 다시점 비디오 신호 처리 방법 및 장치 |
WO2015180014A1 (en) * | 2014-05-26 | 2015-12-03 | Mediatek Singapore Pte. Ltd. | An improved merge candidate list construction method for intra block copy |
CN104363451B (zh) * | 2014-10-27 | 2019-01-25 | 华为技术有限公司 | 图像预测方法及相关装置 |
KR101904683B1 (ko) * | 2014-12-09 | 2018-10-04 | 미디어텍 인크. | 비디오 코딩에서 움직임 벡터 예측자 또는 합병 후보를 도출하는 방법 |
WO2017076221A1 (en) * | 2015-11-05 | 2017-05-11 | Mediatek Inc. | Method and apparatus of inter prediction using average motion vector for video coding |
KR102559063B1 (ko) * | 2017-02-24 | 2023-07-24 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
TWI832814B (zh) * | 2017-04-06 | 2024-02-21 | 美商松下電器(美國)知識產權公司 | 解碼裝置及編碼裝置 |
US10911769B2 (en) * | 2017-06-23 | 2021-02-02 | Qualcomm Incorporated | Motion-based priority for the construction of candidate lists in video coding |
WO2019084776A1 (zh) * | 2017-10-31 | 2019-05-09 | 华为技术有限公司 | 图像块的候选运动信息的获取方法、装置及编解码器 |
CN118803268A (zh) * | 2018-06-29 | 2024-10-18 | 株式会社Kt | 解码图像和编码图像的方法以及用于传送压缩视频数据的设备 |
JP7460617B2 (ja) * | 2018-06-29 | 2024-04-02 | 北京字節跳動網絡技術有限公司 | Lut更新条件 |
TWI728390B (zh) * | 2018-06-29 | 2021-05-21 | 大陸商北京字節跳動網絡技術有限公司 | 查找表尺寸 |
KR102611261B1 (ko) * | 2018-06-29 | 2023-12-08 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 업데이트 대상 lut 또는 비업데이트 lut의 구별 |
CN110662072B (zh) * | 2018-06-29 | 2022-04-26 | 杭州海康威视数字技术股份有限公司 | 运动信息候选者列表构建方法、装置及可读存储介质 |
TWI723445B (zh) * | 2018-06-29 | 2021-04-01 | 大陸商北京字節跳動網絡技術有限公司 | 查找表的更新:fifo、約束的fifo |
CN112866720B (zh) * | 2018-07-02 | 2022-02-18 | 华为技术有限公司 | 一种运动矢量预测方法、装置与编解码器 |
US10645380B2 (en) * | 2018-07-09 | 2020-05-05 | Tencent America LLC | Method and apparatus for video coding |
CN110933439B (zh) * | 2018-09-20 | 2022-05-31 | 杭州海康威视数字技术股份有限公司 | 运动信息候选者列表构建方法、装置及可读存储介质 |
CN109413426A (zh) * | 2018-11-05 | 2019-03-01 | 建湖云飞数据科技有限公司 | 视频编码处理方法 |
WO2020140243A1 (zh) * | 2019-01-03 | 2020-07-09 | 北京大学 | 视频图像处理方法与装置 |
CN116506637A (zh) * | 2019-03-08 | 2023-07-28 | 知识产权之桥一号有限责任公司 | 图像编码装置、图像编码方法以及图像解码装置、图像解码方法 |
US11477437B2 (en) * | 2021-01-28 | 2022-10-18 | Lemon Inc. | Coding of motion information |
-
2019
- 2019-03-11 CN CN201910181861.7A patent/CN111698506B/zh active Active
- 2019-03-11 CN CN201911151163.9A patent/CN110809161B/zh active Active
-
2020
- 2020-03-11 EP EP20770744.9A patent/EP3923577A4/en active Pending
- 2020-03-11 WO PCT/CN2020/078868 patent/WO2020182166A1/zh active Application Filing
- 2020-03-11 WO PCT/CN2020/078861 patent/WO2020182165A1/zh unknown
-
2021
- 2021-09-10 US US17/471,531 patent/US11863714B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104904219A (zh) * | 2013-01-09 | 2015-09-09 | 联发科技(新加坡)私人有限公司 | 基于视差向量导出的三维视频编码装置及方法 |
CN110809161A (zh) * | 2019-03-11 | 2020-02-18 | 杭州海康威视数字技术股份有限公司 | 运动信息候选者列表构建方法及装置 |
Non-Patent Citations (4)
Title |
---|
HUANG, HAN ET AL.: "CE4.1.6: Simplification of affine AMWP candidate list construction", JOINT VIDEO EXPERTS TEAM(JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC/WG 11 12TH MEETING: MACAO, CN, 3-12 OCT. 2018, 12 October 2018 (2018-10-12) * |
LI, GUICHUN ET AL.: "CE4-ranking based spatial merge candiate list for inter prediction(Test CE4.4.14)", JOINT VIDEO EXPERTS TEAM(JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 12TH MEETING: MACAO, CN, 3-12 OCT. 2018, 12 October 2018 (2018-10-12) * |
XU, LIYING ET AL.: "CE4-related: Simplification of candidate list derivation for MMVD mode", JOINT VIDEO EXPERTS TEAM(JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 13TH MEETING: MARRAKECH, MA, 9-18 JAN. 2019, 18 January 2019 (2019-01-18) * |
XU, LIYING: "CE4: Candidate List Reordering (Test 4.4.13)", JOINT VIDEO EXPERTS TEAM(JVET) OF ITU-T SG 16 WP3 AND ISO/IEC JTC 1/SC 29/WG 11 12TH MEETING: MACAO, CN, 3-12 OCT. 2018, 12 October 2018 (2018-10-12) * |
Also Published As
Publication number | Publication date |
---|---|
US20210409686A1 (en) | 2021-12-30 |
CN111698506B (zh) | 2022-04-26 |
EP3923577A1 (en) | 2021-12-15 |
CN111698506A (zh) | 2020-09-22 |
CN110809161A (zh) | 2020-02-18 |
CN110809161B (zh) | 2020-12-29 |
EP3923577A4 (en) | 2022-03-30 |
US11863714B2 (en) | 2024-01-02 |
WO2020182165A1 (zh) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020182166A1 (zh) | 运动信息候选者列表构建方法及装置 | |
CN110622512B (zh) | 视频处理设备和方法 | |
BR112021009606A2 (pt) | refinamento de vetor de movimento no lado do decodificador | |
JP6073404B2 (ja) | 映像復号化方法及び装置 | |
CN107770524B (zh) | 一种视频编解码处理方法及装置 | |
US20110194609A1 (en) | Selecting Predicted Motion Vector Candidates | |
JP7448558B2 (ja) | 画像エンコーディングおよびデコーディングのための方法およびデバイス | |
WO2021203924A1 (zh) | 编码方法、解码方法、编码器、解码器以及存储介质 | |
JP2016154395A (ja) | 以前ブロックの動きベクトルを現在ブロックの動きベクトルとして用いる映像符号化/復号化方法及び装置 | |
WO2020181428A1 (zh) | 预测方法、编码器、解码器及计算机存储介质 | |
TWI806495B (zh) | 解碼方法、編碼方法、裝置、設備及存儲介質 | |
CN110933414B (zh) | 运动信息候选者列表构建方法、装置及可读存储介质 | |
CN117528069A (zh) | 位移矢量预测方法、装置及设备 | |
CN112565768B (zh) | 一种帧间预测方法、编解码系统及计算机可读存储介质 | |
CN103929641A (zh) | 一种基于虚拟参考帧的帧内编码方法 | |
WO2020057556A1 (zh) | 运动信息候选者列表构建方法、装置及可读存储介质 | |
WO2024103987A1 (zh) | 帧间预测方法及解码方法、电子装置和存储介质 | |
WO2024212252A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
KR20240042238A (ko) | 비디오 시퀀스의 이미지를 코딩하기 위한 방법 및 장치, 그리고 단말 디바이스 | |
CN110868611B (zh) | 视频编码、解码方法及装置 | |
CN111629207B (zh) | 一种模板匹配帧内子划分方法 | |
CN110740330B (zh) | 一种子块运动候选的冗余校验的方法及设备 | |
CN111988627B (zh) | 一种视频编解码方法及设备 | |
WO2024197748A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
WO2024104503A1 (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: 20770524 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: 20770524 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20770524 Country of ref document: EP Kind code of ref document: A1 |